]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
intl: Fix a build error on Android.
authorBruno Haible <bruno@clisp.org>
Fri, 15 Sep 2023 18:54:32 +0000 (20:54 +0200)
committerBruno Haible <bruno@clisp.org>
Tue, 19 Sep 2023 02:10:22 +0000 (04:10 +0200)
The declaration in Android's <math.h>
  long double frexpl(long double, int*) __RENAME_LDBL(frexp, 3, 21);
has the effect that frexpl.o defines the symbol _libintl_frexp, not
_libintl_frexpl, if config.h contains
  #define frexp _libintl_frexp
  #define frexpl _libintl_frexpl

* gettext-runtime/intl/configure.ac:
If REPLACE_FREXP is 1, don't redirect frexp to _libintl_frexp.
If REPLACE_FREXPL is 1, don't redirect frexpl to _libintl_frexp.

gettext-runtime/intl/configure.ac

index b525e15e62d7232f36d7419bba880a4c2d525acc..90cf6a9c17237672d7c71e61caba4b9bdb4c1b8f 100644 (file)
@@ -336,13 +336,19 @@ AH_VERBATIM([znoexport], [
 ])
 dnl Symbols defined by gnulib module 'frexp-nolibm'.
 if test $gl_func_frexp_no_libm != yes; then
-  AC_DEFINE([frexp],            [_libintl_frexp],    [Hidden symbol.])
-  AC_DEFINE([rpl_frexp],        [_libintl_frexp],    [Hidden symbol.])
+  if test $REPLACE_FREXP = 1; then
+    AC_DEFINE([rpl_frexp],      [_libintl_frexp],    [Hidden symbol.])
+  else
+    AC_DEFINE([frexp],          [_libintl_frexp],    [Hidden symbol.])
+  fi
 fi
 dnl Symbols defined by gnulib module 'frexpl-nolibm'.
 if test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl_no_libm = no; then
-  AC_DEFINE([frexpl],           [_libintl_frexpl],    [Hidden symbol.])
-  AC_DEFINE([rpl_frexpl],       [_libintl_frexpl],    [Hidden symbol.])
+  if test $REPLACE_FREXPL = 1; then
+    AC_DEFINE([rpl_frexpl],     [_libintl_frexpl],    [Hidden symbol.])
+  else
+    AC_DEFINE([frexpl],         [_libintl_frexpl],    [Hidden symbol.])
+  fi
 fi
 dnl Symbols defined by gnulib module 'mbrtowc'.
 if test $REPLACE_MBRTOWC = 1; then