I've been noticing some compiler warnings recently, so I did a "make
reconfig" (with logging of course) to catch any of them as there are in
what I compile.
My Huge build is made with the following settings (on 64-bit Linux):
export CONF_OPT_GUI='--enable-gnome-check'
export CONF_OPT_LUA='--enable-luainterp'
export CONF_OPT_PERL='--enable-perlinterp'
export CONF_OPT_PYTHON='--enable-pythoninterp'
export CONF_OPT_TCL='--enable-tclinterp'
export CONF_OPT_RUBY='--enable-rubyinterp'
export CONF_OPT_MZSCHEME='--disable-mzschemeinterp'
export CONF_OPT_CSCOPE='--enable-cscope'
export CONF_OPT_MULTIBYTE='--enable-multibyte'
export CONF_OPT_FEAT='--with-features=huge'
export CONF_OPT_COMPBY='"[email protected]"'
export CONF_ARGS=''
I also define FEAT_XTERM_SAVE and undefine FEAT_TAG_OLDSTATIC in its
feature.h
As you can see, it includes almost all features but still leaves out the
Python3 and MzScheme modules. I also compile a Tiny build as a kind of
sanity test; there I exclude everything I can.
Results:
- No compiler warnings or errors in the Tiny build.
- The Huge build had the following warnings (one for a possibly
uninitialized variable in term.c and one for duplicate but in this case
not really conflicting defines in files included from if_ruby.c):
term.c: In function ‘check_termcode’:
term.c:4217:42: warning: ‘row_char’ may be used uninitialized in this
function [-Wmaybe-uninitialized]
if (j == 1 && tp[i] == 'R' && row_char == '2' && col >= 2)
^
In file included from vim.h:275:0,
from if_ruby.c:143:
os_unix.h:568:0: warning: "HAVE_DUP" redefined [enabled by default]
#define HAVE_DUP /* have dup() */
^
In file included from /usr/include/ruby-2.0.0/ruby/ruby.h:24:0,
from /usr/include/ruby-2.0.0/ruby.h:33,
from if_ruby.c:105:
/usr/include/ruby-2.0.0/x86_64-linux/ruby/config.h:260:0: note: this is
the location of the previous definition
#define HAVE_DUP 1
^
I suppose that the simplest way to avoid the latter message would be by
wrapping line 568 of os_unix.h (and possibly similar defines for other
platforms) as follows:
#ifndef HAVE_DUP /* avoid duplication in if_ruby.h */
# define HAVE_DUP /* have dup() */
#endif
A better way, though, might be to give a different name to the define in
os_unix.h:568 but that means renaming it everywhere else that it is used.
- When I type "gcc --version" (without the quotes) at a shell prompt, I
get the following answer:
gcc (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- I'm appending the :version message for this Huge build as an attachment.
Best regards,
Tony.
--
"I go the way that Providence dictates with the assurance of a sleepwalker."
[Adolf Hitler, Speech, 15 March 1936, Munich, Germany.]
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Mar 25 2014 07:53:28)
Included patches: 1-214
Compiled by [email protected]
Huge version with GTK2-GNOME GUI. Features included (+) or not (-):
+acl +farsi +mouse_netterm +syntax
+arabic +file_in_path +mouse_sgr +tag_binary
+autocmd +find_in_path -mouse_sysmouse -tag_old_static
+balloon_eval +float +mouse_urxvt -tag_any_white
+browse +folding +mouse_xterm +tcl
++builtin_terms -footer +multi_byte +terminfo
+byte_offset +fork() +multi_lang +termresponse
+cindent +gettext -mzscheme +textobjects
+clientserver -hangul_input +netbeans_intg +title
+clipboard +iconv +path_extra +toolbar
+cmdline_compl +insert_expand +perl +user_commands
+cmdline_hist +jumplist +persistent_undo +vertsplit
+cmdline_info +keymap +postscript +virtualedit
+comments +langmap +printer +visual
+conceal +libcall +profile +visualextra
+cryptv +linebreak +python +viminfo
+cscope +lispindent -python3 +vreplace
+cursorbind +listcmds +quickfix +wildignore
+cursorshape +localmap +reltime +wildmenu
+dialog_con_gui -lua +rightleft +windows
+diff +menu +ruby +writebackup
+digraphs +mksession +scrollbind +X11
+dnd +modify_fname +signs -xfontset
-ebcdic +mouse +smartindent +xim
+emacs_tags +mouseshape -sniff +xsmp_interact
+eval +mouse_dec +startuptime +xterm_clipboard
+ex_extra +mouse_gpm +statusline +xterm_save
+extra_search -mouse_jsbterm -sun_workshop +xpm
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
system menu file: "$VIMRUNTIME/menu.vim"
fall-back for $VIM: "/usr/local/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread
-I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1
-I/usr/include/libdrm -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz
-I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/usr/include/freetype2 -D_REENTRANT -DORBIT2=1 -pthread
-I/usr/include/libgnomeui-2.0 -I/usr/include/gnome-keyring-1
-I/usr/include/libbonoboui-2.0 -I/usr/include/libxml2
-I/usr/include/libgnome-2.0 -I/usr/include/libbonobo-2.0
-I/usr/include/bonobo-activation-2.0 -I/usr/include/orbit-2.0
-I/usr/include/libgnomecanvas-2.0 -I/usr/include/gail-1.0
-I/usr/include/libart-2.0 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include
-I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/libpng12
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0
-I/usr/include/freetype2 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16
-I/usr/include/gnome-vfs-2.0 -I/usr/lib64/gnome-vfs-2.0/include
-I/usr/include/gconf/2 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -O2
-fno-strength-reduce -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
-I/usr/include -D_REENTRANT=1 -D_THREAD_SAFE=1 -D_LARGEFILE64_SOURCE=1
Linking: gcc -L. -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E
-Wl,-rpath,/usr/lib/perl5/5.18.1/x86_64-linux-thread-multi/CORE
-L/usr/local/lib -Wl,--as-needed -o vim -lgtk-x11-2.0 -lgdk-x11-2.0
-lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0
-lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lgnomeui-2 -lSM
-lICE -lbonoboui-2 -lgnome-2 -lpopt -lbonobo-2 -lbonobo-activation -lORBit-2
-lgnomecanvas-2 -lart_lgpl_2 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0
-latk-1.0 -lcairo -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lfontconfig -lfreetype
-lgdk_pixbuf-2.0 -lgnomevfs-2 -lgconf-2 -lgthread-2.0 -lgmodule-2.0
-lgobject-2.0 -lglib-2.0 -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm
-ltinfo -lnsl -lacl -lattr -lgpm -ldl -Wl,-E
-Wl,-rpath,/usr/lib/perl5/5.18.1/x86_64-linux-thread-multi/CORE
-L/usr/local/lib64 -fstack-protector
-L/usr/lib/perl5/5.18.1/x86_64-linux-thread-multi/CORE -lperl -lm -ldl -lcrypt
-lpthread -L/usr/lib64/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm
-Xlinker -export-dynamic -L/usr/lib64 -ltcl8.6 -ldl -lpthread -lieee -lm
-lruby2.0 -lpthread -lrt -ldl -lcrypt -lm -L/usr/lib64