blob: b20671faadff98dad8dff1663b20e079b6cafc2f [file] [log] [blame]
Ben Ellistonbce1b481998-09-30 02:13:15 +00001# Process this file with autoconf to produce a configure script.
Alexandre Oliva3343fdd2003-02-20 09:08:45 +00002# Copyright (C) 1995, 1997, 1998, 1999, 2002, 2003
3# Free Software Foundation, Inc.
Ben Ellistonbce1b481998-09-30 02:13:15 +00004# Contributed by Dave Love (d.love@dl.ac.uk).
5#
6#This file is part of GNU Objective C.
7#
8#GNU Objective C is free software; you can redistribute it and/or modify
9#it under the terms of the GNU General Public License as published by
10#the Free Software Foundation; either version 2, or (at your option)
11#any later version.
12#
13#GNU Objective C is distributed in the hope that it will be useful,
14#but WITHOUT ANY WARRANTY; without even the implied warranty of
15#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16#GNU General Public License for more details.
17#
18#You should have received a copy of the GNU General Public License
19#along with GNU Objective C; see the file COPYING. If not, write to
20#the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
21#02111-1307, USA.
22
Mumit Khanda4b1921999-03-24 14:46:41 -070023AC_PREREQ(2.13)
Jeffrey A Law789eb4f1998-09-30 08:17:56 +000024AC_INIT(objc/objc.h)
Ovidiu Predescud972a4c2000-08-15 07:38:04 +000025AC_CONFIG_HEADER(config.h)
Ben Ellistonbce1b481998-09-30 02:13:15 +000026
Alexandre Oliva6706f112002-05-08 04:38:00 +000027# This works around the fact that libtool configuration may change LD
28# for this particular configuration, but some shells, instead of
29# keeping the changes in LD private, export them just because LD is
30# exported.
31ORIGINAL_LD_FOR_MULTILIBS=$LD
32
DJ Delorieaebb8c22002-06-25 23:53:45 -040033GLIBCPP_TOPREL_CONFIGURE
34
Franz Sirlb150efe2002-02-11 18:10:05 +000035AC_CANONICAL_SYSTEM
36target_alias=${target_alias-$target}
37AC_SUBST(target_alias)
38
39GLIBCPP_CONFIGURE(.)
40GLIBCPP_EXPORT_INSTALL_INFO
Ben Ellistonbce1b481998-09-30 02:13:15 +000041
42dnl Checks for programs.
Geoffrey Keating7c6b0e92001-02-09 07:14:35 +000043
Franz Sirlb150efe2002-02-11 18:10:05 +000044# Disable shared libs by default
45AC_DISABLE_SHARED
46# Enable Win32 DLL on MS Windows - FIXME
47AC_LIBTOOL_WIN32_DLL
Geoffrey Keating7c6b0e92001-02-09 07:14:35 +000048
Franz Sirlb150efe2002-02-11 18:10:05 +000049AC_PROG_LIBTOOL
Ben Ellistonbce1b481998-09-30 02:13:15 +000050
Franz Sirlb150efe2002-02-11 18:10:05 +000051dnl These should be inherited in the recursive make, but ensure they are
52dnl defined:
Ben Ellistonbce1b481998-09-30 02:13:15 +000053test "$AR" || AR=ar
54AC_SUBST(AR)
55if test "$RANLIB"; then :
56 AC_SUBST(RANLIB)
57else
58 AC_PROG_RANLIB
59fi
60AC_PROG_INSTALL
Franz Sirlb150efe2002-02-11 18:10:05 +000061AC_PROG_MAKE_SET
Ben Ellistonbce1b481998-09-30 02:13:15 +000062
63dnl Checks for header files.
64# Sanity check for the cross-compilation case:
65AC_CHECK_HEADER(stdio.h,:,
66 [AC_MSG_ERROR([Can't find stdio.h.
67You must have a usable C system for the target already installed, at least
68including headers and, preferably, the library, before you can configure
69the Objective C runtime system. If necessary, install gcc now with
70\`LANGUAGES=c', then the target library, then build with \`LANGUAGES=objc'.])])
71
72AC_HEADER_STDC
73
Ovidiu Predescud972a4c2000-08-15 07:38:04 +000074AC_CHECK_HEADERS(sched.h)
75
H.J. Lu15794a92000-07-20 07:27:26 +000076# Determine CFLAGS for gthread.
Ben Ellistonbce1b481998-09-30 02:13:15 +000077
H.J. Lu15794a92000-07-20 07:27:26 +000078AC_CACHE_CHECK([for gthread cflags],objc_cv_gthread_flags,
Jeffrey A Law79014e61999-01-05 00:40:22 +000079[if test -f "$r"/gcc/Makefile
Ben Ellistonbce1b481998-09-30 02:13:15 +000080then
H.J. Lu15794a92000-07-20 07:27:26 +000081 objc_cv_gthread_flags=`grep \^GTHREAD_FLAGS "$r"/gcc/Makefile | awk -F= '{ print $2 }'`
Ben Ellistonbce1b481998-09-30 02:13:15 +000082else
83 AC_MSG_ERROR([not found])
84fi])
H.J. Lu15794a92000-07-20 07:27:26 +000085GTHREAD_FLAGS=$objc_cv_gthread_flags
86AC_SUBST(GTHREAD_FLAGS)
Ben Ellistonbce1b481998-09-30 02:13:15 +000087
88AC_ARG_ENABLE(objc-gc,
89[ --enable-objc-gc enable the use of Boehm's garbage collector with
90 the GNU Objective-C runtime.],
91if [[[ x$enable_objc_gc = xno ]]]; then
92 OBJC_BOEHM_GC=''
93else
Nicola Peroc161c992000-07-29 19:19:43 +000094 OBJC_BOEHM_GC=libobjc_gc.la
Ben Ellistonbce1b481998-09-30 02:13:15 +000095fi,
96OBJC_BOEHM_GC='')
97AC_SUBST(OBJC_BOEHM_GC)
98
99
100# We need multilib support, but only if configuring for the target.
101AC_OUTPUT(Makefile,
Franz Sirlb150efe2002-02-11 18:10:05 +0000102 [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
Ben Ellistonbce1b481998-09-30 02:13:15 +0000103if test -n "$CONFIG_FILES"; then
104 if test -n "${with_target_subdir}"; then
105 # FIXME: We shouldn't need to set ac_file
106 ac_file=Makefile
Alexandre Oliva6706f112002-05-08 04:38:00 +0000107 LD="${ORIGINAL_LD_FOR_MULTILIBS}"
Franz Sirlb150efe2002-02-11 18:10:05 +0000108 . ${toplevel_srcdir}/config-ml.in
Ben Ellistonbce1b481998-09-30 02:13:15 +0000109 fi
110fi],
111srcdir=${srcdir}
112host=${host}
113target=${target}
114with_target_subdir=${with_target_subdir}
115with_multisubdir=${with_multisubdir}
116ac_configure_args="--enable-multilib ${ac_configure_args}"
Franz Sirlb150efe2002-02-11 18:10:05 +0000117toplevel_srcdir=${toplevel_srcdir}
Ben Ellistonbce1b481998-09-30 02:13:15 +0000118CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
Alexandre Oliva3343fdd2003-02-20 09:08:45 +0000119ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
Ben Ellistonbce1b481998-09-30 02:13:15 +0000120)
121
Franz Sirlb150efe2002-02-11 18:10:05 +0000122
Ben Ellistonbce1b481998-09-30 02:13:15 +0000123dnl Local Variables:
124dnl comment-start: "dnl "
125dnl comment-end: ""
126dnl comment-start-skip: "\\bdnl\\b\\s *"
127dnl End: