From 2816a1b1966838288488c105a962f0fbf6f90002 Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Sat, 6 Apr 2013 14:24:12 +0000 Subject: pixman: Build fix for systems without sqrtf(), e.g., Solaris 9 git-svn-id: svn://tug.org/texlive/trunk@29694 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/libs/pixman/ChangeLog | 4 +++ Build/source/libs/pixman/config.h.in | 3 ++ Build/source/libs/pixman/configure | 62 +++++++++++++++++++++++++++++++++++ Build/source/libs/pixman/configure.ac | 6 ++++ 4 files changed, 75 insertions(+) (limited to 'Build/source/libs/pixman') diff --git a/Build/source/libs/pixman/ChangeLog b/Build/source/libs/pixman/ChangeLog index a34a459f661..ce230fc86a1 100644 --- a/Build/source/libs/pixman/ChangeLog +++ b/Build/source/libs/pixman/ChangeLog @@ -1,3 +1,7 @@ +2013-04-05 Peter Breitenlohner + + * configure.ac: Define sqrtf as sqrt on systems without sqrtf(). + 2013-03-21 Peter Breitenlohner * configure.ac: Define SIZE_MAX if necessary (for Solaris 9). diff --git a/Build/source/libs/pixman/config.h.in b/Build/source/libs/pixman/config.h.in index ccf96fe33d0..0a2fe0f8af0 100644 --- a/Build/source/libs/pixman/config.h.in +++ b/Build/source/libs/pixman/config.h.in @@ -126,3 +126,6 @@ #ifndef __cplusplus #undef inline #endif + +/* Define to sqrt if you do not have the `sqrtf' function. */ +#undef sqrtf diff --git a/Build/source/libs/pixman/configure b/Build/source/libs/pixman/configure index c184e225000..4555f6d53c3 100755 --- a/Build/source/libs/pixman/configure +++ b/Build/source/libs/pixman/configure @@ -12616,6 +12616,68 @@ $as_echo "#define TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sqrtf" >&5 +$as_echo_n "checking for library containing sqrtf... " >&6; } +if ${ac_cv_search_sqrtf+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqrtf (); +int +main () +{ +return sqrtf (); + ; + return 0; +} +_ACEOF +for ac_lib in '' m; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_sqrtf=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_sqrtf+:} false; then : + break +fi +done +if ${ac_cv_search_sqrtf+:} false; then : + +else + ac_cv_search_sqrtf=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sqrtf" >&5 +$as_echo "$ac_cv_search_sqrtf" >&6; } +ac_res=$ac_cv_search_sqrtf +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +if "x$ac_cv_search_sqrtf" = xno; then + +$as_echo "#define sqrtf sqrt" >>confdefs.h + +fi + ac_fn_c_check_decl "$LINENO" "SIZE_MAX" "ac_cv_have_decl_SIZE_MAX" "$ac_includes_default" diff --git a/Build/source/libs/pixman/configure.ac b/Build/source/libs/pixman/configure.ac index ff045b6eef9..85ddbfb04ee 100644 --- a/Build/source/libs/pixman/configure.ac +++ b/Build/source/libs/pixman/configure.ac @@ -53,6 +53,12 @@ dnl add all these to config.h.in but do not define them in config.h [Whether the tool chain supports __attribute__((constructor))]) fi +AC_SEARCH_LIBS([sqrtf], [m]) +if "x$ac_cv_search_sqrtf" = xno; then + AC_DEFINE([sqrtf], [sqrt], + [Define to sqrt if you do not have the `sqrtf' function.]) +fi + dnl PIXMAN_LINK_WITH_ENV(env-setup, program, true-action, false-action) dnl dnl Compiles and links the given program in the environment setup by env-setup -- cgit v1.2.3