]> granicus.if.org Git - php/commitdiff
Make it possible to use recode 3.5 too. (happy now Wez? :)
authorfoobar <sniper@php.net>
Mon, 29 Apr 2002 15:40:16 +0000 (15:40 +0000)
committerfoobar <sniper@php.net>
Mon, 29 Apr 2002 15:40:16 +0000 (15:40 +0000)
ext/recode/config.m4
ext/recode/recode.c

index fc134ffc77a5b22b875ab06c26b783ba765fbd19..aae118a76b0fc9d88d7f07e99d9297e3a39a0406 100644 (file)
@@ -30,16 +30,33 @@ if test "$PHP_RECODE" != "no"; then
     AC_MSG_ERROR([Can not find recode.h anywhere under $RECODE_LIST.])
   fi
 
-  PHP_CHECK_LIBRARY(recode, recode_format_table, [
-    AC_DEFINE(HAVE_LIBRECODE, 1, [Whether we have librecode 3.5 or higher])
+  PHP_CHECK_LIBRARY(recode, recode_format_table,
+  [
+    PHP_ADD_LIBRARY_WITH_PATH(recode, $RECODE_DIR/$RECODE_LIB, RECODE_SHARED_LIBADD)
   ], [
-    AC_MSG_ERROR(I cannot link librecode (-L$RECODE_DIR/$RECODE_LIB -lrecode). Is it installed?)
+    old_LDFLAGS=$LDFLAGS
+    old_LIBS=$LIBS
+    LDFLAGS="$LDFLAGS -L$RECODE_DIR/$RECODE_LIB"
+    LIBS="$LIBS -lrecode"
+    AC_TRY_LINK(
+    [
+char *program_name;
+    ],[
+recode_format_table();
+    ],[
+      PHP_ADD_LIBRARY_DEFER_WITH_PATH(recode, $RECODE_DIR/$RECODE_LIB, RECODE_SHARED_LIBADD)
+      AC_DEFINE(HAVE_BROKEN_RECODE, 1, [Whether we have librecode 3.5])
+    ],[
+      AC_MSG_ERROR(I cannot link librecode (-L$RECODE_DIR/$RECODE_LIB -lrecode). Is it installed?)
+    ])
+    LIBS=$old_LIBS
+    LDFLAGS=$old_LDFLAGS
   ], [
     -L$RECODE_DIR/$RECODE_LIB
   ])
 
+  AC_DEFINE(HAVE_LIBRECODE, 1, [Whether we have librecode 3.5 or higher])
   PHP_ADD_INCLUDE($RECODE_DIR/$RECODE_INC)
-  PHP_ADD_LIBRARY_WITH_PATH(recode, $RECODE_DIR/$RECODE_LIB, RECODE_SHARED_LIBADD)
   PHP_SUBST(RECODE_SHARED_LIBADD)
   AC_CHECK_HEADERS(stdbool.h)
   PHP_NEW_EXTENSION(recode, recode.c, $ext_shared)
index cb91166012b94b81bb8c02fb49a52cb8169db85c..9c1c8374406fd321fb10bfeb4d42b267b272ba00 100644 (file)
 #if HAVE_LIBRECODE
 
 /* For recode 3.5 */
+#if HAVE_BROKEN_RECODE
 extern char *program_name;
 char *program_name = "php";
+#endif
 
 #ifdef HAVE_STDBOOL_H
 # include <stdbool.h>