2000-02-18 03:39:52 +08:00
|
|
|
dnl This is the newlib/libc configure.in file.
|
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
|
2006-04-14 03:56:32 +08:00
|
|
|
AC_PREREQ(2.59)
|
|
|
|
AC_INIT([newlib],[NEWLIB_VERSION])
|
|
|
|
AC_CONFIG_SRCDIR([sys.tex])
|
2000-02-18 03:39:52 +08:00
|
|
|
|
|
|
|
dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
|
|
|
|
AC_CONFIG_AUX_DIR(../..)
|
|
|
|
|
2002-08-10 05:12:09 +08:00
|
|
|
dnl Support --enable-newlib-io-pos-args used by libc/stdio
|
|
|
|
AC_ARG_ENABLE(newlib-io-pos-args,
|
|
|
|
[ --enable-newlib-io-pos-args enable printf-family positional arg support],
|
|
|
|
[case "${enableval}" in
|
|
|
|
yes) newlib_io_pos_args=yes ;;
|
|
|
|
no) newlib_io_pos_args=no ;;
|
|
|
|
*) AC_MSG_ERROR(bad value ${enableval} for newlib-io-pos-args option) ;;
|
|
|
|
esac], [newlib_io_pos_args=no])dnl
|
|
|
|
|
2013-04-12 20:05:31 +08:00
|
|
|
dnl Support --enable-newlib-wide-orient used by libc/stdio
|
|
|
|
AC_ARG_ENABLE(newlib_wide_orient,
|
|
|
|
[ --disable-newlib-wide-orient Turn off wide char orient in streamio],
|
|
|
|
[case "${enableval}" in
|
|
|
|
yes) newlib_wide_orient=yes ;;
|
|
|
|
no) newlib_wide_orient=no ;;
|
|
|
|
*) AC_MSG_ERROR(bad value ${enableval} for newlib-wide-orient) ;;
|
|
|
|
esac],[newlib_wide_orient=yes])
|
|
|
|
AM_CONDITIONAL(NEWLIB_WIDE_ORIENT, test x$newlib_wide_orient = xyes)
|
|
|
|
|
2013-05-29 20:37:59 +08:00
|
|
|
dnl Support --enable-newlib-nano-malloc used by libc/stdlib
|
|
|
|
AC_ARG_ENABLE(newlib_nano_malloc,
|
|
|
|
[ --enable-newlib-nano-malloc Use small-footprint nano-malloc implementation],
|
|
|
|
[case "${enableval}" in
|
|
|
|
yes) newlib_nano_malloc=yes ;;
|
|
|
|
no) newlib_nano_malloc=no ;;
|
|
|
|
*) AC_MSG_ERROR(bad value ${enableval} for newlib-nano-malloc) ;;
|
|
|
|
esac],[newlib_nano_malloc=no])
|
|
|
|
AM_CONDITIONAL(NEWLIB_NANO_MALLOC, test x$newlib_nano_malloc = xyes)
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
NEWLIB_CONFIGURE(..)
|
|
|
|
|
2001-12-14 07:50:11 +08:00
|
|
|
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.
|
2007-05-25 01:33:42 +08:00
|
|
|
_LT_DECL_SED
|
2010-02-25 05:00:08 +08:00
|
|
|
_LT_PROG_ECHO_BACKSLASH
|
2001-12-14 07:50:11 +08:00
|
|
|
if test "${use_libtool}" = "yes"; then
|
|
|
|
AC_LIBTOOL_WIN32_DLL
|
|
|
|
AM_PROG_LIBTOOL
|
|
|
|
fi
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
AC_CONFIG_SUBDIRS(machine sys)
|
|
|
|
|
|
|
|
CRT0=
|
2005-09-01 04:39:43 +08:00
|
|
|
if test "x${have_crt0}" = "xyes"; then
|
2000-02-18 03:39:52 +08:00
|
|
|
CRT0=crt0.o
|
|
|
|
fi
|
|
|
|
AC_SUBST(CRT0)
|
|
|
|
|
|
|
|
dnl For each directory which we may or may not want, we define a name
|
|
|
|
dnl for the library and an automake conditional for whether we should
|
|
|
|
dnl build the library.
|
|
|
|
|
|
|
|
LIBC_SIGNAL_LIB=
|
|
|
|
LIBC_SIGNAL_DEF=
|
|
|
|
if test -n "${signal_dir}"; then
|
2001-12-14 07:50:11 +08:00
|
|
|
if test "${use_libtool}" = "yes"; then
|
|
|
|
LIBC_SIGNAL_LIB=${signal_dir}/lib${signal_dir}.${aext}
|
|
|
|
else
|
|
|
|
LIBC_SIGNAL_LIB=${signal_dir}/lib.${aext}
|
|
|
|
fi
|
2000-02-18 03:39:52 +08:00
|
|
|
LIBC_SIGNAL_DEF=${signal_dir}/stmp-def
|
|
|
|
fi
|
|
|
|
AC_SUBST(LIBC_SIGNAL_LIB)
|
|
|
|
AC_SUBST(LIBC_SIGNAL_DEF)
|
|
|
|
AM_CONDITIONAL(HAVE_SIGNAL_DIR, test x${signal_dir} != x)
|
|
|
|
|
2007-02-01 03:34:38 +08:00
|
|
|
LIBC_STDIO_LIB=
|
|
|
|
LIBC_STDIO_DEF=
|
|
|
|
if test -n "${stdio_dir}"; then
|
|
|
|
if test "${use_libtool}" = "yes"; then
|
|
|
|
LIBC_STDIO_LIB=${stdio_dir}/lib${stdio_dir}.${aext}
|
|
|
|
else
|
|
|
|
LIBC_STDIO_LIB=${stdio_dir}/lib.${aext}
|
|
|
|
fi
|
|
|
|
LIBC_STDIO_DEF=${stdio_dir}/stmp-def
|
|
|
|
fi
|
|
|
|
AC_SUBST(LIBC_STDIO_LIB)
|
|
|
|
AC_SUBST(LIBC_STDIO_DEF)
|
|
|
|
AM_CONDITIONAL(HAVE_STDIO_DIR, test x${stdio_dir} != x)
|
|
|
|
|
2002-07-18 07:25:44 +08:00
|
|
|
LIBC_STDIO64_LIB=
|
|
|
|
LIBC_STDIO64_DEF=
|
|
|
|
if test -n "${stdio64_dir}"; then
|
|
|
|
if test "${use_libtool}" = "yes"; then
|
|
|
|
LIBC_STDIO64_LIB=${stdio64_dir}/lib${stdio64_dir}.${aext}
|
|
|
|
else
|
|
|
|
LIBC_STDIO64_LIB=${stdio64_dir}/lib.${aext}
|
|
|
|
fi
|
|
|
|
LIBC_STDIO64_DEF=${stdio64_dir}/stmp-def
|
|
|
|
fi
|
|
|
|
AC_SUBST(LIBC_STDIO64_LIB)
|
|
|
|
AC_SUBST(LIBC_STDIO64_DEF)
|
|
|
|
AM_CONDITIONAL(HAVE_STDIO64_DIR, test x${stdio64_dir} != x)
|
|
|
|
|
2010-04-23 07:32:42 +08:00
|
|
|
LIBC_POSIX_LIB=
|
|
|
|
LIBC_POSIX_DEF=
|
|
|
|
if test -n "${posix_dir}"; then
|
|
|
|
if test "${use_libtool}" = "yes"; then
|
|
|
|
LIBC_POSIX_LIB=${posix_dir}/lib${posix_dir}.${aext}
|
|
|
|
else
|
|
|
|
LIBC_POSIX_LIB=${posix_dir}/lib.${aext}
|
|
|
|
fi
|
|
|
|
LIBC_POSIX_DEF=${posix_dir}/stmp-def
|
|
|
|
fi
|
|
|
|
AC_SUBST(LIBC_POSIX_LIB)
|
|
|
|
AC_SUBST(LIBC_POSIX_DEF)
|
|
|
|
AM_CONDITIONAL(HAVE_POSIX_DIR, test x${posix_dir} != x)
|
|
|
|
|
2010-03-02 20:05:18 +08:00
|
|
|
LIBC_XDR_LIB=
|
|
|
|
LIBC_XDR_DEF=
|
|
|
|
if test -n "${xdr_dir}"; then
|
|
|
|
if test "${use_libtool}" = "yes"; then
|
|
|
|
LIBC_XDR_LIB=${xdr_dir}/lib${xdr_dir}.${aext}
|
|
|
|
else
|
|
|
|
LIBC_XDR_LIB=${xdr_dir}/lib.${aext}
|
|
|
|
fi
|
|
|
|
LIBC_XDR_DEF=${xdr_dir}/stmp-def
|
|
|
|
fi
|
|
|
|
AC_SUBST(LIBC_XDR_LIB)
|
|
|
|
AC_SUBST(LIBC_XDR_DEF)
|
|
|
|
AM_CONDITIONAL(HAVE_XDR_DIR, test x${xdr_dir} != x)
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
LIBC_SYSCALL_LIB=
|
|
|
|
if test -n "${syscall_dir}"; then
|
2001-12-14 07:50:11 +08:00
|
|
|
if test "${use_libtool}" = "yes"; then
|
|
|
|
LIBC_SYSCALL_LIB=${syscall_dir}/lib${syscall_dir}.${aext}
|
|
|
|
else
|
|
|
|
LIBC_SYSCALL_LIB=${syscall_dir}/lib.${aext}
|
|
|
|
fi
|
2000-02-18 03:39:52 +08:00
|
|
|
fi
|
|
|
|
AC_SUBST(LIBC_SYSCALL_LIB)
|
|
|
|
AM_CONDITIONAL(HAVE_SYSCALL_DIR, test x${syscall_dir} != x)
|
|
|
|
|
|
|
|
LIBC_UNIX_LIB=
|
|
|
|
if test -n "${unix_dir}"; then
|
2001-12-14 07:50:11 +08:00
|
|
|
if test "${use_libtool}" = "yes"; then
|
|
|
|
LIBC_UNIX_LIB=${unix_dir}/lib${unix_dir}.${aext}
|
|
|
|
else
|
|
|
|
LIBC_UNIX_LIB=${unix_dir}/lib.${aext}
|
|
|
|
fi
|
2000-02-18 03:39:52 +08:00
|
|
|
fi
|
|
|
|
AC_SUBST(LIBC_UNIX_LIB)
|
|
|
|
AM_CONDITIONAL(HAVE_UNIX_DIR, test x${unix_dir} != x)
|
|
|
|
|
2002-05-02 02:44:13 +08:00
|
|
|
LIBC_EXTRA_LIB=
|
|
|
|
LIBC_EXTRA_DEF=
|
|
|
|
extra_dir=
|
|
|
|
|
|
|
|
AC_SUBST(LIBC_EXTRA_LIB)
|
|
|
|
AC_SUBST(LIBC_EXTRA_DEF)
|
|
|
|
AC_SUBST(extra_dir)
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
dnl We always recur into sys and machine, and let them decide what to
|
|
|
|
dnl do. However, we do need to know whether they will produce a library.
|
|
|
|
|
|
|
|
LIBC_SYS_LIB=
|
|
|
|
if test -n "${sys_dir}"; then
|
2001-12-14 07:50:11 +08:00
|
|
|
if test "${use_libtool}" = "yes"; then
|
|
|
|
LIBC_SYS_LIB=sys/${sys_dir}/lib${sys_dir}.${aext}
|
|
|
|
else
|
|
|
|
LIBC_SYS_LIB=sys/lib.${aext}
|
|
|
|
fi
|
2000-02-18 03:39:52 +08:00
|
|
|
fi
|
|
|
|
AC_SUBST(LIBC_SYS_LIB)
|
2001-12-14 07:50:11 +08:00
|
|
|
AC_SUBST(sys_dir)
|
2000-02-18 03:39:52 +08:00
|
|
|
|
2009-04-16 Ken Werner <ken.werner@de.ibm.com>
* libm/libm.texinfo: Add long double function support chapter.
* libc/include/machine/ieeefp.h: Add _LDBL_EQ_DBL define.
* libc/include/stdlib.h: Include <machine/ieeefp.h>.
(strtold, wcstold): Declare.
* libc/stdlib/strtold.c: New File.
* libc/stdlib/wcstold.c: Likewise.
* libc/configure.in: Add long double check.
* libc/configure: Regenerate.
* libc/stdlib/Makefile.am: Add strtold.c and wcstold.c.
* libc/stdlib/Makefile.in: Regenerate.
* libc/include/math.h (atanl, cosl, sinl, tanl, tanhl): Declare.
(frexpl, modfl, ceill, fabsl, floorl, log1pl, expm1l, acosl): Ditto.
(asinl, atan2l, coshl, sinhl, expl, ldexpl, logl, log10l, powl): Ditto.
(sqrtl, fmodl, hypotl, copysignl, nanl, ilogbl, asinhl, cbrt): Ditto.
(nextafterl, rintl, scalbnl, exp2l, scalblnl, tgammal): Ditto.
(nearbyintl, lrintl, llrintl, roundl, lroundl, llround): Ditto.
(llroundl, truncl, remquol, fdiml, fmaxl, fminl, fmal, acoshl): Ditto.
(atanhl, remainderl, lgammal, erfl, erfcl): Ditto.
* libm/common/atanl.c: New File.
* libm/common/cosl.c: Likewise.
* libm/common/sinl.c: Likewise.
* libm/common/modfl.c: Likewise.
* libm/common/frexpl.c: Likewise.
* libm/common/tanhl.c: Likewise.
* libm/common/tanl.c: Likewise.
* libm/common/expm1l.c: Likewise.
* libm/common/log1pl.c: Likewise.
* libm/common/ceill.c: Likewise.
* libm/common/fabsl.c: Likewise.
* libm/common/floorl.c: Likewise.
* libm/common/acosl.c: Likewise.
* libm/common/asinl.c: Likewise.
* libm/common/atan2l.c: Likewise.
* libm/common/coshl.c: Likewise.
* libm/common/expl.c: Likewise.
* libm/common/fmodl.c: Likewise.
* libm/common/hypotl.c: Likewise.
* libm/common/ldexpl.c: Likewise.
* libm/common/log10l.c: Likewise.
* libm/common/logl.c: Likewise.
* libm/common/powl.c: Likewise.
* libm/common/sqrtl.c: Likewise.
* libm/common/copysignl.c: Likewise.
* libm/common/ilogbl.c: Likewise.
* libm/common/nanl.c: Likewise.
* libm/common/cbrtl.c: Likewise.
* libm/common/asinhl.c: Likewise.
* libm/common/nextafterl.c: Likewise.
* libm/common/rintl.c: Likewise.
* libm/common/scalbnl.c: Likewise.
* libm/common/exp2l.c: Likewise.
* libm/common/fdiml.c: Likewise.
* libm/common/fmal.c: Likewise.
* libm/common/fmaxl.c: Likewise.
* libm/common/fminl.c: Likewise.
* libm/common/lrintl.c: Likewise.
* libm/common/lroundl.c: Likewise.
* libm/common/nearbyintl.c: Likewise.
* libm/common/remquol.c: Likewise.
* libm/common/roundl.c: Likewise.
* libm/common/scalblnl.c: Likewise.
* libm/common/truncl.c: Likewise.
* libm/common/acoshl.c: Likewise.
* libm/common/atanhl.c: Likewise.
* libm/common/erfcl.c: Likewise.
* libm/common/erfl.c: Likewise.
* libm/common/lgammal.c: Likewise.
* libm/common/remainderl.c: Likewise.
* libm/common/tgammal.c: Likewise.
* libm/common/sinhl.c: Likewise.
* libm/common/llroundl.c: Likewise.
* libm/configure.in: Add long double check.
* libm/configure: Regenerate.
* libm/common/Makefile.am: Add new files.
* libm/common/Makefile.in: Regenerate.
2009-04-17 02:24:35 +08:00
|
|
|
dnl Autoconf 2.59 doesn't support the AC_TYPE_LONG_DOUBLE macro. Instead of:
|
|
|
|
dnl AC_TYPE_LONG_DOUBLE
|
|
|
|
dnl AM_CONDITIONAL(HAVE_LONG_DOUBLE, test x"$ac_cv_type_long_double" = x"yes")
|
|
|
|
dnl we specify our own long double test.
|
2009-04-18 04:50:44 +08:00
|
|
|
AC_CACHE_CHECK([Checking long double support], [acnewlib_cv_type_long_double],[dnl
|
|
|
|
cat > conftest.c <<EOF
|
|
|
|
int main() {
|
|
|
|
long double x = 0.0L;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
EOF
|
|
|
|
if AC_TRY_COMMAND([${CC} $CFLAGS $CPPFLAGS -c conftest.c 1>&AS_MESSAGE_LOG_FD])
|
|
|
|
then
|
|
|
|
acnewlib_cv_type_long_double=yes
|
|
|
|
else
|
|
|
|
acnewlib_cv_type_long_double=no
|
|
|
|
fi
|
|
|
|
rm -f conftest*])
|
2009-04-16 Ken Werner <ken.werner@de.ibm.com>
* libm/libm.texinfo: Add long double function support chapter.
* libc/include/machine/ieeefp.h: Add _LDBL_EQ_DBL define.
* libc/include/stdlib.h: Include <machine/ieeefp.h>.
(strtold, wcstold): Declare.
* libc/stdlib/strtold.c: New File.
* libc/stdlib/wcstold.c: Likewise.
* libc/configure.in: Add long double check.
* libc/configure: Regenerate.
* libc/stdlib/Makefile.am: Add strtold.c and wcstold.c.
* libc/stdlib/Makefile.in: Regenerate.
* libc/include/math.h (atanl, cosl, sinl, tanl, tanhl): Declare.
(frexpl, modfl, ceill, fabsl, floorl, log1pl, expm1l, acosl): Ditto.
(asinl, atan2l, coshl, sinhl, expl, ldexpl, logl, log10l, powl): Ditto.
(sqrtl, fmodl, hypotl, copysignl, nanl, ilogbl, asinhl, cbrt): Ditto.
(nextafterl, rintl, scalbnl, exp2l, scalblnl, tgammal): Ditto.
(nearbyintl, lrintl, llrintl, roundl, lroundl, llround): Ditto.
(llroundl, truncl, remquol, fdiml, fmaxl, fminl, fmal, acoshl): Ditto.
(atanhl, remainderl, lgammal, erfl, erfcl): Ditto.
* libm/common/atanl.c: New File.
* libm/common/cosl.c: Likewise.
* libm/common/sinl.c: Likewise.
* libm/common/modfl.c: Likewise.
* libm/common/frexpl.c: Likewise.
* libm/common/tanhl.c: Likewise.
* libm/common/tanl.c: Likewise.
* libm/common/expm1l.c: Likewise.
* libm/common/log1pl.c: Likewise.
* libm/common/ceill.c: Likewise.
* libm/common/fabsl.c: Likewise.
* libm/common/floorl.c: Likewise.
* libm/common/acosl.c: Likewise.
* libm/common/asinl.c: Likewise.
* libm/common/atan2l.c: Likewise.
* libm/common/coshl.c: Likewise.
* libm/common/expl.c: Likewise.
* libm/common/fmodl.c: Likewise.
* libm/common/hypotl.c: Likewise.
* libm/common/ldexpl.c: Likewise.
* libm/common/log10l.c: Likewise.
* libm/common/logl.c: Likewise.
* libm/common/powl.c: Likewise.
* libm/common/sqrtl.c: Likewise.
* libm/common/copysignl.c: Likewise.
* libm/common/ilogbl.c: Likewise.
* libm/common/nanl.c: Likewise.
* libm/common/cbrtl.c: Likewise.
* libm/common/asinhl.c: Likewise.
* libm/common/nextafterl.c: Likewise.
* libm/common/rintl.c: Likewise.
* libm/common/scalbnl.c: Likewise.
* libm/common/exp2l.c: Likewise.
* libm/common/fdiml.c: Likewise.
* libm/common/fmal.c: Likewise.
* libm/common/fmaxl.c: Likewise.
* libm/common/fminl.c: Likewise.
* libm/common/lrintl.c: Likewise.
* libm/common/lroundl.c: Likewise.
* libm/common/nearbyintl.c: Likewise.
* libm/common/remquol.c: Likewise.
* libm/common/roundl.c: Likewise.
* libm/common/scalblnl.c: Likewise.
* libm/common/truncl.c: Likewise.
* libm/common/acoshl.c: Likewise.
* libm/common/atanhl.c: Likewise.
* libm/common/erfcl.c: Likewise.
* libm/common/erfl.c: Likewise.
* libm/common/lgammal.c: Likewise.
* libm/common/remainderl.c: Likewise.
* libm/common/tgammal.c: Likewise.
* libm/common/sinhl.c: Likewise.
* libm/common/llroundl.c: Likewise.
* libm/configure.in: Add long double check.
* libm/configure: Regenerate.
* libm/common/Makefile.am: Add new files.
* libm/common/Makefile.in: Regenerate.
2009-04-17 02:24:35 +08:00
|
|
|
AM_CONDITIONAL(HAVE_LONG_DOUBLE, test x"$acnewlib_cv_type_long_double" = x"yes")
|
|
|
|
|
2009-04-18 04:50:44 +08:00
|
|
|
dnl iconv library will be compiled if --enable-newlib-iconv option is enabled
|
|
|
|
AM_CONDITIONAL(ENABLE_NEWLIB_ICONV, test x${newlib_iconv} != x)
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
if test -n "${machine_dir}"; then
|
2001-12-14 07:50:11 +08:00
|
|
|
if test "${use_libtool}" = "yes"; then
|
|
|
|
LIBC_MACHINE_LIB=machine/${machine_dir}/lib${machine_dir}.${aext}
|
|
|
|
else
|
|
|
|
LIBC_MACHINE_LIB=machine/lib.${aext}
|
|
|
|
fi
|
2000-02-18 03:39:52 +08:00
|
|
|
fi
|
|
|
|
AC_SUBST(LIBC_MACHINE_LIB)
|
2001-12-14 07:50:11 +08:00
|
|
|
AC_SUBST(machine_dir)
|
2000-02-18 03:39:52 +08:00
|
|
|
|
2010-03-02 20:05:18 +08:00
|
|
|
AC_CONFIG_FILES([Makefile argz/Makefile ctype/Makefile errno/Makefile locale/Makefile misc/Makefile reent/Makefile search/Makefile stdio/Makefile stdio64/Makefile stdlib/Makefile string/Makefile time/Makefile posix/Makefile signal/Makefile syscalls/Makefile unix/Makefile iconv/Makefile iconv/ces/Makefile iconv/ccs/Makefile iconv/ccs/binary/Makefile iconv/lib/Makefile xdr/Makefile])
|
2006-04-14 03:56:32 +08:00
|
|
|
AC_OUTPUT
|