blob: 51554522e96a2b2b062b282788b908eeabdd20e0 [file] [log] [blame]
Ben Ellistonbce1b481998-09-30 02:13:15 +00001# Process this file with autoconf to produce a configure script.
Alexandre Oliva6706f112002-05-08 04:38:00 +00002# Copyright (C) 1995, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
Ben Ellistonbce1b481998-09-30 02:13:15 +00003# 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
Mumit Khanda4b1921999-03-24 14:46:41 -070022AC_PREREQ(2.13)
Jeffrey A Law789eb4f1998-09-30 08:17:56 +000023AC_INIT(objc/objc.h)
Ovidiu Predescud972a4c2000-08-15 07:38:04 +000024AC_CONFIG_HEADER(config.h)
Ben Ellistonbce1b481998-09-30 02:13:15 +000025
Alexandre Oliva6706f112002-05-08 04:38:00 +000026# 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.
30ORIGINAL_LD_FOR_MULTILIBS=$LD
31
DJ Delorieaebb8c22002-06-25 23:53:45 -040032GLIBCPP_TOPREL_CONFIGURE
33
Franz Sirlb150efe2002-02-11 18:10:05 +000034AC_CANONICAL_SYSTEM
35target_alias=${target_alias-$target}
36AC_SUBST(target_alias)
37
38GLIBCPP_CONFIGURE(.)
39GLIBCPP_EXPORT_INSTALL_INFO
Ben Ellistonbce1b481998-09-30 02:13:15 +000040
Mumit Khanda4b1921999-03-24 14:46:41 -070041# If the language specific compiler does not exist, but the "gcc" directory
42# does, we do not build anything. Note, $r is set by the top-level Makefile.
43# Note that when we look for the compiler, we search both with and without
44# extension to handle cross and canadian cross builds.
Manfred Hollstein71205e01998-11-26 01:48:34 +000045compiler_name=cc1obj
46rm -f skip-this-dir
47AC_MSG_CHECKING(if compiler $compiler_name has been built)
48AC_CACHE_VAL(objc_cv_compiler_exists,
Mumit Khanda4b1921999-03-24 14:46:41 -070049[objc_cv_compiler_exists=yes
50if test -n "$r"; then
51 if test -d "$r"/gcc; then
52 if test -f "$r"/gcc/$compiler_name \
Jeff Law6de94851999-05-19 20:27:28 -060053 || test -f "$r"/gcc/$compiler_name.exe; then
Mumit Khanda4b1921999-03-24 14:46:41 -070054 true
55 else
56 objc_cv_compiler_exists=no
57 echo "rm -f config.cache config.log multilib.out" > skip-this-dir
58 fi
59 fi
60fi
61])
Manfred Hollstein71205e01998-11-26 01:48:34 +000062AC_MSG_RESULT($objc_cv_compiler_exists)
63if test x$objc_cv_compiler_exists = xno
64then
Mumit Khanda4b1921999-03-24 14:46:41 -070065 rm -f Makefile conftest* confdefs* core
66 exit 0
Manfred Hollstein71205e01998-11-26 01:48:34 +000067fi
68
Ben Ellistonbce1b481998-09-30 02:13:15 +000069dnl Checks for programs.
Geoffrey Keating7c6b0e92001-02-09 07:14:35 +000070
Franz Sirlb150efe2002-02-11 18:10:05 +000071# Disable shared libs by default
72AC_DISABLE_SHARED
73# Enable Win32 DLL on MS Windows - FIXME
74AC_LIBTOOL_WIN32_DLL
Geoffrey Keating7c6b0e92001-02-09 07:14:35 +000075
Franz Sirlb150efe2002-02-11 18:10:05 +000076AC_PROG_LIBTOOL
Ben Ellistonbce1b481998-09-30 02:13:15 +000077
Franz Sirlb150efe2002-02-11 18:10:05 +000078dnl These should be inherited in the recursive make, but ensure they are
79dnl defined:
Ben Ellistonbce1b481998-09-30 02:13:15 +000080test "$AR" || AR=ar
81AC_SUBST(AR)
82if test "$RANLIB"; then :
83 AC_SUBST(RANLIB)
84else
85 AC_PROG_RANLIB
86fi
87AC_PROG_INSTALL
Franz Sirlb150efe2002-02-11 18:10:05 +000088AC_PROG_MAKE_SET
Ben Ellistonbce1b481998-09-30 02:13:15 +000089
90dnl Checks for header files.
91# Sanity check for the cross-compilation case:
92AC_CHECK_HEADER(stdio.h,:,
93 [AC_MSG_ERROR([Can't find stdio.h.
94You must have a usable C system for the target already installed, at least
95including headers and, preferably, the library, before you can configure
96the Objective C runtime system. If necessary, install gcc now with
97\`LANGUAGES=c', then the target library, then build with \`LANGUAGES=objc'.])])
98
99AC_HEADER_STDC
100
Ovidiu Predescud972a4c2000-08-15 07:38:04 +0000101AC_CHECK_HEADERS(sched.h)
102
H.J. Lu15794a92000-07-20 07:27:26 +0000103# Determine CFLAGS for gthread.
Ben Ellistonbce1b481998-09-30 02:13:15 +0000104
H.J. Lu15794a92000-07-20 07:27:26 +0000105AC_CACHE_CHECK([for gthread cflags],objc_cv_gthread_flags,
Jeffrey A Law79014e61999-01-05 00:40:22 +0000106[if test -f "$r"/gcc/Makefile
Ben Ellistonbce1b481998-09-30 02:13:15 +0000107then
H.J. Lu15794a92000-07-20 07:27:26 +0000108 objc_cv_gthread_flags=`grep \^GTHREAD_FLAGS "$r"/gcc/Makefile | awk -F= '{ print $2 }'`
Ben Ellistonbce1b481998-09-30 02:13:15 +0000109else
110 AC_MSG_ERROR([not found])
111fi])
H.J. Lu15794a92000-07-20 07:27:26 +0000112GTHREAD_FLAGS=$objc_cv_gthread_flags
113AC_SUBST(GTHREAD_FLAGS)
Ben Ellistonbce1b481998-09-30 02:13:15 +0000114
115AC_ARG_ENABLE(objc-gc,
116[ --enable-objc-gc enable the use of Boehm's garbage collector with
117 the GNU Objective-C runtime.],
118if [[[ x$enable_objc_gc = xno ]]]; then
119 OBJC_BOEHM_GC=''
120else
Nicola Peroc161c992000-07-29 19:19:43 +0000121 OBJC_BOEHM_GC=libobjc_gc.la
Ben Ellistonbce1b481998-09-30 02:13:15 +0000122fi,
123OBJC_BOEHM_GC='')
124AC_SUBST(OBJC_BOEHM_GC)
125
126
127# We need multilib support, but only if configuring for the target.
128AC_OUTPUT(Makefile,
Franz Sirlb150efe2002-02-11 18:10:05 +0000129 [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
Ben Ellistonbce1b481998-09-30 02:13:15 +0000130if 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
Alexandre Oliva6706f112002-05-08 04:38:00 +0000134 LD="${ORIGINAL_LD_FOR_MULTILIBS}"
Franz Sirlb150efe2002-02-11 18:10:05 +0000135 . ${toplevel_srcdir}/config-ml.in
Ben Ellistonbce1b481998-09-30 02:13:15 +0000136 fi
137fi],
138srcdir=${srcdir}
139host=${host}
140target=${target}
141with_target_subdir=${with_target_subdir}
142with_multisubdir=${with_multisubdir}
143ac_configure_args="--enable-multilib ${ac_configure_args}"
Franz Sirlb150efe2002-02-11 18:10:05 +0000144toplevel_srcdir=${toplevel_srcdir}
Ben Ellistonbce1b481998-09-30 02:13:15 +0000145CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
Ben Ellistonbce1b481998-09-30 02:13:15 +0000146)
147
Franz Sirlb150efe2002-02-11 18:10:05 +0000148
Ben Ellistonbce1b481998-09-30 02:13:15 +0000149dnl Local Variables:
150dnl comment-start: "dnl "
151dnl comment-end: ""
152dnl comment-start-skip: "\\bdnl\\b\\s *"
153dnl End: