diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 50 |
1 files changed, 35 insertions, 15 deletions
diff --git a/configure.in b/configure.in index 7badd61..eb5a933 100644 --- a/configure.in +++ b/configure.in @@ -20,22 +20,25 @@ esac ]) dnl Arguments to specify presence of other packages/features. +AC_ARG_WITH(fp, dnl + --with-fp if using floating-point hardware, + with_fp=$withval, with_fp=yes) AC_ARG_WITH(gnu-binutils, dnl --with-gnu-binutils if using GNU binutils (as and ld), - gnu_binutils=yes, gnu_binutils=no) + gnu_binutils=$withval, gnu_binutils=no) AC_ARG_WITH(gnu-ld, dnl --with-gnu-ld if using GNU ld (in the binutils package), - gnu_ld=yes, gnu_ld=no) + gnu_ld=$withval, gnu_ld=no) AC_ARG_WITH(gnu-as, dnl --with-gnu-as if using GNU as (in the binutils package), - gnu_as=yes, gnu_as=no) + gnu_as=$withval, gnu_as=no) test $gnu_binutils = yes && gnu_as=yes gnu_ld=yes AC_ARG_WITH(elf, dnl --with-elf if using the ELF object format, - elf=yes, elf=no) + elf=$withval, elf=no) AC_ARG_WITH(weak-symbols, dnl --with-weak-symbols if weak symbols are available in as and ld, - weak=yes, weak=no) + weak=$withval, weak=no) dnl Arguments to enable or disable building the shared, profiled, and dnl -fomit-frame-pointer libraries. @@ -166,11 +169,24 @@ fi # We have now validated the configuration. +# Some configurations imply other options. +case "$host_os" in +gnu* | linux* | bsd4.4* | netbsd* | freebsd*) + # These systems always use GNU tools. + gnu_ld=yes gnu_as=yes +esac +case "$host_os" in +gnu*elf* | linux* | sysv4* | solaris2*) + # These systems always use the ELF format. + elf=yes +esac + + # Remove the leading slashes. sysnames="`echo $sysnames | sed -e 's@^/@@' -e 's@ /@ @g'`" # Prepend the machine's FPU directory unless --without-fp. -if test "$with_fp" = no; then +if test "$with_fp" = yes; then fpu_dirs= for m in $mach; do if test -d $sysdep_dir$m/fpu; then @@ -180,6 +196,19 @@ if test "$with_fp" = no; then sysnames="`echo $fpu_dirs | sed -e 's,^/,,' -e 's, /,,g'` $sysnames" fi +# If using ELF, prepend the machine-specific ELF ABI directory. +if test "$elf" = yes; then + elf_dirs= + for m in $mach; do + if test -d $sysdep_dir$m/elf; then + elf_dirs="elf_dirs $m/elf" + fi + done + sysnames="`echo elf_dirs | sed -e 's,^/,,' -e 's, /,,g'` $sysnames" +fi + + + # Expand the list of system names into a full list of directories # from each element's parent name and Implies file (if present). set $sysnames @@ -241,15 +270,6 @@ libc_cv_sysdirs="$sysnames"]) AC_SUBST(sysnames) sysnames="$libc_cv_sysdirs" AC_MSG_RESULT(${sysnames}) -case "$host_os" in -gnu* | linux* | bsd4.4* | netbsd* | freebsd*) - gnu_ld=yes gnu_as=yes -esac -case "$host_os" in -gnu*elf* | linux* | sysv4* | solaris2*) - elf=yes -esac - AC_PROG_INSTALL if test "$INSTALL" = "${srcdir}/install-sh"; then # The makefiles need to use a different form to find it in $srcdir. |