]> granicus.if.org Git - php/commitdiff
MFH: Jani's fix to my iconv fix
authorStig Bakken <ssb@php.net>
Tue, 19 Mar 2002 01:08:18 +0000 (01:08 +0000)
committerStig Bakken <ssb@php.net>
Tue, 19 Mar 2002 01:08:18 +0000 (01:08 +0000)
acinclude.m4
ext/iconv/config.m4
ext/rpc/xmlrpc/config.m4
ext/xmlrpc/config.m4
ext/xslt/config.m4

index c867dbf6cc11959bea41983551c9c2c8398b9b9c..7c3ce3a19c333fe709c9050f51c8f10c626f9010 100644 (file)
@@ -1191,4 +1191,54 @@ AC_DEFUN(PHP_CHECK_LIBRARY, [
 ])
 
 
+dnl 
+dnl PHP_SETUP_ICONV(shared-add [, action-found [, action-not-found]])
+dnl
+dnl Common setup macro for iconv
+dnl
+AC_DEFUN(PHP_SETUP_ICONV, [
+  found_iconv=no
+  
+  AC_CHECK_LIB(c, iconv_open, [
+    AC_DEFINE(HAVE_ICONV, 1, [ ])
+    found_iconv=yes
+  ], [
+
+    iconv_lib_name=iconv
+    for i in $PHP_ICONV /usr/local /usr; do
+      if test -r $i/include/giconv.h || test -r $i/include/iconv.h; then
+        ICONV_DIR=$i
+        if test -r $i/include/giconv.h; then
+          iconv_lib_name=giconv
+        fi
+        break
+      fi
+    done
+
+    if test -z "$ICONV_DIR"; then
+      AC_MSG_ERROR(Please specify the location of iconv with --with-iconv)
+    fi
+  
+    if test -f $ICONV_DIR/lib/lib${iconv_lib_name}.a ||
+       test -f $ICONV_DIR/lib/lib${iconv_lib_name}.$SHLIB_SUFFIX_NAME
+    then
+      PHP_CHECK_LIBRARY($iconv_lib_name, libiconv_open, [
+        found_iconv=yes
+        PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/lib, $1)
+        AC_DEFINE(HAVE_ICONV, 1, [ ])
+        AC_DEFINE(HAVE_LIBICONV, 1, [ ])
+      ], [
+        found_iconv=no
+      ], [
+        -L$ICONV_DIR/lib
+      ])
+    fi
+  ])
 
+  if test "$found_iconv" = "no"; then
+    $3
+  else
+    $2
+    PHP_ADD_INCLUDE($ICONV_DIR/include)
+  fi
+])
index b636ffbdabc8830ad01d39c7541d53a7ce4edcfd..ec0d532b9eda153e46e1ca98ddfaca3da84cad83 100644 (file)
@@ -7,34 +7,11 @@ PHP_ARG_WITH(iconv, for iconv support,
 
 if test "$PHP_ICONV" != "no"; then
 
-  iconv_lib_name=iconv
-  for i in $PHP_ICONV /usr/local /usr; do
-    if test -r $i/include/giconv.h || test -r $i/include/iconv.h; then
-      ICONV_DIR=$i
-      if test -r $i/include/giconv.h; then
-        iconv_lib_name=giconv
-      fi
-      break
-    fi
-  done
-
-  if test -z "$ICONV_DIR"; then
+  PHP_SETUP_ICONV(ICONV_SHARED_LIBADD, [
+    PHP_EXTENSION(iconv, $ext_shared)
+    PHP_SUBST(ICONV_SHARED_LIBADD)
+  ], [
     AC_MSG_ERROR(Please reinstall the iconv library.)
-  fi
-  
-  if test -f $ICONV_DIR/lib/lib${iconv_lib_name}.a ||
-     test -f $ICONV_DIR/lib/lib${iconv_lib_name}.$SHLIB_SUFFIX_NAME
-  then
-    PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/lib, ICONV_SHARED_LIBADD)
-    AC_CHECK_LIB($iconv_lib_name, libiconv_open, [
-       AC_DEFINE(HAVE_ICONV, 1, [ ])
-       AC_DEFINE(HAVE_LIBICONV, 1, [ ])
-    ])
-  else
-    AC_CHECK_LIB(c, iconv_open, AC_DEFINE(HAVE_ICONV, 1, [ ]))
-  fi
-  
-  PHP_ADD_INCLUDE($ICONV_DIR/include)
-  PHP_EXTENSION(iconv, $ext_shared)
-  PHP_SUBST(ICONV_SHARED_LIBADD)
+  ])
+
 fi
