1 dnl configure.in: autoconf script for Vim
3 dnl Process this file with autoconf 2.12 or 2.13 to produce "configure".
4 dnl Should also work with autoconf 2.54 and later.
7 AC_CONFIG_HEADER(auto/config.h:config.h.in)
9 dnl Being able to run configure means the system is Unix (compatible).
13 dnl Checks for programs.
14 AC_PROG_CC dnl required by almost everything
15 AC_PROG_CPP dnl required by header file checks
16 AC_PROGRAM_EGREP dnl required by AC_EGREP_CPP
17 AC_ISC_POSIX dnl required by AC_C_CROSS
18 AC_PROG_AWK dnl required for "make html" in ../doc
20 dnl Don't strip if we don't have it
21 AC_CHECK_PROG(STRIP, strip, strip, :)
23 dnl Check for extension of executables
26 dnl Check for standard headers. We don't use this in Vim but other stuff
27 dnl in autoconf needs it, where it uses STDC_HEADERS.
31 dnl Set default value for CFLAGS if none is defined or it's empty
32 if test -z "$CFLAGS"; then
34 test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall"
36 if test "$GCC" = yes; then
37 dnl method that should work for nearly all versions
38 gccversion=`"$CC" -dumpversion`
39 if test "x$gccversion" = "x"; then
40 dnl old method; fall-back for when -dumpversion doesn't work
41 gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[[^0-9]]*\([[0-9]]\.[[0-9.]]*\).*$/\1/g'`
43 dnl version 4.0.1 was reported to cause trouble on Macintosh by Marcin Dalecki
44 if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
45 echo 'GCC [[34]].0.[[12]] has a bug in the optimizer, disabling "-O#"'
46 CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-O/'`
48 if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then
49 echo 'GCC 3.1 and 3.2 have a bug in the optimizer, adding "-fno-strength-reduce"'
50 CFLAGS="$CFLAGS -fno-strength-reduce"
55 dnl If configure thinks we are cross compiling, there might be something
56 dnl wrong with the CC or CFLAGS settings, give a useful warning message
57 if test "$cross_compiling" = yes; then
58 AC_MSG_RESULT([cannot compile a simple program; if not cross compiling check CC and CFLAGS])
61 dnl gcc-cpp has the wonderful -MM option to produce nicer dependencies.
62 dnl But gcc 3.1 changed the meaning! See near the end.
63 test "$GCC" = yes && CPP_MM=M; AC_SUBST(CPP_MM)
65 if test -f ./toolcheck; then
66 AC_CHECKING(for buggy tools)
67 sh ./toolcheck 1>&AC_FD_MSG
70 OS_EXTRA_SRC=""; OS_EXTRA_OBJ=""
72 dnl Check for BeOS, which needs an extra source file
73 AC_MSG_CHECKING(for BeOS)
75 BeOS) OS_EXTRA_SRC=os_beos.c; OS_EXTRA_OBJ=objects/os_beos.o
76 BEOS=yes; AC_MSG_RESULT(yes);;
77 *) BEOS=no; AC_MSG_RESULT(no);;
80 dnl If QNX is found, assume we don't want to use Xphoton
81 dnl unless it was specifically asked for (--with-x)
82 AC_MSG_CHECKING(for QNX)
84 QNX) OS_EXTRA_SRC=os_qnx.c; OS_EXTRA_OBJ=objects/os_qnx.o
85 test -z "$with_x" && with_x=no
86 QNX=yes; AC_MSG_RESULT(yes);;
87 *) QNX=no; AC_MSG_RESULT(no);;
90 dnl Check for Darwin and MacOS X
91 dnl We do a check for MacOS X in the very beginning because there
92 dnl are a lot of other things we need to change besides GUI stuff
93 AC_MSG_CHECKING([for Darwin (Mac OS X)])
94 if test "`(uname) 2>/dev/null`" = Darwin; then
97 AC_MSG_CHECKING(--disable-darwin argument)
99 [ --disable-darwin Disable Darwin (Mac OS X) support.],
100 , [enable_darwin="yes"])
101 if test "$enable_darwin" = "yes"; then
103 AC_MSG_CHECKING(if Darwin files are there)
104 if test -f os_macosx.c; then
107 AC_MSG_RESULT([no, Darwin support disabled])
111 AC_MSG_RESULT([yes, Darwin support excluded])
114 AC_MSG_CHECKING(--with-mac-arch argument)
115 AC_ARG_WITH(mac-arch, [ --with-mac-arch=ARCH current, intel, ppc or both],
116 MACARCH="$withval"; AC_MSG_RESULT($MACARCH),
117 MACARCH="current"; AC_MSG_RESULT(defaulting to $MACARCH))
119 if test "x$MACARCH" = "xboth"; then
120 AC_MSG_CHECKING(for 10.4 universal SDK)
121 dnl There is a terrible inconsistency (but we appear to get away with it):
122 dnl $CFLAGS uses the 10.4u SDK library for the headers, while $CPPFLAGS
123 dnl doesn't, because "gcc -E" doesn't grok it. That means the configure
124 dnl tests using the preprocessor are actually done with the wrong header
125 dnl files. $LDFLAGS is set at the end, because configure uses it together
126 dnl with $CFLAGS and we can only have one -sysroot argument.
127 save_cppflags="$CPPFLAGS"
128 save_cflags="$CFLAGS"
129 save_ldflags="$LDFLAGS"
130 CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
131 AC_TRY_LINK([ ], [ ],
132 AC_MSG_RESULT(found, will make universal binary),
134 AC_MSG_RESULT(not found)
135 CFLAGS="$save_cflags"
136 AC_MSG_CHECKING(if Intel architecture is supported)
137 CPPFLAGS="$CPPFLAGS -arch i386"
138 LDFLAGS="$save_ldflags -arch i386"
139 AC_TRY_LINK([ ], [ ],
140 AC_MSG_RESULT(yes); MACARCH="intel",
141 AC_MSG_RESULT(no, using PowerPC)
143 CPPFLAGS="$save_cppflags -arch ppc"
144 LDFLAGS="$save_ldflags -arch ppc"))
145 elif test "x$MACARCH" = "xintel"; then
146 CPPFLAGS="$CPPFLAGS -arch intel"
147 LDFLAGS="$LDFLAGS -arch intel"
148 elif test "x$MACARCH" = "xppc"; then
149 CPPFLAGS="$CPPFLAGS -arch ppc"
150 LDFLAGS="$LDFLAGS -arch ppc"
153 if test "$enable_darwin" = "yes"; then
155 OS_EXTRA_SCR="os_macosx.c os_mac_conv.c";
156 OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
157 dnl TODO: use -arch i386 on Intel machines
158 CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
159 if test "x$MACARCH" = "xboth"; then
160 CPPFLAGS="$CPPFLAGS -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon"
162 CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon"
165 dnl If Carbon is found, assume we don't want X11
166 dnl unless it was specifically asked for (--with-x)
167 dnl or Motif, Athena or GTK GUI is used.
168 AC_CHECK_HEADER(Carbon/Carbon.h, CARBON=yes)
169 if test "x$CARBON" = "xyes"; then
170 if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk -a "X$enable_gui" != Xgtk2; then
176 dnl Avoid a bug with -O2 with gcc 4.0.1. Symptom: malloc() reports double
177 dnl free. This happens in expand_filename(), because the optimizer swaps
178 dnl two blocks of code, both using "repl", that can't be swapped.
179 if test "$MACARCH" = "intel" -o "$MACARCH" = "both"; then
180 CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-Oz/'`
187 AC_SUBST(OS_EXTRA_SRC)
188 AC_SUBST(OS_EXTRA_OBJ)
190 dnl Add /usr/local/lib to $LDFLAGS and /usr/local/include to CFLAGS.
191 dnl Only when the directory exists and it wasn't there yet.
192 dnl For gcc don't do this when it is already in the default search path.
193 dnl Skip all of this when cross-compiling.
194 if test "$cross_compiling" = no; then
195 AC_MSG_CHECKING(--with-local-dir argument)
196 have_local_include=''
198 AC_ARG_WITH([local-dir], [ --with-local-dir=PATH search PATH instead of /usr/local for local libraries.
199 --without-local-dir do not search /usr/local for local libraries.], [
204 # avoid adding local dir to LDFLAGS and CPPFLAGS
208 *) AC_MSG_ERROR(must pass path argument to --with-local-dir) ;;
210 AC_MSG_RESULT($local_dir)
213 AC_MSG_RESULT(Defaulting to $local_dir)
215 if test "$GCC" = yes -a "$local_dir" != no; then
216 echo 'void f(){}' > conftest.c
217 dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler)
218 have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep "${local_dir}/include"`
219 have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"`
220 rm -f conftest.c conftest.o
222 if test -z "$have_local_lib" -a -d "${local_dir}/lib"; then
223 tt=`echo "$LDFLAGS" | sed -e "s+-L${local_dir}/lib ++g" -e "s+-L${local_dir}/lib$++g"`
224 if test "$tt" = "$LDFLAGS"; then
225 LDFLAGS="$LDFLAGS -L${local_dir}/lib"
228 if test -z "$have_local_include" -a -d "${local_dir}/include"; then
229 tt=`echo "$CPPFLAGS" | sed -e "s+-I${local_dir}/include ++g" -e "s+-I${local_dir}/include$++g"`
230 if test "$tt" = "$CPPFLAGS"; then
231 CPPFLAGS="$CPPFLAGS -I${local_dir}/include"
236 AC_MSG_CHECKING(--with-vim-name argument)
237 AC_ARG_WITH(vim-name, [ --with-vim-name=NAME what to call the Vim executable],
238 VIMNAME="$withval"; AC_MSG_RESULT($VIMNAME),
239 VIMNAME="vim"; AC_MSG_RESULT(Defaulting to $VIMNAME))
241 AC_MSG_CHECKING(--with-ex-name argument)
242 AC_ARG_WITH(ex-name, [ --with-ex-name=NAME what to call the Ex executable],
243 EXNAME="$withval"; AC_MSG_RESULT($EXNAME),
244 EXNAME="ex"; AC_MSG_RESULT(Defaulting to ex))
246 AC_MSG_CHECKING(--with-view-name argument)
247 AC_ARG_WITH(view-name, [ --with-view-name=NAME what to call the View executable],
248 VIEWNAME="$withval"; AC_MSG_RESULT($VIEWNAME),
249 VIEWNAME="view"; AC_MSG_RESULT(Defaulting to view))
252 AC_MSG_CHECKING(--with-global-runtime argument)
253 AC_ARG_WITH(global-runtime, [ --with-global-runtime=DIR global runtime directory in 'runtimepath'],
254 AC_MSG_RESULT($withval); AC_DEFINE_UNQUOTED(RUNTIME_GLOBAL, "$withval"),
257 AC_MSG_CHECKING(--with-modified-by argument)
258 AC_ARG_WITH(modified-by, [ --with-modified-by=NAME name of who modified a release version],
259 AC_MSG_RESULT($withval); AC_DEFINE_UNQUOTED(MODIFIED_BY, "$withval"),
262 dnl Check for EBCDIC stolen from the LYNX port to OS390 Unix
263 AC_MSG_CHECKING(if character set is EBCDIC)
265 [ /* TryCompile function for CharSet.
266 Treat any failure as ASCII for compatibility with existing art.
267 Use compile-time rather than run-time tests for cross-compiler
270 make an error "Character set is not EBCDIC"
272 [ # TryCompile action if true
274 [ # TryCompile action if false
276 # end of TryCompile ])
277 # end of CacheVal CvEbcdic
278 AC_MSG_RESULT($cf_cv_ebcdic)
279 case "$cf_cv_ebcdic" in #(vi
280 yes) AC_DEFINE(EBCDIC)
283 *) line_break='"\\012"';;
287 if test "$cf_cv_ebcdic" = "yes"; then
288 dnl If we have EBCDIC we most likley have OS390 Unix, let's test it!
289 AC_MSG_CHECKING(for OS/390 Unix)
291 OS/390) OS390Unix="yes";
292 dnl If using cc the environment variable _CC_CCMODE must be
293 dnl set to "1", so that some compiler extensions are enabled.
294 dnl If using c89 the environment variable is named _CC_C89MODE.
295 dnl Note: compile with c89 never tested.
296 if test "$CC" = "cc"; then
300 if test "$CC" = "c89"; then
307 if test "$ccm" != "1"; then
309 echo "------------------------------------------"
310 echo " On OS/390 Unix, the environment variable"
311 echo " __CC_${ccn}MODE must be set to \"1\"!"
313 echo " export _CC_${ccn}MODE=1"
314 echo " and then call configure again."
315 echo "------------------------------------------"
318 CFLAGS="$CFLAGS -D_ALL_SOURCE"; LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
327 dnl Link with -lselinux for SELinux stuff; if not found
328 AC_MSG_CHECKING(--disable-selinux argument)
329 AC_ARG_ENABLE(selinux,
330 [ --disable-selinux Don't check for SELinux support.],
331 , enable_selinux="yes")
332 if test "$enable_selinux" = "yes"; then
334 AC_CHECK_LIB(selinux, is_selinux_enabled,
335 [LIBS="$LIBS -lselinux"
336 AC_DEFINE(HAVE_SELINUX)])
341 dnl Check user requested features.
343 AC_MSG_CHECKING(--with-features argument)
344 AC_ARG_WITH(features, [ --with-features=TYPE tiny, small, normal, big or huge (default: normal)],
345 features="$withval"; AC_MSG_RESULT($features),
346 features="normal"; AC_MSG_RESULT(Defaulting to normal))
351 tiny) AC_DEFINE(FEAT_TINY) ;;
352 small) AC_DEFINE(FEAT_SMALL) ;;
353 normal) AC_DEFINE(FEAT_NORMAL) dovimdiff="installvimdiff";
354 dogvimdiff="installgvimdiff" ;;
355 big) AC_DEFINE(FEAT_BIG) dovimdiff="installvimdiff";
356 dogvimdiff="installgvimdiff" ;;
357 huge) AC_DEFINE(FEAT_HUGE) dovimdiff="installvimdiff";
358 dogvimdiff="installgvimdiff" ;;
359 *) AC_MSG_RESULT([Sorry, $features is not supported]) ;;
365 AC_MSG_CHECKING(--with-compiledby argument)
366 AC_ARG_WITH(compiledby, [ --with-compiledby=NAME name to show in :version message],
367 compiledby="$withval"; AC_MSG_RESULT($withval),
368 compiledby=""; AC_MSG_RESULT(no))
371 AC_MSG_CHECKING(--disable-xsmp argument)
373 [ --disable-xsmp Disable XSMP session management],
376 if test "$enable_xsmp" = "yes"; then
378 AC_MSG_CHECKING(--disable-xsmp-interact argument)
379 AC_ARG_ENABLE(xsmp-interact,
380 [ --disable-xsmp-interact Disable XSMP interaction],
381 , enable_xsmp_interact="yes")
382 if test "$enable_xsmp_interact" = "yes"; then
384 AC_DEFINE(USE_XSMP_INTERACT)
392 dnl Check for MzScheme feature.
393 AC_MSG_CHECKING(--enable-mzschemeinterp argument)
394 AC_ARG_ENABLE(mzschemeinterp,
395 [ --enable-mzschemeinterp Include MzScheme interpreter.], ,
396 [enable_mzschemeinterp="no"])
397 AC_MSG_RESULT($enable_mzschemeinterp)
399 if test "$enable_mzschemeinterp" = "yes"; then
400 dnl -- find the mzscheme executable
401 AC_SUBST(vi_cv_path_mzscheme)
403 AC_MSG_CHECKING(--with-plthome argument)
405 [ --with-plthome=PLTHOME Use PLTHOME.],
406 with_plthome="$withval"; AC_MSG_RESULT($with_plthome),
407 with_plthome="";AC_MSG_RESULT("no"))
409 if test "X$with_plthome" != "X"; then
410 vi_cv_path_mzscheme_pfx="$with_plthome"
412 AC_MSG_CHECKING(PLTHOME environment var)
413 if test "X$PLTHOME" != "X"; then
414 AC_MSG_RESULT("$PLTHOME")
415 vi_cv_path_mzscheme_pfx="$PLTHOME"
417 AC_MSG_RESULT("not set")
418 dnl -- try to find MzScheme executable
419 AC_PATH_PROG(vi_cv_path_mzscheme, mzscheme)
421 dnl resolve symbolic link, the executable is often elsewhere and there
422 dnl are no links for the include files.
423 if test "X$vi_cv_path_mzscheme" != "X"; then
424 lsout=`ls -l $vi_cv_path_mzscheme`
425 if echo "$lsout" | grep -e '->' >/dev/null 2>/dev/null; then
426 vi_cv_path_mzscheme=`echo "$lsout" | sed 's/.*-> \(.*\)/\1/'`
430 if test "X$vi_cv_path_mzscheme" != "X"; then
431 dnl -- find where MzScheme thinks it was installed
432 AC_CACHE_CHECK(MzScheme install prefix,vi_cv_path_mzscheme_pfx,
433 [ vi_cv_path_mzscheme_pfx=`
434 ${vi_cv_path_mzscheme} -evm \
435 "(display (simplify-path \
436 (build-path (call-with-values \
437 (lambda () (split-path (find-system-path (quote exec-file)))) \
438 (lambda (base name must-be-dir?) base)) (quote up))))"` ])
439 dnl Remove a trailing slash.
440 vi_cv_path_mzscheme_pfx=`echo "$vi_cv_path_mzscheme_pfx" | sed 's+/$++'`
446 if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
447 AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include)
448 if test -f $vi_cv_path_mzscheme_pfx/include/scheme.h; then
452 AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/plt/include)
453 if test -f $vi_cv_path_mzscheme_pfx/include/plt/scheme.h; then
458 vi_cv_path_mzscheme_pfx=
463 if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
464 if test "x$MACOSX" = "xyes"; then
465 MZSCHEME_LIBS="-framework PLT_MzScheme"
466 elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then
467 MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
469 MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
470 if test "$GCC" = yes; then
471 dnl Make Vim remember the path to the library. For when it's not in
472 dnl $LD_LIBRARY_PATH.
473 MZSCHEME_LIBS="$MZSCHEME_LIBS -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib"
474 elif test "`(uname) 2>/dev/null`" = SunOS &&
475 uname -r | grep '^5' >/dev/null; then
476 MZSCHEME_LIBS="$MZSCHEME_LIBS -R ${vi_cv_path_mzscheme_pfx}/lib"
479 if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
480 SCHEME_COLLECTS=lib/plt/
482 MZSCHEME_CFLAGS="-I${vi_cv_path_mzscheme_pfx}/include${SCHEME_INC} \
483 -DMZSCHEME_COLLECTS='\"${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects\"'"
484 MZSCHEME_SRC="if_mzsch.c"
485 MZSCHEME_OBJ="objects/if_mzsch.o"
486 MZSCHEME_PRO="if_mzsch.pro"
487 AC_DEFINE(FEAT_MZSCHEME)
489 AC_SUBST(MZSCHEME_SRC)
490 AC_SUBST(MZSCHEME_OBJ)
491 AC_SUBST(MZSCHEME_PRO)
492 AC_SUBST(MZSCHEME_LIBS)
493 AC_SUBST(MZSCHEME_CFLAGS)
497 AC_MSG_CHECKING(--enable-perlinterp argument)
498 AC_ARG_ENABLE(perlinterp,
499 [ --enable-perlinterp Include Perl interpreter.], ,
500 [enable_perlinterp="no"])
501 AC_MSG_RESULT($enable_perlinterp)
502 if test "$enable_perlinterp" = "yes"; then
503 AC_SUBST(vi_cv_path_perl)
504 AC_PATH_PROG(vi_cv_path_perl, perl)
505 if test "X$vi_cv_path_perl" != "X"; then
506 AC_MSG_CHECKING(Perl version)
507 if $vi_cv_path_perl -e 'require 5.003_01' >/dev/null 2>/dev/null; then
508 eval `$vi_cv_path_perl -V:usethreads`
509 if test "X$usethreads" = "XUNKNOWN" -o "X$usethreads" = "Xundef"; then
512 if $vi_cv_path_perl -e 'require 5.6.0' >/dev/null 2>/dev/null; then
513 eval `$vi_cv_path_perl -V:use5005threads`
514 if test "X$use5005threads" = "XUNKNOWN" -o "X$use5005threads" = "Xundef"; then
518 AC_MSG_RESULT(>>> Perl > 5.6 with 5.5 threads cannot be used <<<)
522 AC_MSG_RESULT(>>> Perl 5.5 with threads cannot be used <<<)
525 if test $badthreads = no; then
527 eval `$vi_cv_path_perl -V:shrpenv`
528 if test "X$shrpenv" = "XUNKNOWN"; then # pre 5.003_04
531 vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlibexp}'`
532 AC_SUBST(vi_cv_perllib)
533 dnl Remove "-fno-something", it breaks using cproto.
534 perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
535 -e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[[^ ]]*//'`
536 dnl Remove "-lc", it breaks on FreeBSD when using "-pthread".
537 perllibs=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed -e 'ldopts' | \
538 sed -e '/Warning/d' -e '/Note (probably harmless)/d' \
539 -e 's/-bE:perl.exp//' -e 's/-lc //'`
540 dnl Don't add perl lib to $LIBS: if it's not in LD_LIBRARY_PATH
541 dnl a test in configure may fail because of that.
542 perlldflags=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed \
543 -e 'ccdlflags' | sed -e 's/-bE:perl.exp//'`
545 dnl check that compiling a simple program still works with the flags
547 AC_MSG_CHECKING([if compile and link flags for Perl are sane])
550 ldflags_save=$LDFLAGS
551 CFLAGS="$CFLAGS $perlcppflags"
552 LIBS="$LIBS $perllibs"
553 LDFLAGS="$perlldflags $LDFLAGS"
555 AC_MSG_RESULT(yes); perl_ok=yes,
556 AC_MSG_RESULT(no: PERL DISABLED); perl_ok=no)
559 LDFLAGS=$ldflags_save
560 if test $perl_ok = yes; then
561 if test "X$perlcppflags" != "X"; then
562 dnl remove -pipe and -Wxxx, it confuses cproto
563 PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ ]]*//'`
565 if test "X$perlldflags" != "X"; then
566 LDFLAGS="$perlldflags $LDFLAGS"
569 PERL_SRC="auto/if_perl.c if_perlsfio.c"
570 PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o"
571 PERL_PRO="if_perl.pro if_perlsfio.pro"
576 AC_MSG_RESULT(>>> too old; need Perl version 5.003_01 or later <<<)
580 if test "x$MACOSX" = "xyes"; then
581 dnl Mac OS X 10.2 or later
582 dir=/System/Library/Perl
583 darwindir=$dir/darwin
584 if test -d $darwindir; then
588 dir=/System/Library/Perl/5.8.1
589 darwindir=$dir/darwin-thread-multi-2level
590 if test -d $darwindir; then
594 if test -n "$PERL"; then
596 PERL_CFLAGS="-DFEAT_PERL -I$darwindir/CORE"
597 PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o $darwindir/auto/DynaLoader/DynaLoader.a"
598 PERL_LIBS="-L$darwindir/CORE -lperl"
606 AC_SUBST(PERL_CFLAGS)
609 AC_MSG_CHECKING(--enable-pythoninterp argument)
610 AC_ARG_ENABLE(pythoninterp,
611 [ --enable-pythoninterp Include Python interpreter.], ,
612 [enable_pythoninterp="no"])
613 AC_MSG_RESULT($enable_pythoninterp)
614 if test "$enable_pythoninterp" = "yes"; then
615 dnl -- find the python executable
616 AC_PATH_PROG(vi_cv_path_python, python)
617 if test "X$vi_cv_path_python" != "X"; then
619 dnl -- get its version number
620 AC_CACHE_CHECK(Python version,vi_cv_var_python_version,
621 [[vi_cv_var_python_version=`
622 ${vi_cv_path_python} -c 'import sys; print sys.version[:3]'`
625 dnl -- it must be at least version 1.4
626 AC_MSG_CHECKING(Python is 1.4 or better)
627 if ${vi_cv_path_python} -c \
628 "import sys; sys.exit(${vi_cv_var_python_version} < 1.4)"
632 dnl -- find where python thinks it was installed
633 AC_CACHE_CHECK(Python's install prefix,vi_cv_path_python_pfx,
634 [ vi_cv_path_python_pfx=`
635 ${vi_cv_path_python} -c \
636 "import sys; print sys.prefix"` ])
638 dnl -- and where it thinks it runs
639 AC_CACHE_CHECK(Python's execution prefix,vi_cv_path_python_epfx,
640 [ vi_cv_path_python_epfx=`
641 ${vi_cv_path_python} -c \
642 "import sys; print sys.exec_prefix"` ])
644 dnl -- python's internal library path
646 AC_CACHE_VAL(vi_cv_path_pythonpath,
647 [ vi_cv_path_pythonpath=`
649 ${vi_cv_path_python} -c \
650 "import sys, string; print string.join(sys.path,':')"` ])
652 dnl -- where the Python implementation library archives are
654 AC_ARG_WITH(python-config-dir,
655 [ --with-python-config-dir=PATH Python's config directory],
656 [ vi_cv_path_python_conf="${withval}" ] )
658 AC_CACHE_CHECK(Python's configuration directory,vi_cv_path_python_conf,
660 vi_cv_path_python_conf=
661 for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do
662 for subdir in lib share; do
663 d="${path}/${subdir}/python${vi_cv_var_python_version}/config"
664 if test -d "$d" && test -f "$d/config.c"; then
665 vi_cv_path_python_conf="$d"
671 PYTHON_CONFDIR="${vi_cv_path_python_conf}"
673 if test "X$PYTHON_CONFDIR" = "X"; then
674 AC_MSG_RESULT([can't find it!])
677 dnl -- we need to examine Python's config/Makefile too
678 dnl see what the interpreter is built from
679 AC_CACHE_VAL(vi_cv_path_python_plibs,
681 tmp_mkf="/tmp/Makefile-conf$$"
682 cat ${PYTHON_CONFDIR}/Makefile - <<'eof' >${tmp_mkf}
684 @echo "python_MODLIBS='$(MODLIBS)'"
685 @echo "python_LIBS='$(LIBS)'"
686 @echo "python_SYSLIBS='$(SYSLIBS)'"
687 @echo "python_LINKFORSHARED='$(LINKFORSHARED)'"
689 dnl -- delete the lines from make about Entering/Leaving directory
690 eval "`cd ${PYTHON_CONFDIR} && make -f ${tmp_mkf} __ | sed '/ directory /d'`"
692 if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \
693 "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
694 vi_cv_path_python_plibs="-framework Python"
696 if test "${vi_cv_var_python_version}" = "1.4"; then
697 vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a"
699 vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
701 vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_MODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
702 dnl remove -ltermcap, it can conflict with an earlier -lncurses
703 vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
707 PYTHON_LIBS="${vi_cv_path_python_plibs}"
708 if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
709 PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version}"
711 PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version}"
713 PYTHON_SRC="if_python.c"
714 dnl For Mac OSX 10.2 config.o is included in the Python library.
715 if test "x$MACOSX" = "xyes"; then
716 PYTHON_OBJ="objects/if_python.o"
718 PYTHON_OBJ="objects/if_python.o objects/py_config.o"
720 if test "${vi_cv_var_python_version}" = "1.4"; then
721 PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
723 PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
725 dnl On FreeBSD linking with "-pthread" is required to use threads.
726 dnl _THREAD_SAFE must be used for compiling then.
727 dnl The "-pthread" is added to $LIBS, so that the following check for
728 dnl sigaltstack() will look in libc_r (it's there in libc!).
729 dnl Otherwise, when using GCC, try adding -pthread to $CFLAGS. GCC
730 dnl will then define target-specific defines, e.g., -D_REENTRANT.
731 dnl Don't do this for Mac OSX, -pthread will generate a warning.
732 AC_MSG_CHECKING([if -pthread should be used])
735 dnl if test "x$MACOSX" != "xyes"; then
736 if test "`(uname) 2>/dev/null`" != Darwin; then
737 test "$GCC" = yes && threadsafe_flag="-pthread"
738 if test "`(uname) 2>/dev/null`" = FreeBSD; then
739 threadsafe_flag="-D_THREAD_SAFE"
740 thread_lib="-pthread"
744 if test -n "$threadsafe_flag"; then
746 CFLAGS="$CFLAGS $threadsafe_flag"
747 LIBS="$LIBS $thread_lib"
749 AC_MSG_RESULT(yes); PYTHON_CFLAGS="$PYTHON_CFLAGS $threadsafe_flag",
750 AC_MSG_RESULT(no); LIBS=$libs_save_old
757 dnl check that compiling a simple program still works with the flags
758 dnl added for Python.
759 AC_MSG_CHECKING([if compile and link flags for Python are sane])
762 CFLAGS="$CFLAGS $PYTHON_CFLAGS"
763 LIBS="$LIBS $PYTHON_LIBS"
765 AC_MSG_RESULT(yes); python_ok=yes,
766 AC_MSG_RESULT(no: PYTHON DISABLED); python_ok=no)
769 if test $python_ok = yes; then
770 AC_DEFINE(FEAT_PYTHON)
781 AC_MSG_RESULT(too old)
785 AC_SUBST(PYTHON_CONFDIR)
786 AC_SUBST(PYTHON_LIBS)
787 AC_SUBST(PYTHON_GETPATH_CFLAGS)
788 AC_SUBST(PYTHON_CFLAGS)
792 AC_MSG_CHECKING(--enable-tclinterp argument)
793 AC_ARG_ENABLE(tclinterp,
794 [ --enable-tclinterp Include Tcl interpreter.], ,
795 [enable_tclinterp="no"])
796 AC_MSG_RESULT($enable_tclinterp)
798 if test "$enable_tclinterp" = "yes"; then
800 dnl on FreeBSD tclsh is a silly script, look for tclsh8.[5420]
801 AC_MSG_CHECKING(--with-tclsh argument)
802 AC_ARG_WITH(tclsh, [ --with-tclsh=PATH which tclsh to use (default: tclsh8.0)],
803 tclsh_name="$withval"; AC_MSG_RESULT($tclsh_name),
804 tclsh_name="tclsh8.5"; AC_MSG_RESULT(no))
805 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
806 AC_SUBST(vi_cv_path_tcl)
808 dnl when no specific version specified, also try 8.4, 8.2 and 8.0
809 if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.5"; then
810 tclsh_name="tclsh8.4"
811 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
813 if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.4"; then
814 tclsh_name="tclsh8.2"
815 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
817 if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.2"; then
818 tclsh_name="tclsh8.0"
819 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
821 dnl still didn't find it, try without version number
822 if test "X$vi_cv_path_tcl" = "X"; then
824 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
826 if test "X$vi_cv_path_tcl" != "X"; then
827 AC_MSG_CHECKING(Tcl version)
828 if echo 'exit [[expr [info tclversion] < 8.0]]' | $vi_cv_path_tcl - ; then
829 tclver=`echo 'puts [[info tclversion]]' | $vi_cv_path_tcl -`
830 AC_MSG_RESULT($tclver - OK);
831 tclloc=`echo 'set l [[info library]];set i [[string last lib $l]];incr i -2;puts [[string range $l 0 $i]]' | $vi_cv_path_tcl -`
833 AC_MSG_CHECKING(for location of Tcl include)
834 if test "x$MACOSX" != "xyes"; then
835 tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include /usr/local/include/tcl$tclver /usr/include /usr/include/tcl$tclver"
837 dnl For Mac OS X 10.3, use the OS-provided framework location
838 tclinc="/System/Library/Frameworks/Tcl.framework/Headers"
841 for try in $tclinc; do
842 if test -f "$try/tcl.h"; then
843 AC_MSG_RESULT($try/tcl.h)
848 if test -z "$TCL_INC"; then
849 AC_MSG_RESULT(<not found>)
852 if test -z "$SKIP_TCL"; then
853 AC_MSG_CHECKING(for location of tclConfig.sh script)
854 if test "x$MACOSX" != "xyes"; then
855 tclcnf=`echo $tclinc | sed s/include/lib/g`
856 tclcnf="$tclcnf `echo $tclinc | sed s/include/lib64/g`"
858 dnl For Mac OS X 10.3, use the OS-provided framework location
859 tclcnf="/System/Library/Frameworks/Tcl.framework"
861 for try in $tclcnf; do
862 if test -f $try/tclConfig.sh; then
863 AC_MSG_RESULT($try/tclConfig.sh)
865 dnl use eval, because tcl 8.2 includes ${TCL_DBGX}
866 TCL_LIBS=`eval echo "$TCL_LIB_SPEC $TCL_LIBS"`
867 dnl Use $TCL_DEFS for -D_THREAD_SAFE et al. But only use the
868 dnl "-D_ABC" items. Watch out for -DFOO=long\ long.
869 TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\\\\ /\\\\X/g' | tr ' ' '\012' | sed -e '/^-[[^D]]/d' -e '/-D[[^_]]/d' -e 's/-D_/ -D_/' | tr '\012' ' ' | sed -e 's/\\\\X/\\\\ /g'`
873 if test -z "$TCL_LIBS"; then
874 AC_MSG_RESULT(<not found>)
875 AC_MSG_CHECKING(for Tcl library by myself)
876 tcllib=`echo $tclinc | sed s/include/lib/g`
877 tcllib="$tcllib `echo $tclinc | sed s/include/lib64/g`"
878 for ext in .so .a ; do
879 for ver in "" $tclver ; do
880 for try in $tcllib ; do
882 if test -f $try/lib$trylib ; then
883 AC_MSG_RESULT($try/lib$trylib)
884 TCL_LIBS="-L$try -ltcl$ver -ldl -lm"
885 if test "`(uname) 2>/dev/null`" = SunOS &&
886 uname -r | grep '^5' >/dev/null; then
887 TCL_LIBS="$TCL_LIBS -R $try"
894 if test -z "$TCL_LIBS"; then
895 AC_MSG_RESULT(<not found>)
899 if test -z "$SKIP_TCL"; then
902 TCL_OBJ=objects/if_tcl.o
904 TCL_CFLAGS="-I$TCL_INC $TCL_DEFS"
908 AC_MSG_RESULT(too old; need Tcl version 8.0 or later)
918 AC_MSG_CHECKING(--enable-rubyinterp argument)
919 AC_ARG_ENABLE(rubyinterp,
920 [ --enable-rubyinterp Include Ruby interpreter.], ,
921 [enable_rubyinterp="no"])
922 AC_MSG_RESULT($enable_rubyinterp)
923 if test "$enable_rubyinterp" = "yes"; then
924 AC_SUBST(vi_cv_path_ruby)
925 AC_PATH_PROG(vi_cv_path_ruby, ruby)
926 if test "X$vi_cv_path_ruby" != "X"; then
927 AC_MSG_CHECKING(Ruby version)
928 if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
930 AC_MSG_CHECKING(Ruby header files)
931 rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null`
932 if test "X$rubyhdrdir" != "X"; then
933 AC_MSG_RESULT($rubyhdrdir)
934 RUBY_CFLAGS="-I$rubyhdrdir"
935 rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'`
936 if test "X$rubylibs" != "X"; then
937 RUBY_LIBS="$rubylibs"
939 librubyarg=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["LIBRUBYARG"]])'`
940 if test -f "$rubyhdrdir/$librubyarg"; then
941 librubyarg="$rubyhdrdir/$librubyarg"
943 rubylibdir=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["libdir"]])'`
944 if test -f "$rubylibdir/$librubyarg"; then
945 librubyarg="$rubylibdir/$librubyarg"
946 elif test "$librubyarg" = "libruby.a"; then
947 dnl required on Mac OS 10.3 where libruby.a doesn't exist
950 librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, %'-L#{Config.expand(Config::CONFIG[\"libdir\"])}')"`
954 if test "X$librubyarg" != "X"; then
955 RUBY_LIBS="$librubyarg $RUBY_LIBS"
957 rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LDFLAGS"]]'`
958 if test "X$rubyldflags" != "X"; then
959 LDFLAGS="$rubyldflags $LDFLAGS"
962 RUBY_OBJ="objects/if_ruby.o"
963 RUBY_PRO="if_ruby.pro"
966 AC_MSG_RESULT(not found, disabling Ruby)
969 AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later)
976 AC_SUBST(RUBY_CFLAGS)
979 AC_MSG_CHECKING(--enable-cscope argument)
980 AC_ARG_ENABLE(cscope,
981 [ --enable-cscope Include cscope interface.], ,
982 [enable_cscope="no"])
983 AC_MSG_RESULT($enable_cscope)
984 if test "$enable_cscope" = "yes"; then
985 AC_DEFINE(FEAT_CSCOPE)
988 AC_MSG_CHECKING(--enable-workshop argument)
989 AC_ARG_ENABLE(workshop,
990 [ --enable-workshop Include Sun Visual Workshop support.], ,
991 [enable_workshop="no"])
992 AC_MSG_RESULT($enable_workshop)
993 if test "$enable_workshop" = "yes"; then
994 AC_DEFINE(FEAT_SUN_WORKSHOP)
995 WORKSHOP_SRC="workshop.c integration.c"
996 AC_SUBST(WORKSHOP_SRC)
997 WORKSHOP_OBJ="objects/workshop.o objects/integration.o"
998 AC_SUBST(WORKSHOP_OBJ)
999 if test "${enable_gui-xxx}" = xxx; then
1004 AC_MSG_CHECKING(--disable-netbeans argument)
1005 AC_ARG_ENABLE(netbeans,
1006 [ --disable-netbeans Disable NetBeans integration support.],
1007 , [enable_netbeans="yes"])
1008 if test "$enable_netbeans" = "yes"; then
1010 dnl On Solaris we need the socket and nsl library.
1011 AC_CHECK_LIB(socket, socket)
1012 AC_CHECK_LIB(nsl, gethostbyname)
1013 AC_MSG_CHECKING(whether compiling netbeans integration is possible)
1020 #include <netinet/in.h>
1022 #include <sys/types.h>
1023 #include <sys/socket.h>
1024 /* Check bitfields */
1026 unsigned int initDone:1;
1030 /* Check creating a socket. */
1031 struct sockaddr_in server;
1032 (void)socket(AF_INET, SOCK_STREAM, 0);
1034 (void)gethostbyname("microsoft.com");
1035 if (errno == ECONNREFUSED)
1036 (void)connect(1, (struct sockaddr *)&server, sizeof(server));
1039 AC_MSG_RESULT(no); enable_netbeans="no")
1043 if test "$enable_netbeans" = "yes"; then
1044 AC_DEFINE(FEAT_NETBEANS_INTG)
1045 NETBEANS_SRC="netbeans.c"
1046 AC_SUBST(NETBEANS_SRC)
1047 NETBEANS_OBJ="objects/netbeans.o"
1048 AC_SUBST(NETBEANS_OBJ)
1051 AC_MSG_CHECKING(--enable-sniff argument)
1052 AC_ARG_ENABLE(sniff,
1053 [ --enable-sniff Include Sniff interface.], ,
1054 [enable_sniff="no"])
1055 AC_MSG_RESULT($enable_sniff)
1056 if test "$enable_sniff" = "yes"; then
1057 AC_DEFINE(FEAT_SNIFF)
1058 SNIFF_SRC="if_sniff.c"
1060 SNIFF_OBJ="objects/if_sniff.o"
1064 AC_MSG_CHECKING(--enable-multibyte argument)
1065 AC_ARG_ENABLE(multibyte,
1066 [ --enable-multibyte Include multibyte editing support.], ,
1067 [enable_multibyte="no"])
1068 AC_MSG_RESULT($enable_multibyte)
1069 if test "$enable_multibyte" = "yes"; then
1070 AC_DEFINE(FEAT_MBYTE)
1073 AC_MSG_CHECKING(--enable-hangulinput argument)
1074 AC_ARG_ENABLE(hangulinput,
1075 [ --enable-hangulinput Include Hangul input support.], ,
1076 [enable_hangulinput="no"])
1077 AC_MSG_RESULT($enable_hangulinput)
1079 AC_MSG_CHECKING(--enable-xim argument)
1081 [ --enable-xim Include XIM input support.],
1082 AC_MSG_RESULT($enable_xim),
1083 [enable_xim="auto"; AC_MSG_RESULT(defaulting to auto)])
1084 dnl defining FEAT_XIM is delayed, so that it can be disabled for older GTK
1086 AC_MSG_CHECKING(--enable-fontset argument)
1087 AC_ARG_ENABLE(fontset,
1088 [ --enable-fontset Include X fontset output support.], ,
1089 [enable_fontset="no"])
1090 AC_MSG_RESULT($enable_fontset)
1091 dnl defining FEAT_XFONTSET is delayed, so that it can be disabled for no GUI
1093 test -z "$with_x" && with_x=yes
1094 test "${enable_gui-yes}" != no -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && with_x=yes
1095 if test "$with_x" = no; then
1096 AC_MSG_RESULT(defaulting to: don't HAVE_X11)
1098 dnl Do this check early, so that its failure can override user requests.
1100 AC_PATH_PROG(xmkmfpath, xmkmf)
1104 dnl On OS390Unix the X libraries are DLLs. To use them the code must
1105 dnl be compiled with a special option.
1106 dnl Also add SM, ICE and Xmu to X_EXTRA_LIBS.
1107 if test "$OS390Unix" = "yes"; then
1108 CFLAGS="$CFLAGS -W c,dll"
1109 LDFLAGS="$LDFLAGS -W l,dll"
1110 X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE -lXmu"
1113 dnl On my HPUX system the X include dir is found, but the lib dir not.
1114 dnl This is a desparate try to fix this.
1116 if test -d "$x_includes" && test ! -d "$x_libraries"; then
1117 x_libraries=`echo "$x_includes" | sed s/include/lib/`
1118 AC_MSG_RESULT(Corrected X libraries to $x_libraries)
1119 X_LIBS="$X_LIBS -L$x_libraries"
1120 if test "`(uname) 2>/dev/null`" = SunOS &&
1121 uname -r | grep '^5' >/dev/null; then
1122 X_LIBS="$X_LIBS -R $x_libraries"
1126 if test -d "$x_libraries" && test ! -d "$x_includes"; then
1127 x_includes=`echo "$x_libraries" | sed s/lib/include/`
1128 AC_MSG_RESULT(Corrected X includes to $x_includes)
1129 X_CFLAGS="$X_CFLAGS -I$x_includes"
1132 dnl Remove "-I/usr/include " from X_CFLAGS, should not be needed.
1133 X_CFLAGS="`echo $X_CFLAGS\ | sed 's%-I/usr/include %%'`"
1134 dnl Remove "-L/usr/lib " from X_LIBS, should not be needed.
1135 X_LIBS="`echo $X_LIBS\ | sed 's%-L/usr/lib %%'`"
1136 dnl Same for "-R/usr/lib ".
1137 X_LIBS="`echo $X_LIBS\ | sed -e 's%-R/usr/lib %%' -e 's%-R /usr/lib %%'`"
1140 dnl Check if the X11 header files are correctly installed. On some systems
1141 dnl Xlib.h includes files that don't exist. On some systems X11/Intrinsic.h
1143 AC_MSG_CHECKING(if X11 header files can be found)
1145 CFLAGS="$CFLAGS $X_CFLAGS"
1146 AC_TRY_COMPILE([#include <X11/Xlib.h>
1147 #include <X11/Intrinsic.h>], ,
1149 AC_MSG_RESULT(no); no_x=yes)
1152 if test "${no_x-no}" = yes; then
1159 ac_save_LDFLAGS="$LDFLAGS"
1160 LDFLAGS="-L$x_libraries $LDFLAGS"
1162 dnl Check for -lXdmcp (needed on SunOS 4.1.4)
1163 dnl For HP-UX 10.20 it must be before -lSM -lICE
1164 AC_CHECK_LIB(Xdmcp, _XdmcpAuthDoIt, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lXdmcp"],,
1165 [-lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lXdmcp])
1167 dnl Some systems need -lnsl -lsocket when testing for ICE.
1168 dnl The check above doesn't do this, try here (again). Also needed to get
1169 dnl them after Xdmcp. link.sh will remove them when not needed.
1170 dnl Check for other function than above to avoid the cached value
1171 AC_CHECK_LIB(ICE, IceOpenConnection,
1172 [X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE"],, [$X_EXTRA_LIBS])
1174 dnl Check for -lXpm (needed for some versions of Motif)
1175 LDFLAGS="$X_LIBS $ac_save_LDFLAGS"
1176 AC_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [X_PRE_LIBS="$X_PRE_LIBS -lXpm"],,
1177 [-lXt $X_PRE_LIBS -lXpm -lX11 $X_EXTRA_LIBS])
1179 dnl Check that the X11 header files don't use implicit declarations
1180 AC_MSG_CHECKING(if X11 header files implicitly declare return values)
1182 CFLAGS="$CFLAGS $X_CFLAGS -Werror"
1183 AC_TRY_COMPILE([#include <X11/Xlib.h>], ,
1185 CFLAGS="$CFLAGS -Wno-implicit-int"
1186 AC_TRY_COMPILE([#include <X11/Xlib.h>], ,
1187 AC_MSG_RESULT(yes); cflags_save="$cflags_save -Wno-implicit-int",
1188 AC_MSG_RESULT(test failed)
1193 LDFLAGS="$ac_save_LDFLAGS"
1198 test "x$with_x" = xno -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
1200 AC_MSG_CHECKING(--enable-gui argument)
1202 [ --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon]], , enable_gui="auto")
1204 dnl Canonicalize the --enable-gui= argument so that it can be easily compared.
1205 dnl Do not use character classes for portability with old tools.
1206 enable_gui_canon=`echo "_$enable_gui" | \
1207 sed 's/[[ _+-]]//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
1209 dnl Skip everything by default.
1220 if test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
1222 case "$enable_gui_canon" in
1223 no) AC_MSG_RESULT(no GUI support)
1225 yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;;
1226 auto) AC_MSG_RESULT(auto - automatic GUI support) ;;
1227 photon) AC_MSG_RESULT(Photon GUI support) ;;
1228 *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
1232 elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then
1234 case "$enable_gui_canon" in
1235 no) AC_MSG_RESULT(no GUI support)
1237 yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;;
1238 auto) AC_MSG_RESULT(auto - automatic GUI support) ;;
1239 carbon) AC_MSG_RESULT(Carbon GUI support) ;;
1240 *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
1246 case "$enable_gui_canon" in
1247 no|none) AC_MSG_RESULT(no GUI support) ;;
1248 yes|""|auto) AC_MSG_RESULT(yes/auto - automatic GUI support)
1256 gtk) AC_MSG_RESULT(GTK+ 1.x GUI support)
1258 gtk2) AC_MSG_RESULT(GTK+ 2.x GUI support)
1261 gnome) AC_MSG_RESULT(GNOME 1.x GUI support)
1264 gnome2) AC_MSG_RESULT(GNOME 2.x GUI support)
1268 motif) AC_MSG_RESULT(Motif GUI support)
1270 athena) AC_MSG_RESULT(Athena GUI support)
1272 nextaw) AC_MSG_RESULT(neXtaw GUI support)
1274 *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported]) ;;
1279 if test "x$SKIP_GTK" != "xYES" -a "$enable_gui_canon" != "gtk" -a "$enable_gui_canon" != "gtk2"; then
1280 AC_MSG_CHECKING(whether or not to look for GTK)
1281 AC_ARG_ENABLE(gtk-check,
1282 [ --enable-gtk-check If auto-select GUI, check for GTK [default=yes]],
1283 , enable_gtk_check="yes")
1284 AC_MSG_RESULT($enable_gtk_check)
1285 if test "x$enable_gtk_check" = "xno"; then
1291 if test "x$SKIP_GTK2" != "xYES" -a "$enable_gui_canon" != "gtk2" \
1292 -a "$enable_gui_canon" != "gnome2"; then
1293 AC_MSG_CHECKING(whether or not to look for GTK+ 2)
1294 AC_ARG_ENABLE(gtk2-check,
1295 [ --enable-gtk2-check If GTK GUI, check for GTK+ 2 [default=yes]],
1296 , enable_gtk2_check="yes")
1297 AC_MSG_RESULT($enable_gtk2_check)
1298 if test "x$enable_gtk2_check" = "xno"; then
1303 if test "x$SKIP_GNOME" != "xYES" -a "$enable_gui_canon" != "gnome" \
1304 -a "$enable_gui_canon" != "gnome2"; then
1305 AC_MSG_CHECKING(whether or not to look for GNOME)
1306 AC_ARG_ENABLE(gnome-check,
1307 [ --enable-gnome-check If GTK GUI, check for GNOME [default=no]],
1308 , enable_gnome_check="no")
1309 AC_MSG_RESULT($enable_gnome_check)
1310 if test "x$enable_gnome_check" = "xno"; then
1315 if test "x$SKIP_MOTIF" != "xYES" -a "$enable_gui_canon" != "motif"; then
1316 AC_MSG_CHECKING(whether or not to look for Motif)
1317 AC_ARG_ENABLE(motif-check,
1318 [ --enable-motif-check If auto-select GUI, check for Motif [default=yes]],
1319 , enable_motif_check="yes")
1320 AC_MSG_RESULT($enable_motif_check)
1321 if test "x$enable_motif_check" = "xno"; then
1326 if test "x$SKIP_ATHENA" != "xYES" -a "$enable_gui_canon" != "athena"; then
1327 AC_MSG_CHECKING(whether or not to look for Athena)
1328 AC_ARG_ENABLE(athena-check,
1329 [ --enable-athena-check If auto-select GUI, check for Athena [default=yes]],
1330 , enable_athena_check="yes")
1331 AC_MSG_RESULT($enable_athena_check)
1332 if test "x$enable_athena_check" = "xno"; then
1337 if test "x$SKIP_NEXTAW" != "xYES" -a "$enable_gui_canon" != "nextaw"; then
1338 AC_MSG_CHECKING(whether or not to look for neXtaw)
1339 AC_ARG_ENABLE(nextaw-check,
1340 [ --enable-nextaw-check If auto-select GUI, check for neXtaw [default=yes]],
1341 , enable_nextaw_check="yes")
1342 AC_MSG_RESULT($enable_nextaw_check);
1343 if test "x$enable_nextaw_check" = "xno"; then
1348 if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
1349 AC_MSG_CHECKING(whether or not to look for Carbon)
1350 AC_ARG_ENABLE(carbon-check,
1351 [ --enable-carbon-check If auto-select GUI, check for Carbon [default=yes]],
1352 , enable_carbon_check="yes")
1353 AC_MSG_RESULT($enable_carbon_check);
1354 if test "x$enable_carbon_check" = "xno"; then
1360 if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
1361 AC_MSG_CHECKING(for Carbon GUI)
1362 dnl already did the check, just give the message
1365 if test "$VIMNAME" = "vim"; then
1369 dnl Default install directory is not /usr/local
1370 if test x$prefix = xNONE; then
1371 prefix=/Applications
1374 dnl Sorry for the hard coded default
1375 datadir='${prefix}/Vim.app/Contents/Resources'
1377 dnl skip everything else
1389 dnl Get the cflags and libraries from the gtk-config script
1392 dnl define an autoconf function to check for a specified version of GTK, and
1393 dnl try to compile/link a GTK program. this gets used once for GTK 1.1.16.
1395 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
1396 dnl Test for GTK, and define GTK_CFLAGS, GTK_LIBDIR and GTK_LIBS
1398 AC_DEFUN(AM_PATH_GTK,
1400 if test "X$GTK_CONFIG" != "Xno" -o "X$PKG_CONFIG" != "Xno"; then
1402 min_gtk_version=ifelse([$1], ,0.99.7,$1)
1403 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
1405 if (test "X$SKIP_GTK2" != "XYES" -a "X$PKG_CONFIG" != "Xno") \
1406 && $PKG_CONFIG --exists gtk+-2.0; then
1408 dnl We should be using PKG_CHECK_MODULES() instead of this hack.
1409 dnl But I guess the dependency on pkgconfig.m4 is not wanted or
1410 dnl something like that.
1411 GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-2.0`
1412 GTK_LIBDIR=`$PKG_CONFIG --libs-only-L gtk+-2.0`
1413 GTK_LIBS=`$PKG_CONFIG --libs gtk+-2.0`
1414 gtk_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1415 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
1416 gtk_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1417 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
1418 gtk_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1419 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
1421 elif test "X$GTK_CONFIG" != "Xno"; then
1423 GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
1425 GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
1426 gtk_major_version=`$GTK_CONFIG $gtk_config_args --version | \
1427 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
1428 gtk_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
1429 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
1430 gtk_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
1431 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
1437 if test "x$enable_gtktest" = "xyes" -a "x$no_gtk" = "x"; then
1439 ac_save_CFLAGS="$CFLAGS"
1440 ac_save_LIBS="$LIBS"
1441 CFLAGS="$CFLAGS $GTK_CFLAGS"
1442 LIBS="$LIBS $GTK_LIBS"
1445 dnl Now check if the installed GTK is sufficiently new. (Also sanity
1446 dnl checks the results of gtk-config to some extent
1450 #include <gtk/gtk.h>
1453 # include <stdlib.h>
1454 # include <stddef.h>
1460 int major, minor, micro;
1463 system ("touch conf.gtktest");
1465 /* HP/UX 9 (%@#!) writes to sscanf strings */
1466 tmp_version = g_strdup("$min_gtk_version");
1467 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
1468 printf("%s, bad version string\n", "$min_gtk_version");
1472 if ((gtk_major_version > major) ||
1473 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
1474 ((gtk_major_version == major) && (gtk_minor_version == minor) &&
1475 (gtk_micro_version >= micro)))
1481 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
1482 CFLAGS="$ac_save_CFLAGS"
1483 LIBS="$ac_save_LIBS"
1486 if test "x$no_gtk" = x ; then
1487 if test "x$enable_gtktest" = "xyes"; then
1488 AC_MSG_RESULT(yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version)
1490 AC_MSG_RESULT(found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version)
1492 ifelse([$2], , :, [$2])
1498 ifelse([$3], , :, [$3])
1505 ifelse([$3], , :, [$3])
1507 AC_SUBST(GTK_CFLAGS)
1512 dnl ---------------------------------------------------------------------------
1514 dnl ---------------------------------------------------------------------------
1515 AC_DEFUN([GNOME_INIT_HOOK],
1517 AC_SUBST(GNOME_LIBS)
1518 AC_SUBST(GNOME_LIBDIR)
1519 AC_SUBST(GNOME_INCLUDEDIR)
1521 AC_ARG_WITH(gnome-includes,
1522 [ --with-gnome-includes=DIR Specify location of GNOME headers],
1523 [CFLAGS="$CFLAGS -I$withval"]
1526 AC_ARG_WITH(gnome-libs,
1527 [ --with-gnome-libs=DIR Specify location of GNOME libs],
1528 [LDFLAGS="$LDFLAGS -L$withval" gnome_prefix=$withval]
1532 [ --with-gnome Specify prefix for GNOME files],
1533 if test x$withval = xyes; then
1535 ifelse([$1], [], :, [$1])
1537 if test "x$withval" = xno; then
1541 LDFLAGS="$LDFLAGS -L$withval/lib"
1542 CFLAGS="$CFLAGS -I$withval/include"
1543 gnome_prefix=$withval/lib
1548 if test "x$want_gnome" = xyes -a "0$gtk_major_version" -ge 2; then
1550 AC_MSG_CHECKING(for libgnomeui-2.0)
1551 if $PKG_CONFIG --exists libgnomeui-2.0; then
1553 GNOME_LIBS=`$PKG_CONFIG --libs-only-l libgnomeui-2.0`
1554 GNOME_LIBDIR=`$PKG_CONFIG --libs-only-L libgnomeui-2.0`
1555 GNOME_INCLUDEDIR=`$PKG_CONFIG --cflags libgnomeui-2.0`
1557 dnl On FreeBSD we need -pthread but pkg-config doesn't include it.
1558 dnl This might not be the right way but it works for me...
1559 AC_MSG_CHECKING(for FreeBSD)
1560 if test "`(uname) 2>/dev/null`" = FreeBSD; then
1561 AC_MSG_RESULT(yes, adding -pthread)
1562 GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR -D_THREAD_SAFE"
1563 GNOME_LIBS="$GNOME_LIBS -pthread"
1569 AC_MSG_RESULT(not found)
1570 if test "x$2" = xfail; then
1571 AC_MSG_ERROR(Could not find libgnomeui-2.0 via pkg-config)
1575 elif test "x$want_gnome" = xyes; then
1577 AC_PATH_PROG(GNOME_CONFIG,gnome-config,no)
1578 if test "$GNOME_CONFIG" = "no"; then
1579 no_gnome_config="yes"
1581 AC_MSG_CHECKING(if $GNOME_CONFIG works)
1582 if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then
1584 GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome gnomeui`"
1585 GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`"
1586 GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba gnomeui`"
1590 no_gnome_config="yes"
1594 if test x$exec_prefix = xNONE; then
1595 if test x$prefix = xNONE; then
1596 gnome_prefix=$ac_default_prefix/lib
1598 gnome_prefix=$prefix/lib
1601 gnome_prefix=`eval echo \`echo $libdir\``
1604 if test "$no_gnome_config" = "yes"; then
1605 AC_MSG_CHECKING(for gnomeConf.sh file in $gnome_prefix)
1606 if test -f $gnome_prefix/gnomeConf.sh; then
1607 AC_MSG_RESULT(found)
1608 echo "loading gnome configuration from" \
1609 "$gnome_prefix/gnomeConf.sh"
1610 . $gnome_prefix/gnomeConf.sh
1613 AC_MSG_RESULT(not found)
1614 if test x$2 = xfail; then
1615 AC_MSG_ERROR(Could not find the gnomeConf.sh file that is generated by gnome-libs install)
1623 AC_DEFUN([GNOME_INIT],[
1624 GNOME_INIT_HOOK([],fail)
1628 dnl ---------------------------------------------------------------------------
1629 dnl Check for GTK. First checks for gtk-config, cause it needs that to get the
1630 dnl correct compiler flags. Then checks for GTK 1.1.16. If that fails, then
1631 dnl it checks for 1.0.6. If both fail, then continue on for Motif as before...
1632 dnl ---------------------------------------------------------------------------
1633 if test -z "$SKIP_GTK"; then
1635 AC_MSG_CHECKING(--with-gtk-prefix argument)
1636 AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)],
1637 gtk_config_prefix="$withval"; AC_MSG_RESULT($gtk_config_prefix),
1638 gtk_config_prefix=""; AC_MSG_RESULT(no))
1640 AC_MSG_CHECKING(--with-gtk-exec-prefix argument)
1641 AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
1642 gtk_config_exec_prefix="$withval"; AC_MSG_RESULT($gtk_config_prefix),
1643 gtk_config_exec_prefix=""; AC_MSG_RESULT(no))
1645 AC_MSG_CHECKING(--disable-gtktest argument)
1646 AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
1647 , enable_gtktest=yes)
1648 if test "x$enable_gtktest" = "xyes" ; then
1649 AC_MSG_RESULT(gtk test enabled)
1651 AC_MSG_RESULT(gtk test disabled)
1654 if test "x$gtk_config_prefix" != "x" ; then
1655 gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
1656 GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
1658 if test "x$gtk_config_exec_prefix" != "x" ; then
1659 gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
1660 GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
1662 if test "X$GTK_CONFIG" = "X"; then
1663 AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
1664 if test "X$GTK_CONFIG" = "Xno"; then
1665 dnl Some distributions call it gtk12-config, annoying!
1666 AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no)
1667 GTK_CONFIG="$GTK12_CONFIG"
1670 AC_MSG_RESULT(Using GTK configuration program $GTK_CONFIG)
1672 if test "X$PKG_CONFIG" = "X"; then
1673 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
1676 if test "x$GTK_CONFIG:$PKG_CONFIG" != "xno:no"; then
1677 dnl First try finding version 2.2.0 or later. The 2.0.x series has
1678 dnl problems (bold fonts, --remote doesn't work).
1679 if test "X$SKIP_GTK2" != "XYES"; then
1681 [GUI_LIB_LOC="$GTK_LIBDIR"
1682 GTK_LIBNAME="$GTK_LIBS"
1683 GUI_INC_LOC="$GTK_CFLAGS"], )
1684 if test "x$GTK_CFLAGS" != "x"; then
1689 AC_SUBST(GTK_LIBNAME)
1693 dnl If there is no 2.2.0 or later try the 1.x.x series. We require at
1694 dnl least GTK 1.1.16. 1.0.6 doesn't work. 1.1.1 to 1.1.15
1695 dnl were test versions.
1696 if test "x$GUITYPE" != "xGTK"; then
1699 [GTK_LIBNAME="$GTK_LIBS"
1700 GUI_INC_LOC="$GTK_CFLAGS"], )
1701 if test "x$GTK_CFLAGS" != "x"; then
1706 AC_SUBST(GTK_LIBNAME)
1710 dnl Give a warning if GTK is older than 1.2.3
1711 if test "x$GUITYPE" = "xGTK"; then
1712 if test "$gtk_major_version" = 1 -a "0$gtk_minor_version" -lt 2 \
1713 -o "$gtk_major_version" = 1 -a "$gtk_minor_version" = 2 -a "0$gtk_micro_version" -lt 3; then
1714 AC_MSG_RESULT(this GTK version is old; version 1.2.3 or later is recommended)
1717 if test "0$gtk_major_version" -ge 2; then
1718 AC_DEFINE(HAVE_GTK2)
1719 if test "$gtk_minor_version" = 1 -a "0$gtk_micro_version" -ge 1 \
1720 || test "0$gtk_minor_version" -ge 2 \
1721 || test "0$gtk_major_version" -gt 2; then
1722 AC_DEFINE(HAVE_GTK_MULTIHEAD)
1726 dnl if GTK exists, and it's not the 1.0.x series, then check for GNOME.
1728 if test -z "$SKIP_GNOME"; then
1730 GNOME_INIT_HOOK([have_gnome=yes])
1731 if test x$have_gnome = xyes ; then
1732 AC_DEFINE(FEAT_GUI_GNOME)
1733 GUI_INC_LOC="$GUI_INC_LOC $GNOME_INCLUDEDIR"
1734 GTK_LIBNAME="$GTK_LIBNAME $GNOME_LIBDIR $GNOME_LIBS"
1743 dnl Check for Motif include files location.
1744 dnl The LAST one found is used, this makes the highest version to be used,
1745 dnl e.g. when Motif1.2 and Motif2.0 are both present.
1747 if test -z "$SKIP_MOTIF"; then
1748 gui_XXX="/usr/XXX/Motif* /usr/Motif*/XXX /usr/XXX /usr/shlib /usr/X11*/XXX /usr/XXX/X11* /usr/dt/XXX /local/Motif*/XXX /local/XXX/Motif* /usr/local/Motif*/XXX /usr/local/XXX/Motif* /usr/local/XXX /usr/local/X11*/XXX /usr/local/LessTif/Motif*/XXX $MOTIFHOME/XXX"
1749 dnl Remove "-I" from before $GUI_INC_LOC if it's there
1750 GUI_INC_LOC="`echo $GUI_INC_LOC|sed 's%-I%%g'`"
1752 AC_MSG_CHECKING(for location of Motif GUI includes)
1753 gui_includes="`echo $x_includes|sed 's%/[^/][^/]*$%%'` `echo "$gui_XXX" | sed s/XXX/include/g` $GUI_INC_LOC"
1755 for try in $gui_includes; do
1756 if test -f "$try/Xm/Xm.h"; then
1760 if test -n "$GUI_INC_LOC"; then
1761 if test "$GUI_INC_LOC" = /usr/include; then
1763 AC_MSG_RESULT(in default path)
1765 AC_MSG_RESULT($GUI_INC_LOC)
1768 AC_MSG_RESULT(<not found>)
1773 dnl Check for Motif library files location. In the same order as the include
1774 dnl files, to avoid a mixup if several versions are present
1776 if test -z "$SKIP_MOTIF"; then
1777 AC_MSG_CHECKING(--with-motif-lib argument)
1778 AC_ARG_WITH(motif-lib,
1779 [ --with-motif-lib=STRING Library for Motif ],
1780 [ MOTIF_LIBNAME="${withval}" ] )
1782 if test -n "$MOTIF_LIBNAME"; then
1783 AC_MSG_RESULT($MOTIF_LIBNAME)
1788 dnl Remove "-L" from before $GUI_LIB_LOC if it's there
1789 GUI_LIB_LOC="`echo $GUI_LIB_LOC|sed 's%-L%%g'`"
1791 AC_MSG_CHECKING(for location of Motif GUI libs)
1792 gui_libs="`echo $x_libraries|sed 's%/[^/][^/]*$%%'` `echo "$gui_XXX" | sed s/XXX/lib/g` `echo "$GUI_INC_LOC" | sed s/include/lib/` $GUI_LIB_LOC"
1794 for try in $gui_libs; do
1795 for libtry in "$try"/libXm.a "$try"/libXm.so* "$try"/libXm.sl "$try"/libXm.dylib; do
1796 if test -f "$libtry"; then
1801 if test -n "$GUI_LIB_LOC"; then
1802 dnl Remove /usr/lib, it causes trouble on some systems
1803 if test "$GUI_LIB_LOC" = /usr/lib; then
1805 AC_MSG_RESULT(in default path)
1807 if test -n "$GUI_LIB_LOC"; then
1808 AC_MSG_RESULT($GUI_LIB_LOC)
1809 if test "`(uname) 2>/dev/null`" = SunOS &&
1810 uname -r | grep '^5' >/dev/null; then
1811 GUI_LIB_LOC="$GUI_LIB_LOC -R $GUI_LIB_LOC"
1817 AC_MSG_RESULT(<not found>)
1823 if test -z "$SKIP_MOTIF"; then
1827 AC_SUBST(MOTIF_LIBNAME)
1830 dnl Check if the Athena files can be found
1834 if test -z "$SKIP_ATHENA"; then
1835 AC_MSG_CHECKING(if Athena header files can be found)
1837 CFLAGS="$CFLAGS $X_CFLAGS"
1839 #include <X11/Intrinsic.h>
1840 #include <X11/Xaw/Paned.h>], ,
1842 AC_MSG_RESULT(no); SKIP_ATHENA=YES )
1846 if test -z "$SKIP_ATHENA"; then
1850 if test -z "$SKIP_NEXTAW"; then
1851 AC_MSG_CHECKING(if neXtaw header files can be found)
1853 CFLAGS="$CFLAGS $X_CFLAGS"
1855 #include <X11/Intrinsic.h>
1856 #include <X11/neXtaw/Paned.h>], ,
1858 AC_MSG_RESULT(no); SKIP_NEXTAW=YES )
1862 if test -z "$SKIP_NEXTAW"; then
1866 if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
1867 dnl Prepend -I and -L to $GUI_INC_LOC and $GUI_LIB_LOC if not empty
1868 dnl Avoid adding it when it twice
1869 if test -n "$GUI_INC_LOC"; then
1870 GUI_INC_LOC=-I"`echo $GUI_INC_LOC|sed 's%-I%%'`"
1872 if test -n "$GUI_LIB_LOC"; then
1873 GUI_LIB_LOC=-L"`echo $GUI_LIB_LOC|sed 's%-L%%'`"
1876 dnl Check for -lXext and then for -lXmu
1877 ldflags_save=$LDFLAGS
1878 LDFLAGS="$X_LIBS $LDFLAGS"
1879 AC_CHECK_LIB(Xext, XShapeQueryExtension, [GUI_X_LIBS="-lXext"],,
1880 [-lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
1881 dnl For Solaris we need -lw and -ldl before linking with -lXmu works.
1882 AC_CHECK_LIB(w, wslen, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lw"],,
1883 [$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
1884 AC_CHECK_LIB(dl, dlsym, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldl"],,
1885 [$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
1886 AC_CHECK_LIB(Xmu, XmuCreateStippledPixmap, [GUI_X_LIBS="-lXmu $GUI_X_LIBS"],,
1887 [$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
1888 if test -z "$SKIP_MOTIF"; then
1889 AC_CHECK_LIB(Xp, XpEndJob, [GUI_X_LIBS="-lXp $GUI_X_LIBS"],,
1890 [$GUI_X_LIBS -lXm -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
1892 LDFLAGS=$ldflags_save
1894 dnl Execute xmkmf to figure out if -DNARROWPROTO is needed.
1895 AC_MSG_CHECKING(for extra X11 defines)
1898 if mkdir conftestdir; then
1900 cat > Imakefile <<'EOF'
1902 @echo 'NARROW_PROTO="${PROTO_DEFINES}"'
1904 if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
1905 eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
1910 if test -z "$NARROW_PROTO"; then
1913 AC_MSG_RESULT($NARROW_PROTO)
1915 AC_SUBST(NARROW_PROTO)
1918 dnl Look for XSMP support - but don't necessarily restrict it to X11 GUIs
1919 dnl use the X11 include path
1920 if test "$enable_xsmp" = "yes"; then
1921 cppflags_save=$CPPFLAGS
1922 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1923 AC_CHECK_HEADERS(X11/SM/SMlib.h)
1924 CPPFLAGS=$cppflags_save
1928 if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF" -o -z "$SKIP_GTK"; then
1929 dnl Check for X11/xpm.h and X11/Sunkeysym.h with the GUI include path
1930 cppflags_save=$CPPFLAGS
1931 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1932 AC_CHECK_HEADERS(X11/xpm.h X11/Sunkeysym.h)
1934 dnl automatically disable XIM when XIMtext isn't in X11/Xlib.h
1935 if test ! "$enable_xim" = "no"; then
1936 AC_MSG_CHECKING(for XIMText in X11/Xlib.h)
1937 AC_EGREP_CPP(XIMText, [#include <X11/Xlib.h>],
1939 AC_MSG_RESULT(no; xim has been disabled); enable_xim = "no")
1941 CPPFLAGS=$cppflags_save
1943 dnl automatically enable XIM when hangul input isn't enabled
1944 if test "$enable_xim" = "auto" -a "$enable_hangulinput" != "yes" \
1945 -a "x$GUITYPE" != "xNONE" ; then
1946 AC_MSG_RESULT(X GUI selected; xim has been enabled)
1951 if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
1952 cppflags_save=$CPPFLAGS
1953 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1954 dnl Xmu/Editres.h may exist but can only be used after including Intrinsic.h
1955 AC_MSG_CHECKING([for X11/Xmu/Editres.h])
1957 #include <X11/Intrinsic.h>
1958 #include <X11/Xmu/Editres.h>],
1961 AC_DEFINE(HAVE_X11_XMU_EDITRES_H),
1963 CPPFLAGS=$cppflags_save
1966 dnl Only use the Xm directory when compiling Motif, don't use it for Athena
1967 if test -z "$SKIP_MOTIF"; then
1968 cppflags_save=$CPPFLAGS
1969 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1970 AC_CHECK_HEADERS(Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
1971 Xm/UnhighlightT.h Xm/Notebook.h)
1973 if test $ac_cv_header_Xm_XpmP_h = yes; then
1974 dnl Solaris uses XpmAttributes_21, very annoying.
1975 AC_MSG_CHECKING([for XpmAttributes_21 in Xm/XpmP.h])
1976 AC_TRY_COMPILE([#include <Xm/XpmP.h>], [XpmAttributes_21 attr;],
1977 AC_MSG_RESULT(yes); AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes_21),
1978 AC_MSG_RESULT(no); AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes)
1981 AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes)
1983 CPPFLAGS=$cppflags_save
1986 if test "x$GUITYPE" = "xNONE" -a "$enable_xim" = "yes"; then
1987 AC_MSG_RESULT(no GUI selected; xim has been disabled)
1990 if test "x$GUITYPE" = "xNONE" -a "$enable_fontset" = "yes"; then
1991 AC_MSG_RESULT(no GUI selected; fontset has been disabled)
1994 if test "x$GUITYPE:$enable_fontset" = "xGTK:yes" -a "0$gtk_major_version" -ge 2; then
1995 AC_MSG_RESULT(GTK+ 2 GUI selected; fontset has been disabled)
1999 if test -z "$SKIP_PHOTON"; then
2003 AC_SUBST(GUI_INC_LOC)
2004 AC_SUBST(GUI_LIB_LOC)
2006 AC_SUBST(GUI_X_LIBS)
2008 if test "$enable_workshop" = "yes" -a -n "$SKIP_MOTIF"; then
2009 AC_MSG_ERROR([cannot use workshop without Motif])
2012 dnl defining FEAT_XIM and FEAT_XFONTSET is delayed, so that they can be disabled
2013 if test "$enable_xim" = "yes"; then
2016 if test "$enable_fontset" = "yes"; then
2017 AC_DEFINE(FEAT_XFONTSET)
2021 dnl ---------------------------------------------------------------------------
2022 dnl end of GUI-checking
2023 dnl ---------------------------------------------------------------------------
2026 dnl Only really enable hangul input when GUI and XFONTSET are available
2027 if test "$enable_hangulinput" = "yes"; then
2028 if test "x$GUITYPE" = "xNONE"; then
2029 AC_MSG_RESULT(no GUI selected; hangul input has been disabled)
2030 enable_hangulinput=no
2032 AC_DEFINE(FEAT_HANGULIN)
2033 HANGULIN_SRC=hangulin.c
2034 AC_SUBST(HANGULIN_SRC)
2035 HANGULIN_OBJ=objects/hangulin.o
2036 AC_SUBST(HANGULIN_OBJ)
2040 dnl Checks for libraries and include files.
2042 AC_CACHE_CHECK([whether toupper is broken], [vim_cv_toupper_broken],
2045 #include "confdefs.h"
2048 # include <stdlib.h>
2049 # include <stddef.h>
2051 main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }
2053 vim_cv_toupper_broken=yes
2055 vim_cv_toupper_broken=no
2057 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_toupper_broken')
2060 if test "x$vim_cv_toupper_broken" = "xyes" ; then
2061 AC_DEFINE(BROKEN_TOUPPER)
2064 AC_MSG_CHECKING(whether __DATE__ and __TIME__ work)
2065 AC_TRY_COMPILE([#include <stdio.h>], [printf("(" __DATE__ " " __TIME__ ")");],
2066 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_DATE_TIME),
2069 dnl Checks for header files.
2070 AC_CHECK_HEADER(elf.h, HAS_ELF=1)
2071 dnl AC_CHECK_HEADER(dwarf.h, SVR4=1)
2072 if test "$HAS_ELF" = 1; then
2073 AC_CHECK_LIB(elf, main)
2078 dnl If sys/wait.h is not found it might still exist but not be POSIX
2079 dnl compliant. In that case we define HAVE_UNION_WAIT (for NeXT)
2080 if test $ac_cv_header_sys_wait_h = no; then
2081 AC_MSG_CHECKING([for sys/wait.h that defines union wait])
2082 AC_TRY_COMPILE([#include <sys/wait.h>],
2083 [union wait xx, yy; xx = yy],
2085 AC_DEFINE(HAVE_SYS_WAIT_H)
2086 AC_DEFINE(HAVE_UNION_WAIT),
2090 AC_CHECK_HEADERS(stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
2091 termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h sys/types.h termio.h \
2092 iconv.h langinfo.h math.h unistd.h stropts.h errno.h \
2093 sys/resource.h sys/systeminfo.h locale.h \
2094 sys/stream.h termios.h libc.h sys/statfs.h \
2095 poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
2096 libgen.h util/debug.h util/msg18n.h frame.h \
2097 sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h wchar.h wctype.h)
2099 dnl sys/ptem.h depends on sys/stream.h on Solaris
2100 AC_CHECK_HEADERS(sys/ptem.h, [], [],
2101 [#if defined HAVE_SYS_STREAM_H
2102 # include <sys/stream.h>
2106 dnl pthread_np.h may exist but can only be used after including pthread.h
2107 AC_MSG_CHECKING([for pthread_np.h])
2109 #include <pthread.h>
2110 #include <pthread_np.h>],
2113 AC_DEFINE(HAVE_PTHREAD_NP_H),
2116 AC_CHECK_HEADERS(strings.h)
2117 if test "x$MACOSX" = "xyes"; then
2118 dnl The strings.h file on OS/X contains a warning and nothing useful.
2119 AC_DEFINE(NO_STRINGS_WITH_STRING_H)
2122 dnl Check if strings.h and string.h can both be included when defined.
2123 AC_MSG_CHECKING([if strings.h can be included after string.h])
2124 cppflags_save=$CPPFLAGS
2125 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2127 #if defined(_AIX) && !defined(_AIX51) && !defined(_NO_PROTO)
2128 # define _NO_PROTO /* like in os_unix.h, causes conflict for AIX (Winn) */
2129 /* but don't do it on AIX 5.1 (Uribarri) */
2132 # include <Xm/Xm.h> /* This breaks it for HP-UX 11 (Squassabia) */
2134 #ifdef HAVE_STRING_H
2135 # include <string.h>
2137 #if defined(HAVE_STRINGS_H)
2138 # include <strings.h>
2142 AC_DEFINE(NO_STRINGS_WITH_STRING_H)
2144 CPPFLAGS=$cppflags_save
2147 dnl Checks for typedefs, structures, and compiler characteristics.
2148 AC_PROG_GCC_TRADITIONAL
2156 AC_CHECK_TYPE(ino_t, long)
2157 AC_CHECK_TYPE(dev_t, unsigned)
2159 AC_MSG_CHECKING(for rlim_t)
2160 if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then
2161 AC_MSG_RESULT([(cached) $ac_cv_type_rlim_t])
2164 changequote(<<,>>)dnl
2165 <<(^|[^a-zA-Z_0-9])rlim_t[^a-zA-Z_0-9]>>dnl
2168 #include <sys/types.h>
2170 # include <stdlib.h>
2171 # include <stddef.h>
2173 #ifdef HAVE_SYS_RESOURCE_H
2174 # include <sys/resource.h>
2176 ], ac_cv_type_rlim_t=yes, ac_cv_type_rlim_t=no)
2177 AC_MSG_RESULT($ac_cv_type_rlim_t)
2179 if test $ac_cv_type_rlim_t = no; then
2180 cat >> confdefs.h <<\EOF
2181 #define rlim_t unsigned long
2185 AC_MSG_CHECKING(for stack_t)
2186 if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then
2187 AC_MSG_RESULT([(cached) $ac_cv_type_stack_t])
2189 AC_EGREP_CPP(stack_t,
2191 #include <sys/types.h>
2193 # include <stdlib.h>
2194 # include <stddef.h>
2197 ], ac_cv_type_stack_t=yes, ac_cv_type_stack_t=no)
2198 AC_MSG_RESULT($ac_cv_type_stack_t)
2200 if test $ac_cv_type_stack_t = no; then
2201 cat >> confdefs.h <<\EOF
2202 #define stack_t struct sigaltstack
2206 dnl BSDI uses ss_base while others use ss_sp for the stack pointer.
2207 AC_MSG_CHECKING(whether stack_t has an ss_base field)
2209 #include <sys/types.h>
2211 # include <stdlib.h>
2212 # include <stddef.h>
2215 #include "confdefs.h"
2216 ], [stack_t sigstk; sigstk.ss_base = 0; ],
2217 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SS_BASE),
2221 AC_MSG_CHECKING(--with-tlib argument)
2222 AC_ARG_WITH(tlib, [ --with-tlib=library terminal library to be used ],)
2223 if test -n "$with_tlib"; then
2224 AC_MSG_RESULT($with_tlib)
2225 LIBS="$LIBS -l$with_tlib"
2226 AC_MSG_CHECKING(for linking with $with_tlib library)
2227 AC_TRY_LINK([], [], AC_MSG_RESULT(OK), AC_MSG_ERROR(FAILED))
2228 dnl Need to check for tgetent() below.
2231 AC_MSG_RESULT([empty: automatic terminal library selection])
2232 dnl On HP-UX 10.10 termcap or termlib should be used instead of
2233 dnl curses, because curses is much slower.
2234 dnl Newer versions of ncurses are preferred over anything.
2235 dnl Older versions of ncurses have bugs, get a new one!
2236 dnl Digital Unix (OSF1) should use curses (Ronald Schild).
2237 dnl On SCO Openserver should prefer termlib (Roger Cornelius).
2238 case "`uname -s 2>/dev/null`" in
2239 OSF1|SCO_SV) tlibs="ncurses curses termlib termcap";;
2240 *) tlibs="ncurses termlib termcap curses";;
2242 for libname in $tlibs; do
2243 AC_CHECK_LIB(${libname}, tgetent,,)
2244 if test "x$olibs" != "x$LIBS"; then
2245 dnl It's possible that a library is found but it doesn't work
2246 dnl e.g., shared library that cannot be found
2247 dnl compile and run a test program to be sure
2249 #ifdef HAVE_TERMCAP_H
2250 # include <termcap.h>
2253 # include <stdlib.h>
2254 # include <stddef.h>
2256 main() {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(0); }],
2257 res="OK", res="FAIL", res="FAIL")
2258 if test "$res" = "OK"; then
2261 AC_MSG_RESULT($libname library is not usable)
2265 if test "x$olibs" = "x$LIBS"; then
2266 AC_MSG_RESULT(no terminal library found)
2270 if test "x$olibs" = "x$LIBS"; then
2271 AC_MSG_CHECKING([for tgetent()])
2273 [char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist");],
2275 AC_MSG_ERROR([NOT FOUND!
2276 You need to install a terminal library; for example ncurses.
2277 Or specify the name of the library with --with-tlib.]))
2280 AC_CACHE_CHECK([whether we talk terminfo], [vim_cv_terminfo],
2283 #include "confdefs.h"
2284 #ifdef HAVE_TERMCAP_H
2285 # include <termcap.h>
2287 #ifdef HAVE_STRING_H
2288 # include <string.h>
2291 # include <stdlib.h>
2292 # include <stddef.h>
2295 {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }
2301 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_terminfo')
2305 if test "x$vim_cv_terminfo" = "xyes" ; then
2309 if test "x$olibs" != "x$LIBS"; then
2310 AC_CACHE_CHECK([what tgetent() returns for an unknown terminal], [vim_cv_tgent],
2313 #include "confdefs.h"
2314 #ifdef HAVE_TERMCAP_H
2315 # include <termcap.h>
2318 # include <stdlib.h>
2319 # include <stddef.h>
2322 {char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); }
2326 vim_cv_tgent=non-zero
2328 AC_MSG_ERROR(failed to compile test program.)
2332 if test "x$vim_cv_tgent" = "xzero" ; then
2333 AC_DEFINE(TGETENT_ZERO_ERR, 0)
2337 AC_MSG_CHECKING(whether termcap.h contains ospeed)
2339 #ifdef HAVE_TERMCAP_H
2340 # include <termcap.h>
2342 ], [ospeed = 20000],
2343 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_OSPEED),
2345 AC_MSG_CHECKING(whether ospeed can be extern)
2347 #ifdef HAVE_TERMCAP_H
2348 # include <termcap.h>
2350 extern short ospeed;
2351 ], [ospeed = 20000],
2352 AC_MSG_RESULT(yes); AC_DEFINE(OSPEED_EXTERN),
2356 AC_MSG_CHECKING([whether termcap.h contains UP, BC and PC])
2358 #ifdef HAVE_TERMCAP_H
2359 # include <termcap.h>
2361 ], [if (UP == 0 && BC == 0) PC = 1],
2362 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_UP_BC_PC),
2364 AC_MSG_CHECKING([whether UP, BC and PC can be extern])
2366 #ifdef HAVE_TERMCAP_H
2367 # include <termcap.h>
2369 extern char *UP, *BC, PC;
2370 ], [if (UP == 0 && BC == 0) PC = 1],
2371 AC_MSG_RESULT(yes); AC_DEFINE(UP_BC_PC_EXTERN),
2375 AC_MSG_CHECKING(whether tputs() uses outfuntype)
2377 #ifdef HAVE_TERMCAP_H
2378 # include <termcap.h>
2380 ], [extern int xx(); tputs("test", 1, (outfuntype)xx)],
2381 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_OUTFUNTYPE),
2384 dnl On some SCO machines sys/select redefines struct timeval
2385 AC_MSG_CHECKING([whether sys/select.h and sys/time.h may both be included])
2387 #include <sys/types.h>
2388 #include <sys/time.h>
2389 #include <sys/select.h>], ,
2391 AC_DEFINE(SYS_SELECT_WITH_SYS_TIME),
2394 dnl AC_DECL_SYS_SIGLIST
2396 dnl Checks for pty.c (copied from screen) ==========================
2397 AC_MSG_CHECKING(for /dev/ptc)
2398 if test -r /dev/ptc; then
2399 AC_DEFINE(HAVE_DEV_PTC)
2405 AC_MSG_CHECKING(for SVR4 ptys)
2406 if test -c /dev/ptmx ; then
2407 AC_TRY_LINK([], [ptsname(0);grantpt(0);unlockpt(0);],
2408 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SVR4_PTYS),
2414 AC_MSG_CHECKING(for ptyranges)
2415 if test -d /dev/ptym ; then
2425 ], ptys=`echo /dev/ptyp??`, ptys=`echo $pdir/pty??`)
2426 dnl if test -c /dev/ptyp19; then
2427 dnl ptys=`echo /dev/ptyp??`
2429 dnl ptys=`echo $pdir/pty??`
2431 if test "$ptys" != "$pdir/pty??" ; then
2432 p0=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'`
2433 p1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'`
2434 AC_DEFINE_UNQUOTED(PTYRANGE0,"$p0")
2435 AC_DEFINE_UNQUOTED(PTYRANGE1,"$p1")
2436 AC_MSG_RESULT([$p0 / $p1])
2438 AC_MSG_RESULT([don't know])
2441 dnl **** pty mode/group handling ****
2443 dnl support provided by Luke Mewburn <lm@rmit.edu.au>, 931222
2445 AC_CACHE_CHECK([default tty permissions/group], [vim_cv_tty_group],
2448 #include "confdefs.h"
2449 #include <sys/types.h>
2451 # include <stdlib.h>
2452 # include <stddef.h>
2454 #ifdef HAVE_UNISTD_H
2457 #include <sys/stat.h>
2466 if (!(x = ttyname(0))) exit(1);
2467 if (stat(x, &sb)) exit(1);
2469 if (om & 002) exit(0);
2470 m = system("mesg y");
2471 if (m == -1 || m == 127) exit(1);
2472 if (stat(x, &sb)) exit(1);
2474 if (chmod(x, om)) exit(1);
2475 if (m & 002) exit(0);
2476 if (sb.st_gid == getgid()) exit(1);
2477 if (!(fp=fopen("conftest_grp", "w")))
2479 fprintf(fp, "%d\n", sb.st_gid);
2484 if test -f conftest_grp; then
2485 vim_cv_tty_group=`cat conftest_grp`
2486 if test "x$vim_cv_tty_mode" = "x" ; then
2487 vim_cv_tty_mode=0620
2489 AC_MSG_RESULT([pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group])
2491 vim_cv_tty_group=world
2492 AC_MSG_RESULT([ptys are world accessable])
2495 vim_cv_tty_group=world
2496 AC_MSG_RESULT([can't determine - assume ptys are world accessable])
2498 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode')
2503 if test "x$vim_cv_tty_group" != "xworld" ; then
2504 AC_DEFINE_UNQUOTED(PTYGROUP,$vim_cv_tty_group)
2505 if test "x$vim_cv_tty_mode" = "x" ; then
2506 AC_MSG_ERROR([It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (propably 0620)])
2508 AC_DEFINE(PTYMODE, 0620)
2512 dnl Checks for library functions. ===================================
2516 dnl find out what to use at the end of a signal function
2517 if test $ac_cv_type_signal = void; then
2518 AC_DEFINE(SIGRETURN, [return])
2520 AC_DEFINE(SIGRETURN, [return 0])
2523 dnl check if struct sigcontext is defined (used for SGI only)
2524 AC_MSG_CHECKING(for struct sigcontext)
2529 struct sigcontext *scont;
2530 scont = (struct sigcontext *)0;
2534 AC_DEFINE(HAVE_SIGCONTEXT),
2537 dnl tricky stuff: try to find out if getcwd() is implemented with
2538 dnl system("sh -c pwd")
2539 AC_CACHE_CHECK([getcwd implementation is broken], [vim_cv_getcwd_broken],
2542 #include "confdefs.h"
2543 #ifdef HAVE_UNISTD_H
2546 char *dagger[] = { "IFS=pwd", 0 };
2550 extern char **environ;
2552 return getcwd(buffer, 500) ? 0 : 1;
2555 vim_cv_getcwd_broken=no
2557 vim_cv_getcwd_broken=yes
2559 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_getcwd_broken')
2563 if test "x$vim_cv_getcwd_broken" = "xyes" ; then
2564 AC_DEFINE(BAD_GETCWD)
2567 dnl Check for functions in one big call, to reduce the size of configure
2568 AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
2569 getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
2570 memset nanosleep opendir putenv qsort readlink select setenv \
2571 setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
2572 sigvec strcasecmp strerror strftime stricmp strncasecmp \
2573 strnicmp strpbrk strtol tgetent towlower towupper iswupper \
2574 usleep utime utimes)
2576 dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible
2577 AC_MSG_CHECKING(for st_blksize)
2579 [#include <sys/types.h>
2580 #include <sys/stat.h>],
2585 n = (int)st.st_blksize;],
2586 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ST_BLKSIZE),
2589 AC_CACHE_CHECK([whether stat() ignores a trailing slash], [vim_cv_stat_ignores_slash],
2592 #include "confdefs.h"
2594 # include <stdlib.h>
2595 # include <stddef.h>
2597 #include <sys/types.h>
2598 #include <sys/stat.h>
2599 main() {struct stat st; exit(stat("configure/", &st) != 0); }
2601 vim_cv_stat_ignores_slash=yes
2603 vim_cv_stat_ignores_slash=no
2605 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_stat_ignores_slash')
2609 if test "x$vim_cv_stat_ignores_slash" = "xyes" ; then
2610 AC_DEFINE(STAT_IGNORES_SLASH)
2613 dnl Link with iconv for charset translation, if not found without library.
2614 dnl check for iconv() requires including iconv.h
2615 dnl Add "-liconv" when possible; Solaris has iconv but use GNU iconv when it
2616 dnl has been installed.
2617 AC_MSG_CHECKING(for iconv_open())
2619 LIBS="$LIBS -liconv"
2624 ], [iconv_open("fr", "to");],
2625 AC_MSG_RESULT(yes; with -liconv); AC_DEFINE(HAVE_ICONV),
2631 ], [iconv_open("fr", "to");],
2632 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ICONV),
2636 AC_MSG_CHECKING(for nl_langinfo(CODESET))
2638 #ifdef HAVE_LANGINFO_H
2639 # include <langinfo.h>
2641 ], [char *cs = nl_langinfo(CODESET);],
2642 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_NL_LANGINFO_CODESET),
2645 dnl Need various functions for floating point support. Only enable
2646 dnl floating point when they are all present.
2647 AC_CHECK_LIB(m, strtod)
2648 AC_MSG_CHECKING([for strtod() and other floating point functions])
2654 # include <stdlib.h>
2655 # include <stddef.h>
2657 ], [char *s; double d;
2658 d = strtod("1.1", &s);
2663 d = pow(1.11, 2.22);
2669 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FLOAT_FUNCS),
2672 dnl Link with -lposix1e for ACL stuff; if not found, try -lacl for SGI
2673 dnl when -lacl works, also try to use -lattr (required for Debian).
2674 AC_MSG_CHECKING(--disable-acl argument)
2676 [ --disable-acl Don't check for ACL support.],
2677 , [enable_acl="yes"])
2678 if test "$enable_acl" = "yes"; then
2680 AC_CHECK_LIB(posix1e, acl_get_file, [LIBS="$LIBS -lposix1e"],
2681 AC_CHECK_LIB(acl, acl_get_file, [LIBS="$LIBS -lacl"
2682 AC_CHECK_LIB(attr, fgetxattr, LIBS="$LIBS -lattr",,)],,),)
2684 AC_MSG_CHECKING(for POSIX ACL support)
2686 #include <sys/types.h>
2687 #ifdef HAVE_SYS_ACL_H
2688 # include <sys/acl.h>
2690 acl_t acl;], [acl = acl_get_file("foo", ACL_TYPE_ACCESS);
2691 acl_set_file("foo", ACL_TYPE_ACCESS, acl);
2693 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_POSIX_ACL),
2696 AC_MSG_CHECKING(for Solaris ACL support)
2698 #ifdef HAVE_SYS_ACL_H
2699 # include <sys/acl.h>
2700 #endif], [acl("foo", GETACLCNT, 0, NULL);
2702 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOLARIS_ACL),
2705 AC_MSG_CHECKING(for AIX ACL support)
2708 # include <stdlib.h>
2709 # include <stddef.h>
2711 #ifdef HAVE_SYS_ACL_H
2712 # include <sys/acl.h>
2714 #ifdef HAVE_SYS_ACCESS_H
2715 # include <sys/access.h>
2719 #include <sys/stat.h>
2722 struct acl *aclent;], [aclsize = sizeof(struct acl);
2723 aclent = (void *)malloc(aclsize);
2724 statacl("foo", STX_NORMAL, aclent, aclsize);
2726 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_AIX_ACL),
2732 AC_MSG_CHECKING(--disable-gpm argument)
2734 [ --disable-gpm Don't use gpm (Linux mouse daemon).], ,
2737 if test "$enable_gpm" = "yes"; then
2739 dnl Checking if gpm support can be compiled
2740 AC_CACHE_CHECK([for gpm], vi_cv_have_gpm,
2741 [olibs="$LIBS" ; LIBS="-lgpm"]
2744 #include <linux/keyboard.h>],
2745 [Gpm_GetLibVersion(NULL);],
2746 dnl Configure defines HAVE_GPM, if it is defined feature.h defines
2747 dnl FEAT_MOUSE_GPM if mouse support is included
2748 [vi_cv_have_gpm=yes],
2749 [vi_cv_have_gpm=no])
2752 if test $vi_cv_have_gpm = yes; then
2760 AC_MSG_CHECKING(--disable-sysmouse argument)
2761 AC_ARG_ENABLE(sysmouse,
2762 [ --disable-sysmouse Don't use sysmouse (mouse in *BSD console).], ,
2763 [enable_sysmouse="yes"])
2765 if test "$enable_sysmouse" = "yes"; then
2767 dnl Checking if sysmouse support can be compiled
2768 dnl Configure defines HAVE_SYSMOUSE, if it is defined feature.h
2769 dnl defines FEAT_SYSMOUSE if mouse support is included
2770 AC_CACHE_CHECK([for sysmouse], vi_cv_have_sysmouse,
2772 [#include <sys/consio.h>
2774 #include <sys/fbio.h>],
2775 [struct mouse_info mouse;
2776 mouse.operation = MOUSE_MODE;
2777 mouse.operation = MOUSE_SHOW;
2778 mouse.u.mode.mode = 0;
2779 mouse.u.mode.signal = SIGUSR2;],
2780 [vi_cv_have_sysmouse=yes],
2781 [vi_cv_have_sysmouse=no])
2783 if test $vi_cv_have_sysmouse = yes; then
2784 AC_DEFINE(HAVE_SYSMOUSE)
2790 dnl rename needs to be checked separately to work on Nextstep with cc
2791 AC_MSG_CHECKING(for rename)
2792 AC_TRY_LINK([#include <stdio.h>], [rename("this", "that")],
2793 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_RENAME),
2796 dnl sysctl() may exist but not the arguments we use
2797 AC_MSG_CHECKING(for sysctl)
2799 [#include <sys/types.h>
2800 #include <sys/sysctl.h>],
2805 mib[1] = HW_USERMEM;
2807 (void)sysctl(mib, 2, &r, &len, (void *)0, (size_t)0);
2809 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSCTL),
2810 AC_MSG_RESULT(not usable))
2812 dnl sysinfo() may exist but not be Linux compatible
2813 AC_MSG_CHECKING(for sysinfo)
2815 [#include <sys/types.h>
2816 #include <sys/sysinfo.h>],
2817 [ struct sysinfo sinfo;
2820 (void)sysinfo(&sinfo);
2823 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSINFO),
2824 AC_MSG_RESULT(not usable))
2826 dnl struct sysinfo may have the mem_unit field or not
2827 AC_MSG_CHECKING(for sysinfo.mem_unit)
2829 [#include <sys/types.h>
2830 #include <sys/sysinfo.h>],
2831 [ struct sysinfo sinfo;
2834 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSINFO_MEM_UNIT),
2837 dnl sysconf() may exist but not support what we want to use
2838 AC_MSG_CHECKING(for sysconf)
2840 [#include <unistd.h>],
2841 [ (void)sysconf(_SC_PAGESIZE);
2842 (void)sysconf(_SC_PHYS_PAGES);
2844 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSCONF),
2845 AC_MSG_RESULT(not usable))
2847 dnl Our own version of AC_CHECK_SIZEOF(int); fixes a bug when sizeof() can't
2848 dnl be printed with "%d", and avoids a warning for cross-compiling.
2850 AC_MSG_CHECKING(size of int)
2851 AC_CACHE_VAL(ac_cv_sizeof_int,
2855 # include <stdlib.h>
2856 # include <stddef.h>
2860 FILE *f=fopen("conftestval", "w");
2862 fprintf(f, "%d\n", (int)sizeof(int));
2865 ac_cv_sizeof_int=`cat conftestval`,
2867 AC_MSG_ERROR(failed to compile test program))])
2868 AC_MSG_RESULT($ac_cv_sizeof_int)
2869 AC_DEFINE_UNQUOTED(SIZEOF_INT, $ac_cv_sizeof_int)
2872 dnl Check for memmove() before bcopy(), makes memmove() be used when both are
2873 dnl present, fixes problem with incompatibility between Solaris 2.4 and 2.5.
2876 #include "confdefs.h"
2877 #ifdef HAVE_STRING_H
2878 # include <string.h>
2881 # include <stdlib.h>
2882 # include <stddef.h>
2886 strcpy(buf, "abcdefghi");
2887 mch_memmove(buf, buf + 2, 3);
2888 if (strncmp(buf, "ababcf", 6))
2890 strcpy(buf, "abcdefghi");
2891 mch_memmove(buf + 2, buf, 3);
2892 if (strncmp(buf, "cdedef", 6))
2894 exit(0); /* libc version works properly. */
2897 AC_CACHE_CHECK([whether memmove handles overlaps],[vim_cv_memmove_handles_overlap],
2899 AC_RUN_IFELSE([[#define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog]],
2901 vim_cv_memmove_handles_overlap=yes
2903 vim_cv_memmove_handles_overlap=no
2905 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_memmove_handles_overlap')
2909 if test "x$vim_cv_memmove_handles_overlap" = "xyes" ; then
2910 AC_DEFINE(USEMEMMOVE)
2912 AC_CACHE_CHECK([whether bcopy handles overlaps],[vim_cv_bcopy_handles_overlap],
2914 AC_RUN_IFELSE([[#define mch_bcopy(s,d,l) bcopy(d,s,l) $bcopy_test_prog]],
2916 vim_cv_bcopy_handles_overlap=yes
2918 vim_cv_bcopy_handles_overlap=no
2920 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_bcopy_handles_overlap')
2924 if test "x$vim_cv_bcopy_handles_overlap" = "xyes" ; then
2927 AC_CACHE_CHECK([whether memcpy handles overlaps],[vim_cv_memcpy_handles_overlap],
2929 AC_RUN_IFELSE([[#define mch_memcpy(s,d,l) memcpy(d,s,l) $bcopy_test_prog]],
2931 vim_cv_memcpy_handles_overlap=yes
2933 vim_cv_memcpy_handles_overlap=no
2935 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_memcpy_handles_overlap')
2939 if test "x$vim_cv_memcpy_handles_overlap" = "xyes" ; then
2940 AC_DEFINE(USEMEMCPY)
2946 dnl Check for multibyte locale functions
2947 dnl Find out if _Xsetlocale() is supported by libX11.
2948 dnl Check if X_LOCALE should be defined.
2950 if test "$enable_multibyte" = "yes"; then
2952 ldflags_save=$LDFLAGS
2953 if test -n "$x_includes" ; then
2954 CFLAGS="$CFLAGS -I$x_includes"
2955 LDFLAGS="$X_LIBS $LDFLAGS -lX11"
2956 AC_MSG_CHECKING(whether X_LOCALE needed)
2957 AC_TRY_COMPILE([#include <X11/Xlocale.h>],,
2958 AC_TRY_LINK_FUNC([_Xsetlocale], [AC_MSG_RESULT(yes)
2959 AC_DEFINE(X_LOCALE)], AC_MSG_RESULT(no)),
2963 LDFLAGS=$ldflags_save
2966 dnl Link with xpg4, it is said to make Korean locale working
2967 AC_CHECK_LIB(xpg4, _xpg4_setrunelocale, [LIBS="$LIBS -lxpg4"],,)
2969 dnl Check how we can run ctags
2970 dnl --version for Exuberant ctags (preferred)
2971 dnl Add --fields=+S to get function signatures for omni completion.
2972 dnl -t for typedefs (many ctags have this)
2973 dnl -s for static functions (Elvis ctags only?)
2974 dnl -v for variables. Dangerous, most ctags take this for 'vgrind style'.
2975 dnl -i+m to test for older Exuberant ctags
2976 AC_MSG_CHECKING(how to create tags)
2977 test -f tags && mv tags tags.save
2978 if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
2979 TAGPRG="ctags -I INIT+ --fields=+S"
2981 (eval etags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags"
2982 (eval etags -c /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags -c"
2983 (eval ctags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags"
2984 (eval ctags -t /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -t"
2985 (eval ctags -ts /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -ts"
2986 (eval ctags -tvs /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -tvs"
2987 (eval ctags -i+m /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -i+m"
2989 test -f tags.save && mv tags.save tags
2990 AC_MSG_RESULT($TAGPRG) AC_SUBST(TAGPRG)
2992 dnl Check how we can run man with a section number
2993 AC_MSG_CHECKING(how to run man with a section nr)
2995 (eval MANPAGER=cat PAGER=cat man -s 2 read) < /dev/null > /dev/null 2>&AC_FD_CC && MANDEF="man -s"
2996 AC_MSG_RESULT($MANDEF)
2997 if test "$MANDEF" = "man -s"; then
3001 dnl Check if gettext() is working and if it needs -lintl
3002 AC_MSG_CHECKING(--disable-nls argument)
3004 [ --disable-nls Don't support NLS (gettext()).], ,
3007 if test "$enable_nls" = "yes"; then
3010 INSTALL_LANGS=install-languages
3011 AC_SUBST(INSTALL_LANGS)
3012 INSTALL_TOOL_LANGS=install-tool-languages
3013 AC_SUBST(INSTALL_TOOL_LANGS)
3015 AC_CHECK_PROG(MSGFMT, msgfmt, msgfmt, )
3016 AC_MSG_CHECKING([for NLS])
3017 if test -f po/Makefile; then
3019 if test -n "$MSGFMT"; then
3021 [#include <libintl.h>],
3023 AC_MSG_RESULT([gettext() works]); have_gettext="yes",
3027 [#include <libintl.h>],
3029 AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes",
3030 AC_MSG_RESULT([gettext() doesn't work]);
3033 AC_MSG_RESULT([msgfmt not found - disabled]);
3035 if test $have_gettext = "yes"; then
3036 AC_DEFINE(HAVE_GETTEXT)
3039 dnl this was added in GNU gettext 0.10.36
3040 AC_CHECK_FUNCS(bind_textdomain_codeset)
3041 dnl _nl_msg_cat_cntr is required for GNU gettext
3042 AC_MSG_CHECKING([for _nl_msg_cat_cntr])
3044 [#include <libintl.h>
3045 extern int _nl_msg_cat_cntr;],
3046 [++_nl_msg_cat_cntr;],
3047 AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_NL_MSG_CAT_CNTR),
3048 AC_MSG_RESULT([no]))
3051 AC_MSG_RESULT([no "po/Makefile" - disabled]);
3057 dnl Check for dynamic linking loader
3058 AC_CHECK_HEADER(dlfcn.h, DLL=dlfcn.h, [AC_CHECK_HEADER(dl.h, DLL=dl.h)])
3059 if test x${DLL} = xdlfcn.h; then
3060 AC_DEFINE(HAVE_DLFCN_H, 1, [ Define if we have dlfcn.h. ])
3061 AC_MSG_CHECKING([for dlopen()])
3063 extern void* dlopen();
3067 AC_DEFINE(HAVE_DLOPEN, 1, [ Define if we have dlopen() ]),
3069 AC_MSG_CHECKING([for dlopen() in -ldl])
3073 extern void* dlopen();
3077 AC_DEFINE(HAVE_DLOPEN, 1, [ Define if we have dlopen() ]),
3080 dnl ReliantUNIX has dlopen() in libc but everything else in libdl
3082 AC_MSG_CHECKING([for dlsym()])
3084 extern void* dlsym();
3088 AC_DEFINE(HAVE_DLSYM, 1, [ Define if we have dlsym() ]),
3090 AC_MSG_CHECKING([for dlsym() in -ldl])
3094 extern void* dlsym();
3098 AC_DEFINE(HAVE_DLSYM, 1, [ Define if we have dlsym() ]),
3101 elif test x${DLL} = xdl.h; then
3102 AC_DEFINE(HAVE_DL_H, 1, [ Define if we have dl.h. ])
3103 AC_MSG_CHECKING([for shl_load()])
3105 extern void* shl_load();
3109 AC_DEFINE(HAVE_SHL_LOAD, 1, [ Define if we have shl_load() ]),
3111 AC_MSG_CHECKING([for shl_load() in -ldld])
3115 extern void* shl_load();
3119 AC_DEFINE(HAVE_SHL_LOAD, 1, [ Define if we have shl_load() ]),
3123 AC_CHECK_HEADERS(setjmp.h)
3125 if test "x$MACOSX" = "xyes" -a -n "$PERL"; then
3126 dnl -ldl must come after DynaLoader.a
3127 if echo $LIBS | grep -e '-ldl' >/dev/null; then
3128 LIBS=`echo $LIBS | sed s/-ldl//`
3129 PERL_LIBS="$PERL_LIBS -ldl"
3133 if test "x$MACOSX" = "xyes" && test "x$CARBON" = "xyes" \
3134 && test "x$GUITYPE" != "xCARBONGUI"; then
3135 AC_MSG_CHECKING(whether we need -framework Carbon)
3136 dnl check for MACOSX without Carbon GUI, but with FEAT_MBYTE
3137 if test "x$enable_multibyte" = "xyes" || test "x$features" = "xbig" \
3138 || test "x$features" = "xhuge"; then
3139 LIBS="$LIBS -framework Carbon"
3145 if test "x$MACARCH" = "xboth"; then
3146 LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
3149 dnl gcc 3.1 changed the meaning of -MM. The only solution appears to be to
3150 dnl use "-isystem" instead of "-I" for all non-Vim include dirs.
3151 dnl But only when making dependencies, cproto and lint don't take "-isystem".
3152 dnl Mac gcc returns "powerpc-apple-darwin8-gcc-4.0.1 (GCC)...", need to allow
3153 dnl the number before the version number.
3154 AC_MSG_CHECKING(for GCC 3 or later)
3155 DEPEND_CFLAGS_FILTER=
3156 if test "$GCC" = yes; then
3157 gccmajor=`echo "$gccversion" | sed -e 's/^\([[1-9]]\)\..*$/\1/g'`
3158 if test "$gccmajor" -gt "2"; then
3159 DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
3162 if test "$DEPEND_CFLAGS_FILTER" = ""; then
3167 AC_SUBST(DEPEND_CFLAGS_FILTER)
3169 dnl write output files
3170 AC_OUTPUT(auto/config.mk:config.mk.in)
3172 dnl vim: set sw=2 tw=78 fo+=l: