PageRenderTime 40ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/ext/zip/config.m4

http://github.com/infusion/PHP
m4 | 101 lines | 85 code | 10 blank | 6 comment | 0 complexity | 3ce006ecbb6d863530c2810c190f4a7e MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, LGPL-2.1, BSD-3-Clause
  1. dnl
  2. dnl $Id: config.m4 264447 2008-08-08 09:47:15Z pajoye $
  3. dnl
  4. PHP_ARG_ENABLE(zip, for zip archive read/writesupport,
  5. [ --enable-zip Include Zip read/write support])
  6. if test -z "$PHP_ZLIB_DIR"; then
  7. PHP_ARG_WITH(zlib-dir, for the location of libz,
  8. [ --with-zlib-dir[=DIR] ZIP: Set the path to libz install prefix], no, no)
  9. fi
  10. PHP_ARG_WITH(pcre-dir, pcre install prefix,
  11. [ --with-pcre-dir ZIP: pcre install prefix], no, no)
  12. if test "$PHP_ZIP" != "no"; then
  13. if test "$PHP_ZLIB_DIR" != "no" && test "$PHP_ZLIB_DIR" != "yes"; then
  14. if test -f "$PHP_ZLIB_DIR/include/zlib/zlib.h"; then
  15. PHP_ZLIB_DIR="$PHP_ZLIB_DIR"
  16. PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include/zlib"
  17. elif test -f "$PHP_ZLIB_DIR/include/zlib.h"; then
  18. PHP_ZLIB_DIR="$PHP_ZLIB_DIR"
  19. PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include"
  20. else
  21. AC_MSG_ERROR([Can not find zlib headers under "$PHP_ZLIB_DIR"])
  22. fi
  23. else
  24. for i in /usr/local /usr; do
  25. if test -f "$i/include/zlib/zlib.h"; then
  26. PHP_ZLIB_DIR="$i"
  27. PHP_ZLIB_INCDIR="$i/include/zlib"
  28. elif test -f "$i/include/zlib.h"; then
  29. PHP_ZLIB_DIR="$i"
  30. PHP_ZLIB_INCDIR="$i/include"
  31. fi
  32. done
  33. fi
  34. dnl # zlib
  35. AC_MSG_CHECKING([for the location of zlib])
  36. if test "$PHP_ZLIB_DIR" = "no"; then
  37. AC_MSG_ERROR([zip support requires ZLIB. Use --with-zlib-dir=<DIR> to specify prefix where ZLIB include and library are located])
  38. else
  39. AC_MSG_RESULT([$PHP_ZLIB_DIR])
  40. PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/$PHP_LIBDIR, ZIP_SHARED_LIBADD)
  41. PHP_ADD_INCLUDE($PHP_ZLIB_INCDIR)
  42. fi
  43. dnl This is PECL build, check if bundled PCRE library is used
  44. old_CPPFLAGS=$CPPFLAGS
  45. CPPFLAGS=$INCLUDES
  46. AC_EGREP_CPP(yes,[
  47. #include <main/php_config.h>
  48. #if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
  49. yes
  50. #endif
  51. ],[
  52. PHP_PCRE_REGEX=yes
  53. ],[
  54. AC_EGREP_CPP(yes,[
  55. #include <main/php_config.h>
  56. #if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE)
  57. yes
  58. #endif
  59. ],[
  60. PHP_PCRE_REGEX=pecl
  61. ],[
  62. PHP_PCRE_REGEX=no
  63. ])
  64. ])
  65. CPPFLAGS=$old_CPPFLAGS
  66. PHP_ZIP_SOURCES="$PHP_ZIP_SOURCES lib/zip_add.c lib/zip_error.c lib/zip_fclose.c \
  67. lib/zip_fread.c lib/zip_open.c lib/zip_source_filep.c \
  68. lib/zip_strerror.c lib/zip_close.c lib/zip_error_get.c \
  69. lib/zip_file_error_get.c lib/zip_free.c lib/zip_rename.c \
  70. lib/zip_source_free.c lib/zip_unchange_all.c lib/zip_delete.c \
  71. lib/zip_error_get_sys_type.c lib/zip_file_get_offset.c \
  72. lib/zip_get_name.c lib/zip_replace.c lib/zip_source_function.c \
  73. lib/zip_unchange.c lib/zip_dirent.c lib/zip_error_strerror.c \
  74. lib/zip_filerange_crc.c lib/zip_file_strerror.c lib/zip_get_num_files.c \
  75. lib/zip_get_archive_flag.c lib/zip_set_archive_flag.c \
  76. lib/zip_set_name.c lib/zip_source_zip.c lib/zip_unchange_data.c \
  77. lib/zip_entry_free.c lib/zip_error_to_str.c lib/zip_fopen.c \
  78. lib/zip_name_locate.c lib/zip_source_buffer.c lib/zip_stat.c \
  79. lib/zip_entry_new.c lib/zip_err_str.c lib/zip_fopen_index.c \
  80. lib/zip_get_archive_comment.c lib/zip_get_file_comment.c \
  81. lib/zip_new.c lib/zip_source_file.c lib/zip_stat_index.c \
  82. lib/zip_set_archive_comment.c lib/zip_set_file_comment.c \
  83. lib/zip_unchange_archive.c lib/zip_memdup.c lib/zip_stat_init.c lib/zip_add_dir.c \
  84. lib/zip_error_clear.c lib/zip_file_error_clear.c"
  85. AC_DEFINE(HAVE_ZIP,1,[ ])
  86. PHP_NEW_EXTENSION(zip, php_zip.c zip_stream.c $PHP_ZIP_SOURCES, $ext_shared)
  87. PHP_ADD_BUILD_DIR($ext_builddir/lib, 1)
  88. PHP_SUBST(ZIP_SHARED_LIBADD)
  89. dnl so we always include the known-good working hack.
  90. PHP_ADD_MAKEFILE_FRAGMENT
  91. fi