blob: b6623d5a1f67c880adf4d11bdd0824f5d7cee29e [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001dnl configure.in: autoconf script for Vim
2
3dnl Process this file with autoconf 2.12 or 2.13 to produce "configure".
4dnl Should also work with autoconf 2.54 and later.
5
6AC_INIT(vim.h)
7AC_CONFIG_HEADER(auto/config.h:config.h.in)
8
9dnl Being able to run configure means the system is Unix (compatible).
10AC_DEFINE(UNIX)
11AC_PROG_MAKE_SET
12
13dnl Checks for programs.
14AC_PROG_CC dnl required by almost everything
15AC_PROG_CPP dnl required by header file checks
16AC_PROGRAM_EGREP dnl required by AC_EGREP_CPP
17AC_ISC_POSIX dnl required by AC_C_CROSS
18AC_PROG_AWK dnl required for "make html" in ../doc
19
20dnl Don't strip if we don't have it
21AC_CHECK_PROG(STRIP, strip, strip, :)
22
Bram Moolenaar325b7a22004-07-05 15:58:32 +000023dnl Check for extension of executables
Bram Moolenaar071d4272004-06-13 20:20:40 +000024AC_EXEEXT
25
26dnl Set default value for CFLAGS if none is defined or it's empty
27if test -z "$CFLAGS"; then
28 CFLAGS="-O"
29 test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall"
30fi
31if test "$GCC" = yes; then
32 gccversion=`"$CC" --version | sed -e '2,$d;s/^[[^0-9]]*\([[0-9]]\.[[0-9.]]*\).*$/\1/g'`
33 if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2"; then
34 echo 'GCC 3.0.x has a bug in the optimizer, disabling "-O#"'
35 CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-O/'`
36 else
37 if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then
38 echo 'GCC 3.1 and 3.2 have a bug in the optimizer, adding "-fno-strength-reduce"'
39 CFLAGS="$CFLAGS -fno-strength-reduce"
40 fi
41 fi
42fi
43
44dnl If configure thinks we are cross compiling, there is probably something
45dnl wrong with the CC or CFLAGS settings, give an understandable error message
46if test "$cross_compiling" = yes; then
47 AC_MSG_ERROR([cannot compile a simple program, check CC and CFLAGS
48 (cross compiling doesn't work)])
49fi
50
51dnl gcc-cpp has the wonderful -MM option to produce nicer dependencies
52test "$GCC" = yes && CPP_MM=M; AC_SUBST(CPP_MM)
53
54if test -f ./toolcheck; then
55 AC_CHECKING(for buggy tools)
56 sh ./toolcheck 1>&AC_FD_MSG
57fi
58
59OS_EXTRA_SRC=""; OS_EXTRA_OBJ=""
60
61dnl Check for BeOS, which needs an extra source file
62AC_MSG_CHECKING(for BeOS)
63case `uname` in
64 BeOS) OS_EXTRA_SRC=os_beos.c; OS_EXTRA_OBJ=objects/os_beos.o
65 BEOS=yes; AC_MSG_RESULT(yes);;
66 *) BEOS=no; AC_MSG_RESULT(no);;
67esac
68
69dnl If QNX is found, assume we don't want to use Xphoton
70dnl unless it was specifically asked for (--with-x)
71AC_MSG_CHECKING(for QNX)
72case `uname` in
73 QNX) OS_EXTRA_SRC=os_qnx.c; OS_EXTRA_OBJ=objects/os_qnx.o
74 test -z "$with_x" && with_x=no
75 QNX=yes; AC_MSG_RESULT(yes);;
76 *) QNX=no; AC_MSG_RESULT(no);;
77esac
78
79dnl Check for Darwin and MacOS X
80dnl We do a check for MacOS X in the very beginning because there
81dnl are a lot of other things we need to change besides GUI stuff
82DEFAULT_VIMNAME=vim
83AC_MSG_CHECKING([for Darwin (Mac OS X)])
84if test "`(uname) 2>/dev/null`" = Darwin; then
85 AC_MSG_RESULT(yes)
86
87 AC_MSG_CHECKING(--disable-darwin argument)
88 AC_ARG_ENABLE(darwin,
89 [ --disable-darwin Disable Darwin (Mac OS X) support.],
90 , [enable_darwin="yes"])
91 if test "$enable_darwin" = "yes"; then
92 AC_MSG_RESULT(no)
93 AC_MSG_CHECKING(if Darwin files are there)
94 if test -f os_macosx.c; then
95 AC_MSG_RESULT(yes)
96 else
97 AC_MSG_RESULT([no, Darwin support disabled])
98 enable_darwin=no
99 fi
100 else
101 AC_MSG_RESULT([yes, Darwin support excluded])
102 fi
103
104 if test "$enable_darwin" = "yes"; then
105 MACOSX=yes
106 OS_EXTRA_SCR="os_macosx.c";
107 OS_EXTRA_OBJ="objects/os_macosx.o"
108 CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -I/Developer/Headers/FlatCarbon -no-cpp-precomp"
109
110 dnl If Carbon is found, assume we don't want X11
111 dnl unless it was specifically asked for (--with-x)
112 AC_CHECK_HEADER(Carbon/Carbon.h, CARBON=yes)
113 if test "x$CARBON" = "xyes"; then
114 if test -z "$with_x"; then
115 with_x=no
116 DEFAULT_VIMNAME=Vim
117 fi
118 fi
119 fi
120else
121 AC_MSG_RESULT(no)
122fi
123
124AC_SUBST(OS_EXTRA_SRC)
125AC_SUBST(OS_EXTRA_OBJ)
126
127dnl Add /usr/local/lib to $LDFLAGS and /usr/local/include to CFLAGS.
128dnl Only when the directory exists and it wasn't there yet.
129dnl For gcc don't do this when it is already in the default search path.
130have_local_include=''
131have_local_lib=''
132if test "$GCC" = yes; then
133 echo 'void f(){}' > conftest.c
134 dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler)
135 have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep '/usr/local/include'`
136 have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep '/usr/local/lib'`
137 rm -f conftest.c conftest.o
138fi
139if test -z "$have_local_lib" -a -d /usr/local/lib; then
140 tt=`echo "$LDFLAGS" | sed -e 's+-L/usr/local/lib ++g' -e 's+-L/usr/local/lib$++g'`
141 if test "$tt" = "$LDFLAGS"; then
142 LDFLAGS="$LDFLAGS -L/usr/local/lib"
143 fi
144fi
145if test -z "$have_local_include" -a -d /usr/local/include; then
146 tt=`echo "$CPPFLAGS" | sed -e 's+-I/usr/local/include ++g' -e 's+-I/usr/local/include$++g'`
147 if test "$tt" = "$CPPFLAGS"; then
148 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
149 fi
150fi
151
152AC_MSG_CHECKING(--with-vim-name argument)
153AC_ARG_WITH(vim-name, [ --with-vim-name=NAME what to call the Vim executable],
154 VIMNAME="$withval"; AC_MSG_RESULT($VIMNAME),
155 VIMNAME="$DEFAULT_VIMNAME"; AC_MSG_RESULT(Defaulting to $VIMNAME))
156AC_SUBST(VIMNAME)
157AC_MSG_CHECKING(--with-ex-name argument)
158AC_ARG_WITH(ex-name, [ --with-ex-name=NAME what to call the Ex executable],
159 EXNAME="$withval"; AC_MSG_RESULT($EXNAME),
160 EXNAME="ex"; AC_MSG_RESULT(Defaulting to ex))
161AC_SUBST(EXNAME)
162AC_MSG_CHECKING(--with-view-name argument)
163AC_ARG_WITH(view-name, [ --with-view-name=NAME what to call the View executable],
164 VIEWNAME="$withval"; AC_MSG_RESULT($VIEWNAME),
165 VIEWNAME="view"; AC_MSG_RESULT(Defaulting to view))
166AC_SUBST(VIEWNAME)
167
168AC_MSG_CHECKING(--with-global-runtime argument)
169AC_ARG_WITH(global-runtime, [ --with-global-runtime=DIR global runtime directory in 'runtimepath'],
170 AC_MSG_RESULT($withval); AC_DEFINE_UNQUOTED(RUNTIME_GLOBAL, "$withval"),
171 AC_MSG_RESULT(no))
172
173AC_MSG_CHECKING(--with-modified-by argument)
174AC_ARG_WITH(modified-by, [ --with-modified-by=NAME name of who modified a release version],
175 AC_MSG_RESULT($withval); AC_DEFINE_UNQUOTED(MODIFIED_BY, "$withval"),
176 AC_MSG_RESULT(no))
177
178dnl Check for EBCDIC stolen from the LYNX port to OS390 Unix
179AC_MSG_CHECKING(if character set is EBCDIC)
180AC_TRY_COMPILE([ ],
181[ /* TryCompile function for CharSet.
182 Treat any failure as ASCII for compatibility with existing art.
183 Use compile-time rather than run-time tests for cross-compiler
184 tolerance. */
185#if '0'!=240
186make an error "Character set is not EBCDIC"
187#endif ],
188[ # TryCompile action if true
189cf_cv_ebcdic=yes ],
190[ # TryCompile action if false
191cf_cv_ebcdic=no])
192# end of TryCompile ])
193# end of CacheVal CvEbcdic
194AC_MSG_RESULT($cf_cv_ebcdic)
195case "$cf_cv_ebcdic" in #(vi
196 yes) AC_DEFINE(EBCDIC)
197 line_break='"\\n"'
198 ;;
199 *) line_break='"\\012"';;
200esac
201AC_SUBST(line_break)
202
203if test "$cf_cv_ebcdic" = "yes"; then
204dnl If we have EBCDIC we most likley have OS390 Unix, let's test it!
205AC_MSG_CHECKING(for OS/390 Unix)
206case `uname` in
207 OS/390) OS390Unix="yes";
208 dnl If using cc the environment variable _CC_CCMODE must be
209 dnl set to "1", so that some compiler extensions are enabled.
210 dnl If using c89 the environment variable is named _CC_C89MODE.
211 dnl Note: compile with c89 never tested.
212 if test "$CC" = "cc"; then
213 ccm="$_CC_CCMODE"
214 ccn="CC"
215 else
216 if test "$CC" = "c89"; then
217 ccm="$_CC_C89MODE"
218 ccn="C89"
219 else
220 ccm=1
221 fi
222 fi
223 if test "$ccm" != "1"; then
224 echo ""
225 echo "------------------------------------------"
226 echo " On OS/390 Unix, the environment variable"
227 echo " __CC_${ccn}MODE must be set to \"1\"!"
228 echo " Do:"
229 echo " export _CC_${ccn}MODE=1"
230 echo " and then call configure again."
231 echo "------------------------------------------"
232 exit 1
233 fi
234 CFLAGS="$CFLAGS -D_ALL_SOURCE"; LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
235 AC_MSG_RESULT(yes)
236 ;;
237 *) OS390Unix="no";
238 AC_MSG_RESULT(no)
239 ;;
240esac
241fi
242
243
244dnl Check user requested features.
245
246AC_MSG_CHECKING(--with-features argument)
247AC_ARG_WITH(features, [ --with-features=TYPE tiny, small, normal, big or huge (default: normal)],
248 features="$withval"; AC_MSG_RESULT($features),
249 features="normal"; AC_MSG_RESULT(Defaulting to normal))
250
251dovimdiff=""
252dogvimdiff=""
253case "$features" in
254 tiny) AC_DEFINE(FEAT_TINY) ;;
255 small) AC_DEFINE(FEAT_SMALL) ;;
256 normal) AC_DEFINE(FEAT_NORMAL) dovimdiff="installvimdiff";
257 dogvimdiff="installgvimdiff" ;;
258 big) AC_DEFINE(FEAT_BIG) dovimdiff="installvimdiff";
259 dogvimdiff="installgvimdiff" ;;
260 huge) AC_DEFINE(FEAT_HUGE) dovimdiff="installvimdiff";
261 dogvimdiff="installgvimdiff" ;;
262 *) AC_MSG_RESULT([Sorry, $features is not supported]) ;;
263esac
264
265AC_SUBST(dovimdiff)
266AC_SUBST(dogvimdiff)
267
268AC_MSG_CHECKING(--with-compiledby argument)
269AC_ARG_WITH(compiledby, [ --with-compiledby=NAME name to show in :version message],
270 compiledby="$withval"; AC_MSG_RESULT($withval),
271 compiledby=""; AC_MSG_RESULT(no))
272AC_SUBST(compiledby)
273
274AC_MSG_CHECKING(--disable-xsmp argument)
275AC_ARG_ENABLE(xsmp,
276 [ --disable-xsmp Disable XSMP session management],
277 , enable_xsmp="yes")
278
279if test "$enable_xsmp" = "yes"; then
280 AC_MSG_RESULT(no)
281 AC_MSG_CHECKING(--disable-xsmp-interact argument)
282 AC_ARG_ENABLE(xsmp-interact,
283 [ --disable-xsmp-interact Disable XSMP interaction],
284 , enable_xsmp_interact="yes")
285 if test "$enable_xsmp_interact" = "yes"; then
286 AC_MSG_RESULT(no)
287 AC_DEFINE(USE_XSMP_INTERACT)
288 else
289 AC_MSG_RESULT(yes)
290 fi
291else
292 AC_MSG_RESULT(yes)
293fi
294
Bram Moolenaar325b7a22004-07-05 15:58:32 +0000295dnl Check for MzScheme feature.
296AC_MSG_CHECKING(--enable-mzschemeinterp argument)
297AC_ARG_ENABLE(mzschemeinterp,
298 [ --enable-mzschemeinterp Include MzScheme interpreter.], ,
299 [enable_mzschemeinterp="no"])
300AC_MSG_RESULT($enable_mzschemeinterp)
301
302if test "$enable_mzschemeinterp" = "yes"; then
303 dnl -- find the mzscheme executable
304 AC_SUBST(vi_cv_path_mzscheme)
305
306 AC_MSG_CHECKING(--with-plthome argument)
307 AC_ARG_WITH(plthome,
308 [ --with-plthome=PLTHOME Use PLTHOME.],
309 with_plthome="$withval"; AC_MSG_RESULT($with_plthome),
310 with_plthome="";AC_MSG_RESULT("no"))
311
312 if test "X$with_plthome" != "X"; then
313 vi_cv_path_mzscheme_pfx="$with_plthome"
314 else
315 AC_MSG_CHECKING(PLTHOME environment var)
316 if test "X$PLTHOME" != "X"; then
317 AC_MSG_RESULT("$PLTHOME")
318 vi_cv_path_mzscheme_pfx="$PLTHOME"
319 else
320 AC_MSG_RESULT("not set")
321 dnl -- try to find MzScheme executable
322 AC_PATH_PROG(vi_cv_path_mzscheme, mzscheme)
323
324 dnl resolve symbolic link, the executable is often elsewhere and there
325 dnl are no links for the include files.
326 if test "X$vi_cv_path_mzscheme" != "X"; then
327 lsout=`ls -l $vi_cv_path_mzscheme`
328 if echo "$lsout" | grep -e '->' >/dev/null 2>/dev/null; then
329 vi_cv_path_mzscheme=`echo "$lsout" | sed 's/.*-> \(.*\)/\1/'`
330 fi
331 fi
332
333 if test "X$vi_cv_path_mzscheme" != "X"; then
334 dnl -- find where MzScheme thinks it was installed
335 AC_CACHE_CHECK(MzScheme install prefix,vi_cv_path_mzscheme_pfx,
336 [ vi_cv_path_mzscheme_pfx=`
337 ${vi_cv_path_mzscheme} -evm \
338 "(display (simplify-path \
339 (build-path (call-with-values \
340 (lambda () (split-path (find-system-path (quote exec-file)))) \
341 (lambda (base name must-be-dir?) base)) (quote up))))"` ])
342 dnl Remove a trailing slash.
343 vi_cv_path_mzscheme_pfx=`echo "$vi_cv_path_mzscheme_pfx" | sed 's+/$++'`
344 fi
345 fi
346 fi
347
348 if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
349 AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include)
350 if test -f $vi_cv_path_mzscheme_pfx/include/scheme.h; then
351 AC_MSG_RESULT("yes")
352 else
353 AC_MSG_RESULT("no")
354 vi_cv_path_mzscheme_pfx=
355 fi
356 fi
357
358 if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
359 if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then
360 MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a ${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a"
361 else
362 MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzgc -lmzscheme"
363 fi
364 MZSCHEME_CFLAGS="-I${vi_cv_path_mzscheme_pfx}/include \
365 -DMZSCHEME_COLLECTS='\"${vi_cv_path_mzscheme_pfx}/collects\"'"
366 MZSCHEME_SRC="if_mzsch.c"
367 MZSCHEME_OBJ="objects/if_mzsch.o"
368 MZSCHEME_PRO="if_mzsch.pro"
369 AC_DEFINE(FEAT_MZSCHEME)
370 fi
371 AC_SUBST(MZSCHEME_SRC)
372 AC_SUBST(MZSCHEME_OBJ)
373 AC_SUBST(MZSCHEME_PRO)
374 AC_SUBST(MZSCHEME_LIBS)
375 AC_SUBST(MZSCHEME_CFLAGS)
376fi
377
378
Bram Moolenaar071d4272004-06-13 20:20:40 +0000379AC_MSG_CHECKING(--enable-perlinterp argument)
380AC_ARG_ENABLE(perlinterp,
381 [ --enable-perlinterp Include Perl interpreter.], ,
382 [enable_perlinterp="no"])
383AC_MSG_RESULT($enable_perlinterp)
384if test "$enable_perlinterp" = "yes"; then
385 AC_SUBST(vi_cv_path_perl)
386 AC_PATH_PROG(vi_cv_path_perl, perl)
387 if test "X$vi_cv_path_perl" != "X"; then
388 AC_MSG_CHECKING(Perl version)
389 if $vi_cv_path_perl -e 'require 5.003_01' >/dev/null 2>/dev/null; then
390 eval `$vi_cv_path_perl -V:usethreads`
391 if test "X$usethreads" = "XUNKNOWN" -o "X$usethreads" = "Xundef"; then
392 badthreads=no
393 else
394 if $vi_cv_path_perl -e 'require 5.6.0' >/dev/null 2>/dev/null; then
395 eval `$vi_cv_path_perl -V:use5005threads`
396 if test "X$use5005threads" = "XUNKNOWN" -o "X$use5005threads" = "Xundef"; then
397 badthreads=no
398 else
399 badthreads=yes
400 AC_MSG_RESULT(>>> Perl > 5.6 with 5.5 threads cannot be used <<<)
401 fi
402 else
403 badthreads=yes
404 AC_MSG_RESULT(>>> Perl 5.5 with threads cannot be used <<<)
405 fi
406 fi
407 if test $badthreads = no; then
408 AC_MSG_RESULT(OK)
409 eval `$vi_cv_path_perl -V:shrpenv`
410 if test "X$shrpenv" = "XUNKNOWN"; then # pre 5.003_04
411 shrpenv=""
412 fi
413 vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlibexp}'`
414 AC_SUBST(vi_cv_perllib)
415 dnl Remove "-fno-something", it breaks using cproto.
416 perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
417 -e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[[^ ]]*//'`
418 dnl Remove "-lc", it breaks on FreeBSD when using "-pthread".
419 perllibs=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed -e 'ldopts' | \
420 sed -e '/Warning/d' -e '/Note (probably harmless)/d' \
421 -e 's/-bE:perl.exp//' -e 's/-lc //'`
422 dnl Don't add perl lib to $LIBS: if it's not in LD_LIBRARY_PATH
423 dnl a test in configure may fail because of that.
424 perlldflags=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed \
425 -e 'ccdlflags' | sed -e 's/-bE:perl.exp//'`
426
427 dnl check that compiling a simple program still works with the flags
428 dnl added for Perl.
429 AC_MSG_CHECKING([if compile and link flags for Perl are sane])
430 cflags_save=$CFLAGS
431 libs_save=$LIBS
432 ldflags_save=$LDFLAGS
433 CFLAGS="$CFLAGS $perlcppflags"
434 LIBS="$LIBS $perllibs"
435 LDFLAGS="$perlldflags $LDFLAGS"
436 AC_TRY_LINK(,[ ],
437 AC_MSG_RESULT(yes); perl_ok=yes,
438 AC_MSG_RESULT(no: PERL DISABLED); perl_ok=no)
439 CFLAGS=$cflags_save
440 LIBS=$libs_save
441 LDFLAGS=$ldflags_save
442 if test $perl_ok = yes; then
443 if test "X$perlcppflags" != "X"; then
444 PERL_CFLAGS="$perlcppflags"
445 fi
446 if test "X$perlldflags" != "X"; then
447 LDFLAGS="$perlldflags $LDFLAGS"
448 fi
449 PERL_LIBS=$perllibs
450 PERL_SRC="auto/if_perl.c if_perlsfio.c"
451 PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o"
452 PERL_PRO="if_perl.pro if_perlsfio.pro"
453 AC_DEFINE(FEAT_PERL)
454 fi
455 fi
456 else
457 AC_MSG_RESULT(>>> too old; need Perl version 5.003_01 or later <<<)
458 fi
459 fi
460
461 if test "x$MACOSX" = "xyes"; then
462 dnl Mac OS X 10.2 or 10.3
463 dir=/System/Library/Perl
464 darwindir=$dir/darwin
465 if test -d $darwindir; then
466 PERL=/usr/bin/perl
467 else
468 dnl Mac OS X 10.3
469 dir=/System/Library/Perl/5.8.1
470 darwindir=$dir/darwin-thread-multi-2level
471 if test -d $darwindir; then
472 PERL=/usr/bin/perl
473 fi
474 fi
475 if test -n "$PERL"; then
476 PERL_DIR="$dir"
477 PERL_CFLAGS="-DFEAT_PERL -I$darwindir/CORE"
478 PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o $darwindir/auto/DynaLoader/DynaLoader.a"
479 PERL_LIBS="-L$darwindir/CORE -lperl"
480 fi
481 fi
482fi
483AC_SUBST(shrpenv)
484AC_SUBST(PERL_SRC)
485AC_SUBST(PERL_OBJ)
486AC_SUBST(PERL_PRO)
487AC_SUBST(PERL_CFLAGS)
488AC_SUBST(PERL_LIBS)
489
490AC_MSG_CHECKING(--enable-pythoninterp argument)
491AC_ARG_ENABLE(pythoninterp,
492 [ --enable-pythoninterp Include Python interpreter.], ,
493 [enable_pythoninterp="no"])
494AC_MSG_RESULT($enable_pythoninterp)
495if test "$enable_pythoninterp" = "yes"; then
496 dnl -- find the python executable
497 AC_PATH_PROG(vi_cv_path_python, python)
498 if test "X$vi_cv_path_python" != "X"; then
499
500 dnl -- get its version number
501 AC_CACHE_CHECK(Python version,vi_cv_var_python_version,
502 [[vi_cv_var_python_version=`
503 ${vi_cv_path_python} -c 'import sys; print sys.version[:3]'`
504 ]])
505
506 dnl -- it must be at least version 1.4
507 AC_MSG_CHECKING(Python is 1.4 or better)
508 if ${vi_cv_path_python} -c \
509 "import sys; sys.exit(${vi_cv_var_python_version} < 1.4)"
510 then
511 AC_MSG_RESULT(yep)
512
513 dnl -- find where python thinks it was installed
514 AC_CACHE_CHECK(Python's install prefix,vi_cv_path_python_pfx,
515 [ vi_cv_path_python_pfx=`
516 ${vi_cv_path_python} -c \
517 "import sys; print sys.prefix"` ])
518
519 dnl -- and where it thinks it runs
520 AC_CACHE_CHECK(Python's execution prefix,vi_cv_path_python_epfx,
521 [ vi_cv_path_python_epfx=`
522 ${vi_cv_path_python} -c \
523 "import sys; print sys.exec_prefix"` ])
524
525 dnl -- python's internal library path
526
527 AC_CACHE_VAL(vi_cv_path_pythonpath,
528 [ vi_cv_path_pythonpath=`
529 unset PYTHONPATH;
530 ${vi_cv_path_python} -c \
531 "import sys, string; print string.join(sys.path,':')"` ])
532
533 dnl -- where the Python implementation library archives are
534
535 AC_ARG_WITH(python-config-dir,
536 [ --with-python-config-dir=PATH Python's config directory],
537 [ vi_cv_path_python_conf="${withval}" ] )
538
539 AC_CACHE_CHECK(Python's configuration directory,vi_cv_path_python_conf,
540 [
541 vi_cv_path_python_conf=
542 for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do
543 for subdir in lib share; do
544 d="${path}/${subdir}/python${vi_cv_var_python_version}/config"
545 if test -d "$d" && test -f "$d/config.c"; then
546 vi_cv_path_python_conf="$d"
547 fi
548 done
549 done
550 ])
551
552 PYTHON_CONFDIR="${vi_cv_path_python_conf}"
553
554 if test "X$PYTHON_CONFDIR" = "X"; then
555 AC_MSG_RESULT([can't find it!])
556 else
557
558 dnl -- we need to examine Python's config/Makefile too
559 dnl see what the interpreter is built from
560 AC_CACHE_VAL(vi_cv_path_python_plibs,
561 [
562 tmp_mkf="/tmp/Makefile-conf$$"
563 cat ${PYTHON_CONFDIR}/Makefile - <<'eof' >${tmp_mkf}
564__:
565 @echo "python_MODLIBS='$(MODLIBS)'"
566 @echo "python_LIBS='$(LIBS)'"
567 @echo "python_SYSLIBS='$(SYSLIBS)'"
568 @echo "python_LINKFORSHARED='$(LINKFORSHARED)'"
569eof
570 dnl -- delete the lines from make about Entering/Leaving directory
571 eval "`cd ${PYTHON_CONFDIR} && make -f ${tmp_mkf} __ | sed '/ directory /d'`"
572 rm -f ${tmp_mkf}
573 if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \
574 "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
575 vi_cv_path_python_plibs="-framework Python"
576 else
577 if test "${vi_cv_var_python_version}" = "1.4"; then
578 vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a"
579 else
580 vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
581 fi
582 vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_MODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
583 dnl remove -ltermcap, it can conflict with an earlier -lncurses
584 vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
585 fi
586 ])
587
588 PYTHON_LIBS="${vi_cv_path_python_plibs}"
589 if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
590 PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version}"
591 else
592 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}"
593 fi
594 PYTHON_SRC="if_python.c"
595 dnl For Mac OSX 10.2 config.o is included in the Python library.
596 if test "x$MACOSX" = "xyes"; then
597 PYTHON_OBJ="objects/if_python.o"
598 else
599 PYTHON_OBJ="objects/if_python.o objects/py_config.o"
600 fi
601 if test "${vi_cv_var_python_version}" = "1.4"; then
602 PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
603 fi
604 PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
605
606 dnl On FreeBSD linking with "-pthread" is required to use threads.
607 dnl _THREAD_SAFE must be used for compiling then.
608 dnl The "-pthread" is added to $LIBS, so that the following check for
609 dnl sigaltstack() will look in libc_r (it's there in libc!).
610 dnl Otherwise, when using GCC, try adding -pthread to $CFLAGS. GCC
611 dnl will then define target-specific defines, e.g., -D_REENTRANT.
612 dnl Don't do this for Mac OSX, -pthread will generate a warning.
613 AC_MSG_CHECKING([if -pthread should be used])
614 threadsafe_flag=
615 thread_lib=
616 if test "x$MACOSX" != "xyes"; then
617 test "$GCC" = yes && threadsafe_flag="-pthread"
618 if test "`(uname) 2>/dev/null`" = FreeBSD; then
619 threadsafe_flag="-D_THREAD_SAFE"
620 thread_lib="-pthread"
621 fi
622 fi
623 libs_save_old=$LIBS
624 if test -n "$threadsafe_flag"; then
625 cflags_save=$CFLAGS
626 CFLAGS="$CFLAGS $threadsafe_flag"
627 LIBS="$LIBS $thread_lib"
628 AC_TRY_LINK(,[ ],
629 AC_MSG_RESULT(yes); PYTHON_CFLAGS="$PYTHON_CFLAGS $threadsafe_flag",
630 AC_MSG_RESULT(no); LIBS=$libs_save_old
631 )
632 CFLAGS=$cflags_save
633 else
634 AC_MSG_RESULT(no)
635 fi
636
637 dnl check that compiling a simple program still works with the flags
638 dnl added for Python.
639 AC_MSG_CHECKING([if compile and link flags for Python are sane])
640 cflags_save=$CFLAGS
641 libs_save=$LIBS
642 CFLAGS="$CFLAGS $PYTHON_CFLAGS"
643 LIBS="$LIBS $PYTHON_LIBS"
644 AC_TRY_LINK(,[ ],
645 AC_MSG_RESULT(yes); python_ok=yes,
646 AC_MSG_RESULT(no: PYTHON DISABLED); python_ok=no)
647 CFLAGS=$cflags_save
648 LIBS=$libs_save
649 if test $python_ok = yes; then
650 AC_DEFINE(FEAT_PYTHON)
651 else
652 LIBS=$libs_save_old
653 PYTHON_SRC=
654 PYTHON_OBJ=
655 PYTHON_LIBS=
656 PYTHON_CFLAGS=
657 fi
658
659 fi
660 else
661 AC_MSG_RESULT(too old)
662 fi
663 fi
664fi
665AC_SUBST(PYTHON_CONFDIR)
666AC_SUBST(PYTHON_LIBS)
667AC_SUBST(PYTHON_GETPATH_CFLAGS)
668AC_SUBST(PYTHON_CFLAGS)
669AC_SUBST(PYTHON_SRC)
670AC_SUBST(PYTHON_OBJ)
671
672AC_MSG_CHECKING(--enable-tclinterp argument)
673AC_ARG_ENABLE(tclinterp,
674 [ --enable-tclinterp Include Tcl interpreter.], ,
675 [enable_tclinterp="no"])
676AC_MSG_RESULT($enable_tclinterp)
677
678if test "$enable_tclinterp" = "yes"; then
679
680 dnl on FreeBSD tclsh is a silly script, look for tclsh8.0 or tclsh8.2
681 AC_MSG_CHECKING(--with-tclsh argument)
682 AC_ARG_WITH(tclsh, [ --with-tclsh=PATH which tclsh to use (default: tclsh8.0)],
683 tclsh_name="$withval"; AC_MSG_RESULT($tclsh_name),
684 tclsh_name="tclsh8.0"; AC_MSG_RESULT(no))
685 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
686 AC_SUBST(vi_cv_path_tcl)
687
688 dnl when no specific version specified, also try 8.2
689 if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.0"; then
690 tclsh_name="tclsh8.2"
691 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
692 fi
693 dnl still didn't find it, try without version number
694 if test "X$vi_cv_path_tcl" = "X"; then
695 tclsh_name="tclsh"
696 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
697 fi
698 if test "X$vi_cv_path_tcl" != "X"; then
699 AC_MSG_CHECKING(Tcl version)
700 if echo 'exit [[expr [info tclversion] < 8.0]]' | $vi_cv_path_tcl - ; then
701 tclver=`echo 'puts [[info tclversion]]' | $vi_cv_path_tcl -`
702 AC_MSG_RESULT($tclver - OK);
703 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 -`
704
705 AC_MSG_CHECKING(for location of Tcl include)
706 if test "x$MACOSX" != "xyes"; then
707 tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include"
708 else
709 dnl For Mac OS X 10.3, use the OS-provided framework location
710 tclinc="/System/Library/Frameworks/Tcl.framework/Headers"
711 fi
712 for try in $tclinc; do
713 if test -f "$try/tcl.h"; then
714 AC_MSG_RESULT($try/tcl.h)
715 TCL_INC=$try
716 break
717 fi
718 done
719 if test -z "$TCL_INC"; then
720 AC_MSG_RESULT(<not found>)
721 SKIP_TCL=YES
722 fi
723 if test -z "$SKIP_TCL"; then
724 AC_MSG_CHECKING(for location of tclConfig.sh script)
725 if test "x$MACOSX" != "xyes"; then
726 tclcnf=`echo $tclinc | sed s/include/lib/g`
727 else
728 dnl For Mac OS X 10.3, use the OS-provided framework location
729 tclcnf="/System/Library/Frameworks/Tcl.framework"
730 fi
731 for try in $tclcnf; do
732 if test -f $try/tclConfig.sh; then
733 AC_MSG_RESULT($try/tclConfig.sh)
734 . $try/tclConfig.sh
735 dnl use eval, because tcl 8.2 includes ${TCL_DBGX}
736 TCL_LIBS=`eval echo "$TCL_LIB_SPEC $TCL_LIBS"`
737 dnl Use $TCL_DEFS for -D_THREAD_SAFE et al. But only use the
738 dnl "-D_ABC" items.
739 TCL_DEFS=`echo $TCL_DEFS | tr ' ' '\012' | sed -e '/^-[[^D]]/d' -e '/-D[[^_]]/d' -e 's/-D_/ -D_/' | tr -d '\012'`
740 break
741 fi
742 done
743 if test -z "$TCL_LIBS"; then
744 AC_MSG_RESULT(<not found>)
745 AC_MSG_CHECKING(for Tcl library by myself)
746 tcllib=`echo $tclinc | sed s/include/lib/g`
747 for ext in .so .a ; do
748 for ver in "" $tclver ; do
749 for try in $tcllib ; do
750 trylib=tcl$ver$ext
751 if test -f $try/lib$trylib ; then
752 AC_MSG_RESULT($try/lib$trylib)
753 TCL_LIBS="-L$try -ltcl$ver -ldl -lm"
754 if test "`(uname) 2>/dev/null`" = SunOS &&
755 uname -r | grep '^5' >/dev/null; then
756 TCL_LIBS="$TCL_LIBS -R $try"
757 fi
758 break 3
759 fi
760 done
761 done
762 done
763 if test -z "$TCL_LIBS"; then
764 AC_MSG_RESULT(<not found>)
765 SKIP_TCL=YES
766 fi
767 fi
768 if test -z "$SKIP_TCL"; then
769 AC_DEFINE(FEAT_TCL)
770 TCL_SRC=if_tcl.c
771 TCL_OBJ=objects/if_tcl.o
772 TCL_PRO=if_tcl.pro
773 TCL_CFLAGS="-I$TCL_INC $TCL_DEFS"
774 fi
775 fi
776 else
777 AC_MSG_RESULT(too old; need Tcl version 8.0 or later)
778 fi
779 fi
780fi
781AC_SUBST(TCL_SRC)
782AC_SUBST(TCL_OBJ)
783AC_SUBST(TCL_PRO)
784AC_SUBST(TCL_CFLAGS)
785AC_SUBST(TCL_LIBS)
786
787AC_MSG_CHECKING(--enable-rubyinterp argument)
788AC_ARG_ENABLE(rubyinterp,
789 [ --enable-rubyinterp Include Ruby interpreter.], ,
790 [enable_rubyinterp="no"])
791AC_MSG_RESULT($enable_rubyinterp)
792if test "$enable_rubyinterp" = "yes"; then
793 AC_SUBST(vi_cv_path_ruby)
794 AC_PATH_PROG(vi_cv_path_ruby, ruby)
795 if test "X$vi_cv_path_ruby" != "X"; then
796 AC_MSG_CHECKING(Ruby version)
797 if $vi_cv_path_ruby -e 'VERSION >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
798 AC_MSG_RESULT(OK)
799 AC_MSG_CHECKING(Ruby header files)
800 rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null`
801 if test "X$rubyhdrdir" != "X"; then
802 AC_MSG_RESULT($rubyhdrdir)
803 RUBY_CFLAGS="-I$rubyhdrdir"
804 rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'`
805 if test "X$rubylibs" != "X"; then
806 RUBY_LIBS="$rubylibs"
807 fi
808 librubyarg=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["LIBRUBYARG"]])'`
809 if test -f "$rubyhdrdir/$librubyarg"; then
810 librubyarg="$rubyhdrdir/$librubyarg"
811 else
812 rubylibdir=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["libdir"]])'`
813 if test -f "$rubylibdir/$librubyarg"; then
814 librubyarg="$rubylibdir/$librubyarg"
815 elif test "$librubyarg" = "libruby.a"; then
816 dnl required on Mac OS 10.3 where libruby.a doesn't exist
817 librubyarg="-lruby"
818 else
819 librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, %'-L#{Config.expand(Config::CONFIG[\"libdir\"])}')"`
820 fi
821 fi
822
823 if test "X$librubyarg" != "X"; then
824 RUBY_LIBS="$librubyarg $RUBY_LIBS"
825 fi
826 rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LDFLAGS"]]'`
827 if test "X$rubyldflags" != "X"; then
828 LDFLAGS="$rubyldflags $LDFLAGS"
829 fi
830 RUBY_SRC="if_ruby.c"
831 RUBY_OBJ="objects/if_ruby.o"
832 RUBY_PRO="if_ruby.pro"
833 AC_DEFINE(FEAT_RUBY)
834 else
835 AC_MSG_RESULT(not found, disabling Ruby)
836 fi
837 else
838 AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later)
839 fi
840 fi
841fi
842AC_SUBST(RUBY_SRC)
843AC_SUBST(RUBY_OBJ)
844AC_SUBST(RUBY_PRO)
845AC_SUBST(RUBY_CFLAGS)
846AC_SUBST(RUBY_LIBS)
847
848AC_MSG_CHECKING(--enable-cscope argument)
849AC_ARG_ENABLE(cscope,
850 [ --enable-cscope Include cscope interface.], ,
851 [enable_cscope="no"])
852AC_MSG_RESULT($enable_cscope)
853if test "$enable_cscope" = "yes"; then
854 AC_DEFINE(FEAT_CSCOPE)
855fi
856
857AC_MSG_CHECKING(--enable-workshop argument)
858AC_ARG_ENABLE(workshop,
859 [ --enable-workshop Include Sun Visual Workshop support.], ,
860 [enable_workshop="no"])
861AC_MSG_RESULT($enable_workshop)
862if test "$enable_workshop" = "yes"; then
863 AC_DEFINE(FEAT_SUN_WORKSHOP)
864 WORKSHOP_SRC="workshop.c integration.c"
865 AC_SUBST(WORKSHOP_SRC)
866 WORKSHOP_OBJ="objects/workshop.o objects/integration.o"
867 AC_SUBST(WORKSHOP_OBJ)
868 if test "${enable_gui-xxx}" = xxx; then
869 enable_gui=motif
870 fi
871fi
872
873AC_MSG_CHECKING(--disable-netbeans argument)
874AC_ARG_ENABLE(netbeans,
875 [ --disable-netbeans Disable NetBeans integration support.],
876 , [enable_netbeans="yes"])
877if test "$enable_netbeans" = "yes"; then
878 AC_MSG_RESULT(no)
879 dnl On Solaris we need the socket and nsl library.
880 AC_CHECK_LIB(socket, socket)
881 AC_CHECK_LIB(nsl, gethostbyname)
882 AC_MSG_CHECKING(whether compiling netbeans integration is possible)
883 AC_TRY_LINK([
884#include <stdio.h>
885#include <stdlib.h>
886#include <stdarg.h>
887#include <fcntl.h>
888#include <netdb.h>
889#include <netinet/in.h>
890#include <errno.h>
891#include <sys/types.h>
892#include <sys/socket.h>
893 /* Check bitfields */
894 struct nbbuf {
895 unsigned int initDone:1;
896 ushort signmaplen;
897 };
898 ], [
899 /* Check creating a socket. */
900 struct sockaddr_in server;
901 (void)socket(AF_INET, SOCK_STREAM, 0);
902 (void)htons(100);
903 (void)gethostbyname("microsoft.com");
904 if (errno == ECONNREFUSED)
905 (void)connect(1, (struct sockaddr *)&server, sizeof(server));
906 ],
907 AC_MSG_RESULT(yes),
908 AC_MSG_RESULT(no); enable_netbeans="no")
909else
910 AC_MSG_RESULT(yes)
911fi
912if test "$enable_netbeans" = "yes"; then
913 AC_DEFINE(FEAT_NETBEANS_INTG)
914 NETBEANS_SRC="netbeans.c"
915 AC_SUBST(NETBEANS_SRC)
916 NETBEANS_OBJ="objects/netbeans.o"
917 AC_SUBST(NETBEANS_OBJ)
918fi
919
920AC_MSG_CHECKING(--enable-sniff argument)
921AC_ARG_ENABLE(sniff,
922 [ --enable-sniff Include Sniff interface.], ,
923 [enable_sniff="no"])
924AC_MSG_RESULT($enable_sniff)
925if test "$enable_sniff" = "yes"; then
926 AC_DEFINE(FEAT_SNIFF)
927 SNIFF_SRC="if_sniff.c"
928 AC_SUBST(SNIFF_SRC)
929 SNIFF_OBJ="objects/if_sniff.o"
930 AC_SUBST(SNIFF_OBJ)
931fi
932
933AC_MSG_CHECKING(--enable-multibyte argument)
934AC_ARG_ENABLE(multibyte,
935 [ --enable-multibyte Include multibyte editing support.], ,
936 [enable_multibyte="no"])
937AC_MSG_RESULT($enable_multibyte)
938if test "$enable_multibyte" = "yes"; then
939 AC_DEFINE(FEAT_MBYTE)
940fi
941
942AC_MSG_CHECKING(--enable-hangulinput argument)
943AC_ARG_ENABLE(hangulinput,
944 [ --enable-hangulinput Include Hangul input support.], ,
945 [enable_hangulinput="no"])
946AC_MSG_RESULT($enable_hangulinput)
947
948AC_MSG_CHECKING(--enable-xim argument)
949AC_ARG_ENABLE(xim,
950 [ --enable-xim Include XIM input support.],
951 AC_MSG_RESULT($enable_xim),
952 [enable_xim="auto"; AC_MSG_RESULT(defaulting to auto)])
953dnl defining FEAT_XIM is delayed, so that it can be disabled for older GTK
954
955AC_MSG_CHECKING(--enable-fontset argument)
956AC_ARG_ENABLE(fontset,
957 [ --enable-fontset Include X fontset output support.], ,
958 [enable_fontset="no"])
959AC_MSG_RESULT($enable_fontset)
960dnl defining FEAT_XFONTSET is delayed, so that it can be disabled for no GUI
961
962test -z "$with_x" && with_x=yes
963test "${enable_gui-yes}" != no -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && with_x=yes
964if test "$with_x" = no; then
965 AC_MSG_RESULT(defaulting to: don't HAVE_X11)
966else
967 dnl Do this check early, so that its failure can override user requests.
968
969 AC_PATH_PROG(xmkmfpath, xmkmf)
970
971 AC_PATH_XTRA
972
973 dnl On OS390Unix the X libraries are DLLs. To use them the code must
974 dnl be compiled with a special option.
975 dnl Also add SM, ICE and Xmu to X_EXTRA_LIBS.
976 if test "$OS390Unix" = "yes"; then
977 CFLAGS="$CFLAGS -W c,dll"
978 LDFLAGS="$LDFLAGS -W l,dll"
979 X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE -lXmu"
980 fi
981
982 dnl On my HPUX system the X include dir is found, but the lib dir not.
983 dnl This is a desparate try to fix this.
984
985 if test -d "$x_includes" && test ! -d "$x_libraries"; then
986 x_libraries=`echo "$x_includes" | sed s/include/lib/`
987 AC_MSG_RESULT(Corrected X libraries to $x_libraries)
988 X_LIBS="$X_LIBS -L$x_libraries"
989 if test "`(uname) 2>/dev/null`" = SunOS &&
990 uname -r | grep '^5' >/dev/null; then
991 X_LIBS="$X_LIBS -R $x_libraries"
992 fi
993 fi
994
995 if test -d "$x_libraries" && test ! -d "$x_includes"; then
996 x_includes=`echo "$x_libraries" | sed s/lib/include/`
997 AC_MSG_RESULT(Corrected X includes to $x_includes)
998 X_CFLAGS="$X_CFLAGS -I$x_includes"
999 fi
1000
1001 dnl Remove "-I/usr/include " from X_CFLAGS, should not be needed.
1002 X_CFLAGS="`echo $X_CFLAGS\ | sed 's%-I/usr/include %%'`"
1003 dnl Remove "-L/usr/lib " from X_LIBS, should not be needed.
1004 X_LIBS="`echo $X_LIBS\ | sed 's%-L/usr/lib %%'`"
1005 dnl Same for "-R/usr/lib ".
1006 X_LIBS="`echo $X_LIBS\ | sed -e 's%-R/usr/lib %%' -e 's%-R /usr/lib %%'`"
1007
1008
1009 dnl Check if the X11 header files are correctly installed. On some systems
1010 dnl Xlib.h includes files that don't exist
1011 AC_MSG_CHECKING(if X11 header files can be found)
1012 cflags_save=$CFLAGS
1013 CFLAGS="$CFLAGS $X_CFLAGS"
1014 AC_TRY_COMPILE([#include <X11/Xlib.h>], ,
1015 AC_MSG_RESULT(yes),
1016 AC_MSG_RESULT(no); no_x=yes)
1017 CFLAGS=$cflags_save
1018
1019 if test "${no_x-no}" = yes; then
1020 with_x=no
1021 else
1022 AC_DEFINE(HAVE_X11)
1023 X_LIB="-lXt -lX11";
1024 AC_SUBST(X_LIB)
1025
1026 ac_save_LDFLAGS="$LDFLAGS"
1027 LDFLAGS="-L$x_libraries $LDFLAGS"
1028
1029 dnl Check for -lXdmcp (needed on SunOS 4.1.4)
1030 dnl For HP-UX 10.20 it must be before -lSM -lICE
1031 AC_CHECK_LIB(Xdmcp, _XdmcpAuthDoIt, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lXdmcp"],,
1032 [-lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lXdmcp])
1033
1034 dnl Some systems need -lnsl -lsocket when testing for ICE.
1035 dnl The check above doesn't do this, try here (again). Also needed to get
1036 dnl them after Xdmcp. link.sh will remove them when not needed.
1037 dnl Check for other function than above to avoid the cached value
1038 AC_CHECK_LIB(ICE, IceOpenConnection,
1039 [X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE"],, [$X_EXTRA_LIBS])
1040
1041 dnl Check for -lXpm (needed for some versions of Motif)
1042 LDFLAGS="$X_LIBS $ac_save_LDFLAGS"
1043 AC_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [X_PRE_LIBS="$X_PRE_LIBS -lXpm"],,
1044 [-lXt $X_PRE_LIBS -lXpm -lX11 $X_EXTRA_LIBS])
1045
1046 dnl Check that the X11 header files don't use implicit declarations
1047 AC_MSG_CHECKING(if X11 header files implicitly declare return values)
1048 cflags_save=$CFLAGS
1049 CFLAGS="$CFLAGS $X_CFLAGS -Werror"
1050 AC_TRY_COMPILE([#include <X11/Xlib.h>], ,
1051 AC_MSG_RESULT(no),
1052 CFLAGS="$CFLAGS -Wno-implicit-int"
1053 AC_TRY_COMPILE([#include <X11/Xlib.h>], ,
1054 AC_MSG_RESULT(yes); cflags_save="$cflags_save -Wno-implicit-int",
1055 AC_MSG_RESULT(test failed)
1056 )
1057 )
1058 CFLAGS=$cflags_save
1059
1060 LDFLAGS="$ac_save_LDFLAGS"
1061
1062 fi
1063fi
1064
1065test "x$with_x" = xno -a "x$BEOS" != "xyes" -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
1066
1067AC_MSG_CHECKING(--enable-gui argument)
1068AC_ARG_ENABLE(gui,
Bram Moolenaar843ee412004-06-30 16:16:41 +00001069 [ --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/kde/motif/athena/neXtaw/beos/photon/carbon]], , enable_gui="auto")
Bram Moolenaar071d4272004-06-13 20:20:40 +00001070
1071dnl Canonicalize the --enable-gui= argument so that it can be easily compared.
1072dnl Do not use character classes for portability with old tools.
1073enable_gui_canon=`echo "_$enable_gui" | \
1074 sed 's/[[ _+-]]//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
1075
1076dnl Skip everything by default.
1077SKIP_GTK=YES
1078SKIP_GTK2=YES
1079SKIP_GNOME=YES
Bram Moolenaar592e0a22004-07-03 16:05:59 +00001080SKIP_KDE=YES
Bram Moolenaar071d4272004-06-13 20:20:40 +00001081SKIP_MOTIF=YES
1082SKIP_ATHENA=YES
1083SKIP_NEXTAW=YES
1084SKIP_PHOTON=YES
1085SKIP_BEOS=YES
1086SKIP_CARBON=YES
1087GUITYPE=NONE
1088
1089if test "x$BEOS" = "xyes"; then
1090 SKIP_BEOS=
1091 case "$enable_gui_canon" in
1092 no) AC_MSG_RESULT(no GUI support)
1093 SKIP_BEOS=YES ;;
1094 yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;;
1095 auto) AC_MSG_RESULT(auto - automatic GUI support) ;;
1096 beos) AC_MSG_RESULT(BeOS GUI support) ;;
1097 *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
1098 SKIP_BEOS=YES ;;
1099 esac
1100
1101elif test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
1102 SKIP_PHOTON=
1103 case "$enable_gui_canon" in
1104 no) AC_MSG_RESULT(no GUI support)
1105 SKIP_PHOTON=YES ;;
1106 yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;;
1107 auto) AC_MSG_RESULT(auto - automatic GUI support) ;;
1108 photon) AC_MSG_RESULT(Photon GUI support) ;;
1109 *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
1110 SKIP_PHOTON=YES ;;
1111 esac
1112
1113elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then
1114 SKIP_CARBON=
1115 case "$enable_gui_canon" in
1116 no) AC_MSG_RESULT(no GUI support)
1117 SKIP_CARBON=YES ;;
1118 yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;;
1119 auto) AC_MSG_RESULT(auto - automatic GUI support) ;;
1120 carbon) AC_MSG_RESULT(Carbon GUI support) ;;
1121 *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
1122 SKIP_CARBON=YES ;;
1123 esac
1124
1125else
1126
Bram Moolenaar071d4272004-06-13 20:20:40 +00001127 case "$enable_gui_canon" in
1128 no|none) AC_MSG_RESULT(no GUI support) ;;
1129 yes|""|auto) AC_MSG_RESULT(yes/auto - automatic GUI support)
1130 SKIP_GTK=
1131 SKIP_GTK2=
1132 SKIP_GNOME=
1133 SKIP_MOTIF=
1134 SKIP_ATHENA=
1135 SKIP_NEXTAW=
1136 SKIP_CARBON=;;
Bram Moolenaar843ee412004-06-30 16:16:41 +00001137 kde|Kde|KDE) AC_MSG_RESULT(KDE 2.x or 3.x GUI support)
1138 SKIP_KDE=;;
Bram Moolenaar071d4272004-06-13 20:20:40 +00001139 gtk) AC_MSG_RESULT(GTK+ 1.x GUI support)
1140 SKIP_GTK=;;
1141 gtk2) AC_MSG_RESULT(GTK+ 2.x GUI support)
1142 SKIP_GTK=
1143 SKIP_GTK2=;;
1144 gnome) AC_MSG_RESULT(GNOME 1.x GUI support)
1145 SKIP_GNOME=
1146 SKIP_GTK=;;
1147 gnome2) AC_MSG_RESULT(GNOME 2.x GUI support)
1148 SKIP_GNOME=
1149 SKIP_GTK=
1150 SKIP_GTK2=;;
1151 motif) AC_MSG_RESULT(Motif GUI support)
1152 SKIP_MOTIF=;;
1153 athena) AC_MSG_RESULT(Athena GUI support)
1154 SKIP_ATHENA=;;
1155 nextaw) AC_MSG_RESULT(neXtaw GUI support)
1156 SKIP_NEXTAW=;;
1157 *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported]) ;;
1158 esac
1159
1160fi
1161
Bram Moolenaar843ee412004-06-30 16:16:41 +00001162if test "x$SKIP_KDE" != "xYES" -a "$enable_gui_canon" != "kde"; then
1163 AC_MSG_CHECKING(whether or not to look for KDE)
1164 AC_ARG_ENABLE(kde-check,
1165 [ --enable-kde-check If auto-select GUI, check for KDE [default=no]],
1166 ,enable_kde_check="no")
1167 AC_MSG_RESULT($enable_kde_check);
1168 if test "x$enable_kde_check" = "xno"; then
1169 SKIP_KDE=YES
1170 fi
1171fi
1172
Bram Moolenaar071d4272004-06-13 20:20:40 +00001173if test "x$SKIP_GTK" != "xYES" -a "$enable_gui_canon" != "gtk" -a "$enable_gui_canon" != "gtk2"; then
1174 AC_MSG_CHECKING(whether or not to look for GTK)
1175 AC_ARG_ENABLE(gtk-check,
1176 [ --enable-gtk-check If auto-select GUI, check for GTK [default=yes]],
1177 , enable_gtk_check="yes")
1178 AC_MSG_RESULT($enable_gtk_check)
1179 if test "x$enable_gtk_check" = "xno"; then
1180 SKIP_GTK=YES
1181 SKIP_GNOME=YES
1182 fi
1183fi
1184
1185if test "x$SKIP_GTK2" != "xYES" -a "$enable_gui_canon" != "gtk2" \
1186 -a "$enable_gui_canon" != "gnome2"; then
1187 AC_MSG_CHECKING(whether or not to look for GTK+ 2)
1188 AC_ARG_ENABLE(gtk2-check,
1189 [ --enable-gtk2-check If GTK GUI, check for GTK+ 2 [default=yes]],
1190 , enable_gtk2_check="yes")
1191 AC_MSG_RESULT($enable_gtk2_check)
1192 if test "x$enable_gtk2_check" = "xno"; then
1193 SKIP_GTK2=YES
1194 fi
1195fi
1196
1197if test "x$SKIP_GNOME" != "xYES" -a "$enable_gui_canon" != "gnome" \
1198 -a "$enable_gui_canon" != "gnome2"; then
1199 AC_MSG_CHECKING(whether or not to look for GNOME)
1200 AC_ARG_ENABLE(gnome-check,
1201 [ --enable-gnome-check If GTK GUI, check for GNOME [default=no]],
1202 , enable_gnome_check="no")
1203 AC_MSG_RESULT($enable_gnome_check)
1204 if test "x$enable_gnome_check" = "xno"; then
1205 SKIP_GNOME=YES
1206 fi
1207fi
1208
1209if test "x$SKIP_MOTIF" != "xYES" -a "$enable_gui_canon" != "motif"; then
1210 AC_MSG_CHECKING(whether or not to look for Motif)
1211 AC_ARG_ENABLE(motif-check,
1212 [ --enable-motif-check If auto-select GUI, check for Motif [default=yes]],
1213 , enable_motif_check="yes")
1214 AC_MSG_RESULT($enable_motif_check)
1215 if test "x$enable_motif_check" = "xno"; then
1216 SKIP_MOTIF=YES
1217 fi
1218fi
1219
1220if test "x$SKIP_ATHENA" != "xYES" -a "$enable_gui_canon" != "athena"; then
1221 AC_MSG_CHECKING(whether or not to look for Athena)
1222 AC_ARG_ENABLE(athena-check,
1223 [ --enable-athena-check If auto-select GUI, check for Athena [default=yes]],
1224 , enable_athena_check="yes")
1225 AC_MSG_RESULT($enable_athena_check)
1226 if test "x$enable_athena_check" = "xno"; then
1227 SKIP_ATHENA=YES
1228 fi
1229fi
1230
1231if test "x$SKIP_NEXTAW" != "xYES" -a "$enable_gui_canon" != "nextaw"; then
1232 AC_MSG_CHECKING(whether or not to look for neXtaw)
1233 AC_ARG_ENABLE(nextaw-check,
1234 [ --enable-nextaw-check If auto-select GUI, check for neXtaw [default=yes]],
1235 , enable_nextaw_check="yes")
1236 AC_MSG_RESULT($enable_nextaw_check);
1237 if test "x$enable_nextaw_check" = "xno"; then
1238 SKIP_NEXTAW=YES
1239 fi
1240fi
1241
1242if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
1243 AC_MSG_CHECKING(whether or not to look for Carbon)
1244 AC_ARG_ENABLE(carbon-check,
1245 [ --enable-carbon-check If auto-select GUI, check for Carbon [default=yes]],
1246 , enable_carbon_check="yes")
1247 AC_MSG_RESULT($enable_carbon_check);
1248 if test "x$enable_carbon_check" = "xno"; then
1249 SKIP_CARBON=YES
1250 fi
1251fi
1252
Bram Moolenaar843ee412004-06-30 16:16:41 +00001253dnl ---------------------------------------------------------------------------
1254dnl we use the kde-config script included in KDE since 2.x to check which
1255dnl version of KDE, we'll use. We'll use additional args in configure to
1256dnl obtain the QT directory (includes and libs) as qt does not give any
1257dnl config script ! (shame on the trolls ! ;p)
1258dnl ---------------------------------------------------------------------------
1259
1260if test -z "$SKIP_KDE"; then
1261dnl ------------------
1262dnl now, take care of QT
1263dnl -----------------
1264AC_ARG_WITH(qt-dir,
1265 [ --with-qt-dir=DIR Specify prefix of QT files],
1266 [
1267 ROOTQT="$withval"
1268 MOC="$withval"/bin/moc
1269 QT_INCLUDES="$withval"/include
1270 QT_LIBS="$withval"/lib
1271 ])
1272
1273if test "x$ROOTQT" = "x"; then
Bram Moolenaar325b7a22004-07-05 15:58:32 +00001274 if test -z "$QTDIR"; then
1275 dnl Find the Qt directory by looking for the "moc" program.
1276 dnl It's better than nothing.
1277 AC_PATH_PROG(MOC, moc, no)
1278 if test "x$MOC" = "xno"; then
1279 AC_MSG_ERROR(could not find Qt directory)
1280 else
1281 ROOTQT=`echo $MOC | sed 's+/bin/moc++'`
1282 fi
1283 else
1284 ROOTQT="$QTDIR"
1285 fi
Bram Moolenaar843ee412004-06-30 16:16:41 +00001286fi
1287MOC="$ROOTQT"/bin/moc
1288QT_INCLUDES="$ROOTQT"/include
1289QT_LIBS="$ROOTQT"/lib
1290
1291AC_ARG_WITH(qt-includes,
1292 [ --with-qt-includes=DIR Specify location of Qt headers],
1293 [QT_INCLUDES="$withval"]
1294 )
1295
1296AC_ARG_WITH(qt-libraries,
1297 [ --with-qt-libs=DIR Specify location of Qt libraries],
1298 [QT_LIBS="$withval"]
1299 )
1300
1301if test "x$QT_LIBS" = "x" ; then
1302 QT_LIBS="$ROOTQT"/lib
1303fi
1304if test "x$QT_INCLUDES" = "x" ; then
1305 QT_INCLUDES="$ROOTQT"/include
1306fi
1307dnl we should get QT's version from here and compare with what kde-config
1308dnl says
1309
1310AC_MSG_CHECKING(whether or not to use a KDE Toolbar in KVim)
1311AC_ARG_ENABLE(kde-toolbar,
1312 [ --enable-kde-toolbar if KDE GUI is selected, enable a KDE-look toolbar [default=no]],
1313 , enable_kde_toolbar="no")
1314if test "x$enable_kde_toolbar" != "xno"; then
1315 AC_DEFINE(FEAT_KDETOOLBAR)
1316fi
1317AC_MSG_RESULT($enable_kde_toolbar);
1318fi
1319
1320dnl -------------------
1321dnl so, first, look up at the kde-config script
1322dnl ------------------
1323
1324if test -z "$SKIP_KDE"; then
Bram Moolenaar325b7a22004-07-05 15:58:32 +00001325AC_DEFUN([AC_FIND_FILE],
1326[
1327 $3=NO
1328 for i in $2;
1329 do
1330 for j in $1;
1331 do
1332 echo "configure: __oline__: $i/$j" >&AC_FD_CC
1333 if test -r "$i/$j"; then
1334 echo "taking that" >&AC_FD_CC
1335 $3=$i
1336 break 2
1337 fi
1338 done
1339 done
1340])
1341
Bram Moolenaar843ee412004-06-30 16:16:41 +00001342AC_DEFUN(AM_PATH_KDE,
1343[
1344 if test "X$KDE_CONFIG" != "X"; then
1345 min_kde_version=ifelse([$1], ,2.0,[$1])
1346 AC_MSG_CHECKING(for KDE version >= $min_kde_version)
1347 no_kde=""
1348 if test "$KDE_CONFIG" = "no" ; then
1349 no_kde=yes
1350 else
Bram Moolenaar325b7a22004-07-05 15:58:32 +00001351 KDE_PREFIX=`$KDE_CONFIG --prefix`
Bram Moolenaar843ee412004-06-30 16:16:41 +00001352 if test "x$KDE_LIBS" = "x"; then
1353 KDE_LIBS="$KDE_PREFIX/lib"
1354 fi
1355 if test "x$KDE_INCLUDES" = "x"; then
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +00001356 KDE_INCLUDES="$KDE_PREFIX/include"
1357 if test -d "$KDE_INCLUDES/kde"; then
1358 KDE_INCLUDES="$KDE_INCLUDES/kde"
1359 fi
Bram Moolenaar843ee412004-06-30 16:16:41 +00001360 fi
1361 kde_major_version=`$KDE_CONFIG --version | grep KDE | \
1362sed 's/KDE:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\1/'`
1363 kde_minor_version=`$KDE_CONFIG --version | grep KDE | \
1364sed 's/KDE:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\2/'`
Bram Moolenaar325b7a22004-07-05 15:58:32 +00001365
Bram Moolenaar843ee412004-06-30 16:16:41 +00001366 qt_major_version=`$KDE_CONFIG --version | grep Qt | sed -e \
1367's/Qt:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\1/'`
1368 qt_minor_version=`$KDE_CONFIG --version | grep Qt | sed -e \
1369's/Qt:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\2/'`
Bram Moolenaar325b7a22004-07-05 15:58:32 +00001370
Bram Moolenaar843ee412004-06-30 16:16:41 +00001371 dnl maybe in a near future we'll get these ones : QT_PREFIX, QT_LIBS,
1372 dnl QT_INCLUDES
1373 dnl but for now we need configure options to get them ...
1374 if test "x$enable-kdetest" = "xyes" ; then
1375 ac_save_LIBS="$LIBS"
1376 LIBS="$LIBS $KDE_LIBS"
1377
1378 dnl fake test
1379 AC_TRY_RUN([
1380#include <stdio.h>
1381int
1382main()
1383{ return 0; }
1384 ],, no_kde=yes,[echo $ac_n "cross compiling KDE ? ? how can i remove that ? :)"])
1385 LIBS="$ac_save_LIBS"
1386 fi
1387 fi
1388 if test "x$no_kde" = x ; then
1389 AC_MSG_RESULT(found KDE $kde_major_version.$kde_minor_version)
1390 ifelse([$2], , :, [$2])
1391 else
1392 AC_MSG_RESULT(no)
1393 KDE_LIBS=""
1394 ifelse([$3], , :, [$3])
1395 fi
1396else
1397 AC_MSG_RESULT(no)
1398 KDE_LIBS=""
1399 ifelse([$3], , :, [$3])
1400fi
Bram Moolenaar325b7a22004-07-05 15:58:32 +00001401
Bram Moolenaar843ee412004-06-30 16:16:41 +00001402AC_SUBST(KDE_LIBS)
1403AC_SUBST(KDE_INCLUDES)
1404AC_SUBST(KDE_PREFIX)
1405])
1406
1407dnl Check all the KDE stuff
1408AC_MSG_CHECKING(--disable-rpath argument)
1409AC_ARG_ENABLE(rpath,
1410 [ --disable-rpath Disable rpath.],
1411 , enable_rpath="yes")
1412if test "$enable_rpath" = "yes"; then
1413 AC_MSG_RESULT(no)
1414else
1415 AC_MSG_RESULT(yes)
1416fi
1417
1418AC_MSG_CHECKING(--with-kde-prefix argument)
1419AC_ARG_WITH(kde-prefix,[ --with-kde-prefix=PFX Prefix where KDE is installed (optional)],kde_config_prefix="$withval";
1420AC_MSG_RESULT($kde_config_prefix), kde_config_prefix="";AC_MSG_RESULT(no))
1421
1422AC_ARG_WITH(kde-includes,
1423 [ --with-kde-includes=DIR Specify location of KDE headers],
1424 [KDE_INCLUDES="$withval"]
1425 )
1426
1427AC_ARG_WITH(kde-libraries,
1428 [ --with-kde-libs=DIR Specify location of KDE libraries],
1429 [KDE_LIBS="$withval"]
1430 )
1431
1432AC_MSG_CHECKING(--disable-kdetest argument)
1433AC_ARG_ENABLE(kdetest,
1434 [ --disable-kdetest Do not try to compile and run a test KDE program],
1435 enable_kdetest=yes)
1436
1437if test "x$enable_kdetest" = "xyes" ; then
1438 AC_MSG_RESULT(kde test enabled)
1439else
1440 AC_MSG_RESULT(kde test disabled)
1441fi
1442
1443if test "x$kde_config_prefix" != "x" ; then
Bram Moolenaar843ee412004-06-30 16:16:41 +00001444 KDE_CONFIG=$kde_config_prefix/bin/kde-config
1445fi
1446
1447if test "X$KDE_CONFIG" = "X"; then
1448 AC_PATH_PROG(KDE_CONFIG, kde-config, no)
1449else
1450 AC_MSG_RESULT(Using KDE configuration program $KDE_CONFIG)
1451fi
1452
1453if test "X$KDE_CONFIG" != "X" ; then
1454 AM_PATH_KDE(2.0.0,
1455 [GUI_LIB_LOC="-L$KDE_LIBS -lkdeui -lkdecore -lDCOP"
1456 GUI_INC_LOC="-I$KDE_INCLUDES"
1457 KDEDIR="$KDE_PREFIX"], )
1458 if test "x$KDE_PREFIX" != "x"; then
1459 AC_MSG_CHECKING(for QT version $qt_major_version.x)
1460 if test "x$ROOTQT" != "x" ; then
1461 GUI_INC_LOC="-I$QT_INCLUDES $GUI_INC_LOC"
1462 if test $qt_major_version -lt 2; then
1463 AC_MSG_ERROR(Your QT version is prior to 2.0; KDE 2.x and 3.x require at least QT 2)
1464 fi
1465 dnl hack for FreeBSD
1466 if test "`(uname) 2>/dev/null`" = "FreeBSD"; then
1467 CFLAGS="$CFLAGS -D_THREAD_SAFE"
1468 CXXFLAGS="$CXXFLAGS -D_THREAD_SAFE"
1469 GUI_LIB_LOC="$GUI_LIB_LOC -pthread"
1470 LIBS="$LIBS -pthread"
1471 fi
1472
1473 dnl check the version
1474 if test "x$enable_rpath" = "xyes"; then
1475 if test $qt_major_version = 2; then
1476 GUI_LIB_LOC="-L$KDE_LIBS -lkfile -L$QT_LIBS -lqt $GUI_LIB_LOC \
1477-Wl,--rpath -Wl,$KDE_LIBS -Wl,--rpath -Wl,$QT_LIBS"
1478 else
1479 GUI_LIB_LOC="-L$KDE_LIBS -lkio -L$QT_LIBS -lqt-mt $GUI_LIB_LOC \
1480-Wl,--rpath -Wl,$KDE_LIBS -Wl,--rpath -Wl,$QT_LIBS"
1481 fi
1482 else
1483 if test $qt_major_version = 2; then
1484 GUI_LIB_LOC="-L$KDE_LIBS -lkfile -L$QT_LIBS -lqt $GUI_LIB_LOC"
1485 else
1486 GUI_LIB_LOC="-L$KDE_LIBS -lkio -L$QT_LIBS -lqt-mt $GUI_LIB_LOC"
1487 fi
1488 fi
1489
1490 dnl Remove "-I/usr/include " from GUI_*
1491 GUI_INC_LOC="`echo $GUI_INC_LOC\ | sed 's%-I/usr/include %%'`"
1492dnl GUI_LIB_LOC="`echo $GUI_LIB_LOC\ | sed 's% -L/usr/lib%%'`"
1493
1494 AC_MSG_RESULT(found $qt_major_version.$qt_minor_version in $ROOTQT)
Bram Moolenaar325b7a22004-07-05 15:58:32 +00001495
1496 dnl now check the results ...
1497 dnl find the Qt's headers ?
1498 AC_FIND_FILE(qstyle.h,$QT_INCLUDES,qt_incdir)
1499 if test "x$qt_incdir" = "xNO"; then
1500 AC_MSG_ERROR(Could not find Qt headers in $QT_INCLUDES)
1501 fi
1502 AC_FIND_FILE(kapplication.h,$KDE_INCLUDES,kde_incdir)
1503 if test "x$kde_incdir" = "xNO"; then
1504 AC_MSG_ERROR(Could not find KDE headers in $KDE_INCLUDES)
1505 fi
1506
1507 AC_LANG_SAVE
1508 AC_LANG_CPLUSPLUS
1509 ac_save_LIBS="$LIBS"
1510 LIBS="$GUI_LIB_LOC"
1511 ac_save_CXXFLAGS="$CXXFLAGS"
1512 CXXFLAGS="$CXXFLAGS $GUI_INC_LOC"
1513 AC_MSG_CHECKING(whether Qt libraries are usable)
1514 AC_TRY_LINK(
1515 [#include <qapplication.h>],
1516 [
1517 int argc;
1518 char** argv;
1519 QApplication app(argc, argv);]
1520 ,AC_MSG_RESULT(yes),AC_MSG_RESULT(no);AC_MSG_ERROR(Qt fails to link a simple application, check your installation and settings))
1521
1522 AC_MSG_CHECKING(whether KDE libraries are usable)
1523 AC_TRY_LINK(
1524 [#include <kapplication.h>],
1525 [
1526 int argc;
1527 char** argv;
1528 KApplication app(argc, argv);]
1529 ,AC_MSG_RESULT(yes),AC_MSG_RESULT(no);AC_MSG_ERROR(KDE fails to link a simple application, check your installation and settings))
1530
1531 LIBS="$ac_save_LIBS"
1532 CXXFLAGS="$ac_save_CXXFLAGS"
1533 AC_LANG_RESTORE
1534
1535
Bram Moolenaar843ee412004-06-30 16:16:41 +00001536 SKIP_GTK=YES
1537 SKIP_ATHENA=YES
1538 SKIP_MOTIF=YES
1539 GUITYPE=KDE
1540 AC_SUBST(KDE_PREFIX)
1541 AC_SUBST(QT_LIBS)
1542 AC_SUBST(QT_INCLUDES)
1543 AC_SUBST(ROOTQT)
1544 AC_SUBST(MOC)
1545 AC_DEFINE(FEAT_GUI_KDE)
1546 else
1547 AC_MSG_ERROR(Detected QT version mismatched)
1548 fi
1549 else
1550 AC_MSG_ERROR(Could not find KDE installation prefix)
1551 fi
1552fi
1553fi
1554
Bram Moolenaar071d4272004-06-13 20:20:40 +00001555if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
1556 AC_MSG_CHECKING(for Carbon GUI)
1557 dnl already did this
1558 AC_MSG_RESULT(yes);
1559 GUITYPE=CARBONGUI
1560 dnl skip everything else
1561 SKIP_GTK=YES;
1562 SKIP_GTK2=YES;
1563 SKIP_GNOME=YES;
1564 SKIP_MOTIF=YES;
1565 SKIP_ATHENA=YES;
1566 SKIP_NEXTAW=YES;
1567 SKIP_PHOTON=YES;
1568 SKIP_BEOS=YES;
1569 SKIP_CARBON=YES
1570fi
1571
Bram Moolenaar071d4272004-06-13 20:20:40 +00001572dnl
1573dnl Get the cflags and libraries from the gtk-config script
1574dnl
1575
1576dnl define an autoconf function to check for a specified version of GTK, and
1577dnl try to compile/link a GTK program. this gets used once for GTK 1.1.16.
1578dnl
1579dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
1580dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
1581dnl
1582AC_DEFUN(AM_PATH_GTK,
1583[
1584 if test "X$GTK_CONFIG" != "Xno" -o "X$PKG_CONFIG" != "Xno"; then
1585 {
1586 min_gtk_version=ifelse([$1], ,0.99.7,$1)
1587 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
1588 no_gtk=""
1589 if (test "X$SKIP_GTK2" != "XYES" -a "X$PKG_CONFIG" != "Xno") \
1590 && $PKG_CONFIG --exists gtk+-2.0; then
1591 {
1592 dnl We should be using PKG_CHECK_MODULES() instead of this hack.
1593 dnl But I guess the dependency on pkgconfig.m4 is not wanted or
1594 dnl something like that.
1595 GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-2.0`
1596 GTK_LIBS=`$PKG_CONFIG --libs gtk+-2.0`
1597 gtk_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1598 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
1599 gtk_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1600 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
1601 gtk_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
1602 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
1603 }
1604 elif test "X$GTK_CONFIG" != "Xno"; then
1605 {
1606 GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
1607 GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
1608 gtk_major_version=`$GTK_CONFIG $gtk_config_args --version | \
1609 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
1610 gtk_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
1611 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
1612 gtk_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
1613 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
1614 }
1615 else
1616 no_gtk=yes
1617 fi
1618
1619 if test "x$enable_gtktest" = "xyes" -a "x$no_gtk" = "x"; then
1620 {
1621 ac_save_CFLAGS="$CFLAGS"
1622 ac_save_LIBS="$LIBS"
1623 CFLAGS="$CFLAGS $GTK_CFLAGS"
1624 LIBS="$LIBS $GTK_LIBS"
1625
1626 dnl
1627 dnl Now check if the installed GTK is sufficiently new. (Also sanity
1628 dnl checks the results of gtk-config to some extent
1629 dnl
1630 rm -f conf.gtktest
1631 AC_TRY_RUN([
1632#include <gtk/gtk.h>
1633#include <stdio.h>
1634
1635int
1636main ()
1637{
1638int major, minor, micro;
1639char *tmp_version;
1640
1641system ("touch conf.gtktest");
1642
1643/* HP/UX 9 (%@#!) writes to sscanf strings */
1644tmp_version = g_strdup("$min_gtk_version");
1645if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
1646 printf("%s, bad version string\n", "$min_gtk_version");
1647 exit(1);
1648 }
1649
1650if ((gtk_major_version > major) ||
1651 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
1652 ((gtk_major_version == major) && (gtk_minor_version == minor) &&
1653 (gtk_micro_version >= micro)))
1654{
1655 return 0;
1656}
1657return 1;
1658}
1659],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
1660 CFLAGS="$ac_save_CFLAGS"
1661 LIBS="$ac_save_LIBS"
1662 }
1663 fi
1664 if test "x$no_gtk" = x ; then
1665 if test "x$enable_gtktest" = "xyes"; then
1666 AC_MSG_RESULT(yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version)
1667 else
1668 AC_MSG_RESULT(found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version)
1669 fi
1670 ifelse([$2], , :, [$2])
1671 else
1672 {
1673 AC_MSG_RESULT(no)
1674 GTK_CFLAGS=""
1675 GTK_LIBS=""
1676 ifelse([$3], , :, [$3])
1677 }
1678 fi
1679 }
1680 else
1681 GTK_CFLAGS=""
1682 GTK_LIBS=""
1683 ifelse([$3], , :, [$3])
1684 fi
1685 AC_SUBST(GTK_CFLAGS)
1686 AC_SUBST(GTK_LIBS)
1687 rm -f conf.gtktest
1688])
1689
1690dnl ---------------------------------------------------------------------------
1691dnl gnome
1692dnl ---------------------------------------------------------------------------
1693AC_DEFUN([GNOME_INIT_HOOK],
1694[
1695 AC_SUBST(GNOME_LIBS)
1696 AC_SUBST(GNOME_LIBDIR)
1697 AC_SUBST(GNOME_INCLUDEDIR)
1698
1699 AC_ARG_WITH(gnome-includes,
1700 [ --with-gnome-includes=DIR Specify location of GNOME headers],
1701 [CFLAGS="$CFLAGS -I$withval"]
1702 )
1703
1704 AC_ARG_WITH(gnome-libs,
1705 [ --with-gnome-libs=DIR Specify location of GNOME libs],
1706 [LDFLAGS="$LDFLAGS -L$withval" gnome_prefix=$withval]
1707 )
1708
1709 AC_ARG_WITH(gnome,
1710 [ --with-gnome Specify prefix for GNOME files],
1711 if test x$withval = xyes; then
1712 want_gnome=yes
1713 ifelse([$1], [], :, [$1])
1714 else
1715 if test "x$withval" = xno; then
1716 want_gnome=no
1717 else
1718 want_gnome=yes
1719 LDFLAGS="$LDFLAGS -L$withval/lib"
1720 CFLAGS="$CFLAGS -I$withval/include"
1721 gnome_prefix=$withval/lib
1722 fi
1723 fi,
1724 want_gnome=yes)
1725
1726 if test "x$want_gnome" = xyes -a "0$gtk_major_version" -ge 2; then
1727 {
1728 AC_MSG_CHECKING(for libgnomeui-2.0)
1729 if $PKG_CONFIG --exists libgnomeui-2.0; then
1730 AC_MSG_RESULT(yes)
1731 GNOME_LIBS=`$PKG_CONFIG --libs-only-l libgnomeui-2.0`
1732 GNOME_LIBDIR=`$PKG_CONFIG --libs-only-L libgnomeui-2.0`
1733 GNOME_INCLUDEDIR=`$PKG_CONFIG --cflags libgnomeui-2.0`
1734 $1
1735 else
1736 AC_MSG_RESULT(not found)
1737 if test "x$2" = xfail; then
1738 AC_MSG_ERROR(Could not find libgnomeui-2.0 via pkg-config)
1739 fi
1740 fi
1741 }
1742 elif test "x$want_gnome" = xyes; then
1743 {
1744 AC_PATH_PROG(GNOME_CONFIG,gnome-config,no)
1745 if test "$GNOME_CONFIG" = "no"; then
1746 no_gnome_config="yes"
1747 else
1748 AC_MSG_CHECKING(if $GNOME_CONFIG works)
1749 if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then
1750 AC_MSG_RESULT(yes)
1751 GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome gnomeui`"
1752 GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`"
1753 GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba gnomeui`"
1754 $1
1755 else
1756 AC_MSG_RESULT(no)
1757 no_gnome_config="yes"
1758 fi
1759 fi
1760
1761 if test x$exec_prefix = xNONE; then
1762 if test x$prefix = xNONE; then
1763 gnome_prefix=$ac_default_prefix/lib
1764 else
1765 gnome_prefix=$prefix/lib
1766 fi
1767 else
1768 gnome_prefix=`eval echo \`echo $libdir\``
1769 fi
1770
1771 if test "$no_gnome_config" = "yes"; then
1772 AC_MSG_CHECKING(for gnomeConf.sh file in $gnome_prefix)
1773 if test -f $gnome_prefix/gnomeConf.sh; then
1774 AC_MSG_RESULT(found)
1775 echo "loading gnome configuration from" \
1776 "$gnome_prefix/gnomeConf.sh"
1777 . $gnome_prefix/gnomeConf.sh
1778 $1
1779 else
1780 AC_MSG_RESULT(not found)
1781 if test x$2 = xfail; then
1782 AC_MSG_ERROR(Could not find the gnomeConf.sh file that is generated by gnome-libs install)
1783 fi
1784 fi
1785 fi
1786 }
1787 fi
1788])
1789
1790AC_DEFUN([GNOME_INIT],[
1791 GNOME_INIT_HOOK([],fail)
1792])
1793
1794
1795dnl ---------------------------------------------------------------------------
1796dnl Check for GTK. First checks for gtk-config, cause it needs that to get the
1797dnl correct compiler flags. Then checks for GTK 1.1.16. If that fails, then
1798dnl it checks for 1.0.6. If both fail, then continue on for Motif as before...
1799dnl ---------------------------------------------------------------------------
1800if test -z "$SKIP_GTK"; then
1801
1802 AC_MSG_CHECKING(--with-gtk-prefix argument)
1803 AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)],
1804 gtk_config_prefix="$withval"; AC_MSG_RESULT($gtk_config_prefix),
1805 gtk_config_prefix=""; AC_MSG_RESULT(no))
1806
1807 AC_MSG_CHECKING(--with-gtk-exec-prefix argument)
1808 AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
1809 gtk_config_exec_prefix="$withval"; AC_MSG_RESULT($gtk_config_prefix),
1810 gtk_config_exec_prefix=""; AC_MSG_RESULT(no))
1811
1812 AC_MSG_CHECKING(--disable-gtktest argument)
1813 AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
1814 , enable_gtktest=yes)
1815 if test "x$enable_gtktest" = "xyes" ; then
1816 AC_MSG_RESULT(gtk test enabled)
1817 else
1818 AC_MSG_RESULT(gtk test disabled)
1819 fi
1820
1821 if test "x$gtk_config_prefix" != "x" ; then
1822 gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
1823 GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
1824 fi
1825 if test "x$gtk_config_exec_prefix" != "x" ; then
1826 gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
1827 GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
1828 fi
1829 if test "X$GTK_CONFIG" = "X"; then
1830 AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
1831 if test "X$GTK_CONFIG" = "Xno"; then
1832 dnl Some distributions call it gtk12-config, annoying!
1833 AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no)
1834 GTK_CONFIG="$GTK12_CONFIG"
1835 fi
1836 else
1837 AC_MSG_RESULT(Using GTK configuration program $GTK_CONFIG)
1838 fi
1839 if test "X$PKG_CONFIG" = "X"; then
1840 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
1841 fi
1842
1843 if test "x$GTK_CONFIG:$PKG_CONFIG" != "xno:no"; then
1844 dnl First try finding version 2.2.0 or later. The 2.0.x series has
1845 dnl problems (bold fonts, --remote doesn't work).
1846 if test "X$SKIP_GTK2" != "XYES"; then
1847 AM_PATH_GTK(2.2.0,
1848 [GTK_LIBNAME="$GTK_LIBS"
1849 GUI_INC_LOC="$GTK_CFLAGS"], )
1850 if test "x$GTK_CFLAGS" != "x"; then
1851 SKIP_ATHENA=YES
1852 SKIP_NEXTAW=YES
1853 SKIP_MOTIF=YES
1854 GUITYPE=GTK
1855 AC_SUBST(GTK_LIBNAME)
1856 fi
1857 fi
1858
1859 dnl If there is no 2.2.0 or later try the 1.x.x series. We require at
1860 dnl least GTK 1.1.16. 1.0.6 doesn't work. 1.1.1 to 1.1.15
1861 dnl were test versions.
1862 if test "x$GUITYPE" != "xGTK"; then
1863 SKIP_GTK2=YES
1864 AM_PATH_GTK(1.1.16,
1865 [GTK_LIBNAME="$GTK_LIBS"
1866 GUI_INC_LOC="$GTK_CFLAGS"], )
1867 if test "x$GTK_CFLAGS" != "x"; then
1868 SKIP_ATHENA=YES
1869 SKIP_NEXTAW=YES
1870 SKIP_MOTIF=YES
1871 GUITYPE=GTK
1872 AC_SUBST(GTK_LIBNAME)
1873 fi
1874 fi
1875 fi
1876 dnl Give a warning if GTK is older than 1.2.3
1877 if test "x$GUITYPE" = "xGTK"; then
1878 if test "$gtk_major_version" = 1 -a "0$gtk_minor_version" -lt 2 \
1879 -o "$gtk_major_version" = 1 -a "$gtk_minor_version" = 2 -a "0$gtk_micro_version" -lt 3; then
1880 AC_MSG_RESULT(this GTK version is old; version 1.2.3 or later is recommended)
1881 else
1882 {
1883 if test "0$gtk_major_version" -ge 2; then
1884 AC_DEFINE(HAVE_GTK2)
1885 if test "$gtk_minor_version" = 1 -a "0$gtk_micro_version" -ge 1 \
1886 || test "0$gtk_minor_version" -ge 2 \
1887 || test "0$gtk_major_version" -gt 2; then
1888 AC_DEFINE(HAVE_GTK_MULTIHEAD)
1889 fi
1890 fi
1891 dnl
1892 dnl if GTK exists, and it's not the 1.0.x series, then check for GNOME.
1893 dnl
1894 if test -z "$SKIP_GNOME"; then
1895 {
1896 GNOME_INIT_HOOK([have_gnome=yes])
1897 if test x$have_gnome = xyes ; then
1898 AC_DEFINE(FEAT_GUI_GNOME)
1899 GUI_INC_LOC="$GUI_INC_LOC $GNOME_INCLUDEDIR"
1900 GTK_LIBNAME="$GTK_LIBNAME $GNOME_LIBDIR $GNOME_LIBS"
1901 fi
1902 }
1903 fi
1904 }
1905 fi
1906 fi
1907fi
1908
1909dnl Check for Motif include files location.
1910dnl The LAST one found is used, this makes the highest version to be used,
1911dnl e.g. when Motif1.2 and Motif2.0 are both present.
1912
1913if test -z "$SKIP_MOTIF"; then
1914 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"
1915 dnl Remove "-I" from before $GUI_INC_LOC if it's there
1916 GUI_INC_LOC="`echo $GUI_INC_LOC|sed 's%-I%%g'`"
1917
1918 AC_MSG_CHECKING(for location of Motif GUI includes)
1919 gui_includes="`echo $x_includes|sed 's%/[^/][^/]*$%%'` `echo "$gui_XXX" | sed s/XXX/include/g` $GUI_INC_LOC"
1920 GUI_INC_LOC=
1921 for try in $gui_includes; do
1922 if test -f "$try/Xm/Xm.h"; then
1923 GUI_INC_LOC=$try
1924 fi
1925 done
1926 if test -n "$GUI_INC_LOC"; then
1927 if test "$GUI_INC_LOC" = /usr/include; then
1928 GUI_INC_LOC=
1929 AC_MSG_RESULT(in default path)
1930 else
1931 AC_MSG_RESULT($GUI_INC_LOC)
1932 fi
1933 else
1934 AC_MSG_RESULT(<not found>)
1935 SKIP_MOTIF=YES
1936 fi
1937fi
1938
1939dnl Check for Motif library files location. In the same order as the include
1940dnl files, to avoid a mixup if several versions are present
1941
1942if test -z "$SKIP_MOTIF"; then
1943 AC_MSG_CHECKING(--with-motif-lib argument)
1944 AC_ARG_WITH(motif-lib,
1945 [ --with-motif-lib=STRING Library for Motif ],
1946 [ MOTIF_LIBNAME="${withval}" ] )
1947
1948 if test -n "$MOTIF_LIBNAME"; then
1949 AC_MSG_RESULT($MOTIF_LIBNAME)
1950 GUI_LIB_LOC=
1951 else
1952 AC_MSG_RESULT(no)
1953
1954 dnl Remove "-L" from before $GUI_LIB_LOC if it's there
1955 GUI_LIB_LOC="`echo $GUI_LIB_LOC|sed 's%-L%%g'`"
1956
1957 AC_MSG_CHECKING(for location of Motif GUI libs)
1958 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"
1959 GUI_LIB_LOC=
1960 for try in $gui_libs; do
Bram Moolenaar325b7a22004-07-05 15:58:32 +00001961 for libtry in "$try"/libXm.a "$try"/libXm.so* "$try"/libXm.sl "$try"/libXm.dylib; do
Bram Moolenaar071d4272004-06-13 20:20:40 +00001962 if test -f "$libtry"; then
1963 GUI_LIB_LOC=$try
1964 fi
1965 done
1966 done
1967 if test -n "$GUI_LIB_LOC"; then
1968 dnl Remove /usr/lib, it causes trouble on some systems
1969 if test "$GUI_LIB_LOC" = /usr/lib; then
1970 GUI_LIB_LOC=
1971 AC_MSG_RESULT(in default path)
1972 else
1973 if test -n "$GUI_LIB_LOC"; then
1974 AC_MSG_RESULT($GUI_LIB_LOC)
1975 if test "`(uname) 2>/dev/null`" = SunOS &&
1976 uname -r | grep '^5' >/dev/null; then
1977 GUI_LIB_LOC="$GUI_LIB_LOC -R $GUI_LIB_LOC"
1978 fi
1979 fi
1980 fi
1981 MOTIF_LIBNAME=-lXm
1982 else
1983 AC_MSG_RESULT(<not found>)
1984 SKIP_MOTIF=YES
1985 fi
1986 fi
1987fi
1988
1989if test -z "$SKIP_MOTIF"; then
1990 SKIP_ATHENA=YES
1991 SKIP_NEXTAW=YES
1992 GUITYPE=MOTIF
1993 AC_SUBST(MOTIF_LIBNAME)
1994fi
1995
1996dnl Check if the Athena files can be found
1997
1998GUI_X_LIBS=
1999
2000if test -z "$SKIP_ATHENA"; then
2001 AC_MSG_CHECKING(if Athena header files can be found)
2002 cflags_save=$CFLAGS
2003 CFLAGS="$CFLAGS $X_CFLAGS"
2004 AC_TRY_COMPILE([
2005#include <X11/Intrinsic.h>
2006#include <X11/Xaw/Paned.h>], ,
2007 AC_MSG_RESULT(yes),
2008 AC_MSG_RESULT(no); SKIP_ATHENA=YES )
2009 CFLAGS=$cflags_save
2010fi
2011
2012if test -z "$SKIP_ATHENA"; then
2013 GUITYPE=ATHENA
2014fi
2015
2016if test -z "$SKIP_NEXTAW"; then
2017 AC_MSG_CHECKING(if neXtaw header files can be found)
2018 cflags_save=$CFLAGS
2019 CFLAGS="$CFLAGS $X_CFLAGS"
2020 AC_TRY_COMPILE([
2021#include <X11/Intrinsic.h>
2022#include <X11/neXtaw/Paned.h>], ,
2023 AC_MSG_RESULT(yes),
2024 AC_MSG_RESULT(no); SKIP_NEXTAW=YES )
2025 CFLAGS=$cflags_save
2026fi
2027
2028if test -z "$SKIP_NEXTAW"; then
2029 GUITYPE=NEXTAW
2030fi
2031
2032if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
2033 dnl Prepend -I and -L to $GUI_INC_LOC and $GUI_LIB_LOC if not empty
2034 dnl Avoid adding it when it twice
2035 if test -n "$GUI_INC_LOC"; then
2036 GUI_INC_LOC=-I"`echo $GUI_INC_LOC|sed 's%-I%%'`"
2037 fi
2038 if test -n "$GUI_LIB_LOC"; then
2039 GUI_LIB_LOC=-L"`echo $GUI_LIB_LOC|sed 's%-L%%'`"
2040 fi
2041
2042 dnl Check for -lXext and then for -lXmu
2043 ldflags_save=$LDFLAGS
2044 LDFLAGS="$X_LIBS $LDFLAGS"
2045 AC_CHECK_LIB(Xext, XShapeQueryExtension, [GUI_X_LIBS="-lXext"],,
2046 [-lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
2047 dnl For Solaris we need -lw and -ldl before linking with -lXmu works.
2048 AC_CHECK_LIB(w, wslen, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lw"],,
2049 [$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
2050 AC_CHECK_LIB(dl, dlsym, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldl"],,
2051 [$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
2052 AC_CHECK_LIB(Xmu, XmuCreateStippledPixmap, [GUI_X_LIBS="-lXmu $GUI_X_LIBS"],,
2053 [$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
2054 if test -z "$SKIP_MOTIF"; then
2055 AC_CHECK_LIB(Xp, XpEndJob, [GUI_X_LIBS="-lXp $GUI_X_LIBS"],,
2056 [$GUI_X_LIBS -lXm -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
2057 fi
2058 LDFLAGS=$ldflags_save
2059
2060 dnl Execute xmkmf to figure out if -DNARROWPROTO is needed.
2061 AC_MSG_CHECKING(for extra X11 defines)
2062 NARROW_PROTO=
2063 rm -fr conftestdir
2064 if mkdir conftestdir; then
2065 cd conftestdir
2066 cat > Imakefile <<'EOF'
2067acfindx:
2068 @echo 'NARROW_PROTO="${PROTO_DEFINES}"'
2069EOF
2070 if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
2071 eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
2072 fi
2073 cd ..
2074 rm -fr conftestdir
2075 fi
2076 if test -z "$NARROW_PROTO"; then
2077 AC_MSG_RESULT(no)
2078 else
2079 AC_MSG_RESULT($NARROW_PROTO)
2080 fi
2081 AC_SUBST(NARROW_PROTO)
2082fi
2083
2084dnl Look for XSMP support - but don't necessarily restrict it to X11 GUIs
2085dnl use the X11 include path
2086if test "$enable_xsmp" = "yes"; then
2087 cppflags_save=$CPPFLAGS
2088 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2089 AC_CHECK_HEADERS(X11/SM/SMlib.h)
2090 CPPFLAGS=$cppflags_save
2091fi
2092
2093
2094if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF" -o -z "$SKIP_GTK"; then
2095 dnl Check for X11/xpm.h and X11/Sunkeysym.h with the GUI include path
2096 cppflags_save=$CPPFLAGS
2097 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2098 AC_CHECK_HEADERS(X11/xpm.h X11/Sunkeysym.h)
2099
2100 dnl automatically disable XIM when XIMtext isn't in X11/Xlib.h
2101 if test ! "$enable_xim" = "no"; then
2102 AC_MSG_CHECKING(for XIMText in X11/Xlib.h)
2103 AC_EGREP_CPP(XIMText, [#include <X11/Xlib.h>],
2104 AC_MSG_RESULT(yes),
2105 AC_MSG_RESULT(no; xim has been disabled); enable_xim = "no")
2106 fi
2107 CPPFLAGS=$cppflags_save
2108
2109 dnl automatically enable XIM when hangul input isn't enabled
2110 if test "$enable_xim" = "auto" -a "$enable_hangulinput" != "yes" \
2111 -a "x$GUITYPE" != "xNONE" ; then
2112 AC_MSG_RESULT(X GUI selected; xim has been enabled)
2113 enable_xim="yes"
2114 fi
2115fi
2116
2117if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
2118 cppflags_save=$CPPFLAGS
2119 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2120 AC_CHECK_HEADERS(X11/Xmu/Editres.h)
2121 CPPFLAGS=$cppflags_save
2122fi
2123
2124dnl Only use the Xm directory when compiling Motif, don't use it for Athena
2125if test -z "$SKIP_MOTIF"; then
2126 cppflags_save=$CPPFLAGS
2127 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2128 AC_CHECK_HEADERS(Xm/Xm.h Xm/XpmP.h)
2129 CPPFLAGS=$cppflags_save
2130fi
2131
2132if test "x$GUITYPE" = "xNONE" -a "$enable_xim" = "yes"; then
2133 AC_MSG_RESULT(no GUI selected; xim has been disabled)
2134 enable_xim="no"
2135fi
2136if test "x$GUITYPE" = "xNONE" -a "$enable_fontset" = "yes"; then
2137 AC_MSG_RESULT(no GUI selected; fontset has been disabled)
2138 enable_fontset="no"
2139fi
2140if test "x$GUITYPE:$enable_fontset" = "xGTK:yes" -a "0$gtk_major_version" -ge 2; then
2141 AC_MSG_RESULT(GTK+ 2 GUI selected; fontset has been disabled)
2142 enable_fontset="no"
2143fi
2144
2145dnl There is no test for the BeOS GUI, if it's selected it's used
2146if test -z "$SKIP_BEOS"; then
2147 GUITYPE=BEOSGUI
2148fi
2149
2150if test -z "$SKIP_PHOTON"; then
2151 GUITYPE=PHOTONGUI
2152fi
2153
2154AC_SUBST(GUI_INC_LOC)
2155AC_SUBST(GUI_LIB_LOC)
2156AC_SUBST(GUITYPE)
2157AC_SUBST(GUI_X_LIBS)
2158
2159if test "$enable_workshop" = "yes" -a -n "$SKIP_MOTIF"; then
2160 AC_MSG_ERROR([cannot use workshop without Motif])
2161fi
2162
2163dnl defining FEAT_XIM and FEAT_XFONTSET is delayed, so that they can be disabled
2164if test "$enable_xim" = "yes"; then
2165 AC_DEFINE(FEAT_XIM)
2166fi
2167if test "$enable_fontset" = "yes"; then
2168 AC_DEFINE(FEAT_XFONTSET)
2169fi
2170
2171
2172dnl ---------------------------------------------------------------------------
2173dnl end of GUI-checking
2174dnl ---------------------------------------------------------------------------
2175
2176
2177dnl Only really enable hangul input when GUI and XFONTSET are available
2178if test "$enable_hangulinput" = "yes"; then
2179 if test "x$GUITYPE" = "xNONE"; then
2180 AC_MSG_RESULT(no GUI selected; hangul input has been disabled)
2181 enable_hangulinput=no
2182 else
2183 AC_DEFINE(FEAT_HANGULIN)
2184 HANGULIN_SRC=hangulin.c
2185 AC_SUBST(HANGULIN_SRC)
2186 HANGULIN_OBJ=objects/hangulin.o
2187 AC_SUBST(HANGULIN_OBJ)
2188 fi
2189fi
2190
2191dnl Checks for libraries and include files.
2192
2193AC_MSG_CHECKING(quality of toupper)
2194AC_TRY_RUN([#include <ctype.h>
2195main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }],
2196 AC_DEFINE(BROKEN_TOUPPER) AC_MSG_RESULT(bad),
2197 AC_MSG_RESULT(good), AC_MSG_ERROR(failed to compile test program))
2198
2199AC_MSG_CHECKING(whether __DATE__ and __TIME__ work)
2200AC_TRY_COMPILE(, [printf("(" __DATE__ " " __TIME__ ")");],
2201 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_DATE_TIME),
2202 AC_MSG_RESULT(no))
2203
2204dnl Checks for header files.
2205AC_CHECK_HEADER(elf.h, HAS_ELF=1)
2206dnl AC_CHECK_HEADER(dwarf.h, SVR4=1)
2207if test "$HAS_ELF" = 1; then
2208 AC_CHECK_LIB(elf, main)
2209fi
2210
2211AC_HEADER_DIRENT
2212
2213dnl check for standard headers, we don't use this in Vim but other stuff
2214dnl in autoconf needs it
2215AC_HEADER_STDC
2216AC_HEADER_SYS_WAIT
2217
2218dnl If sys/wait.h is not found it might still exist but not be POSIX
2219dnl compliant. In that case we define HAVE_UNION_WAIT (for NeXT)
2220if test $ac_cv_header_sys_wait_h = no; then
2221 AC_MSG_CHECKING([for sys/wait.h that defines union wait])
2222 AC_TRY_COMPILE([#include <sys/wait.h>],
2223 [union wait xx, yy; xx = yy],
2224 AC_MSG_RESULT(yes)
2225 AC_DEFINE(HAVE_SYS_WAIT_H)
2226 AC_DEFINE(HAVE_UNION_WAIT),
2227 AC_MSG_RESULT(no))
2228fi
2229
2230AC_CHECK_HEADERS(stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
2231 termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h termio.h \
2232 iconv.h langinfo.h unistd.h stropts.h errno.h \
2233 sys/resource.h sys/systeminfo.h locale.h \
2234 sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
2235 poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
2236 libgen.h util/debug.h util/msg18n.h frame.h pthread_np.h \
2237 sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h wchar.h)
2238
2239dnl On Mac OS X strings.h exists but produces a warning message :-(
2240if test "x$MACOSX" != "xyes"; then
2241 AC_CHECK_HEADERS(strings.h)
2242fi
2243
2244dnl Check if strings.h and string.h can both be included when defined.
2245AC_MSG_CHECKING([if strings.h can be included after string.h])
2246cppflags_save=$CPPFLAGS
2247CPPFLAGS="$CPPFLAGS $X_CFLAGS"
2248AC_TRY_COMPILE([
2249#if defined(_AIX) && !defined(_AIX51) && !defined(_NO_PROTO)
2250# define _NO_PROTO /* like in os_unix.h, causes conflict for AIX (Winn) */
2251 /* but don't do it on AIX 5.1 (Uribarri) */
2252#endif
2253#ifdef HAVE_XM_XM_H
2254# include <Xm/Xm.h> /* This breaks it for HP-UX 11 (Squassabia) */
2255#endif
2256#ifdef HAVE_STRING_H
2257# include <string.h>
2258#endif
2259#if defined(HAVE_STRINGS_H)
2260# include <strings.h>
2261#endif
2262 ], [int i; i = 0;],
2263 AC_MSG_RESULT(yes),
2264 AC_DEFINE(NO_STRINGS_WITH_STRING_H)
2265 AC_MSG_RESULT(no))
2266CPPFLAGS=$cppflags_save
2267
2268dnl Checks for typedefs, structures, and compiler characteristics.
2269AC_PROG_GCC_TRADITIONAL
2270AC_C_CONST
2271AC_TYPE_MODE_T
2272AC_TYPE_OFF_T
2273AC_TYPE_PID_T
2274AC_TYPE_SIZE_T
2275AC_TYPE_UID_T
2276AC_HEADER_TIME
2277AC_CHECK_TYPE(ino_t, long)
2278AC_CHECK_TYPE(dev_t, unsigned)
2279
2280AC_MSG_CHECKING(for rlim_t)
2281if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then
2282 AC_MSG_RESULT([(cached) $ac_cv_type_rlim_t])
2283else
2284 AC_EGREP_CPP(dnl
2285changequote(<<,>>)dnl
2286<<(^|[^a-zA-Z_0-9])rlim_t[^a-zA-Z_0-9]>>dnl
2287changequote([,]),
2288 [
2289#include <sys/types.h>
2290#if STDC_HEADERS
2291#include <stdlib.h>
2292#include <stddef.h>
2293#endif
2294#ifdef HAVE_SYS_RESOURCE_H
2295#include <sys/resource.h>
2296#endif
2297 ], ac_cv_type_rlim_t=yes, ac_cv_type_rlim_t=no)
2298 AC_MSG_RESULT($ac_cv_type_rlim_t)
2299fi
2300if test $ac_cv_type_rlim_t = no; then
2301 cat >> confdefs.h <<\EOF
2302#define rlim_t unsigned long
2303EOF
2304fi
2305
2306AC_MSG_CHECKING(for stack_t)
2307if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then
2308 AC_MSG_RESULT([(cached) $ac_cv_type_stack_t])
2309else
2310 AC_EGREP_CPP(stack_t,
2311 [
2312#include <sys/types.h>
2313#if STDC_HEADERS
2314#include <stdlib.h>
2315#include <stddef.h>
2316#endif
2317#include <signal.h>
2318 ], ac_cv_type_stack_t=yes, ac_cv_type_stack_t=no)
2319 AC_MSG_RESULT($ac_cv_type_stack_t)
2320fi
2321if test $ac_cv_type_stack_t = no; then
2322 cat >> confdefs.h <<\EOF
2323#define stack_t struct sigaltstack
2324EOF
2325fi
2326
2327dnl BSDI uses ss_base while others use ss_sp for the stack pointer.
2328AC_MSG_CHECKING(whether stack_t has an ss_base field)
2329AC_TRY_COMPILE([
2330#include <sys/types.h>
2331#if STDC_HEADERS
2332#include <stdlib.h>
2333#include <stddef.h>
2334#endif
2335#include <signal.h>
2336#include "confdefs.h"
2337 ], [stack_t sigstk; sigstk.ss_base = 0; ],
2338 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SS_BASE),
2339 AC_MSG_RESULT(no))
2340
2341olibs="$LIBS"
2342AC_MSG_CHECKING(--with-tlib argument)
2343AC_ARG_WITH(tlib, [ --with-tlib=library terminal library to be used ],)
2344if test -n "$with_tlib"; then
2345 AC_MSG_RESULT($with_tlib)
2346 LIBS="$LIBS -l$with_tlib"
2347else
2348 AC_MSG_RESULT([automatic terminal library selection])
2349 dnl On HP-UX 10.10 termcap or termlib should be used instead of
2350 dnl curses, because curses is much slower.
2351 dnl Newer versions of ncurses are preferred over anything.
2352 dnl Older versions of ncurses have bugs, get a new one!
2353 dnl Digital Unix (OSF1) should use curses (Ronald Schild).
2354 case "`uname -s 2>/dev/null`" in
2355 OSF1) tlibs="ncurses curses termlib termcap";;
2356 *) tlibs="ncurses termlib termcap curses";;
2357 esac
2358 for libname in $tlibs; do
2359 AC_CHECK_LIB(${libname}, tgetent,,)
2360 if test "x$olibs" != "x$LIBS"; then
2361 dnl It's possible that a library is found but it doesn't work
2362 dnl e.g., shared library that cannot be found
2363 dnl compile and run a test program to be sure
2364 AC_TRY_RUN([
2365#ifdef HAVE_TERMCAP_H
2366# include <termcap.h>
2367#endif
2368main() {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(0); }],
2369 res="OK", res="FAIL", res="FAIL")
2370 if test "$res" = "OK"; then
2371 break
2372 fi
2373 AC_MSG_RESULT($libname library is not usable)
2374 LIBS="$olibs"
2375 fi
2376 done
2377fi
2378if test "x$olibs" != "x$LIBS"; then
2379 AC_MSG_CHECKING(whether we talk terminfo)
2380 AC_TRY_RUN([
2381#ifdef HAVE_TERMCAP_H
2382# include <termcap.h>
2383#endif
2384main()
2385{char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }],
2386 AC_MSG_RESULT([no -- we are in termcap land]),
2387 AC_MSG_RESULT([yes -- terminfo spoken here]); AC_DEFINE(TERMINFO),
2388 AC_MSG_ERROR(failed to compile test program.))
2389else
2390 AC_MSG_RESULT(none found)
2391fi
2392
2393if test "x$olibs" != "x$LIBS"; then
2394 AC_MSG_CHECKING(what tgetent() returns for an unknown terminal)
2395 AC_TRY_RUN([
2396#ifdef HAVE_TERMCAP_H
2397# include <termcap.h>
2398#endif
2399main()
2400{char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); }],
2401 AC_MSG_RESULT(zero); AC_DEFINE(TGETENT_ZERO_ERR, 0),
2402 AC_MSG_RESULT(non-zero),
2403 AC_MSG_ERROR(failed to compile test program.))
2404fi
2405
2406AC_MSG_CHECKING(whether termcap.h contains ospeed)
2407AC_TRY_LINK([
2408#ifdef HAVE_TERMCAP_H
2409# include <termcap.h>
2410#endif
2411 ], [ospeed = 20000],
2412 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_OSPEED),
2413 [AC_MSG_RESULT(no)
2414 AC_MSG_CHECKING(whether ospeed can be extern)
2415 AC_TRY_LINK([
2416#ifdef HAVE_TERMCAP_H
2417# include <termcap.h>
2418#endif
2419extern short ospeed;
2420 ], [ospeed = 20000],
2421 AC_MSG_RESULT(yes); AC_DEFINE(OSPEED_EXTERN),
2422 AC_MSG_RESULT(no))]
2423 )
2424
2425AC_MSG_CHECKING([whether termcap.h contains UP, BC and PC])
2426AC_TRY_LINK([
2427#ifdef HAVE_TERMCAP_H
2428# include <termcap.h>
2429#endif
2430 ], [if (UP == 0 && BC == 0) PC = 1],
2431 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_UP_BC_PC),
2432 [AC_MSG_RESULT(no)
2433 AC_MSG_CHECKING([whether UP, BC and PC can be extern])
2434 AC_TRY_LINK([
2435#ifdef HAVE_TERMCAP_H
2436# include <termcap.h>
2437#endif
2438extern char *UP, *BC, PC;
2439 ], [if (UP == 0 && BC == 0) PC = 1],
2440 AC_MSG_RESULT(yes); AC_DEFINE(UP_BC_PC_EXTERN),
2441 AC_MSG_RESULT(no))]
2442 )
2443
2444AC_MSG_CHECKING(whether tputs() uses outfuntype)
2445AC_TRY_COMPILE([
2446#ifdef HAVE_TERMCAP_H
2447# include <termcap.h>
2448#endif
2449 ], [extern int xx(); tputs("test", 1, (outfuntype)xx)],
2450 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_OUTFUNTYPE),
2451 AC_MSG_RESULT(no))
2452
2453dnl On some SCO machines sys/select redefines struct timeval
2454AC_MSG_CHECKING([whether sys/select.h and sys/time.h may both be included])
2455AC_TRY_COMPILE([
2456#include <sys/types.h>
2457#include <sys/time.h>
2458#include <sys/select.h>], ,
2459 AC_MSG_RESULT(yes)
2460 AC_DEFINE(SYS_SELECT_WITH_SYS_TIME),
2461 AC_MSG_RESULT(no))
2462
2463dnl AC_DECL_SYS_SIGLIST
2464
2465dnl Checks for pty.c (copied from screen) ==========================
2466AC_MSG_CHECKING(for /dev/ptc)
2467if test -r /dev/ptc; then
2468 AC_DEFINE(HAVE_DEV_PTC)
2469 AC_MSG_RESULT(yes)
2470else
2471 AC_MSG_RESULT(no)
2472fi
2473
2474AC_MSG_CHECKING(for SVR4 ptys)
2475if test -c /dev/ptmx ; then
2476 AC_TRY_LINK([], [ptsname(0);grantpt(0);unlockpt(0);],
2477 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SVR4_PTYS),
2478 AC_MSG_RESULT(no))
2479else
2480 AC_MSG_RESULT(no)
2481fi
2482
2483AC_MSG_CHECKING(for ptyranges)
2484if test -d /dev/ptym ; then
2485 pdir='/dev/ptym'
2486else
2487 pdir='/dev'
2488fi
2489dnl SCO uses ptyp%d
2490AC_EGREP_CPP(yes,
2491[#ifdef M_UNIX
2492 yes;
2493#endif
2494 ], ptys=`echo /dev/ptyp??`, ptys=`echo $pdir/pty??`)
2495dnl if test -c /dev/ptyp19; then
2496dnl ptys=`echo /dev/ptyp??`
2497dnl else
2498dnl ptys=`echo $pdir/pty??`
2499dnl fi
2500if test "$ptys" != "$pdir/pty??" ; then
2501 p0=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'`
2502 p1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'`
2503 AC_DEFINE_UNQUOTED(PTYRANGE0,"$p0")
2504 AC_DEFINE_UNQUOTED(PTYRANGE1,"$p1")
2505 AC_MSG_RESULT([$p0 / $p1])
2506else
2507 AC_MSG_RESULT([don't know])
2508fi
2509
2510dnl **** pty mode/group handling ****
2511dnl
2512dnl support provided by Luke Mewburn <lm@rmit.edu.au>, 931222
2513AC_MSG_CHECKING(default tty permissions/group)
2514rm -f conftest_grp
2515AC_TRY_RUN([
2516#include <sys/types.h>
2517#include <sys/stat.h>
2518#include <stdio.h>
2519main()
2520{
2521 struct stat sb;
2522 char *x,*ttyname();
2523 int om, m;
2524 FILE *fp;
2525
2526 if (!(x = ttyname(0))) exit(1);
2527 if (stat(x, &sb)) exit(1);
2528 om = sb.st_mode;
2529 if (om & 002) exit(0);
2530 m = system("mesg y");
2531 if (m == -1 || m == 127) exit(1);
2532 if (stat(x, &sb)) exit(1);
2533 m = sb.st_mode;
2534 if (chmod(x, om)) exit(1);
2535 if (m & 002) exit(0);
2536 if (sb.st_gid == getgid()) exit(1);
2537 if (!(fp=fopen("conftest_grp", "w")))
2538 exit(1);
2539 fprintf(fp, "%d\n", sb.st_gid);
2540 fclose(fp);
2541 exit(0);
2542}
2543],[
2544 if test -f conftest_grp; then
2545 ptygrp=`cat conftest_grp`
2546 AC_MSG_RESULT([pty mode: 0620, group: $ptygrp])
2547 AC_DEFINE(PTYMODE, 0620)
2548 AC_DEFINE_UNQUOTED(PTYGROUP,$ptygrp)
2549 else
2550 AC_MSG_RESULT([ptys are world accessable])
2551 fi
2552],
2553 AC_MSG_RESULT([can't determine - assume ptys are world accessable]),
2554 AC_MSG_ERROR(failed to compile test program))
2555rm -f conftest_grp
2556
2557dnl Checks for library functions. ===================================
2558
2559AC_TYPE_SIGNAL
2560
2561dnl find out what to use at the end of a signal function
2562if test $ac_cv_type_signal = void; then
2563 AC_DEFINE(SIGRETURN, [return])
2564else
2565 AC_DEFINE(SIGRETURN, [return 0])
2566fi
2567
2568dnl check if struct sigcontext is defined (used for SGI only)
2569AC_MSG_CHECKING(for struct sigcontext)
2570AC_TRY_COMPILE([
2571#include <signal.h>
2572test_sig()
2573{
2574 struct sigcontext *scont;
2575 scont = (struct sigcontext *)0;
2576 return 1;
2577} ], ,
2578 AC_MSG_RESULT(yes)
2579 AC_DEFINE(HAVE_SIGCONTEXT),
2580 AC_MSG_RESULT(no))
2581
2582dnl tricky stuff: try to find out if getcwd() is implemented with
2583dnl system("sh -c pwd")
2584AC_MSG_CHECKING(getcwd implementation)
2585AC_TRY_RUN([
2586char *dagger[] = { "IFS=pwd", 0 };
2587main()
2588{
2589 char buffer[500];
2590 extern char **environ;
2591 environ = dagger;
2592 return getcwd(buffer, 500) ? 0 : 1;
2593}],
2594 AC_MSG_RESULT(it is usable),
2595 AC_MSG_RESULT(it stinks)
2596 AC_DEFINE(BAD_GETCWD),
2597 AC_MSG_ERROR(failed to compile test program))
2598
2599dnl Check for functions in one big call, to reduce the size of configure
2600AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
2601 getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
2602 memset nanosleep opendir putenv qsort readlink select setenv \
2603 setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
2604 sigvec snprintf strcasecmp strerror strftime stricmp strncasecmp \
2605 strnicmp strpbrk strtol tgetent towlower towupper usleep utime utimes)
2606
2607dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible
2608AC_MSG_CHECKING(for st_blksize)
2609AC_TRY_COMPILE(
2610[#include <sys/types.h>
2611#include <sys/stat.h>],
2612[ struct stat st;
2613 int n;
2614
2615 stat("/", &st);
2616 n = (int)st.st_blksize;],
2617 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ST_BLKSIZE),
2618 AC_MSG_RESULT(no))
2619
2620AC_MSG_CHECKING(whether stat() ignores a trailing slash)
2621AC_TRY_RUN(
2622[#include <sys/types.h>
2623#include <sys/stat.h>
2624main() {struct stat st; exit(stat("configure/", &st) != 0); }],
2625 AC_MSG_RESULT(yes); AC_DEFINE(STAT_IGNORES_SLASH),
2626 AC_MSG_RESULT(no), AC_MSG_ERROR(failed to compile test program))
2627
2628dnl Link with iconv for charset translation, if not found without library.
2629dnl check for iconv() requires including iconv.h
2630dnl Add "-liconv" when possible; Solaris has iconv but use GNU iconv when it
2631dnl has been installed.
2632AC_MSG_CHECKING(for iconv_open())
2633save_LIBS="$LIBS"
2634LIBS="$LIBS -liconv"
2635AC_TRY_LINK([
2636#ifdef HAVE_ICONV_H
2637# include <iconv.h>
2638#endif
2639 ], [iconv_open("fr", "to");],
2640 AC_MSG_RESULT(yes; with -liconv); AC_DEFINE(HAVE_ICONV),
2641 LIBS="$save_LIBS"
2642 AC_TRY_LINK([
2643#ifdef HAVE_ICONV_H
2644# include <iconv.h>
2645#endif
2646 ], [iconv_open("fr", "to");],
2647 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ICONV),
2648 AC_MSG_RESULT(no)))
2649
2650
2651AC_MSG_CHECKING(for nl_langinfo(CODESET))
2652AC_TRY_LINK([
2653#ifdef HAVE_LANGINFO_H
2654# include <langinfo.h>
2655#endif
2656], [char *cs = nl_langinfo(CODESET);],
2657 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_NL_LANGINFO_CODESET),
2658 AC_MSG_RESULT(no))
2659
2660dnl Link with -lposix1e for ACL stuff; if not found, try -lacl for SGI
2661dnl when -lacl works, also try to use -lattr (required for Debian).
2662AC_MSG_CHECKING(--disable-acl argument)
2663AC_ARG_ENABLE(acl,
2664 [ --disable-acl Don't check for ACL support.],
2665 , [enable_acl="yes"])
2666if test "$enable_acl" = "yes"; then
2667AC_MSG_RESULT(no)
2668AC_CHECK_LIB(posix1e, acl_get_file, [LIBS="$LIBS -lposix1e"],
2669 AC_CHECK_LIB(acl, acl_get_file, [LIBS="$LIBS -lacl"
2670 AC_CHECK_LIB(attr, fgetxattr, LIBS="$LIBS -lattr",,)],,),)
2671
2672AC_MSG_CHECKING(for POSIX ACL support)
2673AC_TRY_LINK([
2674#include <sys/types.h>
2675#ifdef HAVE_SYS_ACL_H
2676# include <sys/acl.h>
2677#endif
2678acl_t acl;], [acl = acl_get_file("foo", ACL_TYPE_ACCESS);
2679 acl_set_file("foo", ACL_TYPE_ACCESS, acl);
2680 acl_free(acl);],
2681 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_POSIX_ACL),
2682 AC_MSG_RESULT(no))
2683
2684AC_MSG_CHECKING(for Solaris ACL support)
2685AC_TRY_LINK([
2686#ifdef HAVE_SYS_ACL_H
2687# include <sys/acl.h>
2688#endif], [acl("foo", GETACLCNT, 0, NULL);
2689 ],
2690 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOLARIS_ACL),
2691 AC_MSG_RESULT(no))
2692
2693AC_MSG_CHECKING(for AIX ACL support)
2694AC_TRY_LINK([
2695#ifdef HAVE_SYS_ACL_H
2696# include <sys/acl.h>
2697#endif
2698#ifdef HAVE_SYS_ACCESS_H
2699# include <sys/access.h>
2700#endif
2701#define _ALL_SOURCE
2702
2703#include <sys/stat.h>
2704
2705int aclsize;
2706struct acl *aclent;], [aclsize = sizeof(struct acl);
2707 aclent = (void *)malloc(aclsize);
2708 statacl("foo", STX_NORMAL, aclent, aclsize);
2709 ],
2710 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_AIX_ACL),
2711 AC_MSG_RESULT(no))
2712else
2713 AC_MSG_RESULT(yes)
2714fi
2715
2716AC_MSG_CHECKING(--disable-gpm argument)
2717AC_ARG_ENABLE(gpm,
2718 [ --disable-gpm Don't use gpm (Linux mouse daemon).], ,
2719 [enable_gpm="yes"])
2720
2721if test "$enable_gpm" = "yes"; then
2722 AC_MSG_RESULT(no)
2723 dnl Checking if gpm support can be compiled
2724 AC_CACHE_CHECK([for gpm], vi_cv_have_gpm,
2725 [olibs="$LIBS" ; LIBS="-lgpm"]
2726 AC_TRY_LINK(
2727 [#include <gpm.h>
2728 #include <linux/keyboard.h>],
2729 [Gpm_GetLibVersion(NULL);],
2730 dnl Configure defines HAVE_GPM, if it is defined feature.h defines
2731 dnl FEAT_MOUSE_GPM if mouse support is included
2732 [vi_cv_have_gpm=yes],
2733 [vi_cv_have_gpm=no])
2734 [LIBS="$olibs"]
2735 )
2736 if test $vi_cv_have_gpm = yes; then
2737 LIBS="$LIBS -lgpm"
2738 AC_DEFINE(HAVE_GPM)
2739 fi
2740else
2741 AC_MSG_RESULT(yes)
2742fi
2743
2744AC_MSG_CHECKING(for vsnprintf())
2745AC_TRY_RUN([
2746#include <stdio.h>
2747#include <stdarg.h>
2748 /* Check use of vsnprintf() */
2749 void warn(char *fmt, ...);
2750 void warn(char *fmt, ...)
2751 {
2752 va_list ap; char buf[20];
2753 va_start(ap, fmt);
2754 vsnprintf(buf, 20, fmt, ap);
2755 va_end(ap);
2756 }
2757 main()
2758 {
2759 warn("testing %s\n", "a very long string that won't fit");
2760 exit(0);
2761 }
2762 ],
2763 AC_DEFINE(HAVE_VSNPRINTF) AC_MSG_RESULT(yes),
2764 AC_MSG_RESULT(no),
2765 AC_MSG_ERROR(failed to compile test program))
2766
2767
2768dnl rename needs to be checked separately to work on Nextstep with cc
2769AC_MSG_CHECKING(for rename)
2770AC_TRY_LINK([#include <stdio.h>], [rename("this", "that")],
2771 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_RENAME),
2772 AC_MSG_RESULT(no))
2773
2774dnl sysctl() may exist but not the arguments we use
2775AC_MSG_CHECKING(for sysctl)
2776AC_TRY_COMPILE(
2777[#include <sys/types.h>
2778#include <sys/sysctl.h>],
2779[ int mib[2], r;
2780 size_t len;
2781
2782 mib[0] = CTL_HW;
2783 mib[1] = HW_USERMEM;
2784 len = sizeof(r);
2785 (void)sysctl(mib, 2, &r, &len, (void *)0, (size_t)0);
2786 ],
2787 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSCTL),
2788 AC_MSG_RESULT(not usable))
2789
2790dnl sysinfo() may exist but not be Linux compatible
2791AC_MSG_CHECKING(for sysinfo)
2792AC_TRY_COMPILE(
2793[#include <sys/types.h>
2794#include <sys/sysinfo.h>],
2795[ struct sysinfo sinfo;
2796 int t;
2797
2798 (void)sysinfo(&sinfo);
2799 t = sinfo.totalram;
2800 ],
2801 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSINFO),
2802 AC_MSG_RESULT(not usable))
2803
2804dnl sysconf() may exist but not support what we want to use
2805AC_MSG_CHECKING(for sysconf)
2806AC_TRY_COMPILE(
2807[#include <unistd.h>],
2808[ (void)sysconf(_SC_PAGESIZE);
2809 (void)sysconf(_SC_PHYS_PAGES);
2810 ],
2811 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSCONF),
2812 AC_MSG_RESULT(not usable))
2813
2814dnl Our own version of AC_CHECK_SIZEOF(int); fixes a bug when sizeof() can't
2815dnl be printed with "%d", and avoids a warning for cross-compiling.
2816
2817AC_MSG_CHECKING(size of int)
2818AC_CACHE_VAL(ac_cv_sizeof_int,
2819 [AC_TRY_RUN([#include <stdio.h>
2820 main()
2821 {
2822 FILE *f=fopen("conftestval", "w");
2823 if (!f) exit(1);
2824 fprintf(f, "%d\n", (int)sizeof(int));
2825 exit(0);
2826 }],
2827 ac_cv_sizeof_int=`cat conftestval`,
2828 ac_cv_sizeof_int=0,
2829 AC_MSG_ERROR(failed to compile test program))])
2830AC_MSG_RESULT($ac_cv_sizeof_int)
2831AC_DEFINE_UNQUOTED(SIZEOF_INT, $ac_cv_sizeof_int)
2832
2833AC_MSG_CHECKING(whether memmove/bcopy/memcpy handle overlaps)
2834[bcopy_test_prog='
2835main() {
2836 char buf[10];
2837 strcpy(buf, "abcdefghi");
2838 mch_memmove(buf, buf + 2, 3);
2839 if (strncmp(buf, "ababcf", 6))
2840 exit(1);
2841 strcpy(buf, "abcdefghi");
2842 mch_memmove(buf + 2, buf, 3);
2843 if (strncmp(buf, "cdedef", 6))
2844 exit(1);
2845 exit(0); /* libc version works properly. */
2846}']
2847
2848dnl Check for memmove() before bcopy(), makes memmove() be used when both are
2849dnl present, fixes problem with incompatibility between Solaris 2.4 and 2.5.
2850
2851AC_TRY_RUN([#define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog],
2852 AC_DEFINE(USEMEMMOVE) AC_MSG_RESULT(memmove does),
2853 AC_TRY_RUN([#define mch_memmove(s,d,l) bcopy(d,s,l) $bcopy_test_prog],
2854 AC_DEFINE(USEBCOPY) AC_MSG_RESULT(bcopy does),
2855 AC_TRY_RUN([#define mch_memmove(s,d,l) memcpy(d,s,l) $bcopy_test_prog],
2856 AC_DEFINE(USEMEMCPY) AC_MSG_RESULT(memcpy does), AC_MSG_RESULT(no),
2857 AC_MSG_ERROR(failed to compile test program)),
2858 AC_MSG_ERROR(failed to compile test program)),
2859 AC_MSG_ERROR(failed to compile test program))
2860
2861dnl Check for multibyte locale functions
2862dnl Find out if _Xsetlocale() is supported by libX11.
2863dnl Check if X_LOCALE should be defined.
2864
2865if test "$enable_multibyte" = "yes"; then
2866 cflags_save=$CFLAGS
2867 ldflags_save=$LDFLAGS
2868 if test -n "$x_includes" ; then
2869 CFLAGS="$CFLAGS -I$x_includes"
2870 LDFLAGS="$X_LIBS $LDFLAGS -lX11"
2871 AC_MSG_CHECKING(whether X_LOCALE needed)
2872 AC_TRY_COMPILE([#include <X11/Xlocale.h>],,
2873 AC_TRY_LINK_FUNC([_Xsetlocale], [AC_MSG_RESULT(yes)
2874 AC_DEFINE(X_LOCALE)], AC_MSG_RESULT(no)),
2875 AC_MSG_RESULT(no))
2876 fi
2877 CFLAGS=$cflags_save
2878 LDFLAGS=$ldflags_save
2879fi
2880
2881dnl Link with xpg4, it is said to make Korean locale working
2882AC_CHECK_LIB(xpg4, _xpg4_setrunelocale, [LIBS="$LIBS -lxpg4"],,)
2883
2884dnl Check how we can run ctags
2885dnl --version for Exuberant ctags (preferred)
2886dnl -t for typedefs (many ctags have this)
2887dnl -s for static functions (Elvis ctags only?)
2888dnl -v for variables. Dangerous, most ctags take this for 'vgrind style'.
2889dnl -i+m to test for older Exuberant ctags
2890AC_MSG_CHECKING(how to create tags)
2891test -f tags && mv tags tags.save
2892if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
2893 TAGPRG="ctags"
2894else
2895 (eval etags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags"
2896 (eval etags -c /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags -c"
2897 (eval ctags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags"
2898 (eval ctags -t /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -t"
2899 (eval ctags -ts /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -ts"
2900 (eval ctags -tvs /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -tvs"
2901 (eval ctags -i+m /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -i+m"
2902fi
2903test -f tags.save && mv tags.save tags
2904AC_MSG_RESULT($TAGPRG) AC_SUBST(TAGPRG)
2905
2906dnl Check how we can run man with a section number
2907AC_MSG_CHECKING(how to run man with a section nr)
2908MANDEF="man"
2909(eval man -s 2 read) < /dev/null > /dev/null 2>&AC_FD_CC && MANDEF="man -s"
2910AC_MSG_RESULT($MANDEF)
2911if test "$MANDEF" = "man -s"; then
2912 AC_DEFINE(USEMAN_S)
2913fi
2914
2915dnl Check if gettext() is working and if it needs -lintl
2916AC_MSG_CHECKING(--disable-nls argument)
2917AC_ARG_ENABLE(nls,
2918 [ --disable-nls Don't support NLS (gettext()).], ,
2919 [enable_nls="yes"])
2920
2921if test "$enable_nls" = "yes"; then
2922 AC_MSG_RESULT(no)
2923 AC_CHECK_PROG(MSGFMT, msgfmt, msgfmt, )
2924 AC_MSG_CHECKING([for NLS])
2925 if test -f po/Makefile; then
2926 have_gettext="no"
2927 if test -n "$MSGFMT"; then
2928 AC_TRY_LINK(
2929 [#include <libintl.h>],
2930 [gettext("Test");],
2931 AC_MSG_RESULT([gettext() works]); have_gettext="yes",
2932 olibs=$LIBS
2933 LIBS="$LIBS -lintl"
2934 AC_TRY_LINK(
2935 [#include <libintl.h>],
2936 [gettext("Test");],
2937 AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes",
2938 AC_MSG_RESULT([gettext() doesn't work]);
2939 LIBS=$olibs))
2940 else
2941 AC_MSG_RESULT([msgfmt not found - disabled]);
2942 fi
2943 if test $have_gettext = "yes"; then
2944 AC_DEFINE(HAVE_GETTEXT)
2945 MAKEMO=yes
2946 AC_SUBST(MAKEMO)
2947 dnl this was added in GNU gettext 0.10.36
2948 AC_CHECK_FUNCS(bind_textdomain_codeset)
2949 dnl _nl_msg_cat_cntr is required for GNU gettext
2950 AC_MSG_CHECKING([for _nl_msg_cat_cntr])
2951 AC_TRY_LINK(
2952 [#include <libintl.h>
2953 extern int _nl_msg_cat_cntr;],
2954 [++_nl_msg_cat_cntr;],
2955 AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_NL_MSG_CAT_CNTR),
2956 AC_MSG_RESULT([no]))
2957 fi
2958 else
2959 AC_MSG_RESULT([no "po/Makefile" - disabled]);
2960 fi
2961else
2962 AC_MSG_RESULT(yes)
2963fi
2964
2965dnl Check for dynamic linking loader
2966AC_CHECK_HEADER(dlfcn.h, DLL=dlfcn.h, [AC_CHECK_HEADER(dl.h, DLL=dl.h)])
2967if test x${DLL} = xdlfcn.h; then
2968 AC_DEFINE(HAVE_DLFCN_H, 1, [ Define if we have dlfcn.h. ])
2969 AC_MSG_CHECKING([for dlopen()])
2970 AC_TRY_LINK(,[
2971 extern void* dlopen();
2972 dlopen();
2973 ],
2974 AC_MSG_RESULT(yes);
2975 AC_DEFINE(HAVE_DLOPEN, 1, [ Define if we have dlopen() ]),
2976 AC_MSG_RESULT(no);
2977 AC_MSG_CHECKING([for dlopen() in -ldl])
2978 olibs=$LIBS
2979 LIBS="$LIBS -ldl"
2980 AC_TRY_LINK(,[
2981 extern void* dlopen();
2982 dlopen();
2983 ],
2984 AC_MSG_RESULT(yes);
2985 AC_DEFINE(HAVE_DLOPEN, 1, [ Define if we have dlopen() ]),
2986 AC_MSG_RESULT(no);
2987 LIBS=$olibs))
2988 dnl ReliantUNIX has dlopen() in libc but everything else in libdl
2989 dnl ick :-)
2990 AC_MSG_CHECKING([for dlsym()])
2991 AC_TRY_LINK(,[
2992 extern void* dlsym();
2993 dlsym();
2994 ],
2995 AC_MSG_RESULT(yes);
2996 AC_DEFINE(HAVE_DLSYM, 1, [ Define if we have dlsym() ]),
2997 AC_MSG_RESULT(no);
2998 AC_MSG_CHECKING([for dlsym() in -ldl])
2999 olibs=$LIBS
3000 LIBS="$LIBS -ldl"
3001 AC_TRY_LINK(,[
3002 extern void* dlsym();
3003 dlsym();
3004 ],
3005 AC_MSG_RESULT(yes);
3006 AC_DEFINE(HAVE_DLSYM, 1, [ Define if we have dlsym() ]),
3007 AC_MSG_RESULT(no);
3008 LIBS=$olibs))
3009elif test x${DLL} = xdl.h; then
3010 AC_DEFINE(HAVE_DL_H, 1, [ Define if we have dl.h. ])
3011 AC_MSG_CHECKING([for shl_load()])
3012 AC_TRY_LINK(,[
3013 extern void* shl_load();
3014 shl_load();
3015 ],
3016 AC_MSG_RESULT(yes);
3017 AC_DEFINE(HAVE_SHL_LOAD, 1, [ Define if we have shl_load() ]),
3018 AC_MSG_RESULT(no);
3019 AC_MSG_CHECKING([for shl_load() in -ldld])
3020 olibs=$LIBS
3021 LIBS="$LIBS -ldld"
3022 AC_TRY_LINK(,[
3023 extern void* shl_load();
3024 shl_load();
3025 ],
3026 AC_MSG_RESULT(yes);
3027 AC_DEFINE(HAVE_SHL_LOAD, 1, [ Define if we have shl_load() ]),
3028 AC_MSG_RESULT(no);
3029 LIBS=$olibs))
3030fi
3031AC_CHECK_HEADERS(setjmp.h)
3032
3033if test "x$MACOSX" = "xyes" -a -n "$PERL"; then
3034 dnl -ldl must come after DynaLoader.a
3035 if echo $LIBS | grep -e '-ldl' >/dev/null; then
3036 LIBS=`echo $LIBS | sed s/-ldl//`
3037 PERL_LIBS="$PERL_LIBS -ldl"
3038 fi
3039fi
3040
3041if test "x$MACOSX" = "xyes" && test "x$CARBON" = "xyes" \
3042 && test "x$GUITYPE" != "xCARBONGUI"; then
3043 AC_MSG_CHECKING(whether we need -framework Carbon)
3044 dnl check for MACOSX without Carbon GUI, but with FEAT_MBYTE
3045 if test "x$enable_multibyte" = "xyes" || test "x$features" == "xbig" \
3046 || test "x$features" = "xhuge"; then
3047 LIBS="$LIBS -framework Carbon"
3048 AC_MSG_RESULT(yes)
3049 else
3050 AC_MSG_RESULT(no)
3051 fi
3052fi
3053
3054
3055dnl write output files
3056AC_OUTPUT(auto/config.mk:config.mk.in)
3057
3058dnl vim: set sw=2 tw=78 fo+=l: