forked from php/php-src
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathconfig.m4
130 lines (124 loc) · 4.21 KB
/
config.m4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
PHP_ARG_ENABLE([intl],
[whether to enable internationalization support],
[AS_HELP_STRING([--enable-intl],
[Enable internationalization support])])
if test "$PHP_INTL" != "no"; then
PHP_SETUP_ICU([INTL_SHARED_LIBADD])
PHP_SUBST([INTL_SHARED_LIBADD])
INTL_COMMON_FLAGS="$ICU_CFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
PHP_NEW_EXTENSION([intl], m4_normalize([
collator/collator_attr.c
collator/collator_class.c
collator/collator_compare.c
collator/collator_convert.c
collator/collator_create.c
collator/collator_error.c
collator/collator_is_numeric.c
collator/collator_locale.c
collator/collator_sort.c
common/common_error.c
converter/converter.c
dateformat/dateformat_attr.c
dateformat/dateformat_class.c
dateformat/dateformat_data.c
dateformat/dateformat_format.c
dateformat/dateformat_parse.c
dateformat/dateformat.c
formatter/formatter_attr.c
formatter/formatter_class.c
formatter/formatter_data.c
formatter/formatter_format.c
formatter/formatter_main.c
formatter/formatter_parse.c
grapheme/grapheme_string.c
grapheme/grapheme_util.c
idn/idn.c
intl_convert.c
intl_error.c
locale/locale_class.c
locale/locale_methods.c
locale/locale.c
msgformat/msgformat_attr.c
msgformat/msgformat_class.c
msgformat/msgformat_data.c
msgformat/msgformat_format.c
msgformat/msgformat_parse.c
msgformat/msgformat.c
normalizer/normalizer_class.c
normalizer/normalizer_normalize.c
php_intl.c
resourcebundle/resourcebundle_class.c
resourcebundle/resourcebundle_iterator.c
resourcebundle/resourcebundle.c
spoofchecker/spoofchecker_class.c
spoofchecker/spoofchecker_create.c
spoofchecker/spoofchecker_main.c
transliterator/transliterator_class.c
transliterator/transliterator_methods.c
uchar/uchar.c
]),
[$ext_shared],,
[$INTL_COMMON_FLAGS],
[cxx])
PHP_INTL_CXX_SOURCES="intl_convertcpp.cpp \
common/common_enum.cpp \
common/common_date.cpp \
dateformat/dateformat_format_object.cpp \
dateformat/dateformat_create.cpp \
dateformat/dateformat_attrcpp.cpp \
dateformat/dateformat_helpers.cpp \
dateformat/datepatterngenerator_class.cpp \
dateformat/datepatterngenerator_methods.cpp \
msgformat/msgformat_helpers.cpp \
timezone/timezone_class.cpp \
timezone/timezone_methods.cpp \
calendar/calendar_class.cpp \
calendar/calendar_methods.cpp \
calendar/gregoriancalendar_methods.cpp \
breakiterator/breakiterator_class.cpp \
breakiterator/breakiterator_iterators.cpp \
breakiterator/breakiterator_methods.cpp \
breakiterator/rulebasedbreakiterator_methods.cpp \
breakiterator/codepointiterator_internal.cpp \
breakiterator/codepointiterator_methods.cpp"
PHP_REQUIRE_CXX()
AC_MSG_CHECKING([if intl requires -std=gnu++17])
AS_IF([$PKG_CONFIG icu-uc --atleast-version=74],[
AC_MSG_RESULT([yes])
PHP_CXX_COMPILE_STDCXX([17], [mandatory], [PHP_INTL_STDCXX])
],[
AC_MSG_RESULT([no])
PHP_CXX_COMPILE_STDCXX([11], [mandatory], [PHP_INTL_STDCXX])
])
PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $PHP_INTL_STDCXX $ICU_CXXFLAGS"
AS_CASE([$host_alias], [*cygwin*],
[PHP_INTL_CXX_FLAGS="$PHP_INTL_CXX_FLAGS -D_POSIX_C_SOURCE=200809L"])
AS_VAR_IF([ext_shared], [no],
[PHP_ADD_SOURCES([$ext_dir],
[$PHP_INTL_CXX_SOURCES],
[$PHP_INTL_CXX_FLAGS])],
[PHP_ADD_SOURCES_X([$ext_dir],
[$PHP_INTL_CXX_SOURCES],
[$PHP_INTL_CXX_FLAGS],
[shared_objects_intl],
[yes])])
PHP_ADD_BUILD_DIR(m4_normalize([
$ext_builddir/breakiterator
$ext_builddir/calendar
$ext_builddir/collator
$ext_builddir/common
$ext_builddir/converter
$ext_builddir/dateformat
$ext_builddir/formatter
$ext_builddir/grapheme
$ext_builddir/idn
$ext_builddir/locale
$ext_builddir/msgformat
$ext_builddir/normalizer
$ext_builddir/resourcebundle
$ext_builddir/spoofchecker
$ext_builddir/timezone
$ext_builddir/transliterator
$ext_builddir/uchar
]))
fi