config.m4 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. PHP_ARG_ENABLE([intl],
  2. [whether to enable internationalization support],
  3. [AS_HELP_STRING([--enable-intl],
  4. [Enable internationalization support])])
  5. if test "$PHP_INTL" != "no"; then
  6. PHP_SETUP_ICU(INTL_SHARED_LIBADD)
  7. PHP_SUBST(INTL_SHARED_LIBADD)
  8. 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"
  9. PHP_NEW_EXTENSION(intl, php_intl.c \
  10. intl_error.c \
  11. intl_convert.c \
  12. collator/collator.c \
  13. collator/collator_class.c \
  14. collator/collator_sort.c \
  15. collator/collator_convert.c \
  16. collator/collator_locale.c \
  17. collator/collator_compare.c \
  18. collator/collator_attr.c \
  19. collator/collator_create.c \
  20. collator/collator_is_numeric.c \
  21. collator/collator_error.c \
  22. common/common_error.c \
  23. converter/converter.c \
  24. formatter/formatter.c \
  25. formatter/formatter_main.c \
  26. formatter/formatter_class.c \
  27. formatter/formatter_attr.c \
  28. formatter/formatter_data.c \
  29. formatter/formatter_format.c \
  30. formatter/formatter_parse.c \
  31. normalizer/normalizer.c \
  32. normalizer/normalizer_class.c \
  33. normalizer/normalizer_normalize.c \
  34. locale/locale.c \
  35. locale/locale_class.c \
  36. locale/locale_methods.c \
  37. dateformat/dateformat.c \
  38. dateformat/dateformat_class.c \
  39. dateformat/dateformat_attr.c \
  40. dateformat/dateformat_data.c \
  41. dateformat/dateformat_format.c \
  42. dateformat/dateformat_parse.c \
  43. msgformat/msgformat.c \
  44. msgformat/msgformat_attr.c \
  45. msgformat/msgformat_class.c \
  46. msgformat/msgformat_data.c \
  47. msgformat/msgformat_format.c \
  48. msgformat/msgformat_parse.c \
  49. grapheme/grapheme_string.c \
  50. grapheme/grapheme_util.c \
  51. resourcebundle/resourcebundle.c \
  52. resourcebundle/resourcebundle_class.c \
  53. resourcebundle/resourcebundle_iterator.c \
  54. transliterator/transliterator.c \
  55. transliterator/transliterator_class.c \
  56. transliterator/transliterator_methods.c \
  57. uchar/uchar.c \
  58. idn/idn.c \
  59. spoofchecker/spoofchecker_class.c \
  60. spoofchecker/spoofchecker.c\
  61. spoofchecker/spoofchecker_create.c\
  62. spoofchecker/spoofchecker_main.c, $ext_shared,,$INTL_COMMON_FLAGS,cxx)
  63. PHP_INTL_CXX_SOURCES="intl_convertcpp.cpp \
  64. common/common_enum.cpp \
  65. common/common_date.cpp \
  66. dateformat/dateformat_format_object.cpp \
  67. dateformat/dateformat_create.cpp \
  68. dateformat/dateformat_attrcpp.cpp \
  69. dateformat/dateformat_helpers.cpp \
  70. dateformat/datepatterngenerator_class.cpp \
  71. dateformat/datepatterngenerator_methods.cpp \
  72. msgformat/msgformat_helpers.cpp \
  73. timezone/timezone_class.cpp \
  74. timezone/timezone_methods.cpp \
  75. calendar/calendar_class.cpp \
  76. calendar/calendar_methods.cpp \
  77. calendar/gregoriancalendar_methods.cpp \
  78. breakiterator/breakiterator_class.cpp \
  79. breakiterator/breakiterator_iterators.cpp \
  80. breakiterator/breakiterator_methods.cpp \
  81. breakiterator/rulebasedbreakiterator_methods.cpp \
  82. breakiterator/codepointiterator_internal.cpp \
  83. breakiterator/codepointiterator_methods.cpp"
  84. PHP_REQUIRE_CXX()
  85. PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX)
  86. PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $PHP_INTL_STDCXX $ICU_CXXFLAGS"
  87. case $host_alias in
  88. *cygwin*) PHP_INTL_CXX_FLAGS="$PHP_INTL_CXX_FLAGS -D_POSIX_C_SOURCE=200809L"
  89. esac
  90. if test "$ext_shared" = "no"; then
  91. PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CXX_SOURCES, $PHP_INTL_CXX_FLAGS)
  92. else
  93. PHP_ADD_SOURCES_X(PHP_EXT_DIR(intl), $PHP_INTL_CXX_SOURCES, $PHP_INTL_CXX_FLAGS, shared_objects_intl, yes)
  94. fi
  95. PHP_ADD_BUILD_DIR($ext_builddir/collator)
  96. PHP_ADD_BUILD_DIR($ext_builddir/converter)
  97. PHP_ADD_BUILD_DIR($ext_builddir/common)
  98. PHP_ADD_BUILD_DIR($ext_builddir/formatter)
  99. PHP_ADD_BUILD_DIR($ext_builddir/normalizer)
  100. PHP_ADD_BUILD_DIR($ext_builddir/dateformat)
  101. PHP_ADD_BUILD_DIR($ext_builddir/locale)
  102. PHP_ADD_BUILD_DIR($ext_builddir/msgformat)
  103. PHP_ADD_BUILD_DIR($ext_builddir/grapheme)
  104. PHP_ADD_BUILD_DIR($ext_builddir/resourcebundle)
  105. PHP_ADD_BUILD_DIR($ext_builddir/transliterator)
  106. PHP_ADD_BUILD_DIR($ext_builddir/timezone)
  107. PHP_ADD_BUILD_DIR($ext_builddir/calendar)
  108. PHP_ADD_BUILD_DIR($ext_builddir/idn)
  109. PHP_ADD_BUILD_DIR($ext_builddir/spoofchecker)
  110. PHP_ADD_BUILD_DIR($ext_builddir/breakiterator)
  111. PHP_ADD_BUILD_DIR($ext_builddir/uchar)
  112. fi