@@ -8,69 +8,57 @@ if test "$PHP_ICONV" != "no"; then
88 PHP_SETUP_ICONV([ ICONV_SHARED_LIBADD] ,,
99 [ AC_MSG_FAILURE ( [ The iconv not found.] ) ] )
1010
11- save_LDFLAGS=$LDFLAGS
12- save_CFLAGS=$CFLAGS
13- LDFLAGS="$ICONV_SHARED_LIBADD $LDFLAGS"
14- CFLAGS="$INCLUDES $CFLAGS"
15-
16- AC_MSG_CHECKING ( [ if iconv is glibc's] )
17- AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [ [ #include <gnu/libc-version.h>] ] , [ [ gnu_get_libc_version();] ] ) ] ,[
18- AC_MSG_RESULT ( [ yes] )
19- iconv_impl_name="glibc"
20- ] ,[
21- AC_MSG_RESULT ( [ no] )
22- ] )
23-
24- if test -z "$iconv_impl_name"; then
25- AC_MSG_CHECKING ( [ if using GNU libiconv] )
26- AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [ #include <iconv.h>] , [ (void) _libiconv_version] ) ] ,[
27- AC_MSG_RESULT ( [ yes] )
28- iconv_impl_name="gnu_libiconv"
29- ] ,[
30- AC_MSG_RESULT ( [ no] )
31- ] )
32- fi
33-
34- if test -z "$iconv_impl_name"; then
35- AC_MSG_CHECKING ( [ if iconv is Konstantin Chuguev's] )
36- AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [ [ #include <iconv.h>] ] , [ [ iconv_ccs_init(NULL, NULL);] ] ) ] ,[
37- AC_MSG_RESULT ( [ yes] )
38- iconv_impl_name="bsd"
39- ] ,[
40- AC_MSG_RESULT ( [ no] )
41- ] )
42- fi
43-
44- if test -z "$iconv_impl_name"; then
45- AC_MSG_CHECKING ( [ if using IBM iconv] )
46- AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [ [ #include <iconv.h>] ] , [ [ cstoccsid("");] ] ) ] ,[
47- AC_MSG_RESULT ( [ yes] )
48- iconv_impl_name="ibm"
49- ] ,[
50- AC_MSG_RESULT ( [ no] )
51- ] )
52- fi
11+ save_LDFLAGS=$LDFLAGS
12+ save_CFLAGS=$CFLAGS
13+ LDFLAGS="$ICONV_SHARED_LIBADD $LDFLAGS"
14+ CFLAGS="$INCLUDES $CFLAGS"
15+
16+ AC_CACHE_CHECK ( [ for iconv implementation] , [ php_cv_iconv_implementation] , [
17+ AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [ #include <gnu/libc-version.h>] ,
18+ [ gnu_get_libc_version();] ) ] ,
19+ [ php_cv_iconv_implementation=glibc] ,
20+ [ php_cv_iconv_implementation=unknown] )
21+
22+ AS_VAR_IF ( [ php_cv_iconv_implementation] , [ unknown] ,
23+ [ AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [ #include <iconv.h>] ,
24+ [ (void) _libiconv_version] ) ] ,
25+ [ php_cv_iconv_implementation="GNU libiconv"] ,
26+ [ php_cv_iconv_implementation=unknown] ) ] )
27+
28+ dnl BSD iconv by Konstantin Chuguev.
29+ AS_VAR_IF ( [ php_cv_iconv_implementation] , [ unknown] ,
30+ [ AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [ #include <iconv.h>] ,
31+ [ iconv_ccs_init(NULL, NULL);] ) ] ,
32+ [ php_cv_iconv_implementation=BSD] ,
33+ [ php_cv_iconv_implementation=unknown] ) ] )
34+
35+ AS_VAR_IF ( [ php_cv_iconv_implementation] , [ unknown] ,
36+ [ AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [ #include <iconv.h>] ,
37+ [ cstoccsid("");] ) ] ,
38+ [ php_cv_iconv_implementation=IBM] ,
39+ [ php_cv_iconv_implementation=unknown] ) ] )
40+ ] )
5341
5442 AH_TEMPLATE ( [ PHP_ICONV_IMPL] , [ The iconv implementation.] )
5543
56- AS_CASE ( [ $iconv_impl_name] ,
57- [ gnu_libiconv] , [
58- AC_DEFINE ( [ PHP_ICONV_IMPL] , [ "libiconv"] )
59- AC_DEFINE ( [ HAVE_LIBICONV] , [ 1] )
60- ] ,
61- [ bsd] , [ AC_DEFINE ( [ PHP_ICONV_IMPL] , [ "BSD iconv"] ) ] ,
44+ AS_CASE ( [ $php_cv_iconv_implementation] ,
6245 [ glibc] , [
6346 AC_DEFINE ( [ HAVE_GLIBC_ICONV] , [ 1] ,
6447 [ Define to 1 if iconv implementation is glibc.] )
6548 AC_DEFINE ( [ PHP_ICONV_IMPL] , [ "glibc"] )
6649 ] ,
67- [ ibm] , [
50+ [ "GNU libiconv"] , [
51+ AC_DEFINE ( [ PHP_ICONV_IMPL] , [ "libiconv"] )
52+ AC_DEFINE ( [ HAVE_LIBICONV] , [ 1] )
53+ ] ,
54+ [ BSD] , [ AC_DEFINE ( [ PHP_ICONV_IMPL] , [ "BSD iconv"] ) ] ,
55+ [ IBM] , [
6856 AC_DEFINE ( [ HAVE_IBM_ICONV] , [ 1] ,
6957 [ Define to 1 if iconv implementation is IBM.] )
7058 AC_DEFINE ( [ PHP_ICONV_IMPL] , [ "IBM iconv"] )
7159 ] )
7260
73- AC_CACHE_CHECK ( [ if iconv supports errno] , [ php_cv_iconv_errno] ,
61+ AC_CACHE_CHECK ( [ if iconv supports errno] , [ php_cv_iconv_errno] ,
7462 [ AC_RUN_IFELSE ( [ AC_LANG_SOURCE ( [
7563#include <iconv.h>
7664#include <errno.h>
@@ -92,11 +80,11 @@ int main(void) {
9280 [ php_cv_iconv_errno=yes] ,
9381 [ php_cv_iconv_errno=no] ,
9482 [ php_cv_iconv_errno=yes] ) ] )
95- AS_VAR_IF ( [ php_cv_iconv_errno] , [ yes] ,,
96- [ AC_MSG_FAILURE ( [ The iconv check failed, 'errno' is missing.] ) ] )
83+ AS_VAR_IF ( [ php_cv_iconv_errno] , [ yes] ,,
84+ [ AC_MSG_FAILURE ( [ The iconv check failed, 'errno' is missing.] ) ] )
9785
98- AC_CACHE_CHECK ( [ if iconv supports //IGNORE] , [ php_cv_iconv_ignore] ,
99- [ AC_RUN_IFELSE ( [ AC_LANG_SOURCE ( [ [
86+ AC_CACHE_CHECK ( [ if iconv supports //IGNORE] , [ php_cv_iconv_ignore] ,
87+ [ AC_RUN_IFELSE ( [ AC_LANG_SOURCE ( [ [
10088#include <iconv.h>
10189#include <stdlib.h>
10290
@@ -115,25 +103,24 @@ int main(void) {
115103 }
116104 return 0;
117105}
118- ] ] ) ] ,
119- [ php_cv_iconv_ignore=yes] ,
120- [ php_cv_iconv_ignore=no] ,
121- [ php_cv_iconv_ignore=no] ) ] )
122-
123- AS_VAR_IF ( [ php_cv_iconv_ignore] , [ no] ,
124- [ AC_DEFINE ( [ ICONV_BROKEN_IGNORE] , [ 1] ,
125- [ Define to 1 if iconv has broken IGNORE.] ) ] )
126-
127- LDFLAGS=$save_LDFLAGS
128- CFLAGS=$save_CFLAGS
129-
130- AC_DEFINE ( [ HAVE_ICONV] , [ 1] ,
131- [ Define to 1 if the PHP extension 'iconv' is available.] )
132-
133- PHP_NEW_EXTENSION([ iconv] ,
134- [ iconv.c] ,
135- [ $ext_shared] ,,
136- [ -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1] )
137- PHP_SUBST([ ICONV_SHARED_LIBADD] )
138- PHP_INSTALL_HEADERS([ ext/iconv] , [ php_iconv.h] )
106+ ] ] ) ] ,
107+ [ php_cv_iconv_ignore=yes] ,
108+ [ php_cv_iconv_ignore=no] ,
109+ [ php_cv_iconv_ignore=no] ) ] )
110+ AS_VAR_IF ( [ php_cv_iconv_ignore] , [ no] ,
111+ [ AC_DEFINE ( [ ICONV_BROKEN_IGNORE] , [ 1] ,
112+ [ Define to 1 if iconv has broken IGNORE.] ) ] )
113+
114+ LDFLAGS=$save_LDFLAGS
115+ CFLAGS=$save_CFLAGS
116+
117+ AC_DEFINE ( [ HAVE_ICONV] , [ 1] ,
118+ [ Define to 1 if the PHP extension 'iconv' is available.] )
119+
120+ PHP_NEW_EXTENSION([ iconv] ,
121+ [ iconv.c] ,
122+ [ $ext_shared] ,,
123+ [ -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1] )
124+ PHP_SUBST([ ICONV_SHARED_LIBADD] )
125+ PHP_INSTALL_HEADERS([ ext/iconv] , [ php_iconv.h] )
139126fi
0 commit comments