OSDN Git Service

* Makefile.in: Remove toolexecdir, glibcpp_toolexecdir (unused).
[pf3gnuchains/gcc-fork.git] / libobjc / configure.in
index ccc0cc8..6f7e765 100644 (file)
 #the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #02111-1307, USA.
 
-AC_PREREQ(2.13)
-AC_INIT(objc/objc.h)
-AC_CONFIG_HEADER(config.h)
+AC_PREREQ(2.59)
+AC_INIT
+AC_CONFIG_SRCDIR([objc/objc.h])
 
-dnl We need the following definitions because AC_PROG_LIBTOOL relies on them
+# We need the following definitions because AC_PROG_LIBTOOL relies on them
 PACKAGE=libobjc
-dnl Version is pulled out to make it a bit easier to change using sed.
+# Version is pulled out to make it a bit easier to change using sed.
 VERSION=1:0:0
 AC_SUBST(VERSION)
 
@@ -36,14 +36,51 @@ AC_SUBST(VERSION)
 # exported.
 ORIGINAL_LD_FOR_MULTILIBS=$LD
 
-dnl Default to --enable-multilib
+# -------
+# Options
+# -------
+
+# Default to --enable-multilib
 AC_ARG_ENABLE(multilib,
   [  --enable-multilib       build hella library versions (default)],
   [case "${enableval}" in
     yes) multilib=yes ;;
     no)  multilib=no ;;
     *)   AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
-   esac], [multilib=yes])dnl
+   esac],
+  [multilib=yes])
+
+# We use these options to decide which functions to include.
+AC_ARG_WITH(target-subdir,
+[  --with-target-subdir=SUBDIR
+                           configuring in a subdirectory])
+AC_ARG_WITH(cross-host,
+[  --with-cross-host=HOST  configuring with a cross compiler])
+
+AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
+AC_ARG_ENABLE(version-specific-runtime-libs,
+[  --enable-version-specific-runtime-libs    Specify that runtime libraries should be installed in a compiler-specific directory ],
+[case "$enableval" in
+ yes) version_specific_libs=yes ;;
+ no)  version_specific_libs=no ;;
+ *)   AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);;
+ esac],
+[version_specific_libs=no])
+AC_MSG_RESULT($version_specific_libs)
+
+AC_ARG_ENABLE(objc-gc,
+[  --enable-objc-gc       enable the use of Boehm's garbage collector with
+                          the GNU Objective-C runtime.],
+[case $enable_objc_gc in
+  no) OBJC_BOEHM_GC='' ;;
+  *) OBJC_BOEHM_GC=libobjc_gc.la ;;
+esac],
+[OBJC_BOEHM_GC=''])
+AC_SUBST(OBJC_BOEHM_GC)
+
+# -----------
+# Directories
+# -----------
 
 # When building with srcdir == objdir, links to the source files will
 # be created in directories within the target_subdir.  We have to
@@ -64,141 +101,68 @@ else
   toprel=".."
 fi
 AC_CONFIG_AUX_DIR(${srcdir}/$toprel)
-toplevel_srcdir=\${top_srcdir}/$toprel
+toplevel_srcdir=\${srcdir}/$toprel
 AC_SUBST(toplevel_srcdir)
 
 AC_CANONICAL_SYSTEM
 _GCC_TOPLEV_NONCANONICAL_TARGET
 AC_SUBST(target_noncanonical)
 
-# Export build and source directories.
+# Export source directory.
 # These need to be absolute paths, yet at the same time need to
 # canonicalize only relative paths, because then amd will not unmount
 # drives. Thus the use of PWDCMD: set it to 'pawd' or 'amq -w' if using amd.
-glibcpp_builddir=`${PWDCMD-pwd}`
 case $srcdir in
