Mercurial > vim
annotate src/configure.in @ 7154:a01294e1c02f v7.4.888
commit https://github.com/vim/vim/commit/ba117c23dfd1146aca3235bea172df17a48bccee
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Sep 29 16:53:22 2015 +0200
patch 7.4.888
Problem: The OptionSet autocommands are not triggered from setwinvar().
Solution: Do not use switch_win() when not needed. (Hirohito Higashi)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 29 Sep 2015 17:00:04 +0200 |
parents | 793ca14b5654 |
children | a4d10eec6356 |
rev | line source |
---|---|
7 | 1 dnl configure.in: autoconf script for Vim |
2 | |
3 dnl Process this file with autoconf 2.12 or 2.13 to produce "configure". | |
4 dnl Should also work with autoconf 2.54 and later. | |
5 | |
6 AC_INIT(vim.h) | |
7 AC_CONFIG_HEADER(auto/config.h:config.h.in) | |
8 | |
9 dnl Being able to run configure means the system is Unix (compatible). | |
10 AC_DEFINE(UNIX) | |
11 AC_PROG_MAKE_SET | |
12 | |
13 dnl Checks for programs. | |
14 AC_PROG_CC dnl required by almost everything | |
15 AC_PROG_CPP dnl required by header file checks | |
16 AC_PROGRAM_EGREP dnl required by AC_EGREP_CPP | |
5759 | 17 AC_PROG_FGREP dnl finds working grep -F |
7 | 18 AC_ISC_POSIX dnl required by AC_C_CROSS |
19 AC_PROG_AWK dnl required for "make html" in ../doc | |
20 | |
21 dnl Don't strip if we don't have it | |
22 AC_CHECK_PROG(STRIP, strip, strip, :) | |
23 | |
14 | 24 dnl Check for extension of executables |
7 | 25 AC_EXEEXT |
26 | |
1621 | 27 dnl Check for standard headers. We don't use this in Vim but other stuff |
28 dnl in autoconf needs it, where it uses STDC_HEADERS. | |
29 AC_HEADER_STDC | |
30 AC_HEADER_SYS_WAIT | |
31 | |
3222 | 32 dnl Check for the flag that fails if stuff are missing. |
33 | |
34 AC_MSG_CHECKING(--enable-fail-if-missing argument) | |
35 AC_ARG_ENABLE(fail_if_missing, | |
36 [ --enable-fail-if-missing Fail if dependencies on additional features | |
37 specified on the command line are missing.], | |
38 [fail_if_missing="yes"], | |
39 [fail_if_missing="no"]) | |
40 AC_MSG_RESULT($fail_if_missing) | |
41 | |
7 | 42 dnl Set default value for CFLAGS if none is defined or it's empty |
43 if test -z "$CFLAGS"; then | |
44 CFLAGS="-O" | |
45 test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall" | |
46 fi | |
47 if test "$GCC" = yes; then | |
819 | 48 dnl method that should work for nearly all versions |
5830 | 49 gccversion=`$CC -dumpversion` |
819 | 50 if test "x$gccversion" = "x"; then |
51 dnl old method; fall-back for when -dumpversion doesn't work | |
5830 | 52 gccversion=`$CC --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[[^0-9]]*\([[0-9]]\.[[0-9.]]*\).*$/\1/g'` |
819 | 53 fi |
557 | 54 dnl version 4.0.1 was reported to cause trouble on Macintosh by Marcin Dalecki |
55 if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then | |
697 | 56 echo 'GCC [[34]].0.[[12]] has a bug in the optimizer, disabling "-O#"' |
7 | 57 CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-O/'` |
58 else | |
59 if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then | |
60 echo 'GCC 3.1 and 3.2 have a bug in the optimizer, adding "-fno-strength-reduce"' | |
61 CFLAGS="$CFLAGS -fno-strength-reduce" | |
62 fi | |
63 fi | |
64 fi | |
65 | |
5394 | 66 dnl clang-500.2.75 or around has abandoned -f[no-]strength-reduce and issues a |
67 dnl warning when that flag is passed to. Accordingly, adjust CFLAGS based on | |
68 dnl the version number of the clang in use. | |
69 dnl Note that this does not work to get the version of clang 3.1 or 3.2. | |
70 AC_MSG_CHECKING(for recent clang version) | |
5830 | 71 CLANG_VERSION_STRING=`$CC --version 2>/dev/null | sed -n -e 's/^.*clang.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'` |
5394 | 72 if test x"$CLANG_VERSION_STRING" != x"" ; then |
73 CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*/\1/p'` | |
74 CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*/\1/p'` | |
75 CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)/\1/p'` | |
76 CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION` | |
77 AC_MSG_RESULT($CLANG_VERSION) | |
78 dnl If you find the same issue with versions earlier than 500.2.75, | |
79 dnl change the constant 500002075 below appropriately. To get the | |
80 dnl integer corresponding to a version number, refer to the | |
81 dnl definition of CLANG_VERSION above. | |
82 if test "$CLANG_VERSION" -ge 500002075 ; then | |
83 CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'` | |
84 fi | |
85 else | |
86 AC_MSG_RESULT(no) | |
87 fi | |
88 | |
1621 | 89 dnl If configure thinks we are cross compiling, there might be something |
90 dnl wrong with the CC or CFLAGS settings, give a useful warning message | |
7 | 91 if test "$cross_compiling" = yes; then |
1621 | 92 AC_MSG_RESULT([cannot compile a simple program; if not cross compiling check CC and CFLAGS]) |
7 | 93 fi |
94 | |
548 | 95 dnl gcc-cpp has the wonderful -MM option to produce nicer dependencies. |
96 dnl But gcc 3.1 changed the meaning! See near the end. | |
7 | 97 test "$GCC" = yes && CPP_MM=M; AC_SUBST(CPP_MM) |
98 | |
99 if test -f ./toolcheck; then | |
100 AC_CHECKING(for buggy tools) | |
101 sh ./toolcheck 1>&AC_FD_MSG | |
102 fi | |
103 | |
104 OS_EXTRA_SRC=""; OS_EXTRA_OBJ="" | |
105 | |
106 dnl Check for BeOS, which needs an extra source file | |
107 AC_MSG_CHECKING(for BeOS) | |
108 case `uname` in | |
109 BeOS) OS_EXTRA_SRC=os_beos.c; OS_EXTRA_OBJ=objects/os_beos.o | |
110 BEOS=yes; AC_MSG_RESULT(yes);; | |
111 *) BEOS=no; AC_MSG_RESULT(no);; | |
112 esac | |
113 | |
114 dnl If QNX is found, assume we don't want to use Xphoton | |
115 dnl unless it was specifically asked for (--with-x) | |
116 AC_MSG_CHECKING(for QNX) | |
117 case `uname` in | |
118 QNX) OS_EXTRA_SRC=os_qnx.c; OS_EXTRA_OBJ=objects/os_qnx.o | |
119 test -z "$with_x" && with_x=no | |
120 QNX=yes; AC_MSG_RESULT(yes);; | |
121 *) QNX=no; AC_MSG_RESULT(no);; | |
122 esac | |
123 | |
124 dnl Check for Darwin and MacOS X | |
125 dnl We do a check for MacOS X in the very beginning because there | |
126 dnl are a lot of other things we need to change besides GUI stuff | |
127 AC_MSG_CHECKING([for Darwin (Mac OS X)]) | |
128 if test "`(uname) 2>/dev/null`" = Darwin; then | |
129 AC_MSG_RESULT(yes) | |
130 | |
131 AC_MSG_CHECKING(--disable-darwin argument) | |
132 AC_ARG_ENABLE(darwin, | |
133 [ --disable-darwin Disable Darwin (Mac OS X) support.], | |
134 , [enable_darwin="yes"]) | |
135 if test "$enable_darwin" = "yes"; then | |
136 AC_MSG_RESULT(no) | |
137 AC_MSG_CHECKING(if Darwin files are there) | |
2309
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
138 if test -f os_macosx.m; then |
7 | 139 AC_MSG_RESULT(yes) |
140 else | |
141 AC_MSG_RESULT([no, Darwin support disabled]) | |
142 enable_darwin=no | |
143 fi | |
144 else | |
145 AC_MSG_RESULT([yes, Darwin support excluded]) | |
146 fi | |
147 | |
692 | 148 AC_MSG_CHECKING(--with-mac-arch argument) |
809 | 149 AC_ARG_WITH(mac-arch, [ --with-mac-arch=ARCH current, intel, ppc or both], |
692 | 150 MACARCH="$withval"; AC_MSG_RESULT($MACARCH), |
809 | 151 MACARCH="current"; AC_MSG_RESULT(defaulting to $MACARCH)) |
692 | 152 |
2110
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
153 AC_MSG_CHECKING(--with-developer-dir argument) |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
154 AC_ARG_WITH(developer-dir, [ --with-developer-dir=PATH use PATH as location for Xcode developer tools], |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
155 DEVELOPER_DIR="$withval"; AC_MSG_RESULT($DEVELOPER_DIR), |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
156 DEVELOPER_DIR=""; AC_MSG_RESULT(not present)) |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
157 |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
158 if test "x$DEVELOPER_DIR" = "x"; then |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
159 AC_PATH_PROG(XCODE_SELECT, xcode-select) |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
160 if test "x$XCODE_SELECT" != "x"; then |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
161 AC_MSG_CHECKING(for developer dir using xcode-select) |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
162 DEVELOPER_DIR=`$XCODE_SELECT -print-path` |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
163 AC_MSG_RESULT([$DEVELOPER_DIR]) |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
164 else |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
165 DEVELOPER_DIR=/Developer |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
166 fi |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
167 fi |
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
168 |
692 | 169 if test "x$MACARCH" = "xboth"; then |
697 | 170 AC_MSG_CHECKING(for 10.4 universal SDK) |
171 dnl There is a terrible inconsistency (but we appear to get away with it): | |
172 dnl $CFLAGS uses the 10.4u SDK library for the headers, while $CPPFLAGS | |
173 dnl doesn't, because "gcc -E" doesn't grok it. That means the configure | |
174 dnl tests using the preprocessor are actually done with the wrong header | |
175 dnl files. $LDFLAGS is set at the end, because configure uses it together | |
176 dnl with $CFLAGS and we can only have one -sysroot argument. | |
692 | 177 save_cppflags="$CPPFLAGS" |
697 | 178 save_cflags="$CFLAGS" |
692 | 179 save_ldflags="$LDFLAGS" |
2110
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
180 CFLAGS="$CFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" |
692 | 181 AC_TRY_LINK([ ], [ ], |
697 | 182 AC_MSG_RESULT(found, will make universal binary), |
692 | 183 |
697 | 184 AC_MSG_RESULT(not found) |
716 | 185 CFLAGS="$save_cflags" |
697 | 186 AC_MSG_CHECKING(if Intel architecture is supported) |
187 CPPFLAGS="$CPPFLAGS -arch i386" | |
188 LDFLAGS="$save_ldflags -arch i386" | |
189 AC_TRY_LINK([ ], [ ], | |
190 AC_MSG_RESULT(yes); MACARCH="intel", | |
191 AC_MSG_RESULT(no, using PowerPC) | |
856 | 192 MACARCH="ppc" |
697 | 193 CPPFLAGS="$save_cppflags -arch ppc" |
194 LDFLAGS="$save_ldflags -arch ppc")) | |
195 elif test "x$MACARCH" = "xintel"; then | |
196 CPPFLAGS="$CPPFLAGS -arch intel" | |
197 LDFLAGS="$LDFLAGS -arch intel" | |
818 | 198 elif test "x$MACARCH" = "xppc"; then |
697 | 199 CPPFLAGS="$CPPFLAGS -arch ppc" |
200 LDFLAGS="$LDFLAGS -arch ppc" | |
692 | 201 fi |
202 | |
7 | 203 if test "$enable_darwin" = "yes"; then |
204 MACOSX=yes | |
2309
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
205 OS_EXTRA_SRC="os_macosx.m os_mac_conv.c"; |
18 | 206 OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" |
685 | 207 dnl TODO: use -arch i386 on Intel machines |
5436 | 208 dnl Removed -no-cpp-precomp, only for very old compilers. |
209 CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX" | |
7 | 210 |
211 dnl If Carbon is found, assume we don't want X11 | |
212 dnl unless it was specifically asked for (--with-x) | |
18 | 213 dnl or Motif, Athena or GTK GUI is used. |
7 | 214 AC_CHECK_HEADER(Carbon/Carbon.h, CARBON=yes) |
215 if test "x$CARBON" = "xyes"; then | |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
216 if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk2; then |
7 | 217 with_x=no |
218 fi | |
219 fi | |
220 fi | |
692 | 221 |
798 | 222 dnl Avoid a bug with -O2 with gcc 4.0.1. Symptom: malloc() reports double |
699 | 223 dnl free. This happens in expand_filename(), because the optimizer swaps |
798 | 224 dnl two blocks of code, both using "repl", that can't be swapped. |
697 | 225 if test "$MACARCH" = "intel" -o "$MACARCH" = "both"; then |
226 CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-Oz/'` | |
227 fi | |
228 | |
7 | 229 else |
230 AC_MSG_RESULT(no) | |
231 fi | |
232 | |
5421 | 233 dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon |
234 dnl so we need to include it to have access to version macros. | |
5423 | 235 AC_CHECK_HEADERS(AvailabilityMacros.h) |
5421 | 236 |
7 | 237 AC_SUBST(OS_EXTRA_SRC) |
238 AC_SUBST(OS_EXTRA_OBJ) | |
239 | |
240 dnl Add /usr/local/lib to $LDFLAGS and /usr/local/include to CFLAGS. | |
241 dnl Only when the directory exists and it wasn't there yet. | |
242 dnl For gcc don't do this when it is already in the default search path. | |
1621 | 243 dnl Skip all of this when cross-compiling. |
244 if test "$cross_compiling" = no; then | |
1668 | 245 AC_MSG_CHECKING(--with-local-dir argument) |
1621 | 246 have_local_include='' |
247 have_local_lib='' | |
1668 | 248 AC_ARG_WITH([local-dir], [ --with-local-dir=PATH search PATH instead of /usr/local for local libraries. |
249 --without-local-dir do not search /usr/local for local libraries.], [ | |
250 local_dir="$withval" | |
251 case "$withval" in | |
252 */*) ;; | |
253 no) | |
254 # avoid adding local dir to LDFLAGS and CPPFLAGS | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2351
diff
changeset
|
255 have_local_include=yes |
1668 | 256 have_local_lib=yes |
257 ;; | |
258 *) AC_MSG_ERROR(must pass path argument to --with-local-dir) ;; | |
259 esac | |
260 AC_MSG_RESULT($local_dir) | |
261 ], [ | |
262 local_dir=/usr/local | |
263 AC_MSG_RESULT(Defaulting to $local_dir) | |
264 ]) | |
265 if test "$GCC" = yes -a "$local_dir" != no; then | |
1621 | 266 echo 'void f(){}' > conftest.c |
5436 | 267 dnl Removed -no-cpp-precomp, only needed for OS X 10.2 (Ben Fowler) |
268 have_local_include=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/include"` | |
1668 | 269 have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"` |
1621 | 270 rm -f conftest.c conftest.o |
7 | 271 fi |
1668 | 272 if test -z "$have_local_lib" -a -d "${local_dir}/lib"; then |
273 tt=`echo "$LDFLAGS" | sed -e "s+-L${local_dir}/lib ++g" -e "s+-L${local_dir}/lib$++g"` | |
1621 | 274 if test "$tt" = "$LDFLAGS"; then |
1668 | 275 LDFLAGS="$LDFLAGS -L${local_dir}/lib" |
1621 | 276 fi |
277 fi | |
1668 | 278 if test -z "$have_local_include" -a -d "${local_dir}/include"; then |
279 tt=`echo "$CPPFLAGS" | sed -e "s+-I${local_dir}/include ++g" -e "s+-I${local_dir}/include$++g"` | |
1621 | 280 if test "$tt" = "$CPPFLAGS"; then |
1668 | 281 CPPFLAGS="$CPPFLAGS -I${local_dir}/include" |
1621 | 282 fi |
7 | 283 fi |
284 fi | |
285 | |
286 AC_MSG_CHECKING(--with-vim-name argument) | |
287 AC_ARG_WITH(vim-name, [ --with-vim-name=NAME what to call the Vim executable], | |
288 VIMNAME="$withval"; AC_MSG_RESULT($VIMNAME), | |
502 | 289 VIMNAME="vim"; AC_MSG_RESULT(Defaulting to $VIMNAME)) |
7 | 290 AC_SUBST(VIMNAME) |
291 AC_MSG_CHECKING(--with-ex-name argument) | |
292 AC_ARG_WITH(ex-name, [ --with-ex-name=NAME what to call the Ex executable], | |
293 EXNAME="$withval"; AC_MSG_RESULT($EXNAME), | |
294 EXNAME="ex"; AC_MSG_RESULT(Defaulting to ex)) | |
295 AC_SUBST(EXNAME) | |
296 AC_MSG_CHECKING(--with-view-name argument) | |
297 AC_ARG_WITH(view-name, [ --with-view-name=NAME what to call the View executable], | |
298 VIEWNAME="$withval"; AC_MSG_RESULT($VIEWNAME), | |
299 VIEWNAME="view"; AC_MSG_RESULT(Defaulting to view)) | |
300 AC_SUBST(VIEWNAME) | |
301 | |
302 AC_MSG_CHECKING(--with-global-runtime argument) | |
303 AC_ARG_WITH(global-runtime, [ --with-global-runtime=DIR global runtime directory in 'runtimepath'], | |
304 AC_MSG_RESULT($withval); AC_DEFINE_UNQUOTED(RUNTIME_GLOBAL, "$withval"), | |
305 AC_MSG_RESULT(no)) | |
306 | |
307 AC_MSG_CHECKING(--with-modified-by argument) | |
308 AC_ARG_WITH(modified-by, [ --with-modified-by=NAME name of who modified a release version], | |
309 AC_MSG_RESULT($withval); AC_DEFINE_UNQUOTED(MODIFIED_BY, "$withval"), | |
310 AC_MSG_RESULT(no)) | |
311 | |
2247
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
312 dnl Check for EBCDIC stolen from the LYNX port to z/OS Unix |
7 | 313 AC_MSG_CHECKING(if character set is EBCDIC) |
314 AC_TRY_COMPILE([ ], | |
315 [ /* TryCompile function for CharSet. | |
316 Treat any failure as ASCII for compatibility with existing art. | |
317 Use compile-time rather than run-time tests for cross-compiler | |
318 tolerance. */ | |
319 #if '0'!=240 | |
320 make an error "Character set is not EBCDIC" | |
321 #endif ], | |
322 [ # TryCompile action if true | |
323 cf_cv_ebcdic=yes ], | |
324 [ # TryCompile action if false | |
325 cf_cv_ebcdic=no]) | |
326 # end of TryCompile ]) | |
327 # end of CacheVal CvEbcdic | |
328 AC_MSG_RESULT($cf_cv_ebcdic) | |
329 case "$cf_cv_ebcdic" in #(vi | |
330 yes) AC_DEFINE(EBCDIC) | |
331 line_break='"\\n"' | |
332 ;; | |
333 *) line_break='"\\012"';; | |
334 esac | |
335 AC_SUBST(line_break) | |
336 | |
337 if test "$cf_cv_ebcdic" = "yes"; then | |
4352 | 338 dnl If we have EBCDIC we most likely have z/OS Unix, let's test it! |
2247
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
339 AC_MSG_CHECKING(for z/OS Unix) |
7 | 340 case `uname` in |
2247
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
341 OS/390) zOSUnix="yes"; |
7 | 342 dnl If using cc the environment variable _CC_CCMODE must be |
343 dnl set to "1", so that some compiler extensions are enabled. | |
344 dnl If using c89 the environment variable is named _CC_C89MODE. | |
345 dnl Note: compile with c89 never tested. | |
346 if test "$CC" = "cc"; then | |
347 ccm="$_CC_CCMODE" | |
348 ccn="CC" | |
349 else | |
350 if test "$CC" = "c89"; then | |
351 ccm="$_CC_C89MODE" | |
352 ccn="C89" | |
353 else | |
354 ccm=1 | |
355 fi | |
356 fi | |
357 if test "$ccm" != "1"; then | |
358 echo "" | |
359 echo "------------------------------------------" | |
2247
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
360 echo " On z/OS Unix, the environment variable" |
3590 | 361 echo " _CC_${ccn}MODE must be set to \"1\"!" |
7 | 362 echo " Do:" |
363 echo " export _CC_${ccn}MODE=1" | |
364 echo " and then call configure again." | |
365 echo "------------------------------------------" | |
366 exit 1 | |
367 fi | |
3590 | 368 # Set CFLAGS for configure process. |
369 # This will be reset later for config.mk. | |
370 # Use haltonmsg to force error for missing H files. | |
371 CFLAGS="$CFLAGS -D_ALL_SOURCE -Wc,float(ieee),haltonmsg(3296)"; | |
372 LDFLAGS="$LDFLAGS -Wl,EDIT=NO" | |
7 | 373 AC_MSG_RESULT(yes) |
374 ;; | |
2247
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
375 *) zOSUnix="no"; |
7 | 376 AC_MSG_RESULT(no) |
377 ;; | |
378 esac | |
379 fi | |
380 | |
2247
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
381 dnl Set QUOTESED. Needs additional backslashes on zOS |
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
382 if test "$zOSUnix" = "yes"; then |
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
383 QUOTESED="sed -e 's/[[\\\\\"]]/\\\\\\\\&/g' -e 's/\\\\\\\\\"/\"/' -e 's/\\\\\\\\\";\$\$/\";/'" |
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
384 else |
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
385 QUOTESED="sed -e 's/[[\\\\\"]]/\\\\&/g' -e 's/\\\\\"/\"/' -e 's/\\\\\";\$\$/\";/'" |
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
386 fi |
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
387 AC_SUBST(QUOTESED) |
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
388 |
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
389 |
5788 | 390 dnl Link with -lsmack for Smack stuff; if not found |
391 AC_MSG_CHECKING(--disable-smack argument) | |
392 AC_ARG_ENABLE(smack, | |
393 [ --disable-smack Do not check for Smack support.], | |
394 , enable_smack="yes") | |
395 if test "$enable_smack" = "yes"; then | |
5804 | 396 AC_MSG_RESULT(no) |
5788 | 397 AC_CHECK_HEADER([linux/xattr.h], true, enable_smack="no") |
5804 | 398 else |
5822 | 399 AC_MSG_RESULT(yes) |
400 fi | |
401 if test "$enable_smack" = "yes"; then | |
402 AC_CHECK_HEADER([attr/xattr.h], true, enable_smack="no") | |
5788 | 403 fi |
404 if test "$enable_smack" = "yes"; then | |
5822 | 405 AC_MSG_CHECKING(for XATTR_NAME_SMACKEXEC in linux/xattr.h) |
406 AC_EGREP_CPP(XATTR_NAME_SMACKEXEC, [#include <linux/xattr.h>], | |
407 AC_MSG_RESULT(yes), | |
5824 | 408 AC_MSG_RESULT(no); enable_smack="no") |
5822 | 409 fi |
410 if test "$enable_smack" = "yes"; then | |
411 AC_CHECK_LIB(attr, setxattr, | |
5788 | 412 [LIBS="$LIBS -lattr" |
413 found_smack="yes" | |
414 AC_DEFINE(HAVE_SMACK)]) | |
1583 | 415 fi |
7 | 416 |
5788 | 417 dnl When smack was found don't search for SELinux |
418 if test "x$found_smack" = "x"; then | |
419 dnl Link with -lselinux for SELinux stuff; if not found | |
420 AC_MSG_CHECKING(--disable-selinux argument) | |
421 AC_ARG_ENABLE(selinux, | |
422 [ --disable-selinux Do not check for SELinux support.], | |
423 , enable_selinux="yes") | |
424 if test "$enable_selinux" = "yes"; then | |
425 AC_MSG_RESULT(no) | |
426 AC_CHECK_LIB(selinux, is_selinux_enabled, | |
427 [LIBS="$LIBS -lselinux" | |
428 AC_DEFINE(HAVE_SELINUX)]) | |
429 else | |
430 AC_MSG_RESULT(yes) | |
431 fi | |
432 fi | |
433 | |
7 | 434 dnl Check user requested features. |
435 | |
436 AC_MSG_CHECKING(--with-features argument) | |
437 AC_ARG_WITH(features, [ --with-features=TYPE tiny, small, normal, big or huge (default: normal)], | |
438 features="$withval"; AC_MSG_RESULT($features), | |
439 features="normal"; AC_MSG_RESULT(Defaulting to normal)) | |
440 | |
441 dovimdiff="" | |
442 dogvimdiff="" | |
443 case "$features" in | |
444 tiny) AC_DEFINE(FEAT_TINY) ;; | |
445 small) AC_DEFINE(FEAT_SMALL) ;; | |
446 normal) AC_DEFINE(FEAT_NORMAL) dovimdiff="installvimdiff"; | |
447 dogvimdiff="installgvimdiff" ;; | |
448 big) AC_DEFINE(FEAT_BIG) dovimdiff="installvimdiff"; | |
449 dogvimdiff="installgvimdiff" ;; | |
450 huge) AC_DEFINE(FEAT_HUGE) dovimdiff="installvimdiff"; | |
451 dogvimdiff="installgvimdiff" ;; | |
452 *) AC_MSG_RESULT([Sorry, $features is not supported]) ;; | |
453 esac | |
454 | |
455 AC_SUBST(dovimdiff) | |
456 AC_SUBST(dogvimdiff) | |
457 | |
458 AC_MSG_CHECKING(--with-compiledby argument) | |
459 AC_ARG_WITH(compiledby, [ --with-compiledby=NAME name to show in :version message], | |
460 compiledby="$withval"; AC_MSG_RESULT($withval), | |
461 compiledby=""; AC_MSG_RESULT(no)) | |
462 AC_SUBST(compiledby) | |
463 | |
464 AC_MSG_CHECKING(--disable-xsmp argument) | |
465 AC_ARG_ENABLE(xsmp, | |
466 [ --disable-xsmp Disable XSMP session management], | |
467 , enable_xsmp="yes") | |
468 | |
469 if test "$enable_xsmp" = "yes"; then | |
470 AC_MSG_RESULT(no) | |
471 AC_MSG_CHECKING(--disable-xsmp-interact argument) | |
472 AC_ARG_ENABLE(xsmp-interact, | |
473 [ --disable-xsmp-interact Disable XSMP interaction], | |
474 , enable_xsmp_interact="yes") | |
475 if test "$enable_xsmp_interact" = "yes"; then | |
476 AC_MSG_RESULT(no) | |
477 AC_DEFINE(USE_XSMP_INTERACT) | |
478 else | |
479 AC_MSG_RESULT(yes) | |
480 fi | |
481 else | |
482 AC_MSG_RESULT(yes) | |
483 fi | |
484 | |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
485 dnl Check for Lua feature. |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
486 AC_MSG_CHECKING(--enable-luainterp argument) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
487 AC_ARG_ENABLE(luainterp, |
2373
f149bb1cf5be
Make it possible to load Lua dynamically on Unix. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
488 [ --enable-luainterp[=OPTS] Include Lua interpreter. [default=no] [OPTS=no/yes/dynamic]], , |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
489 [enable_luainterp="no"]) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
490 AC_MSG_RESULT($enable_luainterp) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
491 |
2373
f149bb1cf5be
Make it possible to load Lua dynamically on Unix. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
492 if test "$enable_luainterp" = "yes" -o "$enable_luainterp" = "dynamic"; then |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
493 dnl -- find the lua executable |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
494 AC_SUBST(vi_cv_path_lua) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
495 |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
496 AC_MSG_CHECKING(--with-lua-prefix argument) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
497 AC_ARG_WITH(lua_prefix, |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
498 [ --with-lua-prefix=PFX Prefix where Lua is installed.], |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
499 with_lua_prefix="$withval"; AC_MSG_RESULT($with_lua_prefix), |
2331
3840b7508835
Make it easier to build with Lua. Remove compiler warnings.
Bram Moolenaar <bram@vim.org>
parents:
2329
diff
changeset
|
500 with_lua_prefix="";AC_MSG_RESULT(no)) |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
501 |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
502 if test "X$with_lua_prefix" != "X"; then |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
503 vi_cv_path_lua_pfx="$with_lua_prefix" |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
504 else |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
505 AC_MSG_CHECKING(LUA_PREFIX environment var) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
506 if test "X$LUA_PREFIX" != "X"; then |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
507 AC_MSG_RESULT("$LUA_PREFIX") |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
508 vi_cv_path_lua_pfx="$LUA_PREFIX" |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
509 else |
2331
3840b7508835
Make it easier to build with Lua. Remove compiler warnings.
Bram Moolenaar <bram@vim.org>
parents:
2329
diff
changeset
|
510 AC_MSG_RESULT([not set, default to /usr]) |
3840b7508835
Make it easier to build with Lua. Remove compiler warnings.
Bram Moolenaar <bram@vim.org>
parents:
2329
diff
changeset
|
511 vi_cv_path_lua_pfx="/usr" |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
512 fi |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
513 fi |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
514 |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
515 AC_MSG_CHECKING(--with-luajit) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
516 AC_ARG_WITH(luajit, |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
517 [ --with-luajit Link with LuaJIT instead of Lua.], |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
518 [vi_cv_with_luajit="$withval"], |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
519 [vi_cv_with_luajit="no"]) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
520 AC_MSG_RESULT($vi_cv_with_luajit) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
521 |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
522 LUA_INC= |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
523 if test "X$vi_cv_path_lua_pfx" != "X"; then |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
524 if test "x$vi_cv_with_luajit" != "xno"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
525 dnl -- try to find LuaJIT executable |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
526 AC_PATH_PROG(vi_cv_path_luajit, luajit) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
527 if test "X$vi_cv_path_luajit" != "X"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
528 dnl -- find LuaJIT version |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
529 AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit, |
5492 | 530 [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]*\)* .*/\1/'` ]) |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
531 AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit, |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
532 [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ]) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
533 vi_cv_path_lua="$vi_cv_path_luajit" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
534 vi_cv_version_lua="$vi_cv_version_lua_luajit" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
535 fi |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
536 else |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
537 dnl -- try to find Lua executable |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
538 AC_PATH_PROG(vi_cv_path_plain_lua, lua) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
539 if test "X$vi_cv_path_plain_lua" != "X"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
540 dnl -- find Lua version |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
541 AC_CACHE_CHECK(Lua version, vi_cv_version_plain_lua, |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
542 [ vi_cv_version_plain_lua=`${vi_cv_path_plain_lua} -e "print(_VERSION)" | sed 's/.* //'` ]) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
543 fi |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
544 vi_cv_path_lua="$vi_cv_path_plain_lua" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
545 vi_cv_version_lua="$vi_cv_version_plain_lua" |
3833 | 546 fi |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
547 if test "x$vi_cv_with_luajit" != "xno" && test "X$vi_cv_version_luajit" != "X"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
548 AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
549 if test -f $vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit/lua.h; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
550 AC_MSG_RESULT(yes) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
551 LUA_INC=/luajit-$vi_cv_version_luajit |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
552 fi |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
553 fi |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
554 if test "X$LUA_INC" = "X"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
555 AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
556 if test -f $vi_cv_path_lua_pfx/include/lua.h; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
557 AC_MSG_RESULT(yes) |
3833 | 558 else |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
559 AC_MSG_RESULT(no) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
560 AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
561 if test -f $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua/lua.h; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
562 AC_MSG_RESULT(yes) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
563 LUA_INC=/lua$vi_cv_version_lua |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
564 else |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
565 AC_MSG_RESULT(no) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
566 vi_cv_path_lua_pfx= |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
567 fi |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
568 fi |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
569 fi |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
570 fi |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
571 |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
572 if test "X$vi_cv_path_lua_pfx" != "X"; then |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
573 if test "x$vi_cv_with_luajit" != "xno"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
574 multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null` |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
575 if test "X$multiarch" != "X"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
576 lib_multiarch="lib/${multiarch}" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
577 else |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
578 lib_multiarch="lib" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
579 fi |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
580 if test "X$vi_cv_version_lua" = "X"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
581 LUA_LIBS="-L${vi_cv_path_lua_pfx}/${lib_multiarch} -lluajit" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
582 else |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
583 LUA_LIBS="-L${vi_cv_path_lua_pfx}/${lib_multiarch} -lluajit-$vi_cv_version_lua" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
584 fi |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
585 else |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
586 if test "X$LUA_INC" != "X"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
587 dnl Test alternate location using version |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
588 LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua$vi_cv_version_lua" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
589 else |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
590 LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
591 fi |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
592 fi |
2373
f149bb1cf5be
Make it possible to load Lua dynamically on Unix. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
593 if test "$enable_luainterp" = "dynamic"; then |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
594 lua_ok="yes" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
595 else |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
596 AC_MSG_CHECKING([if link with ${LUA_LIBS} is sane]) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
597 libs_save=$LIBS |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
598 LIBS="$LIBS $LUA_LIBS" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
599 AC_TRY_LINK(,[ ], |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
600 AC_MSG_RESULT(yes); lua_ok="yes", |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
601 AC_MSG_RESULT(no); lua_ok="no"; LUA_LIBS="") |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
602 LIBS=$libs_save |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
603 fi |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
604 if test "x$lua_ok" = "xyes"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
605 LUA_CFLAGS="-I${vi_cv_path_lua_pfx}/include${LUA_INC}" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
606 LUA_SRC="if_lua.c" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
607 LUA_OBJ="objects/if_lua.o" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
608 LUA_PRO="if_lua.pro" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
609 AC_DEFINE(FEAT_LUA) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
610 fi |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
611 if test "$enable_luainterp" = "dynamic"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
612 if test "x$vi_cv_with_luajit" != "xno"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
613 luajit="jit" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
614 fi |
3833 | 615 if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then |
616 vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll" | |
617 else | |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
618 if test "x$MACOSX" = "xyes"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
619 ext="dylib" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
620 indexes="" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
621 else |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
622 ext="so" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
623 indexes=".0 .1 .2 .3 .4 .5 .6 .7 .8 .9" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
624 multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null` |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
625 if test "X$multiarch" != "X"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
626 lib_multiarch="lib/${multiarch}" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
627 fi |
4295 | 628 fi |
629 dnl Determine the sover for the current version, but fallback to | |
630 dnl liblua${vi_cv_version_lua}.so if no sover-versioned file is found. | |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
631 AC_MSG_CHECKING(if liblua${luajit}*.${ext}* can be found in $vi_cv_path_lua_pfx) |
4295 | 632 for subdir in "${lib_multiarch}" lib64 lib; do |
633 if test -z "$subdir"; then | |
634 continue | |
635 fi | |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
636 for sover in "${vi_cv_version_lua}.${ext}" "-${vi_cv_version_lua}.${ext}" \ |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
637 ".${vi_cv_version_lua}.${ext}" ".${ext}.${vi_cv_version_lua}"; do |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
638 for i in $indexes ""; do |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
639 if test -f "${vi_cv_path_lua_pfx}/${subdir}/liblua${luajit}${sover}$i"; then |
4295 | 640 sover2="$i" |
641 break 3 | |
642 fi | |
643 done | |
4103 | 644 done |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
645 sover="" |
3833 | 646 done |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
647 if test "X$sover" = "X"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
648 AC_MSG_RESULT(no) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
649 lua_ok="no" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
650 vi_cv_dll_name_lua="liblua${luajit}.${ext}" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
651 else |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
652 AC_MSG_RESULT(yes) |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
653 lua_ok="yes" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
654 vi_cv_dll_name_lua="liblua${luajit}${sover}$sover2" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
655 fi |
3833 | 656 fi |
2373
f149bb1cf5be
Make it possible to load Lua dynamically on Unix. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
657 AC_DEFINE(DYNAMIC_LUA) |
f149bb1cf5be
Make it possible to load Lua dynamically on Unix. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
658 LUA_LIBS="" |
3833 | 659 LUA_CFLAGS="-DDYNAMIC_LUA_DLL=\\\"${vi_cv_dll_name_lua}\\\" $LUA_CFLAGS" |
2373
f149bb1cf5be
Make it possible to load Lua dynamically on Unix. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
660 fi |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
661 if test "X$LUA_CFLAGS$LUA_LIBS" != "X" && \ |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
662 test "x$MACOSX" = "xyes" && test "x$vi_cv_with_luajit" != "xno" && \ |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
663 test "`(uname -m) 2>/dev/null`" = "x86_64"; then |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
664 dnl OSX/x64 requires these flags. See http://luajit.org/install.html |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
665 LUA_LIBS="-pagezero_size 10000 -image_base 100000000 $LUA_LIBS" |
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
666 fi |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
667 fi |
5240
da95a7f1d5a8
updated for version 7.4a.045
Bram Moolenaar <bram@vim.org>
parents:
5206
diff
changeset
|
668 if test "$fail_if_missing" = "yes" -a "$lua_ok" != "yes"; then |
3222 | 669 AC_MSG_ERROR([could not configure lua]) |
670 fi | |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
671 AC_SUBST(LUA_SRC) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
672 AC_SUBST(LUA_OBJ) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
673 AC_SUBST(LUA_PRO) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
674 AC_SUBST(LUA_LIBS) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
675 AC_SUBST(LUA_CFLAGS) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
676 fi |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
677 |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
678 |
14 | 679 dnl Check for MzScheme feature. |
680 AC_MSG_CHECKING(--enable-mzschemeinterp argument) | |
681 AC_ARG_ENABLE(mzschemeinterp, | |
682 [ --enable-mzschemeinterp Include MzScheme interpreter.], , | |
683 [enable_mzschemeinterp="no"]) | |
684 AC_MSG_RESULT($enable_mzschemeinterp) | |
685 | |
686 if test "$enable_mzschemeinterp" = "yes"; then | |
687 dnl -- find the mzscheme executable | |
688 AC_SUBST(vi_cv_path_mzscheme) | |
689 | |
690 AC_MSG_CHECKING(--with-plthome argument) | |
691 AC_ARG_WITH(plthome, | |
856 | 692 [ --with-plthome=PLTHOME Use PLTHOME.], |
693 with_plthome="$withval"; AC_MSG_RESULT($with_plthome), | |
14 | 694 with_plthome="";AC_MSG_RESULT("no")) |
695 | |
696 if test "X$with_plthome" != "X"; then | |
697 vi_cv_path_mzscheme_pfx="$with_plthome" | |
698 else | |
699 AC_MSG_CHECKING(PLTHOME environment var) | |
700 if test "X$PLTHOME" != "X"; then | |
701 AC_MSG_RESULT("$PLTHOME") | |
856 | 702 vi_cv_path_mzscheme_pfx="$PLTHOME" |
14 | 703 else |
1894 | 704 AC_MSG_RESULT(not set) |
14 | 705 dnl -- try to find MzScheme executable |
856 | 706 AC_PATH_PROG(vi_cv_path_mzscheme, mzscheme) |
14 | 707 |
708 dnl resolve symbolic link, the executable is often elsewhere and there | |
709 dnl are no links for the include files. | |
856 | 710 if test "X$vi_cv_path_mzscheme" != "X"; then |
14 | 711 lsout=`ls -l $vi_cv_path_mzscheme` |
712 if echo "$lsout" | grep -e '->' >/dev/null 2>/dev/null; then | |
713 vi_cv_path_mzscheme=`echo "$lsout" | sed 's/.*-> \(.*\)/\1/'` | |
714 fi | |
715 fi | |
716 | |
856 | 717 if test "X$vi_cv_path_mzscheme" != "X"; then |
718 dnl -- find where MzScheme thinks it was installed | |
719 AC_CACHE_CHECK(MzScheme install prefix,vi_cv_path_mzscheme_pfx, | |
1894 | 720 dnl different versions of MzScheme differ in command line processing |
721 dnl use universal approach | |
722 echo "(display (simplify-path \ | |
856 | 723 (build-path (call-with-values \ |
724 (lambda () (split-path (find-system-path (quote exec-file)))) \ | |
1894 | 725 (lambda (base name must-be-dir?) base)) (quote up))))" > mzdirs.scm |
726 dnl Remove a trailing slash | |
727 [ vi_cv_path_mzscheme_pfx=`${vi_cv_path_mzscheme} -r mzdirs.scm | \ | |
728 sed -e 's+/$++'` ]) | |
729 rm -f mzdirs.scm | |
856 | 730 fi |
14 | 731 fi |
732 fi | |
733 | |
1154 | 734 SCHEME_INC= |
14 | 735 if test "X$vi_cv_path_mzscheme_pfx" != "X"; then |
736 AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include) | |
737 if test -f $vi_cv_path_mzscheme_pfx/include/scheme.h; then | |
1894 | 738 SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include |
739 AC_MSG_RESULT(yes) | |
14 | 740 else |
1894 | 741 AC_MSG_RESULT(no) |
742 AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/plt) | |
1154 | 743 if test -f $vi_cv_path_mzscheme_pfx/include/plt/scheme.h; then |
1894 | 744 AC_MSG_RESULT(yes) |
745 SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/plt | |
1154 | 746 else |
1894 | 747 AC_MSG_RESULT(no) |
2628 | 748 AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket) |
749 if test -f $vi_cv_path_mzscheme_pfx/include/racket/scheme.h; then | |
1894 | 750 AC_MSG_RESULT(yes) |
2628 | 751 SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/racket |
1894 | 752 else |
753 AC_MSG_RESULT(no) | |
2628 | 754 AC_MSG_CHECKING(if scheme.h can be found in /usr/include/plt/) |
755 if test -f /usr/include/plt/scheme.h; then | |
756 AC_MSG_RESULT(yes) | |
757 SCHEME_INC=/usr/include/plt | |
758 else | |
759 AC_MSG_RESULT(no) | |
760 AC_MSG_CHECKING(if scheme.h can be found in /usr/include/racket/) | |
761 if test -f /usr/include/racket/scheme.h; then | |
762 AC_MSG_RESULT(yes) | |
763 SCHEME_INC=/usr/include/racket | |
764 else | |
765 AC_MSG_RESULT(no) | |
766 vi_cv_path_mzscheme_pfx= | |
767 fi | |
768 fi | |
1894 | 769 fi |
1154 | 770 fi |
14 | 771 fi |
772 fi | |
773 | |
774 if test "X$vi_cv_path_mzscheme_pfx" != "X"; then | |
1301 | 775 if test "x$MACOSX" = "xyes"; then |
4074 | 776 MZSCHEME_LIBS="-framework Racket" |
777 MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" | |
1894 | 778 elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then |
779 MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a" | |
780 MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" | |
2628 | 781 elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then |
782 MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a" | |
783 MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" | |
784 elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.a"; then | |
785 MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a" | |
786 elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a"; then | |
1264 | 787 MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a" |
14 | 788 else |
1894 | 789 dnl Using shared objects |
790 if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then | |
791 MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m" | |
792 MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" | |
2628 | 793 elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.so"; then |
794 MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket3m" | |
795 MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" | |
796 elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.so"; then | |
797 MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket -lmzgc" | |
1894 | 798 else |
799 MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc" | |
800 fi | |
16 | 801 if test "$GCC" = yes; then |
802 dnl Make Vim remember the path to the library. For when it's not in | |
803 dnl $LD_LIBRARY_PATH. | |
1894 | 804 MZSCHEME_LIBS="${MZSCHEME_LIBS} -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib" |
17 | 805 elif test "`(uname) 2>/dev/null`" = SunOS && |
806 uname -r | grep '^5' >/dev/null; then | |
1894 | 807 MZSCHEME_LIBS="${MZSCHEME_LIBS} -R ${vi_cv_path_mzscheme_pfx}/lib" |
16 | 808 fi |
14 | 809 fi |
3945 | 810 |
811 AC_MSG_CHECKING(for racket collects directory) | |
1154 | 812 if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then |
3945 | 813 SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/lib/plt/ |
2628 | 814 else |
815 if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then | |
3945 | 816 SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/lib/racket/ |
817 else | |
818 if test -d $vi_cv_path_mzscheme_pfx/share/racket/collects; then | |
819 SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/share/racket/ | |
4074 | 820 else |
821 if test -d $vi_cv_path_mzscheme_pfx/collects; then | |
822 SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/ | |
823 fi | |
3945 | 824 fi |
2628 | 825 fi |
1154 | 826 fi |
3945 | 827 if test "X$SCHEME_COLLECTS" != "X" ; then |
828 AC_MSG_RESULT(${SCHEME_COLLECTS}) | |
829 else | |
830 AC_MSG_RESULT(not found) | |
831 fi | |
832 | |
833 AC_MSG_CHECKING(for mzscheme_base.c) | |
834 if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then | |
2628 | 835 MZSCHEME_EXTRA="mzscheme_base.c" |
5672 | 836 MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" |
837 MZSCHEME_MOD="++lib scheme/base" | |
2628 | 838 else |
3945 | 839 if test -f "${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then |
2628 | 840 MZSCHEME_EXTRA="mzscheme_base.c" |
5672 | 841 MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" |
842 MZSCHEME_MOD="++lib scheme/base" | |
843 else | |
844 if test -f "${SCHEME_COLLECTS}collects/racket/base.rkt" ; then | |
845 MZSCHEME_EXTRA="mzscheme_base.c" | |
846 MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/raco ctool" | |
847 MZSCHEME_MOD="" | |
848 fi | |
2628 | 849 fi |
850 fi | |
851 if test "X$MZSCHEME_EXTRA" != "X" ; then | |
1894 | 852 dnl need to generate bytecode for MzScheme base |
853 MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE" | |
854 MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" | |
3945 | 855 AC_MSG_RESULT(needed) |
856 else | |
857 AC_MSG_RESULT(not needed) | |
1894 | 858 fi |
3945 | 859 |
5206
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
860 dnl On Ubuntu this fixes "undefined reference to symbol 'ffi_type_void'". |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
861 AC_CHECK_LIB(ffi, ffi_type_void, [MZSCHEME_LIBS="$MZSCHEME_LIBS -lffi"]) |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
862 |
1894 | 863 MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \ |
3945 | 864 -DMZSCHEME_COLLECTS='\"${SCHEME_COLLECTS}collects\"'" |
5206
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
865 |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
866 dnl Test that we can compile a simple program with these CFLAGS and LIBS. |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
867 AC_MSG_CHECKING([if compile and link flags for MzScheme are sane]) |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
868 cflags_save=$CFLAGS |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
869 libs_save=$LIBS |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
870 CFLAGS="$CFLAGS $MZSCHEME_CFLAGS" |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
871 LIBS="$LIBS $MZSCHEME_LIBS" |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
872 AC_TRY_LINK(,[ ], |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
873 AC_MSG_RESULT(yes); mzs_ok=yes, |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
874 AC_MSG_RESULT(no: MZSCHEME DISABLED); mzs_ok=no) |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
875 CFLAGS=$cflags_save |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
876 LIBS=$libs_save |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
877 if test $mzs_ok = yes; then |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
878 MZSCHEME_SRC="if_mzsch.c" |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
879 MZSCHEME_OBJ="objects/if_mzsch.o" |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
880 MZSCHEME_PRO="if_mzsch.pro" |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
881 AC_DEFINE(FEAT_MZSCHEME) |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
882 else |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
883 MZSCHEME_CFLAGS= |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
884 MZSCHEME_LIBS= |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
885 MZSCHEME_EXTRA= |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
886 MZSCHEME_MZC= |
2b58913e19a5
updated for version 7.4a.029
Bram Moolenaar <bram@vim.org>
parents:
5170
diff
changeset
|
887 fi |
14 | 888 fi |
889 AC_SUBST(MZSCHEME_SRC) | |
890 AC_SUBST(MZSCHEME_OBJ) | |
891 AC_SUBST(MZSCHEME_PRO) | |
892 AC_SUBST(MZSCHEME_LIBS) | |
893 AC_SUBST(MZSCHEME_CFLAGS) | |
1894 | 894 AC_SUBST(MZSCHEME_EXTRA) |
895 AC_SUBST(MZSCHEME_MZC) | |
14 | 896 fi |
897 | |
898 | |
7 | 899 AC_MSG_CHECKING(--enable-perlinterp argument) |
900 AC_ARG_ENABLE(perlinterp, | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2351
diff
changeset
|
901 [ --enable-perlinterp[=OPTS] Include Perl interpreter. [default=no] [OPTS=no/yes/dynamic]], , |
7 | 902 [enable_perlinterp="no"]) |
903 AC_MSG_RESULT($enable_perlinterp) | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2351
diff
changeset
|
904 if test "$enable_perlinterp" = "yes" -o "$enable_perlinterp" = "dynamic"; then |
7 | 905 AC_SUBST(vi_cv_path_perl) |
906 AC_PATH_PROG(vi_cv_path_perl, perl) | |
907 if test "X$vi_cv_path_perl" != "X"; then | |
908 AC_MSG_CHECKING(Perl version) | |
909 if $vi_cv_path_perl -e 'require 5.003_01' >/dev/null 2>/dev/null; then | |
910 eval `$vi_cv_path_perl -V:usethreads` | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2351
diff
changeset
|
911 eval `$vi_cv_path_perl -V:libperl` |
7 | 912 if test "X$usethreads" = "XUNKNOWN" -o "X$usethreads" = "Xundef"; then |
913 badthreads=no | |
914 else | |
915 if $vi_cv_path_perl -e 'require 5.6.0' >/dev/null 2>/dev/null; then | |
916 eval `$vi_cv_path_perl -V:use5005threads` | |
917 if test "X$use5005threads" = "XUNKNOWN" -o "X$use5005threads" = "Xundef"; then | |
918 badthreads=no | |
919 else | |
920 badthreads=yes | |
921 AC_MSG_RESULT(>>> Perl > 5.6 with 5.5 threads cannot be used <<<) | |
922 fi | |
923 else | |
924 badthreads=yes | |
925 AC_MSG_RESULT(>>> Perl 5.5 with threads cannot be used <<<) | |
926 fi | |
927 fi | |
928 if test $badthreads = no; then | |
929 AC_MSG_RESULT(OK) | |
930 eval `$vi_cv_path_perl -V:shrpenv` | |
931 if test "X$shrpenv" = "XUNKNOWN"; then # pre 5.003_04 | |
932 shrpenv="" | |
933 fi | |
934 vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlibexp}'` | |
935 AC_SUBST(vi_cv_perllib) | |
6143 | 936 vi_cv_perl_extutils=unknown_perl_extutils_path |
937 for extutils_rel_path in ExtUtils vendor_perl/ExtUtils; do | |
938 xsubpp_path="$vi_cv_perllib/$extutils_rel_path/xsubpp" | |
939 if test -f "$xsubpp_path"; then | |
940 vi_cv_perl_xsubpp="$xsubpp_path" | |
941 fi | |
942 done | |
943 AC_SUBST(vi_cv_perl_xsubpp) | |
7 | 944 dnl Remove "-fno-something", it breaks using cproto. |
6860 | 945 dnl Remove "-fdebug-prefix-map", it isn't supported by clang. |
7 | 946 perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \ |
6860 | 947 -e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[[^ ]]*//' \ |
948 -e 's/-fdebug-prefix-map[[^ ]]*//g'` | |
7 | 949 dnl Remove "-lc", it breaks on FreeBSD when using "-pthread". |
950 perllibs=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed -e 'ldopts' | \ | |
951 sed -e '/Warning/d' -e '/Note (probably harmless)/d' \ | |
952 -e 's/-bE:perl.exp//' -e 's/-lc //'` | |
953 dnl Don't add perl lib to $LIBS: if it's not in LD_LIBRARY_PATH | |
954 dnl a test in configure may fail because of that. | |
955 perlldflags=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed \ | |
956 -e 'ccdlflags' | sed -e 's/-bE:perl.exp//'` | |
957 | |
958 dnl check that compiling a simple program still works with the flags | |
959 dnl added for Perl. | |
960 AC_MSG_CHECKING([if compile and link flags for Perl are sane]) | |
961 cflags_save=$CFLAGS | |
962 libs_save=$LIBS | |
963 ldflags_save=$LDFLAGS | |
964 CFLAGS="$CFLAGS $perlcppflags" | |
965 LIBS="$LIBS $perllibs" | |
4952
9f7b92f232d3
updated for version 7.3.1221
Bram Moolenaar <bram@vim.org>
parents:
4942
diff
changeset
|
966 perlldflags=`echo "$perlldflags" | sed -e 's/^ *//g'` |
7 | 967 LDFLAGS="$perlldflags $LDFLAGS" |
968 AC_TRY_LINK(,[ ], | |
969 AC_MSG_RESULT(yes); perl_ok=yes, | |
970 AC_MSG_RESULT(no: PERL DISABLED); perl_ok=no) | |
971 CFLAGS=$cflags_save | |
972 LIBS=$libs_save | |
973 LDFLAGS=$ldflags_save | |
974 if test $perl_ok = yes; then | |
975 if test "X$perlcppflags" != "X"; then | |
1154 | 976 dnl remove -pipe and -Wxxx, it confuses cproto |
977 PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ ]]*//'` | |
7 | 978 fi |
979 if test "X$perlldflags" != "X"; then | |
5759 | 980 if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$perlldflags\"`" = "X"; then |
4952
9f7b92f232d3
updated for version 7.3.1221
Bram Moolenaar <bram@vim.org>
parents:
4942
diff
changeset
|
981 LDFLAGS="$perlldflags $LDFLAGS" |
9f7b92f232d3
updated for version 7.3.1221
Bram Moolenaar <bram@vim.org>
parents:
4942
diff
changeset
|
982 fi |
7 | 983 fi |
984 PERL_LIBS=$perllibs | |
985 PERL_SRC="auto/if_perl.c if_perlsfio.c" | |
986 PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o" | |
987 PERL_PRO="if_perl.pro if_perlsfio.pro" | |
988 AC_DEFINE(FEAT_PERL) | |
989 fi | |
990 fi | |
991 else | |
992 AC_MSG_RESULT(>>> too old; need Perl version 5.003_01 or later <<<) | |
993 fi | |
994 fi | |
995 | |
996 if test "x$MACOSX" = "xyes"; then | |
574 | 997 dnl Mac OS X 10.2 or later |
7 | 998 dir=/System/Library/Perl |
999 darwindir=$dir/darwin | |
1000 if test -d $darwindir; then | |
1001 PERL=/usr/bin/perl | |
1002 else | |
1003 dnl Mac OS X 10.3 | |
1004 dir=/System/Library/Perl/5.8.1 | |
1005 darwindir=$dir/darwin-thread-multi-2level | |
1006 if test -d $darwindir; then | |
1007 PERL=/usr/bin/perl | |
1008 fi | |
1009 fi | |
1010 if test -n "$PERL"; then | |
1011 PERL_DIR="$dir" | |
1012 PERL_CFLAGS="-DFEAT_PERL -I$darwindir/CORE" | |
1013 PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o $darwindir/auto/DynaLoader/DynaLoader.a" | |
1014 PERL_LIBS="-L$darwindir/CORE -lperl" | |
1015 fi | |
2389
d680c97481c1
Remove -arch flag from build flags for Perl. (Bjorn Wickler)
Bram Moolenaar <bram@vim.org>
parents:
2388
diff
changeset
|
1016 dnl Perl on Mac OS X 10.5 adds "-arch" flags but these should only |
d680c97481c1
Remove -arch flag from build flags for Perl. (Bjorn Wickler)
Bram Moolenaar <bram@vim.org>
parents:
2388
diff
changeset
|
1017 dnl be included if requested by passing --with-mac-arch to |
d680c97481c1
Remove -arch flag from build flags for Perl. (Bjorn Wickler)
Bram Moolenaar <bram@vim.org>
parents:
2388
diff
changeset
|
1018 dnl configure, so strip these flags first (if present) |
d680c97481c1
Remove -arch flag from build flags for Perl. (Bjorn Wickler)
Bram Moolenaar <bram@vim.org>
parents:
2388
diff
changeset
|
1019 PERL_LIBS=`echo "$PERL_LIBS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'` |
d680c97481c1
Remove -arch flag from build flags for Perl. (Bjorn Wickler)
Bram Moolenaar <bram@vim.org>
parents:
2388
diff
changeset
|
1020 PERL_CFLAGS=`echo "$PERL_CFLAGS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'` |
7 | 1021 fi |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2351
diff
changeset
|
1022 if test "$enable_perlinterp" = "dynamic"; then |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2351
diff
changeset
|
1023 if test "$perl_ok" = "yes" -a "X$libperl" != "X"; then |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2351
diff
changeset
|
1024 AC_DEFINE(DYNAMIC_PERL) |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2351
diff
changeset
|
1025 PERL_CFLAGS="-DDYNAMIC_PERL_DLL=\\\"$libperl\\\" $PERL_CFLAGS" |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2351
diff
changeset
|
1026 fi |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2351
diff
changeset
|
1027 fi |
3222 | 1028 |
1029 if test "$fail_if_missing" = "yes" -a "$perl_ok" != "yes"; then | |
1030 AC_MSG_ERROR([could not configure perl]) | |
1031 fi | |
7 | 1032 fi |
1033 AC_SUBST(shrpenv) | |
1034 AC_SUBST(PERL_SRC) | |
1035 AC_SUBST(PERL_OBJ) | |
1036 AC_SUBST(PERL_PRO) | |
1037 AC_SUBST(PERL_CFLAGS) | |
1038 AC_SUBST(PERL_LIBS) | |
1039 | |
1040 AC_MSG_CHECKING(--enable-pythoninterp argument) | |
1041 AC_ARG_ENABLE(pythoninterp, | |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1042 [ --enable-pythoninterp[=OPTS] Include Python interpreter. [default=no] [OPTS=no/yes/dynamic]], , |
7 | 1043 [enable_pythoninterp="no"]) |
1044 AC_MSG_RESULT($enable_pythoninterp) | |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1045 if test "$enable_pythoninterp" = "yes" -o "$enable_pythoninterp" = "dynamic"; then |
6415 | 1046 if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then |
1047 AC_MSG_ERROR([cannot use Python with tiny or small features]) | |
1048 fi | |
1049 | |
7 | 1050 dnl -- find the python executable |
4001 | 1051 AC_PATH_PROGS(vi_cv_path_python, python2 python) |
7 | 1052 if test "X$vi_cv_path_python" != "X"; then |
1053 | |
1054 dnl -- get its version number | |
1055 AC_CACHE_CHECK(Python version,vi_cv_var_python_version, | |
1056 [[vi_cv_var_python_version=` | |
1057 ${vi_cv_path_python} -c 'import sys; print sys.version[:3]'` | |
1058 ]]) | |
1059 | |
4833
70b1178dec79
updated for version 7.3.1163
Bram Moolenaar <bram@vim.org>
parents:
4708
diff
changeset
|
1060 dnl -- it must be at least version 2.3 |
70b1178dec79
updated for version 7.3.1163
Bram Moolenaar <bram@vim.org>
parents:
4708
diff
changeset
|
1061 AC_MSG_CHECKING(Python is 2.3 or better) |
7 | 1062 if ${vi_cv_path_python} -c \ |
4833
70b1178dec79
updated for version 7.3.1163
Bram Moolenaar <bram@vim.org>
parents:
4708
diff
changeset
|
1063 "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)" |
7 | 1064 then |
1065 AC_MSG_RESULT(yep) | |
1066 | |
1067 dnl -- find where python thinks it was installed | |
1068 AC_CACHE_CHECK(Python's install prefix,vi_cv_path_python_pfx, | |
1069 [ vi_cv_path_python_pfx=` | |
1070 ${vi_cv_path_python} -c \ | |
1071 "import sys; print sys.prefix"` ]) | |
1072 | |
1073 dnl -- and where it thinks it runs | |
1074 AC_CACHE_CHECK(Python's execution prefix,vi_cv_path_python_epfx, | |
1075 [ vi_cv_path_python_epfx=` | |
1076 ${vi_cv_path_python} -c \ | |
1077 "import sys; print sys.exec_prefix"` ]) | |
1078 | |
1079 dnl -- python's internal library path | |
1080 | |
1081 AC_CACHE_VAL(vi_cv_path_pythonpath, | |
1082 [ vi_cv_path_pythonpath=` | |
1083 unset PYTHONPATH; | |
1084 ${vi_cv_path_python} -c \ | |
1085 "import sys, string; print string.join(sys.path,':')"` ]) | |
1086 | |
1087 dnl -- where the Python implementation library archives are | |
1088 | |
1089 AC_ARG_WITH(python-config-dir, | |
1090 [ --with-python-config-dir=PATH Python's config directory], | |
1091 [ vi_cv_path_python_conf="${withval}" ] ) | |
1092 | |
1093 AC_CACHE_CHECK(Python's configuration directory,vi_cv_path_python_conf, | |
1094 [ | |
1095 vi_cv_path_python_conf= | |
4708
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1096 d=`${vi_cv_path_python} -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('LIBPL')"` |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1097 if test -d "$d" && test -f "$d/config.c"; then |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1098 vi_cv_path_python_conf="$d" |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1099 else |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1100 for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1101 for subdir in lib64 lib share; do |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1102 d="${path}/${subdir}/python${vi_cv_var_python_version}/config" |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1103 if test -d "$d" && test -f "$d/config.c"; then |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1104 vi_cv_path_python_conf="$d" |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1105 fi |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1106 done |
7 | 1107 done |
4708
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1108 fi |
7 | 1109 ]) |
1110 | |
1111 PYTHON_CONFDIR="${vi_cv_path_python_conf}" | |
1112 | |
1113 if test "X$PYTHON_CONFDIR" = "X"; then | |
1114 AC_MSG_RESULT([can't find it!]) | |
1115 else | |
1116 | |
1117 dnl -- we need to examine Python's config/Makefile too | |
1118 dnl see what the interpreter is built from | |
1119 AC_CACHE_VAL(vi_cv_path_python_plibs, | |
1120 [ | |
1681 | 1121 pwd=`pwd` |
1122 tmp_mkf="$pwd/config-PyMake$$" | |
1123 cat -- "${PYTHON_CONFDIR}/Makefile" - <<'eof' >"${tmp_mkf}" | |
7 | 1124 __: |
2200
99ba9a30755a
Various smaller changes. Updated proto files. Updated dependencies.
Bram Moolenaar <bram@vim.org>
parents:
2199
diff
changeset
|
1125 @echo "python_BASEMODLIBS='$(BASEMODLIBS)'" |
7 | 1126 @echo "python_LIBS='$(LIBS)'" |
1127 @echo "python_SYSLIBS='$(SYSLIBS)'" | |
1128 @echo "python_LINKFORSHARED='$(LINKFORSHARED)'" | |
3822 | 1129 @echo "python_DLLLIBRARY='$(DLLLIBRARY)'" |
2383
410d7b5916f9
Specify library to load for Python more precisely. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2373
diff
changeset
|
1130 @echo "python_INSTSONAME='$(INSTSONAME)'" |
6704 | 1131 @echo "python_PYTHONFRAMEWORK='$(PYTHONFRAMEWORK)'" |
1132 @echo "python_PYTHONFRAMEWORKPREFIX='$(PYTHONFRAMEWORKPREFIX)'" | |
1133 @echo "python_PYTHONFRAMEWORKINSTALLDIR='$(PYTHONFRAMEWORKINSTALLDIR)'" | |
7 | 1134 eof |
1135 dnl -- delete the lines from make about Entering/Leaving directory | |
1681 | 1136 eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`" |
1137 rm -f -- "${tmp_mkf}" | |
7 | 1138 if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \ |
1139 "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then | |
1140 vi_cv_path_python_plibs="-framework Python" | |
6704 | 1141 if test "x${vi_cv_path_python}" != "x/usr/bin/python" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then |
1142 vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python" | |
1143 fi | |
7 | 1144 else |
1145 if test "${vi_cv_var_python_version}" = "1.4"; then | |
1146 vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a" | |
1147 else | |
1148 vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}" | |
1149 fi | |
6704 | 1150 dnl -- Check if the path contained in python_LINKFORSHARED is |
1151 dnl usable for vim build. If not, make and try other | |
1152 dnl candidates. | |
6706 | 1153 if test -n "${python_LINKFORSHARED}" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then |
6704 | 1154 python_link_symbol=`echo ${python_LINKFORSHARED} | sed 's/\([[^ \t]][[^ \t]]*[[ \t]][[ \t]]*[[^ \t]][[^ \t]]*\)[[ \t]].*/\1/'` |
1155 python_link_path=`echo ${python_LINKFORSHARED} | sed 's/\([[^ \t]][[^ \t]]*[[ \t]][[ \t]]*[[^ \t]][[^ \t]]*\)[[ \t]][[ \t]]*\(.*\)/\2/'` | |
1156 if test -n "${python_link_path}" && ! test -x "${python_link_path}"; then | |
1157 dnl -- The path looks relative. Guess the absolute one using | |
1158 dnl the prefix and try that. | |
1159 python_link_path="${python_PYTHONFRAMEWORKPREFIX}/${python_link_path}" | |
1160 if test -n "${python_link_path}" && ! test -x "${python_link_path}"; then | |
1161 dnl -- A last resort. | |
1162 python_link_path="${python_PYTHONFRAMEWORKINSTALLDIR}/Versions/${vi_cv_var_python_version}/${python_PYTHONFRAMEWORK}" | |
1163 dnl -- No check is done. The last word is left to the | |
1164 dnl "sanity" test on link flags that follows shortly. | |
1165 fi | |
1166 python_LINKFORSHARED="${python_link_symbol} ${python_link_path}" | |
1167 fi | |
1168 fi | |
2200
99ba9a30755a
Various smaller changes. Updated proto files. Updated dependencies.
Bram Moolenaar <bram@vim.org>
parents:
2199
diff
changeset
|
1169 vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}" |
7 | 1170 dnl remove -ltermcap, it can conflict with an earlier -lncurses |
1171 vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//` | |
1172 fi | |
1173 ]) | |
5915 | 1174 AC_CACHE_VAL(vi_cv_dll_name_python, |
1175 [ | |
1176 if test "X$python_DLLLIBRARY" != "X"; then | |
1177 vi_cv_dll_name_python="$python_DLLLIBRARY" | |
1178 else | |
1179 vi_cv_dll_name_python="$python_INSTSONAME" | |
1180 fi | |
1181 ]) | |
1182 | |
7 | 1183 PYTHON_LIBS="${vi_cv_path_python_plibs}" |
1184 if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then | |
4843
ed47632fd149
updated for version 7.3.1168
Bram Moolenaar <bram@vim.org>
parents:
4841
diff
changeset
|
1185 PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME='\"${vi_cv_path_python_pfx}\"'" |
7 | 1186 else |
4843
ed47632fd149
updated for version 7.3.1168
Bram Moolenaar <bram@vim.org>
parents:
4841
diff
changeset
|
1187 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} -DPYTHON_HOME='\"${vi_cv_path_python_pfx}\"'" |
7 | 1188 fi |
1189 PYTHON_SRC="if_python.c" | |
3707 | 1190 PYTHON_OBJ="objects/if_python.o" |
7 | 1191 if test "${vi_cv_var_python_version}" = "1.4"; then |
1192 PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o" | |
1193 fi | |
2641 | 1194 PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'" |
7 | 1195 |
1196 dnl On FreeBSD linking with "-pthread" is required to use threads. | |
1197 dnl _THREAD_SAFE must be used for compiling then. | |
1198 dnl The "-pthread" is added to $LIBS, so that the following check for | |
1199 dnl sigaltstack() will look in libc_r (it's there in libc!). | |
1200 dnl Otherwise, when using GCC, try adding -pthread to $CFLAGS. GCC | |
1201 dnl will then define target-specific defines, e.g., -D_REENTRANT. | |
1202 dnl Don't do this for Mac OSX, -pthread will generate a warning. | |
1203 AC_MSG_CHECKING([if -pthread should be used]) | |
1204 threadsafe_flag= | |
1205 thread_lib= | |
997 | 1206 dnl if test "x$MACOSX" != "xyes"; then |
1207 if test "`(uname) 2>/dev/null`" != Darwin; then | |
7 | 1208 test "$GCC" = yes && threadsafe_flag="-pthread" |
1209 if test "`(uname) 2>/dev/null`" = FreeBSD; then | |
1210 threadsafe_flag="-D_THREAD_SAFE" | |
1211 thread_lib="-pthread" | |
1212 fi | |
4841
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1213 if test "`(uname) 2>/dev/null`" = SunOS; then |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1214 threadsafe_flag="-pthreads" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1215 fi |
7 | 1216 fi |
1217 libs_save_old=$LIBS | |
1218 if test -n "$threadsafe_flag"; then | |
1219 cflags_save=$CFLAGS | |
1220 CFLAGS="$CFLAGS $threadsafe_flag" | |
1221 LIBS="$LIBS $thread_lib" | |
1222 AC_TRY_LINK(,[ ], | |
2303
6ebb886efe3c
Filter out -pthread for cproto.
Bram Moolenaar <bram@vim.org>
parents:
2285
diff
changeset
|
1223 AC_MSG_RESULT(yes); PYTHON_CFLAGS="$PYTHON_CFLAGS $threadsafe_flag", |
7 | 1224 AC_MSG_RESULT(no); LIBS=$libs_save_old |
1225 ) | |
1226 CFLAGS=$cflags_save | |
1227 else | |
1228 AC_MSG_RESULT(no) | |
1229 fi | |
1230 | |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1231 dnl Check that compiling a simple program still works with the flags |
7 | 1232 dnl added for Python. |
1233 AC_MSG_CHECKING([if compile and link flags for Python are sane]) | |
1234 cflags_save=$CFLAGS | |
1235 libs_save=$LIBS | |
2303
6ebb886efe3c
Filter out -pthread for cproto.
Bram Moolenaar <bram@vim.org>
parents:
2285
diff
changeset
|
1236 CFLAGS="$CFLAGS $PYTHON_CFLAGS" |
7 | 1237 LIBS="$LIBS $PYTHON_LIBS" |
1238 AC_TRY_LINK(,[ ], | |
1239 AC_MSG_RESULT(yes); python_ok=yes, | |
1240 AC_MSG_RESULT(no: PYTHON DISABLED); python_ok=no) | |
1241 CFLAGS=$cflags_save | |
1242 LIBS=$libs_save | |
1243 if test $python_ok = yes; then | |
1244 AC_DEFINE(FEAT_PYTHON) | |
1245 else | |
1246 LIBS=$libs_save_old | |
1247 PYTHON_SRC= | |
1248 PYTHON_OBJ= | |
1249 PYTHON_LIBS= | |
1250 PYTHON_CFLAGS= | |
1251 fi | |
1252 fi | |
1253 else | |
1254 AC_MSG_RESULT(too old) | |
1255 fi | |
1256 fi | |
3222 | 1257 |
1258 if test "$fail_if_missing" = "yes" -a "$python_ok" != "yes"; then | |
1259 AC_MSG_ERROR([could not configure python]) | |
1260 fi | |
7 | 1261 fi |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1262 |
7 | 1263 AC_SUBST(PYTHON_CONFDIR) |
1264 AC_SUBST(PYTHON_LIBS) | |
1265 AC_SUBST(PYTHON_GETPATH_CFLAGS) | |
1266 AC_SUBST(PYTHON_CFLAGS) | |
1267 AC_SUBST(PYTHON_SRC) | |
1268 AC_SUBST(PYTHON_OBJ) | |
1269 | |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1270 |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1271 AC_MSG_CHECKING(--enable-python3interp argument) |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1272 AC_ARG_ENABLE(python3interp, |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1273 [ --enable-python3interp[=OPTS] Include Python3 interpreter. [default=no] [OPTS=no/yes/dynamic]], , |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1274 [enable_python3interp="no"]) |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1275 AC_MSG_RESULT($enable_python3interp) |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1276 if test "$enable_python3interp" = "yes" -o "$enable_python3interp" = "dynamic"; then |
6415 | 1277 if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then |
1278 AC_MSG_ERROR([cannot use Python with tiny or small features]) | |
1279 fi | |
1280 | |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1281 dnl -- find the python3 executable |
4001 | 1282 AC_PATH_PROGS(vi_cv_path_python3, python3 python) |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1283 if test "X$vi_cv_path_python3" != "X"; then |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1284 |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1285 dnl -- get its version number |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1286 AC_CACHE_CHECK(Python version,vi_cv_var_python3_version, |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1287 [[vi_cv_var_python3_version=` |
2351
df5fc287a891
Fix configure for Python3 libs and version number. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2331
diff
changeset
|
1288 ${vi_cv_path_python3} -c 'import sys; print(sys.version[:3])'` |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1289 ]]) |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1290 |
4841
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1291 dnl -- it must be at least version 3 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1292 AC_MSG_CHECKING(Python is 3.0 or better) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1293 if ${vi_cv_path_python3} -c \ |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1294 "import sys; sys.exit(${vi_cv_var_python3_version} < 3.0)" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1295 then |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1296 AC_MSG_RESULT(yep) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1297 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1298 dnl -- get abiflags for python 3.2 or higher (PEP 3149) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1299 AC_CACHE_CHECK(Python's abiflags,vi_cv_var_python3_abiflags, |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1300 [ |
4841
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1301 vi_cv_var_python3_abiflags= |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1302 if ${vi_cv_path_python3} -c \ |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1303 "import sys; sys.exit(${vi_cv_var_python3_version} < 3.2)" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1304 then |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1305 vi_cv_var_python3_abiflags=`${vi_cv_path_python3} -c \ |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1306 "import sys; print(sys.abiflags)"` |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1307 fi ]) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1308 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1309 dnl -- find where python3 thinks it was installed |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1310 AC_CACHE_CHECK(Python's install prefix,vi_cv_path_python3_pfx, |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1311 [ vi_cv_path_python3_pfx=` |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1312 ${vi_cv_path_python3} -c \ |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1313 "import sys; print(sys.prefix)"` ]) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1314 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1315 dnl -- and where it thinks it runs |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1316 AC_CACHE_CHECK(Python's execution prefix,vi_cv_path_python3_epfx, |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1317 [ vi_cv_path_python3_epfx=` |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1318 ${vi_cv_path_python3} -c \ |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1319 "import sys; print(sys.exec_prefix)"` ]) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1320 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1321 dnl -- python3's internal library path |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1322 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1323 AC_CACHE_VAL(vi_cv_path_python3path, |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1324 [ vi_cv_path_python3path=` |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1325 unset PYTHONPATH; |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1326 ${vi_cv_path_python3} -c \ |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1327 "import sys, string; print(':'.join(sys.path))"` ]) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1328 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1329 dnl -- where the Python implementation library archives are |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1330 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1331 AC_ARG_WITH(python3-config-dir, |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1332 [ --with-python3-config-dir=PATH Python's config directory], |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1333 [ vi_cv_path_python3_conf="${withval}" ] ) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1334 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1335 AC_CACHE_CHECK(Python's configuration directory,vi_cv_path_python3_conf, |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1336 [ |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1337 vi_cv_path_python3_conf= |
5170
ce587b26b8d6
updated for version 7.4a.011
Bram Moolenaar <bram@vim.org>
parents:
5168
diff
changeset
|
1338 config_dir="config-${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}" |
4841
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1339 d=`${vi_cv_path_python3} -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('LIBPL'))"` |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1340 if test -d "$d" && test -f "$d/config.c"; then |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1341 vi_cv_path_python3_conf="$d" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1342 else |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1343 for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1344 for subdir in lib64 lib share; do |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1345 d="${path}/${subdir}/python${vi_cv_var_python3_version}/${config_dir}" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1346 if test -d "$d" && test -f "$d/config.c"; then |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1347 vi_cv_path_python3_conf="$d" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1348 fi |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1349 done |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1350 done |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1351 fi |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1352 ]) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1353 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1354 PYTHON3_CONFDIR="${vi_cv_path_python3_conf}" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1355 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1356 if test "X$PYTHON3_CONFDIR" = "X"; then |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1357 AC_MSG_RESULT([can't find it!]) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1358 else |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1359 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1360 dnl -- we need to examine Python's config/Makefile too |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1361 dnl see what the interpreter is built from |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1362 AC_CACHE_VAL(vi_cv_path_python3_plibs, |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1363 [ |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1364 pwd=`pwd` |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1365 tmp_mkf="$pwd/config-PyMake$$" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1366 cat -- "${PYTHON3_CONFDIR}/Makefile" - <<'eof' >"${tmp_mkf}" |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1367 __: |
2351
df5fc287a891
Fix configure for Python3 libs and version number. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2331
diff
changeset
|
1368 @echo "python3_BASEMODLIBS='$(BASEMODLIBS)'" |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1369 @echo "python3_LIBS='$(LIBS)'" |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1370 @echo "python3_SYSLIBS='$(SYSLIBS)'" |
3822 | 1371 @echo "python3_DLLLIBRARY='$(DLLLIBRARY)'" |
2383
410d7b5916f9
Specify library to load for Python more precisely. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2373
diff
changeset
|
1372 @echo "python3_INSTSONAME='$(INSTSONAME)'" |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1373 eof |
5915 | 1374 dnl -- delete the lines from make about Entering/Leaving directory |
1375 eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`" | |
1376 rm -f -- "${tmp_mkf}" | |
4841
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1377 vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}" |
5915 | 1378 vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}" |
1379 dnl remove -ltermcap, it can conflict with an earlier -lncurses | |
1380 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//` | |
1381 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//` | |
1382 ]) | |
1383 AC_CACHE_VAL(vi_cv_dll_name_python3, | |
1384 [ | |
1385 if test "X$python3_DLLLIBRARY" != "X"; then | |
1386 vi_cv_dll_name_python3="$python3_DLLLIBRARY" | |
1387 else | |
1388 vi_cv_dll_name_python3="$python3_INSTSONAME" | |
1389 fi | |
1390 ]) | |
1391 | |
4841
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1392 PYTHON3_LIBS="${vi_cv_path_python3_plibs}" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1393 if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then |
4843
ed47632fd149
updated for version 7.3.1168
Bram Moolenaar <bram@vim.org>
parents:
4841
diff
changeset
|
1394 PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME='L\"${vi_cv_path_python3_pfx}\"'" |
4841
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1395 else |
4843
ed47632fd149
updated for version 7.3.1168
Bram Moolenaar <bram@vim.org>
parents:
4841
diff
changeset
|
1396 PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME='L\"${vi_cv_path_python3_pfx}\"'" |
4841
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1397 fi |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1398 PYTHON3_SRC="if_python3.c" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1399 PYTHON3_OBJ="objects/if_python3.o" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1400 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1401 dnl On FreeBSD linking with "-pthread" is required to use threads. |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1402 dnl _THREAD_SAFE must be used for compiling then. |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1403 dnl The "-pthread" is added to $LIBS, so that the following check for |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1404 dnl sigaltstack() will look in libc_r (it's there in libc!). |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1405 dnl Otherwise, when using GCC, try adding -pthread to $CFLAGS. GCC |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1406 dnl will then define target-specific defines, e.g., -D_REENTRANT. |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1407 dnl Don't do this for Mac OSX, -pthread will generate a warning. |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1408 AC_MSG_CHECKING([if -pthread should be used]) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1409 threadsafe_flag= |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1410 thread_lib= |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1411 dnl if test "x$MACOSX" != "xyes"; then |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1412 if test "`(uname) 2>/dev/null`" != Darwin; then |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1413 test "$GCC" = yes && threadsafe_flag="-pthread" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1414 if test "`(uname) 2>/dev/null`" = FreeBSD; then |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1415 threadsafe_flag="-D_THREAD_SAFE" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1416 thread_lib="-pthread" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1417 fi |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1418 if test "`(uname) 2>/dev/null`" = SunOS; then |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1419 threadsafe_flag="-pthreads" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1420 fi |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1421 fi |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1422 libs_save_old=$LIBS |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1423 if test -n "$threadsafe_flag"; then |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1424 cflags_save=$CFLAGS |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1425 CFLAGS="$CFLAGS $threadsafe_flag" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1426 LIBS="$LIBS $thread_lib" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1427 AC_TRY_LINK(,[ ], |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1428 AC_MSG_RESULT(yes); PYTHON3_CFLAGS="$PYTHON3_CFLAGS $threadsafe_flag", |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1429 AC_MSG_RESULT(no); LIBS=$libs_save_old |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1430 ) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1431 CFLAGS=$cflags_save |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1432 else |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1433 AC_MSG_RESULT(no) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1434 fi |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1435 |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1436 dnl check that compiling a simple program still works with the flags |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1437 dnl added for Python. |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1438 AC_MSG_CHECKING([if compile and link flags for Python 3 are sane]) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1439 cflags_save=$CFLAGS |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1440 libs_save=$LIBS |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1441 CFLAGS="$CFLAGS $PYTHON3_CFLAGS" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1442 LIBS="$LIBS $PYTHON3_LIBS" |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1443 AC_TRY_LINK(,[ ], |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1444 AC_MSG_RESULT(yes); python3_ok=yes, |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1445 AC_MSG_RESULT(no: PYTHON3 DISABLED); python3_ok=no) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1446 CFLAGS=$cflags_save |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1447 LIBS=$libs_save |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1448 if test "$python3_ok" = yes; then |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1449 AC_DEFINE(FEAT_PYTHON3) |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1450 else |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1451 LIBS=$libs_save_old |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1452 PYTHON3_SRC= |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1453 PYTHON3_OBJ= |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1454 PYTHON3_LIBS= |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1455 PYTHON3_CFLAGS= |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1456 fi |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1457 fi |
4841
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1458 else |
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
1459 AC_MSG_RESULT(too old) |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1460 fi |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1461 fi |
4895
8b46c37c4b84
updated for version 7.3.1193
Bram Moolenaar <bram@vim.org>
parents:
4843
diff
changeset
|
1462 if test "$fail_if_missing" = "yes" -a "$python3_ok" != "yes"; then |
8b46c37c4b84
updated for version 7.3.1193
Bram Moolenaar <bram@vim.org>
parents:
4843
diff
changeset
|
1463 AC_MSG_ERROR([could not configure python3]) |
8b46c37c4b84
updated for version 7.3.1193
Bram Moolenaar <bram@vim.org>
parents:
4843
diff
changeset
|
1464 fi |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1465 fi |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1466 |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1467 AC_SUBST(PYTHON3_CONFDIR) |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1468 AC_SUBST(PYTHON3_LIBS) |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1469 AC_SUBST(PYTHON3_CFLAGS) |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1470 AC_SUBST(PYTHON3_SRC) |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1471 AC_SUBST(PYTHON3_OBJ) |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1472 |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1473 dnl if python2.x and python3.x are enabled one can only link in code |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1474 dnl with dlopen(), dlsym(), dlclose() |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1475 if test "$python_ok" = yes && test "$python3_ok" = yes; then |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1476 AC_DEFINE(DYNAMIC_PYTHON) |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1477 AC_DEFINE(DYNAMIC_PYTHON3) |
2641 | 1478 AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL for Python) |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1479 cflags_save=$CFLAGS |
2641 | 1480 CFLAGS="$CFLAGS $PYTHON_CFLAGS" |
6651 | 1481 libs_save=$LIBS |
3038 | 1482 dnl -ldl must go first to make this work on Archlinux (Roland Puntaier) |
6651 | 1483 LIBS="-ldl $LIBS" |
5757 | 1484 AC_RUN_IFELSE([AC_LANG_SOURCE([ |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1485 #include <dlfcn.h> |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1486 /* If this program fails, then RTLD_GLOBAL is needed. |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1487 * RTLD_GLOBAL will be used and then it is not possible to |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1488 * have both python versions enabled in the same vim instance. |
4352 | 1489 * Only the first python version used will be switched on. |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1490 */ |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1491 |
2641 | 1492 int no_rtl_global_needed_for(char *python_instsoname, char *prefix) |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1493 { |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1494 int needed = 0; |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1495 void* pylib = dlopen(python_instsoname, RTLD_LAZY); |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1496 if (pylib != 0) |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1497 { |
2641 | 1498 void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome"); |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1499 void (*init)(void) = dlsym(pylib, "Py_Initialize"); |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1500 int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1501 void (*final)(void) = dlsym(pylib, "Py_Finalize"); |
2641 | 1502 (*pfx)(prefix); |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1503 (*init)(); |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1504 needed = (*simple)("import termios") == -1; |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1505 (*final)(); |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1506 dlclose(pylib); |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1507 } |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1508 return !needed; |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1509 } |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1510 |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1511 int main(int argc, char** argv) |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1512 { |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1513 int not_needed = 0; |
5915 | 1514 if (no_rtl_global_needed_for("${vi_cv_dll_name_python}", "${vi_cv_path_python_pfx}")) |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1515 not_needed = 1; |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1516 return !not_needed; |
5757 | 1517 }])], |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1518 [AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)]) |
2641 | 1519 |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1520 CFLAGS=$cflags_save |
6651 | 1521 LIBS=$libs_save |
2641 | 1522 |
1523 AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL for Python3) | |
1524 cflags_save=$CFLAGS | |
1525 CFLAGS="$CFLAGS $PYTHON3_CFLAGS" | |
6651 | 1526 libs_save=$LIBS |
3038 | 1527 dnl -ldl must go first to make this work on Archlinux (Roland Puntaier) |
6651 | 1528 LIBS="-ldl $LIBS" |
5757 | 1529 AC_RUN_IFELSE([AC_LANG_SOURCE([ |
2641 | 1530 #include <dlfcn.h> |
1531 #include <wchar.h> | |
1532 /* If this program fails, then RTLD_GLOBAL is needed. | |
1533 * RTLD_GLOBAL will be used and then it is not possible to | |
1534 * have both python versions enabled in the same vim instance. | |
4352 | 1535 * Only the first python version used will be switched on. |
2641 | 1536 */ |
1537 | |
1538 int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix) | |
1539 { | |
1540 int needed = 0; | |
1541 void* pylib = dlopen(python_instsoname, RTLD_LAZY); | |
1542 if (pylib != 0) | |
1543 { | |
1544 void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome"); | |
1545 void (*init)(void) = dlsym(pylib, "Py_Initialize"); | |
1546 int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); | |
1547 void (*final)(void) = dlsym(pylib, "Py_Finalize"); | |
1548 (*pfx)(prefix); | |
1549 (*init)(); | |
1550 needed = (*simple)("import termios") == -1; | |
1551 (*final)(); | |
1552 dlclose(pylib); | |
1553 } | |
1554 return !needed; | |
1555 } | |
1556 | |
1557 int main(int argc, char** argv) | |
1558 { | |
1559 int not_needed = 0; | |
5915 | 1560 if (no_rtl_global_needed_for("${vi_cv_dll_name_python3}", L"${vi_cv_path_python3_pfx}")) |
2641 | 1561 not_needed = 1; |
1562 return !not_needed; | |
5757 | 1563 }])], |
2641 | 1564 [AC_MSG_RESULT(yes);AC_DEFINE(PY3_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)]) |
1565 | |
1566 CFLAGS=$cflags_save | |
6651 | 1567 LIBS=$libs_save |
2641 | 1568 |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1569 PYTHON_SRC="if_python.c" |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1570 PYTHON_OBJ="objects/if_python.o" |
5915 | 1571 PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${vi_cv_dll_name_python}\\\"" |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1572 PYTHON_LIBS= |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1573 PYTHON3_SRC="if_python3.c" |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1574 PYTHON3_OBJ="objects/if_python3.o" |
5915 | 1575 PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${vi_cv_dll_name_python3}\\\"" |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1576 PYTHON3_LIBS= |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1577 elif test "$python_ok" = yes && test "$enable_pythoninterp" = "dynamic"; then |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1578 AC_DEFINE(DYNAMIC_PYTHON) |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1579 PYTHON_SRC="if_python.c" |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1580 PYTHON_OBJ="objects/if_python.o" |
5915 | 1581 PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${vi_cv_dll_name_python}\\\"" |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1582 PYTHON_LIBS= |
5168
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1583 elif test "$python_ok" = yes; then |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1584 dnl Check that adding -fPIE works. It may be needed when using a static |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1585 dnl Python library. |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1586 AC_MSG_CHECKING([if -fPIE can be added for Python]) |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1587 cflags_save=$CFLAGS |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1588 libs_save=$LIBS |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1589 CFLAGS="$CFLAGS $PYTHON_CFLAGS -fPIE" |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1590 LIBS="$LIBS $PYTHON_LIBS" |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1591 AC_TRY_LINK(,[ ], |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1592 AC_MSG_RESULT(yes); fpie_ok=yes, |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1593 AC_MSG_RESULT(no); fpie_ok=no) |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1594 CFLAGS=$cflags_save |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1595 LIBS=$libs_save |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1596 if test $fpie_ok = yes; then |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1597 PYTHON_CFLAGS="$PYTHON_CFLAGS -fPIE" |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1598 fi |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1599 elif test "$python3_ok" = yes && test "$enable_python3interp" = "dynamic"; then |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1600 AC_DEFINE(DYNAMIC_PYTHON3) |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1601 PYTHON3_SRC="if_python3.c" |
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1602 PYTHON3_OBJ="objects/if_python3.o" |
5915 | 1603 PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${vi_cv_dll_name_python3}\\\"" |
2554
7abef60aca22
Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2402
diff
changeset
|
1604 PYTHON3_LIBS= |
5168
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1605 elif test "$python3_ok" = yes; then |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1606 dnl Check that adding -fPIE works. It may be needed when using a static |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1607 dnl Python library. |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1608 AC_MSG_CHECKING([if -fPIE can be added for Python3]) |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1609 cflags_save=$CFLAGS |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1610 libs_save=$LIBS |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1611 CFLAGS="$CFLAGS $PYTHON3_CFLAGS -fPIE" |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1612 LIBS="$LIBS $PYTHON3_LIBS" |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1613 AC_TRY_LINK(,[ ], |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1614 AC_MSG_RESULT(yes); fpie_ok=yes, |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1615 AC_MSG_RESULT(no); fpie_ok=no) |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1616 CFLAGS=$cflags_save |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1617 LIBS=$libs_save |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1618 if test $fpie_ok = yes; then |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1619 PYTHON3_CFLAGS="$PYTHON3_CFLAGS -fPIE" |
a4e08386a6aa
updated for version 7.4a.010
Bram Moolenaar <bram@vim.org>
parents:
5114
diff
changeset
|
1620 fi |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1621 fi |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1622 |
7 | 1623 AC_MSG_CHECKING(--enable-tclinterp argument) |
1624 AC_ARG_ENABLE(tclinterp, | |
1625 [ --enable-tclinterp Include Tcl interpreter.], , | |
1626 [enable_tclinterp="no"]) | |
1627 AC_MSG_RESULT($enable_tclinterp) | |
1628 | |
1629 if test "$enable_tclinterp" = "yes"; then | |
1630 | |
1464 | 1631 dnl on FreeBSD tclsh is a silly script, look for tclsh8.[5420] |
7 | 1632 AC_MSG_CHECKING(--with-tclsh argument) |
1633 AC_ARG_WITH(tclsh, [ --with-tclsh=PATH which tclsh to use (default: tclsh8.0)], | |
1634 tclsh_name="$withval"; AC_MSG_RESULT($tclsh_name), | |
1464 | 1635 tclsh_name="tclsh8.5"; AC_MSG_RESULT(no)) |
7 | 1636 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name) |
1637 AC_SUBST(vi_cv_path_tcl) | |
1638 | |
1464 | 1639 dnl when no specific version specified, also try 8.4, 8.2 and 8.0 |
1640 if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.5"; then | |
1641 tclsh_name="tclsh8.4" | |
1642 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name) | |
1643 fi | |
132 | 1644 if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.4"; then |
7 | 1645 tclsh_name="tclsh8.2" |
1646 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name) | |
1647 fi | |
132 | 1648 if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.2"; then |
1649 tclsh_name="tclsh8.0" | |
1650 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name) | |
1651 fi | |
7 | 1652 dnl still didn't find it, try without version number |
1653 if test "X$vi_cv_path_tcl" = "X"; then | |
1654 tclsh_name="tclsh" | |
1655 AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name) | |
1656 fi | |
1657 if test "X$vi_cv_path_tcl" != "X"; then | |
1658 AC_MSG_CHECKING(Tcl version) | |
1659 if echo 'exit [[expr [info tclversion] < 8.0]]' | $vi_cv_path_tcl - ; then | |
1660 tclver=`echo 'puts [[info tclversion]]' | $vi_cv_path_tcl -` | |
1661 AC_MSG_RESULT($tclver - OK); | |
1662 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 -` | |
1663 | |
1664 AC_MSG_CHECKING(for location of Tcl include) | |
1665 if test "x$MACOSX" != "xyes"; then | |
1542 | 1666 tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include /usr/local/include/tcl$tclver /usr/include /usr/include/tcl$tclver" |
7 | 1667 else |
1668 dnl For Mac OS X 10.3, use the OS-provided framework location | |
1669 tclinc="/System/Library/Frameworks/Tcl.framework/Headers" | |
1670 fi | |
1542 | 1671 TCL_INC= |
7 | 1672 for try in $tclinc; do |
1673 if test -f "$try/tcl.h"; then | |
1674 AC_MSG_RESULT($try/tcl.h) | |
1675 TCL_INC=$try | |
1676 break | |
1677 fi | |
1678 done | |
1679 if test -z "$TCL_INC"; then | |
1680 AC_MSG_RESULT(<not found>) | |
1681 SKIP_TCL=YES | |
1682 fi | |
1683 if test -z "$SKIP_TCL"; then | |
1684 AC_MSG_CHECKING(for location of tclConfig.sh script) | |
1685 if test "x$MACOSX" != "xyes"; then | |
1686 tclcnf=`echo $tclinc | sed s/include/lib/g` | |
1464 | 1687 tclcnf="$tclcnf `echo $tclinc | sed s/include/lib64/g`" |
7 | 1688 else |
1689 dnl For Mac OS X 10.3, use the OS-provided framework location | |
1690 tclcnf="/System/Library/Frameworks/Tcl.framework" | |
1691 fi | |
1692 for try in $tclcnf; do | |
1693 if test -f $try/tclConfig.sh; then | |
1694 AC_MSG_RESULT($try/tclConfig.sh) | |
1695 . $try/tclConfig.sh | |
1696 dnl use eval, because tcl 8.2 includes ${TCL_DBGX} | |
1697 TCL_LIBS=`eval echo "$TCL_LIB_SPEC $TCL_LIBS"` | |
1698 dnl Use $TCL_DEFS for -D_THREAD_SAFE et al. But only use the | |
132 | 1699 dnl "-D_ABC" items. Watch out for -DFOO=long\ long. |
1679 | 1700 TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\\\\ /\\\\X/g' | tr ' ' '\012' | sed -e '/^[[^-]]/d' -e '/^-[[^D]]/d' -e '/-D[[^_]]/d' -e 's/-D_/ -D_/' | tr '\012' ' ' | sed -e 's/\\\\X/\\\\ /g'` |
7 | 1701 break |
1702 fi | |
1703 done | |
1704 if test -z "$TCL_LIBS"; then | |
1705 AC_MSG_RESULT(<not found>) | |
1706 AC_MSG_CHECKING(for Tcl library by myself) | |
1707 tcllib=`echo $tclinc | sed s/include/lib/g` | |
1464 | 1708 tcllib="$tcllib `echo $tclinc | sed s/include/lib64/g`" |
7 | 1709 for ext in .so .a ; do |
1710 for ver in "" $tclver ; do | |
1711 for try in $tcllib ; do | |
1712 trylib=tcl$ver$ext | |
1713 if test -f $try/lib$trylib ; then | |
1714 AC_MSG_RESULT($try/lib$trylib) | |
1715 TCL_LIBS="-L$try -ltcl$ver -ldl -lm" | |
1716 if test "`(uname) 2>/dev/null`" = SunOS && | |
1717 uname -r | grep '^5' >/dev/null; then | |
1718 TCL_LIBS="$TCL_LIBS -R $try" | |
1719 fi | |
1720 break 3 | |
1721 fi | |
1722 done | |
1723 done | |
1724 done | |
1725 if test -z "$TCL_LIBS"; then | |
1726 AC_MSG_RESULT(<not found>) | |
1727 SKIP_TCL=YES | |
1728 fi | |
1729 fi | |
1730 if test -z "$SKIP_TCL"; then | |
1731 AC_DEFINE(FEAT_TCL) | |
1732 TCL_SRC=if_tcl.c | |
1733 TCL_OBJ=objects/if_tcl.o | |
1734 TCL_PRO=if_tcl.pro | |
1735 TCL_CFLAGS="-I$TCL_INC $TCL_DEFS" | |
1736 fi | |
1737 fi | |
1738 else | |
1739 AC_MSG_RESULT(too old; need Tcl version 8.0 or later) | |
1740 fi | |
1741 fi | |
3222 | 1742 if test "$fail_if_missing" = "yes" -a -z "$TCL_SRC"; then |
1743 AC_MSG_ERROR([could not configure Tcl]) | |
1744 fi | |
7 | 1745 fi |
1746 AC_SUBST(TCL_SRC) | |
1747 AC_SUBST(TCL_OBJ) | |
1748 AC_SUBST(TCL_PRO) | |
1749 AC_SUBST(TCL_CFLAGS) | |
1750 AC_SUBST(TCL_LIBS) | |
1751 | |
1752 AC_MSG_CHECKING(--enable-rubyinterp argument) | |
1753 AC_ARG_ENABLE(rubyinterp, | |
2621 | 1754 [ --enable-rubyinterp[=OPTS] Include Ruby interpreter. [default=no] [OPTS=no/yes/dynamic]], , |
7 | 1755 [enable_rubyinterp="no"]) |
1756 AC_MSG_RESULT($enable_rubyinterp) | |
2621 | 1757 if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then |
6415 | 1758 if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then |
1759 AC_MSG_ERROR([cannot use Ruby with tiny or small features]) | |
1760 fi | |
1761 | |
2077
d8983769c9dd
updated for version 7.2.361
Bram Moolenaar <bram@zimbu.org>
parents:
2019
diff
changeset
|
1762 AC_MSG_CHECKING(--with-ruby-command argument) |
2801 | 1763 AC_SUBST(vi_cv_path_ruby) |
2077
d8983769c9dd
updated for version 7.2.361
Bram Moolenaar <bram@zimbu.org>
parents:
2019
diff
changeset
|
1764 AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)], |
2801 | 1765 RUBY_CMD="$withval"; vi_cv_path_ruby="$withval"; AC_MSG_RESULT($RUBY_CMD), |
2077
d8983769c9dd
updated for version 7.2.361
Bram Moolenaar <bram@zimbu.org>
parents:
2019
diff
changeset
|
1766 RUBY_CMD="ruby"; AC_MSG_RESULT(defaulting to $RUBY_CMD)) |
d8983769c9dd
updated for version 7.2.361
Bram Moolenaar <bram@zimbu.org>
parents:
2019
diff
changeset
|
1767 AC_PATH_PROG(vi_cv_path_ruby, $RUBY_CMD) |
7 | 1768 if test "X$vi_cv_path_ruby" != "X"; then |
1769 AC_MSG_CHECKING(Ruby version) | |
189 | 1770 if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then |
7 | 1771 AC_MSG_RESULT(OK) |
3843 | 1772 AC_MSG_CHECKING(Ruby rbconfig) |
1773 ruby_rbconfig="RbConfig" | |
1774 if ! $vi_cv_path_ruby -r rbconfig -e 'RbConfig' >/dev/null 2>/dev/null; then | |
1775 ruby_rbconfig="Config" | |
1776 fi | |
1777 AC_MSG_RESULT($ruby_rbconfig) | |
7 | 1778 AC_MSG_CHECKING(Ruby header files) |
3843 | 1779 rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e "print $ruby_rbconfig::CONFIG[['rubyhdrdir']] || $ruby_rbconfig::CONFIG[['archdir']] || \\$hdrdir" 2>/dev/null` |
7 | 1780 if test "X$rubyhdrdir" != "X"; then |
1781 AC_MSG_RESULT($rubyhdrdir) | |
1782 RUBY_CFLAGS="-I$rubyhdrdir" | |
5755 | 1783 rubyarchdir=`$vi_cv_path_ruby -r rbconfig -e "print ($ruby_rbconfig::CONFIG.has_key? 'rubyarchhdrdir') ? $ruby_rbconfig::CONFIG[['rubyarchhdrdir']] : '$rubyhdrdir/'+$ruby_rbconfig::CONFIG[['arch']]"` |
1784 if test -d "$rubyarchdir"; then | |
1785 RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyarchdir" | |
2077
d8983769c9dd
updated for version 7.2.361
Bram Moolenaar <bram@zimbu.org>
parents:
2019
diff
changeset
|
1786 fi |
3843 | 1787 rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['ruby_version']].gsub(/\./, '')[[0,2]]"` |
5280
ba37e955913e
updated for version 7.4b.016
Bram Moolenaar <bram@vim.org>
parents:
5240
diff
changeset
|
1788 if test "X$rubyversion" = "X"; then |
ba37e955913e
updated for version 7.4b.016
Bram Moolenaar <bram@vim.org>
parents:
5240
diff
changeset
|
1789 rubyversion=`$vi_cv_path_ruby -e "print ((VERSION rescue RUBY_VERSION)).gsub(/\./, '')[[0,2]]"` |
ba37e955913e
updated for version 7.4b.016
Bram Moolenaar <bram@vim.org>
parents:
5240
diff
changeset
|
1790 fi |
2077
d8983769c9dd
updated for version 7.2.361
Bram Moolenaar <bram@zimbu.org>
parents:
2019
diff
changeset
|
1791 RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion" |
3843 | 1792 rubylibs=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['LIBS']]"` |
7 | 1793 if test "X$rubylibs" != "X"; then |
1794 RUBY_LIBS="$rubylibs" | |
1795 fi | |
3843 | 1796 librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG[['LIBRUBYARG']])"` |
1797 librubya=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG[['LIBRUBY_A']])"` | |
4708
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1798 rubylibdir=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG[['libdir']])"` |
2801 | 1799 if test -f "$rubylibdir/$librubya"; then |
1800 librubyarg="$librubyarg" | |
4708
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1801 RUBY_LIBS="$RUBY_LIBS -L$rubylibdir" |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1802 elif test "$librubyarg" = "libruby.a"; then |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1803 dnl required on Mac OS 10.3 where libruby.a doesn't exist |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1804 librubyarg="-lruby" |
761e42cc79c2
updated for version 7.3.1101
Bram Moolenaar <bram@vim.org>
parents:
4399
diff
changeset
|
1805 RUBY_LIBS="$RUBY_LIBS -L$rubylibdir" |
7 | 1806 fi |
1807 | |
1808 if test "X$librubyarg" != "X"; then | |
1809 RUBY_LIBS="$librubyarg $RUBY_LIBS" | |
1810 fi | |
3843 | 1811 rubyldflags=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['LDFLAGS']]"` |
7 | 1812 if test "X$rubyldflags" != "X"; then |
1939 | 1813 dnl Ruby on Mac OS X 10.5 adds "-arch" flags but these should only |
1814 dnl be included if requested by passing --with-mac-arch to | |
1815 dnl configure, so strip these flags first (if present) | |
2389
d680c97481c1
Remove -arch flag from build flags for Perl. (Bjorn Wickler)
Bram Moolenaar <bram@vim.org>
parents:
2388
diff
changeset
|
1816 rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'` |
1939 | 1817 if test "X$rubyldflags" != "X"; then |
5759 | 1818 if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$rubyldflags\"`" = "X"; then |
4952
9f7b92f232d3
updated for version 7.3.1221
Bram Moolenaar <bram@vim.org>
parents:
4942
diff
changeset
|
1819 LDFLAGS="$rubyldflags $LDFLAGS" |
9f7b92f232d3
updated for version 7.3.1221
Bram Moolenaar <bram@vim.org>
parents:
4942
diff
changeset
|
1820 fi |
1939 | 1821 fi |
7 | 1822 fi |
1823 RUBY_SRC="if_ruby.c" | |
1824 RUBY_OBJ="objects/if_ruby.o" | |
1825 RUBY_PRO="if_ruby.pro" | |
1826 AC_DEFINE(FEAT_RUBY) | |
2621 | 1827 if test "$enable_rubyinterp" = "dynamic"; then |
3843 | 1828 libruby=`$vi_cv_path_ruby -r rbconfig -e "puts $ruby_rbconfig::CONFIG[['LIBRUBY_SO']]"` |
2621 | 1829 AC_DEFINE(DYNAMIC_RUBY) |
1830 RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS" | |
1831 RUBY_LIBS= | |
1832 fi | |
7 | 1833 else |
2077
d8983769c9dd
updated for version 7.2.361
Bram Moolenaar <bram@zimbu.org>
parents:
2019
diff
changeset
|
1834 AC_MSG_RESULT(not found; disabling Ruby) |
7 | 1835 fi |
1836 else | |
1837 AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later) | |
1838 fi | |
1839 fi | |
3222 | 1840 |
1841 if test "$fail_if_missing" = "yes" -a -z "$RUBY_OBJ"; then | |
1842 AC_MSG_ERROR([could not configure Ruby]) | |
1843 fi | |
7 | 1844 fi |
1845 AC_SUBST(RUBY_SRC) | |
1846 AC_SUBST(RUBY_OBJ) | |
1847 AC_SUBST(RUBY_PRO) | |
1848 AC_SUBST(RUBY_CFLAGS) | |
1849 AC_SUBST(RUBY_LIBS) | |
1850 | |
1851 AC_MSG_CHECKING(--enable-cscope argument) | |
1852 AC_ARG_ENABLE(cscope, | |
1853 [ --enable-cscope Include cscope interface.], , | |
1854 [enable_cscope="no"]) | |
1855 AC_MSG_RESULT($enable_cscope) | |
1856 if test "$enable_cscope" = "yes"; then | |
1857 AC_DEFINE(FEAT_CSCOPE) | |
1858 fi | |
1859 | |
1860 AC_MSG_CHECKING(--enable-workshop argument) | |
1861 AC_ARG_ENABLE(workshop, | |
1862 [ --enable-workshop Include Sun Visual Workshop support.], , | |
1863 [enable_workshop="no"]) | |
1864 AC_MSG_RESULT($enable_workshop) | |
1865 if test "$enable_workshop" = "yes"; then | |
1866 AC_DEFINE(FEAT_SUN_WORKSHOP) | |
1867 WORKSHOP_SRC="workshop.c integration.c" | |
1868 AC_SUBST(WORKSHOP_SRC) | |
1869 WORKSHOP_OBJ="objects/workshop.o objects/integration.o" | |
1870 AC_SUBST(WORKSHOP_OBJ) | |
1871 if test "${enable_gui-xxx}" = xxx; then | |
1872 enable_gui=motif | |
1873 fi | |
1874 fi | |
1875 | |
1876 AC_MSG_CHECKING(--disable-netbeans argument) | |
1877 AC_ARG_ENABLE(netbeans, | |
1878 [ --disable-netbeans Disable NetBeans integration support.], | |
1879 , [enable_netbeans="yes"]) | |
1880 if test "$enable_netbeans" = "yes"; then | |
1881 AC_MSG_RESULT(no) | |
1882 dnl On Solaris we need the socket and nsl library. | |
1883 AC_CHECK_LIB(socket, socket) | |
1884 AC_CHECK_LIB(nsl, gethostbyname) | |
1885 AC_MSG_CHECKING(whether compiling netbeans integration is possible) | |
1886 AC_TRY_LINK([ | |
1887 #include <stdio.h> | |
1888 #include <stdlib.h> | |
1889 #include <stdarg.h> | |
1890 #include <fcntl.h> | |
1891 #include <netdb.h> | |
1892 #include <netinet/in.h> | |
1893 #include <errno.h> | |
1894 #include <sys/types.h> | |
1895 #include <sys/socket.h> | |
1896 /* Check bitfields */ | |
1897 struct nbbuf { | |
1898 unsigned int initDone:1; | |
1899 ushort signmaplen; | |
1900 }; | |
1901 ], [ | |
1902 /* Check creating a socket. */ | |
1903 struct sockaddr_in server; | |
1904 (void)socket(AF_INET, SOCK_STREAM, 0); | |
1905 (void)htons(100); | |
1906 (void)gethostbyname("microsoft.com"); | |
1907 if (errno == ECONNREFUSED) | |
1908 (void)connect(1, (struct sockaddr *)&server, sizeof(server)); | |
1909 ], | |
1910 AC_MSG_RESULT(yes), | |
1911 AC_MSG_RESULT(no); enable_netbeans="no") | |
1912 else | |
1913 AC_MSG_RESULT(yes) | |
1914 fi | |
1915 if test "$enable_netbeans" = "yes"; then | |
1916 AC_DEFINE(FEAT_NETBEANS_INTG) | |
1917 NETBEANS_SRC="netbeans.c" | |
1918 AC_SUBST(NETBEANS_SRC) | |
1919 NETBEANS_OBJ="objects/netbeans.o" | |
1920 AC_SUBST(NETBEANS_OBJ) | |
1921 fi | |
1922 | |
1923 AC_MSG_CHECKING(--enable-sniff argument) | |
1924 AC_ARG_ENABLE(sniff, | |
1925 [ --enable-sniff Include Sniff interface.], , | |
1926 [enable_sniff="no"]) | |
1927 AC_MSG_RESULT($enable_sniff) | |
1928 if test "$enable_sniff" = "yes"; then | |
1929 AC_DEFINE(FEAT_SNIFF) | |
1930 SNIFF_SRC="if_sniff.c" | |
1931 AC_SUBST(SNIFF_SRC) | |
1932 SNIFF_OBJ="objects/if_sniff.o" | |
1933 AC_SUBST(SNIFF_OBJ) | |
1934 fi | |
1935 | |
1936 AC_MSG_CHECKING(--enable-multibyte argument) | |
1937 AC_ARG_ENABLE(multibyte, | |
1938 [ --enable-multibyte Include multibyte editing support.], , | |
1939 [enable_multibyte="no"]) | |
1940 AC_MSG_RESULT($enable_multibyte) | |
1941 if test "$enable_multibyte" = "yes"; then | |
1942 AC_DEFINE(FEAT_MBYTE) | |
1943 fi | |
1944 | |
1945 AC_MSG_CHECKING(--enable-hangulinput argument) | |
1946 AC_ARG_ENABLE(hangulinput, | |
1947 [ --enable-hangulinput Include Hangul input support.], , | |
1948 [enable_hangulinput="no"]) | |
1949 AC_MSG_RESULT($enable_hangulinput) | |
1950 | |
1951 AC_MSG_CHECKING(--enable-xim argument) | |
1952 AC_ARG_ENABLE(xim, | |
1953 [ --enable-xim Include XIM input support.], | |
1954 AC_MSG_RESULT($enable_xim), | |
1955 [enable_xim="auto"; AC_MSG_RESULT(defaulting to auto)]) | |
1956 | |
1957 AC_MSG_CHECKING(--enable-fontset argument) | |
1958 AC_ARG_ENABLE(fontset, | |
1959 [ --enable-fontset Include X fontset output support.], , | |
1960 [enable_fontset="no"]) | |
1961 AC_MSG_RESULT($enable_fontset) | |
1962 dnl defining FEAT_XFONTSET is delayed, so that it can be disabled for no GUI | |
1963 | |
1964 test -z "$with_x" && with_x=yes | |
1965 test "${enable_gui-yes}" != no -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && with_x=yes | |
1966 if test "$with_x" = no; then | |
1967 AC_MSG_RESULT(defaulting to: don't HAVE_X11) | |
1968 else | |
1969 dnl Do this check early, so that its failure can override user requests. | |
1970 | |
1971 AC_PATH_PROG(xmkmfpath, xmkmf) | |
1972 | |
1973 AC_PATH_XTRA | |
1974 | |
2247
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
1975 dnl On z/OS Unix the X libraries are DLLs. To use them the code must |
7 | 1976 dnl be compiled with a special option. |
1977 dnl Also add SM, ICE and Xmu to X_EXTRA_LIBS. | |
2247
c40cd9aad546
Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
1978 if test "$zOSUnix" = "yes"; then |
7 | 1979 CFLAGS="$CFLAGS -W c,dll" |
1980 LDFLAGS="$LDFLAGS -W l,dll" | |
1981 X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE -lXmu" | |
1982 fi | |
1983 | |
1984 dnl On my HPUX system the X include dir is found, but the lib dir not. | |
1985 dnl This is a desparate try to fix this. | |
1986 | |
1987 if test -d "$x_includes" && test ! -d "$x_libraries"; then | |
1988 x_libraries=`echo "$x_includes" | sed s/include/lib/` | |
1989 AC_MSG_RESULT(Corrected X libraries to $x_libraries) | |
1990 X_LIBS="$X_LIBS -L$x_libraries" | |
1991 if test "`(uname) 2>/dev/null`" = SunOS && | |
1992 uname -r | grep '^5' >/dev/null; then | |
1993 X_LIBS="$X_LIBS -R $x_libraries" | |
1994 fi | |
1995 fi | |
1996 | |
1997 if test -d "$x_libraries" && test ! -d "$x_includes"; then | |
1998 x_includes=`echo "$x_libraries" | sed s/lib/include/` | |
1999 AC_MSG_RESULT(Corrected X includes to $x_includes) | |
2000 X_CFLAGS="$X_CFLAGS -I$x_includes" | |
2001 fi | |
2002 | |
2003 dnl Remove "-I/usr/include " from X_CFLAGS, should not be needed. | |
2004 X_CFLAGS="`echo $X_CFLAGS\ | sed 's%-I/usr/include %%'`" | |
2005 dnl Remove "-L/usr/lib " from X_LIBS, should not be needed. | |
2006 X_LIBS="`echo $X_LIBS\ | sed 's%-L/usr/lib %%'`" | |
2007 dnl Same for "-R/usr/lib ". | |
2008 X_LIBS="`echo $X_LIBS\ | sed -e 's%-R/usr/lib %%' -e 's%-R /usr/lib %%'`" | |
2009 | |
2010 | |
2011 dnl Check if the X11 header files are correctly installed. On some systems | |
1649 | 2012 dnl Xlib.h includes files that don't exist. On some systems X11/Intrinsic.h |
2013 dnl is missing. | |
7 | 2014 AC_MSG_CHECKING(if X11 header files can be found) |
2015 cflags_save=$CFLAGS | |
2016 CFLAGS="$CFLAGS $X_CFLAGS" | |
1649 | 2017 AC_TRY_COMPILE([#include <X11/Xlib.h> |
2018 #include <X11/Intrinsic.h>], , | |
7 | 2019 AC_MSG_RESULT(yes), |
2020 AC_MSG_RESULT(no); no_x=yes) | |
2021 CFLAGS=$cflags_save | |
2022 | |
2023 if test "${no_x-no}" = yes; then | |
2024 with_x=no | |
2025 else | |
2026 AC_DEFINE(HAVE_X11) | |
2027 X_LIB="-lXt -lX11"; | |
2028 AC_SUBST(X_LIB) | |
2029 | |
2030 ac_save_LDFLAGS="$LDFLAGS" | |
2031 LDFLAGS="-L$x_libraries $LDFLAGS" | |
2032 | |
2033 dnl Check for -lXdmcp (needed on SunOS 4.1.4) | |
2034 dnl For HP-UX 10.20 it must be before -lSM -lICE | |
2035 AC_CHECK_LIB(Xdmcp, _XdmcpAuthDoIt, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lXdmcp"],, | |
2036 [-lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lXdmcp]) | |
2037 | |
2038 dnl Some systems need -lnsl -lsocket when testing for ICE. | |
2039 dnl The check above doesn't do this, try here (again). Also needed to get | |
2040 dnl them after Xdmcp. link.sh will remove them when not needed. | |
2041 dnl Check for other function than above to avoid the cached value | |
2042 AC_CHECK_LIB(ICE, IceOpenConnection, | |
2043 [X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE"],, [$X_EXTRA_LIBS]) | |
2044 | |
2045 dnl Check for -lXpm (needed for some versions of Motif) | |
2046 LDFLAGS="$X_LIBS $ac_save_LDFLAGS" | |
2047 AC_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [X_PRE_LIBS="$X_PRE_LIBS -lXpm"],, | |
2048 [-lXt $X_PRE_LIBS -lXpm -lX11 $X_EXTRA_LIBS]) | |
2049 | |
2050 dnl Check that the X11 header files don't use implicit declarations | |
2051 AC_MSG_CHECKING(if X11 header files implicitly declare return values) | |
2052 cflags_save=$CFLAGS | |
4348 | 2053 dnl -Werror is GCC only, others like Solaris Studio might not like it |
2054 if test "$GCC" = yes; then | |
2055 CFLAGS="$CFLAGS $X_CFLAGS -Werror" | |
2056 else | |
2057 CFLAGS="$CFLAGS $X_CFLAGS" | |
2058 fi | |
7 | 2059 AC_TRY_COMPILE([#include <X11/Xlib.h>], , |
2060 AC_MSG_RESULT(no), | |
2061 CFLAGS="$CFLAGS -Wno-implicit-int" | |
2062 AC_TRY_COMPILE([#include <X11/Xlib.h>], , | |
2063 AC_MSG_RESULT(yes); cflags_save="$cflags_save -Wno-implicit-int", | |
2064 AC_MSG_RESULT(test failed) | |
2065 ) | |
2066 ) | |
2067 CFLAGS=$cflags_save | |
2068 | |
2069 LDFLAGS="$ac_save_LDFLAGS" | |
2070 | |
1887 | 2071 AC_MSG_CHECKING(size of wchar_t is 2 bytes) |
2072 AC_CACHE_VAL(ac_cv_small_wchar_t, | |
2073 [AC_TRY_RUN([ | |
2074 #include <X11/Xlib.h> | |
2075 #if STDC_HEADERS | |
2076 # include <stdlib.h> | |
2077 # include <stddef.h> | |
2078 #endif | |
2079 main() | |
2080 { | |
2081 if (sizeof(wchar_t) <= 2) | |
2082 exit(1); | |
2083 exit(0); | |
2084 }], | |
2085 ac_cv_small_wchar_t="no", | |
2086 ac_cv_small_wchar_t="yes", | |
2087 AC_MSG_ERROR(failed to compile test program))]) | |
2088 AC_MSG_RESULT($ac_cv_small_wchar_t) | |
2089 if test "x$ac_cv_small_wchar_t" = "xyes" ; then | |
2090 AC_DEFINE(SMALL_WCHAR_T) | |
2091 fi | |
2092 | |
7 | 2093 fi |
2094 fi | |
2095 | |
270 | 2096 test "x$with_x" = xno -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no |
7 | 2097 |
2098 AC_MSG_CHECKING(--enable-gui argument) | |
2099 AC_ARG_ENABLE(gui, | |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2100 [ --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk2/gnome2/motif/athena/neXtaw/photon/carbon]], , enable_gui="auto") |
7 | 2101 |
2102 dnl Canonicalize the --enable-gui= argument so that it can be easily compared. | |
2103 dnl Do not use character classes for portability with old tools. | |
2104 enable_gui_canon=`echo "_$enable_gui" | \ | |
2105 sed 's/[[ _+-]]//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` | |
2106 | |
2107 dnl Skip everything by default. | |
2108 SKIP_GTK2=YES | |
2109 SKIP_GNOME=YES | |
2110 SKIP_MOTIF=YES | |
2111 SKIP_ATHENA=YES | |
2112 SKIP_NEXTAW=YES | |
2113 SKIP_PHOTON=YES | |
2114 SKIP_CARBON=YES | |
2115 GUITYPE=NONE | |
2116 | |
67 | 2117 if test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then |
7 | 2118 SKIP_PHOTON= |
2119 case "$enable_gui_canon" in | |
2120 no) AC_MSG_RESULT(no GUI support) | |
2121 SKIP_PHOTON=YES ;; | |
2122 yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;; | |
2123 auto) AC_MSG_RESULT(auto - automatic GUI support) ;; | |
2124 photon) AC_MSG_RESULT(Photon GUI support) ;; | |
2125 *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported]) | |
2126 SKIP_PHOTON=YES ;; | |
2127 esac | |
2128 | |
2129 elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then | |
2130 SKIP_CARBON= | |
2131 case "$enable_gui_canon" in | |
2132 no) AC_MSG_RESULT(no GUI support) | |
2133 SKIP_CARBON=YES ;; | |
2134 yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;; | |
2309
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
2135 auto) AC_MSG_RESULT(auto - Carbon GUI is outdated - disable GUI support) |
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
2136 SKIP_CARBON=YES ;; |
7 | 2137 carbon) AC_MSG_RESULT(Carbon GUI support) ;; |
2138 *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported]) | |
2139 SKIP_CARBON=YES ;; | |
2140 esac | |
2141 | |
2142 else | |
2143 | |
2144 case "$enable_gui_canon" in | |
2145 no|none) AC_MSG_RESULT(no GUI support) ;; | |
2146 yes|""|auto) AC_MSG_RESULT(yes/auto - automatic GUI support) | |
2147 SKIP_GTK2= | |
2148 SKIP_GNOME= | |
2149 SKIP_MOTIF= | |
2150 SKIP_ATHENA= | |
2151 SKIP_NEXTAW= | |
2152 SKIP_CARBON=;; | |
2153 gtk2) AC_MSG_RESULT(GTK+ 2.x GUI support) | |
2154 SKIP_GTK2=;; | |
2155 gnome2) AC_MSG_RESULT(GNOME 2.x GUI support) | |
2156 SKIP_GNOME= | |
2157 SKIP_GTK2=;; | |
2158 motif) AC_MSG_RESULT(Motif GUI support) | |
2159 SKIP_MOTIF=;; | |
2160 athena) AC_MSG_RESULT(Athena GUI support) | |
2161 SKIP_ATHENA=;; | |
2162 nextaw) AC_MSG_RESULT(neXtaw GUI support) | |
2163 SKIP_NEXTAW=;; | |
2164 *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported]) ;; | |
2165 esac | |
2166 | |
2167 fi | |
2168 | |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2169 if test "x$SKIP_GTK2" != "xYES" -a "$enable_gui_canon" != "gtk2" \ |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2170 -a "$enable_gui_canon" != "gnome2"; then |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2171 AC_MSG_CHECKING(whether or not to look for GTK+ 2) |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2172 AC_ARG_ENABLE(gtk2-check, |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2173 [ --enable-gtk2-check If auto-select GUI, check for GTK+ 2 [default=yes]], |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2174 , enable_gtk2_check="yes") |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2175 AC_MSG_RESULT($enable_gtk2_check) |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2176 if test "x$enable_gtk2_check" = "xno"; then |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2177 SKIP_GTK2=YES |
7 | 2178 SKIP_GNOME=YES |
2179 fi | |
2180 fi | |
2181 | |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2182 if test "x$SKIP_GNOME" != "xYES" -a "$enable_gui_canon" != "gnome2"; then |
7 | 2183 AC_MSG_CHECKING(whether or not to look for GNOME) |
2184 AC_ARG_ENABLE(gnome-check, | |
2185 [ --enable-gnome-check If GTK GUI, check for GNOME [default=no]], | |
2186 , enable_gnome_check="no") | |
2187 AC_MSG_RESULT($enable_gnome_check) | |
2188 if test "x$enable_gnome_check" = "xno"; then | |
2189 SKIP_GNOME=YES | |
2190 fi | |
2191 fi | |
2192 | |
2193 if test "x$SKIP_MOTIF" != "xYES" -a "$enable_gui_canon" != "motif"; then | |
2194 AC_MSG_CHECKING(whether or not to look for Motif) | |
2195 AC_ARG_ENABLE(motif-check, | |
2196 [ --enable-motif-check If auto-select GUI, check for Motif [default=yes]], | |
2197 , enable_motif_check="yes") | |
2198 AC_MSG_RESULT($enable_motif_check) | |
2199 if test "x$enable_motif_check" = "xno"; then | |
2200 SKIP_MOTIF=YES | |
2201 fi | |
2202 fi | |
2203 | |
2204 if test "x$SKIP_ATHENA" != "xYES" -a "$enable_gui_canon" != "athena"; then | |
2205 AC_MSG_CHECKING(whether or not to look for Athena) | |
2206 AC_ARG_ENABLE(athena-check, | |
2207 [ --enable-athena-check If auto-select GUI, check for Athena [default=yes]], | |
2208 , enable_athena_check="yes") | |
2209 AC_MSG_RESULT($enable_athena_check) | |
2210 if test "x$enable_athena_check" = "xno"; then | |
2211 SKIP_ATHENA=YES | |
2212 fi | |
2213 fi | |
2214 | |
2215 if test "x$SKIP_NEXTAW" != "xYES" -a "$enable_gui_canon" != "nextaw"; then | |
2216 AC_MSG_CHECKING(whether or not to look for neXtaw) | |
2217 AC_ARG_ENABLE(nextaw-check, | |
2218 [ --enable-nextaw-check If auto-select GUI, check for neXtaw [default=yes]], | |
2219 , enable_nextaw_check="yes") | |
2220 AC_MSG_RESULT($enable_nextaw_check); | |
2221 if test "x$enable_nextaw_check" = "xno"; then | |
2222 SKIP_NEXTAW=YES | |
2223 fi | |
2224 fi | |
2225 | |
2226 if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then | |
2227 AC_MSG_CHECKING(whether or not to look for Carbon) | |
2228 AC_ARG_ENABLE(carbon-check, | |
2229 [ --enable-carbon-check If auto-select GUI, check for Carbon [default=yes]], | |
2230 , enable_carbon_check="yes") | |
2231 AC_MSG_RESULT($enable_carbon_check); | |
2232 if test "x$enable_carbon_check" = "xno"; then | |
2233 SKIP_CARBON=YES | |
2234 fi | |
2235 fi | |
2236 | |
11 | 2237 |
7 | 2238 if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then |
2239 AC_MSG_CHECKING(for Carbon GUI) | |
864 | 2240 dnl already did the check, just give the message |
7 | 2241 AC_MSG_RESULT(yes); |
2242 GUITYPE=CARBONGUI | |
502 | 2243 if test "$VIMNAME" = "vim"; then |
2244 VIMNAME=Vim | |
2245 fi | |
864 | 2246 |
2309
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
2247 if test "x$MACARCH" = "xboth"; then |
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
2248 CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon" |
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
2249 else |
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
2250 CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/Headers/FlatCarbon" |
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
2251 fi |
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
2252 |
864 | 2253 dnl Default install directory is not /usr/local |
2254 if test x$prefix = xNONE; then | |
2255 prefix=/Applications | |
2256 fi | |
2257 | |
2258 dnl Sorry for the hard coded default | |
2259 datadir='${prefix}/Vim.app/Contents/Resources' | |
2260 | |
7 | 2261 dnl skip everything else |
2262 SKIP_GTK2=YES; | |
2263 SKIP_GNOME=YES; | |
2264 SKIP_MOTIF=YES; | |
2265 SKIP_ATHENA=YES; | |
2266 SKIP_NEXTAW=YES; | |
2267 SKIP_PHOTON=YES; | |
2268 SKIP_CARBON=YES | |
2269 fi | |
2270 | |
2271 dnl define an autoconf function to check for a specified version of GTK, and | |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2272 dnl try to compile/link a GTK program. |
7 | 2273 dnl |
2274 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) | |
29 | 2275 dnl Test for GTK, and define GTK_CFLAGS, GTK_LIBDIR and GTK_LIBS |
7 | 2276 dnl |
2277 AC_DEFUN(AM_PATH_GTK, | |
2278 [ | |
2279 if test "X$GTK_CONFIG" != "Xno" -o "X$PKG_CONFIG" != "Xno"; then | |
2280 { | |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2281 min_gtk_version=ifelse([$1], ,2.2.0,$1) |
7 | 2282 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) |
2283 no_gtk="" | |
2284 if (test "X$SKIP_GTK2" != "XYES" -a "X$PKG_CONFIG" != "Xno") \ | |
2285 && $PKG_CONFIG --exists gtk+-2.0; then | |
2286 { | |
2287 dnl We should be using PKG_CHECK_MODULES() instead of this hack. | |
2288 dnl But I guess the dependency on pkgconfig.m4 is not wanted or | |
2289 dnl something like that. | |
2290 GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-2.0` | |
29 | 2291 GTK_LIBDIR=`$PKG_CONFIG --libs-only-L gtk+-2.0` |
7 | 2292 GTK_LIBS=`$PKG_CONFIG --libs gtk+-2.0` |
2293 gtk_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ | |
2294 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` | |
2295 gtk_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ | |
2296 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` | |
2297 gtk_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ | |
2298 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` | |
2299 } | |
2300 else | |
2301 no_gtk=yes | |
2302 fi | |
2303 | |
2304 if test "x$enable_gtktest" = "xyes" -a "x$no_gtk" = "x"; then | |
2305 { | |
2306 ac_save_CFLAGS="$CFLAGS" | |
2307 ac_save_LIBS="$LIBS" | |
2308 CFLAGS="$CFLAGS $GTK_CFLAGS" | |
2309 LIBS="$LIBS $GTK_LIBS" | |
2310 | |
2311 dnl | |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2312 dnl Now check if the installed GTK is sufficiently new. |
7 | 2313 dnl |
2314 rm -f conf.gtktest | |
2315 AC_TRY_RUN([ | |
2316 #include <gtk/gtk.h> | |
2317 #include <stdio.h> | |
1621 | 2318 #if STDC_HEADERS |
2319 # include <stdlib.h> | |
2320 # include <stddef.h> | |
2321 #endif | |
7 | 2322 |
2323 int | |
2324 main () | |
2325 { | |
2326 int major, minor, micro; | |
2327 char *tmp_version; | |
2328 | |
2329 system ("touch conf.gtktest"); | |
2330 | |
2331 /* HP/UX 9 (%@#!) writes to sscanf strings */ | |
2332 tmp_version = g_strdup("$min_gtk_version"); | |
2333 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { | |
2334 printf("%s, bad version string\n", "$min_gtk_version"); | |
2335 exit(1); | |
2336 } | |
2337 | |
2338 if ((gtk_major_version > major) || | |
2339 ((gtk_major_version == major) && (gtk_minor_version > minor)) || | |
2340 ((gtk_major_version == major) && (gtk_minor_version == minor) && | |
2341 (gtk_micro_version >= micro))) | |
2342 { | |
2343 return 0; | |
2344 } | |
2345 return 1; | |
2346 } | |
2347 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) | |
2348 CFLAGS="$ac_save_CFLAGS" | |
2349 LIBS="$ac_save_LIBS" | |
2350 } | |
2351 fi | |
2352 if test "x$no_gtk" = x ; then | |
2353 if test "x$enable_gtktest" = "xyes"; then | |
2354 AC_MSG_RESULT(yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version) | |
2355 else | |
2356 AC_MSG_RESULT(found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version) | |
2357 fi | |
2358 ifelse([$2], , :, [$2]) | |
2359 else | |
2360 { | |
2361 AC_MSG_RESULT(no) | |
2362 GTK_CFLAGS="" | |
2363 GTK_LIBS="" | |
2364 ifelse([$3], , :, [$3]) | |
2365 } | |
2366 fi | |
2367 } | |
2368 else | |
2369 GTK_CFLAGS="" | |
2370 GTK_LIBS="" | |
2371 ifelse([$3], , :, [$3]) | |
2372 fi | |
2373 AC_SUBST(GTK_CFLAGS) | |
2374 AC_SUBST(GTK_LIBS) | |
2375 rm -f conf.gtktest | |
2376 ]) | |
2377 | |
2378 dnl --------------------------------------------------------------------------- | |
2379 dnl gnome | |
2380 dnl --------------------------------------------------------------------------- | |
2381 AC_DEFUN([GNOME_INIT_HOOK], | |
2382 [ | |
2383 AC_SUBST(GNOME_LIBS) | |
2384 AC_SUBST(GNOME_LIBDIR) | |
2385 AC_SUBST(GNOME_INCLUDEDIR) | |
2386 | |
2387 AC_ARG_WITH(gnome-includes, | |
2388 [ --with-gnome-includes=DIR Specify location of GNOME headers], | |
2389 [CFLAGS="$CFLAGS -I$withval"] | |
2390 ) | |
2391 | |
2392 AC_ARG_WITH(gnome-libs, | |
2393 [ --with-gnome-libs=DIR Specify location of GNOME libs], | |
2394 [LDFLAGS="$LDFLAGS -L$withval" gnome_prefix=$withval] | |
2395 ) | |
2396 | |
2397 AC_ARG_WITH(gnome, | |
2398 [ --with-gnome Specify prefix for GNOME files], | |
2399 if test x$withval = xyes; then | |
2400 want_gnome=yes | |
2401 ifelse([$1], [], :, [$1]) | |
2402 else | |
2403 if test "x$withval" = xno; then | |
2404 want_gnome=no | |
2405 else | |
2406 want_gnome=yes | |
2407 LDFLAGS="$LDFLAGS -L$withval/lib" | |
2408 CFLAGS="$CFLAGS -I$withval/include" | |
2409 gnome_prefix=$withval/lib | |
2410 fi | |
2411 fi, | |
2412 want_gnome=yes) | |
2413 | |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2414 if test "x$want_gnome" = xyes; then |
7 | 2415 { |
2416 AC_MSG_CHECKING(for libgnomeui-2.0) | |
2417 if $PKG_CONFIG --exists libgnomeui-2.0; then | |
2418 AC_MSG_RESULT(yes) | |
2419 GNOME_LIBS=`$PKG_CONFIG --libs-only-l libgnomeui-2.0` | |
2420 GNOME_LIBDIR=`$PKG_CONFIG --libs-only-L libgnomeui-2.0` | |
2421 GNOME_INCLUDEDIR=`$PKG_CONFIG --cflags libgnomeui-2.0` | |
856 | 2422 |
782 | 2423 dnl On FreeBSD we need -pthread but pkg-config doesn't include it. |
2424 dnl This might not be the right way but it works for me... | |
2425 AC_MSG_CHECKING(for FreeBSD) | |
2426 if test "`(uname) 2>/dev/null`" = FreeBSD; then | |
2427 AC_MSG_RESULT(yes, adding -pthread) | |
856 | 2428 GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR -D_THREAD_SAFE" |
782 | 2429 GNOME_LIBS="$GNOME_LIBS -pthread" |
2430 else | |
2431 AC_MSG_RESULT(no) | |
2432 fi | |
7 | 2433 $1 |
2434 else | |
2435 AC_MSG_RESULT(not found) | |
2436 if test "x$2" = xfail; then | |
2437 AC_MSG_ERROR(Could not find libgnomeui-2.0 via pkg-config) | |
2438 fi | |
2439 fi | |
2440 } | |
2441 fi | |
2442 ]) | |
2443 | |
2444 AC_DEFUN([GNOME_INIT],[ | |
2445 GNOME_INIT_HOOK([],fail) | |
2446 ]) | |
2447 | |
2448 | |
2449 dnl --------------------------------------------------------------------------- | |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2450 dnl Check for GTK2. If it fails, then continue on for Motif as before... |
7 | 2451 dnl --------------------------------------------------------------------------- |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2452 if test -z "$SKIP_GTK2"; then |
7 | 2453 |
2454 AC_MSG_CHECKING(--disable-gtktest argument) | |
2455 AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program], | |
2456 , enable_gtktest=yes) | |
2457 if test "x$enable_gtktest" = "xyes" ; then | |
2458 AC_MSG_RESULT(gtk test enabled) | |
2459 else | |
2460 AC_MSG_RESULT(gtk test disabled) | |
2461 fi | |
2462 | |
2463 if test "X$PKG_CONFIG" = "X"; then | |
2464 AC_PATH_PROG(PKG_CONFIG, pkg-config, no) | |
2465 fi | |
2466 | |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2467 if test "x$PKG_CONFIG" != "xno"; then |
7 | 2468 dnl First try finding version 2.2.0 or later. The 2.0.x series has |
2469 dnl problems (bold fonts, --remote doesn't work). | |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2470 AM_PATH_GTK(2.2.0, |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2471 [GUI_LIB_LOC="$GTK_LIBDIR" |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2472 GTK_LIBNAME="$GTK_LIBS" |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2473 GUI_INC_LOC="$GTK_CFLAGS"], ) |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2474 if test "x$GTK_CFLAGS" != "x"; then |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2475 SKIP_ATHENA=YES |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2476 SKIP_NEXTAW=YES |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2477 SKIP_MOTIF=YES |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2478 GUITYPE=GTK |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2479 AC_SUBST(GTK_LIBNAME) |
7 | 2480 fi |
2481 fi | |
2482 if test "x$GUITYPE" = "xGTK"; then | |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2483 if test "$gtk_minor_version" = 1 -a "0$gtk_micro_version" -ge 1 \ |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2484 || test "0$gtk_minor_version" -ge 2; then |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2485 AC_DEFINE(HAVE_GTK_MULTIHEAD) |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2486 fi |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2487 dnl |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2488 dnl if GTK exists, then check for GNOME. |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2489 dnl |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2490 if test -z "$SKIP_GNOME"; then |
7 | 2491 { |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2492 GNOME_INIT_HOOK([have_gnome=yes]) |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2493 if test "x$have_gnome" = xyes ; then |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2494 AC_DEFINE(FEAT_GUI_GNOME) |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2495 GUI_INC_LOC="$GUI_INC_LOC $GNOME_INCLUDEDIR" |
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2496 GTK_LIBNAME="$GTK_LIBNAME $GNOME_LIBDIR $GNOME_LIBS" |
7 | 2497 fi |
2498 } | |
2499 fi | |
2500 fi | |
2501 fi | |
2502 | |
2503 dnl Check for Motif include files location. | |
2504 dnl The LAST one found is used, this makes the highest version to be used, | |
2505 dnl e.g. when Motif1.2 and Motif2.0 are both present. | |
2506 | |
2507 if test -z "$SKIP_MOTIF"; then | |
2508 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" | |
2509 dnl Remove "-I" from before $GUI_INC_LOC if it's there | |
2510 GUI_INC_LOC="`echo $GUI_INC_LOC|sed 's%-I%%g'`" | |
2511 | |
2512 AC_MSG_CHECKING(for location of Motif GUI includes) | |
2513 gui_includes="`echo $x_includes|sed 's%/[^/][^/]*$%%'` `echo "$gui_XXX" | sed s/XXX/include/g` $GUI_INC_LOC" | |
2514 GUI_INC_LOC= | |
2515 for try in $gui_includes; do | |
2516 if test -f "$try/Xm/Xm.h"; then | |
2517 GUI_INC_LOC=$try | |
2518 fi | |
2519 done | |
2520 if test -n "$GUI_INC_LOC"; then | |
2521 if test "$GUI_INC_LOC" = /usr/include; then | |
2522 GUI_INC_LOC= | |
2523 AC_MSG_RESULT(in default path) | |
2524 else | |
2525 AC_MSG_RESULT($GUI_INC_LOC) | |
2526 fi | |
2527 else | |
2528 AC_MSG_RESULT(<not found>) | |
2529 SKIP_MOTIF=YES | |
2530 fi | |
2531 fi | |
2532 | |
2533 dnl Check for Motif library files location. In the same order as the include | |
2534 dnl files, to avoid a mixup if several versions are present | |
2535 | |
2536 if test -z "$SKIP_MOTIF"; then | |
2537 AC_MSG_CHECKING(--with-motif-lib argument) | |
2538 AC_ARG_WITH(motif-lib, | |
2539 [ --with-motif-lib=STRING Library for Motif ], | |
2540 [ MOTIF_LIBNAME="${withval}" ] ) | |
2541 | |
2542 if test -n "$MOTIF_LIBNAME"; then | |
2543 AC_MSG_RESULT($MOTIF_LIBNAME) | |
2544 GUI_LIB_LOC= | |
2545 else | |
2546 AC_MSG_RESULT(no) | |
2547 | |
2548 dnl Remove "-L" from before $GUI_LIB_LOC if it's there | |
2549 GUI_LIB_LOC="`echo $GUI_LIB_LOC|sed 's%-L%%g'`" | |
2550 | |
4942
b89aa3374b7f
updated for version 7.3.1216
Bram Moolenaar <bram@vim.org>
parents:
4895
diff
changeset
|
2551 dnl Ubuntu has libXm.so in /usr/lib/i386-linux-gnu and elsewhere. The |
b89aa3374b7f
updated for version 7.3.1216
Bram Moolenaar <bram@vim.org>
parents:
4895
diff
changeset
|
2552 dnl linker will figure out which one to use, we only check if one exists. |
7 | 2553 AC_MSG_CHECKING(for location of Motif GUI libs) |
4942
b89aa3374b7f
updated for version 7.3.1216
Bram Moolenaar <bram@vim.org>
parents:
4895
diff
changeset
|
2554 gui_libs="`echo $x_libraries|sed 's%/[^/][^/]*$%%'` `echo "$gui_XXX" | sed s/XXX/lib/g` /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu `echo "$GUI_INC_LOC" | sed s/include/lib/` $GUI_LIB_LOC" |
7 | 2555 GUI_LIB_LOC= |
2556 for try in $gui_libs; do | |
14 | 2557 for libtry in "$try"/libXm.a "$try"/libXm.so* "$try"/libXm.sl "$try"/libXm.dylib; do |
7 | 2558 if test -f "$libtry"; then |
2559 GUI_LIB_LOC=$try | |
2560 fi | |
2561 done | |
2562 done | |
2563 if test -n "$GUI_LIB_LOC"; then | |
2564 dnl Remove /usr/lib, it causes trouble on some systems | |
4942
b89aa3374b7f
updated for version 7.3.1216
Bram Moolenaar <bram@vim.org>
parents:
4895
diff
changeset
|
2565 if test "$GUI_LIB_LOC" = /usr/lib \ |
b89aa3374b7f
updated for version 7.3.1216
Bram Moolenaar <bram@vim.org>
parents:
4895
diff
changeset
|
2566 -o "$GUI_LIB_LOC" = /usr/lib/i386-linux-gnu \ |
b89aa3374b7f
updated for version 7.3.1216
Bram Moolenaar <bram@vim.org>
parents:
4895
diff
changeset
|
2567 -o "$GUI_LIB_LOC" = /usr/lib/x86_64-linux-gnu; then |
7 | 2568 GUI_LIB_LOC= |
2569 AC_MSG_RESULT(in default path) | |
2570 else | |
2571 if test -n "$GUI_LIB_LOC"; then | |
2572 AC_MSG_RESULT($GUI_LIB_LOC) | |
2573 if test "`(uname) 2>/dev/null`" = SunOS && | |
2574 uname -r | grep '^5' >/dev/null; then | |
2575 GUI_LIB_LOC="$GUI_LIB_LOC -R $GUI_LIB_LOC" | |
2576 fi | |
2577 fi | |
2578 fi | |
2579 MOTIF_LIBNAME=-lXm | |
2580 else | |
2581 AC_MSG_RESULT(<not found>) | |
2582 SKIP_MOTIF=YES | |
2583 fi | |
2584 fi | |
2585 fi | |
2586 | |
2587 if test -z "$SKIP_MOTIF"; then | |
2588 SKIP_ATHENA=YES | |
2589 SKIP_NEXTAW=YES | |
2590 GUITYPE=MOTIF | |
2591 AC_SUBST(MOTIF_LIBNAME) | |
2592 fi | |
2593 | |
2594 dnl Check if the Athena files can be found | |
2595 | |
2596 GUI_X_LIBS= | |
2597 | |
2598 if test -z "$SKIP_ATHENA"; then | |
2599 AC_MSG_CHECKING(if Athena header files can be found) | |
2600 cflags_save=$CFLAGS | |
2601 CFLAGS="$CFLAGS $X_CFLAGS" | |
2602 AC_TRY_COMPILE([ | |
2603 #include <X11/Intrinsic.h> | |
2604 #include <X11/Xaw/Paned.h>], , | |
2605 AC_MSG_RESULT(yes), | |
2606 AC_MSG_RESULT(no); SKIP_ATHENA=YES ) | |
2607 CFLAGS=$cflags_save | |
2608 fi | |
2609 | |
2610 if test -z "$SKIP_ATHENA"; then | |
2611 GUITYPE=ATHENA | |
2612 fi | |
2613 | |
2614 if test -z "$SKIP_NEXTAW"; then | |
2615 AC_MSG_CHECKING(if neXtaw header files can be found) | |
2616 cflags_save=$CFLAGS | |
2617 CFLAGS="$CFLAGS $X_CFLAGS" | |
2618 AC_TRY_COMPILE([ | |
2619 #include <X11/Intrinsic.h> | |
2620 #include <X11/neXtaw/Paned.h>], , | |
2621 AC_MSG_RESULT(yes), | |
2622 AC_MSG_RESULT(no); SKIP_NEXTAW=YES ) | |
2623 CFLAGS=$cflags_save | |
2624 fi | |
2625 | |
2626 if test -z "$SKIP_NEXTAW"; then | |
2627 GUITYPE=NEXTAW | |
2628 fi | |
2629 | |
2630 if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then | |
2631 dnl Prepend -I and -L to $GUI_INC_LOC and $GUI_LIB_LOC if not empty | |
2632 dnl Avoid adding it when it twice | |
2633 if test -n "$GUI_INC_LOC"; then | |
2634 GUI_INC_LOC=-I"`echo $GUI_INC_LOC|sed 's%-I%%'`" | |
2635 fi | |
2636 if test -n "$GUI_LIB_LOC"; then | |
2637 GUI_LIB_LOC=-L"`echo $GUI_LIB_LOC|sed 's%-L%%'`" | |
2638 fi | |
2639 | |
2640 dnl Check for -lXext and then for -lXmu | |
2641 ldflags_save=$LDFLAGS | |
2642 LDFLAGS="$X_LIBS $LDFLAGS" | |
2643 AC_CHECK_LIB(Xext, XShapeQueryExtension, [GUI_X_LIBS="-lXext"],, | |
2644 [-lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS]) | |
2645 dnl For Solaris we need -lw and -ldl before linking with -lXmu works. | |
2646 AC_CHECK_LIB(w, wslen, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lw"],, | |
2647 [$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS]) | |
2648 AC_CHECK_LIB(dl, dlsym, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldl"],, | |
2649 [$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS]) | |
2650 AC_CHECK_LIB(Xmu, XmuCreateStippledPixmap, [GUI_X_LIBS="-lXmu $GUI_X_LIBS"],, | |
2651 [$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS]) | |
2652 if test -z "$SKIP_MOTIF"; then | |
2653 AC_CHECK_LIB(Xp, XpEndJob, [GUI_X_LIBS="-lXp $GUI_X_LIBS"],, | |
2654 [$GUI_X_LIBS -lXm -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS]) | |
2655 fi | |
2656 LDFLAGS=$ldflags_save | |
2657 | |
2658 dnl Execute xmkmf to figure out if -DNARROWPROTO is needed. | |
2659 AC_MSG_CHECKING(for extra X11 defines) | |
2660 NARROW_PROTO= | |
2661 rm -fr conftestdir | |
2662 if mkdir conftestdir; then | |
2663 cd conftestdir | |
2664 cat > Imakefile <<'EOF' | |
2665 acfindx: | |
2666 @echo 'NARROW_PROTO="${PROTO_DEFINES}"' | |
2667 EOF | |
2668 if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then | |
2669 eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` | |
2670 fi | |
2671 cd .. | |
2672 rm -fr conftestdir | |
2673 fi | |
2674 if test -z "$NARROW_PROTO"; then | |
2675 AC_MSG_RESULT(no) | |
2676 else | |
2677 AC_MSG_RESULT($NARROW_PROTO) | |
2678 fi | |
2679 AC_SUBST(NARROW_PROTO) | |
2680 fi | |
2681 | |
2682 dnl Look for XSMP support - but don't necessarily restrict it to X11 GUIs | |
2683 dnl use the X11 include path | |
2684 if test "$enable_xsmp" = "yes"; then | |
2685 cppflags_save=$CPPFLAGS | |
2686 CPPFLAGS="$CPPFLAGS $X_CFLAGS" | |
2687 AC_CHECK_HEADERS(X11/SM/SMlib.h) | |
2688 CPPFLAGS=$cppflags_save | |
2689 fi | |
2690 | |
2691 | |
2285
69064995302a
Change SKIP_GTK to SKIP_GTK2 in configure.
Bram Moolenaar <bram@vim.org>
parents:
2277
diff
changeset
|
2692 if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF" -o -z "$SKIP_GTK2"; then |
7 | 2693 dnl Check for X11/xpm.h and X11/Sunkeysym.h with the GUI include path |
2694 cppflags_save=$CPPFLAGS | |
2695 CPPFLAGS="$CPPFLAGS $X_CFLAGS" | |
2696 AC_CHECK_HEADERS(X11/xpm.h X11/Sunkeysym.h) | |
2697 | |
2698 dnl automatically disable XIM when XIMtext isn't in X11/Xlib.h | |
2699 if test ! "$enable_xim" = "no"; then | |
2700 AC_MSG_CHECKING(for XIMText in X11/Xlib.h) | |
2701 AC_EGREP_CPP(XIMText, [#include <X11/Xlib.h>], | |
2702 AC_MSG_RESULT(yes), | |
5824 | 2703 AC_MSG_RESULT(no; xim has been disabled); enable_xim="no") |
7 | 2704 fi |
2705 CPPFLAGS=$cppflags_save | |
2706 | |
2707 dnl automatically enable XIM when hangul input isn't enabled | |
2708 if test "$enable_xim" = "auto" -a "$enable_hangulinput" != "yes" \ | |
2709 -a "x$GUITYPE" != "xNONE" ; then | |
2710 AC_MSG_RESULT(X GUI selected; xim has been enabled) | |
2711 enable_xim="yes" | |
2712 fi | |
2713 fi | |
2714 | |
2715 if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then | |
2716 cppflags_save=$CPPFLAGS | |
2717 CPPFLAGS="$CPPFLAGS $X_CFLAGS" | |
148 | 2718 dnl Xmu/Editres.h may exist but can only be used after including Intrinsic.h |
2719 AC_MSG_CHECKING([for X11/Xmu/Editres.h]) | |
2720 AC_TRY_COMPILE([ | |
2721 #include <X11/Intrinsic.h> | |
2722 #include <X11/Xmu/Editres.h>], | |
2723 [int i; i = 0;], | |
2724 AC_MSG_RESULT(yes) | |
2725 AC_DEFINE(HAVE_X11_XMU_EDITRES_H), | |
2726 AC_MSG_RESULT(no)) | |
7 | 2727 CPPFLAGS=$cppflags_save |
2728 fi | |
2729 | |
2730 dnl Only use the Xm directory when compiling Motif, don't use it for Athena | |
2731 if test -z "$SKIP_MOTIF"; then | |
2732 cppflags_save=$CPPFLAGS | |
2733 CPPFLAGS="$CPPFLAGS $X_CFLAGS" | |
3590 | 2734 if test "$zOSUnix" = "yes"; then |
2735 xmheader="Xm/Xm.h" | |
2736 else | |
2737 xmheader="Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h | |
4841
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
2738 Xm/UnhighlightT.h Xm/Notebook.h" |
3590 | 2739 fi |
2740 AC_CHECK_HEADERS($xmheader) | |
2741 | |
2742 if test "x$ac_cv_header_Xm_XpmP_h" = "xyes"; then | |
819 | 2743 dnl Solaris uses XpmAttributes_21, very annoying. |
2744 AC_MSG_CHECKING([for XpmAttributes_21 in Xm/XpmP.h]) | |
2745 AC_TRY_COMPILE([#include <Xm/XpmP.h>], [XpmAttributes_21 attr;], | |
2746 AC_MSG_RESULT(yes); AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes_21), | |
2747 AC_MSG_RESULT(no); AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes) | |
2748 ) | |
2749 else | |
839 | 2750 AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes) |
819 | 2751 fi |
7 | 2752 CPPFLAGS=$cppflags_save |
2753 fi | |
2754 | |
2755 if test "x$GUITYPE" = "xNONE" -a "$enable_xim" = "yes"; then | |
2756 AC_MSG_RESULT(no GUI selected; xim has been disabled) | |
2757 enable_xim="no" | |
2758 fi | |
2759 if test "x$GUITYPE" = "xNONE" -a "$enable_fontset" = "yes"; then | |
2760 AC_MSG_RESULT(no GUI selected; fontset has been disabled) | |
2761 enable_fontset="no" | |
2762 fi | |
2275
e4d849f4df03
Remove the old and not well supported GTK 1 code. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2247
diff
changeset
|
2763 if test "x$GUITYPE:$enable_fontset" = "xGTK:yes"; then |
7 | 2764 AC_MSG_RESULT(GTK+ 2 GUI selected; fontset has been disabled) |
2765 enable_fontset="no" | |
2766 fi | |
2767 | |
2768 if test -z "$SKIP_PHOTON"; then | |
2769 GUITYPE=PHOTONGUI | |
2770 fi | |
2771 | |
2772 AC_SUBST(GUI_INC_LOC) | |
2773 AC_SUBST(GUI_LIB_LOC) | |
2774 AC_SUBST(GUITYPE) | |
2775 AC_SUBST(GUI_X_LIBS) | |
2776 | |
2777 if test "$enable_workshop" = "yes" -a -n "$SKIP_MOTIF"; then | |
2778 AC_MSG_ERROR([cannot use workshop without Motif]) | |
2779 fi | |
2780 | |
2781 dnl defining FEAT_XIM and FEAT_XFONTSET is delayed, so that they can be disabled | |
2782 if test "$enable_xim" = "yes"; then | |
2783 AC_DEFINE(FEAT_XIM) | |
2784 fi | |
2785 if test "$enable_fontset" = "yes"; then | |
2786 AC_DEFINE(FEAT_XFONTSET) | |
2787 fi | |
2788 | |
2789 | |
2790 dnl --------------------------------------------------------------------------- | |
2791 dnl end of GUI-checking | |
2792 dnl --------------------------------------------------------------------------- | |
2793 | |
4168 | 2794 dnl Check for Cygwin, which needs an extra source file if not using X11 |
2795 AC_MSG_CHECKING(for CYGWIN environment) | |
2796 case `uname` in | |
2797 CYGWIN*) CYGWIN=yes; AC_MSG_RESULT(yes) | |
2798 AC_MSG_CHECKING(for CYGWIN clipboard support) | |
2799 if test "x$with_x" = "xno" ; then | |
2800 OS_EXTRA_SRC=winclip.c; OS_EXTRA_OBJ=objects/winclip.o | |
2801 AC_MSG_RESULT(yes) | |
2802 AC_DEFINE(FEAT_CYGWIN_WIN32_CLIPBOARD) | |
2803 else | |
2804 AC_MSG_RESULT(no - using X11) | |
2805 fi ;; | |
2806 | |
2807 *) CYGWIN=no; AC_MSG_RESULT(no);; | |
2808 esac | |
7 | 2809 |
2810 dnl Only really enable hangul input when GUI and XFONTSET are available | |
2811 if test "$enable_hangulinput" = "yes"; then | |
2812 if test "x$GUITYPE" = "xNONE"; then | |
2813 AC_MSG_RESULT(no GUI selected; hangul input has been disabled) | |
2814 enable_hangulinput=no | |
2815 else | |
2816 AC_DEFINE(FEAT_HANGULIN) | |
2817 HANGULIN_SRC=hangulin.c | |
2818 AC_SUBST(HANGULIN_SRC) | |
2819 HANGULIN_OBJ=objects/hangulin.o | |
2820 AC_SUBST(HANGULIN_OBJ) | |
2821 fi | |
2822 fi | |
2823 | |
2824 dnl Checks for libraries and include files. | |
2825 | |
1621 | 2826 AC_CACHE_CHECK([whether toupper is broken], [vim_cv_toupper_broken], |
2827 [ | |
5757 | 2828 AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
1621 | 2829 #include "confdefs.h" |
2830 #include <ctype.h> | |
2831 #if STDC_HEADERS | |
2832 # include <stdlib.h> | |
2833 # include <stddef.h> | |
2834 #endif | |
2835 main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); } | |
5757 | 2836 ]])],[ |
1621 | 2837 vim_cv_toupper_broken=yes |
2838 ],[ | |
2839 vim_cv_toupper_broken=no | |
2840 ],[ | |
2841 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_toupper_broken') | |
2842 ])]) | |
2843 | |
2844 if test "x$vim_cv_toupper_broken" = "xyes" ; then | |
2845 AC_DEFINE(BROKEN_TOUPPER) | |
2846 fi | |
7 | 2847 |
2848 AC_MSG_CHECKING(whether __DATE__ and __TIME__ work) | |
1621 | 2849 AC_TRY_COMPILE([#include <stdio.h>], [printf("(" __DATE__ " " __TIME__ ")");], |
7 | 2850 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_DATE_TIME), |
2851 AC_MSG_RESULT(no)) | |
2852 | |
1876 | 2853 AC_MSG_CHECKING(whether __attribute__((unused)) is allowed) |
2854 AC_TRY_COMPILE([#include <stdio.h>], [int x __attribute__((unused));], | |
2855 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ATTRIBUTE_UNUSED), | |
2856 AC_MSG_RESULT(no)) | |
2857 | |
7 | 2858 dnl Checks for header files. |
2859 AC_CHECK_HEADER(elf.h, HAS_ELF=1) | |
2860 dnl AC_CHECK_HEADER(dwarf.h, SVR4=1) | |
2861 if test "$HAS_ELF" = 1; then | |
2862 AC_CHECK_LIB(elf, main) | |
2863 fi | |
2864 | |
2865 AC_HEADER_DIRENT | |
2866 | |
2867 dnl If sys/wait.h is not found it might still exist but not be POSIX | |
2868 dnl compliant. In that case we define HAVE_UNION_WAIT (for NeXT) | |
2869 if test $ac_cv_header_sys_wait_h = no; then | |
2870 AC_MSG_CHECKING([for sys/wait.h that defines union wait]) | |
2871 AC_TRY_COMPILE([#include <sys/wait.h>], | |
2872 [union wait xx, yy; xx = yy], | |
2873 AC_MSG_RESULT(yes) | |
2874 AC_DEFINE(HAVE_SYS_WAIT_H) | |
2875 AC_DEFINE(HAVE_UNION_WAIT), | |
2876 AC_MSG_RESULT(no)) | |
2877 fi | |
2878 | |
2199
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
2879 AC_CHECK_HEADERS(stdarg.h stdint.h stdlib.h string.h \ |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
2880 sys/select.h sys/utsname.h termcap.h fcntl.h \ |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
2881 sgtty.h sys/ioctl.h sys/time.h sys/types.h \ |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
2882 termio.h iconv.h inttypes.h langinfo.h math.h \ |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
2883 unistd.h stropts.h errno.h sys/resource.h \ |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
2884 sys/systeminfo.h locale.h sys/stream.h termios.h \ |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
2885 libc.h sys/statfs.h poll.h sys/poll.h pwd.h \ |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
2886 utime.h sys/param.h libintl.h libgen.h \ |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
2887 util/debug.h util/msg18n.h frame.h sys/acl.h \ |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
2888 sys/access.h sys/sysinfo.h wchar.h wctype.h) |
7 | 2889 |
1649 | 2890 dnl sys/ptem.h depends on sys/stream.h on Solaris |
2891 AC_CHECK_HEADERS(sys/ptem.h, [], [], | |
2892 [#if defined HAVE_SYS_STREAM_H | |
2893 # include <sys/stream.h> | |
2894 #endif]) | |
2895 | |
1886 | 2896 dnl sys/sysctl.h depends on sys/param.h on OpenBSD |
2897 AC_CHECK_HEADERS(sys/sysctl.h, [], [], | |
2898 [#if defined HAVE_SYS_PARAM_H | |
2899 # include <sys/param.h> | |
2900 #endif]) | |
2901 | |
1649 | 2902 |
132 | 2903 dnl pthread_np.h may exist but can only be used after including pthread.h |
2904 AC_MSG_CHECKING([for pthread_np.h]) | |
2905 AC_TRY_COMPILE([ | |
2906 #include <pthread.h> | |
2907 #include <pthread_np.h>], | |
2908 [int i; i = 0;], | |
2909 AC_MSG_RESULT(yes) | |
2910 AC_DEFINE(HAVE_PTHREAD_NP_H), | |
2911 AC_MSG_RESULT(no)) | |
2912 | |
502 | 2913 AC_CHECK_HEADERS(strings.h) |
574 | 2914 if test "x$MACOSX" = "xyes"; then |
2915 dnl The strings.h file on OS/X contains a warning and nothing useful. | |
2916 AC_DEFINE(NO_STRINGS_WITH_STRING_H) | |
2917 else | |
7 | 2918 |
2919 dnl Check if strings.h and string.h can both be included when defined. | |
2920 AC_MSG_CHECKING([if strings.h can be included after string.h]) | |
2921 cppflags_save=$CPPFLAGS | |
2922 CPPFLAGS="$CPPFLAGS $X_CFLAGS" | |
2923 AC_TRY_COMPILE([ | |
2924 #if defined(_AIX) && !defined(_AIX51) && !defined(_NO_PROTO) | |
2925 # define _NO_PROTO /* like in os_unix.h, causes conflict for AIX (Winn) */ | |
2926 /* but don't do it on AIX 5.1 (Uribarri) */ | |
2927 #endif | |
2928 #ifdef HAVE_XM_XM_H | |
2929 # include <Xm/Xm.h> /* This breaks it for HP-UX 11 (Squassabia) */ | |
2930 #endif | |
2931 #ifdef HAVE_STRING_H | |
2932 # include <string.h> | |
2933 #endif | |
2934 #if defined(HAVE_STRINGS_H) | |
2935 # include <strings.h> | |
2936 #endif | |
2937 ], [int i; i = 0;], | |
2938 AC_MSG_RESULT(yes), | |
2939 AC_DEFINE(NO_STRINGS_WITH_STRING_H) | |
2940 AC_MSG_RESULT(no)) | |
2941 CPPFLAGS=$cppflags_save | |
574 | 2942 fi |
7 | 2943 |
2944 dnl Checks for typedefs, structures, and compiler characteristics. | |
2945 AC_PROG_GCC_TRADITIONAL | |
2946 AC_C_CONST | |
1832 | 2947 AC_C_VOLATILE |
7 | 2948 AC_TYPE_MODE_T |
2949 AC_TYPE_OFF_T | |
2950 AC_TYPE_PID_T | |
2951 AC_TYPE_SIZE_T | |
2952 AC_TYPE_UID_T | |
2184
5028c4d6d825
Fixed encryption big/little endian test.
Bram Moolenaar <bram@vim.org>
parents:
2131
diff
changeset
|
2953 AC_TYPE_UINT32_T |
2199
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
2954 |
7 | 2955 AC_HEADER_TIME |
2956 AC_CHECK_TYPE(ino_t, long) | |
2957 AC_CHECK_TYPE(dev_t, unsigned) | |
2184
5028c4d6d825
Fixed encryption big/little endian test.
Bram Moolenaar <bram@vim.org>
parents:
2131
diff
changeset
|
2958 AC_C_BIGENDIAN(,,,) |
7 | 2959 |
2960 AC_MSG_CHECKING(for rlim_t) | |
2961 if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then | |
2962 AC_MSG_RESULT([(cached) $ac_cv_type_rlim_t]) | |
2963 else | |
2964 AC_EGREP_CPP(dnl | |
2965 changequote(<<,>>)dnl | |
2966 <<(^|[^a-zA-Z_0-9])rlim_t[^a-zA-Z_0-9]>>dnl | |
2967 changequote([,]), | |
2968 [ | |
2969 #include <sys/types.h> | |
2970 #if STDC_HEADERS | |
1621 | 2971 # include <stdlib.h> |
2972 # include <stddef.h> | |
7 | 2973 #endif |
2974 #ifdef HAVE_SYS_RESOURCE_H | |
1621 | 2975 # include <sys/resource.h> |
7 | 2976 #endif |
2977 ], ac_cv_type_rlim_t=yes, ac_cv_type_rlim_t=no) | |
2978 AC_MSG_RESULT($ac_cv_type_rlim_t) | |
2979 fi | |
2980 if test $ac_cv_type_rlim_t = no; then | |
2981 cat >> confdefs.h <<\EOF | |
2982 #define rlim_t unsigned long | |
2983 EOF | |
2984 fi | |
2985 | |
2986 AC_MSG_CHECKING(for stack_t) | |
2987 if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then | |
2988 AC_MSG_RESULT([(cached) $ac_cv_type_stack_t]) | |
2989 else | |
2990 AC_EGREP_CPP(stack_t, | |
2991 [ | |
2992 #include <sys/types.h> | |
2993 #if STDC_HEADERS | |
1621 | 2994 # include <stdlib.h> |
2995 # include <stddef.h> | |
7 | 2996 #endif |
2997 #include <signal.h> | |
2998 ], ac_cv_type_stack_t=yes, ac_cv_type_stack_t=no) | |
2999 AC_MSG_RESULT($ac_cv_type_stack_t) | |
3000 fi | |
3001 if test $ac_cv_type_stack_t = no; then | |
3002 cat >> confdefs.h <<\EOF | |
3003 #define stack_t struct sigaltstack | |
3004 EOF | |
3005 fi | |
3006 | |
3007 dnl BSDI uses ss_base while others use ss_sp for the stack pointer. | |
3008 AC_MSG_CHECKING(whether stack_t has an ss_base field) | |
3009 AC_TRY_COMPILE([ | |
3010 #include <sys/types.h> | |
3011 #if STDC_HEADERS | |
1621 | 3012 # include <stdlib.h> |
3013 # include <stddef.h> | |
7 | 3014 #endif |
3015 #include <signal.h> | |
3016 #include "confdefs.h" | |
3017 ], [stack_t sigstk; sigstk.ss_base = 0; ], | |
3018 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SS_BASE), | |
3019 AC_MSG_RESULT(no)) | |
3020 | |
3021 olibs="$LIBS" | |
3022 AC_MSG_CHECKING(--with-tlib argument) | |
3023 AC_ARG_WITH(tlib, [ --with-tlib=library terminal library to be used ],) | |
3024 if test -n "$with_tlib"; then | |
3025 AC_MSG_RESULT($with_tlib) | |
3026 LIBS="$LIBS -l$with_tlib" | |
39 | 3027 AC_MSG_CHECKING(for linking with $with_tlib library) |
3028 AC_TRY_LINK([], [], AC_MSG_RESULT(OK), AC_MSG_ERROR(FAILED)) | |
3029 dnl Need to check for tgetent() below. | |
3030 olibs="$LIBS" | |
7 | 3031 else |
39 | 3032 AC_MSG_RESULT([empty: automatic terminal library selection]) |
7 | 3033 dnl On HP-UX 10.10 termcap or termlib should be used instead of |
3034 dnl curses, because curses is much slower. | |
2700 | 3035 dnl Newer versions of ncurses are preferred over anything, except |
2797 | 3036 dnl when tinfo has been split off, it contains all we need. |
7 | 3037 dnl Older versions of ncurses have bugs, get a new one! |
3038 dnl Digital Unix (OSF1) should use curses (Ronald Schild). | |
997 | 3039 dnl On SCO Openserver should prefer termlib (Roger Cornelius). |
7 | 3040 case "`uname -s 2>/dev/null`" in |
2700 | 3041 OSF1|SCO_SV) tlibs="tinfo ncurses curses termlib termcap";; |
3042 *) tlibs="tinfo ncurses termlib termcap curses";; | |
7 | 3043 esac |
3044 for libname in $tlibs; do | |
3045 AC_CHECK_LIB(${libname}, tgetent,,) | |
3046 if test "x$olibs" != "x$LIBS"; then | |
3047 dnl It's possible that a library is found but it doesn't work | |
3048 dnl e.g., shared library that cannot be found | |
3049 dnl compile and run a test program to be sure | |
3050 AC_TRY_RUN([ | |
3051 #ifdef HAVE_TERMCAP_H | |
3052 # include <termcap.h> | |
3053 #endif | |
1621 | 3054 #if STDC_HEADERS |
3055 # include <stdlib.h> | |
3056 # include <stddef.h> | |
3057 #endif | |
7 | 3058 main() {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(0); }], |
3059 res="OK", res="FAIL", res="FAIL") | |
3060 if test "$res" = "OK"; then | |
3061 break | |
3062 fi | |
3063 AC_MSG_RESULT($libname library is not usable) | |
3064 LIBS="$olibs" | |
3065 fi | |
3066 done | |
39 | 3067 if test "x$olibs" = "x$LIBS"; then |
3068 AC_MSG_RESULT(no terminal library found) | |
3069 fi | |
7 | 3070 fi |
39 | 3071 |
3072 if test "x$olibs" = "x$LIBS"; then | |
3073 AC_MSG_CHECKING([for tgetent()]) | |
282 | 3074 AC_TRY_LINK([], |
39 | 3075 [char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist");], |
3076 AC_MSG_RESULT(yes), | |
3077 AC_MSG_ERROR([NOT FOUND! | |
3078 You need to install a terminal library; for example ncurses. | |
3079 Or specify the name of the library with --with-tlib.])) | |
3080 fi | |
3081 | |
1621 | 3082 AC_CACHE_CHECK([whether we talk terminfo], [vim_cv_terminfo], |
3083 [ | |
5757 | 3084 AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
1621 | 3085 #include "confdefs.h" |
7 | 3086 #ifdef HAVE_TERMCAP_H |
3087 # include <termcap.h> | |
3088 #endif | |
1621 | 3089 #ifdef HAVE_STRING_H |
3090 # include <string.h> | |
3091 #endif | |
3092 #if STDC_HEADERS | |
3093 # include <stdlib.h> | |
3094 # include <stddef.h> | |
3095 #endif | |
7 | 3096 main() |
1621 | 3097 {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); } |
5757 | 3098 ]])],[ |
1621 | 3099 vim_cv_terminfo=no |
3100 ],[ | |
3101 vim_cv_terminfo=yes | |
3102 ],[ | |
3103 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_terminfo') | |
3104 ]) | |
3105 ]) | |
3106 | |
3107 if test "x$vim_cv_terminfo" = "xyes" ; then | |
3108 AC_DEFINE(TERMINFO) | |
3109 fi | |
7 | 3110 |
3111 if test "x$olibs" != "x$LIBS"; then | |
1621 | 3112 AC_CACHE_CHECK([what tgetent() returns for an unknown terminal], [vim_cv_tgent], |
3113 [ | |
5757 | 3114 AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
1621 | 3115 #include "confdefs.h" |
7 | 3116 #ifdef HAVE_TERMCAP_H |
3117 # include <termcap.h> | |
3118 #endif | |
1621 | 3119 #if STDC_HEADERS |
3120 # include <stdlib.h> | |
3121 # include <stddef.h> | |
3122 #endif | |
7 | 3123 main() |
1621 | 3124 {char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); } |
5757 | 3125 ]])],[ |
1621 | 3126 vim_cv_tgent=zero |
3127 ],[ | |
3128 vim_cv_tgent=non-zero | |
3129 ],[ | |
3130 AC_MSG_ERROR(failed to compile test program.) | |
3131 ]) | |
3132 ]) | |
3133 | |
3134 if test "x$vim_cv_tgent" = "xzero" ; then | |
3135 AC_DEFINE(TGETENT_ZERO_ERR, 0) | |
3136 fi | |
7 | 3137 fi |
3138 | |
3139 AC_MSG_CHECKING(whether termcap.h contains ospeed) | |
3140 AC_TRY_LINK([ | |
3141 #ifdef HAVE_TERMCAP_H | |
3142 # include <termcap.h> | |
3143 #endif | |
3144 ], [ospeed = 20000], | |
3145 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_OSPEED), | |
3146 [AC_MSG_RESULT(no) | |
3147 AC_MSG_CHECKING(whether ospeed can be extern) | |
3148 AC_TRY_LINK([ | |
3149 #ifdef HAVE_TERMCAP_H | |
3150 # include <termcap.h> | |
3151 #endif | |
3152 extern short ospeed; | |
3153 ], [ospeed = 20000], | |
3154 AC_MSG_RESULT(yes); AC_DEFINE(OSPEED_EXTERN), | |
3155 AC_MSG_RESULT(no))] | |
3156 ) | |
3157 | |
3158 AC_MSG_CHECKING([whether termcap.h contains UP, BC and PC]) | |
3159 AC_TRY_LINK([ | |
3160 #ifdef HAVE_TERMCAP_H | |
3161 # include <termcap.h> | |
3162 #endif | |
3163 ], [if (UP == 0 && BC == 0) PC = 1], | |
3164 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_UP_BC_PC), | |
3165 [AC_MSG_RESULT(no) | |
3166 AC_MSG_CHECKING([whether UP, BC and PC can be extern]) | |
3167 AC_TRY_LINK([ | |
3168 #ifdef HAVE_TERMCAP_H | |
3169 # include <termcap.h> | |
3170 #endif | |
3171 extern char *UP, *BC, PC; | |
3172 ], [if (UP == 0 && BC == 0) PC = 1], | |
3173 AC_MSG_RESULT(yes); AC_DEFINE(UP_BC_PC_EXTERN), | |
3174 AC_MSG_RESULT(no))] | |
3175 ) | |
3176 | |
3177 AC_MSG_CHECKING(whether tputs() uses outfuntype) | |
3178 AC_TRY_COMPILE([ | |
3179 #ifdef HAVE_TERMCAP_H | |
3180 # include <termcap.h> | |
3181 #endif | |
3182 ], [extern int xx(); tputs("test", 1, (outfuntype)xx)], | |
3183 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_OUTFUNTYPE), | |
3184 AC_MSG_RESULT(no)) | |
3185 | |
3186 dnl On some SCO machines sys/select redefines struct timeval | |
3187 AC_MSG_CHECKING([whether sys/select.h and sys/time.h may both be included]) | |
3188 AC_TRY_COMPILE([ | |
3189 #include <sys/types.h> | |
3190 #include <sys/time.h> | |
3191 #include <sys/select.h>], , | |
3192 AC_MSG_RESULT(yes) | |
3193 AC_DEFINE(SYS_SELECT_WITH_SYS_TIME), | |
3194 AC_MSG_RESULT(no)) | |
3195 | |
3196 dnl AC_DECL_SYS_SIGLIST | |
3197 | |
3198 dnl Checks for pty.c (copied from screen) ========================== | |
3199 AC_MSG_CHECKING(for /dev/ptc) | |
3200 if test -r /dev/ptc; then | |
3201 AC_DEFINE(HAVE_DEV_PTC) | |
3202 AC_MSG_RESULT(yes) | |
3203 else | |
3204 AC_MSG_RESULT(no) | |
3205 fi | |
3206 | |
3207 AC_MSG_CHECKING(for SVR4 ptys) | |
3208 if test -c /dev/ptmx ; then | |
3209 AC_TRY_LINK([], [ptsname(0);grantpt(0);unlockpt(0);], | |
3210 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SVR4_PTYS), | |
3211 AC_MSG_RESULT(no)) | |
3212 else | |
3213 AC_MSG_RESULT(no) | |
3214 fi | |
3215 | |
3216 AC_MSG_CHECKING(for ptyranges) | |
3217 if test -d /dev/ptym ; then | |
3218 pdir='/dev/ptym' | |
3219 else | |
3220 pdir='/dev' | |
3221 fi | |
3222 dnl SCO uses ptyp%d | |
3223 AC_EGREP_CPP(yes, | |
3224 [#ifdef M_UNIX | |
3225 yes; | |
3226 #endif | |
3227 ], ptys=`echo /dev/ptyp??`, ptys=`echo $pdir/pty??`) | |
3228 dnl if test -c /dev/ptyp19; then | |
3229 dnl ptys=`echo /dev/ptyp??` | |
3230 dnl else | |
3231 dnl ptys=`echo $pdir/pty??` | |
3232 dnl fi | |
3233 if test "$ptys" != "$pdir/pty??" ; then | |
3234 p0=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'` | |
3235 p1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'` | |
3236 AC_DEFINE_UNQUOTED(PTYRANGE0,"$p0") | |
3237 AC_DEFINE_UNQUOTED(PTYRANGE1,"$p1") | |
3238 AC_MSG_RESULT([$p0 / $p1]) | |
3239 else | |
3240 AC_MSG_RESULT([don't know]) | |
3241 fi | |
3242 | |
3243 dnl **** pty mode/group handling **** | |
3244 dnl | |
3245 dnl support provided by Luke Mewburn <lm@rmit.edu.au>, 931222 | |
3246 rm -f conftest_grp | |
1621 | 3247 AC_CACHE_CHECK([default tty permissions/group], [vim_cv_tty_group], |
3248 [ | |
5757 | 3249 AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
1621 | 3250 #include "confdefs.h" |
7 | 3251 #include <sys/types.h> |
1621 | 3252 #if STDC_HEADERS |
3253 # include <stdlib.h> | |
3254 # include <stddef.h> | |
3255 #endif | |
3256 #ifdef HAVE_UNISTD_H | |
3257 #include <unistd.h> | |
3258 #endif | |
7 | 3259 #include <sys/stat.h> |
3260 #include <stdio.h> | |
3261 main() | |
3262 { | |
3263 struct stat sb; | |
3264 char *x,*ttyname(); | |
3265 int om, m; | |
3266 FILE *fp; | |
3267 | |
3268 if (!(x = ttyname(0))) exit(1); | |
3269 if (stat(x, &sb)) exit(1); | |
3270 om = sb.st_mode; | |
3271 if (om & 002) exit(0); | |
3272 m = system("mesg y"); | |
3273 if (m == -1 || m == 127) exit(1); | |
3274 if (stat(x, &sb)) exit(1); | |
3275 m = sb.st_mode; | |
3276 if (chmod(x, om)) exit(1); | |
3277 if (m & 002) exit(0); | |
3278 if (sb.st_gid == getgid()) exit(1); | |
3279 if (!(fp=fopen("conftest_grp", "w"))) | |
3280 exit(1); | |
3281 fprintf(fp, "%d\n", sb.st_gid); | |
3282 fclose(fp); | |
3283 exit(0); | |
3284 } | |
5757 | 3285 ]])],[ |
1621 | 3286 if test -f conftest_grp; then |
3287 vim_cv_tty_group=`cat conftest_grp` | |
3288 if test "x$vim_cv_tty_mode" = "x" ; then | |
3289 vim_cv_tty_mode=0620 | |
3290 fi | |
3291 AC_MSG_RESULT([pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group]) | |
3292 else | |
3293 vim_cv_tty_group=world | |
2018 | 3294 AC_MSG_RESULT([ptys are world accessible]) |
1621 | 3295 fi |
3296 ],[ | |
3297 vim_cv_tty_group=world | |
2018 | 3298 AC_MSG_RESULT([can't determine - assume ptys are world accessible]) |
1621 | 3299 ],[ |
3300 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode') | |
3301 ]) | |
3302 ]) | |
7 | 3303 rm -f conftest_grp |
3304 | |
1621 | 3305 if test "x$vim_cv_tty_group" != "xworld" ; then |
3306 AC_DEFINE_UNQUOTED(PTYGROUP,$vim_cv_tty_group) | |
3307 if test "x$vim_cv_tty_mode" = "x" ; then | |
4352 | 3308 AC_MSG_ERROR([It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (probably 0620)]) |
1621 | 3309 else |
3310 AC_DEFINE(PTYMODE, 0620) | |
3311 fi | |
3312 fi | |
3313 | |
7 | 3314 dnl Checks for library functions. =================================== |
3315 | |
3316 AC_TYPE_SIGNAL | |
3317 | |
3318 dnl find out what to use at the end of a signal function | |
3319 if test $ac_cv_type_signal = void; then | |
3320 AC_DEFINE(SIGRETURN, [return]) | |
3321 else | |
3322 AC_DEFINE(SIGRETURN, [return 0]) | |
3323 fi | |
3324 | |
3325 dnl check if struct sigcontext is defined (used for SGI only) | |
3326 AC_MSG_CHECKING(for struct sigcontext) | |
3327 AC_TRY_COMPILE([ | |
3328 #include <signal.h> | |
3329 test_sig() | |
3330 { | |
3331 struct sigcontext *scont; | |
3332 scont = (struct sigcontext *)0; | |
3333 return 1; | |
3334 } ], , | |
3335 AC_MSG_RESULT(yes) | |
3336 AC_DEFINE(HAVE_SIGCONTEXT), | |
3337 AC_MSG_RESULT(no)) | |
3338 | |
3339 dnl tricky stuff: try to find out if getcwd() is implemented with | |
3340 dnl system("sh -c pwd") | |
1621 | 3341 AC_CACHE_CHECK([getcwd implementation is broken], [vim_cv_getcwd_broken], |
3342 [ | |
5757 | 3343 AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
1621 | 3344 #include "confdefs.h" |
3345 #ifdef HAVE_UNISTD_H | |
3346 #include <unistd.h> | |
3347 #endif | |
7 | 3348 char *dagger[] = { "IFS=pwd", 0 }; |
3349 main() | |
3350 { | |
3351 char buffer[500]; | |
3352 extern char **environ; | |
3353 environ = dagger; | |
3354 return getcwd(buffer, 500) ? 0 : 1; | |
1621 | 3355 } |
5757 | 3356 ]])],[ |
1621 | 3357 vim_cv_getcwd_broken=no |
3358 ],[ | |
3359 vim_cv_getcwd_broken=yes | |
3360 ],[ | |
3361 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_getcwd_broken') | |
3362 ]) | |
3363 ]) | |
3364 | |
3365 if test "x$vim_cv_getcwd_broken" = "xyes" ; then | |
3366 AC_DEFINE(BAD_GETCWD) | |
3367 fi | |
7 | 3368 |
2087
3112fcc89238
updated for version 7.2.371
Bram Moolenaar <bram@zimbu.org>
parents:
2077
diff
changeset
|
3369 dnl Check for functions in one big call, to reduce the size of configure. |
3112fcc89238
updated for version 7.2.371
Bram Moolenaar <bram@zimbu.org>
parents:
2077
diff
changeset
|
3370 dnl Can only be used for functions that do not require any include. |
3112fcc89238
updated for version 7.2.371
Bram Moolenaar <bram@zimbu.org>
parents:
2077
diff
changeset
|
3371 AC_CHECK_FUNCS(bcmp fchdir fchown fsync getcwd getpseudotty \ |
3744 | 3372 getpwent getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ |
1997 | 3373 memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ |
7 | 3374 setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ |
273 | 3375 sigvec strcasecmp strerror strftime stricmp strncasecmp \ |
258 | 3376 strnicmp strpbrk strtol tgetent towlower towupper iswupper \ |
3377 usleep utime utimes) | |
2087
3112fcc89238
updated for version 7.2.371
Bram Moolenaar <bram@zimbu.org>
parents:
2077
diff
changeset
|
3378 AC_FUNC_FSEEKO |
7 | 3379 |
2131
8ef9da918a98
updated for version 7.2.413
Bram Moolenaar <bram@zimbu.org>
parents:
2110
diff
changeset
|
3380 dnl define _LARGE_FILES, _FILE_OFFSET_BITS and _LARGEFILE_SOURCE when |
8ef9da918a98
updated for version 7.2.413
Bram Moolenaar <bram@zimbu.org>
parents:
2110
diff
changeset
|
3381 dnl appropriate, so that off_t is 64 bits when needed. |
8ef9da918a98
updated for version 7.2.413
Bram Moolenaar <bram@zimbu.org>
parents:
2110
diff
changeset
|
3382 AC_SYS_LARGEFILE |
8ef9da918a98
updated for version 7.2.413
Bram Moolenaar <bram@zimbu.org>
parents:
2110
diff
changeset
|
3383 |
7 | 3384 dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible |
3385 AC_MSG_CHECKING(for st_blksize) | |
3386 AC_TRY_COMPILE( | |
3387 [#include <sys/types.h> | |
3388 #include <sys/stat.h>], | |
3389 [ struct stat st; | |
3390 int n; | |
3391 | |
3392 stat("/", &st); | |
3393 n = (int)st.st_blksize;], | |
3394 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ST_BLKSIZE), | |
3395 AC_MSG_RESULT(no)) | |
3396 | |
1621 | 3397 AC_CACHE_CHECK([whether stat() ignores a trailing slash], [vim_cv_stat_ignores_slash], |
3398 [ | |
5757 | 3399 AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
1621 | 3400 #include "confdefs.h" |
3401 #if STDC_HEADERS | |
3402 # include <stdlib.h> | |
3403 # include <stddef.h> | |
3404 #endif | |
3405 #include <sys/types.h> | |
7 | 3406 #include <sys/stat.h> |
1621 | 3407 main() {struct stat st; exit(stat("configure/", &st) != 0); } |
5757 | 3408 ]])],[ |
1621 | 3409 vim_cv_stat_ignores_slash=yes |
3410 ],[ | |
3411 vim_cv_stat_ignores_slash=no | |
3412 ],[ | |
3413 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_stat_ignores_slash') | |
3414 ]) | |
3415 ]) | |
7 | 3416 |
1621 | 3417 if test "x$vim_cv_stat_ignores_slash" = "xyes" ; then |
3418 AC_DEFINE(STAT_IGNORES_SLASH) | |
3419 fi | |
3420 | |
7 | 3421 dnl Link with iconv for charset translation, if not found without library. |
3422 dnl check for iconv() requires including iconv.h | |
3423 dnl Add "-liconv" when possible; Solaris has iconv but use GNU iconv when it | |
3424 dnl has been installed. | |
3425 AC_MSG_CHECKING(for iconv_open()) | |
3426 save_LIBS="$LIBS" | |
3427 LIBS="$LIBS -liconv" | |
3428 AC_TRY_LINK([ | |
3429 #ifdef HAVE_ICONV_H | |
3430 # include <iconv.h> | |
3431 #endif | |
3432 ], [iconv_open("fr", "to");], | |
3433 AC_MSG_RESULT(yes; with -liconv); AC_DEFINE(HAVE_ICONV), | |
3434 LIBS="$save_LIBS" | |
3435 AC_TRY_LINK([ | |
3436 #ifdef HAVE_ICONV_H | |
3437 # include <iconv.h> | |
3438 #endif | |
3439 ], [iconv_open("fr", "to");], | |
3440 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ICONV), | |
3441 AC_MSG_RESULT(no))) | |
3442 | |
3443 | |
3444 AC_MSG_CHECKING(for nl_langinfo(CODESET)) | |
3445 AC_TRY_LINK([ | |
3446 #ifdef HAVE_LANGINFO_H | |
3447 # include <langinfo.h> | |
3448 #endif | |
3449 ], [char *cs = nl_langinfo(CODESET);], | |
3450 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_NL_LANGINFO_CODESET), | |
3451 AC_MSG_RESULT(no)) | |
3452 | |
1621 | 3453 dnl Need various functions for floating point support. Only enable |
3454 dnl floating point when they are all present. | |
3455 AC_CHECK_LIB(m, strtod) | |
3456 AC_MSG_CHECKING([for strtod() and other floating point functions]) | |
3457 AC_TRY_LINK([ | |
3458 #ifdef HAVE_MATH_H | |
3459 # include <math.h> | |
3460 #endif | |
3461 #if STDC_HEADERS | |
3462 # include <stdlib.h> | |
3463 # include <stddef.h> | |
3464 #endif | |
3465 ], [char *s; double d; | |
3466 d = strtod("1.1", &s); | |
3467 d = fabs(1.11); | |
3468 d = ceil(1.11); | |
3469 d = floor(1.11); | |
3470 d = log10(1.11); | |
3471 d = pow(1.11, 2.22); | |
3472 d = sqrt(1.11); | |
3473 d = sin(1.11); | |
3474 d = cos(1.11); | |
3475 d = atan(1.11); | |
3476 ], | |
3477 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FLOAT_FUNCS), | |
3478 AC_MSG_RESULT(no)) | |
3479 | |
7 | 3480 dnl Link with -lposix1e for ACL stuff; if not found, try -lacl for SGI |
3481 dnl when -lacl works, also try to use -lattr (required for Debian). | |
3330 | 3482 dnl On Solaris, use the acl_get/set functions in libsec, if present. |
7 | 3483 AC_MSG_CHECKING(--disable-acl argument) |
3484 AC_ARG_ENABLE(acl, | |
3485 [ --disable-acl Don't check for ACL support.], | |
3486 , [enable_acl="yes"]) | |
3487 if test "$enable_acl" = "yes"; then | |
3488 AC_MSG_RESULT(no) | |
3489 AC_CHECK_LIB(posix1e, acl_get_file, [LIBS="$LIBS -lposix1e"], | |
3490 AC_CHECK_LIB(acl, acl_get_file, [LIBS="$LIBS -lacl" | |
3491 AC_CHECK_LIB(attr, fgetxattr, LIBS="$LIBS -lattr",,)],,),) | |
3492 | |
3493 AC_MSG_CHECKING(for POSIX ACL support) | |
3494 AC_TRY_LINK([ | |
3495 #include <sys/types.h> | |
3496 #ifdef HAVE_SYS_ACL_H | |
3497 # include <sys/acl.h> | |
3498 #endif | |
3499 acl_t acl;], [acl = acl_get_file("foo", ACL_TYPE_ACCESS); | |
3500 acl_set_file("foo", ACL_TYPE_ACCESS, acl); | |
3501 acl_free(acl);], | |
3502 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_POSIX_ACL), | |
3503 AC_MSG_RESULT(no)) | |
3504 | |
3330 | 3505 AC_CHECK_LIB(sec, acl_get, [LIBS="$LIBS -lsec"; AC_DEFINE(HAVE_SOLARIS_ZFS_ACL)], |
7 | 3506 AC_MSG_CHECKING(for Solaris ACL support) |
3507 AC_TRY_LINK([ | |
3508 #ifdef HAVE_SYS_ACL_H | |
3509 # include <sys/acl.h> | |
3510 #endif], [acl("foo", GETACLCNT, 0, NULL); | |
3511 ], | |
3512 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOLARIS_ACL), | |
3330 | 3513 AC_MSG_RESULT(no))) |
7 | 3514 |
3515 AC_MSG_CHECKING(for AIX ACL support) | |
3516 AC_TRY_LINK([ | |
1621 | 3517 #if STDC_HEADERS |
3518 # include <stdlib.h> | |
3519 # include <stddef.h> | |
3520 #endif | |
7 | 3521 #ifdef HAVE_SYS_ACL_H |
3522 # include <sys/acl.h> | |
3523 #endif | |
3524 #ifdef HAVE_SYS_ACCESS_H | |
3525 # include <sys/access.h> | |
3526 #endif | |
3527 #define _ALL_SOURCE | |
3528 | |
3529 #include <sys/stat.h> | |
3530 | |
3531 int aclsize; | |
3532 struct acl *aclent;], [aclsize = sizeof(struct acl); | |
3533 aclent = (void *)malloc(aclsize); | |
3534 statacl("foo", STX_NORMAL, aclent, aclsize); | |
3535 ], | |
3536 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_AIX_ACL), | |
3537 AC_MSG_RESULT(no)) | |
3538 else | |
3539 AC_MSG_RESULT(yes) | |
3540 fi | |
3541 | |
7098
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3542 if test "x$GTK_CFLAGS" != "x"; then |
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3543 dnl pango_shape_full() is new, fall back to pango_shape(). |
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3544 AC_MSG_CHECKING(for pango_shape_full) |
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3545 ac_save_CFLAGS="$CFLAGS" |
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3546 ac_save_LIBS="$LIBS" |
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3547 CFLAGS="$CFLAGS $GTK_CFLAGS" |
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3548 LIBS="$LIBS $GTK_LIBS" |
7101
793ca14b5654
commit https://github.com/vim/vim/commit/5325b9bbae8a717510ef7248f3ce8b50281bd33f
Christian Brabandt <cb@256bit.org>
parents:
7098
diff
changeset
|
3549 AC_TRY_LINK( |
7098
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3550 [#include <gtk/gtk.h>], |
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3551 [ pango_shape_full(NULL, 0, NULL, 0, NULL, NULL); ], |
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3552 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_PANGO_SHAPE_FULL), |
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3553 AC_MSG_RESULT(no)) |
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3554 CFLAGS="$ac_save_CFLAGS" |
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3555 LIBS="$ac_save_LIBS" |
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3556 fi |
70b56e5eccb2
commit https://github.com/vim/vim/commit/3cbe0c01ad71875bd662edb629f9e792a734f292
Christian Brabandt <cb@256bit.org>
parents:
6860
diff
changeset
|
3557 |
7 | 3558 AC_MSG_CHECKING(--disable-gpm argument) |
3559 AC_ARG_ENABLE(gpm, | |
3560 [ --disable-gpm Don't use gpm (Linux mouse daemon).], , | |
3561 [enable_gpm="yes"]) | |
3562 | |
3563 if test "$enable_gpm" = "yes"; then | |
3564 AC_MSG_RESULT(no) | |
3565 dnl Checking if gpm support can be compiled | |
3566 AC_CACHE_CHECK([for gpm], vi_cv_have_gpm, | |
3567 [olibs="$LIBS" ; LIBS="-lgpm"] | |
3568 AC_TRY_LINK( | |
3569 [#include <gpm.h> | |
3570 #include <linux/keyboard.h>], | |
3571 [Gpm_GetLibVersion(NULL);], | |
3572 dnl Configure defines HAVE_GPM, if it is defined feature.h defines | |
3573 dnl FEAT_MOUSE_GPM if mouse support is included | |
3574 [vi_cv_have_gpm=yes], | |
3575 [vi_cv_have_gpm=no]) | |
3576 [LIBS="$olibs"] | |
3577 ) | |
3578 if test $vi_cv_have_gpm = yes; then | |
3579 LIBS="$LIBS -lgpm" | |
3580 AC_DEFINE(HAVE_GPM) | |
3581 fi | |
3582 else | |
3583 AC_MSG_RESULT(yes) | |
3584 fi | |
3585 | |
1621 | 3586 AC_MSG_CHECKING(--disable-sysmouse argument) |
3587 AC_ARG_ENABLE(sysmouse, | |
3588 [ --disable-sysmouse Don't use sysmouse (mouse in *BSD console).], , | |
3589 [enable_sysmouse="yes"]) | |
3590 | |
3591 if test "$enable_sysmouse" = "yes"; then | |
3592 AC_MSG_RESULT(no) | |
3593 dnl Checking if sysmouse support can be compiled | |
3594 dnl Configure defines HAVE_SYSMOUSE, if it is defined feature.h | |
3595 dnl defines FEAT_SYSMOUSE if mouse support is included | |
3596 AC_CACHE_CHECK([for sysmouse], vi_cv_have_sysmouse, | |
3597 AC_TRY_LINK( | |
3598 [#include <sys/consio.h> | |
3599 #include <signal.h> | |
3600 #include <sys/fbio.h>], | |
3601 [struct mouse_info mouse; | |
3602 mouse.operation = MOUSE_MODE; | |
3603 mouse.operation = MOUSE_SHOW; | |
3604 mouse.u.mode.mode = 0; | |
3605 mouse.u.mode.signal = SIGUSR2;], | |
3606 [vi_cv_have_sysmouse=yes], | |
3607 [vi_cv_have_sysmouse=no]) | |
3608 ) | |
3609 if test $vi_cv_have_sysmouse = yes; then | |
3610 AC_DEFINE(HAVE_SYSMOUSE) | |
3611 fi | |
3612 else | |
3613 AC_MSG_RESULT(yes) | |
3614 fi | |
3615 | |
2003 | 3616 dnl make sure the FD_CLOEXEC flag for fcntl()'s F_SETFD command is known |
3617 AC_MSG_CHECKING(for FD_CLOEXEC) | |
3618 AC_TRY_COMPILE( | |
3619 [#if HAVE_FCNTL_H | |
3620 # include <fcntl.h> | |
3621 #endif], | |
3622 [ int flag = FD_CLOEXEC;], | |
3623 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FD_CLOEXEC), | |
3624 AC_MSG_RESULT(not usable)) | |
3625 | |
7 | 3626 dnl rename needs to be checked separately to work on Nextstep with cc |
3627 AC_MSG_CHECKING(for rename) | |
3628 AC_TRY_LINK([#include <stdio.h>], [rename("this", "that")], | |
3629 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_RENAME), | |
3630 AC_MSG_RESULT(no)) | |
3631 | |
3632 dnl sysctl() may exist but not the arguments we use | |
3633 AC_MSG_CHECKING(for sysctl) | |
3634 AC_TRY_COMPILE( | |
3635 [#include <sys/types.h> | |
3636 #include <sys/sysctl.h>], | |
3637 [ int mib[2], r; | |
3638 size_t len; | |
3639 | |
3640 mib[0] = CTL_HW; | |
3641 mib[1] = HW_USERMEM; | |
3642 len = sizeof(r); | |
3643 (void)sysctl(mib, 2, &r, &len, (void *)0, (size_t)0); | |
3644 ], | |
3645 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSCTL), | |
3646 AC_MSG_RESULT(not usable)) | |
3647 | |
3648 dnl sysinfo() may exist but not be Linux compatible | |
3649 AC_MSG_CHECKING(for sysinfo) | |
3650 AC_TRY_COMPILE( | |
3651 [#include <sys/types.h> | |
3652 #include <sys/sysinfo.h>], | |
3653 [ struct sysinfo sinfo; | |
3654 int t; | |
3655 | |
3656 (void)sysinfo(&sinfo); | |
3657 t = sinfo.totalram; | |
3658 ], | |
3659 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSINFO), | |
3660 AC_MSG_RESULT(not usable)) | |
3661 | |
1110 | 3662 dnl struct sysinfo may have the mem_unit field or not |
3663 AC_MSG_CHECKING(for sysinfo.mem_unit) | |
3664 AC_TRY_COMPILE( | |
3665 [#include <sys/types.h> | |
3666 #include <sys/sysinfo.h>], | |
3667 [ struct sysinfo sinfo; | |
4841
81dedcd64821
updated for version 7.3.1167
Bram Moolenaar <bram@vim.org>
parents:
4833
diff
changeset
|
3668 sinfo.mem_unit = 1; |
1110 | 3669 ], |
3670 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSINFO_MEM_UNIT), | |
3671 AC_MSG_RESULT(no)) | |
3672 | |
7 | 3673 dnl sysconf() may exist but not support what we want to use |
3674 AC_MSG_CHECKING(for sysconf) | |
3675 AC_TRY_COMPILE( | |
3676 [#include <unistd.h>], | |
3677 [ (void)sysconf(_SC_PAGESIZE); | |
3678 (void)sysconf(_SC_PHYS_PAGES); | |
3679 ], | |
3680 AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSCONF), | |
3681 AC_MSG_RESULT(not usable)) | |
3682 | |
2241
60da25e3aab7
Correct use of long instead of off_t for file size. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2232
diff
changeset
|
3683 AC_CHECK_SIZEOF([int]) |
60da25e3aab7
Correct use of long instead of off_t for file size. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2232
diff
changeset
|
3684 AC_CHECK_SIZEOF([long]) |
60da25e3aab7
Correct use of long instead of off_t for file size. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2232
diff
changeset
|
3685 AC_CHECK_SIZEOF([time_t]) |
60da25e3aab7
Correct use of long instead of off_t for file size. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2232
diff
changeset
|
3686 AC_CHECK_SIZEOF([off_t]) |
2232
2e6906bbc5f4
A few more fixes for undo file. Split test in two parts so that it doesn't
Bram Moolenaar <bram@vim.org>
parents:
2200
diff
changeset
|
3687 |
5684 | 3688 dnl Use different names to avoid clashing with other header files. |
3689 AC_DEFINE_UNQUOTED(VIM_SIZEOF_INT, [$ac_cv_sizeof_int]) | |
3690 AC_DEFINE_UNQUOTED(VIM_SIZEOF_LONG, [$ac_cv_sizeof_long]) | |
3691 | |
2199
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3692 dnl Make sure that uint32_t is really 32 bits unsigned. |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3693 AC_MSG_CHECKING([uint32_t is 32 bits]) |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3694 AC_TRY_RUN([ |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3695 #ifdef HAVE_STDINT_H |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3696 # include <stdint.h> |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3697 #endif |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3698 #ifdef HAVE_INTTYPES_H |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3699 # include <inttypes.h> |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3700 #endif |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3701 main() { |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3702 uint32_t nr1 = (uint32_t)-1; |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3703 uint32_t nr2 = (uint32_t)0xffffffffUL; |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3704 if (sizeof(uint32_t) != 4 || nr1 != 0xffffffffUL || nr2 + 1 != 0) exit(1); |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3705 exit(0); |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3706 }], |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3707 AC_MSG_RESULT(ok), |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3708 AC_MSG_ERROR([WRONG! uint32_t not defined correctly.]), |
3216 | 3709 AC_MSG_WARN([cannot check uint32_t when cross-compiling.])) |
2199
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2184
diff
changeset
|
3710 |
1621 | 3711 dnl Check for memmove() before bcopy(), makes memmove() be used when both are |
3712 dnl present, fixes problem with incompatibility between Solaris 2.4 and 2.5. | |
3713 | |
7 | 3714 [bcopy_test_prog=' |
1621 | 3715 #include "confdefs.h" |
3716 #ifdef HAVE_STRING_H | |
3717 # include <string.h> | |
3718 #endif | |
3719 #if STDC_HEADERS | |
3720 # include <stdlib.h> | |
3721 # include <stddef.h> | |
3722 #endif | |
7 | 3723 main() { |
3724 char buf[10]; | |
3725 strcpy(buf, "abcdefghi"); | |
3726 mch_memmove(buf, buf + 2, 3); | |
3727 if (strncmp(buf, "ababcf", 6)) | |
3728 exit(1); | |
3729 strcpy(buf, "abcdefghi"); | |
3730 mch_memmove(buf + 2, buf, 3); | |
3731 if (strncmp(buf, "cdedef", 6)) | |
3732 exit(1); | |
3733 exit(0); /* libc version works properly. */ | |
3734 }'] | |
3735 | |
1621 | 3736 AC_CACHE_CHECK([whether memmove handles overlaps],[vim_cv_memmove_handles_overlap], |
3737 [ | |
5757 | 3738 AC_RUN_IFELSE([AC_LANG_SOURCE([[#define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog]])], |
1621 | 3739 [ |
3740 vim_cv_memmove_handles_overlap=yes | |
3741 ],[ | |
3742 vim_cv_memmove_handles_overlap=no | |
3743 ],[ | |
3744 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_memmove_handles_overlap') | |
3745 ]) | |
3746 ]) | |
7 | 3747 |
1621 | 3748 if test "x$vim_cv_memmove_handles_overlap" = "xyes" ; then |
3749 AC_DEFINE(USEMEMMOVE) | |
3750 else | |
3751 AC_CACHE_CHECK([whether bcopy handles overlaps],[vim_cv_bcopy_handles_overlap], | |
3752 [ | |
5757 | 3753 AC_RUN_IFELSE([AC_LANG_SOURCE([[#define mch_bcopy(s,d,l) bcopy(d,s,l) $bcopy_test_prog]])], |
1621 | 3754 [ |
3755 vim_cv_bcopy_handles_overlap=yes | |
3756 ],[ | |
3757 vim_cv_bcopy_handles_overlap=no | |
3758 ],[ | |
3759 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_bcopy_handles_overlap') | |
3760 ]) | |
3761 ]) | |
3762 | |
3763 if test "x$vim_cv_bcopy_handles_overlap" = "xyes" ; then | |
3764 AC_DEFINE(USEBCOPY) | |
3765 else | |
3766 AC_CACHE_CHECK([whether memcpy handles overlaps],[vim_cv_memcpy_handles_overlap], | |
3767 [ | |
5757 | 3768 AC_RUN_IFELSE([AC_LANG_SOURCE([[#define mch_memcpy(s,d,l) memcpy(d,s,l) $bcopy_test_prog]])], |
1621 | 3769 [ |
3770 vim_cv_memcpy_handles_overlap=yes | |
3771 ],[ | |
3772 vim_cv_memcpy_handles_overlap=no | |
3773 ],[ | |
3774 AC_MSG_ERROR(cross-compiling: please set 'vim_cv_memcpy_handles_overlap') | |
3775 ]) | |
3776 ]) | |
3777 | |
3778 if test "x$vim_cv_memcpy_handles_overlap" = "xyes" ; then | |
3779 AC_DEFINE(USEMEMCPY) | |
3780 fi | |
3781 fi | |
3782 fi | |
3783 | |
7 | 3784 |
3785 dnl Check for multibyte locale functions | |
3786 dnl Find out if _Xsetlocale() is supported by libX11. | |
3787 dnl Check if X_LOCALE should be defined. | |
6282 | 3788 if test "x$with_x" = "xyes"; then |
7 | 3789 cflags_save=$CFLAGS |
6282 | 3790 libs_save=$LIBS |
3791 LIBS="$LIBS $X_LIBS $GUI_LIB_LOC $GUI_X_LIBS $X_PRE_LIBS $X_LIB $X_EXTRA_LIBS" | |
3792 CFLAGS="$CFLAGS $X_CFLAGS" | |
3793 | |
3794 AC_MSG_CHECKING(whether X_LOCALE needed) | |
3795 AC_TRY_COMPILE([#include <X11/Xlocale.h>],, | |
3796 AC_TRY_LINK_FUNC([_Xsetlocale], [AC_MSG_RESULT(yes) | |
3797 AC_DEFINE(X_LOCALE)], AC_MSG_RESULT(no)), | |
3798 AC_MSG_RESULT(no)) | |
3799 | |
3800 AC_MSG_CHECKING(whether Xutf8SetWMProperties() can be used) | |
3801 AC_TRY_LINK_FUNC([Xutf8SetWMProperties], [AC_MSG_RESULT(yes) | |
3802 AC_DEFINE(HAVE_XUTF8SETWMPROPERTIES)], AC_MSG_RESULT(no)) | |
3803 | |
7 | 3804 CFLAGS=$cflags_save |
6282 | 3805 LIBS=$libs_save |
7 | 3806 fi |
3807 | |
3808 dnl Link with xpg4, it is said to make Korean locale working | |
3809 AC_CHECK_LIB(xpg4, _xpg4_setrunelocale, [LIBS="$LIBS -lxpg4"],,) | |
3810 | |
1871 | 3811 dnl Check how we can run ctags. Default to "ctags" when nothing works. |
2797 | 3812 dnl Use --version to detect Exuberant ctags (preferred) |
834 | 3813 dnl Add --fields=+S to get function signatures for omni completion. |
7 | 3814 dnl -t for typedefs (many ctags have this) |
3815 dnl -s for static functions (Elvis ctags only?) | |
3816 dnl -v for variables. Dangerous, most ctags take this for 'vgrind style'. | |
3817 dnl -i+m to test for older Exuberant ctags | |
3818 AC_MSG_CHECKING(how to create tags) | |
3819 test -f tags && mv tags tags.save | |
2815 | 3820 if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then |
3821 TAGPRG="ctags -I INIT+ --fields=+S" | |
3822 elif (eval exctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then | |
2797 | 3823 TAGPRG="exctags -I INIT+ --fields=+S" |
2815 | 3824 elif (eval exuberant-ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then |
3825 TAGPRG="exuberant-ctags -I INIT+ --fields=+S" | |
7 | 3826 else |
1871 | 3827 TAGPRG="ctags" |
7 | 3828 (eval etags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags" |
3829 (eval etags -c /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags -c" | |
3830 (eval ctags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags" | |
3831 (eval ctags -t /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -t" | |
3832 (eval ctags -ts /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -ts" | |
3833 (eval ctags -tvs /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -tvs" | |
3834 (eval ctags -i+m /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -i+m" | |
3835 fi | |
3836 test -f tags.save && mv tags.save tags | |
3837 AC_MSG_RESULT($TAGPRG) AC_SUBST(TAGPRG) | |
3838 | |
3839 dnl Check how we can run man with a section number | |
3840 AC_MSG_CHECKING(how to run man with a section nr) | |
3841 MANDEF="man" | |
1531 | 3842 (eval MANPAGER=cat PAGER=cat man -s 2 read) < /dev/null > /dev/null 2>&AC_FD_CC && MANDEF="man -s" |
7 | 3843 AC_MSG_RESULT($MANDEF) |
3844 if test "$MANDEF" = "man -s"; then | |
3845 AC_DEFINE(USEMAN_S) | |
3846 fi | |
3847 | |
3848 dnl Check if gettext() is working and if it needs -lintl | |
5490 | 3849 dnl We take care to base this on an empty LIBS: on some systems libelf would be |
3850 dnl in LIBS and implicitly take along libintl. The final LIBS would then not | |
3851 dnl contain libintl, and the link step would fail due to -Wl,--as-needed. | |
7 | 3852 AC_MSG_CHECKING(--disable-nls argument) |
3853 AC_ARG_ENABLE(nls, | |
3854 [ --disable-nls Don't support NLS (gettext()).], , | |
3855 [enable_nls="yes"]) | |
3856 | |
3857 if test "$enable_nls" = "yes"; then | |
3858 AC_MSG_RESULT(no) | |
282 | 3859 |
3860 INSTALL_LANGS=install-languages | |
3861 AC_SUBST(INSTALL_LANGS) | |
3862 INSTALL_TOOL_LANGS=install-tool-languages | |
3863 AC_SUBST(INSTALL_TOOL_LANGS) | |
3864 | |
7 | 3865 AC_CHECK_PROG(MSGFMT, msgfmt, msgfmt, ) |
3866 AC_MSG_CHECKING([for NLS]) | |
3867 if test -f po/Makefile; then | |
3868 have_gettext="no" | |
3869 if test -n "$MSGFMT"; then | |
5490 | 3870 olibs=$LIBS |
3871 LIBS="" | |
7 | 3872 AC_TRY_LINK( |
3873 [#include <libintl.h>], | |
3874 [gettext("Test");], | |
5490 | 3875 AC_MSG_RESULT([gettext() works]); have_gettext="yes"; LIBS=$olibs, |
3876 LIBS="-lintl" | |
7 | 3877 AC_TRY_LINK( |
3878 [#include <libintl.h>], | |
3879 [gettext("Test");], | |
5490 | 3880 AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes"; |
3881 LIBS="$olibs -lintl", | |
7 | 3882 AC_MSG_RESULT([gettext() doesn't work]); |
3883 LIBS=$olibs)) | |
3884 else | |
3885 AC_MSG_RESULT([msgfmt not found - disabled]); | |
3886 fi | |
6094 | 3887 if test $have_gettext = "yes" -a "x$features" != "xtiny" -a "x$features" != "xsmall"; then |
7 | 3888 AC_DEFINE(HAVE_GETTEXT) |
3889 MAKEMO=yes | |
3890 AC_SUBST(MAKEMO) | |
3891 dnl this was added in GNU gettext 0.10.36 | |
3892 AC_CHECK_FUNCS(bind_textdomain_codeset) | |
3893 dnl _nl_msg_cat_cntr is required for GNU gettext | |
3894 AC_MSG_CHECKING([for _nl_msg_cat_cntr]) | |
3895 AC_TRY_LINK( | |
3896 [#include <libintl.h> | |
3897 extern int _nl_msg_cat_cntr;], | |
3898 [++_nl_msg_cat_cntr;], | |
3899 AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_NL_MSG_CAT_CNTR), | |
3900 AC_MSG_RESULT([no])) | |
3901 fi | |
3902 else | |
3903 AC_MSG_RESULT([no "po/Makefile" - disabled]); | |
3904 fi | |
3905 else | |
3906 AC_MSG_RESULT(yes) | |
3907 fi | |
3908 | |
3909 dnl Check for dynamic linking loader | |
3910 AC_CHECK_HEADER(dlfcn.h, DLL=dlfcn.h, [AC_CHECK_HEADER(dl.h, DLL=dl.h)]) | |
3911 if test x${DLL} = xdlfcn.h; then | |
3912 AC_DEFINE(HAVE_DLFCN_H, 1, [ Define if we have dlfcn.h. ]) | |
3913 AC_MSG_CHECKING([for dlopen()]) | |
3914 AC_TRY_LINK(,[ | |
3915 extern void* dlopen(); | |
3916 dlopen(); | |
3917 ], | |
3918 AC_MSG_RESULT(yes); | |
3919 AC_DEFINE(HAVE_DLOPEN, 1, [ Define if we have dlopen() ]), | |
3920 AC_MSG_RESULT(no); | |
3921 AC_MSG_CHECKING([for dlopen() in -ldl]) | |
3922 olibs=$LIBS | |
3923 LIBS="$LIBS -ldl" | |
3924 AC_TRY_LINK(,[ | |
3925 extern void* dlopen(); | |
3926 dlopen(); | |
3927 ], | |
3928 AC_MSG_RESULT(yes); | |
3929 AC_DEFINE(HAVE_DLOPEN, 1, [ Define if we have dlopen() ]), | |
3930 AC_MSG_RESULT(no); | |
3931 LIBS=$olibs)) | |
3932 dnl ReliantUNIX has dlopen() in libc but everything else in libdl | |
3933 dnl ick :-) | |
3934 AC_MSG_CHECKING([for dlsym()]) | |
3935 AC_TRY_LINK(,[ | |
3936 extern void* dlsym(); | |
3937 dlsym(); | |
3938 ], | |
3939 AC_MSG_RESULT(yes); | |
3940 AC_DEFINE(HAVE_DLSYM, 1, [ Define if we have dlsym() ]), | |
3941 AC_MSG_RESULT(no); | |
3942 AC_MSG_CHECKING([for dlsym() in -ldl]) | |
3943 olibs=$LIBS | |
3944 LIBS="$LIBS -ldl" | |
3945 AC_TRY_LINK(,[ | |
3946 extern void* dlsym(); | |
3947 dlsym(); | |
3948 ], | |
3949 AC_MSG_RESULT(yes); | |
3950 AC_DEFINE(HAVE_DLSYM, 1, [ Define if we have dlsym() ]), | |
3951 AC_MSG_RESULT(no); | |
3952 LIBS=$olibs)) | |
3953 elif test x${DLL} = xdl.h; then | |
3954 AC_DEFINE(HAVE_DL_H, 1, [ Define if we have dl.h. ]) | |
3955 AC_MSG_CHECKING([for shl_load()]) | |
3956 AC_TRY_LINK(,[ | |
3957 extern void* shl_load(); | |
3958 shl_load(); | |
3959 ], | |
3960 AC_MSG_RESULT(yes); | |
3961 AC_DEFINE(HAVE_SHL_LOAD, 1, [ Define if we have shl_load() ]), | |
3962 AC_MSG_RESULT(no); | |
3963 AC_MSG_CHECKING([for shl_load() in -ldld]) | |
3964 olibs=$LIBS | |
3965 LIBS="$LIBS -ldld" | |
3966 AC_TRY_LINK(,[ | |
3967 extern void* shl_load(); | |
3968 shl_load(); | |
3969 ], | |
3970 AC_MSG_RESULT(yes); | |
3971 AC_DEFINE(HAVE_SHL_LOAD, 1, [ Define if we have shl_load() ]), | |
3972 AC_MSG_RESULT(no); | |
3973 LIBS=$olibs)) | |
3974 fi | |
3975 AC_CHECK_HEADERS(setjmp.h) | |
3976 | |
3977 if test "x$MACOSX" = "xyes" -a -n "$PERL"; then | |
3978 dnl -ldl must come after DynaLoader.a | |
3979 if echo $LIBS | grep -e '-ldl' >/dev/null; then | |
3980 LIBS=`echo $LIBS | sed s/-ldl//` | |
3981 PERL_LIBS="$PERL_LIBS -ldl" | |
3982 fi | |
3983 fi | |
3984 | |
2309
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
3985 if test "x$MACOSX" = "xyes"; then |
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
3986 AC_MSG_CHECKING(whether we need -framework Cocoa) |
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
3987 dnl Cocoa is needed with FEAT_CLIPBOARD or FEAT_MBYTE (the former is |
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
3988 dnl disabled during tiny build) |
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
3989 if test "x$features" != "xtiny" || test "x$enable_multibyte" = "xyes"; then |
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
3990 LIBS=$"$LIBS -framework Cocoa" |
7 | 3991 AC_MSG_RESULT(yes) |
3992 else | |
3993 AC_MSG_RESULT(no) | |
3994 fi | |
5114
56bc3698f8c6
updated for version 7.3.1300
Bram Moolenaar <bram@vim.org>
parents:
4952
diff
changeset
|
3995 dnl As mentioned above, tiny build implies os_macosx.m isn't needed. |
56bc3698f8c6
updated for version 7.3.1300
Bram Moolenaar <bram@vim.org>
parents:
4952
diff
changeset
|
3996 dnl Exclude it from OS_EXTRA_SRC so that linker won't complain about |
56bc3698f8c6
updated for version 7.3.1300
Bram Moolenaar <bram@vim.org>
parents:
4952
diff
changeset
|
3997 dnl missing Objective-C symbols. |
56bc3698f8c6
updated for version 7.3.1300
Bram Moolenaar <bram@vim.org>
parents:
4952
diff
changeset
|
3998 if test "x$features" = "xtiny"; then |
56bc3698f8c6
updated for version 7.3.1300
Bram Moolenaar <bram@vim.org>
parents:
4952
diff
changeset
|
3999 OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_macosx.m++'` |
56bc3698f8c6
updated for version 7.3.1300
Bram Moolenaar <bram@vim.org>
parents:
4952
diff
changeset
|
4000 OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_macosx.o++'` |
56bc3698f8c6
updated for version 7.3.1300
Bram Moolenaar <bram@vim.org>
parents:
4952
diff
changeset
|
4001 fi |
7 | 4002 fi |
2309
543ea69d037f
Add clipboard support in Mac console. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2303
diff
changeset
|
4003 if test "x$MACARCH" = "xboth" && test "x$GUITYPE" = "xCARBONGUI"; then |
2110
0f552ca271c2
updated for version 7.2.393
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
4004 LDFLAGS="$LDFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" |
697 | 4005 fi |
7 | 4006 |
548 | 4007 dnl gcc 3.1 changed the meaning of -MM. The only solution appears to be to |
4008 dnl use "-isystem" instead of "-I" for all non-Vim include dirs. | |
4009 dnl But only when making dependencies, cproto and lint don't take "-isystem". | |
685 | 4010 dnl Mac gcc returns "powerpc-apple-darwin8-gcc-4.0.1 (GCC)...", need to allow |
4011 dnl the number before the version number. | |
548 | 4012 DEPEND_CFLAGS_FILTER= |
4013 if test "$GCC" = yes; then | |
1747 | 4014 AC_MSG_CHECKING(for GCC 3 or later) |
804 | 4015 gccmajor=`echo "$gccversion" | sed -e 's/^\([[1-9]]\)\..*$/\1/g'` |
671 | 4016 if test "$gccmajor" -gt "2"; then |
548 | 4017 DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'" |
1747 | 4018 AC_MSG_RESULT(yes) |
4019 else | |
4020 AC_MSG_RESULT(no) | |
548 | 4021 fi |
1747 | 4022 dnl -D_FORTIFY_SOURCE=2 crashes Vim on strcpy(buf, "000") when buf is |
4023 dnl declared as char x[1] but actually longer. Introduced in gcc 4.0. | |
2019 | 4024 dnl Also remove duplicate _FORTIFY_SOURCE arguments. |
3196 | 4025 dnl And undefine it first to avoid a warning. |
1747 | 4026 AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1) |
4027 if test "$gccmajor" -gt "3"; then | |
4952
9f7b92f232d3
updated for version 7.3.1221
Bram Moolenaar <bram@vim.org>
parents:
4942
diff
changeset
|
4028 CFLAGS=`echo "$CFLAGS" | sed -e 's/ *-Wp,-D_FORTIFY_SOURCE=.//g' -e 's/ *-D_FORTIFY_SOURCE=.//g' -e 's/ *-U_FORTIFY_SOURCE//g' -e 's/$/ -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1/'` |
1747 | 4029 AC_MSG_RESULT(yes) |
4030 else | |
4031 AC_MSG_RESULT(no) | |
4032 fi | |
557 | 4033 fi |
548 | 4034 AC_SUBST(DEPEND_CFLAGS_FILTER) |
7 | 4035 |
2629 | 4036 dnl link.sh tries to avoid overlinking in a hackish way. |
4037 dnl At least GNU ld supports --as-needed which provides the same functionality | |
4038 dnl at linker level. Let's use it. | |
4039 AC_MSG_CHECKING(linker --as-needed support) | |
4040 LINK_AS_NEEDED= | |
4041 # Check if linker supports --as-needed and --no-as-needed options | |
4042 if $CC -Wl,--help 2>/dev/null | grep as-needed > /dev/null; then | |
4952
9f7b92f232d3
updated for version 7.3.1221
Bram Moolenaar <bram@vim.org>
parents:
4942
diff
changeset
|
4043 LDFLAGS=`echo "$LDFLAGS" | sed -e 's/ *-Wl,--as-needed//g' | sed -e 's/$/ -Wl,--as-needed/'` |
2629 | 4044 LINK_AS_NEEDED=yes |
4045 fi | |
4046 if test "$LINK_AS_NEEDED" = yes; then | |
4047 AC_MSG_RESULT(yes) | |
4048 else | |
4049 AC_MSG_RESULT(no) | |
4050 fi | |
4051 AC_SUBST(LINK_AS_NEEDED) | |
4052 | |
3590 | 4053 # IBM z/OS reset CFLAGS for config.mk |
4054 if test "$zOSUnix" = "yes"; then | |
4055 CFLAGS="-D_ALL_SOURCE -Wc,float\(ieee\),dll" | |
4056 fi | |
4057 | |
7 | 4058 dnl write output files |
4059 AC_OUTPUT(auto/config.mk:config.mk.in) | |
4060 | |
4061 dnl vim: set sw=2 tw=78 fo+=l: |