From: Bruno Haible Date: Thu, 25 Dec 2008 19:18:10 +0000 (+0100) Subject: Add support for universal builds to vasnprintf. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=431a5654fefdc324c0f352e8263dcca9cb8ec850;hp=9d19d64dfc42ee99cc00a0a08786fd2b67ec34d6;p=pspp Add support for universal builds to vasnprintf. --- diff --git a/ChangeLog b/ChangeLog index dec7912cbf..e313852512 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,24 @@ 2008-12-25 Bruno Haible + Add support for universal builds to vasnprintf. + * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple + universal builds, guess no. + * modules/vasnprintf-posix (Depends-on): Add multiarch. + * modules/vasprintf-posix (Depends-on): Likewise. + * modules/fprintf-posix (Depends-on): Likewise. + * modules/vfprintf-posix (Depends-on): Likewise. + * modules/snprintf-posix (Depends-on): Likewise. + * modules/vsnprintf-posix (Depends-on): Likewise. + * modules/sprintf-posix (Depends-on): Likewise. + * modules/vsprintf-posix (Depends-on): Likewise. + * modules/unistdio/u8-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise. + * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise. + Add support for universal builds to . * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): In Apple diff --git a/m4/printf.m4 b/m4/printf.m4 index df26c13ecc..474a635575 100644 --- a/m4/printf.m4 +++ b/m4/printf.m4 @@ -1,4 +1,4 @@ -# printf.m4 serial 24 +# printf.m4 serial 25 dnl Copyright (C) 2003, 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -811,13 +811,15 @@ dnl Result is gl_cv_func_printf_enomem. AC_DEFUN([gl_PRINTF_ENOMEM], [ AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([gl_MULTIARCH]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf survives out-of-memory conditions], [gl_cv_func_printf_enomem], [ gl_cv_func_printf_enomem="guessing no" if test "$cross_compiling" = no; then - AC_LANG_CONFTEST([AC_LANG_SOURCE([ + if test $APPLE_UNIVERSAL_BUILD = 0; then + AC_LANG_CONFTEST([AC_LANG_SOURCE([ ]GL_NOCRASH[ changequote(,)dnl #include @@ -866,21 +868,27 @@ int main() } changequote([,])dnl ])]) - if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then - (./conftest - result=$? - if test $result != 0 && test $result != 77; then result=1; fi - exit $result - ) >/dev/null 2>/dev/null - case $? in - 0) gl_cv_func_printf_enomem="yes" ;; - 77) gl_cv_func_printf_enomem="guessing no" ;; - *) gl_cv_func_printf_enomem="no" ;; - esac + if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then + (./conftest + result=$? + if test $result != 0 && test $result != 77; then result=1; fi + exit $result + ) >/dev/null 2>/dev/null + case $? in + 0) gl_cv_func_printf_enomem="yes" ;; + 77) gl_cv_func_printf_enomem="guessing no" ;; + *) gl_cv_func_printf_enomem="no" ;; + esac + else + gl_cv_func_printf_enomem="guessing no" + fi + rm -fr conftest* else + dnl A universal build on Apple MacOS X platforms. + dnl The result would be 'no' in 32-bit mode and 'yes' in 64-bit mode. + dnl But we need a configuration result that is valid in both modes. gl_cv_func_printf_enomem="guessing no" fi - rm -fr conftest* fi if test "$gl_cv_func_printf_enomem" = "guessing no"; then changequote(,)dnl diff --git a/modules/fprintf-posix b/modules/fprintf-posix index 2472c33a42..2f22ebda8d 100644 --- a/modules/fprintf-posix +++ b/modules/fprintf-posix @@ -21,6 +21,7 @@ fpucw nocrash printf-safe errno +multiarch configure.ac: gl_FUNC_FPRINTF_POSIX diff --git a/modules/snprintf-posix b/modules/snprintf-posix index 106997b452..28c8fe37e0 100644 --- a/modules/snprintf-posix +++ b/modules/snprintf-posix @@ -19,6 +19,7 @@ signbit fpucw nocrash printf-safe +multiarch configure.ac: gl_FUNC_SNPRINTF_POSIX diff --git a/modules/sprintf-posix b/modules/sprintf-posix index 964463dd44..e432bd882e 100644 --- a/modules/sprintf-posix +++ b/modules/sprintf-posix @@ -21,6 +21,7 @@ nocrash printf-safe stdint errno +multiarch configure.ac: gl_FUNC_SPRINTF_POSIX diff --git a/modules/unistdio/u16-u16-vasnprintf b/modules/unistdio/u16-u16-vasnprintf index 4d5b6c7655..1c8bdcd1b1 100644 --- a/modules/unistdio/u16-u16-vasnprintf +++ b/modules/unistdio/u16-u16-vasnprintf @@ -42,6 +42,7 @@ alloca-opt localcharset xsize errno +multiarch configure.ac: gl_PREREQ_VASNPRINTF_WITH_EXTRAS diff --git a/modules/unistdio/u16-vasnprintf b/modules/unistdio/u16-vasnprintf index 206ca634c4..7c5c7a7e55 100644 --- a/modules/unistdio/u16-vasnprintf +++ b/modules/unistdio/u16-vasnprintf @@ -42,6 +42,7 @@ alloca-opt localcharset xsize errno +multiarch configure.ac: gl_PREREQ_VASNPRINTF_WITH_EXTRAS diff --git a/modules/unistdio/u32-u32-vasnprintf b/modules/unistdio/u32-u32-vasnprintf index 94a1cac4b5..d121055820 100644 --- a/modules/unistdio/u32-u32-vasnprintf +++ b/modules/unistdio/u32-u32-vasnprintf @@ -42,6 +42,7 @@ alloca-opt localcharset xsize errno +multiarch configure.ac: gl_PREREQ_VASNPRINTF_WITH_EXTRAS diff --git a/modules/unistdio/u32-vasnprintf b/modules/unistdio/u32-vasnprintf index 69a5449ae7..cdf5a37c89 100644 --- a/modules/unistdio/u32-vasnprintf +++ b/modules/unistdio/u32-vasnprintf @@ -42,6 +42,7 @@ alloca-opt localcharset xsize errno +multiarch configure.ac: gl_PREREQ_VASNPRINTF_WITH_EXTRAS diff --git a/modules/unistdio/u8-u8-vasnprintf b/modules/unistdio/u8-u8-vasnprintf index a35e9e0120..305e12b294 100644 --- a/modules/unistdio/u8-u8-vasnprintf +++ b/modules/unistdio/u8-u8-vasnprintf @@ -42,6 +42,7 @@ alloca-opt localcharset xsize errno +multiarch configure.ac: gl_PREREQ_VASNPRINTF_WITH_EXTRAS diff --git a/modules/unistdio/u8-vasnprintf b/modules/unistdio/u8-vasnprintf index a7aa3ca455..9957d8b769 100644 --- a/modules/unistdio/u8-vasnprintf +++ b/modules/unistdio/u8-vasnprintf @@ -42,6 +42,7 @@ alloca-opt localcharset xsize errno +multiarch configure.ac: gl_PREREQ_VASNPRINTF_WITH_EXTRAS diff --git a/modules/unistdio/ulc-vasnprintf b/modules/unistdio/ulc-vasnprintf index d8c9f8aed0..cab2bdfe87 100644 --- a/modules/unistdio/ulc-vasnprintf +++ b/modules/unistdio/ulc-vasnprintf @@ -40,6 +40,7 @@ alloca-opt localcharset xsize errno +multiarch configure.ac: gl_PREREQ_VASNPRINTF_WITH_EXTRAS diff --git a/modules/vasnprintf-posix b/modules/vasnprintf-posix index 0eefa5802d..2e47814fc2 100644 --- a/modules/vasnprintf-posix +++ b/modules/vasnprintf-posix @@ -18,6 +18,7 @@ signbit fpucw nocrash printf-safe +multiarch configure.ac: gl_FUNC_VASNPRINTF_POSIX diff --git a/modules/vasprintf-posix b/modules/vasprintf-posix index e606800418..1fc33857c0 100644 --- a/modules/vasprintf-posix +++ b/modules/vasprintf-posix @@ -18,6 +18,7 @@ signbit fpucw nocrash printf-safe +multiarch configure.ac: gl_FUNC_VASPRINTF_POSIX diff --git a/modules/vfprintf-posix b/modules/vfprintf-posix index a501f812db..b622564151 100644 --- a/modules/vfprintf-posix +++ b/modules/vfprintf-posix @@ -21,6 +21,7 @@ fpucw nocrash printf-safe errno +multiarch configure.ac: gl_FUNC_VFPRINTF_POSIX diff --git a/modules/vsnprintf-posix b/modules/vsnprintf-posix index 187dc32e79..dda0c3214e 100644 --- a/modules/vsnprintf-posix +++ b/modules/vsnprintf-posix @@ -19,6 +19,7 @@ signbit fpucw nocrash printf-safe +multiarch configure.ac: gl_FUNC_VSNPRINTF_POSIX diff --git a/modules/vsprintf-posix b/modules/vsprintf-posix index f5c5ec7c61..96730b3465 100644 --- a/modules/vsprintf-posix +++ b/modules/vsprintf-posix @@ -21,6 +21,7 @@ nocrash printf-safe stdint errno +multiarch configure.ac: gl_FUNC_VSPRINTF_POSIX