]>
Commit | Line | Data |
---|---|---|
bce1b489 | 1 | # Process this file with autoconf to produce a configure script. |
da4b1927 | 2 | # Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc. |
bce1b489 BE |
3 | # Contributed by Dave Love (d.love@dl.ac.uk). |
4 | # | |
5 | #This file is part of GNU Objective C. | |
6 | # | |
7 | #GNU Objective C is free software; you can redistribute it and/or modify | |
8 | #it under the terms of the GNU General Public License as published by | |
9 | #the Free Software Foundation; either version 2, or (at your option) | |
10 | #any later version. | |
11 | # | |
12 | #GNU Objective C is distributed in the hope that it will be useful, | |
13 | #but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | #GNU General Public License for more details. | |
16 | # | |
17 | #You should have received a copy of the GNU General Public License | |
18 | #along with GNU Objective C; see the file COPYING. If not, write to | |
19 | #the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA | |
20 | #02111-1307, USA. | |
21 | ||
da4b1927 | 22 | AC_PREREQ(2.13) |
789eb4f5 | 23 | AC_INIT(objc/objc.h) |
d972a4c2 | 24 | AC_CONFIG_HEADER(config.h) |
bce1b489 BE |
25 | |
26 | if test "${srcdir}" = "." ; then | |
27 | if test "${with_target_subdir}" != "." ; then | |
28 | topsrcdir=${with_multisrctop}../.. | |
29 | else | |
30 | topsrcdir=${with_multisrctop}.. | |
31 | fi | |
32 | else | |
33 | topsrcdir=${srcdir}/.. | |
34 | fi | |
8a829fd9 KG |
35 | dnl This is needed for a multilibbed build in the source tree so |
36 | dnl that install-sh and config.sub get found. | |
37 | AC_CONFIG_AUX_DIR($topsrcdir) | |
bce1b489 | 38 | |
da4b1927 MK |
39 | # If the language specific compiler does not exist, but the "gcc" directory |
40 | # does, we do not build anything. Note, $r is set by the top-level Makefile. | |
41 | # Note that when we look for the compiler, we search both with and without | |
42 | # extension to handle cross and canadian cross builds. | |
71205e0b MH |
43 | compiler_name=cc1obj |
44 | rm -f skip-this-dir | |
45 | AC_MSG_CHECKING(if compiler $compiler_name has been built) | |
46 | AC_CACHE_VAL(objc_cv_compiler_exists, | |
da4b1927 MK |
47 | [objc_cv_compiler_exists=yes |
48 | if test -n "$r"; then | |
49 | if test -d "$r"/gcc; then | |
50 | if test -f "$r"/gcc/$compiler_name \ | |
6de94858 | 51 | || test -f "$r"/gcc/$compiler_name.exe; then |
da4b1927 MK |
52 | true |
53 | else | |
54 | objc_cv_compiler_exists=no | |
55 | echo "rm -f config.cache config.log multilib.out" > skip-this-dir | |
56 | fi | |
57 | fi | |
58 | fi | |
59 | ]) | |
71205e0b MH |
60 | AC_MSG_RESULT($objc_cv_compiler_exists) |
61 | if test x$objc_cv_compiler_exists = xno | |
62 | then | |
da4b1927 MK |
63 | rm -f Makefile conftest* confdefs* core |
64 | exit 0 | |
71205e0b MH |
65 | fi |
66 | ||
bce1b489 BE |
67 | dnl Checks for programs. |
68 | # For ObjC we'll set CC to point at the built gcc, but this will get it into | |
69 | # the makefiles | |
70 | AC_PROG_CC | |
71 | ||
72 | test "$AR" || AR=ar | |
73 | AC_SUBST(AR) | |
74 | if test "$RANLIB"; then : | |
75 | AC_SUBST(RANLIB) | |
76 | else | |
77 | AC_PROG_RANLIB | |
78 | fi | |
79 | AC_PROG_INSTALL | |
80 | ||
81 | dnl Checks for libraries. | |
82 | ||
83 | dnl Checks for header files. | |
84 | # Sanity check for the cross-compilation case: | |
85 | AC_CHECK_HEADER(stdio.h,:, | |
86 | [AC_MSG_ERROR([Can't find stdio.h. | |
87 | You must have a usable C system for the target already installed, at least | |
88 | including headers and, preferably, the library, before you can configure | |
89 | the Objective C runtime system. If necessary, install gcc now with | |
90 | \`LANGUAGES=c', then the target library, then build with \`LANGUAGES=objc'.])]) | |
91 | ||
92 | AC_HEADER_STDC | |
93 | ||
d972a4c2 OP |
94 | AC_CHECK_HEADERS(sched.h) |
95 | ||
15794a95 | 96 | # Determine CFLAGS for gthread. |
bce1b489 | 97 | |
15794a95 | 98 | AC_CACHE_CHECK([for gthread cflags],objc_cv_gthread_flags, |
79014e6f | 99 | [if test -f "$r"/gcc/Makefile |
bce1b489 | 100 | then |
15794a95 | 101 | objc_cv_gthread_flags=`grep \^GTHREAD_FLAGS "$r"/gcc/Makefile | awk -F= '{ print $2 }'` |
bce1b489 BE |
102 | else |
103 | AC_MSG_ERROR([not found]) | |
104 | fi]) | |
15794a95 L |
105 | GTHREAD_FLAGS=$objc_cv_gthread_flags |
106 | AC_SUBST(GTHREAD_FLAGS) | |
bce1b489 | 107 | |
c161c99b NP |
108 | # Disable shared libs by default |
109 | AC_DISABLE_SHARED | |
110 | # Enable Win32 DLL on MS Windows - FIXME | |
111 | AC_LIBTOOL_WIN32_DLL | |
112 | # Use libtool | |
113 | AC_PROG_LIBTOOL | |
114 | ||
bce1b489 BE |
115 | AC_ARG_ENABLE(objc-gc, |
116 | [ --enable-objc-gc enable the use of Boehm's garbage collector with | |
117 | the GNU Objective-C runtime.], | |
118 | if [[[ x$enable_objc_gc = xno ]]]; then | |
119 | OBJC_BOEHM_GC='' | |
120 | else | |
c161c99b | 121 | OBJC_BOEHM_GC=libobjc_gc.la |
bce1b489 BE |
122 | fi, |
123 | OBJC_BOEHM_GC='') | |
124 | AC_SUBST(OBJC_BOEHM_GC) | |
125 | ||
126 | ||
127 | # We need multilib support, but only if configuring for the target. | |
128 | AC_OUTPUT(Makefile, | |
129 | [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h | |
130 | if test -n "$CONFIG_FILES"; then | |
131 | if test -n "${with_target_subdir}"; then | |
132 | # FIXME: We shouldn't need to set ac_file | |
133 | ac_file=Makefile | |
134 | . ${topsrcdir}/config-ml.in | |
135 | fi | |
136 | fi], | |
137 | srcdir=${srcdir} | |
138 | host=${host} | |
139 | target=${target} | |
140 | with_target_subdir=${with_target_subdir} | |
141 | with_multisubdir=${with_multisubdir} | |
142 | ac_configure_args="--enable-multilib ${ac_configure_args}" | |
143 | CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} | |
144 | topsrcdir=${topsrcdir} | |
145 | ) | |
146 | ||
147 | dnl Local Variables: | |
148 | dnl comment-start: "dnl " | |
149 | dnl comment-end: "" | |
150 | dnl comment-start-skip: "\\bdnl\\b\\s *" | |
151 | dnl End: |