-[\\/$]* | ?:[\\/]*) glibcpp_srcdir=${srcdir} ;;
-*) glibcpp_srcdir=`cd "$srcdir" && ${PWDCMD-pwd} || echo "$srcdir"` ;;
+  [\\/$]* | ?:[\\/]*) glibcpp_srcdir=${srcdir} ;;
+  *) glibcpp_srcdir=`cd "$srcdir" && ${PWDCMD-pwd} || echo "$srcdir"` ;;
 esac
-AC_SUBST(glibcpp_builddir)
 AC_SUBST(glibcpp_srcdir)
 
-# We use these options to decide which functions to include.
-AC_ARG_WITH(target-subdir,
-[  --with-target-subdir=SUBDIR
-                           configuring in a subdirectory])
-AC_ARG_WITH(cross-host,
-[  --with-cross-host=HOST  configuring with a cross compiler])
-
-  # Never versions of autoconf add an underscore to these functions.
-  # Prevent future problems ...
-  ifdef([AC_PROG_CC_G],[],[define([AC_PROG_CC_G],defn([_AC_PROG_CC_G]))])
-  ifdef([AC_PROG_CC_GNU],[],[define([AC_PROG_CC_GNU],defn([_AC_PROG_CC_GNU]))])
-  ifdef([AC_PROG_CXX_G],[],[define([AC_PROG_CXX_G],defn([_AC_PROG_CXX_G]))])
-  ifdef([AC_PROG_CXX_GNU],[],[define([AC_PROG_CXX_GNU],defn([_AC_PROG_CXX_GNU]))])
-
-#  AC_PROG_CC
-
-# FIXME: We temporarily define our own version of AC_PROG_CC.  This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS.  We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable.  This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-dnl Fool anybody using AC_PROG_CC.
-AC_PROVIDE([AC_PROG_CC])
-AC_CHECK_PROG(CC, gcc, gcc)
-if test -z "$CC"; then
-  AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
-  test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
-  GCC=yes
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
-  ac_test_CFLAGS="${CFLAGS+set}"
-  ac_save_CFLAGS="$CFLAGS"
-  CFLAGS=
-  AC_PROG_CC_G
-  if test "$ac_test_CFLAGS" = set; then
-    CFLAGS="$ac_save_CFLAGS"
-  elif test $ac_cv_prog_cc_g = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-O2"
-  fi
-else
-  GCC=
-  test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-
-LIB_AC_PROG_CC
-
-AC_CHECK_TOOL(AS, as)
-AC_CHECK_TOOL(AR, ar)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_PROG_INSTALL
-
-
 # Process the option "--enable-version-specific-runtime-libs"
-AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
-AC_ARG_ENABLE(version-specific-runtime-libs,
-[  --enable-version-specific-runtime-libs    Specify that runtime libraries should be installed in a compiler-specific directory ],
-[case "$enableval" in
- yes) version_specific_libs=yes ;;
- no)  version_specific_libs=no ;;
- *)   AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);;
- esac],
-[version_specific_libs=no])
-# Option set, now we can test it.
-AC_MSG_RESULT($version_specific_libs)
-
 gcc_version_trigger=${srcdir}/../gcc/version.c
 gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/'`
 gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
 AC_SUBST(gcc_version)
-AC_SUBST(gcc_version_trigger)
 
-# Calculate glibcpp_toolexecdir, glibcpp_toolexeclibdir
+# Calculate toolexeclibdir
 case ${version_specific_libs} in
   yes)
     # Need the gcc compiler version to know where to install libraries
     # and header files if --enable-version-specific-runtime-libs option
     # is selected.
-    glibcpp_toolexecdir='$(libdir)/gcc/$(target_noncanonical)'
-    glibcpp_toolexeclibdir='$(toolexecdir)/'${gcc_version}'$(MULTISUBDIR)'
+    toolexeclibdir='$(toolexecdir)/'${gcc_version}'$(MULTISUBDIR)'
     ;;
   no)
     if test -n "$with_cross_host" &&
        test x"$with_cross_host" != x"no"; then
