1 |
# |
2 |
# configure.ac |
3 |
# |
4 |
# Copyright (C) 1997 Free Software Foundation, Inc. |
5 |
# |
6 |
# Author: Scott Christley <scottc@net-community.com> |
7 |
# Ovidiu Predescu <ovidiu@net-community.com> |
8 |
# Rewrite: Adam Fedor <fedor@gnu.org> |
9 |
# |
10 |
# This file is part of the GNUstep Makefile Package. |
11 |
# |
12 |
# This library is free software; you can redistribute it and/or |
13 |
# modify it under the terms of the GNU General Public License |
14 |
# as published by the Free Software Foundation; either version 2 |
15 |
# of the License, or (at your option) any later version. |
16 |
# |
17 |
# You should have received a copy of the GNU General Public |
18 |
# License along with this library; see the file COPYING.LIB. |
19 |
# If not, write to the Free Software Foundation, |
20 |
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21 |
AC_INIT |
22 |
AC_CONFIG_SRCDIR([application.make]) |
23 |
AC_CONFIG_HEADER(config.h) |
24 |
|
25 |
#-------------------------------------------------------------------- |
26 |
# Setup the library combination |
27 |
#-------------------------------------------------------------------- |
28 |
targetArgument=${target} |
29 |
AC_PROG_CC |
30 |
AC_PROG_CPP |
31 |
AC_CANONICAL_TARGET([]) |
32 |
|
33 |
AC_MSG_CHECKING(for library combo) |
34 |
AC_ARG_WITH(library-combo,[ |
35 |
--with-library-combo Define the default library combination |
36 |
], |
37 |
ac_cv_library_combo=$withval, |
38 |
ac_cv_library_combo=$ac_cv_library_combo |
39 |
) |
40 |
|
41 |
if test "$ac_cv_library_combo" = ""; then |
42 |
case "$host_os" in |
43 |
darwin*) ac_cv_library_combo=apple-apple-apple ;; |
44 |
nextstep4) ac_cv_library_combo=nx-nx-nx ;; |
45 |
*) ac_cv_library_combo=gnu-gnu-gnu ;; |
46 |
esac |
47 |
fi |
48 |
|
49 |
case "$ac_cv_library_combo" in |
50 |
apple) ac_cv_library_combo=apple-apple-apple ;; |
51 |
gnu) ac_cv_library_combo=gnu-gnu-gnu ;; |
52 |
nx) ac_cv_library_combo=nx-nx-nx ;; |
53 |
esac |
54 |
|
55 |
AC_SUBST(ac_cv_library_combo) |
56 |
AC_MSG_RESULT($ac_cv_library_combo) |
57 |
|
58 |
OBJC_RUNTIME_LIB=`echo $ac_cv_library_combo | awk -F- '{print $1}'` |
59 |
|
60 |
#-------------------------------------------------------------------- |
61 |
# specific target_os options |
62 |
#-------------------------------------------------------------------- |
63 |
INCLUDE_FLAGS= |
64 |
case "$target_os" in |
65 |
freebsd* | openbsd* ) |
66 |
INCLUDE_FLAGS="$INCLUDE_FLAGS -I/usr/local/include" |
67 |
LIBS="$LIBS -L/usr/local/lib";; |
68 |
netbsd*) INCLUDE_FLAGS="$INCLUDE_FLAGS -I/usr/pkg/include" |
69 |
LIBS="$LIBS -Wl,-R/usr/pkg/lib -L/usr/pkg/lib";; |
70 |
esac |
71 |
# Save the user supplied CPPFLAGS so we can restore them later. |
72 |
user_CPPFLAGS="$CPPFLAGS" |
73 |
# This is just for configuring. Later, in config.make, INCLUDE_FLAGS |
74 |
# goes in CONFIG_SYSTEM_INCL and the original CPPFLAGS goes in unaltered |
75 |
CPPFLAGS="$CPPFLAGS $INCLUDE_FLAGS" |
76 |
|
77 |
#-------------------------------------------------------------------- |
78 |
# Determine the host, build, and target systems |
79 |
#-------------------------------------------------------------------- |
80 |
case $host_os in |
81 |
*cygwin* ) CYGWIN=yes;; |
82 |
*mingw32* ) MINGW32=yes;; |
83 |
* ) MINGW32=no |
84 |
CYGWIN=no;; |
85 |
esac |
86 |
AC_SUBST(CYGWIN) |
87 |
|
88 |
AC_EXEEXT |
89 |
AC_OBJEXT |
90 |
if test "$MINGW32" = yes; then |
91 |
echo "hosted on mingw32 .." |
92 |
export INSTALL=install |
93 |
export SHELL=sh |
94 |
export CC=${CC:-gcc} |
95 |
export AR=${AR:-ar} |
96 |
export RANLIB=${RANLIB:-ranlib} |
97 |
export DLLTOOL=${DLLTOOL:-dlltool} |
98 |
elif test "$CYGWIN" = yes; then |
99 |
echo "hosted on cygwin .." |
100 |
export CC=${CC:-gcc} |
101 |
export AR=${AR:-ar} |
102 |
export RANLIB=${RANLIB:-ranlib} |
103 |
export DLLTOOL=${DLLTOOL:-dlltool} |
104 |
fi |
105 |
|
106 |
#-------------------------------------------------------------------- |
107 |
# Find the binary and compile tools |
108 |
#-------------------------------------------------------------------- |
109 |
if test "x$target" != "x$host"; then |
110 |
echo "cross compiling from $host to $target .." |
111 |
cross_compiling="yes" |
112 |
AC_CHECK_PROG(CC, "${targetArgument}-gcc", dnl |
113 |
"${targetArgument}-gcc", gcc) |
114 |
AC_CHECK_PROG(RANLIB, "${targetArgument}-ranlib", dnl |
115 |
"${targetArgument}-ranlib", ranlib) |
116 |
AC_CHECK_PROG(AR, "${targetArgument}-ar", dnl |
117 |
"${targetArgument}-ar", ar) |
118 |
AC_CHECK_PROG(DLLTOOL, "${targetArgument}-dlltool", dnl |
119 |
"${targetArgument}-dlltool", dlltool) |
120 |
else |
121 |
AC_CHECK_PROG(AR, ar, ar) |
122 |
AC_CHECK_PROG(DLLTOOL, dlltool, dlltool) |
123 |
AC_PROG_RANLIB |
124 |
fi |
125 |
|
126 |
AC_PROG_INSTALL |
127 |
AC_PROG_LN_S([]) |
128 |
|
129 |
AC_CHECK_PROGS(TAR, gnutar gtar, tar) |
130 |
AC_ARG_WITH(tar, |
131 |
[--with-tar Set the name of the tar program to use], |
132 |
TAR="$withval",) |
133 |
|
134 |
AC_CHECK_PROG(CHOWN, chown, chown, none) |
135 |
if test "$MINGW32" = no; then |
136 |
if test "$CHOWN" = "none"; then |
137 |
AC_MSG_ERROR("Could not find chown."); |
138 |
fi |
139 |
fi |
140 |
|
141 |
#------------------------------------------------------------------- |
142 |
# GNUstep specific options follow |
143 |
#------------------------------------------------------------------- |
144 |
|
145 |
#-------------------------------------------------------------------- |
146 |
# The GNUstep root directory. |
147 |
# The user should have the GNUSTEP_SYSTEM_ROOT environment variable |
148 |
# defined, but if not then we have a global default. |
149 |
# Also test for the C: directory, which means we're on Windows |
150 |
#-------------------------------------------------------------------- |
151 |
AC_MSG_CHECKING(for GNUSTEP_SYSTEM_ROOT to use) |
152 |
AC_PREFIX_DEFAULT(`if test "x$GNUSTEP_SYSTEM_ROOT" = "x"; then |
153 |
if test -d C: ; then |
154 |
echo C:/GNUstep; |
155 |
else |
156 |
echo /usr/GNUstep ; |
157 |
fi |
158 |
else |
159 |
echo "$GNUSTEP_SYSTEM_ROOT" ; |
160 |
fi`) |
161 |
if test "x$prefix" = "xNONE"; then |
162 |
prefix="$ac_default_prefix" ; |
163 |
fi |
164 |
AC_ARG_WITH(system-root, |
165 |
[--without-system-root Don't use separate system root directory], |
166 |
ac_cv_system_root="$withval", |
167 |
ac_cv_system_root=yes) |
168 |
|
169 |
GNUSTEP_ROOT="$prefix" |
170 |
root_prefix='${prefix}' |
171 |
if test $ac_cv_system_root = yes; then |
172 |
if test "x`basename $prefix`" = xSystem; then |
173 |
GNUSTEP_ROOT=`dirname $prefix` |
174 |
else |
175 |
if test "x$prefix" = "x/"; then |
176 |
prefix=/System |
177 |
else |
178 |
prefix="$prefix/System" |
179 |
fi |
180 |
fi |
181 |
root_prefix='${prefix}/..' |
182 |
fi |
183 |
AC_SUBST(GNUSTEP_ROOT) |
184 |
AC_SUBST(root_prefix) |
185 |
AC_MSG_RESULT($prefix) |
186 |
|
187 |
# Makefiles directory location is in a bit of flux now. To keep the |
188 |
# Makefiles dir in the previous location, reset this variable to |
189 |
# 'Makefiles' and regenerate configure. Note this doesn't change all |
190 |
# occurances. |
191 |
MAKEFILES_SUFFIX=Library/Makefiles |
192 |
AC_SUBST(MAKEFILES_SUFFIX) |
193 |
|
194 |
# HOST_INSTALL is the name of the install program in config.make so set it up |
195 |
# to point to the install-sh script in the GNUstep tree if no system install is |
196 |
# found. |
197 |
AC_SUBST(HOST_INSTALL) |
198 |
if test "$INSTALL" = "$ac_install_sh"; then |
199 |
HOST_INSTALL="$prefix/$MAKEFILES_SUFFIX/$INSTALL" |
200 |
else |
201 |
HOST_INSTALL="$INSTALL" |
202 |
fi |
203 |
|
204 |
#-------------------------------------------------------------------- |
205 |
# Process --with-defaults-root, --with-user-root, |
206 |
# --with-local-root and --with-network-root |
207 |
#-------------------------------------------------------------------- |
208 |
AC_MSG_CHECKING(for GNUSTEP_LOCAL_ROOT to use) |
209 |
AC_ARG_WITH(local-root, |
210 |
[--with-local-root |
211 |
Set the GNUSTEP_LOCAL_ROOT directory. Use this option if you want |
212 |
to have the GNUSTEP_LOCAL_ROOT directory in a non-standard place. Example: |
213 |
--with-local-root=/usr/local/GNUstep/Local |
214 |
], |
215 |
GNUSTEP_LOCAL_ROOT="$withval", |
216 |
GNUSTEP_LOCAL_ROOT="$GNUSTEP_ROOT/Local" |
217 |
) |
218 |
AC_MSG_RESULT($GNUSTEP_LOCAL_ROOT) |
219 |
|
220 |
AC_MSG_CHECKING(for GNUSTEP_NETWORK_ROOT to use) |
221 |
AC_ARG_WITH(network-root, |
222 |
[--with-network-root |
223 |
Set the GNUSTEP_NETWORK_ROOT directory. Use this option if you want |
224 |
to have the GNUSTEP_NETWORK_ROOT directory in a non-standard place. Example: |
225 |
--with-network-root=/usr/local/GNUstep/Network |
226 |
], |
227 |
GNUSTEP_NETWORK_ROOT="$withval", |
228 |
GNUSTEP_NETWORK_ROOT="$GNUSTEP_ROOT/Network" |
229 |
) |
230 |
AC_MSG_RESULT($GNUSTEP_NETWORK_ROOT) |
231 |
|
232 |
AC_SUBST(GNUSTEP_LOCAL_ROOT) |
233 |
AC_SUBST(GNUSTEP_NETWORK_ROOT) |
234 |
|
235 |
#-------------------------------------------------------------------- |
236 |
# Is the system flattened? |
237 |
#-------------------------------------------------------------------- |
238 |
AC_MSG_CHECKING(for flattened directory structure) |
239 |
AC_ARG_ENABLE(flattened, |
240 |
[--disable-flattened Disable flattened directory structure], |
241 |
ac_cv_flattened=$enableval, |
242 |
ac_cv_flattened="undefined") |
243 |
|
244 |
if test "$ac_cv_flattened" = "no"; then |
245 |
GNUSTEP_FLATTENED=; |
246 |
else |
247 |
GNUSTEP_FLATTENED=yes; |
248 |
fi |
249 |
AC_SUBST(GNUSTEP_FLATTENED) |
250 |
|
251 |
if test "$GNUSTEP_FLATTENED" = "yes"; then |
252 |
AC_MSG_RESULT(yes); |
253 |
else |
254 |
AC_MSG_RESULT(no); |
255 |
fi |
256 |
|
257 |
|
258 |
#-------------------------------------------------------------------- |
259 |
# Is the system multi-platform? |
260 |
#-------------------------------------------------------------------- |
261 |
# |
262 |
# Multi-platform means that GNUstep.sh will determine the host |
263 |
# platform (by running config.guess) each time that it is sourced. |
264 |
# This is good if you are sharing your GNUstep.sh across your network |
265 |
# (for example, mounting the makefiles via NFS), but it requires you |
266 |
# to be able to run config.guess on your machine(s), which usually |
267 |
# requires a development environment (compiler, libc etc). |
268 |
# |
269 |
# The default instead is not using multi-platform, which means the |
270 |
# local host os, cpu and version is hardcoded in GNUstep.sh. This |
271 |
# works nicely for a single machine using this gnustep-make |
272 |
# installation, and it works even if you don't have development |
273 |
# packages (gcc, binutils, libc-dev etc) installed. We had to make |
274 |
# this the default after end-users (with no development packages |
275 |
# installed) complained that binary packages wouldn't work (and the |
276 |
# reason turned out to be that GNUstep.sh was running config.guess |
277 |
# which was returning the wrong platform because the development |
278 |
# tools needed/used to determine the platform were not available). |
279 |
# |
280 |
# Unless you know what you are doing, stick with the default, which is |
281 |
# also much faster when sourcing GNUstep.sh. |
282 |
# |
283 |
AC_ARG_ENABLE(multi-platform, |
284 |
[--enable-multi-platform Use run time multi-platform support], |
285 |
ac_cv_multi_platform=$enableval, |
286 |
ac_cv_multi_platform="undefined") |
287 |
|
288 |
if test "$ac_cv_multi_platform" = "yes"; then |
289 |
GNUSTEP_MULTI_PLATFORM=yes; |
290 |
else |
291 |
GNUSTEP_MULTI_PLATFORM=; |
292 |
fi |
293 |
AC_SUBST(GNUSTEP_MULTI_PLATFORM) |
294 |
|
295 |
#-------------------------------------------------------------------- |
296 |
# Build backend bundles (on by default) |
297 |
#-------------------------------------------------------------------- |
298 |
AC_ARG_ENABLE(backend-bundle, [ |
299 |
--disable-backend-bundle Compile gui backend as a library], |
300 |
ac_cv_backend=$enableval, |
301 |
ac_cv_backend="yes") |
302 |
|
303 |
if test "$ac_cv_backend" = "yes"; then |
304 |
BACKEND_BUNDLE=yes; |
305 |
else |
306 |
BACKEND_BUNDLE=; |
307 |
fi |
308 |
AC_SUBST(BACKEND_BUNDLE) |
309 |
|
310 |
#-------------------------------------------------------------------- |
311 |
# Miscellaneous flags and setup |
312 |
#-------------------------------------------------------------------- |
313 |
# Strip '-g' off of CFLAGS, since debug=yes adds that anyway |
314 |
CFLAGS=`echo $CFLAGS | sed -e 's/-g //'` |
315 |
|
316 |
# Set location of GNUstep dirs for later use |
317 |
if test "$GNUSTEP_FLATTENED" = yes; then |
318 |
GNUSTEP_LDIR="$prefix/Library/Libraries" |
319 |
GNUSTEP_HDIR="$prefix/Library/Headers" |
320 |
else |
321 |
clean_target_os=`$srcdir/clean_os.sh $target_os` |
322 |
clean_target_cpu=`$srcdir/clean_cpu.sh $target_cpu` |
323 |
obj_dir="$clean_target_cpu/$clean_target_os" |
324 |
GNUSTEP_LDIR="$prefix/Library/Libraries/$obj_dir" |
325 |
GNUSTEP_HDIR="$prefix/Library/Headers/${ac_cv_library_combo}" |
326 |
fi |
327 |
|
328 |
# Check to see if the libobjc library is in our GNUSTEP_SYSTEM_ROOT. |
329 |
# If so, there are probably other libraries that we want there also, so |
330 |
# leave the proper includes in CPPFLAGS and LDFLAGS |
331 |
AC_MSG_CHECKING(for custom shared objc library) |
332 |
AC_CACHE_VAL(gs_cv_objc_libdir, |
333 |
[dnl |
334 |
gs_cv_objc_libdir=NONE |
335 |
if test -f "$GNUSTEP_HDIR/objc/objc.h"; then |
336 |
if test -f "$GNUSTEP_LDIR/libobjc.a" -o -f "$GNUSTEP_LDIR/libobjc.so"; then |
337 |
gs_cv_objc_libdir="$GNUSTEP_LDIR" |
338 |
else |
339 |
gs_cv_objc_libdir=NONE |
340 |
fi |
341 |
fi |
342 |
#gcc_shared_libobjc=`gcc -print-file-name=libobjc.so` |
343 |
#if test -f "$gcc_shared_libobjc"; then |
344 |
# gs_cv_objc_libdir=`dirname $gcc_shared_libobjc` |
345 |
#fi |
346 |
]) |
347 |
AC_MSG_RESULT($gs_cv_objc_libdir) |
348 |
|
349 |
# The following are needed to compile the test programs |
350 |
if test "$gs_cv_objc_libdir" = "$GNUSTEP_LDIR"; then |
351 |
if test "$GNUSTEP_FLATTENED" = yes; then |
352 |
OBJC_CPPFLAGS="$INCLUDE_FLAGS -I$prefix/Library/Headers" |
353 |
else |
354 |
OBJC_CPPFLAGS="$INCLUDE_FLAGS -I$prefix/Library/Headers/${ac_cv_library_combo}" |
355 |
fi |
356 |
OBJC_LDFLAGS="$LDFLAGS -L$gs_cv_objc_libdir" |
357 |
fi |
358 |
|
359 |
# And the following to execute them |
360 |
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$gs_cv_objc_libdir" |
361 |
export LD_LIBRARY_PATH |
362 |
|
363 |
#-------------------------------------------------------------------- |
364 |
# Miscellaneous headers (only used for compiling which_lib.c and user_home.c) |
365 |
#-------------------------------------------------------------------- |
366 |
AC_HEADER_DIRENT |
367 |
AC_CHECK_HEADERS(sys/param.h sys/file.h dir.h string.h stdlib.h sys/types.h dnl |
368 |
fcntl.h limits.h utime.h sys/stat.h pwd.h unistd.h) |
369 |
AC_CHECK_FUNCS(getpwnam getpwuid geteuid getlogin strchr) |
370 |
|
371 |
#-------------------------------------------------------------------- |
372 |
# Check if libobjc was compiled with thread support. |
373 |
#-------------------------------------------------------------------- |
374 |
OBJC_THREAD= |
375 |
AC_ARG_WITH(thread-lib, |
376 |
[--with-thread-lib Specify alternate thread library], |
377 |
OBJC_THREAD=$withval, |
378 |
OBJC_THREAD= |
379 |
) |
380 |
|
381 |
|
382 |
AC_MSG_CHECKING(whether objc has thread support) |
383 |
extra_LIBS="" |
384 |
case "${target_os}" in |
385 |
solaris*) |
386 |
extra_LIBS="-lposix4" |
387 |
;; |
388 |
esac |
389 |
saved_CFLAGS="$CFLAGS" |
390 |
saved_LIBS="$LIBS" |
391 |
CFLAGS="$CFLAGS -x objective-c -I$srcdir $OBJC_CPPFLAGS $OBJC_LDFLAGS" |
392 |
if test "$OBJC_RUNTIME_LIB" = "gnu"; then |
393 |
CFLAGS="$CFLAGS -fgnu-runtime" |
394 |
fi |
395 |
if test "$OBJC_RUNTIME_LIB" = "nx"; then |
396 |
CFLAGS="$CFLAGS -DNeXT_RUNTIME" |
397 |
fi |
398 |
if test "$OBJC_RUNTIME_LIB" = "apple"; then |
399 |
CFLAGS="$CFLAGS -DNeXT_RUNTIME" |
400 |
fi |
401 |
if test "$OBJC_THREAD" != ""; then |
402 |
LIBS="-lobjc $LIBS $OBJC_THREAD $extra_LIBS" |
403 |
AC_TRY_RUN([#include "config_thread.m"], |
404 |
objc_threaded="$OBJC_THREAD $extra_LIBS", |
405 |
objc_threaded="", objc_threaded="") |
406 |
elif test "$host_os" = linux-gnu; then |
407 |
LIBS="-lobjc -lpthread" |
408 |
AC_TRY_RUN([#include "config_thread.m"], objc_threaded="-lpthread", |
409 |
objc_threaded="", objc_threaded="-lpthread") |
410 |
elif test "`echo $host_os|sed 's/[[0-9]].*//'|sed s/elf//`" = freebsd; then |
411 |
LIBS="-pthread -lobjc" |
412 |
AC_TRY_RUN([#include "config_thread.m"], objc_threaded="-pthread", |
413 |
objc_threaded="", objc_threaded="-pthread") |
414 |
if test x"$objc_threaded" = x""; then |
415 |
LIBS="-lpthread -lobjc" |
416 |
AC_TRY_RUN([#include "config_thread.m"], objc_threaded="-lpthread", |
417 |
objc_threaded="", objc_threaded="-lpthread") |
418 |
fi |
419 |
if test x"$objc_threaded" = x""; then |
420 |
LIBS="-lobjc -lpcthread" |
421 |
AC_TRY_RUN([#include "config_thread.m"], objc_threaded="-lpcthread", |
422 |
objc_threaded="", objc_threaded="-lpcthread") |
423 |
fi |
424 |
elif test "$MINGW32" = yes; then |
425 |
# Mingw doesn't need anything extra for threads |
426 |
LIBS="-lobjc $LIBS $extra_LIBS" |
427 |
AC_TRY_RUN([#include "config_thread.m"], |
428 |
objc_threaded="works", |
429 |
objc_threaded="", objc_threaded="works") |
430 |
else |
431 |
LIBS="-lobjc $LIBS $extra_LIBS" |
432 |
AC_TRY_RUN([#include "config_thread.m"], |
433 |
objc_threaded="works", |
434 |
objc_threaded="", objc_threaded="") |
435 |
if test x"$objc_threaded" = x""; then |
436 |
LIBS="-lobjc $saved_LIBS -lpthread $extra_LIBS" |
437 |
AC_TRY_RUN([#include "config_thread.m"], |
438 |
objc_threaded="-lpthread $extra_LIBS", |
439 |
objc_threaded="", objc_threaded="") |
440 |
fi |
441 |
if test x"$objc_threaded" = x""; then |
442 |
LIBS="-lobjc $saved_LIBS -lthread $extra_LIBS" |
443 |
AC_TRY_RUN([#include "config_thread.m"], |
444 |
objc_threaded="-lthread $extra_LIBS", |
445 |
objc_threaded="", objc_threaded="") |
446 |
fi |
447 |
fi |
448 |
LIBS="$saved_LIBS" |
449 |
CFLAGS="$saved_CFLAGS" |
450 |
if test x"$objc_threaded" = x""; then |
451 |
AC_MSG_RESULT(no) |
452 |
else |
453 |
if test x"$objc_threaded" = x"works"; then |
454 |
objc_threaded="$extra_LIBS" |
455 |
fi |
456 |
AC_MSG_RESULT(yes: $objc_threaded) |
457 |
fi |
458 |
ac_cv_objc_threaded="$objc_threaded" |
459 |
AC_SUBST(objc_threaded) |
460 |
AC_SUBST(ac_cv_objc_threaded) |
461 |
|
462 |
#-------------------------------------------------------------------- |
463 |
# Check if compiler supports -MMD -MP to generate %.d files ... |
464 |
#-------------------------------------------------------------------- |
465 |
|
466 |
AC_MSG_CHECKING(if the compiler supports autodependencies) |
467 |
|
468 |
# What we want to do: set AUTO_DEPENDENCIES to yes if gcc => 3.x |
469 |
|
470 |
if test ! ${GCC} = "yes" ; then |
471 |
AUTO_DEPENDENCIES="" |
472 |
AC_MSG_RESULT(no: it's not gcc) |
473 |
else |
474 |
# Running gcc -dumpversion we get something like 2.95.4 or |
475 |
# egcs-2.91.66 or 3.0.2 or 3.1 20011211 |
476 |
# We want to discard anything but the major number. |
477 |
# Explanation of the regexp - |
478 |
# \(^[^0-9]*\) matches beginning of line and following non numeric chars |
479 |
# \([0-9][0-9]*\) matches 1 or more numeric chars (this is the 2^nd |
480 |
# subpattern) |
481 |
# \([^0-9].*\) matches a non numeric char followed by anything |
482 |
# /\2/ replace the whole lot with the 2^nd subpattern |
483 |
gs_cv_gcc_major_version=`${CC} -dumpversion | sed "s/\([[^0-9]]*\)\([[0-9]][[0-9]]*\)\([[^0-9]].*\)/\2/"`; |
484 |
|
485 |
if test "${gs_cv_gcc_major_version}" -ge "3" ; then |
486 |
AUTO_DEPENDENCIES=yes |
487 |
AC_MSG_RESULT(yes: gcc major version is ${gs_cv_gcc_major_version}) |
488 |
else |
489 |
AUTO_DEPENDENCIES="" |
490 |
AC_MSG_RESULT(no: gcc major version is ${gs_cv_gcc_major_version}) |
491 |
fi |
492 |
fi |
493 |
|
494 |
AC_SUBST(AUTO_DEPENDENCIES) |
495 |
|
496 |
#--------------------------------------------------------------------- |
497 |
# Enable/disable warnings for deprecated #import directive as required |
498 |
#--------------------------------------------------------------------- |
499 |
AC_MSG_CHECKING(whether to disable compiler warnings about deprecated import) |
500 |
|
501 |
# |
502 |
# GCC recommends that you use `--disable-import' here, since #import |
503 |
# is seriously deprecated. If you are unsure, please use --disable-import. |
504 |
# |
505 |
AC_ARG_ENABLE(import, |
506 |
[--enable-import Don't warn about usage of deprecated import directive], |
507 |
ac_cv_import=$enableval, |
508 |
ac_cv_import="no") |
509 |
|
510 |
AC_MSG_RESULT($ac_cv_import) |
511 |
|
512 |
if test "$ac_cv_import" = "yes"; then |
513 |
OBJC_NO_IMPORT_FLAGS=-Wno-import; |
514 |
fi |
515 |
AC_SUBST(OBJC_NO_IMPORT_FLAGS) |
516 |
|
517 |
CPPFLAGS="$user_CPPFLAGS" |
518 |
AC_SUBST(INCLUDE_FLAGS) |
519 |
|
520 |
#-------------------------------------------------------------------- |
521 |
# Disable updating the obsolete directory structure |
522 |
#-------------------------------------------------------------------- |
523 |
gs_move_obsolete=yes |
524 |
AC_ARG_ENABLE(move-obsolete, |
525 |
[--disable-move-obsolete Disable moving obsolete dir structure], |
526 |
gs_move_obsolete=$enableval, |
527 |
gs_move_obsolete=yes) |
528 |
|
529 |
if test "$gs_move_obsolete" = "yes"; then |
530 |
GNUSTEP_MOVE_OBSOLETE=move_obsolete; |
531 |
AC_MSG_NOTICE(*** WARNING any old GNUstep directories installed before gnustep-make 1.7.0 will be moved to the new locations unless disabled in configure) |
532 |
else |
533 |
GNUSTEP_MOVE_OBSOLETE= |
534 |
AC_MSG_NOTICE(Old GNUstep directories will not be moved) |
535 |
fi |
536 |
AC_SUBST(GNUSTEP_MOVE_OBSOLETE) |
537 |
|
538 |
#-------------------------------------------------------------------- |
539 |
# Record the version |
540 |
#-------------------------------------------------------------------- |
541 |
AC_MSG_CHECKING(for the version of gnustep-make we are compiling) |
542 |
. "$srcdir/Version" |
543 |
AC_MSG_RESULT($GNUSTEP_MAKE_VERSION) |
544 |
AC_SUBST(GNUSTEP_MAKE_VERSION) |
545 |
AC_SUBST(GNUSTEP_MAKE_MAJOR_VERSION) |
546 |
AC_SUBST(GNUSTEP_MAKE_MINOR_VERSION) |
547 |
AC_SUBST(GNUSTEP_MAKE_SUBMINOR_VERSION) |
548 |
|
549 |
#------------------------------------------------------------------- |
550 |
# Record the 'clean' target_os, target_cpu and target_vendor |
551 |
#------------------------------------------------------------------- |
552 |
# This is just for efficiency, so that core/make/GNUmakefile does not |
553 |
# have to compute clean_target_os from target_os (and similar) by |
554 |
# running shell scripts each time you 'make' something inside |
555 |
# gnustep-make. We basically compute them once now, and cache them |
556 |
# forever. It is also used by GNUstep.sh when multi-platform is |
557 |
# disabled. |
558 |
clean_target_os=`$srcdir/clean_os.sh $target_os` |
559 |
clean_target_cpu=`$srcdir/clean_cpu.sh $target_cpu` |
560 |
clean_target_vendor=`$srcdir/clean_cpu.sh $target_vendor` |
561 |
AC_SUBST(clean_target_os) |
562 |
AC_SUBST(clean_target_cpu) |
563 |
AC_SUBST(clean_target_vendor) |
564 |
AC_SUBST(target) |
565 |
|
566 |
#-------------------------------------------------------------------- |
567 |
# Produce the output files |
568 |
#-------------------------------------------------------------------- |
569 |
AC_CONFIG_FILES([config.make openapp debugapp opentool |
570 |
executable.template GNUmakefile GNUstep.sh GNUstep.csh fixpath.sh |
571 |
gnustep-make.spec Documentation/GNUmakefile]) |
572 |
AC_CONFIG_COMMANDS([default], |
573 |
[[chmod a+x openapp debugapp opentool fixpath.sh executable.template]], |
574 |
[[]]) |
575 |
AC_OUTPUT |