* configure.in: Recognize --with-headers and --with-libs.
authorIan Lance Taylor <ian@airs.com>
Fri, 26 Aug 1994 19:05:59 +0000 (19:05 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 26 Aug 1994 19:05:59 +0000 (19:05 +0000)
* Makefile.in (all-xiberty): Depend upon all-ld.

ChangeLog
Makefile.in
configure.in

index 048cf9d..12390d6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
 Fri Aug 26 11:19:08 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
 
-       * configure.in: Recognize --without-newlib.
+       * configure.in: Recognize --with-headers, --with-libs, and
+       --without-newlib.
+       * Makefile.in (all-xiberty): Depend upon all-ld.
 
 Wed Aug 24 12:36:50 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
 
index d468c0d..d09b89b 100644 (file)
@@ -699,11 +699,11 @@ gcc-no-fixedincludes:
 # build a target all-X means to cd to X and make all.
 # all-glob is handled specially because it doesn't actually build.
 #
-# all-gui, all-libproc and all-librx are handled specially because
+# all-gui, and all-libproc are handled specially because
 # they are still experimental, and if they fail to build, that
 # shouldn't stop "make all".
-.PHONY: $(ALL_MODULES) all-glob all-gui all-libproc all-librx
-$(ALL_MODULES) all-glob all-gui all-libproc all-librx:
+.PHONY: $(ALL_MODULES) all-glob all-gui all-libproc
+$(ALL_MODULES) all-glob all-gui all-libproc:
        @dir=`echo $@ | sed -e 's/all-//'`; \
        if [ -d ./$${dir} ] ; then \
          if [ -f ./$${dir}/Makefile ] ; then \
@@ -949,7 +949,7 @@ all-tgas: all-libiberty all-bfd
 all-time:
 all-wdiff:
 all-uudecode: all-libiberty
-all-xiberty: all-gcc all-newlib
+all-xiberty: all-gcc all-ld all-newlib
 
 ### other supporting targets
 
index 25d1824..f35aa89 100644 (file)
@@ -173,11 +173,6 @@ case ${with_x} in
        ;;
 esac
 
-# Recognize --without-newlib.
-if [ x${with_newlib} = xno ]; then
-  configdirs=`echo " ${configdirs} " | sed -e 's/ newlib / /'`
-fi
-
 # Some tools are only suitable for building in a "native" situation.
 # Those are added when we have a host==target configuration.  For cross
 # toolchains, we add some directories that should only be useful in a
@@ -201,6 +196,84 @@ else
        is_cross_compiler=yes
 fi     
 
+copy_dirs=
+
+# Handle --with-headers=XXX.  The contents of the named directory are
+# copied to $(tooldir)/include.
+if [ x"${with_headers}" != x ]; then
+  if [ x${is_cross_compiler} = xno ]; then
+    echo 1>&2 '***' --with-headers is only supported when cross compiling
+    exit 1
+  fi
+  case "${exec_prefixoption}" in
+  "") x=${prefix} ;;
+  *) x=${exec_prefix} ;;
+  esac
+  copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/include"
+fi
+
+# Handle --with-libs=XXX.  Multiple directories are permitted.  The
+# contents are copied to $(tooldir)/lib.
+if [ x"${with_libs}" != x ]; then
+  if [ x${is_cross_compiler} = xno ]; then
+    echo 1>&2 '***' --with-libs is only supported when cross compiling
+    exit 1
+  fi
+  # Copy the libraries in reverse order, so that files in the first named
+  # library override files in subsequent libraries.
+  case "${exec_prefixoption}" in
+  "") x=${prefix} ;;
+  *) x=${exec_prefix} ;;
+  esac
+  for l in ${with_libs}; do
+    copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
+  done
+fi
+
+# If both --with-headers and --with-libs are specified, default to
+# --without-newlib.
+if [ x"${with_headers}" != x ] && [ x"${with_libs}" != x ]; then
+  if [ x"${with_newlib}" = x ]; then
+    with_newlib=no
+  fi
+fi
+
+# Recognize --without-newlib.
+if [ x${with_newlib} = xno ]; then
+  configdirs=`echo " ${configdirs} " | sed -e 's/ newlib / /'`
+fi
+
+# Handle ${copy_dirs}
+set fnord ${copy_dirs}
+shift
+while [ $# != 0 ]; do
+  if [ -f $2/COPIED ] && [ x"`cat $2/COPIED`" = x"$1" ]; then
+    :
+  else
+    echo Copying $1 to $2
+
+    # Use the install script to create the directory and all required
+    # parent directories.
+    if [ -d $2 ]; then
+      :
+    else
+      echo >config.temp
+      ${srcdir}/install.sh -c -m 644 config.temp $2/COPIED
+    fi
+
+    # Copy the directory, assuming we have tar.
+    # FIXME: Should we use B in the second tar?  Not all systems support it.
+    (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
+
+    # It is the responsibility of the user to correctly adjust all
+    # symlinks.  If somebody can figure out how to handle them correctly
+    # here, feel free to add the code.
+
+    echo $1 > $2/COPIED
+  fi
+  shift; shift
+done
+
 # Configure extra directories which are host specific
 
 case "${host}" in