# Process this file with autoconf to produce a configure script.
-# Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
# Contributed by Dave Love (d.love@dl.ac.uk).
#
#This file is part of GNU Objective C.
#the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#02111-1307, USA.
-AC_INIT(objc.h)
-#AC_CONFIG_HEADER(config.h)
+AC_PREREQ(2.13)
+AC_INIT(objc/objc.h)
+AC_CONFIG_HEADER(config.h)
if test "${srcdir}" = "." ; then
if test "${with_target_subdir}" != "." ; then
else
topsrcdir=${srcdir}/..
fi
+dnl This is needed for a multilibbed build in the source tree so
+dnl that install-sh and config.sub get found.
+AC_CONFIG_AUX_DIR($topsrcdir)
+
+# If the language specific compiler does not exist, but the "gcc" directory
+# does, we do not build anything. Note, $r is set by the top-level Makefile.
+# Note that when we look for the compiler, we search both with and without
+# extension to handle cross and canadian cross builds.
+compiler_name=cc1obj
+rm -f skip-this-dir
+AC_MSG_CHECKING(if compiler $compiler_name has been built)
+AC_CACHE_VAL(objc_cv_compiler_exists,
+[objc_cv_compiler_exists=yes
+if test -n "$r"; then
+ if test -d "$r"/gcc; then
+ if test -f "$r"/gcc/$compiler_name \
+ || test -f "$r"/gcc/$compiler_name.exe; then
+ true
+ else
+ objc_cv_compiler_exists=no
+ echo "rm -f config.cache config.log multilib.out" > skip-this-dir
+ fi
+ fi
+fi
+])
+AC_MSG_RESULT($objc_cv_compiler_exists)
+if test x$objc_cv_compiler_exists = xno
+then
+ rm -f Makefile conftest* confdefs* core
+ exit 0
+fi
dnl Checks for programs.
+
+dnl FIXME AC_PROG_CC wants CC to be able to link things, but it may
+dnl not be able to.
+define([AC_PROG_CC_WORKS],[])
+
# For ObjC we'll set CC to point at the built gcc, but this will get it into
# the makefiles
AC_PROG_CC
fi
AC_PROG_INSTALL
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which cant create executables. So we include AC_EXEEXT to keep
+# automake happy, but we dont execute it, since we dont care about
+# the result.
+if false; then
+ # autoconf 2.50 runs AC_EXEEXT by default, and the macro expands
+ # to nothing, so nothing would remain between `then' and `fi' if it
+ # were not for the `:' below.
+ :
+ AC_EXEEXT
+fi
+
dnl Checks for libraries.
dnl Checks for header files.
AC_HEADER_STDC
-# Determine the name of the GCC thread file.
+AC_CHECK_HEADERS(sched.h)
-AC_CACHE_CHECK([for thread file],objc_cv_thread_file,
-[if test -f ../../gcc/Makefile
+# Determine CFLAGS for gthread.
+
+AC_CACHE_CHECK([for gthread cflags],objc_cv_gthread_flags,
+[if test -f "$r"/gcc/Makefile
then
- objc_cv_thread_file=`grep ^GCC_THREAD_FILE ../../gcc/Makefile | awk -F= '{ print $2 }'`
+ objc_cv_gthread_flags=`grep \^GTHREAD_FLAGS "$r"/gcc/Makefile | awk -F= '{ print $2 }'`
else
AC_MSG_ERROR([not found])
fi])
-OBJC_THREAD_FILE=$objc_cv_thread_file
-AC_SUBST(OBJC_THREAD_FILE)
+GTHREAD_FLAGS=$objc_cv_gthread_flags
+AC_SUBST(GTHREAD_FLAGS)
+
+# Disable shared libs by default
+AC_DISABLE_SHARED
+# Enable Win32 DLL on MS Windows - FIXME
+AC_LIBTOOL_WIN32_DLL
+# Use libtool
+AC_PROG_LIBTOOL
AC_ARG_ENABLE(objc-gc,
[ --enable-objc-gc enable the use of Boehm's garbage collector with
if [[[ x$enable_objc_gc = xno ]]]; then
OBJC_BOEHM_GC=''
else
- OBJC_BOEHM_GC=libobjc_gc.a
+ OBJC_BOEHM_GC=libobjc_gc.la
fi,
OBJC_BOEHM_GC='')
AC_SUBST(OBJC_BOEHM_GC)