2002-01-08 02:12:32 +08:00
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
AC_PREREQ(2.5)dnl
|
|
|
|
AC_INIT(redboot-crt0.S)
|
|
|
|
|
2004-06-18 03:33:27 +08:00
|
|
|
dnl Support --disable-newlib-supplied-syscalls
|
|
|
|
AC_ARG_ENABLE(newlib-supplied-syscalls,
|
|
|
|
[ --disable-newlib-supplied-syscalls disable newlib from supplying syscalls],
|
|
|
|
[case "${enableval}" in
|
|
|
|
yes) newlib_may_supply_syscalls=yes ;;
|
|
|
|
no) newlib_may_supply_syscalls=no ;;
|
|
|
|
*) AC_MSG_ERROR(bad value ${enableval} for newlib-supplied-syscalls option) ;;
|
|
|
|
esac], [newlib_may_supply_syscalls=yes])dnl
|
|
|
|
|
|
|
|
if test "x$newlib_may_supply_syscalls" = "xyes"; then
|
|
|
|
BUILD_CRT0_TRUE=
|
|
|
|
BUILD_CRT0_FALSE='#'
|
|
|
|
else
|
|
|
|
BUILD_CRT0_TRUE='#'
|
|
|
|
BUILD_CRT0_FALSE=
|
|
|
|
fi
|
|
|
|
|
2002-01-08 02:12:32 +08:00
|
|
|
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 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
|
|
|
|
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
|
|
|
|
AS=${AS-as}
|
|
|
|
AC_SUBST(AS)
|
|
|
|
AR=${AR-ar}
|
|
|
|
AC_SUBST(AR)
|
|
|
|
LD=${LD-ld}
|
|
|
|
AC_SUBST(LD)
|
|
|
|
AC_PROG_RANLIB
|
|
|
|
|
|
|
|
case "${target}" in
|
2004-10-01 19:37:17 +08:00
|
|
|
*-*-elf | *-*-eabi)
|
2002-01-08 02:12:32 +08:00
|
|
|
objtype=elf-
|
|
|
|
;;
|
|
|
|
*-*-coff)
|
|
|
|
objtype=coff-
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
AC_SUBST(objtype)
|
|
|
|
|
|
|
|
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,
|
|
|
|
. ${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}
|
|
|
|
)
|
|
|
|
|