]>
Commit | Line | Data |
---|---|---|
bce1b489 | 1 | # Process this file with autoconf to produce a configure script. |
6706f116 | 2 | # Copyright (C) 1995, 1997, 1998, 1999, 2002 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 | 25 | |
6706f116 AO |
26 | # This works around the fact that libtool configuration may change LD |
27 | # for this particular configuration, but some shells, instead of | |
28 | # keeping the changes in LD private, export them just because LD is | |
29 | # exported. | |
30 | ORIGINAL_LD_FOR_MULTILIBS=$LD | |
31 | ||
b150efee FS |
32 | AC_CANONICAL_SYSTEM |
33 | target_alias=${target_alias-$target} | |
34 | AC_SUBST(target_alias) | |
35 | ||
36 | GLIBCPP_CONFIGURE(.) | |
37 | GLIBCPP_EXPORT_INSTALL_INFO | |
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 | 67 | dnl Checks for programs. |
7c6b0e92 | 68 | |
b150efee FS |
69 | # Disable shared libs by default |
70 | AC_DISABLE_SHARED | |
71 | # Enable Win32 DLL on MS Windows - FIXME | |
72 | AC_LIBTOOL_WIN32_DLL | |
7c6b0e92 | 73 | |
b150efee | 74 | AC_PROG_LIBTOOL |
bce1b489 | 75 | |
b150efee FS |
76 | dnl These should be inherited in the recursive make, but ensure they are |
77 | dnl defined: | |
bce1b489 BE |
78 | test "$AR" || AR=ar |
79 | AC_SUBST(AR) | |
80 | if test "$RANLIB"; then : | |
81 | AC_SUBST(RANLIB) | |
82 | else | |
83 | AC_PROG_RANLIB | |
84 | fi | |
85 | AC_PROG_INSTALL | |
b150efee | 86 | AC_PROG_MAKE_SET |
bce1b489 BE |
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 | ||
d972a4c2 OP |
99 | AC_CHECK_HEADERS(sched.h) |
100 | ||
15794a95 | 101 | # Determine CFLAGS for gthread. |
bce1b489 | 102 | |
15794a95 | 103 | AC_CACHE_CHECK([for gthread cflags],objc_cv_gthread_flags, |
79014e6f | 104 | [if test -f "$r"/gcc/Makefile |
bce1b489 | 105 | then |
15794a95 | 106 | objc_cv_gthread_flags=`grep \^GTHREAD_FLAGS "$r"/gcc/Makefile | awk -F= '{ print $2 }'` |
bce1b489 BE |
107 | else |
108 | AC_MSG_ERROR([not found]) | |
109 | fi]) | |
15794a95 L |
110 | GTHREAD_FLAGS=$objc_cv_gthread_flags |
111 | AC_SUBST(GTHREAD_FLAGS) | |
bce1b489 BE |
112 | |
113 | AC_ARG_ENABLE(objc-gc, | |
114 | [ --enable-objc-gc enable the use of Boehm's garbage collector with | |
115 | the GNU Objective-C runtime.], | |
116 | if [[[ x$enable_objc_gc = xno ]]]; then | |
117 | OBJC_BOEHM_GC='' | |
118 | else | |
c161c99b | 119 | OBJC_BOEHM_GC=libobjc_gc.la |
bce1b489 BE |
120 | fi, |
121 | OBJC_BOEHM_GC='') | |
122 | AC_SUBST(OBJC_BOEHM_GC) | |
123 | ||
124 | ||
125 | # We need multilib support, but only if configuring for the target. | |
126 | AC_OUTPUT(Makefile, | |
b150efee | 127 | [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h |
bce1b489 BE |
128 | if test -n "$CONFIG_FILES"; then |
129 | if test -n "${with_target_subdir}"; then | |
130 | # FIXME: We shouldn't need to set ac_file | |
131 | ac_file=Makefile | |
6706f116 | 132 | LD="${ORIGINAL_LD_FOR_MULTILIBS}" |
b150efee | 133 | . ${toplevel_srcdir}/config-ml.in |
bce1b489 BE |
134 | fi |
135 | fi], | |
136 | srcdir=${srcdir} | |
137 | host=${host} | |
138 | target=${target} | |
139 | with_target_subdir=${with_target_subdir} | |
140 | with_multisubdir=${with_multisubdir} | |
141 | ac_configure_args="--enable-multilib ${ac_configure_args}" | |
b150efee | 142 | toplevel_srcdir=${toplevel_srcdir} |
bce1b489 | 143 | CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} |
bce1b489 BE |
144 | ) |
145 | ||
b150efee | 146 | |
bce1b489 BE |
147 | dnl Local Variables: |
148 | dnl comment-start: "dnl " | |
149 | dnl comment-end: "" | |
150 | dnl comment-start-skip: "\\bdnl\\b\\s *" | |
151 | dnl End: |