-      glibcpp_toolexecdir='$(exec_prefix)/$(target_noncanonical)'
-      glibcpp_toolexeclibdir='$(toolexecdir)/lib'
-    else
       # Install a library built with a cross compiler in tooldir, not libdir.
-      glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)'
-      glibcpp_toolexeclibdir='$(libdir)'
+      toolexeclibdir='$(toolexecdir)/lib'
+    else
+      toolexeclibdir='$(libdir)'
     fi
     multi_os_directory=`$CC -print-multi-os-directory`
     case $multi_os_directory in
       .) ;; # Avoid trailing /.
-      *) glibcpp_toolexeclibdir=$glibcpp_toolexeclibdir/$multi_os_directory ;;
+      *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
     esac
     ;;
 esac
-AC_SUBST(glibcpp_toolexecdir)
-AC_SUBST(glibcpp_toolexeclibdir)
+AC_SUBST(toolexeclibdir)
 
 glibcpp_prefixdir=${prefix}
 AC_SUBST(glibcpp_prefixdir)
 
-dnl Checks for programs.
+# --------
+# Programs
+# --------
+
+GCC_NO_EXECUTABLES
+AC_PROG_CC
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_PROG_INSTALL
 
 # Disable shared libs by default
 AC_DISABLE_SHARED
@@ -209,7 +173,10 @@ AC_PROG_LIBTOOL
 
 AC_PROG_MAKE_SET
 
-dnl Checks for header files.
+# -------
+# Headers
+# -------
+
 # Sanity check for the cross-compilation case:
 AC_CHECK_HEADER(stdio.h,:,
   [AC_MSG_ERROR([Can't find stdio.h.
@@ -222,8 +189,13 @@ AC_HEADER_STDC
 
 AC_CHECK_HEADERS(sched.h)
 
-# Determine CFLAGS for gthread.
+# -----------
+# Miscellanea
+# -----------
 
+# Determine CFLAGS for gthread.
+# FIXME: the current implementation is dependent on the 'r' variable
+# passed down from the top level
 AC_CACHE_CHECK([for gthread cflags],objc_cv_gthread_flags,
 [if test -f "$r"/gcc/Makefile
 then
@@ -234,30 +206,22 @@ fi])
 GTHREAD_FLAGS=$objc_cv_gthread_flags
 AC_SUBST(GTHREAD_FLAGS)
 
-AC_ARG_ENABLE(objc-gc,
-[  --enable-objc-gc       enable the use of Boehm's garbage collector with
-                          the GNU Objective-C runtime.],
-if [[[ x$enable_objc_gc = xno ]]]; then
-        OBJC_BOEHM_GC=''
-else
-        OBJC_BOEHM_GC=libobjc_gc.la
-fi,
-OBJC_BOEHM_GC='')
-AC_SUBST(OBJC_BOEHM_GC)
+# ------
+# Output
+# ------
 
+AC_CONFIG_FILES([Makefile])
 
-# We need multilib support, but only if configuring for the target.
-AC_OUTPUT(Makefile,
- [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
-if test -n "$CONFIG_FILES"; then
+AC_CONFIG_COMMANDS([default],
+[[if test -n "$CONFIG_FILES"; then
   if test -n "${with_target_subdir}"; then
     # FIXME: We shouldn't need to set ac_file
     ac_file=Makefile
     LD="${ORIGINAL_LD_FOR_MULTILIBS}"
     . ${toplevel_srcdir}/config-ml.in
   fi
-fi],
-srcdir=${srcdir}
+fi]],
+[[srcdir=${srcdir}
 host=${host}
 target=${target}
 with_target_subdir=${with_target_subdir}
@@ -266,4 +230,6 @@ ac_configure_args="--enable-multilib ${ac_configure_args}"
 toplevel_srcdir=${toplevel_srcdir}
 CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
 ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
-)
+]])
+
+AC_OUTPUT