xref: /PHP-7.2/ext/zip/config.w32 (revision 902d39a3)
1// $Id$
2// vim:ft=javascript
3
4ARG_ENABLE("zip", "ZIP support", "yes");
5
6if (PHP_ZIP != "no") {
7	if (CHECK_HEADER_ADD_INCLUDE("zip.h", "CFLAGS_ZIP", PHP_PHP_BUILD + "\\include;" + PHP_EXTRA_INCLUDES) &&
8		CHECK_HEADER_ADD_INCLUDE("zipconf.h", "CFLAGS_ZIP", PHP_PHP_BUILD + "\\lib\\libzip\\include;" + PHP_EXTRA_LIBS + "\\libzip\\include;" + PHP_ZIP) &&
9		(PHP_ZIP_SHARED && CHECK_LIB("libzip.lib", "zip", PHP_ZIP) || CHECK_LIB("libzip_a.lib", "zip", PHP_ZIP) && CHECK_LIB("libbz2_a.lib", "zip", PHP_ZIP) && CHECK_LIB("zlib_a.lib", "zip", PHP_ZIP))
10	) {
11		EXTENSION('zip', 'php_zip.c zip_stream.c');
12
13		if (get_define("LIBS_ZIP").match("libzip_a(?:_debug)?\.lib")) {
14			/* Using static dependency lib. */
15			AC_DEFINE("ZIP_STATIC", 1);
16		}
17
18		AC_DEFINE('HAVE_ZIP', 1);
19		AC_DEFINE('HAVE_LIBZIP', 1);
20		ADD_FLAG("CFLAGS_ZIP", "/D _WIN32 /D HAVE_ENCRYPTION");
21	} else if (CHECK_HEADER_ADD_INCLUDE("zlib.h", "CFLAGS_ZIP", "..\\zlib;" + PHP_ZIP) &&
22		CHECK_HEADER_ADD_INCLUDE("zipconf.h", "CFLAGS_ZIP", configure_module_dirname + "\\lib;" + PHP_ZIP) &&
23		(((PHP_ZLIB=="no") && (CHECK_LIB("zlib_a.lib", "zip", PHP_ZIP) ||  CHECK_LIB("zlib.lib", "zip", PHP_ZIP))) ||
24			(PHP_ZLIB_SHARED && CHECK_LIB("zlib.lib", "zip", PHP_ZIP)) || (PHP_ZLIB == "yes" && (!PHP_ZLIB_SHARED)))
25		) {
26		EXTENSION('zip', 'php_zip.c zip_stream.c');
27		ADD_SOURCES(configure_module_dirname + "/lib", "zip_add.c zip_add_dir.c zip_add_entry.c\
28			zip_close.c zip_delete.c zip_dir_add.c zip_dirent.c zip_discard.c zip_entry.c\
29			zip_err_str.c zip_error.c zip_error_clear.c zip_error_get.c zip_error_get_sys_type.c\
30			zip_error_strerror.c zip_error_to_str.c zip_extra_field.c zip_extra_field_api.c\
31			zip_fclose.c zip_fdopen.c zip_file_add.c zip_file_error_clear.c zip_file_error_get.c\
32			zip_file_get_comment.c zip_file_get_offset.c zip_file_rename.c zip_file_replace.c\
33			zip_file_set_comment.c zip_file_strerror.c zip_filerange_crc.c zip_fopen.c\
34			zip_fopen_encrypted.c zip_fopen_index.c zip_fopen_index_encrypted.c zip_fread.c\
35			zip_get_archive_comment.c zip_get_archive_flag.c zip_get_compression_implementation.c\
36			zip_get_encryption_implementation.c zip_get_file_comment.c zip_get_name.c zip_get_num_entries.c \
37			zip_get_num_files.c zip_memdup.c zip_name_locate.c zip_new.c zip_open.c zip_rename.c zip_replace.c\
38			zip_hash.c \
39			zip_set_archive_comment.c zip_set_archive_flag.c zip_set_default_password.c zip_set_file_comment.c\
40			zip_set_file_compression.c zip_set_name.c zip_source_buffer.c zip_source_close.c zip_source_crc.c\
41			zip_source_deflate.c zip_source_error.c zip_source_filep.c zip_source_free.c\
42			zip_source_function.c zip_source_layered.c zip_source_open.c zip_source_pkware.c \
43			zip_source_read.c zip_source_stat.c zip_source_window.c zip_source_zip.c zip_source_zip_new.c\
44			zip_stat.c zip_stat_index.c zip_stat_init.c zip_strerror.c zip_string.c zip_unchange.c zip_unchange_all.c\
45			zip_unchange_archive.c zip_unchange_data.c zip_utf-8.c mkstemp.c \
46			zip_file_set_external_attributes.c zip_file_get_external_attributes.c zip_source_write.c \
47			zip_source_call.c zip_source_supports.c zip_buffer.c zip_source_seek.c zip_source_tell.c \
48			zip_io_util.c zip_source_remove.c zip_source_rollback_write.c zip_source_commit_write.c \
49			zip_source_tell_write.c zip_source_begin_write.c zip_source_seek_write.c \
50			zip_source_win32a.c zip_source_win32utf8.c zip_source_win32handle.c zip_source_win32w.c", "zip");
51
52		AC_DEFINE('HAVE_ZIP', 1);
53		ADD_FLAG("CFLAGS_ZIP", "/D _WIN32");
54	} else {
55		WARNING("zip not enabled; libraries and headers not found");
56	}
57}
58