]> granicus.if.org Git - php/commitdiff
Some minor fixes so that this works with autoconf 2.13 too
authorfoobar <sniper@php.net>
Mon, 25 Aug 2003 04:08:29 +0000 (04:08 +0000)
committerfoobar <sniper@php.net>
Mon, 25 Aug 2003 04:08:29 +0000 (04:08 +0000)
ext/mbstring/config.m4

index 807d2654838f769e434eaa1a449ff8b95bc0e67e..4afdf74569e0b9087956f2fb3e8b9730c150f3c9 100644 (file)
@@ -2,16 +2,6 @@ dnl
 dnl $Id$
 dnl
 
-AC_DEFUN([PHP_MBSTRING_INIT], [
-  PHP_MBSTRING_SOURCES=""
-  PHP_MBSTRING_EXTRA_INCLUDES=""
-  PHP_MBSTRING_EXTRA_BUILD_DIRS=""
-  PHP_MBSTRING_EXTRA_CONFIG_HEADERS=""
-  PHP_MBSTRING=""
-  PHP_MBREGEX=""
-  PHP_MBSTRING_CFLAGS=""
-])
-
 AC_DEFUN([PHP_MBSTRING_ADD_SOURCES], [
   PHP_MBSTRING_SOURCES="$PHP_MBSTRING_SOURCES $1"
 ])
@@ -24,7 +14,7 @@ AC_DEFUN([PHP_MBSTRING_ADD_INCLUDE], [
   PHP_MBSTRING_EXTRA_INCLUDES="$PHP_MBSTRING_EXTRA_INCLUDES $1"
 ])
 
