OSDN Git Service

2002-09-10 Frank Ch. Eigler <fche@redhat.com>
[pf3gnuchains/gcc-fork.git] / libobjc / configure.in
1 # Process this file with autoconf to produce a configure script.
2 #   Copyright (C) 1995, 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
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
22 AC_PREREQ(2.13)
23 AC_INIT(objc/objc.h)
24 AC_CONFIG_HEADER(config.h)
25
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
32 GLIBCPP_TOPREL_CONFIGURE
33
34 AC_CANONICAL_SYSTEM
35 target_alias=${target_alias-$target}
36 AC_SUBST(target_alias)
37
38 GLIBCPP_CONFIGURE(.)
39 GLIBCPP_EXPORT_INSTALL_INFO
40
41 # 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. 
45 compiler_name=cc1obj
46 rm -f skip-this-dir
47 AC_MSG_CHECKING(if compiler $compiler_name has been built)
48 AC_CACHE_VAL(objc_cv_compiler_exists,
49 [objc_cv_compiler_exists=yes
50 if test -n "$r"; then
51   if test -d "$r"/gcc; then
52     if test -f "$r"/gcc/$compiler_name \
53        || test -f "$r"/gcc/$compiler_name.exe; then
54       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
60 fi
61 ])
62 AC_MSG_RESULT($objc_cv_compiler_exists)
63 if test x$objc_cv_compiler_exists = xno
64 then
65   rm -f Makefile conftest* confdefs* core
66   exit 0
67 fi
68
69 dnl Checks for programs.
70
71 # Disable shared libs by default
72 AC_DISABLE_SHARED
73 # Enable Win32 DLL on MS Windows - FIXME 
74 AC_LIBTOOL_WIN32_DLL 
75
76 AC_PROG_LIBTOOL
77
78 dnl These should be inherited in the recursive make, but ensure they are
79 dnl defined:
80 test "$AR" || AR=ar
81 AC_SUBST(AR)
82 if test "$RANLIB"; then :
83   AC_SUBST(RANLIB)
84 else
85   AC_PROG_RANLIB
86 fi
87 AC_PROG_INSTALL
88 AC_PROG_MAKE_SET
89
90 dnl Checks for header files.
91 # Sanity check for the cross-compilation case:
92 AC_CHECK_HEADER(stdio.h,:,
93   [AC_MSG_ERROR([Can't find stdio.h.
94 You must have a usable C system for the target already installed, at least
95 including headers and, preferably, the library, before you can configure
96 the Objective C runtime system.  If necessary, install gcc now with 
97 \`LANGUAGES=c', then the target library, then build with \`LANGUAGES=objc'.])])
98
99 AC_HEADER_STDC
100
101 AC_CHECK_HEADERS(sched.h)
102
103 # Determine CFLAGS for gthread.
104
105 AC_CACHE_CHECK([for gthread cflags],objc_cv_gthread_flags,
106 [if test -f "$r"/gcc/Makefile
107 then
108   objc_cv_gthread_flags=`grep \^GTHREAD_FLAGS "$r"/gcc/Makefile | awk -F= '{ print $2 }'`
109 else
110   AC_MSG_ERROR([not found])
111 fi])
112 GTHREAD_FLAGS=$objc_cv_gthread_flags
113 AC_SUBST(GTHREAD_FLAGS)
114
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
121         OBJC_BOEHM_GC=libobjc_gc.la
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     LD="${ORIGINAL_LD_FOR_MULTILIBS}"
135     . ${toplevel_srcdir}/config-ml.in
136   fi
137 fi],
138 srcdir=${srcdir}
139 host=${host}
140 target=${target}
141 with_target_subdir=${with_target_subdir}
142 with_multisubdir=${with_multisubdir}
143 ac_configure_args="--enable-multilib ${ac_configure_args}"
144 toplevel_srcdir=${toplevel_srcdir}
145 CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
146 )
147
148
149 dnl Local Variables:
150 dnl comment-start: "dnl "
151 dnl comment-end: ""
152 dnl comment-start-skip: "\\bdnl\\b\\s *"
153 dnl End: