230 lines
5.5 KiB
Plaintext
230 lines
5.5 KiB
Plaintext
# Copyright (c) 1995, 1996 Cygnus Support
|
|
#
|
|
# The authors hereby grant permission to use, copy, modify, distribute,
|
|
# and license this software and its documentation for any purpose, provided
|
|
# that existing copyright notices are retained in all copies and that this
|
|
# notice is included verbatim in any distributions. No written agreement,
|
|
# license, or royalty fee is required for any of the authorized uses.
|
|
# Modifications to this software may be copyrighted by their authors
|
|
# and need not follow the licensing terms described here, provided that
|
|
# the new terms are clearly indicated on the first page of each file where
|
|
# they apply.
|
|
#
|
|
# Process this file with autoconf to produce a configure script.
|
|
#
|
|
AC_PREREQ(2.5)dnl
|
|
AC_INIT(close.c)
|
|
AC_CONFIG_HEADER(config.h)
|
|
|
|
if test "${enable_shared}" = "yes" ; then
|
|
echo "Shared libraries not supported for cross compiling, ignored"
|
|
fi
|
|
|
|
if test "$srcdir" = "." ; then
|
|
if test "${with_target_subdir}" != "." ; then
|
|
libgloss_topdir="${srcdir}/${with_multisrctop}../../.."
|
|
else
|
|
libgloss_topdir="${srcdir}/${with_multisrctop}../.."
|
|
fi
|
|
else
|
|
libgloss_topdir="${srcdir}/../.."
|
|
fi
|
|
AC_CONFIG_AUX_DIR($libgloss_topdir)
|
|
|
|
AC_CANONICAL_SYSTEM
|
|
AC_ARG_PROGRAM
|
|
|
|
AC_PROG_INSTALL
|
|
|
|
# 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 building a library that must be included in all links, so we
|
|
# can't link an executable until this lib is built.
|
|
# autoconf should provide a way to do this.
|
|
|
|
AC_DEFUN(LIB_AC_PROG_CC,
|
|
[AC_BEFORE([$0], [AC_PROG_CPP])dnl
|
|
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
|
|
])
|
|
|
|
AC_DEFINE(HAVE_GNU_LD)
|
|
dnl Make sure syscall names match those being used by newlib
|
|
case "${target}" in
|
|
*-*-cygwin*)
|
|
;;
|
|
a29k-amd-udi)
|
|
;;
|
|
arc-*-*)
|
|
;;
|
|
arm-*-pe)
|
|
;;
|
|
arm-*-*)
|
|
;;
|
|
strongarm-*-*)
|
|
;;
|
|
d10v*)
|
|
;;
|
|
h8300*-*-*)
|
|
;;
|
|
h8500-*-*)
|
|
;;
|
|
i[3456]86-*-sco*)
|
|
;;
|
|
m32r-*-*)
|
|
;;
|
|
mn10?00-*-*)
|
|
;;
|
|
powerpcle-*-pe)
|
|
;;
|
|
sh*-*-*)
|
|
;;
|
|
sparc-sun-sunos*)
|
|
;;
|
|
sparc64-*-*)
|
|
;;
|
|
thumb-*-pe)
|
|
;;
|
|
thumb-*-*)
|
|
;;
|
|
v850-*-*)
|
|
;;
|
|
v850e-*-*)
|
|
;;
|
|
v850ea-*-*)
|
|
;;
|
|
w65-*-*)
|
|
;;
|
|
xstormy16-*-*)
|
|
;;
|
|
z8k-*-*)
|
|
;;
|
|
*)
|
|
AC_DEFINE(MISSING_SYSCALL_NAMES)
|
|
;;
|
|
esac
|
|
|
|
dnl Make sure we know if elf format used
|
|
case "${target}" in
|
|
*-*-elf)
|
|
AC_DEFINE(HAVE_ELF)
|
|
|
|
AC_CACHE_CHECK(for .previous assembler directive,
|
|
libc_cv_asm_previous_directive, [dnl
|
|
libc_cv_asm_previous_directive=no
|
|
cat > conftest.s <<EOF
|
|
.section foo_section
|
|
.previous
|
|
EOF
|
|
if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
|
|
libc_cv_asm_previous_directive=yes
|
|
AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
|
|
fi
|
|
rm -f conftest*])
|
|
|
|
AC_CACHE_CHECK(for .popsection assembler directive,
|
|
libc_cv_asm_popsection_directive, [dnl
|
|
libc_cv_asm_popsection_directive=no
|
|
cat > conftest.s <<EOF
|
|
.pushsection foo_section
|
|
.popsection
|
|
EOF
|
|
if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
|
|
libc_cv_asm_popsection_directive=yes
|
|
AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
|
|
fi
|
|
rm -f conftest*])
|
|
|
|
AC_CACHE_CHECK(for section attributes,
|
|
libc_cv_section_attributes, [dnl
|
|
libc_cv_section_attributes=no
|
|
cat > conftest.c <<EOF
|
|
int secttest __attribute__ ((section (".gnu.warning.secttest"))) = 10;
|
|
int main() {}
|
|
EOF
|
|
if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.c 1>&AC_FD_CC); then
|
|
libc_cv_section_attributes=yes
|
|
AC_DEFINE(HAVE_SECTION_ATTRIBUTES)
|
|
fi
|
|
rm -f conftest*])
|
|
;;
|
|
esac
|
|
|
|
AC_CACHE_CHECK(for symbol prefix, libc_symbol_prefix, [dnl
|
|
cat > conftest.c <<\EOF
|
|
foo () { }
|
|
EOF
|
|
dnl
|
|
libc_symbol_prefix=none
|
|
if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]);
|
|
then
|
|
libc_symbol_prefix='$'
|
|
else
|
|
if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]);
|
|
then
|
|
libc_symbol_prefix=_
|
|
fi
|
|
fi
|
|
rm -f conftest* ])
|
|
if test $libc_symbol_prefix != none; then
|
|
AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_symbol_prefix")
|
|
else
|
|
AC_DEFINE(__SYMBOL_PREFIX, "")
|
|
fi
|
|
|
|
LIB_AC_PROG_CC
|
|
AS=${AS-as}
|
|
AC_SUBST(AS)
|
|
AR=${AR-ar}
|
|
AC_SUBST(AR)
|
|
LD=${LD-ld}
|
|
AC_SUBST(LD)
|
|
AC_PROG_RANLIB
|
|
|
|
host_makefile_frag=${srcdir}/../config/default.mh
|
|
|
|
dnl We have to assign the same value to other variables because autoconf
|
|
dnl doesn't provide a mechanism to substitute a replacement keyword with
|
|
dnl arbitrary data or pathnames.
|
|
dnl
|
|
host_makefile_frag_path=$host_makefile_frag
|
|
AC_SUBST(host_makefile_frag_path)
|
|
AC_SUBST_FILE(host_makefile_frag)
|
|
|
|
AC_OUTPUT(Makefile,
|
|
ac_file=Makefile . ${libgloss_topdir}/config-ml.in,
|
|
srcdir=${srcdir}
|
|
target=${target}
|
|
ac_configure_args="${ac_configure_args} --enable-multilib"
|
|
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
|
|
libgloss_topdir=${libgloss_topdir}
|
|
)
|
|
|
|
|