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 have_local_include=''
197 if test "$GCC" = yes; then
198 echo 'void f(){}' > conftest.c
199 dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler)
200 have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep '/usr/local/include'`
201 have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep '/usr/local/lib'`
202 rm -f conftest.c conftest.o
204 if test -z "$have_local_lib" -a -d /usr/local/lib; then
205 tt=`echo "$LDFLAGS" | sed -e 's+-L/usr/local/lib ++g' -e 's+-L/usr/local/lib$++g'`
206 if test "$tt" = "$LDFLAGS"; then
207 LDFLAGS="$LDFLAGS -L/usr/local/lib"
210 if test -z "$have_local_include" -a -d /usr/local/include; then
211 tt=`echo "$CPPFLAGS" | sed -e 's+-I/usr/local/include ++g' -e 's+-I/usr/local/include$++g'`
212 if test "$tt" = "$CPPFLAGS"; then
213 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
218 AC_MSG_CHECKING(--with-vim-name argument)
219 AC_ARG_WITH(vim-name, [ --with-vim-name=NAME what to call the Vim executable],
220 VIMNAME="$withval"; AC_MSG_RESULT($VIMNAME),
221 VIMNAME="vim"; AC_MSG_RESULT(Defaulting to $VIMNAME))
223 AC_MSG_CHECKING(--with-ex-name argument)
224 AC_ARG_WITH(ex-name, [ --with-ex-name=NAME what to call the Ex executable],
225 EXNAME="$withval"; AC_MSG_RESULT($EXNAME),
226 EXNAME="ex"; AC_MSG_RESULT(Defaulting to ex))
228 AC_MSG_CHECKING(--with-view-name argument)
229 AC_ARG_WITH(view-name, [ --with-view-name=NAME what to call the View executable],
230 VIEWNAME="$withval"; AC_MSG_RESULT($VIEWNAME),
231 VIEWNAME="view"; AC_MSG_RESULT(Defaulting to view))
234 AC_MSG_CHECKING(--with-global-runtime argument)
235 AC_ARG_WITH(global-runtime, [ --with-global-runtime=DIR global runtime directory in 'runtimepath'],
236 AC_MSG_RESULT($withval); AC_DEFINE_UNQUOTED(RUNTIME_GLOBAL, "$withval"),
239 AC_MSG_CHECKING(--with-modified-by argument)
240 AC_ARG_WITH(modified-by, [ --with-modified-by=NAME name of who modified a release version],
241 AC_MSG_RESULT($withval); AC_DEFINE_UNQUOTED(MODIFIED_BY, "$withval"),
244 dnl Check for EBCDIC stolen from the LYNX port to OS390 Unix
245 AC_MSG_CHECKING(if character set is EBCDIC)
247 [ /* TryCompile function for CharSet.
248 Treat any failure as ASCII for compatibility with existing art.
249 Use compile-time rather than run-time tests for cross-compiler
252 make an error "Character set is not EBCDIC"
254 [ # TryCompile action if true
256 [ # TryCompile action if false
258 # end of TryCompile ])
259 # end of CacheVal CvEbcdic
260 AC_MSG_RESULT($cf_cv_ebcdic)
261 case "$cf_cv_ebcdic" in #(vi
262 yes) AC_DEFINE(EBCDIC)
265 *) line_break='"\\012"';;
269 if test "$cf_cv_ebcdic" = "yes"; then
270 dnl If we have EBCDIC we most likley have OS390 Unix, let's test it!
271 AC_MSG_CHECKING(for OS/390 Unix)
273 OS/390) OS390Unix="yes";
274 dnl If using cc the environment variable _CC_CCMODE must be
275 dnl set to "1", so that some compiler extensions are enabled.
276 dnl If using c89 the environment variable is named _CC_C89MODE.
277 dnl Note: compile with c89 never tested.
278 if test "$CC" = "cc"; then
282 if test "$CC" = "c89"; then
289 if test "$ccm" != "1"; then
291 echo "------------------------------------------"
292 echo " On OS/390 Unix, the environment variable"
293 echo " __CC_${ccn}MODE must be set to \"1\"!"
295 echo " export _CC_${ccn}MODE=1"
296 echo " and then call configure again."
297 echo "------------------------------------------"
300 CFLAGS="$CFLAGS -D_ALL_SOURCE"; LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
309 dnl Link with -lselinux for SELinux stuff; if not found
310 AC_MSG_CHECKING(--disable-selinux argument)
311 AC_ARG_ENABLE(selinux,
312 [ --disable-selinux Don't check for SELinux support.],
313 , enable_selinux="yes")
314 if test "$enable_selinux" = "yes"; then
316 AC_CHECK_LIB(selinux, is_selinux_enabled,
317 [LIBS="$LIBS -lselinux"
318 AC_DEFINE(HAVE_SELINUX)])
323 dnl Check user requested features.
325 AC_MSG_CHECKING(--with-features argument)
326 AC_ARG_WITH(features, [ --with-features=TYPE tiny, small, normal, big or huge (default: normal)],
327 features="$withval"; AC_MSG_RESULT($features),
328 features="normal"; AC_MSG_RESULT(Defaulting to normal))
333 tiny) AC_DEFINE(FEAT_TINY) ;;
334 small) AC_DEFINE(FEAT_SMALL) ;;
335 normal) AC_DEFINE(FEAT_NORMAL) dovimdiff="installvimdiff";
336 dogvimdiff="installgvimdiff" ;;
337 big) AC_DEFINE(FEAT_BIG) dovimdiff="installvimdiff";
338 dogvimdiff="installgvimdiff" ;;
339 huge) AC_DEFINE(FEAT_HUGE) dovimdiff="installvimdiff";
340 dogvimdiff="installgvimdiff" ;;
341 *) AC_MSG_RESULT([Sorry, $features is not supported]) ;;
347 AC_MSG_CHECKING(--with-compiledby argument)
348 AC_ARG_WITH(compiledby, [ --with-compiledby=NAME name to show in :version message],
349 compiledby="$withval"; AC_MSG_RESULT($withval),
350 compiledby=""; AC_MSG_RESULT(no))
353 AC_MSG_CHECKING(--disable-xsmp argument)
355 [ --disable-xsmp Disable XSMP session management],
358 if test "$enable_xsmp" = "yes"; then
360 AC_MSG_CHECKING(--disable-xsmp-interact argument)
361 AC_ARG_ENABLE(xsmp-interact,
362 [ --disable-xsmp-interact Disable XSMP interaction],
363 , enable_xsmp_interact="yes")
364 if test "$enable_xsmp_interact" = "yes"; then
366 AC_DEFINE(USE_XSMP_INTERACT)
374 dnl Check for MzScheme feature.
375 AC_MSG_CHECKING(--enable-mzschemeinterp argument)
376 AC_ARG_ENABLE(mzschemeinterp,
377 [ --enable-mzschemeinterp Include MzScheme interpreter.], ,
378 [enable_mzschemeinterp="no"])
379 AC_MSG_RESULT($enable_mzschemeinterp)
381 if test "$enable_mzschemeinterp" = "yes"; then
382 dnl -- find the mzscheme executable
383 AC_SUBST(vi_cv_path_mzscheme)
385 AC_MSG_CHECKING(--with-plthome argument)
387 [ --with-plthome=PLTHOME Use PLTHOME.],
388 with_plthome="$withval"; AC_MSG_RESULT($with_plthome),
389 with_plthome="";AC_MSG_RESULT("no"))
391 if test "X$with_plthome" != "X"; then
392 vi_cv_path_mzscheme_pfx="$with_plthome"
394 AC_MSG_CHECKING(PLTHOME environment var)
395 if test "X$PLTHOME" != "X"; then
396 AC_MSG_RESULT("$PLTHOME")
397 vi_cv_path_mzscheme_pfx="$PLTHOME"
399 AC_MSG_RESULT("not set")
400 dnl -- try to find MzScheme executable
401 AC_PATH_PROG(vi_cv_path_mzscheme, mzscheme)
403 dnl resolve symbolic link, the executable is often elsewhere and there
404 dnl are no links for the include files.
405 if test "X$vi_cv_path_mzscheme" != "X"; then
406 lsout=`ls -l $vi_cv_path_mzscheme`
407 if echo "$lsout" | grep -e '->' >/dev/null 2>/dev/null; then
408 vi_cv_path_mzscheme=`echo "$lsout" | sed 's/.*-> \(.*\)/\1/'`
412 if test "X$vi_cv_path_mzscheme" != "X"; then
413 dnl -- find where MzScheme thinks it was installed
414 AC_CACHE_CHECK(MzScheme install prefix,vi_cv_path_mzscheme_pfx,
415 [ vi_cv_path_mzscheme_pfx=`
416 ${vi_cv_path_mzscheme} -evm \
417 "(display (simplify-path \
418 (build-path (call-with-values \
419 (lambda () (split-path (find-system-path (quote exec-file)))) \
420 (lambda (base name must-be-dir?) base)) (quote up))))"` ])
421 dnl Remove a trailing slash.
422 vi_cv_path_mzscheme_pfx=`echo "$vi_cv_path_mzscheme_pfx" | sed 's+/$++'`
428 if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
429 AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include)
430 if test -f $vi_cv_path_mzscheme_pfx/include/scheme.h; then
434 AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/plt/include)
435 if test -f $vi_cv_path_mzscheme_pfx/include/plt/scheme.h; then
440 vi_cv_path_mzscheme_pfx=
445 if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
446 if test "x$MACOSX" = "xyes"; then
447 MZSCHEME_LIBS="-framework PLT_MzScheme"
448 elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then
449 MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
451 MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
452 if test "$GCC" = yes; then
453 dnl Make Vim remember the path to the library. For when it's not in
454 dnl $LD_LIBRARY_PATH.
455 MZSCHEME_LIBS="$MZSCHEME_LIBS -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib"
456 elif test "`(uname) 2>/dev/null`" = SunOS &&
457 uname -r | grep '^5' >/dev/null; then
458 MZSCHEME_LIBS="$MZSCHEME_LIBS -R ${vi_cv_path_mzscheme_pfx}/lib"
461 if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
462 SCHEME_COLLECTS=lib/plt/
464 MZSCHEME_CFLAGS="-I${vi_cv_path_mzscheme_pfx}/include${SCHEME_INC} \
465 -DMZSCHEME_COLLECTS='\"${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects\"'"
466 MZSCHEME_SRC="if_mzsch.c"
467 MZSCHEME_OBJ="objects/if_mzsch.o"
468 MZSCHEME_PRO="if_mzsch.pro"
469 AC_DEFINE(FEAT_MZSCHEME)
471 AC_SUBST(MZSCHEME_SRC)
472 AC_SUBST(MZSCHEME_OBJ)
473 AC_SUBST(MZSCHEME_PRO)
474 AC_SUBST(MZSCHEME_LIBS)
475 AC_SUBST(MZSCHEME_CFLAGS)
479 AC_MSG_CHECKING(--enable-perlinterp argument)
480 AC_ARG_ENABLE(perlinterp,
481 [ --enable-perlinterp Include Perl interpreter.], ,
482 [enable_perlinterp="no"])
483 AC_MSG_RESULT($enable_perlinterp)
484 if test "$enable_perlinterp" = "yes"; then
485 AC_SUBST(vi_cv_path_perl)
486 AC_PATH_PROG(vi_cv_path_perl, perl)
487 if test "X$vi_cv_path_perl" != "X"; then
488 AC_MSG_CHECKING(Perl version)
489 if $vi_cv_path_perl -e 'require 5.003_01' >/dev/null 2>/dev/null; then
490 eval `$vi_cv_path_perl -V:usethreads`
491 if test "X$usethreads" = "XUNKNOWN" -o "X$usethreads" = "Xundef"; then
494 if $vi_cv_path_perl -e 'require 5.6.0' >/dev/null 2>/dev/null; then
495 eval `$vi_cv_path_perl -V:use5005threads`
496 if test "X$use5005threads" = "XUNKNOWN" -o "X$use5005threads" = "Xundef"; then
500 AC_MSG_RESULT(>>> Perl > 5.6 with 5.5 threads cannot be used <<<)
504 AC_MSG_RESULT(>>> Perl 5.5 with threads cannot be used <<<)
507 if test $badthreads = no; then
509 eval `$vi_cv_path_perl -V:shrpenv`
510 if test "X$shrpenv" = "XUNKNOWN"; then # pre 5.003_04
513 vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlibexp}'`
514 AC_SUBST(vi_cv_perllib)
515 dnl Remove "-fno-something", it breaks using cproto.
516 perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
517 -e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[[^ ]]*//'`
518 dnl Remove "-lc", it breaks on FreeBSD when using "-pthread".
519 perllibs=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed -e 'ldopts' | \
520 sed -e '/Warning/d' -e '/Note (probably harmless)/d' \
521 -e 's/-bE:perl.exp//' -e 's/-lc //'`
522 dnl Don't add perl lib to $LIBS: if it's not in LD_LIBRARY_PATH
523 dnl a test in configure may fail because of that.
524 perlldflags=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed \
525 -e 'ccdlflags' | sed -e 's/-bE:perl.exp//'`
527 dnl check that compiling a simple program still works with the flags
529 AC_MSG_CHECKING([if compile and link flags for Perl are sane])
532 ldflags_save=$LDFLAGS
533 CFLAGS="$CFLAGS $perlcppflags"
534 LIBS="$LIBS $perllibs"
535 LDFLAGS="$perlldflags $LDFLAGS"
537 AC_MSG_RESULT(yes); perl_ok=yes,
538 AC_MSG_RESULT(no: PERL DISABLED); perl_ok=no)
541 LDFLAGS=$ldflags_save
542 if test $perl_ok = yes; then
543 if test "X$perlcppflags" != "X"; then
544 dnl remove -pipe and -Wxxx, it confuses cproto
545 PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ ]]*//'`
547 if test "X$perlldflags" != "X"; then
548 LDFLAGS="$perlldflags $LDFLAGS"
551 PERL_SRC="auto/if_perl.c if_perlsfio.c"
552 PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o"
553 PERL_PRO="if_perl.pro if_perlsfio.pro"
558 AC_MSG_RESULT(>>> too old; need Perl version 5.003_01 or later <<<)
562 if test "x$MACOSX" = "xyes"; then
563 dnl Mac OS X 10.2 or later
564 dir=/System/Library/Perl
565 darwindir=$dir/darwin
566 if test -d $darwindir; then
570 dir=/System/Library/Perl/5.8.1
571 darwindir=$dir/darwin-thread-multi-2level
572 if test -d $darwindir; then
576 if test -n "$PERL"; then
578 PERL_CFLAGS="-DFEAT_PERL -I$darwindir/CORE"
579 PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o $darwindir/auto/DynaLoader/DynaLoader.a"
580 PERL_LIBS="-L$darwindir/CORE -lperl"
588 AC_SUBST(PERL_CFLAGS)
591 AC_MSG_CHECKING(--enable-pythoninterp argument)
592 AC_ARG_ENABLE(pythoninterp,
593 [ --enable-pythoninterp Include Python interpreter.], ,
594 [enable_pythoninterp="no"])
595 AC_MSG_RESULT($enable_pythoninterp)
596 if test "$enable_pythoninterp" = "yes"; then
597 dnl -- find the python executable
598 AC_PATH_PROG(vi_cv_path_python, python)
599 if test "X$vi_cv_path_python" != "X"; then
601 dnl -- get its version number
602 AC_CACHE_CHECK(Python version,vi_cv_var_python_version,
603 [[vi_cv_var_python_version=`
604 ${vi_cv_path_python} -c 'import sys; print sys.version[:3]'`
607 dnl -- it must be at least version 1.4
608 AC_MSG_CHECKING(Python is 1.4 or better)
609 if ${vi_cv_path_python} -c \
610 "import sys; sys.exit(${vi_cv_var_python_version} < 1.4)"
614 dnl -- find where python thinks it was installed
615 AC_CACHE_CHECK(Python's install prefix,vi_cv_path_python_pfx,
616 [ vi_cv_path_python_pfx=`
617 ${vi_cv_path_python} -c \
618 "import sys; print sys.prefix"` ])
620 dnl -- and where it thinks it runs
621 AC_CACHE_CHECK(Python's execution prefix,vi_cv_path_python_epfx,
622 [ vi_cv_path_python_epfx=`
623 ${vi_cv_path_python} -c \
624 "import sys; print sys.exec_prefix"` ])
626 dnl -- python's internal library path
628 AC_CACHE_VAL(vi_cv_path_pythonpath,
629 [ vi_cv_path_pythonpath=`
631 ${vi_cv_path_python} -c \
632 "import sys, string; print string.join(sys.path,':')"` ])
634 dnl -- where the Python implementation library archives are
636 AC_ARG_WITH(python-config-dir,
637 [ --with-python-config-dir=PATH Python's config directory],
638 [ vi_cv_path_python_conf="${withval}" ] )
640 AC_CACHE_CHECK(Python's configuration directory,vi_cv_path_python_conf,
642 vi_cv_path_python_conf=
643 for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do
644 for subdir in lib share; do
645 d="${path}/${subdir}/python${vi_cv_var_python_version}/config"
646 if test -d "$d" && test -f "$d/config.c"; then
647 vi_cv_path_python_conf="$d"
653 PYTHON_CONFDIR="${vi_cv_path_python_conf}"
655 if test "X$PYTHON_CONFDIR" = "X"; then
656 AC_MSG_RESULT([can't find it!])
659 dnl -- we need to examine Python's config/Makefile too
660 dnl see what the interpreter is built from
661 AC_CACHE_VAL(vi_cv_path_python_plibs,
663 tmp_mkf="/tmp/Makefile-conf$$"
664 cat ${PYTHON_CONFDIR}/Makefile - <<'eof' >${tmp_mkf}
666 @echo "python_MODLIBS='$(MODLIBS)'"
667 @echo "python_LIBS='$(LIBS)'"
668 @echo "python_SYSLIBS='$(SYSLIBS)'"
669 @echo "python_LINKFORSHARED='$(LINKFORSHARED)'"
671 dnl -- delete the lines from make about Entering/Leaving directory
672 eval "`cd ${PYTHON_CONFDIR} && make -f ${tmp_mkf} __ | sed '/ directory /d'`"
674 if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \
675 "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
676 vi_cv_path_python_plibs="-framework Python"
678 if test "${vi_cv_var_python_version}" = "1.4"; then
679 vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a"
681 vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
683 vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_MODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
684 dnl remove -ltermcap, it can conflict with an earlier -lncurses
685 vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
689 PYTHON_LIBS="${vi_cv_path_python_plibs}"
690 if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
691 PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version}"
693 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}"
695 PYTHON_SRC="if_python.c"
696 dnl For Mac OSX 10.2 config.o is included in the Python library.
697 if test "x$MACOSX" = "xyes"; then
698 PYTHON_OBJ="objects/if_python.o"
700 PYTHON_OBJ="objects/if_python.o objects/py_config.o"
702 if test "${vi_cv_var_python_version}" = "1.4"; then
703 PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
705 PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
707 dnl On FreeBSD linking with "-pthread" is required to use threads.
708 dnl _THREAD_SAFE must be used for compiling then.
709 dnl The "-pthread" is added to $LIBS, so that the following check for
710 dnl sigaltstack() will look in libc_r (it's there in libc!).
711 dnl Otherwise, when using GCC, try adding -pthread to $CFLAGS. GCC
712 dnl will then define target-specific defines, e.g., -D_REENTRANT.
713 dnl Don't do this for Mac OSX, -pthread will generate a warning.
714 AC_MSG_CHECKING([if -pthread should be used])
717 dnl if test "x$MACOSX" != "xyes"; then
718 if test "`(uname) 2>/dev/null`" != Darwin; then
719 test "$GCC" = yes && threadsafe_flag="-pthread"
720 if test "`(uname) 2>/dev/null`" = FreeBSD; then
721 threadsafe_flag="-D_THREAD_SAFE"
722 thread_lib="-pthread"
726 if test -n "$threadsafe_flag"; then
728 CFLAGS="$CFLAGS $threadsafe_flag"
729 LIBS="$LIBS $thread_lib"
731 AC_MSG_RESULT(yes); PYTHON_CFLAGS="$PYTHON_CFLAGS $threadsafe_flag",
732 AC_MSG_RESULT(no); LIBS=$libs_save_old
739 dnl check that compiling a simple program still works with the flags
740 dnl added for Python.
741 AC_MSG_CHECKING([if compile and link flags for Python are sane])
744 CFLAGS="$CFLAGS $PYTHON_CFLAGS"
745 LIBS="$LIBS $PYTHON_LIBS"
747 AC_MSG_RESULT(yes); python_ok=yes,
748 AC_MSG_RESULT(no: PYTHON DISABLED); python_ok=no)
751 if test $python_ok = yes; then
752 AC_DEFINE(FEAT_PYTHON)
763 AC_MSG_RESULT(too old)
767 AC_SUBST(PYTHON_CONFDIR)
768 AC_SUBST(PYTHON_LIBS)
769 AC_SUBST(PYTHON_GETPATH_CFLAGS)
770 AC_SUBST(PYTHON_CFLAGS)
774 AC_MSG_CHECKING(--enable-tclinterp argument)
775 AC_ARG_ENABLE(tclinterp,
776 [ --enable-tclinterp Include Tcl interpreter.], ,
777 [enable_tclinterp="no"])
778 AC_MSG_RESULT($enable_tclinterp)
780 if test "$enable_tclinterp" = "yes"; then
782 dnl on FreeBSD tclsh is a silly script, look for tclsh8.[5420]
783 AC_MSG_CHECKING(--with-tclsh argument)
784 AC_ARG_WITH(tclsh, [ --with-tclsh=PATH which tclsh to use (default: tclsh8.0)],
785 tclsh_name="$withval"; AC_MSG_RESULT($tclsh_name),
786 tclsh_name="tclsh8.5"; AC_MSG_RESULT(no))
787 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
788 AC_SUBST(vi_cv_path_tcl)
790 dnl when no specific version specified, also try 8.4, 8.2 and 8.0
791 if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.5"; then
792 tclsh_name="tclsh8.4"
793 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
795 if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.4"; then
796 tclsh_name="tclsh8.2"
797 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
799 if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.2"; then
800 tclsh_name="tclsh8.0"
801 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
803 dnl still didn't find it, try without version number
804 if test "X$vi_cv_path_tcl" = "X"; then
806 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
808 if test "X$vi_cv_path_tcl" != "X"; then
809 AC_MSG_CHECKING(Tcl version)
810 if echo 'exit [[expr [info tclversion] < 8.0]]' | $vi_cv_path_tcl - ; then
811 tclver=`echo 'puts [[info tclversion]]' | $vi_cv_path_tcl -`
812 AC_MSG_RESULT($tclver - OK);
813 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 -`
815 AC_MSG_CHECKING(for location of Tcl include)
816 if test "x$MACOSX" != "xyes"; then
817 tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include /usr/local/include/tcl$tclver /usr/include /usr/include/tcl$tclver"
819 dnl For Mac OS X 10.3, use the OS-provided framework location
820 tclinc="/System/Library/Frameworks/Tcl.framework/Headers"
823 for try in $tclinc; do
824 if test -f "$try/tcl.h"; then
825 AC_MSG_RESULT($try/tcl.h)
830 if test -z "$TCL_INC"; then
831 AC_MSG_RESULT(<not found>)
834 if test -z "$SKIP_TCL"; then
835 AC_MSG_CHECKING(for location of tclConfig.sh script)
836 if test "x$MACOSX" != "xyes"; then
837 tclcnf=`echo $tclinc | sed s/include/lib/g`
838 tclcnf="$tclcnf `echo $tclinc | sed s/include/lib64/g`"
840 dnl For Mac OS X 10.3, use the OS-provided framework location
841 tclcnf="/System/Library/Frameworks/Tcl.framework"
843 for try in $tclcnf; do
844 if test -f $try/tclConfig.sh; then
845 AC_MSG_RESULT($try/tclConfig.sh)
847 dnl use eval, because tcl 8.2 includes ${TCL_DBGX}
848 TCL_LIBS=`eval echo "$TCL_LIB_SPEC $TCL_LIBS"`
849 dnl Use $TCL_DEFS for -D_THREAD_SAFE et al. But only use the
850 dnl "-D_ABC" items. Watch out for -DFOO=long\ long.
851 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'`
855 if test -z "$TCL_LIBS"; then
856 AC_MSG_RESULT(<not found>)
857 AC_MSG_CHECKING(for Tcl library by myself)
858 tcllib=`echo $tclinc | sed s/include/lib/g`
859 tcllib="$tcllib `echo $tclinc | sed s/include/lib64/g`"
860 for ext in .so .a ; do
861 for ver in "" $tclver ; do
862 for try in $tcllib ; do
864 if test -f $try/lib$trylib ; then
865 AC_MSG_RESULT($try/lib$trylib)
866 TCL_LIBS="-L$try -ltcl$ver -ldl -lm"
867 if test "`(uname) 2>/dev/null`" = SunOS &&
868 uname -r | grep '^5' >/dev/null; then
869 TCL_LIBS="$TCL_LIBS -R $try"
876 if test -z "$TCL_LIBS"; then
877 AC_MSG_RESULT(<not found>)
881 if test -z "$SKIP_TCL"; then
884 TCL_OBJ=objects/if_tcl.o
886 TCL_CFLAGS="-I$TCL_INC $TCL_DEFS"
890 AC_MSG_RESULT(too old; need Tcl version 8.0 or later)
900 AC_MSG_CHECKING(--enable-rubyinterp argument)
901 AC_ARG_ENABLE(rubyinterp,
902 [ --enable-rubyinterp Include Ruby interpreter.], ,
903 [enable_rubyinterp="no"])
904 AC_MSG_RESULT($enable_rubyinterp)
905 if test "$enable_rubyinterp" = "yes"; then
906 AC_SUBST(vi_cv_path_ruby)
907 AC_PATH_PROG(vi_cv_path_ruby, ruby)
908 if test "X$vi_cv_path_ruby" != "X"; then
909 AC_MSG_CHECKING(Ruby version)
910 if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
912 AC_MSG_CHECKING(Ruby header files)
913 rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null`
914 if test "X$rubyhdrdir" != "X"; then
915 AC_MSG_RESULT($rubyhdrdir)
916 RUBY_CFLAGS="-I$rubyhdrdir"
917 rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'`
918 if test "X$rubylibs" != "X"; then
919 RUBY_LIBS="$rubylibs"
921 librubyarg=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["LIBRUBYARG"]])'`
922 if test -f "$rubyhdrdir/$librubyarg"; then
923 librubyarg="$rubyhdrdir/$librubyarg"
925 rubylibdir=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["libdir"]])'`
926 if test -f "$rubylibdir/$librubyarg"; then
927 librubyarg="$rubylibdir/$librubyarg"
928 elif test "$librubyarg" = "libruby.a"; then
929 dnl required on Mac OS 10.3 where libruby.a doesn't exist
932 librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, %'-L#{Config.expand(Config::CONFIG[\"libdir\"])}')"`
936 if test "X$librubyarg" != "X"; then
937 RUBY_LIBS="$librubyarg $RUBY_LIBS"
939 rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LDFLAGS"]]'`
940 if test "X$rubyldflags" != "X"; then
941 LDFLAGS="$rubyldflags $LDFLAGS"
944 RUBY_OBJ="objects/if_ruby.o"
945 RUBY_PRO="if_ruby.pro"
948 AC_MSG_RESULT(not found, disabling Ruby)
951 AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later)
958 AC_SUBST(RUBY_CFLAGS)
961 AC_MSG_CHECKING(--enable-cscope argument)
962 AC_ARG_ENABLE(cscope,
963 [ --enable-cscope Include cscope interface.], ,
964 [enable_cscope="no"])
965 AC_MSG_RESULT($enable_cscope)
966 if test "$enable_cscope" = "yes"; then
967 AC_DEFINE(FEAT_CSCOPE)
970 AC_MSG_CHECKING(--enable-workshop argument)
971 AC_ARG_ENABLE(workshop,
972 [ --enable-workshop Include Sun Visual Workshop support.], ,
973 [enable_workshop="no"])
974 AC_MSG_RESULT($enable_workshop)
975 if test "$enable_workshop" = "yes"; then
976 AC_DEFINE(FEAT_SUN_WORKSHOP)
977 WORKSHOP_SRC="workshop.c integration.c"
978 AC_SUBST(WORKSHOP_SRC)
979 WORKSHOP_OBJ="objects/workshop.o objects/integration.o"
980 AC_SUBST(WORKSHOP_OBJ)
981 if test "${enable_gui-xxx}" = xxx; then
986 AC_MSG_CHECKING(--disable-netbeans argument)
987 AC_ARG_ENABLE(netbeans,
988 [ --disable-netbeans Disable NetBeans integration support.],
989 , [enable_netbeans="yes"])
990 if test "$enable_netbeans" = "yes"; then
992 dnl On Solaris we need the socket and nsl library.
993 AC_CHECK_LIB(socket, socket)
994 AC_CHECK_LIB(nsl, gethostbyname)
995 AC_MSG_CHECKING(whether compiling netbeans integration is possible)
1002 #include <netinet/in.h>
1004 #include <sys/types.h>
1005 #include <sys/socket.h>
1006 /* Check bitfields */
1008 unsigned int initDone:1;
1012 /* Check creating a socket. */
1013 struct sockaddr_in server;
1014 (void)socket(AF_INET, SOCK_STREAM, 0);
1016 (void)gethostbyname("microsoft.com");
1017 if (errno == ECONNREFUSED)
1018 (void)connect(1, (struct sockaddr *)&server, sizeof(server));
1021 AC_MSG_RESULT(no); enable_netbeans="no")
1025 if test "$enable_netbeans" = "yes"; then
1026 AC_DEFINE(FEAT_NETBEANS_INTG)
1027 NETBEANS_SRC="netbeans.c"
1028 AC_SUBST(NETBEANS_SRC)
1029 NETBEANS_OBJ="objects/netbeans.o"
1030 AC_SUBST(NETBEANS_OBJ)
1033 AC_MSG_CHECKING(--enable-sniff argument)
1034 AC_ARG_ENABLE(sniff,
1035 [ --enable-sniff Include Sniff interface.], ,
1036 [enable_sniff="no"])
1037 AC_MSG_RESULT($enable_sniff)
1038 if test "$enable_sniff" = "yes"; then
1039 AC_DEFINE(FEAT_SNIFF)
1040 SNIFF_SRC="if_sniff.c"
1042 SNIFF_OBJ="objects/if_sniff.o"
1046 AC_MSG_CHECKING(--enable-multibyte argument)
1047 AC_ARG_ENABLE(multibyte,
1048 [ --enable-multibyte Include multibyte editing support.], ,
1049 [enable_multibyte="no"])
1050 AC_MSG_RESULT($enable_multibyte)
1051 if test "$enable_multibyte" = "yes"; then
1052 AC_DEFINE(FEAT_MBYTE)
1055 AC_MSG_CHECKING(--enable-hangulinput argument)
1056 AC_ARG_ENABLE(hangulinput,
1057 [ --enable-hangulinput Include Hangul input support.], ,
1058 [enable_hangulinput="no"])
1059 AC_MSG_RESULT($enable_hangulinput)
1061 AC_MSG_CHECKING(--enable-xim argument)
1063 [ --enable-xim Include XIM input support.],
1064 AC_MSG_RESULT($enable_xim),
1065 [enable_xim="auto"; AC_MSG_RESULT(defaulting to auto)])
1066 dnl defining FEAT_XIM is delayed, so that it can be disabled for older GTK
1068 AC_MSG_CHECKING(--enable-fontset argument)
1069 AC_ARG_ENABLE(fontset,
1070 [ --enable-fontset Include X fontset output support.], ,
1071 [enable_fontset="no"])
1072 AC_MSG_RESULT($enable_fontset)
1073 dnl defining FEAT_XFONTSET is delayed, so that it can be disabled for no GUI
1075 test -z "$with_x" && with_x=yes
1076 test "${enable_gui-yes}" != no -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && with_x=yes
1077 if test "$with_x" = no; then
1078 AC_MSG_RESULT(defaulting to: don't HAVE_X11)
1080 dnl Do this check early, so that its failure can override user requests.
1082 AC_PATH_PROG(xmkmfpath, xmkmf)
1086 dnl On OS390Unix the X libraries are DLLs. To use them the code must
1087 dnl be compiled with a special option.
1088 dnl Also add SM, ICE and Xmu to X_EXTRA_LIBS.
1089 if test "$OS390Unix" = "yes"; then
1090 CFLAGS="$CFLAGS -W c,dll"
1091 LDFLAGS="$LDFLAGS -W l,dll"
1092 X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE -lXmu"
1095 dnl On my HPUX system the X include dir is found, but the lib dir not.
1096 dnl This is a desparate try to fix this.
1098 if test -d "$x_includes" && test ! -d "$x_libraries"; then
1099 x_libraries=`echo "$x_includes" | sed s/include/lib/`
1100 AC_MSG_RESULT(Corrected X libraries to $x_libraries)
1101 X_LIBS="$X_LIBS -L$x_libraries"
1102 if test "`(uname) 2>/dev/null`" = SunOS &&
1103 uname -r | grep '^5' >/dev/null; then
1104 X_LIBS="$X_LIBS -R $x_libraries"
1108 if test -d "$x_libraries" && test ! -d "$x_includes"; then
1109 x_includes=`echo "$x_libraries" | sed s/lib/include/`
1110 AC_MSG_RESULT(Corrected X includes to $x_includes)
1111 X_CFLAGS="$X_CFLAGS -I$x_includes"
1114 dnl Remove "-I/usr/include " from X_CFLAGS, should not be needed.
1115 X_CFLAGS="`echo $X_CFLAGS\ | sed 's%-I/usr/include %%'`"
1116 dnl Remove "-L/usr/lib " from X_LIBS, should not be needed.
1117 X_LIBS="`echo $X_LIBS\ | sed 's%-L/usr/lib %%'`"
1118 dnl Same for "-R/usr/lib ".
1119 X_LIBS="`echo $X_LIBS\ | sed -e 's%-R/usr/lib %%' -e 's%-R /usr/lib %%'`"
1122 dnl Check if the X11 header files are correctly installed. On some systems
1123 dnl Xlib.h includes files that don't exist. On some systems X11/Intrinsic.h
1125 AC_MSG_CHECKING(if X11 header files can be found)
1127 CFLAGS="$CFLAGS $X_CFLAGS"
1128 AC_TRY_COMPILE([#include <X11/Xlib.h>
1129 #include <X11/Intrinsic.h>], ,
1131 AC_MSG_RESULT(no); no_x=yes)
1134 if test "${no_x-no}" = yes; then
1141 ac_save_LDFLAGS="$LDFLAGS"
1142 LDFLAGS="-L$x_libraries $LDFLAGS"
1144 dnl Check for -lXdmcp (needed on SunOS 4.1.4)
1145 dnl For HP-UX 10.20 it must be before -lSM -lICE
1146 AC_CHECK_LIB(Xdmcp, _XdmcpAuthDoIt, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lXdmcp"],,
1147 [-lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lXdmcp])
1149 dnl Some systems need -lnsl -lsocket when testing for ICE.
1150 dnl The check above doesn't do this, try here (again). Also needed to get
1151 dnl them after Xdmcp. link.sh will remove them when not needed.
1152 dnl Check for other function than above to avoid the cached value
1153 AC_CHECK_LIB(ICE, IceOpenConnection,
1154 [X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE"],, [$X_EXTRA_LIBS])
1156 dnl Check for -lXpm (needed for some versions of Motif)
1157 LDFLAGS="$X_LIBS $ac_save_LDFLAGS"
1158 AC_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [X_PRE_LIBS="$X_PRE_LIBS -lXpm"],,
1159 [-lXt $X_PRE_LIBS -lXpm -lX11 $X_EXTRA_LIBS])
1161 dnl Check that the X11 header files don't use implicit declarations
1162 AC_MSG_CHECKING(if X11 header files implicitly declare return values)
1164 CFLAGS="$CFLAGS $X_CFLAGS -Werror"
1165 AC_TRY_COMPILE([#include <X11/Xlib.h>], ,
1167 CFLAGS="$CFLAGS -Wno-implicit-int"
1168 AC_TRY_COMPILE([#include <X11/Xlib.h>], ,
1169 AC_MSG_RESULT(yes); cflags_save="$cflags_save -Wno-implicit-int",
1170 AC_MSG_RESULT(test failed)
1175 LDFLAGS="$ac_save_LDFLAGS"
1180 test "x$with_x" = xno -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
1182 AC_MSG_CHECKING(--enable-gui argument)
1184 [ --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon]], , enable_gui="auto")
1186 dnl Canonicalize the --enable-gui= argument so that it can be easily compared.
1187 dnl Do not use character classes for portability with old tools.
1188 enable_gui_canon=`echo "_$enable_gui" | \
1189 sed 's/[[ _+-]]//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
1191 dnl Skip everything by default.
1202 if test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
1204 case "$enable_gui_canon" in
1205 no) AC_MSG_RESULT(no GUI support)
1207 yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;;
1208 auto) AC_MSG_RESULT(auto - automatic GUI support) ;;
1209 photon) AC_MSG_RESULT(Photon GUI support) ;;
1210 *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
1214 elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then
1216 case "$enable_gui_canon" in
1217 no) AC_MSG_RESULT(no GUI support)
1219 yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;;
1220 auto) AC_MSG_RESULT(auto - automatic GUI support) ;;
1221 carbon) AC_MSG_RESULT(Carbon GUI support) ;;
1222 *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
1228 case "$enable_gui_canon" in
1229 no|none) AC_MSG_RESULT(no GUI support) ;;
1230 yes|""|auto) AC_MSG_RESULT(yes/auto - automatic GUI support)
1238 gtk) AC_MSG_RESULT(GTK+ 1.x GUI support)
1240 gtk2) AC_MSG_RESULT(GTK+ 2.x GUI support)
1243 gnome) AC_MSG_RESULT(GNOME 1.x GUI support)
1246 gnome2) AC_MSG_RESULT(GNOME 2.x GUI support)
1250 motif) AC_MSG_RESULT(Motif GUI support)
1252 athena) AC_MSG_RESULT(Athena GUI support)
1254 nextaw) AC_MSG_RESULT(neXtaw GUI support)
1256 *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported]) ;;
1261 if test "x$SKIP_GTK" != "xYES" -a "$enable_gui_canon" != "gtk" -a "$enable_gui_canon" != "gtk2"; then
1262 AC_MSG_CHECKING(whether or not to look for GTK)
1263 AC_ARG_ENABLE(gtk-check,
1264 [ --enable-gtk-check If auto-select GUI, check for GTK [default=yes]],
1265 , enable_gtk_check="yes")
1266 AC_MSG_RESULT($enable_gtk_check)
1267 if test "x$enable_gtk_check" = "xno"; then
1273 if test "x$SKIP_GTK2" != "xYES" -a "$enable_gui_canon" != "gtk2" \
1274 -a "$enable_gui_canon" != "gnome2"; then
1275 AC_MSG_CHECKING(whether or not to look for GTK+ 2)
1276 AC_ARG_ENABLE(gtk2-check,
1277 [ --enable-gtk2-check If GTK GUI, check for GTK+ 2 [default=yes]],
1278 , enable_gtk2_check="yes")
1279 AC_MSG_RESULT($enable_gtk2_check)
1280 if test "x$enable_gtk2_check" = "xno"; then
1285 if test "x$SKIP_GNOME" != "xYES" -a "$enable_gui_canon" != "gnome" \
1286 -a "$enable_gui_canon" != "gnome2"; then
1287 AC_MSG_CHECKING(whether or not to look for GNOME)
1288 AC_ARG_ENABLE(gnome-check,
1289 [ --enable-gnome-check If GTK GUI, check for GNOME [default=no]],
1290 , enable_gnome_check="no")
1291 AC_MSG_RESULT($enable_gnome_check)
1292 if test "x$enable_gnome_check" = "xno"; then
1297 if test "x$SKIP_MOTIF" != "xYES" -a "$enable_gui_canon" != "motif"; then
1298 AC_MSG_CHECKING(whether or not to look for Motif)
1299 AC_ARG_ENABLE(motif-check,
1300 [ --enable-motif-check If auto-select GUI, check for Motif [default=yes]],
1301 , enable_motif_check="yes")
1302 AC_MSG_RESULT($enable_motif_check)
1303 if test "x$enable_motif_check" = "xno"; then
1308 if test "x$SKIP_ATHENA" != "xYES" -a "$enable_gui_canon" != "athena"; then
1309 AC_MSG_CHECKING(whether or not to look for Athena)
1310 AC_ARG_ENABLE(athena-check,
1311 [ --enable-athena-check If auto-select GUI, check for Athena [default=yes]],
1312 , enable_athena_check="yes")
1313 AC_MSG_RESULT($enable_athena_check)
1314 if test "x$enable_athena_check" = "xno"; then
1319 if test "x$SKIP_NEXTAW" != "xYES" -a "$enable_gui_canon" != "nextaw"; then
1320 AC_MSG_CHECKING(whether or not to look for neXtaw)
1321 AC_ARG_ENABLE(nextaw-check,
1322 [ --enable-nextaw-check If auto-select GUI, check for neXtaw [default=yes]],
1323 , enable_nextaw_check="yes")
1324 AC_MSG_RESULT($enable_nextaw_check);
1325 if test "x$enable_nextaw_check" = "xno"; then
1330 if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
1331 AC_MSG_CHECKING(whether or not to look for Carbon)
1332 AC_ARG_ENABLE(carbon-check,
1333 [ --enable-carbon-check If auto-select GUI, check for Carbon [default=yes]],
1334 , enable_carbon_check="yes")
1335 AC_MSG_RESULT($enable_carbon_check);
1336 if test "x$enable_carbon_check" = "xno"; then
1342 if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
1343 AC_MSG_CHECKING(for Carbon GUI)
1344 dnl already did the check, just give the message
1347 if test "$VIMNAME" = "vim"; then
1351 dnl Default install directory is not /usr/local
1352 if test x$prefix = xNONE; then
1353 prefix=/Applications
1356 dnl Sorry for the hard coded default
1357 datadir='${prefix}/Vim.app/Contents/Resources'
1359 dnl skip everything else
1371 dnl Get the cflags and libraries from the gtk-config script
1374 dnl define an autoconf function to check for a specified version of GTK, and
1375 dnl try to compile/link a GTK program. this gets used once for GTK 1.1.16.
1377 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
1378 dnl Test for GTK, and define GTK_CFLAGS, GTK_LIBDIR and GTK_LIBS
1380 AC_DEFUN(AM_PATH_GTK,
1382 if test "X$GTK_CONFIG" != "Xno" -o "X$PKG_CONFIG" != "Xno"; then
1384 min_gtk_version=ifelse([$1], ,0.99.7,$1)
1385 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
1387 if (test "X$SKIP_GTK2" != "XYES" -a "X$PKG_CONFIG" != "Xno") \
1388 && $PKG_CONFIG --exists gtk+-2.0; then
1390 dnl We should be using PKG_CHECK_MODULES() instead of this hack.
1391 dnl But I guess the dependency on pkgconfig.m4 is not wanted or
1392 dnl something like that.
1393 GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-2.0`
1394 GTK_LIBDIR=`$PKG_CONFIG --libs-only-L gtk+-2.0`
1395 GTK_LIBS=`$PKG_CONFIG --libs gtk+-2.0`
1396 gtk_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1397 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
1398 gtk_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1399 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
1400 gtk_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1401 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
1403 elif test "X$GTK_CONFIG" != "Xno"; then
1405 GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
1407 GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
1408 gtk_major_version=`$GTK_CONFIG $gtk_config_args --version | \
1409 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
1410 gtk_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
1411 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
1412 gtk_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
1413 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
1419 if test "x$enable_gtktest" = "xyes" -a "x$no_gtk" = "x"; then
1421 ac_save_CFLAGS="$CFLAGS"
1422 ac_save_LIBS="$LIBS"
1423 CFLAGS="$CFLAGS $GTK_CFLAGS"
1424 LIBS="$LIBS $GTK_LIBS"
1427 dnl Now check if the installed GTK is sufficiently new. (Also sanity
1428 dnl checks the results of gtk-config to some extent
1432 #include <gtk/gtk.h>
1435 # include <stdlib.h>
1436 # include <stddef.h>
1442 int major, minor, micro;
1445 system ("touch conf.gtktest");
1447 /* HP/UX 9 (%@#!) writes to sscanf strings */
1448 tmp_version = g_strdup("$min_gtk_version");
1449 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
1450 printf("%s, bad version string\n", "$min_gtk_version");
1454 if ((gtk_major_version > major) ||
1455 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
1456 ((gtk_major_version == major) && (gtk_minor_version == minor) &&
1457 (gtk_micro_version >= micro)))
1463 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
1464 CFLAGS="$ac_save_CFLAGS"
1465 LIBS="$ac_save_LIBS"
1468 if test "x$no_gtk" = x ; then
1469 if test "x$enable_gtktest" = "xyes"; then
1470 AC_MSG_RESULT(yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version)
1472 AC_MSG_RESULT(found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version)
1474 ifelse([$2], , :, [$2])
1480 ifelse([$3], , :, [$3])
1487 ifelse([$3], , :, [$3])
1489 AC_SUBST(GTK_CFLAGS)
1494 dnl ---------------------------------------------------------------------------
1496 dnl ---------------------------------------------------------------------------
1497 AC_DEFUN([GNOME_INIT_HOOK],
1499 AC_SUBST(GNOME_LIBS)
1500 AC_SUBST(GNOME_LIBDIR)
1501 AC_SUBST(GNOME_INCLUDEDIR)
1503 AC_ARG_WITH(gnome-includes,
1504 [ --with-gnome-includes=DIR Specify location of GNOME headers],
1505 [CFLAGS="$CFLAGS -I$withval"]
1508 AC_ARG_WITH(gnome-libs,
1509 [ --with-gnome-libs=DIR Specify location of GNOME libs],
1510 [LDFLAGS="$LDFLAGS -L$withval" gnome_prefix=$withval]
1514 [ --with-gnome Specify prefix for GNOME files],
1515 if test x$withval = xyes; then
1517 ifelse([$1], [], :, [$1])
1519 if test "x$withval" = xno; then
1523 LDFLAGS="$LDFLAGS -L$withval/lib"
1524 CFLAGS="$CFLAGS -I$withval/include"
1525 gnome_prefix=$withval/lib
1530 if test "x$want_gnome" = xyes -a "0$gtk_major_version" -ge 2; then
1532 AC_MSG_CHECKING(for libgnomeui-2.0)
1533 if $PKG_CONFIG --exists libgnomeui-2.0; then
1535 GNOME_LIBS=`$PKG_CONFIG --libs-only-l libgnomeui-2.0`
1536 GNOME_LIBDIR=`$PKG_CONFIG --libs-only-L libgnomeui-2.0`
1537 GNOME_INCLUDEDIR=`$PKG_CONFIG --cflags libgnomeui-2.0`
1539 dnl On FreeBSD we need -pthread but pkg-config doesn't include it.
1540 dnl This might not be the right way but it works for me...
1541 AC_MSG_CHECKING(for FreeBSD)
1542 if test "`(uname) 2>/dev/null`" = FreeBSD; then
1543 AC_MSG_RESULT(yes, adding -pthread)
1544 GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR -D_THREAD_SAFE"
1545 GNOME_LIBS="$GNOME_LIBS -pthread"
1551 AC_MSG_RESULT(not found)
1552 if test "x$2" = xfail; then
1553 AC_MSG_ERROR(Could not find libgnomeui-2.0 via pkg-config)
1557 elif test "x$want_gnome" = xyes; then
1559 AC_PATH_PROG(GNOME_CONFIG,gnome-config,no)
1560 if test "$GNOME_CONFIG" = "no"; then
1561 no_gnome_config="yes"
1563 AC_MSG_CHECKING(if $GNOME_CONFIG works)
1564 if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then
1566 GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome gnomeui`"
1567 GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`"
1568 GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba gnomeui`"
1572 no_gnome_config="yes"
1576 if test x$exec_prefix = xNONE; then
1577 if test x$prefix = xNONE; then
1578 gnome_prefix=$ac_default_prefix/lib
1580 gnome_prefix=$prefix/lib
1583 gnome_prefix=`eval echo \`echo $libdir\``
1586 if test "$no_gnome_config" = "yes"; then
1587 AC_MSG_CHECKING(for gnomeConf.sh file in $gnome_prefix)
1588 if test -f $gnome_prefix/gnomeConf.sh; then
1589 AC_MSG_RESULT(found)
1590 echo "loading gnome configuration from" \
1591 "$gnome_prefix/gnomeConf.sh"
1592 . $gnome_prefix/gnomeConf.sh
1595 AC_MSG_RESULT(not found)
1596 if test x$2 = xfail; then
1597 AC_MSG_ERROR(Could not find the gnomeConf.sh file that is generated by gnome-libs install)
1605 AC_DEFUN([GNOME_INIT],[
1606 GNOME_INIT_HOOK([],fail)
1610 dnl ---------------------------------------------------------------------------
1611 dnl Check for GTK. First checks for gtk-config, cause it needs that to get the
1612 dnl correct compiler flags. Then checks for GTK 1.1.16. If that fails, then
1613 dnl it checks for 1.0.6. If both fail, then continue on for Motif as before...
1614 dnl ---------------------------------------------------------------------------
1615 if test -z "$SKIP_GTK"; then
1617 AC_MSG_CHECKING(--with-gtk-prefix argument)
1618 AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)],
1619 gtk_config_prefix="$withval"; AC_MSG_RESULT($gtk_config_prefix),
1620 gtk_config_prefix=""; AC_MSG_RESULT(no))
1622 AC_MSG_CHECKING(--with-gtk-exec-prefix argument)
1623 AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
1624 gtk_config_exec_prefix="$withval"; AC_MSG_RESULT($gtk_config_prefix),
1625 gtk_config_exec_prefix=""; AC_MSG_RESULT(no))
1627 AC_MSG_CHECKING(--disable-gtktest argument)
1628 AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
1629 , enable_gtktest=yes)
1630 if test "x$enable_gtktest" = "xyes" ; then
1631 AC_MSG_RESULT(gtk test enabled)
1633 AC_MSG_RESULT(gtk test disabled)
1636 if test "x$gtk_config_prefix" != "x" ; then
1637 gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
1638 GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
1640 if test "x$gtk_config_exec_prefix" != "x" ; then
1641 gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
1642 GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
1644 if test "X$GTK_CONFIG" = "X"; then
1645 AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
1646 if test "X$GTK_CONFIG" = "Xno"; then
1647 dnl Some distributions call it gtk12-config, annoying!
1648 AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no)
1649 GTK_CONFIG="$GTK12_CONFIG"
1652 AC_MSG_RESULT(Using GTK configuration program $GTK_CONFIG)
1654 if test "X$PKG_CONFIG" = "X"; then
1655 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
1658 if test "x$GTK_CONFIG:$PKG_CONFIG" != "xno:no"; then
1659 dnl First try finding version 2.2.0 or later. The 2.0.x series has
1660 dnl problems (bold fonts, --remote doesn't work).
1661 if test "X$SKIP_GTK2" != "XYES"; then
1663 [GUI_LIB_LOC="$GTK_LIBDIR"
1664 GTK_LIBNAME="$GTK_LIBS"
1665 GUI_INC_LOC="$GTK_CFLAGS"], )
1666 if test "x$GTK_CFLAGS" != "x"; then
1671 AC_SUBST(GTK_LIBNAME)
1675 dnl If there is no 2.2.0 or later try the 1.x.x series. We require at
1676 dnl least GTK 1.1.16. 1.0.6 doesn't work. 1.1.1 to 1.1.15
1677 dnl were test versions.
1678 if test "x$GUITYPE" != "xGTK"; then
1681 [GTK_LIBNAME="$GTK_LIBS"
1682 GUI_INC_LOC="$GTK_CFLAGS"], )
1683 if test "x$GTK_CFLAGS" != "x"; then
1688 AC_SUBST(GTK_LIBNAME)
1692 dnl Give a warning if GTK is older than 1.2.3
1693 if test "x$GUITYPE" = "xGTK"; then
1694 if test "$gtk_major_version" = 1 -a "0$gtk_minor_version" -lt 2 \
1695 -o "$gtk_major_version" = 1 -a "$gtk_minor_version" = 2 -a "0$gtk_micro_version" -lt 3; then
1696 AC_MSG_RESULT(this GTK version is old; version 1.2.3 or later is recommended)
1699 if test "0$gtk_major_version" -ge 2; then
1700 AC_DEFINE(HAVE_GTK2)
1701 if test "$gtk_minor_version" = 1 -a "0$gtk_micro_version" -ge 1 \
1702 || test "0$gtk_minor_version" -ge 2 \
1703 || test "0$gtk_major_version" -gt 2; then
1704 AC_DEFINE(HAVE_GTK_MULTIHEAD)
1708 dnl if GTK exists, and it's not the 1.0.x series, then check for GNOME.
1710 if test -z "$SKIP_GNOME"; then
1712 GNOME_INIT_HOOK([have_gnome=yes])
1713 if test x$have_gnome = xyes ; then
1714 AC_DEFINE(FEAT_GUI_GNOME)
1715 GUI_INC_LOC="$GUI_INC_LOC $GNOME_INCLUDEDIR"
1716 GTK_LIBNAME="$GTK_LIBNAME $GNOME_LIBDIR $GNOME_LIBS"
1725 dnl Check for Motif include files location.
1726 dnl The LAST one found is used, this makes the highest version to be used,
1727 dnl e.g. when Motif1.2 and Motif2.0 are both present.
1729 if test -z "$SKIP_MOTIF"; then
1730 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"
1731 dnl Remove "-I" from before $GUI_INC_LOC if it's there
1732 GUI_INC_LOC="`echo $GUI_INC_LOC|sed 's%-I%%g'`"
1734 AC_MSG_CHECKING(for location of Motif GUI includes)
1735 gui_includes="`echo $x_includes|sed 's%/[^/][^/]*$%%'` `echo "$gui_XXX" | sed s/XXX/include/g` $GUI_INC_LOC"
1737 for try in $gui_includes; do
1738 if test -f "$try/Xm/Xm.h"; then
1742 if test -n "$GUI_INC_LOC"; then
1743 if test "$GUI_INC_LOC" = /usr/include; then
1745 AC_MSG_RESULT(in default path)
1747 AC_MSG_RESULT($GUI_INC_LOC)
1750 AC_MSG_RESULT(<not found>)
1755 dnl Check for Motif library files location. In the same order as the include
1756 dnl files, to avoid a mixup if several versions are present
1758 if test -z "$SKIP_MOTIF"; then
1759 AC_MSG_CHECKING(--with-motif-lib argument)
1760 AC_ARG_WITH(motif-lib,
1761 [ --with-motif-lib=STRING Library for Motif ],
1762 [ MOTIF_LIBNAME="${withval}" ] )
1764 if test -n "$MOTIF_LIBNAME"; then
1765 AC_MSG_RESULT($MOTIF_LIBNAME)
1770 dnl Remove "-L" from before $GUI_LIB_LOC if it's there
1771 GUI_LIB_LOC="`echo $GUI_LIB_LOC|sed 's%-L%%g'`"
1773 AC_MSG_CHECKING(for location of Motif GUI libs)
1774 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"
1776 for try in $gui_libs; do
1777 for libtry in "$try"/libXm.a "$try"/libXm.so* "$try"/libXm.sl "$try"/libXm.dylib; do
1778 if test -f "$libtry"; then
1783 if test -n "$GUI_LIB_LOC"; then
1784 dnl Remove /usr/lib, it causes trouble on some systems
1785 if test "$GUI_LIB_LOC" = /usr/lib; then
1787 AC_MSG_RESULT(in default path)
1789 if test -n "$GUI_LIB_LOC"; then
1790 AC_MSG_RESULT($GUI_LIB_LOC)
1791 if test "`(uname) 2>/dev/null`" = SunOS &&
1792 uname -r | grep '^5' >/dev/null; then
1793 GUI_LIB_LOC="$GUI_LIB_LOC -R $GUI_LIB_LOC"
1799 AC_MSG_RESULT(<not found>)
1805 if test -z "$SKIP_MOTIF"; then
1809 AC_SUBST(MOTIF_LIBNAME)
1812 dnl Check if the Athena files can be found
1816 if test -z "$SKIP_ATHENA"; then
1817 AC_MSG_CHECKING(if Athena header files can be found)
1819 CFLAGS="$CFLAGS $X_CFLAGS"
1821 #include <X11/Intrinsic.h>
1822 #include <X11/Xaw/Paned.h>], ,
1824 AC_MSG_RESULT(no); SKIP_ATHENA=YES )
1828 if test -z "$SKIP_ATHENA"; then
1832 if test -z "$SKIP_NEXTAW"; then
1833 AC_MSG_CHECKING(if neXtaw header files can be found)
1835 CFLAGS="$CFLAGS $X_CFLAGS"
1837 #include <X11/Intrinsic.h>
1838 #include <X11/neXtaw/Paned.h>], ,
1840 AC_MSG_RESULT(no); SKIP_NEXTAW=YES )
1844 if test -z "$SKIP_NEXTAW"; then
1848 if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
1849 dnl Prepend -I and -L to $GUI_INC_LOC and $GUI_LIB_LOC if not empty
1850 dnl Avoid adding it when it twice
1851 if test -n "$GUI_INC_LOC"; then
1852 GUI_INC_LOC=-I"`echo $GUI_INC_LOC|sed 's%-I%%'`"
1854 if test -n "$GUI_LIB_LOC"; then
1855 GUI_LIB_LOC=-L"`echo $GUI_LIB_LOC|sed 's%-L%%'`"
1858 dnl Check for -lXext and then for -lXmu
1859 ldflags_save=$LDFLAGS
1860 LDFLAGS="$X_LIBS $LDFLAGS"
1861 AC_CHECK_LIB(Xext, XShapeQueryExtension, [GUI_X_LIBS="-lXext"],,
1862 [-lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
1863 dnl For Solaris we need -lw and -ldl before linking with -lXmu works.
1864 AC_CHECK_LIB(w, wslen, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lw"],,
1865 [$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
1866 AC_CHECK_LIB(dl, dlsym, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldl"],,
1867 [$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
1868 AC_CHECK_LIB(Xmu, XmuCreateStippledPixmap, [GUI_X_LIBS="-lXmu $GUI_X_LIBS"],,
1869 [$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
1870 if test -z "$SKIP_MOTIF"; then
1871 AC_CHECK_LIB(Xp, XpEndJob, [GUI_X_LIBS="-lXp $GUI_X_LIBS"],,
1872 [$GUI_X_LIBS -lXm -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
1874 LDFLAGS=$ldflags_save
1876 dnl Execute xmkmf to figure out if -DNARROWPROTO is needed.
1877 AC_MSG_CHECKING(for extra X11 defines)
1880 if mkdir conftestdir; then
1882 cat > Imakefile <<'EOF'
1884 @echo 'NARROW_PROTO="${PROTO_DEFINES}"'
1886 if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
1887 eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
1892 if test -z "$NARROW_PROTO"; then
1895 AC_MSG_RESULT($NARROW_PROTO)
1897 AC_SUBST(NARROW_PROTO)
1900 dnl Look for XSMP support - but don't necessarily restrict it to X11 GUIs
1901 dnl use the X11 include path
1902 if test "$enable_xsmp" = "yes"; then
1903 cppflags_save=$CPPFLAGS
1904 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1905 AC_CHECK_HEADERS(X11/SM/SMlib.h)
1906 CPPFLAGS=$cppflags_save
1910 if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF" -o -z "$SKIP_GTK"; then
1911 dnl Check for X11/xpm.h and X11/Sunkeysym.h with the GUI include path
1912 cppflags_save=$CPPFLAGS
1913 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1914 AC_CHECK_HEADERS(X11/xpm.h X11/Sunkeysym.h)
1916 dnl automatically disable XIM when XIMtext isn't in X11/Xlib.h
1917 if test ! "$enable_xim" = "no"; then
1918 AC_MSG_CHECKING(for XIMText in X11/Xlib.h)
1919 AC_EGREP_CPP(XIMText, [#include <X11/Xlib.h>],
1921 AC_MSG_RESULT(no; xim has been disabled); enable_xim = "no")
1923 CPPFLAGS=$cppflags_save
1925 dnl automatically enable XIM when hangul input isn't enabled
1926 if test "$enable_xim" = "auto" -a "$enable_hangulinput" != "yes" \
1927 -a "x$GUITYPE" != "xNONE" ; then
1928 AC_MSG_RESULT(X GUI selected; xim has been enabled)
1933 if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
1934 cppflags_save=$CPPFLAGS
1935 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1936 dnl Xmu/Editres.h may exist but can only be used after including Intrinsic.h
1937 AC_MSG_CHECKING([for X11/Xmu/Editres.h])
1939 #include <X11/Intrinsic.h>
1940 #include <X11/Xmu/Editres.h>],
1943 AC_DEFINE(HAVE_X11_XMU_EDITRES_H),
1945 CPPFLAGS=$cppflags_save
1948 dnl Only use the Xm directory when compiling Motif, don't use it for Athena
1949 if test -z "$SKIP_MOTIF"; then
1950 cppflags_save=$CPPFLAGS
1951 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1952 AC_CHECK_HEADERS(Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
1953 Xm/UnhighlightT.h Xm/Notebook.h)
1955 if test $ac_cv_header_Xm_XpmP_h = yes; then
1956 dnl Solaris uses XpmAttributes_21, very annoying.
1957 AC_MSG_CHECKING([for XpmAttributes_21 in Xm/XpmP.h])
1958 AC_TRY_COMPILE([#include <Xm/XpmP.h>], [XpmAttributes_21 attr;],
1959 AC_MSG_RESULT(yes); AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes_21),
1960 AC_MSG_RESULT(no); AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes)
1963 AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes)
1965 CPPFLAGS=$cppflags_save
1968 if test "x$GUITYPE" = "xNONE" -a "$enable_xim" = "yes"; then
1969 AC_MSG_RESULT(no GUI selected; xim has been disabled)
1972 if test "x$GUITYPE" = "xNONE" -a "$enable_fontset" = "yes"; then
1973 AC_MSG_RESULT(no GUI selected; fontset has been disabled)
1976 if test "x$GUITYPE:$enable_fontset" = "xGTK:yes" -a "0$gtk_major_version" -ge 2; then
1977 AC_MSG_RESULT(GTK+ 2 GUI selected; fontset has been disabled)
1981 if test -z "$SKIP_PHOTON"; then
1985 AC_SUBST(GUI_INC_LOC)
1986 AC_SUBST(GUI_LIB_LOC)
1988 AC_SUBST(GUI_X_LIBS)
1990 if test "$enable_workshop" = "yes" -a -n "$SKIP_MOTIF"; then
1991 AC_MSG_ERROR([cannot use workshop without Motif])
1994 dnl defining FEAT_XIM and FEAT_XFONTSET is delayed, so that they can be disabled
1995 if test "$enable_xim" = "yes"; then
1998 if test "$enable_fontset" = "yes"; then
1999 AC_DEFINE(FEAT_XFONTSET)
2003 dnl ---------------------------------------------------------------------------
2004 dnl end of GUI-checking
2005 dnl ---------------------------------------------------------------------------
2008 dnl Only really enable hangul input when GUI and XFONTSET are available
2009 if test "$enable_hangulinput" = "yes"; then
2010 if test "x$GUITYPE" = "xNONE"; then
2011 AC_MSG_RESULT(no GUI selected; hangul input has been disabled)
2012 enable_hangulinput=no
2014 AC_DEFINE(FEAT_HANGULIN)
2015 HANGULIN_SRC=hangulin.c
2016 AC_SUBST(HANGULIN_SRC)
2017 HANGULIN_OBJ=objects/hangulin.o
2018 AC_SUBST(HANGULIN_OBJ)
2022 dnl Checks for libraries and include files.
2024 AC_CACHE_CHECK([whether toupper is broken], [vim_cv_toupper_broken],
2027 #include "confdefs.h"
2030 # include <stdlib.h>
2031 # include <stddef.h>
2033 main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }
2035 vim_cv_toupper_broken=yes
2037 vim_cv_toupper_broken=no
2039 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_toupper_broken')
2042 if test "x$vim_cv_toupper_broken" = "xyes" ; then
2043 AC_DEFINE(BROKEN_TOUPPER)
2046 AC_MSG_CHECKING(whether __DATE__ and __TIME__ work)
2047 AC_TRY_COMPILE([#include <stdio.h>], [printf("(" __DATE__ " " __TIME__ ")");],
2048 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_DATE_TIME),
2051 dnl Checks for header files.
2052 AC_CHECK_HEADER(elf.h, HAS_ELF=1)
2053 dnl AC_CHECK_HEADER(dwarf.h, SVR4=1)
2054 if test "$HAS_ELF" = 1; then
2055 AC_CHECK_LIB(elf, main)
2060 dnl If sys/wait.h is not found it might still exist but not be POSIX
2061 dnl compliant. In that case we define HAVE_UNION_WAIT (for NeXT)
2062 if test $ac_cv_header_sys_wait_h = no; then
2063 AC_MSG_CHECKING([for sys/wait.h that defines union wait])
2064 AC_TRY_COMPILE([#include <sys/wait.h>],
2065 [union wait xx, yy; xx = yy],
2067 AC_DEFINE(HAVE_SYS_WAIT_H)
2068 AC_DEFINE(HAVE_UNION_WAIT),
2072 AC_CHECK_HEADERS(stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
2073 termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h sys/types.h termio.h \
2074 iconv.h langinfo.h math.h unistd.h stropts.h errno.h \
2075 sys/resource.h sys/systeminfo.h locale.h \
2076 sys/stream.h termios.h libc.h sys/statfs.h \
2077 poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
2078 libgen.h util/debug.h util/msg18n.h frame.h \
2079 sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h wchar.h wctype.h)
2081 dnl sys/ptem.h depends on sys/stream.h on Solaris
2082 AC_CHECK_HEADERS(sys/ptem.h, [], [],
2083 [#if defined HAVE_SYS_STREAM_H
2084 # include <sys/stream.h>
2088 dnl pthread_np.h may exist but can only be used after including pthread.h
2089 AC_MSG_CHECKING([for pthread_np.h])
2091 #include <pthread.h>
2092 #include <pthread_np.h>],
2095 AC_DEFINE(HAVE_PTHREAD_NP_H),
2098 AC_CHECK_HEADERS(strings.h)
2099 if test "x$MACOSX" = "xyes"; then
2100 dnl The strings.h file on OS/X contains a warning and nothing useful.
2101 AC_DEFINE(NO_STRINGS_WITH_STRING_H)
2104 dnl Check if strings.h and string.h can both be included when defined.
2105 AC_MSG_CHECKING([if strings.h can be included after string.h])
2106 cppflags_save=$CPPFLAGS
2107 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2109 #if defined(_AIX) && !defined(_AIX51) && !defined(_NO_PROTO)
2110 # define _NO_PROTO /* like in os_unix.h, causes conflict for AIX (Winn) */
2111 /* but don't do it on AIX 5.1 (Uribarri) */
2114 # include <Xm/Xm.h> /* This breaks it for HP-UX 11 (Squassabia) */
2116 #ifdef HAVE_STRING_H
2117 # include <string.h>
2119 #if defined(HAVE_STRINGS_H)
2120 # include <strings.h>
2124 AC_DEFINE(NO_STRINGS_WITH_STRING_H)
2126 CPPFLAGS=$cppflags_save
2129 dnl Checks for typedefs, structures, and compiler characteristics.
2130 AC_PROG_GCC_TRADITIONAL
2138 AC_CHECK_TYPE(ino_t, long)
2139 AC_CHECK_TYPE(dev_t, unsigned)
2141 AC_MSG_CHECKING(for rlim_t)
2142 if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then
2143 AC_MSG_RESULT([(cached) $ac_cv_type_rlim_t])
2146 changequote(<<,>>)dnl
2147 <<(^|[^a-zA-Z_0-9])rlim_t[^a-zA-Z_0-9]>>dnl
2150 #include <sys/types.h>
2152 # include <stdlib.h>
2153 # include <stddef.h>
2155 #ifdef HAVE_SYS_RESOURCE_H
2156 # include <sys/resource.h>
2158 ], ac_cv_type_rlim_t=yes, ac_cv_type_rlim_t=no)
2159 AC_MSG_RESULT($ac_cv_type_rlim_t)
2161 if test $ac_cv_type_rlim_t = no; then
2162 cat >> confdefs.h <<\EOF
2163 #define rlim_t unsigned long
2167 AC_MSG_CHECKING(for stack_t)
2168 if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then
2169 AC_MSG_RESULT([(cached) $ac_cv_type_stack_t])
2171 AC_EGREP_CPP(stack_t,
2173 #include <sys/types.h>
2175 # include <stdlib.h>
2176 # include <stddef.h>
2179 ], ac_cv_type_stack_t=yes, ac_cv_type_stack_t=no)
2180 AC_MSG_RESULT($ac_cv_type_stack_t)
2182 if test $ac_cv_type_stack_t = no; then
2183 cat >> confdefs.h <<\EOF
2184 #define stack_t struct sigaltstack
2188 dnl BSDI uses ss_base while others use ss_sp for the stack pointer.
2189 AC_MSG_CHECKING(whether stack_t has an ss_base field)
2191 #include <sys/types.h>
2193 # include <stdlib.h>
2194 # include <stddef.h>
2197 #include "confdefs.h"
2198 ], [stack_t sigstk; sigstk.ss_base = 0; ],
2199 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SS_BASE),
2203 AC_MSG_CHECKING(--with-tlib argument)
2204 AC_ARG_WITH(tlib, [ --with-tlib=library terminal library to be used ],)
2205 if test -n "$with_tlib"; then
2206 AC_MSG_RESULT($with_tlib)
2207 LIBS="$LIBS -l$with_tlib"
2208 AC_MSG_CHECKING(for linking with $with_tlib library)
2209 AC_TRY_LINK([], [], AC_MSG_RESULT(OK), AC_MSG_ERROR(FAILED))
2210 dnl Need to check for tgetent() below.
2213 AC_MSG_RESULT([empty: automatic terminal library selection])
2214 dnl On HP-UX 10.10 termcap or termlib should be used instead of
2215 dnl curses, because curses is much slower.
2216 dnl Newer versions of ncurses are preferred over anything.
2217 dnl Older versions of ncurses have bugs, get a new one!
2218 dnl Digital Unix (OSF1) should use curses (Ronald Schild).
2219 dnl On SCO Openserver should prefer termlib (Roger Cornelius).
2220 case "`uname -s 2>/dev/null`" in
2221 OSF1|SCO_SV) tlibs="ncurses curses termlib termcap";;
2222 *) tlibs="ncurses termlib termcap curses";;
2224 for libname in $tlibs; do
2225 AC_CHECK_LIB(${libname}, tgetent,,)
2226 if test "x$olibs" != "x$LIBS"; then
2227 dnl It's possible that a library is found but it doesn't work
2228 dnl e.g., shared library that cannot be found
2229 dnl compile and run a test program to be sure
2231 #ifdef HAVE_TERMCAP_H
2232 # include <termcap.h>
2235 # include <stdlib.h>
2236 # include <stddef.h>
2238 main() {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(0); }],
2239 res="OK", res="FAIL", res="FAIL")
2240 if test "$res" = "OK"; then
2243 AC_MSG_RESULT($libname library is not usable)
2247 if test "x$olibs" = "x$LIBS"; then
2248 AC_MSG_RESULT(no terminal library found)
2252 if test "x$olibs" = "x$LIBS"; then
2253 AC_MSG_CHECKING([for tgetent()])
2255 [char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist");],
2257 AC_MSG_ERROR([NOT FOUND!
2258 You need to install a terminal library; for example ncurses.
2259 Or specify the name of the library with --with-tlib.]))
2262 AC_CACHE_CHECK([whether we talk terminfo], [vim_cv_terminfo],
2265 #include "confdefs.h"
2266 #ifdef HAVE_TERMCAP_H
2267 # include <termcap.h>
2269 #ifdef HAVE_STRING_H
2270 # include <string.h>
2273 # include <stdlib.h>
2274 # include <stddef.h>
2277 {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }
2283 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_terminfo')
2287 if test "x$vim_cv_terminfo" = "xyes" ; then
2291 if test "x$olibs" != "x$LIBS"; then
2292 AC_CACHE_CHECK([what tgetent() returns for an unknown terminal], [vim_cv_tgent],
2295 #include "confdefs.h"
2296 #ifdef HAVE_TERMCAP_H
2297 # include <termcap.h>
2300 # include <stdlib.h>
2301 # include <stddef.h>
2304 {char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); }
2308 vim_cv_tgent=non-zero
2310 AC_MSG_ERROR(failed to compile test program.)
2314 if test "x$vim_cv_tgent" = "xzero" ; then
2315 AC_DEFINE(TGETENT_ZERO_ERR, 0)
2319 AC_MSG_CHECKING(whether termcap.h contains ospeed)
2321 #ifdef HAVE_TERMCAP_H
2322 # include <termcap.h>
2324 ], [ospeed = 20000],
2325 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_OSPEED),
2327 AC_MSG_CHECKING(whether ospeed can be extern)
2329 #ifdef HAVE_TERMCAP_H
2330 # include <termcap.h>
2332 extern short ospeed;
2333 ], [ospeed = 20000],
2334 AC_MSG_RESULT(yes); AC_DEFINE(OSPEED_EXTERN),
2338 AC_MSG_CHECKING([whether termcap.h contains UP, BC and PC])
2340 #ifdef HAVE_TERMCAP_H
2341 # include <termcap.h>
2343 ], [if (UP == 0 && BC == 0) PC = 1],
2344 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_UP_BC_PC),
2346 AC_MSG_CHECKING([whether UP, BC and PC can be extern])
2348 #ifdef HAVE_TERMCAP_H
2349 # include <termcap.h>
2351 extern char *UP, *BC, PC;
2352 ], [if (UP == 0 && BC == 0) PC = 1],
2353 AC_MSG_RESULT(yes); AC_DEFINE(UP_BC_PC_EXTERN),
2357 AC_MSG_CHECKING(whether tputs() uses outfuntype)
2359 #ifdef HAVE_TERMCAP_H
2360 # include <termcap.h>
2362 ], [extern int xx(); tputs("test", 1, (outfuntype)xx)],
2363 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_OUTFUNTYPE),
2366 dnl On some SCO machines sys/select redefines struct timeval
2367 AC_MSG_CHECKING([whether sys/select.h and sys/time.h may both be included])
2369 #include <sys/types.h>
2370 #include <sys/time.h>
2371 #include <sys/select.h>], ,
2373 AC_DEFINE(SYS_SELECT_WITH_SYS_TIME),
2376 dnl AC_DECL_SYS_SIGLIST
2378 dnl Checks for pty.c (copied from screen) ==========================
2379 AC_MSG_CHECKING(for /dev/ptc)
2380 if test -r /dev/ptc; then
2381 AC_DEFINE(HAVE_DEV_PTC)
2387 AC_MSG_CHECKING(for SVR4 ptys)
2388 if test -c /dev/ptmx ; then
2389 AC_TRY_LINK([], [ptsname(0);grantpt(0);unlockpt(0);],
2390 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SVR4_PTYS),
2396 AC_MSG_CHECKING(for ptyranges)
2397 if test -d /dev/ptym ; then
2407 ], ptys=`echo /dev/ptyp??`, ptys=`echo $pdir/pty??`)
2408 dnl if test -c /dev/ptyp19; then
2409 dnl ptys=`echo /dev/ptyp??`
2411 dnl ptys=`echo $pdir/pty??`
2413 if test "$ptys" != "$pdir/pty??" ; then
2414 p0=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'`
2415 p1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'`
2416 AC_DEFINE_UNQUOTED(PTYRANGE0,"$p0")
2417 AC_DEFINE_UNQUOTED(PTYRANGE1,"$p1")
2418 AC_MSG_RESULT([$p0 / $p1])
2420 AC_MSG_RESULT([don't know])
2423 dnl **** pty mode/group handling ****
2425 dnl support provided by Luke Mewburn <lm@rmit.edu.au>, 931222
2427 AC_CACHE_CHECK([default tty permissions/group], [vim_cv_tty_group],
2430 #include "confdefs.h"
2431 #include <sys/types.h>
2433 # include <stdlib.h>
2434 # include <stddef.h>
2436 #ifdef HAVE_UNISTD_H
2439 #include <sys/stat.h>
2448 if (!(x = ttyname(0))) exit(1);
2449 if (stat(x, &sb)) exit(1);
2451 if (om & 002) exit(0);
2452 m = system("mesg y");
2453 if (m == -1 || m == 127) exit(1);
2454 if (stat(x, &sb)) exit(1);
2456 if (chmod(x, om)) exit(1);
2457 if (m & 002) exit(0);
2458 if (sb.st_gid == getgid()) exit(1);
2459 if (!(fp=fopen("conftest_grp", "w")))
2461 fprintf(fp, "%d\n", sb.st_gid);
2466 if test -f conftest_grp; then
2467 vim_cv_tty_group=`cat conftest_grp`
2468 if test "x$vim_cv_tty_mode" = "x" ; then
2469 vim_cv_tty_mode=0620
2471 AC_MSG_RESULT([pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group])
2473 vim_cv_tty_group=world
2474 AC_MSG_RESULT([ptys are world accessable])
2477 vim_cv_tty_group=world
2478 AC_MSG_RESULT([can't determine - assume ptys are world accessable])
2480 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode')
2485 if test "x$vim_cv_tty_group" != "xworld" ; then
2486 AC_DEFINE_UNQUOTED(PTYGROUP,$vim_cv_tty_group)
2487 if test "x$vim_cv_tty_mode" = "x" ; then
2488 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)])
2490 AC_DEFINE(PTYMODE, 0620)
2494 dnl Checks for library functions. ===================================
2498 dnl find out what to use at the end of a signal function
2499 if test $ac_cv_type_signal = void; then
2500 AC_DEFINE(SIGRETURN, [return])
2502 AC_DEFINE(SIGRETURN, [return 0])
2505 dnl check if struct sigcontext is defined (used for SGI only)
2506 AC_MSG_CHECKING(for struct sigcontext)
2511 struct sigcontext *scont;
2512 scont = (struct sigcontext *)0;
2516 AC_DEFINE(HAVE_SIGCONTEXT),
2519 dnl tricky stuff: try to find out if getcwd() is implemented with
2520 dnl system("sh -c pwd")
2521 AC_CACHE_CHECK([getcwd implementation is broken], [vim_cv_getcwd_broken],
2524 #include "confdefs.h"
2525 #ifdef HAVE_UNISTD_H
2528 char *dagger[] = { "IFS=pwd", 0 };
2532 extern char **environ;
2534 return getcwd(buffer, 500) ? 0 : 1;
2537 vim_cv_getcwd_broken=no
2539 vim_cv_getcwd_broken=yes
2541 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_getcwd_broken')
2545 if test "x$vim_cv_getcwd_broken" = "xyes" ; then
2546 AC_DEFINE(BAD_GETCWD)
2549 dnl Check for functions in one big call, to reduce the size of configure
2550 AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
2551 getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
2552 memset nanosleep opendir putenv qsort readlink select setenv \
2553 setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
2554 sigvec strcasecmp strerror strftime stricmp strncasecmp \
2555 strnicmp strpbrk strtol tgetent towlower towupper iswupper \
2556 usleep utime utimes)
2558 dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible
2559 AC_MSG_CHECKING(for st_blksize)
2561 [#include <sys/types.h>
2562 #include <sys/stat.h>],
2567 n = (int)st.st_blksize;],
2568 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ST_BLKSIZE),
2571 AC_CACHE_CHECK([whether stat() ignores a trailing slash], [vim_cv_stat_ignores_slash],
2574 #include "confdefs.h"
2576 # include <stdlib.h>
2577 # include <stddef.h>
2579 #include <sys/types.h>
2580 #include <sys/stat.h>
2581 main() {struct stat st; exit(stat("configure/", &st) != 0); }
2583 vim_cv_stat_ignores_slash=yes
2585 vim_cv_stat_ignores_slash=no
2587 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_stat_ignores_slash')
2591 if test "x$vim_cv_stat_ignores_slash" = "xyes" ; then
2592 AC_DEFINE(STAT_IGNORES_SLASH)
2595 dnl Link with iconv for charset translation, if not found without library.
2596 dnl check for iconv() requires including iconv.h
2597 dnl Add "-liconv" when possible; Solaris has iconv but use GNU iconv when it
2598 dnl has been installed.
2599 AC_MSG_CHECKING(for iconv_open())
2601 LIBS="$LIBS -liconv"
2606 ], [iconv_open("fr", "to");],
2607 AC_MSG_RESULT(yes; with -liconv); AC_DEFINE(HAVE_ICONV),
2613 ], [iconv_open("fr", "to");],
2614 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ICONV),
2618 AC_MSG_CHECKING(for nl_langinfo(CODESET))
2620 #ifdef HAVE_LANGINFO_H
2621 # include <langinfo.h>
2623 ], [char *cs = nl_langinfo(CODESET);],
2624 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_NL_LANGINFO_CODESET),
2627 dnl Need various functions for floating point support. Only enable
2628 dnl floating point when they are all present.
2629 AC_CHECK_LIB(m, strtod)
2630 AC_MSG_CHECKING([for strtod() and other floating point functions])
2636 # include <stdlib.h>
2637 # include <stddef.h>
2639 ], [char *s; double d;
2640 d = strtod("1.1", &s);
2645 d = pow(1.11, 2.22);
2651 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FLOAT_FUNCS),
2654 dnl Link with -lposix1e for ACL stuff; if not found, try -lacl for SGI
2655 dnl when -lacl works, also try to use -lattr (required for Debian).
2656 AC_MSG_CHECKING(--disable-acl argument)
2658 [ --disable-acl Don't check for ACL support.],
2659 , [enable_acl="yes"])
2660 if test "$enable_acl" = "yes"; then
2662 AC_CHECK_LIB(posix1e, acl_get_file, [LIBS="$LIBS -lposix1e"],
2663 AC_CHECK_LIB(acl, acl_get_file, [LIBS="$LIBS -lacl"
2664 AC_CHECK_LIB(attr, fgetxattr, LIBS="$LIBS -lattr",,)],,),)
2666 AC_MSG_CHECKING(for POSIX ACL support)
2668 #include <sys/types.h>
2669 #ifdef HAVE_SYS_ACL_H
2670 # include <sys/acl.h>
2672 acl_t acl;], [acl = acl_get_file("foo", ACL_TYPE_ACCESS);
2673 acl_set_file("foo", ACL_TYPE_ACCESS, acl);
2675 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_POSIX_ACL),
2678 AC_MSG_CHECKING(for Solaris ACL support)
2680 #ifdef HAVE_SYS_ACL_H
2681 # include <sys/acl.h>
2682 #endif], [acl("foo", GETACLCNT, 0, NULL);
2684 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOLARIS_ACL),
2687 AC_MSG_CHECKING(for AIX ACL support)
2690 # include <stdlib.h>
2691 # include <stddef.h>
2693 #ifdef HAVE_SYS_ACL_H
2694 # include <sys/acl.h>
2696 #ifdef HAVE_SYS_ACCESS_H
2697 # include <sys/access.h>
2701 #include <sys/stat.h>
2704 struct acl *aclent;], [aclsize = sizeof(struct acl);
2705 aclent = (void *)malloc(aclsize);
2706 statacl("foo", STX_NORMAL, aclent, aclsize);
2708 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_AIX_ACL),
2714 AC_MSG_CHECKING(--disable-gpm argument)
2716 [ --disable-gpm Don't use gpm (Linux mouse daemon).], ,
2719 if test "$enable_gpm" = "yes"; then
2721 dnl Checking if gpm support can be compiled
2722 AC_CACHE_CHECK([for gpm], vi_cv_have_gpm,
2723 [olibs="$LIBS" ; LIBS="-lgpm"]
2726 #include <linux/keyboard.h>],
2727 [Gpm_GetLibVersion(NULL);],
2728 dnl Configure defines HAVE_GPM, if it is defined feature.h defines
2729 dnl FEAT_MOUSE_GPM if mouse support is included
2730 [vi_cv_have_gpm=yes],
2731 [vi_cv_have_gpm=no])
2734 if test $vi_cv_have_gpm = yes; then
2742 AC_MSG_CHECKING(--disable-sysmouse argument)
2743 AC_ARG_ENABLE(sysmouse,
2744 [ --disable-sysmouse Don't use sysmouse (mouse in *BSD console).], ,
2745 [enable_sysmouse="yes"])
2747 if test "$enable_sysmouse" = "yes"; then
2749 dnl Checking if sysmouse support can be compiled
2750 dnl Configure defines HAVE_SYSMOUSE, if it is defined feature.h
2751 dnl defines FEAT_SYSMOUSE if mouse support is included
2752 AC_CACHE_CHECK([for sysmouse], vi_cv_have_sysmouse,
2754 [#include <sys/consio.h>
2756 #include <sys/fbio.h>],
2757 [struct mouse_info mouse;
2758 mouse.operation = MOUSE_MODE;
2759 mouse.operation = MOUSE_SHOW;
2760 mouse.u.mode.mode = 0;
2761 mouse.u.mode.signal = SIGUSR2;],
2762 [vi_cv_have_sysmouse=yes],
2763 [vi_cv_have_sysmouse=no])
2765 if test $vi_cv_have_sysmouse = yes; then
2766 AC_DEFINE(HAVE_SYSMOUSE)
2772 dnl rename needs to be checked separately to work on Nextstep with cc
2773 AC_MSG_CHECKING(for rename)
2774 AC_TRY_LINK([#include <stdio.h>], [rename("this", "that")],
2775 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_RENAME),
2778 dnl sysctl() may exist but not the arguments we use
2779 AC_MSG_CHECKING(for sysctl)
2781 [#include <sys/types.h>
2782 #include <sys/sysctl.h>],
2787 mib[1] = HW_USERMEM;
2789 (void)sysctl(mib, 2, &r, &len, (void *)0, (size_t)0);
2791 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSCTL),
2792 AC_MSG_RESULT(not usable))
2794 dnl sysinfo() may exist but not be Linux compatible
2795 AC_MSG_CHECKING(for sysinfo)
2797 [#include <sys/types.h>
2798 #include <sys/sysinfo.h>],
2799 [ struct sysinfo sinfo;
2802 (void)sysinfo(&sinfo);
2805 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSINFO),
2806 AC_MSG_RESULT(not usable))
2808 dnl struct sysinfo may have the mem_unit field or not
2809 AC_MSG_CHECKING(for sysinfo.mem_unit)
2811 [#include <sys/types.h>
2812 #include <sys/sysinfo.h>],
2813 [ struct sysinfo sinfo;
2816 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSINFO_MEM_UNIT),
2819 dnl sysconf() may exist but not support what we want to use
2820 AC_MSG_CHECKING(for sysconf)
2822 [#include <unistd.h>],
2823 [ (void)sysconf(_SC_PAGESIZE);
2824 (void)sysconf(_SC_PHYS_PAGES);
2826 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSCONF),
2827 AC_MSG_RESULT(not usable))
2829 dnl Our own version of AC_CHECK_SIZEOF(int); fixes a bug when sizeof() can't
2830 dnl be printed with "%d", and avoids a warning for cross-compiling.
2832 AC_MSG_CHECKING(size of int)
2833 AC_CACHE_VAL(ac_cv_sizeof_int,
2837 # include <stdlib.h>
2838 # include <stddef.h>
2842 FILE *f=fopen("conftestval", "w");
2844 fprintf(f, "%d\n", (int)sizeof(int));
2847 ac_cv_sizeof_int=`cat conftestval`,
2849 AC_MSG_ERROR(failed to compile test program))])
2850 AC_MSG_RESULT($ac_cv_sizeof_int)
2851 AC_DEFINE_UNQUOTED(SIZEOF_INT, $ac_cv_sizeof_int)
2854 dnl Check for memmove() before bcopy(), makes memmove() be used when both are
2855 dnl present, fixes problem with incompatibility between Solaris 2.4 and 2.5.
2858 #include "confdefs.h"
2859 #ifdef HAVE_STRING_H
2860 # include <string.h>
2863 # include <stdlib.h>
2864 # include <stddef.h>
2868 strcpy(buf, "abcdefghi");
2869 mch_memmove(buf, buf + 2, 3);
2870 if (strncmp(buf, "ababcf", 6))
2872 strcpy(buf, "abcdefghi");
2873 mch_memmove(buf + 2, buf, 3);
2874 if (strncmp(buf, "cdedef", 6))
2876 exit(0); /* libc version works properly. */
2879 AC_CACHE_CHECK([whether memmove handles overlaps],[vim_cv_memmove_handles_overlap],
2881 AC_RUN_IFELSE([[#define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog]],
2883 vim_cv_memmove_handles_overlap=yes
2885 vim_cv_memmove_handles_overlap=no
2887 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_memmove_handles_overlap')
2891 if test "x$vim_cv_memmove_handles_overlap" = "xyes" ; then
2892 AC_DEFINE(USEMEMMOVE)
2894 AC_CACHE_CHECK([whether bcopy handles overlaps],[vim_cv_bcopy_handles_overlap],
2896 AC_RUN_IFELSE([[#define mch_bcopy(s,d,l) bcopy(d,s,l) $bcopy_test_prog]],
2898 vim_cv_bcopy_handles_overlap=yes
2900 vim_cv_bcopy_handles_overlap=no
2902 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_bcopy_handles_overlap')
2906 if test "x$vim_cv_bcopy_handles_overlap" = "xyes" ; then
2909 AC_CACHE_CHECK([whether memcpy handles overlaps],[vim_cv_memcpy_handles_overlap],
2911 AC_RUN_IFELSE([[#define mch_memcpy(s,d,l) memcpy(d,s,l) $bcopy_test_prog]],
2913 vim_cv_memcpy_handles_overlap=yes
2915 vim_cv_memcpy_handles_overlap=no
2917 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_memcpy_handles_overlap')
2921 if test "x$vim_cv_memcpy_handles_overlap" = "xyes" ; then
2922 AC_DEFINE(USEMEMCPY)
2928 dnl Check for multibyte locale functions
2929 dnl Find out if _Xsetlocale() is supported by libX11.
2930 dnl Check if X_LOCALE should be defined.
2932 if test "$enable_multibyte" = "yes"; then
2934 ldflags_save=$LDFLAGS
2935 if test -n "$x_includes" ; then
2936 CFLAGS="$CFLAGS -I$x_includes"
2937 LDFLAGS="$X_LIBS $LDFLAGS -lX11"
2938 AC_MSG_CHECKING(whether X_LOCALE needed)
2939 AC_TRY_COMPILE([#include <X11/Xlocale.h>],,
2940 AC_TRY_LINK_FUNC([_Xsetlocale], [AC_MSG_RESULT(yes)
2941 AC_DEFINE(X_LOCALE)], AC_MSG_RESULT(no)),
2945 LDFLAGS=$ldflags_save
2948 dnl Link with xpg4, it is said to make Korean locale working
2949 AC_CHECK_LIB(xpg4, _xpg4_setrunelocale, [LIBS="$LIBS -lxpg4"],,)
2951 dnl Check how we can run ctags
2952 dnl --version for Exuberant ctags (preferred)
2953 dnl Add --fields=+S to get function signatures for omni completion.
2954 dnl -t for typedefs (many ctags have this)
2955 dnl -s for static functions (Elvis ctags only?)
2956 dnl -v for variables. Dangerous, most ctags take this for 'vgrind style'.
2957 dnl -i+m to test for older Exuberant ctags
2958 AC_MSG_CHECKING(how to create tags)
2959 test -f tags && mv tags tags.save
2960 if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
2961 TAGPRG="ctags -I INIT+ --fields=+S"
2963 (eval etags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags"
2964 (eval etags -c /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags -c"
2965 (eval ctags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags"
2966 (eval ctags -t /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -t"
2967 (eval ctags -ts /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -ts"
2968 (eval ctags -tvs /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -tvs"
2969 (eval ctags -i+m /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -i+m"
2971 test -f tags.save && mv tags.save tags
2972 AC_MSG_RESULT($TAGPRG) AC_SUBST(TAGPRG)
2974 dnl Check how we can run man with a section number
2975 AC_MSG_CHECKING(how to run man with a section nr)
2977 (eval MANPAGER=cat PAGER=cat man -s 2 read) < /dev/null > /dev/null 2>&AC_FD_CC && MANDEF="man -s"
2978 AC_MSG_RESULT($MANDEF)
2979 if test "$MANDEF" = "man -s"; then
2983 dnl Check if gettext() is working and if it needs -lintl
2984 AC_MSG_CHECKING(--disable-nls argument)
2986 [ --disable-nls Don't support NLS (gettext()).], ,
2989 if test "$enable_nls" = "yes"; then
2992 INSTALL_LANGS=install-languages
2993 AC_SUBST(INSTALL_LANGS)
2994 INSTALL_TOOL_LANGS=install-tool-languages
2995 AC_SUBST(INSTALL_TOOL_LANGS)
2997 AC_CHECK_PROG(MSGFMT, msgfmt, msgfmt, )
2998 AC_MSG_CHECKING([for NLS])
2999 if test -f po/Makefile; then
3001 if test -n "$MSGFMT"; then
3003 [#include <libintl.h>],
3005 AC_MSG_RESULT([gettext() works]); have_gettext="yes",
3009 [#include <libintl.h>],
3011 AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes",
3012 AC_MSG_RESULT([gettext() doesn't work]);
3015 AC_MSG_RESULT([msgfmt not found - disabled]);
3017 if test $have_gettext = "yes"; then
3018 AC_DEFINE(HAVE_GETTEXT)
3021 dnl this was added in GNU gettext 0.10.36
3022 AC_CHECK_FUNCS(bind_textdomain_codeset)
3023 dnl _nl_msg_cat_cntr is required for GNU gettext
3024 AC_MSG_CHECKING([for _nl_msg_cat_cntr])
3026 [#include <libintl.h>
3027 extern int _nl_msg_cat_cntr;],
3028 [++_nl_msg_cat_cntr;],
3029 AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_NL_MSG_CAT_CNTR),
3030 AC_MSG_RESULT([no]))
3033 AC_MSG_RESULT([no "po/Makefile" - disabled]);
3039 dnl Check for dynamic linking loader
3040 AC_CHECK_HEADER(dlfcn.h, DLL=dlfcn.h, [AC_CHECK_HEADER(dl.h, DLL=dl.h)])
3041 if test x${DLL} = xdlfcn.h; then
3042 AC_DEFINE(HAVE_DLFCN_H, 1, [ Define if we have dlfcn.h. ])
3043 AC_MSG_CHECKING([for dlopen()])
3045 extern void* dlopen();
3049 AC_DEFINE(HAVE_DLOPEN, 1, [ Define if we have dlopen() ]),
3051 AC_MSG_CHECKING([for dlopen() in -ldl])
3055 extern void* dlopen();
3059 AC_DEFINE(HAVE_DLOPEN, 1, [ Define if we have dlopen() ]),
3062 dnl ReliantUNIX has dlopen() in libc but everything else in libdl
3064 AC_MSG_CHECKING([for dlsym()])
3066 extern void* dlsym();
3070 AC_DEFINE(HAVE_DLSYM, 1, [ Define if we have dlsym() ]),
3072 AC_MSG_CHECKING([for dlsym() in -ldl])
3076 extern void* dlsym();
3080 AC_DEFINE(HAVE_DLSYM, 1, [ Define if we have dlsym() ]),
3083 elif test x${DLL} = xdl.h; then
3084 AC_DEFINE(HAVE_DL_H, 1, [ Define if we have dl.h. ])
3085 AC_MSG_CHECKING([for shl_load()])
3087 extern void* shl_load();
3091 AC_DEFINE(HAVE_SHL_LOAD, 1, [ Define if we have shl_load() ]),
3093 AC_MSG_CHECKING([for shl_load() in -ldld])
3097 extern void* shl_load();
3101 AC_DEFINE(HAVE_SHL_LOAD, 1, [ Define if we have shl_load() ]),
3105 AC_CHECK_HEADERS(setjmp.h)
3107 if test "x$MACOSX" = "xyes" -a -n "$PERL"; then
3108 dnl -ldl must come after DynaLoader.a
3109 if echo $LIBS | grep -e '-ldl' >/dev/null; then
3110 LIBS=`echo $LIBS | sed s/-ldl//`
3111 PERL_LIBS="$PERL_LIBS -ldl"
3115 if test "x$MACOSX" = "xyes" && test "x$CARBON" = "xyes" \
3116 && test "x$GUITYPE" != "xCARBONGUI"; then
3117 AC_MSG_CHECKING(whether we need -framework Carbon)
3118 dnl check for MACOSX without Carbon GUI, but with FEAT_MBYTE
3119 if test "x$enable_multibyte" = "xyes" || test "x$features" = "xbig" \
3120 || test "x$features" = "xhuge"; then
3121 LIBS="$LIBS -framework Carbon"
3127 if test "x$MACARCH" = "xboth"; then
3128 LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
3131 dnl gcc 3.1 changed the meaning of -MM. The only solution appears to be to
3132 dnl use "-isystem" instead of "-I" for all non-Vim include dirs.
3133 dnl But only when making dependencies, cproto and lint don't take "-isystem".
3134 dnl Mac gcc returns "powerpc-apple-darwin8-gcc-4.0.1 (GCC)...", need to allow
3135 dnl the number before the version number.
3136 AC_MSG_CHECKING(for GCC 3 or later)
3137 DEPEND_CFLAGS_FILTER=
3138 if test "$GCC" = yes; then
3139 gccmajor=`echo "$gccversion" | sed -e 's/^\([[1-9]]\)\..*$/\1/g'`
3140 if test "$gccmajor" -gt "2"; then
3141 DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
3144 if test "$DEPEND_CFLAGS_FILTER" = ""; then
3149 AC_SUBST(DEPEND_CFLAGS_FILTER)
3151 dnl write output files
3152 AC_OUTPUT(auto/config.mk:config.mk.in)
3154 dnl vim: set sw=2 tw=78 fo+=l: