4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-31 19:40:33 +08:00
newlib-cygwin/newlib/libm/configure.ac
Mike Frysinger 2339979934 newlib: libm: merge machine/ configure scripts up a level
The machine configure scripts are all effectively stub scripts that
pass the higher level options to its own makefile.  The only one doing
any custom tests was nds32.  The rest were all effectively the same as
the libm/ configure script.

So instead of recursively running configure in all of these subdirs,
generate their makefiles from the top-level configure.  For nds32,
deploy a pattern of including subdir logic via m4:
	m4_include([machine/nds32/acinclude.m4])

Even its set of checks are very small -- it does 2 preprocessor tests
and sets up 2 makefile conditionals.

Some of the generated machine makefiles have a bunch of extra stuff
added to them, but that's because they were inconsistent in their
configure libtool calls.  The top-level has it, so it exports some
new vars to the ones that weren't already.
2022-01-26 03:11:20 -05:00

67 lines
2.4 KiB
Plaintext

dnl This is the newlib/libm configure.in file.
dnl Process this file with autoconf to produce a configure script.
AC_INIT([newlib],[NEWLIB_VERSION])
AC_CONFIG_SRCDIR([libm.texi])
AC_ARG_ENABLE(newlib_hw_fp,
[ --enable-newlib-hw-fp Turn on hardware floating point math],
[case "${enableval}" in
yes) newlib_hw_fp=true ;;
no) newlib_hw_fp=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-newlib-hw-fp) ;;
esac],[newlib_hw_fp=false])
AM_CONDITIONAL(NEWLIB_HW_FP, test x$newlib_hw_fp = xtrue)
dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
AC_CONFIG_AUX_DIR(../..)
NEWLIB_CONFIGURE(..)
dnl We have to enable libtool after NEWLIB_CONFIGURE because if we try and
dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first
dnl line of the macro which fail because appropriate LDFLAGS are not set.
_LT_DECL_SED
_LT_PROG_ECHO_BACKSLASH
if test "${use_libtool}" = "yes"; then
LT_INIT([win32-dll])
fi
AC_TYPE_LONG_DOUBLE
AM_CONDITIONAL(HAVE_LONG_DOUBLE, test x"$ac_cv_type_long_double" = x"yes")
dnl We have to include these unconditionally since machines might want to use
dnl AM_CONDITIONAL in their subdirs.
m4_include([machine/nds32/acinclude.m4])
LIBM_MACHINE_LIB=
if test -n "${libm_machine_dir}"; then
case ${libm_machine_dir} in
aarch64) AC_CONFIG_FILES([machine/aarch64/Makefile]) ;;
arm) AC_CONFIG_FILES([machine/arm/Makefile]) ;;
i386) AC_CONFIG_FILES([machine/i386/Makefile]) ;;
nds32) AC_CONFIG_FILES([machine/nds32/Makefile]) ;;
pru) AC_CONFIG_FILES([machine/pru/Makefile]) ;;
spu) AC_CONFIG_FILES([machine/spu/Makefile]) ;;
riscv) AC_CONFIG_FILES([machine/riscv/Makefile]) ;;
x86_64) AC_CONFIG_FILES([machine/x86_64/Makefile]) ;;
powerpc) AC_CONFIG_FILES([machine/powerpc/Makefile]) ;;
sparc) AC_CONFIG_FILES([machine/sparc/Makefile]) ;;
mips) AC_CONFIG_FILES([machine/mips/Makefile]) ;;
*) AC_MSG_ERROR([unsupported libm_machine_dir "${libm_machine_dir}"]) ;;
esac
LIBM_MACHINE_DIR=machine/${libm_machine_dir}
if test "${use_libtool}" = "yes"; then
LIBM_MACHINE_LIB=${LIBM_MACHINE_DIR}/lib${libm_machine_dir}.${aext}
else
LIBM_MACHINE_LIB=${LIBM_MACHINE_DIR}/lib.${aext}
fi
fi
AM_CONDITIONAL(HAVE_LIBM_MACHINE_DIR, test "x${LIBM_MACHINE_DIR}" != x)
AC_SUBST(LIBM_MACHINE_DIR)
AC_SUBST(LIBM_MACHINE_LIB)
AC_CONFIG_FILES([Makefile math/Makefile mathfp/Makefile common/Makefile complex/Makefile fenv/Makefile])
AC_OUTPUT