-AC_DEFUN([PHP_MBSTRING_CONFIG_HEADER], [
+AC_DEFUN([PHP_MBSTRING_ADD_CONFIG_HEADER], [
   PHP_MBSTRING_EXTRA_CONFIG_HEADERS="$PHP_MBSTRING_EXTRA_CONFIG_HEADERS $1"
 ])
 
@@ -33,162 +23,33 @@ AC_DEFUN([PHP_MBSTRING_ADD_CFLAG], [
 ])
 
 AC_DEFUN([PHP_MBSTRING_EXTENSION], [
-  PHP_NEW_EXTENSION(mbstring, $PHP_MBSTRING_SOURCES, $ext_shared,, \\$(PHP_MBSTRING_CFLAGS))
+  PHP_NEW_EXTENSION(mbstring, $PHP_MBSTRING_SOURCES, $ext_shared,, $PHP_MBSTRING_CFLAGS)
+  PHP_SUBST(MBSTRING_SHARED_LIBADD)
+
   for dir in $PHP_MBSTRING_EXTRA_INCLUDES; do
-    PHP_ADD_INCLUDE([$ext_builddir/$dir])
+    PHP_ADD_INCLUDE([$ext_srcdir/$dir])
   done
+
   for dir in $PHP_MBSTRING_EXTRA_BUILD_DIRS; do
     PHP_ADD_BUILD_DIR([$ext_builddir/$dir])
   done
+  
+  if test "$ext_shared" = "no"; then
+    out="php_config.h"
+  else
+    out="$abs_builddir/config.h"
+  fi
+  
   for cfg in $PHP_MBSTRING_EXTRA_CONFIG_HEADERS; do
-    AC_CONFIG_HEADER([$ext_builddir/$cfg])
+    cat > $ext_srcdir/$cfg <<EOF
+#include "$out"
+EOF
   done
-  PHP_SUBST(PHP_MBSTRING_CFLAGS)
-])
-
-
-AC_DEFUN([PHP_MBSTRING_SETUP], [
-  PHP_ARG_ENABLE(mbstring, whether to enable multibyte string support,
-  [  --enable-mbstring       Enable multibyte string support])
-  if test "$PHP_MBSTRING" != "no"; then
-    PHP_ARG_WITH(libmbfl-dir, [for libmbfl installation prefix],
-      [  --with-libmbfl-dir[=DIR]   Include libmbfl support where DIR is libmbfl install prefix.
-                           If DIR is not set, the bundled libmbfl will be used.],
-      [yes], [no]
-    )
-    AC_DEFINE([HAVE_MBSTRING],1,[whether to have multibyte string support])
-
-    if test -z "$PHP_MBSTRING" -o "$PHP_MBSTRING" = "all" -o "$PHP_MBSTRING" = "ja"; then
-      AC_DEFINE([HAVE_MBSTR_JA],1,[whether to have japanese support])
-    fi
-    if test "$PHP_MBSTRING" = "all" -o "$PHP_MBSTRING" = "cn"; then
-      AC_DEFINE([HAVE_MBSTR_CN],1,[whether to have simplified chinese support])
-    fi
-    if test "$PHP_MBSTRING" = "all" -o  "$PHP_MBSTRING" = "tw"; then
-      AC_DEFINE([HAVE_MBSTR_TW],1,[whether to have traditional chinese support])
-    fi
-    if test "$PHP_MBSTRING" = "all" -o  "$PHP_MBSTIRNG" = "kr"; then
-      AC_DEFINE([HAVE_MBSTR_KR],1,[whether to have korean support])
-    fi
-    if test "$PHP_MBSTRING" = "all" -o "$PHP_MBSTRING" = "ru"; then
-      AC_DEFINE([HAVE_MBSTR_RU],1,[whether to have russian support])
-    fi
 
-    if test "$PHP_LIBMBFL_DIR" = "yes"; then
-      AC_DEFINE([HAVE_LIBMBFL], 1, [whether to have libmbfl support])
-      PHP_MBSTRING_ADD_BUILD_DIR([libmbfl])
-      PHP_MBSTRING_ADD_INCLUDE([libmbfl])
-      PHP_MBSTRING_ADD_INCLUDE([libmbfl/mbfl])
-      PHP_MBSTRING_ADD_SOURCES([
-        libmbfl/filters/html_entities.c
-        libmbfl/filters/mbfilter_7bit.c
-        libmbfl/filters/mbfilter_ascii.c
-        libmbfl/filters/mbfilter_base64.c
-        libmbfl/filters/mbfilter_big5.c
-        libmbfl/filters/mbfilter_byte2.c
-        libmbfl/filters/mbfilter_byte4.c
-        libmbfl/filters/mbfilter_cp1251.c
-        libmbfl/filters/mbfilter_cp1252.c
-        libmbfl/filters/mbfilter_cp866.c
-        libmbfl/filters/mbfilter_cp932.c
-        libmbfl/filters/mbfilter_cp936.c
-        libmbfl/filters/mbfilter_euc_cn.c
-        libmbfl/filters/mbfilter_euc_jp.c
-        libmbfl/filters/mbfilter_euc_jp_win.c
-        libmbfl/filters/mbfilter_euc_kr.c
-        libmbfl/filters/mbfilter_euc_tw.c
-        libmbfl/filters/mbfilter_htmlent.c
-        libmbfl/filters/mbfilter_hz.c
-        libmbfl/filters/mbfilter_iso2022_kr.c
-        libmbfl/filters/mbfilter_iso8859_1.c
-        libmbfl/filters/mbfilter_iso8859_10.c
-        libmbfl/filters/mbfilter_iso8859_13.c
-        libmbfl/filters/mbfilter_iso8859_14.c
-        libmbfl/filters/mbfilter_iso8859_15.c
-        libmbfl/filters/mbfilter_iso8859_2.c
-        libmbfl/filters/mbfilter_iso8859_3.c
-        libmbfl/filters/mbfilter_iso8859_4.c
-        libmbfl/filters/mbfilter_iso8859_5.c
-        libmbfl/filters/mbfilter_iso8859_6.c
-        libmbfl/filters/mbfilter_iso8859_7.c
-        libmbfl/filters/mbfilter_iso8859_8.c
-        libmbfl/filters/mbfilter_iso8859_9.c
-        libmbfl/filters/mbfilter_jis.c
-        libmbfl/filters/mbfilter_koi8r.c
-        libmbfl/filters/mbfilter_qprint.c
-        libmbfl/filters/mbfilter_sjis.c
-        libmbfl/filters/mbfilter_ucs2.c
-        libmbfl/filters/mbfilter_ucs4.c
-        libmbfl/filters/mbfilter_uhc.c
-        libmbfl/filters/mbfilter_utf16.c
-        libmbfl/filters/mbfilter_utf32.c
-        libmbfl/filters/mbfilter_utf7.c
-        libmbfl/filters/mbfilter_utf7imap.c
-        libmbfl/filters/mbfilter_utf8.c
-        libmbfl/filters/mbfilter_uuencode.c
-        libmbfl/mbfl/mbfilter.c
-        libmbfl/mbfl/mbfilter_8bit.c
-        libmbfl/mbfl/mbfilter_pass.c
-        libmbfl/mbfl/mbfilter_wchar.c
-        libmbfl/mbfl/mbfl_convert.c
-        libmbfl/mbfl/mbfl_encoding.c
-        libmbfl/mbfl/mbfl_filter_output.c
-        libmbfl/mbfl/mbfl_ident.c
-        libmbfl/mbfl/mbfl_language.c
-        libmbfl/mbfl/mbfl_memory_device.c
-        libmbfl/mbfl/mbfl_string.c
-        libmbfl/mbfl/mbfl_allocators.c
-        libmbfl/nls/nls_de.c
-        libmbfl/nls/nls_en.c
-        libmbfl/nls/nls_ja.c
-        libmbfl/nls/nls_kr.c
-        libmbfl/nls/nls_neutral.c
-        libmbfl/nls/nls_ru.c
-        libmbfl/nls/nls_uni.c
-        libmbfl/nls/nls_zh.c
-      ])
-    else
-      PHP_LIBMBFL_INCLUDE=
-      PHP_LIBMBFL_LIB=
-
-      if test "$PHP_LIBMBFL_DIR" != "no"; then
-        for prefix in "$PHP_LIBMBFL_DIR" "/usr" "/usr/local"; do
-          for inc in "$prefix/include/mbfl" "$prefix/include/mbfl-1.0" "$prefix/include"; do
-            if test -f "$inc/mbfilter.h"; then
-              PHP_LIBMBFL_INCLUDE="$inc"
-            fi
-          done
-        done
-        for prefix in "$PHP_LIBMBFL_DIR" "/usr" "/usr/local"; do
-          for lib in "$prefix/lib" "$prefix/lib/mbfl" "$prefix/lib/mbfl-1.0"; do
-            if test -f "$lib/libmbfl.so" || test -f "$lib/libmbfl.a"; then
-              PHP_CHECK_LIBRARY(mbfl, [mbfl_buffer_converter_new], [
-                PHP_LIBMBFL_LIB="$lib"
-              ],[], [-L$lib $MBSTRING_SHARED_LIBADD])
-            fi
-          done
-        done
-        if test -z "$PHP_LIBMBFL_INCLUDE" || test -z "$PHP_LIBMBFL_LIB"; then
-          AC_MSG_ERROR([Please reinstall libmbfl library.])
-        fi
-        AC_DEFINE([HAVE_LIBMBFL], 1, [whether to have libmbfl support])
-        PHP_ADD_LIBRARY_WITH_PATH(mbfl, "$PHP_LIBMBFL_LIB", MBSTRING_SHARED_LIBADD)
-        PHP_ADD_INCLUDE([$PHP_LIBMBFL_INCLUDE])
-        PHP_SUBST([MBSTRING_SHARED_LIBADD])
-      fi
-    fi
-       
-    PHP_MBSTRING_ADD_SOURCES([
-      mbstring.c php_unicode.c mb_gpc.c
-    ])
-  fi
 ])
 
 AC_DEFUN([PHP_MBSTRING_SETUP_MBREGEX], [
-  PHP_ARG_ENABLE([mbregex], [whether to enable multibyte regex support],
-  [  --disable-mbregex       Disable multibyte regex support], yes, no)
-
-  if test "$PHP_MBREGEX" != "no" -a "$PHP_MBSTRING" != "no"; then
+  if test "$PHP_MBREGEX" = "yes"; then
     AC_CACHE_CHECK(for variable length prototypes and stdarg.h, cv_php_mbstring_stdarg, [
       AC_TRY_COMPILE([#include <stdarg.h>], [
 int foo(int x, ...) {
@@ -206,10 +67,12 @@ int main() { return foo(10, "", 3.14); }
       AC_DEFINE([HAVE_STDARG_PROTOTYPES], 1, [Define if stdarg.h is available])
     fi
     AC_DEFINE([HAVE_MBREGEX], 1, [whether to have multibyte regex support])
-    PHP_MBSTRING_ADD_CFLAG([-DNOT_RUBY])
 
+    PHP_MBSTRING_ADD_CFLAG([-DNOT_RUBY])
     PHP_MBSTRING_ADD_BUILD_DIR([oniguruma])
-    PHP_MBSTRING_CONFIG_HEADER([oniguruma/config.h])
+    PHP_MBSTRING_ADD_INCLUDE([oniguruma])
+    PHP_MBSTRING_ADD_CONFIG_HEADER([oniguruma/config.h])
+
     PHP_MBSTRING_ADD_SOURCES([
       php_mbregex.c
       oniguruma/regcomp.c
@@ -222,8 +85,161 @@ int main() { return foo(10, "", 3.14); }
   fi
 ])
 
-PHP_MBSTRING_INIT
-PHP_MBSTRING_SETUP
-PHP_MBSTRING_SETUP_MBREGEX
-PHP_MBSTRING_EXTENSION
+AC_DEFUN([PHP_MBSTRING_SETUP_LIBMBFL], [
+  if test "$PHP_LIBMBFL" = "yes"; then
+    dnl
+    dnl Bundled libmbfl
+    dnl
+    PHP_MBSTRING_ADD_BUILD_DIR([libmbfl])
+    PHP_MBSTRING_ADD_BUILD_DIR([libmbfl/mbfl])
+    PHP_MBSTRING_ADD_BUILD_DIR([libmbfl/filters])
+    PHP_MBSTRING_ADD_BUILD_DIR([libmbfl/nls])
+    PHP_MBSTRING_ADD_INCLUDE([libmbfl])
+    PHP_MBSTRING_ADD_INCLUDE([libmbfl/mbfl])
+    PHP_MBSTRING_ADD_CONFIG_HEADER([libmbfl/config.h])
+
+    PHP_MBSTRING_ADD_SOURCES([
+     libmbfl/filters/html_entities.c
+     libmbfl/filters/mbfilter_7bit.c
+     libmbfl/filters/mbfilter_ascii.c
+     libmbfl/filters/mbfilter_base64.c
+     libmbfl/filters/mbfilter_big5.c
+     libmbfl/filters/mbfilter_byte2.c
+     libmbfl/filters/mbfilter_byte4.c
+     libmbfl/filters/mbfilter_cp1251.c
+     libmbfl/filters/mbfilter_cp1252.c
+     libmbfl/filters/mbfilter_cp866.c
+     libmbfl/filters/mbfilter_cp932.c
+     libmbfl/filters/mbfilter_cp936.c
+     libmbfl/filters/mbfilter_euc_cn.c
+     libmbfl/filters/mbfilter_euc_jp.c
+     libmbfl/filters/mbfilter_euc_jp_win.c
+     libmbfl/filters/mbfilter_euc_kr.c
+     libmbfl/filters/mbfilter_euc_tw.c
+     libmbfl/filters/mbfilter_htmlent.c
+     libmbfl/filters/mbfilter_hz.c
+     libmbfl/filters/mbfilter_iso2022_kr.c
+     libmbfl/filters/mbfilter_iso8859_1.c
+     libmbfl/filters/mbfilter_iso8859_10.c
+     libmbfl/filters/mbfilter_iso8859_13.c
+     libmbfl/filters/mbfilter_iso8859_14.c
+     libmbfl/filters/mbfilter_iso8859_15.c
+     libmbfl/filters/mbfilter_iso8859_2.c
+     libmbfl/filters/mbfilter_iso8859_3.c
+     libmbfl/filters/mbfilter_iso8859_4.c
+     libmbfl/filters/mbfilter_iso8859_5.c
+     libmbfl/filters/mbfilter_iso8859_6.c
+     libmbfl/filters/mbfilter_iso8859_7.c
+     libmbfl/filters/mbfilter_iso8859_8.c
+     libmbfl/filters/mbfilter_iso8859_9.c
+     libmbfl/filters/mbfilter_jis.c
+     libmbfl/filters/mbfilter_koi8r.c
+     libmbfl/filters/mbfilter_qprint.c
+     libmbfl/filters/mbfilter_sjis.c
+     libmbfl/filters/mbfilter_ucs2.c
+     libmbfl/filters/mbfilter_ucs4.c
+     libmbfl/filters/mbfilter_uhc.c
+     libmbfl/filters/mbfilter_utf16.c
+     libmbfl/filters/mbfilter_utf32.c
+     libmbfl/filters/mbfilter_utf7.c
+     libmbfl/filters/mbfilter_utf7imap.c
+     libmbfl/filters/mbfilter_utf8.c
+     libmbfl/filters/mbfilter_uuencode.c
+     libmbfl/mbfl/mbfilter.c
+     libmbfl/mbfl/mbfilter_8bit.c
+     libmbfl/mbfl/mbfilter_pass.c
+     libmbfl/mbfl/mbfilter_wchar.c
+     libmbfl/mbfl/mbfl_convert.c
+     libmbfl/mbfl/mbfl_encoding.c
+     libmbfl/mbfl/mbfl_filter_output.c
+     libmbfl/mbfl/mbfl_ident.c
+     libmbfl/mbfl/mbfl_language.c
+     libmbfl/mbfl/mbfl_memory_device.c
+     libmbfl/mbfl/mbfl_string.c
+     libmbfl/mbfl/mbfl_allocators.c
+     libmbfl/nls/nls_de.c
+     libmbfl/nls/nls_en.c
+     libmbfl/nls/nls_ja.c
+     libmbfl/nls/nls_kr.c
+     libmbfl/nls/nls_neutral.c
+     libmbfl/nls/nls_ru.c
+     libmbfl/nls/nls_uni.c
+     libmbfl/nls/nls_zh.c
+    ])
+  else
+    dnl
+    dnl External libmfl
+    dnl  
+    for inc in include include/mbfl-1.0 include/mbfl; do
+      if test -f "$PHP_LIBMBFL/$inc/mbfilter.h"; then
+        PHP_LIBMBFL_INCLUDE="$inc"
+        break
+      fi
+    done
+
+    if test -z "$PHP_LIBMBFL_INCLUDE"; then
+      AC_MSG_ERROR([mbfilter.h not found. Please reinstall libmbfl library.])
+    else 
+      PHP_ADD_INCLUDE([$PHP_LIBMBFL_INCLUDE])
+    fi
+
+    PHP_CHECK_LIBRARY(mbfl, mbfl_buffer_converter_new, [
+      PHP_ADD_LIBRARY_WITH_PATH(mbfl, $PHP_LIBMBFL/lib, MBSTRING_SHARED_LIBADD)
+    ],[
+      AC_MSG_ERROR([Problem with libmbfl. Please check config.log for more information.])
+    ], [
+      -LPHP_LIBMBFL/lib
+    ])
+  fi
+
+  dnl
+  dnl Common libmfl config
+  dnl
+  AC_DEFINE([HAVE_LIBMBFL], 1, [whether to have libmbfl support])
+])
+
+dnl
+dnl Main config
+dnl
+
+PHP_ARG_ENABLE(mbstring, whether to enable multibyte string support,
+[  --enable-mbstring       Enable multibyte string support])
+
+PHP_ARG_ENABLE([mbregex], [whether to enable multibyte regex support],
+[  --disable-mbregex         MBSTRING: Disable multibyte regex support], yes, no)
+
+PHP_ARG_WITH(libmbfl, [for libmbfl support],
+[  --with-libmbfl[=DIR]      MBSTRING: Include libmbfl support. DIR is the libmbfl install prefix.
+                            If DIR is not set, the bundled libmbfl will be used.], no, no)
+
+if test "$PHP_MBSTRING" != "no"; then  
+  AC_DEFINE([HAVE_MBSTRING],1,[whether to have multibyte string support])
+
+  if test "$PHP_MBSTRING" = "all" -o "$PHP_MBSTRING" = "ja"; then
+    AC_DEFINE([HAVE_MBSTR_JA],1,[whether to have japanese support])
+  fi
+  if test "$PHP_MBSTRING" = "all" -o "$PHP_MBSTRING" = "cn"; then
+    AC_DEFINE([HAVE_MBSTR_CN],1,[whether to have simplified chinese support])
+  fi
+  if test "$PHP_MBSTRING" = "all" -o  "$PHP_MBSTRING" = "tw"; then
+    AC_DEFINE([HAVE_MBSTR_TW],1,[whether to have traditional chinese support])
+  fi
+  if test "$PHP_MBSTRING" = "all" -o  "$PHP_MBSTIRNG" = "kr"; then
+    AC_DEFINE([HAVE_MBSTR_KR],1,[whether to have korean support])
+  fi
+  if test "$PHP_MBSTRING" = "all" -o "$PHP_MBSTRING" = "ru"; then
+    AC_DEFINE([HAVE_MBSTR_RU],1,[whether to have russian support])
+  fi
+       
+  PHP_MBSTRING_ADD_SOURCES([mbstring.c php_unicode.c mb_gpc.c])
+
+  if test "$PHP_MBREGEX" != "no"; then
+    PHP_MBSTRING_SETUP_MBREGEX
+  fi
+  
+  if test "$PHP_LIBMBFL" != "no"; then
+    PHP_MBSTRING_SETUP_LIBMBFL
+  fi
 
+  PHP_MBSTRING_EXTENSION
+fi