config.m4 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. PHP_ARG_WITH(xlsxwriter, xlswriter support,
  2. [ --with-xlswriter Include xlswriter support], yes)
  3. PHP_ARG_WITH(libxlsxwriter, system libxlsswriter,
  4. [ --with-libxlsxwriter=DIR Use system library], no, no)
  5. if test "$PHP_XLSWRITER" != "no"; then
  6. xls_writer_sources="
  7. xls_writer.c \
  8. kernel/exception.c \
  9. kernel/resource.c \
  10. kernel/common.c \
  11. kernel/excel.c \
  12. kernel/write.c \
  13. kernel/format.c \
  14. "
  15. libxlsxwriter_sources="
  16. library/third_party/minizip/ioapi.c \
  17. library/third_party/minizip/mztools.c \
  18. library/third_party/minizip/unzip.c \
  19. library/third_party/minizip/zip.c \
  20. library/third_party/tmpfileplus/tmpfileplus.c \
  21. library/src/app.c \
  22. library/src/chart.c \
  23. library/src/content_types.c \
  24. library/src/core.c \
  25. library/src/custom.c \
  26. library/src/drawing.c \
  27. library/src/xlsx_format.c \
  28. library/src/hash_table.c \
  29. library/src/packager.c \
  30. library/src/relationships.c \
  31. library/src/shared_strings.c \
  32. library/src/styles.c \
  33. library/src/theme.c \
  34. library/src/utility.c \
  35. library/src/workbook.c \
  36. library/src/worksheet.c \
  37. library/src/xmlwriter.c \
  38. "
  39. AC_MSG_CHECKING([Check libxlsxwriter library])
  40. if test "$PHP_LIBXLSXWRITER" != "no"; then
  41. for i in $PHP_LIBXLSXWRITER /usr/local /usr; do
  42. if test -r $i/include/xlsxwriter.h; then
  43. XLSXWRITER_DIR=$i
  44. AC_MSG_RESULT([found in $i])
  45. break
  46. fi
  47. done
  48. if test -z "$XLSXWRITER_DIR"; then
  49. AC_MSG_ERROR([libxlsxwriter library not found])
  50. else
  51. PHP_ADD_INCLUDE($XLSXWRITER_DIR/include)
  52. PHP_CHECK_LIBRARY(xlsxwriter, worksheet_write_string,
  53. [
  54. PHP_ADD_LIBRARY_WITH_PATH(xlsxwriter, $i/$PHP_LIBDIR, XLSWRITER_SHARED_LIBADD)
  55. ],[
  56. AC_MSG_ERROR([Wrong libxlsxwriter version or library not found])
  57. ],[
  58. -L$XLSXWRITER_DIR/$PHP_LIBDIR -lm
  59. ])
  60. PHP_CHECK_LIBRARY(xlsxwriter, lxw_version,
  61. [
  62. AC_DEFINE(HAVE_LXW_VERSION, 1, [ lxw_version available in 0.7.9 ])
  63. ],[
  64. ],[
  65. -L$XLSXWRITER_DIR/$PHP_LIBDIR -lm
  66. ])
  67. PHP_CHECK_LIBRARY(xlsxwriter, lxw_chartsheet_new,
  68. [
  69. AC_DEFINE(HAVE_LXW_CHARTSHEET_NEW, 1, [ lxw_chartsheet_new available in 0.8.0 ])
  70. ],[
  71. ],[
  72. -L$XLSXWRITER_DIR/$PHP_LIBDIR -lm
  73. ])
  74. fi
  75. AC_DEFINE(HAVE_LIBXLSXWRITER, 1, [ use system libxlsxwriter ])
  76. else
  77. AC_MSG_RESULT([use the bundled library])
  78. xls_writer_sources="$xls_writer_sources $libxlsxwriter_sources"
  79. PHP_ADD_INCLUDE([$srcdir/library/include])
  80. dnl uncomment when bunled lib will be updated
  81. dnl AC_DEFINE(HAVE_LXW_VERSION, 1, [ lxw_version available in 0.7.9 ])
  82. dnl AC_DEFINE(HAVE_LXW_CHARTSHEET_NEW, 1, [ lxw_chartsheet_new available in 0.8.0 ])
  83. fi
  84. if test -z "$PHP_DEBUG"; then
  85. AC_ARG_ENABLE(debug, [--enable-debug compile with debugging system], [PHP_DEBUG=$enableval],[PHP_DEBUG=no])
  86. fi
  87. PHP_SUBST(XLSWRITER_SHARED_LIBADD)
  88. PHP_NEW_EXTENSION(xlswriter, $xls_writer_sources, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
  89. PHP_ADD_BUILD_DIR([$ext_builddir/kernel])
  90. fi