newlib/libgloss/mips/configure.in
Jeff Johnston 49703eb3f5 2003-08-20 Chris Demetriou <cgd@broadcom.com>
* mips/crt0_cfe.S: New file.
        * mips/cfe_mem.c: New file.
        * mips/cfe_prestart.S: Remove.
        * mips/cfe.ld: Adjust to use crt0_cfe.o as the startup file, and
        and use _start as the entry point.  Align BSS to 32-byte boundary.
        * mips/cfe.c: Reimplement to fit on top of a crt0_cfe.o file.
        * mips/cfe_api.h (__libcfe_stack_size, __libcfe_mem_limit)
        (__libcfe_meminit, __libcfe_stack_top): New prototypes.
        * mips/Makefile.in (CFEOBJS): Replace cfe_prestart.o with cfe_mem.o.
        (cfe.o, cfe_api.o, cfe_mem.o, crt0_cfe.o): New targets.
        * mips/configure.in: Build and install crt0_cfe.o when CFE support
        is built.
        * mips/configure: Regenerate.
2003-08-20 19:32:52 +00:00

158 lines
4.5 KiB
Plaintext

# Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000, 2002 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(crt0.S)
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
])
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
crt0=crt0.o
pcrt0=pcrt0.o
case "${target}" in
mips*-tx39*-*|mipstx39*-*-*)
part_specific_obj=
part_specific_defines=
script_list="dve idt jmr3904app jmr3904dram jmr3904dram-java jmr3904app-java"
bsp_list="libdve.a libidt.a libjmr3904.a"
;;
mipsisa32-*-* | mipsisa32el-*-* | \
mipsisa32r2-*-* | mipsisa32r2el-*-*)
crt0="crt0_cfe.o crt0_cygmon.o crt0.o"
pcrt0="pcrt0.o"
part_specific_obj=
part_specific_defines=
script_list="idt32 idt64 cfe"
bsp_list="libcygmon.a libidt.a libcfe.a"
;;
mips*-lsi*-*)
part_specific_obj=entry.o
part_specific_defines=
script_list="lsi"
bsp_list=liblsi.a
;;
mips64vr5*-*-*)
part_specific_obj="vr5xxx.o cma101.o"
part_specific_defines=-DR5000
script_list="idt pmon ddb ddb-kseg0 lsi idtecoff nullmon"
bsp_list="libidt.a libpmon.a liblsi.a libnullmon.a"
;;
mips64vr-*-* | mips64vrel-*-*)
part_specific_obj="vr5xxx.o cma101.o"
script_list="ddb ddb-kseg0 nullmon"
bsp_list="libpmon.a libnullmon.a"
;;
*)
crt0="crt0_cfe.o crt0.o"
part_specific_obj="vr4300.o cma101.o"
part_specific_defines=
script_list="idt pmon ddb ddb-kseg0 lsi cfe idtecoff nullmon"
bsp_list="libidt.a libpmon.a liblsi.a libcfe.a libnullmon.a"
;;
esac
host_makefile_frag=${srcdir}/../config/default.mh
target_makefile_frag=${srcdir}/../config/mips.mt
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)
target_makefile_frag_path=$target_makefile_frag
AC_SUBST(target_makefile_frag_path)
AC_SUBST_FILE(target_makefile_frag)
AC_SUBST(part_specific_obj)
AC_SUBST(part_specific_defines)
AC_SUBST(script_list)
AC_SUBST(bsp_list)
AC_SUBST(crt0)
AC_SUBST(pcrt0)
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}
)