]>
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) |
bce1b489 BE |
24 | #AC_CONFIG_HEADER(config.h) |
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 | # We have to handle 3 cases -- native, cross and canadian cross -- and |
40 | # the extension returned from this macro needs to be treated as a possible | |
41 | # scenario and not the only one. | |
42 | AC_EXEEXT | |
43 | ||
44 | # If the language specific compiler does not exist, but the "gcc" directory | |
45 | # does, we do not build anything. Note, $r is set by the top-level Makefile. | |
46 | # Note that when we look for the compiler, we search both with and without | |
47 | # extension to handle cross and canadian cross builds. | |
71205e0b MH |
48 | compiler_name=cc1obj |
49 | rm -f skip-this-dir | |
50 | AC_MSG_CHECKING(if compiler $compiler_name has been built) | |
51 | AC_CACHE_VAL(objc_cv_compiler_exists, | |
da4b1927 MK |
52 | [objc_cv_compiler_exists=yes |
53 | if test -n "$r"; then | |
54 | if test -d "$r"/gcc; then | |
55 | if test -f "$r"/gcc/$compiler_name \ | |
56 | || test -f "$r"/gcc/$compiler_name$EXEEXT; then | |
57 | true | |
58 | else | |
59 | objc_cv_compiler_exists=no | |
60 | echo "rm -f config.cache config.log multilib.out" > skip-this-dir | |
61 | fi | |
62 | fi | |
63 | fi | |
64 | ]) | |
71205e0b MH |
65 | AC_MSG_RESULT($objc_cv_compiler_exists) |
66 | if test x$objc_cv_compiler_exists = xno | |
67 | then | |
da4b1927 MK |
68 | rm -f Makefile conftest* confdefs* core |
69 | exit 0 | |
71205e0b MH |
70 | fi |
71 | ||
bce1b489 BE |
72 | dnl Checks for programs. |
73 | # For ObjC we'll set CC to point at the built gcc, but this will get it into | |
74 | # the makefiles | |
75 | AC_PROG_CC | |
76 | ||
77 | test "$AR" || AR=ar | |
78 | AC_SUBST(AR) | |
79 | if test "$RANLIB"; then : | |
80 | AC_SUBST(RANLIB) | |
81 | else | |
82 | AC_PROG_RANLIB | |
83 | fi | |
84 | AC_PROG_INSTALL | |
85 | ||
86 | dnl Checks for libraries. | |
87 | ||
88 | dnl Checks for header files. | |
89 | # Sanity check for the cross-compilation case: | |
90 | AC_CHECK_HEADER(stdio.h,:, | |
91 | [AC_MSG_ERROR([Can't find stdio.h. | |
92 | You must have a usable C system for the target already installed, at least | |
93 | including headers and, preferably, the library, before you can configure | |
94 | the Objective C runtime system. If necessary, install gcc now with | |
95 | \`LANGUAGES=c', then the target library, then build with \`LANGUAGES=objc'.])]) | |
96 | ||
97 | AC_HEADER_STDC | |
98 | ||
99 | # Determine the name of the GCC thread file. | |
100 | ||
101 | AC_CACHE_CHECK([for thread file],objc_cv_thread_file, | |
79014e6f | 102 | [if test -f "$r"/gcc/Makefile |
bce1b489 | 103 | then |
79014e6f | 104 | objc_cv_thread_file=`grep \^GCC_THREAD_FILE "$r"/gcc/Makefile | awk -F= '{ print $2 }'` |
bce1b489 BE |
105 | else |
106 | AC_MSG_ERROR([not found]) | |
107 | fi]) | |
108 | OBJC_THREAD_FILE=$objc_cv_thread_file | |
109 | AC_SUBST(OBJC_THREAD_FILE) | |
110 | ||
111 | AC_ARG_ENABLE(objc-gc, | |
112 | [ --enable-objc-gc enable the use of Boehm's garbage collector with | |
113 | the GNU Objective-C runtime.], | |
114 | if [[[ x$enable_objc_gc = xno ]]]; then | |
115 | OBJC_BOEHM_GC='' | |
116 | else | |
117 | OBJC_BOEHM_GC=libobjc_gc.a | |
118 | fi, | |
119 | OBJC_BOEHM_GC='') | |
120 | AC_SUBST(OBJC_BOEHM_GC) | |
121 | ||
122 | ||
123 | # We need multilib support, but only if configuring for the target. | |
124 | AC_OUTPUT(Makefile, | |
125 | [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h | |
126 | if test -n "$CONFIG_FILES"; then | |
127 | if test -n "${with_target_subdir}"; then | |
128 | # FIXME: We shouldn't need to set ac_file | |
129 | ac_file=Makefile | |
130 | . ${topsrcdir}/config-ml.in | |
131 | fi | |
132 | fi], | |
133 | srcdir=${srcdir} | |
134 | host=${host} | |
135 | target=${target} | |
136 | with_target_subdir=${with_target_subdir} | |
137 | with_multisubdir=${with_multisubdir} | |
138 | ac_configure_args="--enable-multilib ${ac_configure_args}" | |
139 | CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} | |
140 | topsrcdir=${topsrcdir} | |
141 | ) | |
142 | ||
143 | dnl Local Variables: | |
144 | dnl comment-start: "dnl " | |
145 | dnl comment-end: "" | |
146 | dnl comment-start-skip: "\\bdnl\\b\\s *" | |
147 | dnl End: |