index 5be8c765a27753260a09a0571a6a513a2bf0a5f7..6ade302cb384d95005b192ec888eb94e40e5e2e7 100644 (file)
@@ -33,29 +33,9 @@ if test "$PHP_XMLRPC" != "no"; then
     AC_MSG_ERROR(XML-RPC support requires libexpat. Use --with-expat-dir=<DIR>)
   fi
 
-  found_iconv=no
-
-  if test -z "$ICONV_DIR"; then
-    AC_MSG_ERROR(Please specify the location of iconv with --with-iconv)
-  fi
-
-  if test -f $ICONV_DIR/lib/lib${iconv_lib_name}.a ||
-     test -f $ICONV_DIR/lib/lib${iconv_lib_name}.$SHLIB_SUFFIX_NAME
-  then
-    PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/lib, XMLRPC_SHARED_LIBADD)
-    AC_CHECK_LIB($iconv_lib_name, libiconv_open, [
-      found_iconv=yes
-    ])
-  else
-    AC_CHECK_LIB(c, iconv_open, [
-      found_iconv=yes
-    ])
-  fi
-
-  if test "$found_iconv" = "no"; then
+  PHP_SETUP_ICONV(XMLRPC_SHARED_LIBADD, [], [
     AC_MSG_ERROR([iconv not found, in order to build xmlrpc you need the iconv library])
-  fi
-  
+  ])
 fi
 
 
index 5be8c765a27753260a09a0571a6a513a2bf0a5f7..6ade302cb384d95005b192ec888eb94e40e5e2e7 100644 (file)
@@ -33,29 +33,9 @@ if test "$PHP_XMLRPC" != "no"; then
     AC_MSG_ERROR(XML-RPC support requires libexpat. Use --with-expat-dir=<DIR>)
   fi
 
-  found_iconv=no
-
-  if test -z "$ICONV_DIR"; then
-    AC_MSG_ERROR(Please specify the location of iconv with --with-iconv)
-  fi
-
-  if test -f $ICONV_DIR/lib/lib${iconv_lib_name}.a ||
-     test -f $ICONV_DIR/lib/lib${iconv_lib_name}.$SHLIB_SUFFIX_NAME
-  then
-    PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/lib, XMLRPC_SHARED_LIBADD)
-    AC_CHECK_LIB($iconv_lib_name, libiconv_open, [
-      found_iconv=yes
-    ])
-  else
-    AC_CHECK_LIB(c, iconv_open, [
-      found_iconv=yes
-    ])
-  fi
-
-  if test "$found_iconv" = "no"; then
+  PHP_SETUP_ICONV(XMLRPC_SHARED_LIBADD, [], [
     AC_MSG_ERROR([iconv not found, in order to build xmlrpc you need the iconv library])
-  fi
-  
+  ])
 fi
 
 
index fe3447a781e35386ba0a45d5a51d010ac2380672..92e574a91959ac8362373b09bceb58c181fc72d2 100644 (file)
@@ -69,28 +69,9 @@ if test "$PHP_XSLT" != "no"; then
       PHP_ADD_LIBRARY(xmltok)
     fi
 
-    found_iconv=no
-
-    if test -z "$ICONV_DIR"; then
-      AC_MSG_ERROR(Please specify the location of iconv with --with-iconv)
-    fi
-  
-    if test -f $ICONV_DIR/lib/lib${iconv_lib_name}.a ||
-       test -f $ICONV_DIR/lib/lib${iconv_lib_name}.$SHLIB_SUFFIX_NAME
-    then
-      PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/lib, XSLT_SHARED_LIBADD)
-      AC_CHECK_LIB($iconv_lib_name, libiconv_open, [
-        found_iconv=yes
-      ])
-    else
-      AC_CHECK_LIB(c, iconv_open, [
-        found_iconv=yes
-      ])
-    fi
-
-    if test "$found_iconv" = "no"; then
+    PHP_SETUP_ICONV(XSLT_SHARED_LIBADD, [], [
       AC_MSG_ERROR([iconv not found, in order to build sablotron you need the iconv library])
-    fi
+    ])
  
     if test "$PHP_SABLOT_JS" != "no"; then
       found_js=no