summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2003-06-14 21:03:05 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2003-06-14 21:03:05 (GMT)
commit19d173486b2263a269260343d65ac3929c89297e (patch)
tree2e95896d03cf0851f9e9a59a974b9a7080225424
parent61e2c9a402106664142fa1e26ac5d938b2f95d1b (diff)
downloadcpython-19d173486b2263a269260343d65ac3929c89297e.zip
cpython-19d173486b2263a269260343d65ac3929c89297e.tar.gz
cpython-19d173486b2263a269260343d65ac3929c89297e.tar.bz2
Patch #752671: NetBSD needs to link libintl to _locale.so.
-rw-r--r--Modules/Setup.dist3
-rwxr-xr-xconfigure66
-rw-r--r--configure.in4
-rw-r--r--pyconfig.h.in3
-rw-r--r--setup.py4
5 files changed, 77 insertions, 3 deletions
diff --git a/Modules/Setup.dist b/Modules/Setup.dist
index 7d486dc..3ca6dab 100644
--- a/Modules/Setup.dist
+++ b/Modules/Setup.dist
@@ -173,7 +173,8 @@ GLHACK=-Dclear=__GLclear
#unicodedata unicodedata.c # static Unicode character database
-#_locale _localemodule.c # access to ISO C locale support
+# access to ISO C locale support
+#_locale _localemodule.c # -lintl
# Modules with some UNIX dependencies -- on by default:
diff --git a/configure b/configure
index 7c9a47e..810e718 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.in Revision: 1.416 .
+# From configure.in Revision: 1.417 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.53 for python 2.3.
#
@@ -9930,6 +9930,70 @@ fi
# 'Real Time' functions on Solaris
# posix4 on Solaris 2.6
# pthread (first!) on Linux
+# check if we need libintl for locale functions
+echo "$as_me:$LINENO: checking for textdomain in -lintl" >&5
+echo $ECHO_N "checking for textdomain in -lintl... $ECHO_C" >&6
+if test "${ac_cv_lib_intl_textdomain+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lintl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char textdomain ();
+#ifdef F77_DUMMY_MAIN
+# ifdef __cplusplus
+ extern "C"
+# endif
+ int F77_DUMMY_MAIN() { return 1; }
+#endif
+int
+main ()
+{
+textdomain ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_intl_textdomain=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_intl_textdomain=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_intl_textdomain" >&5
+echo "${ECHO_T}$ac_cv_lib_intl_textdomain" >&6
+if test $ac_cv_lib_intl_textdomain = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define WITH_LIBINTL 1
+_ACEOF
+
+fi
+
# checks for system dependent C++ extensions support
case "$ac_sys_system" in
diff --git a/configure.in b/configure.in
index 1bd0f61..fb1c962 100644
--- a/configure.in
+++ b/configure.in
@@ -1346,6 +1346,10 @@ AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX
AC_SEARCH_LIBS(sem_init, pthread rt posix4) # 'Real Time' functions on Solaris
# posix4 on Solaris 2.6
# pthread (first!) on Linux
+# check if we need libintl for locale functions
+AC_CHECK_LIB(intl, textdomain,
+ AC_DEFINE(WITH_LIBINTL, 1,
+ [Define to 1 if libintl is needed for locale functions.]))
# checks for system dependent C++ extensions support
case "$ac_sys_system" in
diff --git a/pyconfig.h.in b/pyconfig.h.in
index 2f14b84..e0e2f5b 100644
--- a/pyconfig.h.in
+++ b/pyconfig.h.in
@@ -781,6 +781,9 @@
Dyld is necessary to support frameworks. */
#undef WITH_DYLD
+/* Define to 1 if libintl is needed for locale functions. */
+#undef WITH_LIBINTL
+
/* Define if you want to produce an OpenStep/Rhapsody framework (shared
library plus accessory files). */
#undef WITH_NEXT_FRAMEWORK
diff --git a/setup.py b/setup.py
index 76005a1..d461880 100644
--- a/setup.py
+++ b/setup.py
@@ -339,7 +339,9 @@ class PyBuildExt(build_ext):
if have_unicode:
exts.append( Extension('unicodedata', ['unicodedata.c']) )
# access to ISO C locale support
- if platform in ['cygwin', 'aix4']:
+ data = open('pyconfig.h').read()
+ m = re.search(r"#s*define\s+WITH_LIBINTL\s+1\s*", data)
+ if m is not None:
locale_libs = ['intl']
else:
locale_libs = []