config.w32 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. // vim:ft=javascript
  2. ARG_ENABLE("intl", "Enable internationalization support", "no");
  3. if (PHP_INTL != "no") {
  4. if (CHECK_LIB("icuuc.lib", "intl", PHP_INTL) &&
  5. CHECK_HEADER_ADD_INCLUDE("unicode/utf.h", "CFLAGS_INTL")) {
  6. // always build as shared - zend_strtod.c/ICU type conflict
  7. EXTENSION("intl", "php_intl.c intl_convert.c intl_convertcpp.cpp intl_error.c ", true,
  8. "/I \"" + configure_module_dirname + "\" /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
  9. ADD_SOURCES(configure_module_dirname + "/collator", "\
  10. collator.c \
  11. collator_attr.c \
  12. collator_class.c \
  13. collator_compare.c \
  14. collator_convert.c \
  15. collator_create.c \
  16. collator_error.c \
  17. collator_is_numeric.c \
  18. collator_locale.c \
  19. collator_sort.c \
  20. ", "intl");
  21. ADD_SOURCES(configure_module_dirname + "/common", "\
  22. common_error.c \
  23. common_enum.cpp \
  24. common_date.cpp \
  25. ", "intl");
  26. ADD_SOURCES(configure_module_dirname + "/converter", "\
  27. converter.c \
  28. ", "intl");
  29. ADD_SOURCES(configure_module_dirname + "/formatter", "\
  30. formatter.c \
  31. formatter_attr.c \
  32. formatter_class.c \
  33. formatter_data.c \
  34. formatter_format.c \
  35. formatter_main.c \
  36. formatter_parse.c \
  37. ", "intl");
  38. ADD_SOURCES(configure_module_dirname + "/locale", "\
  39. locale.c \
  40. locale_class.c \
  41. locale_methods.c \
  42. ", "intl");
  43. ADD_SOURCES(configure_module_dirname + "/msgformat", "\
  44. msgformat.c \
  45. msgformat_attr.c \
  46. msgformat_class.c \
  47. msgformat_data.c \
  48. msgformat_format.c \
  49. msgformat_helpers.cpp \
  50. msgformat_parse.c \
  51. ", "intl");
  52. ADD_SOURCES(configure_module_dirname + "/grapheme", "\
  53. grapheme_string.c grapheme_util.c \
  54. ", "intl");
  55. ADD_SOURCES(configure_module_dirname + "/normalizer", "\
  56. normalizer.c \
  57. normalizer_class.c \
  58. normalizer_normalize.c \
  59. ", "intl");
  60. ADD_SOURCES(configure_module_dirname + "/dateformat", "\
  61. dateformat.c \
  62. dateformat_class.c \
  63. dateformat_attr.c \
  64. dateformat_format.c \
  65. dateformat_format_object.cpp \
  66. dateformat_parse.c \
  67. dateformat_data.c \
  68. dateformat_attrcpp.cpp \
  69. dateformat_helpers.cpp \
  70. dateformat_create.cpp \
  71. datepatterngenerator_class.cpp \
  72. datepatterngenerator_methods.cpp \
  73. ", "intl");
  74. ADD_SOURCES(configure_module_dirname + "/uchar", "\
  75. uchar.c",
  76. "intl");
  77. ADD_SOURCES(configure_module_dirname + "/idn", "\
  78. idn.c",
  79. "intl");
  80. ADD_SOURCES(configure_module_dirname + "/resourcebundle", "\
  81. resourcebundle.c \
  82. resourcebundle_class.c \
  83. resourcebundle_iterator.c",
  84. "intl");
  85. if (CHECK_HEADER_ADD_INCLUDE("unicode/uspoof.h", "CFLAGS_INTL")) {
  86. ADD_SOURCES(configure_module_dirname + "/spoofchecker", "\
  87. spoofchecker.c \
  88. spoofchecker_class.c \
  89. spoofchecker_create.c \
  90. spoofchecker_main.c",
  91. "intl");
  92. }
  93. ADD_SOURCES(configure_module_dirname + "/transliterator", "\
  94. transliterator.c \
  95. transliterator_class.c \
  96. transliterator_methods.c",
  97. "intl");
  98. ADD_SOURCES(configure_module_dirname + "/timezone", "\
  99. timezone_class.cpp \
  100. timezone_methods.cpp",
  101. "intl");
  102. ADD_SOURCES(configure_module_dirname + "/calendar", "\
  103. calendar_methods.cpp \
  104. gregoriancalendar_methods.cpp \
  105. calendar_class.cpp",
  106. "intl");
  107. ADD_SOURCES(configure_module_dirname + "/breakiterator", "\
  108. breakiterator_class.cpp \
  109. breakiterator_methods.cpp \
  110. breakiterator_iterators.cpp \
  111. rulebasedbreakiterator_methods.cpp \
  112. codepointiterator_internal.cpp \
  113. codepointiterator_methods.cpp ",
  114. "intl");
  115. ADD_FLAG("LIBS_INTL", "icudt.lib icuin.lib icuio.lib");
  116. /* Compat for ICU before 58.1.*/
  117. if (CHECK_LIB("icule.lib", "intl", PHP_INTL)) {
  118. ADD_FLAG("LIBS_INTL", "icule.lib");
  119. }
  120. if (CHECK_LIB("iculx.lib", "intl", PHP_INTL)) {
  121. ADD_FLAG("LIBS_INTL", "iculx.lib");
  122. }
  123. ADD_FLAG("CFLAGS_INTL", "/EHsc /DUNISTR_FROM_CHAR_EXPLICIT=explicit /DUNISTR_FROM_STRING_EXPLICIT=explicit /DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1 /DU_HIDE_OBSOLETE_UTF_OLD_H=1");
  124. AC_DEFINE("HAVE_INTL", 1, "Internationalization support enabled");
  125. } else {
  126. WARNING("intl not enabled; libraries and/or headers not found");
  127. }
  128. }