123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- PHP_ARG_WITH(xlswriter, xlswriter support,
- [ --with-xlswriter Include xlswriter support], yes)
- PHP_ARG_WITH(libxlsxwriter, system libxlsxwriter,
- [ --with-libxlsxwriter=DIR Use system libxlsxwriter], no, no)
- PHP_ARG_WITH(libxlsxio, system libxlsxio,
- [ --with-libxlsxio=DIR Use system libxlsxio], no, no)
- PHP_ARG_WITH(openssl, openssl MD5,
- [ --with-openssl=DIR Use openssl MD5], no, no)
- PHP_ARG_ENABLE(reader, enable xlsx reader support,
- [ --enable-reader Enable xlsx reader?], yes, yes)
- if test "$PHP_XLSWRITER" != "no"; then
- xls_writer_sources="
- xlswriter.c \
- kernel/chart.c \
- kernel/common.c \
- kernel/excel.c \
- kernel/exception.c \
- kernel/format.c \
- kernel/help.c \
- kernel/resource.c \
- kernel/rich_string.c \
- kernel/validation.c \
- kernel/write.c \
- "
- xls_read_sources="
- kernel/read.c \
- kernel/csv.c \
- "
- minizip_sources="
- library/libxlsxwriter/third_party/minizip/ioapi.c \
- library/libxlsxwriter/third_party/minizip/mztools.c \
- library/libxlsxwriter/third_party/minizip/unzip.c \
- library/libxlsxwriter/third_party/minizip/zip.c \
- "
- md5_sources="
- library/libxlsxwriter/third_party/md5/md5.c \
- "
- libxlsxwriter_sources="
- library/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c \
- library/libxlsxwriter/src/app.c \
- library/libxlsxwriter/src/chart.c \
- library/libxlsxwriter/src/chartsheet.c \
- library/libxlsxwriter/src/comment.c \
- library/libxlsxwriter/src/content_types.c \
- library/libxlsxwriter/src/core.c \
- library/libxlsxwriter/src/custom.c \
- library/libxlsxwriter/src/drawing.c \
- library/libxlsxwriter/src/format.c \
- library/libxlsxwriter/src/hash_table.c \
- library/libxlsxwriter/src/metadata.c \
- library/libxlsxwriter/src/packager.c \
- library/libxlsxwriter/src/relationships.c \
- library/libxlsxwriter/src/shared_strings.c \
- library/libxlsxwriter/src/styles.c \
- library/libxlsxwriter/src/theme.c \
- library/libxlsxwriter/src/utility.c \
- library/libxlsxwriter/src/vml.c \
- library/libxlsxwriter/src/workbook.c \
- library/libxlsxwriter/src/worksheet.c \
- library/libxlsxwriter/src/xmlwriter.c \
- "
- libexpat="
- library/libexpat/expat/lib/loadlibrary.c \
- library/libexpat/expat/lib/xmlparse.c \
- library/libexpat/expat/lib/xmlrole.c \
- library/libexpat/expat/lib/xmltok.c \
- library/libexpat/expat/lib/xmltok_impl.c \
- library/libexpat/expat/lib/xmltok_ns.c \
- "
- libxlsxio="
- library/libxlsxio/lib/xlsxio_read.c \
- library/libxlsxio/lib/xlsxio_read_sharedstrings.c \
- "
- AC_MSG_CHECKING([Check libxlsxwriter library])
- if test "$PHP_OPENSSL" != "no"; then
- AC_MSG_RESULT([use the openssl md5 library])
- for i in $PHP_OPENSSL /usr/local /usr /usr/local/opt; do
- if test -r $i/include/openssl/md5.h; then
- OPENSSL_DIR=$i
- AC_MSG_RESULT([found in $i])
- break
- fi
- done
- if test -z "$OPENSSL_DIR"; then
- PHP_SETUP_OPENSSL(XLSWRITER_SHARED_LIBADD,
- [
- AC_DEFINE(USE_OPENSSL_MD5, 1, [ use openssl md5 ])
- ], [
- AC_MSG_ERROR([openssl library not found])
- ])
- else
- PHP_ADD_INCLUDE($OPENSSL_DIR/include)
- PHP_CHECK_LIBRARY(crypto, MD5_Init,
- [
- PHP_ADD_LIBRARY_WITH_PATH(crypto, $OPENSSL_DIR/lib, XLSWRITER_SHARED_LIBADD)
- ],[
- AC_MSG_ERROR([Wrong openssl MD5_Init not found])
- ],[
- -L$OPENSSL_DIR/lib -lcrypto
- ])
- AC_DEFINE(USE_OPENSSL_MD5, 1, [ use openssl md5 ])
- fi
- else
- AC_MSG_RESULT([use the bundled md5 library])
- xls_writer_sources="$xls_writer_sources $md5_sources"
- fi
- if test "$PHP_LIBXLSXWRITER" != "no"; then
- for i in $PHP_LIBXLSXWRITER /usr/local /usr /usr/local/opt; do
- if test -r $i/include/xlsxwriter.h; then
- XLSXWRITER_DIR=$i
- AC_MSG_RESULT([found in $i])
- break
- fi
- done
- if test -z "$XLSXWRITER_DIR"; then
- AC_MSG_ERROR([libxlsxwriter library not found])
- else
- PHP_ADD_INCLUDE($XLSXWRITER_DIR/include)
- PHP_CHECK_LIBRARY(xlsxwriter, lxw_worksheet_find_cell_in_row,
- [
- PHP_ADD_LIBRARY_WITH_PATH(xlsxwriter, $i/$PHP_LIBDIR, XLSWRITER_SHARED_LIBADD)
- ],[
- AC_MSG_ERROR([Wrong libxlsxwriter version or library not found, 0.9.3 required])
- ],[
- -L$XLSXWRITER_DIR/$PHP_LIBDIR -lm
- ])
- PHP_CHECK_LIBRARY(xlsxwriter, lxw_fopen,
- [
- AC_DEFINE(HAVE_LXW_OPEN, 1, [ lxw_fopen available in 0.8.8 ])
- ],[
- ],[
- -L$XLSXWRITER_DIR/$PHP_LIBDIR -lm
- ])
- fi
- AC_DEFINE(HAVE_LIBXLSXWRITER, 1, [ use system libxlsxwriter ])
- else
- AC_MSG_RESULT([use the bundled library])
- xls_writer_sources="$xls_writer_sources $libxlsxwriter_sources"
- PHP_ADD_INCLUDE([PHP_EXT_SRCDIR/library/libxlsxwriter/include])
- dnl see library/CMakeLists.txt
- LIBOPT="$LIBOPT -DNOCRYPT -DNOUNCRYPT"
- fi
- if test "$PHP_READER" = "yes"; then
- AC_MSG_CHECKING([Check libxlsxwriter library])
- if test "$PHP_LIBXLSXIO" != "no"; then
- for i in $PHP_LIBXLSXIO /usr/local /usr; do
- if test -r $i/include/xlsxio_read.h; then
- XLSXIO_DIR=$i
- AC_MSG_RESULT([found in $i])
- break
- fi
- done
- if test -z "$XLSXIO_DIR"; then
- AC_MSG_ERROR([libxlsxio library not found])
- else
- PHP_ADD_INCLUDE($XLSXIO_DIR/include)
- PHP_CHECK_LIBRARY(xlsxio_read, xlsxioread_sheet_open,
- [
- PHP_ADD_LIBRARY_WITH_PATH(xlsxio_read, $i/$PHP_LIBDIR, XLSWRITER_SHARED_LIBADD)
- ],[
- AC_MSG_ERROR([Wrong libxlsxio version or library not found])
- ],[
- -L$XLSXWRITER_DIR/$PHP_LIBDIR -lm
- ])
- fi
- AC_DEFINE(HAVE_LIBXLSXIO, 1, [ use system libxlsxwriter ])
- else
- AC_MSG_RESULT([use the bundled library])
- xls_writer_sources="$xls_writer_sources $libexpat"
- PHP_ADD_INCLUDE([PHP_EXT_SRCDIR/library/libexpat/expat/lib])
- PHP_ADD_BUILD_DIR([PHP_EXT_BUILDDIR/library/libexpat/expat/lib])
- LIBOPT="$LIBOPT -DXML_POOR_ENTROPY"
- xls_writer_sources="$xls_writer_sources $libxlsxio"
- PHP_ADD_INCLUDE([PHP_EXT_SRCDIR/library/libxlsxio/include])
- PHP_ADD_BUILD_DIR([PHP_EXT_BUILDDIR/library/libxlsxio/lib])
- LIBOPT="$LIBOPT -DUSE_MINIZIP"
- fi
- xls_writer_sources="$xls_writer_sources $xls_read_sources"
- AC_DEFINE(ENABLE_READER, 1, [enable reader])
- fi
- if test "$PHP_LIBXLSXIO" = "no" || test "$PHP_LIBXLSXWRITER" = "no"; then
- xls_writer_sources="$xls_writer_sources $minizip_sources"
- fi
- if test -z "$PHP_DEBUG"; then
- AC_ARG_ENABLE(debug, [--enable-debug compile with debugging system], [PHP_DEBUG=$enableval],[PHP_DEBUG=no])
- fi
- PHP_SUBST(XLSWRITER_SHARED_LIBADD)
- PHP_NEW_EXTENSION(xlswriter, $xls_writer_sources, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 $LIBOPT)
- PHP_ADD_INCLUDE([PHP_EXT_SRCDIR])
- PHP_ADD_INCLUDE([PHP_EXT_SRCDIR/include])
- PHP_ADD_BUILD_DIR([PHP_EXT_BUILDDIR/kernel])
- PHP_ADD_BUILD_DIR([PHP_EXT_BUILDDIR/library/libxlsxwriter/src])
- PHP_ADD_BUILD_DIR([PHP_EXT_BUILDDIR/library/libxlsxwriter/third_party/minizip])
- PHP_ADD_BUILD_DIR([PHP_EXT_BUILDDIR/library/libxlsxwriter/third_party/tmpfileplus])
- PHP_ADD_BUILD_DIR([PHP_EXT_BUILDDIR/library/libxlsxwriter/third_party/md5])
- PHP_ADD_BUILD_DIR([PHP_EXT_BUILDDIR/library/libexpat/expat/lib])
- PHP_ADD_BUILD_DIR([PHP_EXT_BUILDDIR/library/libxlsxio/lib])
- fi
|