]> granicus.if.org Git - php/commitdiff
Make gettext extension compilable as shared module.
authorSascha Schumann <sas@php.net>
Tue, 23 May 2000 22:26:51 +0000 (22:26 +0000)
committerSascha Schumann <sas@php.net>
Tue, 23 May 2000 22:26:51 +0000 (22:26 +0000)
ext/gettext/Makefile.in
ext/gettext/config.m4
ext/gettext/gettext.c

index 88c84b687cad1bca20f4ac2da51a4cf74b37ac9d..522c367c4d1e37388caab43c87621f6bec4aaa7f 100644 (file)
@@ -1,5 +1,7 @@
 
 LTLIBRARY_NAME    = libgettext.la
 LTLIBRARY_SOURCES = gettext.c
+LTLIBRARY_SHARED_NAME = gettext.la
+LTLIBRARY_SHARED_LIBADD = $(GETTEXT_SHARED_LIBADD)
 
 include $(top_srcdir)/build/dynlib.mk
index 1ba8f94639192eda359d161b8cf18b78d4edd112..4c8134bbc172dcf99b58140421b188e35bfd2538 100644 (file)
@@ -2,44 +2,40 @@ dnl $Id$
 dnl config.m4 for extension gettext
 dnl don't forget to call PHP_EXTENSION(gettext)
 
-AC_MSG_CHECKING(whether to include GNU gettext support)
-AC_ARG_WITH(gettext,
+PHP_ARG_WITH(gettext,whether to include GNU gettext support,
 [  --with-gettext[=DIR]    Include GNU gettext support.  DIR is the gettext
-                          install directory, defaults to /usr/local],
-[
-  if test "$withval" != "no"; then
-    if test "$withval" = "yes"; then
-        GETTEXT_INCDIR=/usr/local/include
-        test -f /usr/local/include/libintl.h && GETTEXT_INCDIR=/usr/local/include/
-        GETTEXT_LIBDIR=/usr/local/lib
-    else
-        GETTEXT_INCDIR=$withval/include
-        test -f $withval/include/libintl.h && GETTEXT_INCDIR=$withval/include
-        GETTEXT_LIBDIR=$withval/lib
+                          install directory, defaults to /usr/local])
+
+if test "$PHP_GETTEXT" != "no"; then
+  for i in /usr /usr/local $PHP_GETTEXT; do
+    if test -r $i/include/libintl.h; then
+         GETTEXT_DIR=$i
     fi
-    GETTEXT_INCLUDE=-I$GETTEXT_INCDIR
-    GETTEXT_LFLAGS=-L$GETTEXT_LIBDIR
-    O_CPPFLAGS="$CPPFLAGS"
-    O_LDFLAGS=$LDFLAGS
-    CPPFLAGS="$CPPFLAGS -I$GETTEXT_INCDIR"
-    LDFLAGS="$LDFLAGS -L$GETTEXT_LIBDIR"
-    GETTEXT_LIBS=
-    AC_MSG_RESULT(yes)
-    AC_CHECK_LIB(intl, bindtextdomain, GETTEXT_LIBS="-lintl",[
-        AC_CHECK_LIB(c, bindtextdomain, GETTEXT_LIBS=,[
-            AC_MSG_ERROR(Unable to find required gettext library)
-        ],)
-    ],)
+  done
+
+  if test -z "$GETTEXT_DIR"; then
+    AC_MSG_ERROR(Cannot locate header file libintl.h)
+  fi
 
-    AC_DEFINE(HAVE_LIBINTL,1,[ ])
-    PHP_EXTENSION(gettext)
+  GETTEXT_LIBDIR=$GETTEXT_DIR/lib
+  GETTEXT_INCDIR=$GETTEXT_DIR/include
+  
+  O_LDFLAGS="$LDFLAGS"
+  LDFLAGS="$LDFLAGS -L$GETTEXT_LIBDIR"
+  AC_CHECK_LIB(intl, bindtextdomain, GETTEXT_LIBS="intl",[
+      AC_CHECK_LIB(c, bindtextdomain, GETTEXT_LIBS= ,[
+          AC_MSG_ERROR(Unable to find required gettext library)
+      ])
+  ])
+  LDFLAGS="$O_LDFLAGS"
 
-       EXTRA_LIBS="$EXTRA_LIBS $GETTEXT_LFLAGS $GETTEXT_LIBS"
-       INCLUDES="$INCLUDES $GETTEXT_INCLUDE"
+  AC_DEFINE(HAVE_LIBINTL,1,[ ])
+  PHP_EXTENSION(gettext, $ext_shared)
+  PHP_SUBST(GETTEXT_SHARED_LIBADD)
 
-  else
-    AC_MSG_RESULT(no)
+  if test -n "$GETTEXT_LIBS"; then
+    AC_ADD_LIBRARY_WITH_PATH($GETTEXT_LIBS, $GETTEXT_LIBDIR, GETTEXT_SHARED_LIBADD)
   fi
-],[
-  AC_MSG_RESULT(no)
-])
+
+  AC_ADD_INCLUDE($GETTEXT_INCDIR)
+fi
index 0f9d8d47aa195b3cb60d38a2a2297e5b73bb0b94..a57f5deab27ab549bc35ecb3ff40f16794e91f3a 100644 (file)
@@ -41,6 +41,10 @@ zend_module_entry php_gettext_module_entry = {
        "gettext", php_gettext_functions, NULL, NULL, NULL, NULL, PHP_MINFO(gettext), STANDARD_MODULE_PROPERTIES
 };
 
+#ifdef COMPILE_DL_GETTEXT
+ZEND_GET_MODULE(php_gettext)
+#endif
+
 PHP_MINFO_FUNCTION(gettext)
 {
        php_info_print_table_start();