]> granicus.if.org Git - php/commitdiff
- Made one test/setup macro for iconv and fixed it to check
authorfoobar <sniper@php.net>
Sun, 17 Mar 2002 21:09:21 +0000 (21:09 +0000)
committerfoobar <sniper@php.net>
Sun, 17 Mar 2002 21:09:21 +0000 (21:09 +0000)
  for libc first.

acinclude.m4
ext/iconv/config.m4
ext/rpc/xmlrpc/config.m4
ext/xmlrpc/config.m4
ext/xslt/config.m4

index 2ade4c8482ff7baac0f7971b280350496ea64ec7..6e1bd148b0d831ea8c54e8a258a86375e69be354 100644 (file)
@@ -1339,4 +1339,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 fbb417025d9513141de20ff94350a9fab7e4d5b5..12e14d7ad8756d50cec44a7eab031b1fcee26fff 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_NEW_EXTENSION(iconv, iconv.c, $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 69eb0b42326e8a17f6efd4e257d881caedf1fc49..a7f4fae3b89abb9b19cf68e81630e7e9237814b0 100644 (file)
@@ -32,29 +32,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 69eb0b42326e8a17f6efd4e257d881caedf1fc49..a7f4fae3b89abb9b19cf68e81630e7e9237814b0 100644 (file)
@@ -32,29 +32,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 f8fdacfebb4bac38504f9fd58477aa1b1eaa1c69..e1305bec3f1595efdee9779267fd75decab1d803 100644 (file)
@@ -69,29 +69,10 @@ 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
       AC_CHECK_LIB(js, JS_GetRuntime, found_js=yes)