Skip to content

Commit 05b9b20

Browse files
committed
Add new (optional!) win32 build infrastructure.
Will follow up to internals@ shortly.
1 parent 30b631d commit 05b9b20

File tree

29 files changed

+1439
-0
lines changed

29 files changed

+1439
-0
lines changed

buildconf.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@echo off
2+
cscript /nologo win32\build\buildconf.js

ext/bcmath/config.w32

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// $Id$
2+
// vim:ft=javascript
3+
4+
ARG_ENABLE("bcmath", "bc style precision math functions", "yes");
5+
6+
if (PHP_BCMATH == "yes") {
7+
EXTENSION("bcmath", "bcmath.c", null, "-Iext/bcmath/libbcmath/src");
8+
ADD_SOURCES("ext/bcmath/libbcmath/src", "add.c div.c init.c neg.c \
9+
outofmem.c raisemod.c rt.c sub.c compare.c divmod.c int2num.c \
10+
num2long.c output.c recmul.c sqrt.c zero.c debug.c doaddsub.c \
11+
nearzero.c num2str.c raise.c rmzero.c str2num.c", "bcmath");
12+
13+
AC_DEFINE('WITH_BCMATH', 1, 'Have BCMATH library');
14+
}

ext/calendar/config.w32

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// $Id$
2+
// vim:ft=javascript
3+
4+
ARG_ENABLE("calendar", "calendar conversion support", "yes");
5+
6+
if (PHP_CALENDAR == "yes") {
7+
EXTENSION("calendar", "calendar.c dow.c french.c gregor.c jewish.c \
8+
julian.c easter.c cal_unix.c");
9+
AC_DEFINE('HAVE_CALENDAR', 1, 'Have calendar');
10+
}

ext/com_dotnet/config.w32

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// $Id$
2+
// vim:ft=javascript
3+
4+
ARG_ENABLE("com_dotnet", "COM and .Net support", "yes");
5+
6+
if (PHP_COM_DOTNET == "yes") {
7+
EXTENSION("com_dotnet", "com_com.c com_dotnet.c com_extension.c \
8+
com_handlers.c com_iterator.c com_misc.c com_olechar.c \
9+
com_typeinfo.c com_variant.c");
10+
AC_DEFINE('HAVE_COM_DOTNET', 1, 'Have COM_DOTNET support');
11+
// TODO: do a header check for this
12+
AC_DEFINE('HAVE_MSCOREE_H', 0, 'Have .net headers');
13+
}

ext/ctype/config.w32

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// $Id$
2+
// vim:ft=javascript
3+
4+
ARG_ENABLE("ctype", "ctype", "yes");
5+
6+
if (PHP_CTYPE == "yes") {
7+
EXTENSION("ctype", "ctype.c");
8+
AC_DEFINE('HAVE_CTYPE', 1, 'Have ctype');
9+
}

ext/dom/config.w32

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// $Id$
2+
// vim:ft=javascript
3+
4+
ARG_WITH("dom", "DOM support", "yes");
5+
6+
if (PHP_DOM == "yes" && PHP_LIBXML == "yes") {
7+
EXTENSION("dom", "php_dom.c attr.c document.c domerrorhandler.c \
8+
domstringlist.c domexception.c namelist.c processinginstruction.c \
9+
cdatasection.c documentfragment.c domimplementation.c element.c \
10+
node.c string_extend.c characterdata.c documenttype.c \
11+
domimplementationlist.c entity.c nodelist.c text.c comment.c \
12+
domconfiguration.c domimplementationsource.c entityreference.c \
13+
notation.c xpath.c dom_iterators.c typeinfo.c domerror.c \
14+
domlocator.c namednodemap.c userdatahandler.c");
15+
AC_DEFINE("HAVE_DOM", 1, "DOM support");
16+
}
17+
18+

ext/ftp/config.w32

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// $Id$
2+
// vim:ft=javascript
3+
4+
ARG_ENABLE("ftp", "ftp support", "yes");
5+
6+
if (PHP_FTP == "yes") {
7+
EXTENSION("ftp", "php_ftp.c ftp.c");
8+
AC_DEFINE('HAVE_FTP', 1, 'Have FTP support');
9+
}

ext/libxml/config.w32

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// $Id$
2+
// vim:ft=javascript
3+
4+
ARG_WITH("libxml", "LibXML support", "yes");
5+
6+
if (PHP_LIBXML == "yes") {
7+
EXTENSION("libxml", "libxml.c", false /* never shared */);
8+
AC_DEFINE("HAVE_LIBXML", 1, "LibXML support");
9+
ADD_FLAG("LIBS_LIBXML", "libxml2.lib iconv.lib");
10+
}
11+
12+

ext/mbstring/config.w32

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// $Id$
2+
// vim:ft=javascript
3+
4+
ARG_ENABLE("mbstring", "multibyte string functions", "no");
5+
ARG_ENABLE("mbregex", "multibyte regex support", "no");
6+
7+
if (PHP_MBSTRING == "yes") {
8+
9+
FSO.CopyFile("ext\\mbstring\\libmbfl\\config.h.vc6",
10+
"ext\\mbstring\\libmbfl\\config.h", true);
11+
FSO.CopyFile("ext\\mbstring\\oniguruma\\win32\\config.h",
12+
"ext\\mbstring\\oniguruma\\config.h", true);
13+
14+
EXTENSION("mbstring", "mbstring.c php_unicode.c mb_gpc.c", null,
15+
"-Iext/mbstring/libmbfl -Iext/mbstring/libmbfl/mbfl \
16+
/D NOT_RUBY=1 /D LIBMBFL_EXPORTS=1 /D HAVE_STDARG_PROTOTYPES=1 \
17+
/D HAVE_CONFIG_H /D HAVE_STDLIB_H /D HAVE_STRICMP /D MBFL_DLL_EXPORT=1");
18+
19+
ADD_SOURCES("ext/mbstring/libmbfl/filters", "html_entities.c \
20+
mbfilter_7bit.c mbfilter_ascii.c mbfilter_base64.c mbfilter_big5.c \
21+
mbfilter_byte2.c mbfilter_byte4.c mbfilter_cp1251.c mbfilter_cp1252.c \
22+
mbfilter_cp866.c mbfilter_cp932.c mbfilter_cp936.c mbfilter_euc_cn.c \
23+
mbfilter_euc_jp.c mbfilter_euc_jp_win.c mbfilter_euc_kr.c \
24+
mbfilter_euc_tw.c mbfilter_htmlent.c mbfilter_hz.c mbfilter_iso2022_kr.c \
25+
mbfilter_iso8859_1.c mbfilter_iso8859_10.c mbfilter_iso8859_13.c \
26+
mbfilter_iso8859_14.c mbfilter_iso8859_15.c mbfilter_iso8859_2.c \
27+
mbfilter_iso8859_3.c mbfilter_iso8859_4.c mbfilter_iso8859_5.c \
28+
mbfilter_iso8859_6.c mbfilter_iso8859_7.c mbfilter_iso8859_8.c \
29+
mbfilter_iso8859_9.c mbfilter_jis.c mbfilter_koi8r.c mbfilter_qprint.c \
30+
mbfilter_sjis.c mbfilter_ucs2.c mbfilter_ucs4.c mbfilter_uhc.c \
31+
mbfilter_utf16.c mbfilter_utf32.c mbfilter_utf7.c mbfilter_utf7imap.c \
32+
mbfilter_utf8.c mbfilter_uuencode.c", "mbstring");
33+
34+
ADD_SOURCES("ext/mbstring/libmbfl/mbfl", "mbfilter.c mbfilter_8bit.c \
35+
mbfilter_pass.c mbfilter_wchar.c mbfl_convert.c mbfl_encoding.c \
36+
mbfl_filter_output.c mbfl_ident.c mbfl_language.c mbfl_memory_device.c \
37+
mbfl_string.c mbfl_allocators.c", "mbstring");
38+
39+
ADD_SOURCES("ext/mbstring/libmbfl/nls", "nls_de.c nls_en.c nls_ja.c nls_kr.c \
40+
nls_neutral.c nls_ru.c nls_uni.c nls_zh.c", "mbstring");
41+
42+
AC_DEFINE('HAVE_MBSTRING', 1, 'Have mbstring support');
43+
AC_DEFINE('HAVE_MBSTR_CN', 1, 'CN');
44+
AC_DEFINE('HAVE_MBSTR_JA', 1, 'CN');
45+
AC_DEFINE('HAVE_MBSTR_KR', 1, 'CN');
46+
AC_DEFINE('HAVE_MBSTR_RU', 1, 'CN');
47+
AC_DEFINE('HAVE_MBSTR_TW', 1, 'CN');
48+
AC_DEFINE('HAVE_STDARG_PROTOTYPES', 1, 'have stdarg.h');
49+
50+
if (PHP_MBREGEX == "yes") {
51+
ADD_SOURCES("ext/mbstring/oniguruma", "regcomp.c regerror.c \
52+
regexec.c reggnu.c regparse.c regposerr.c", "mbstring");
53+
ADD_SOURCES("ext/mbstring", "php_mbregex.c", "mbstring");
54+
}
55+
}

ext/odbc/config.w32

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// $Id$
2+
// vim:ft=javascript
3+
4+
ARG_ENABLE("odbc", "ODBC support", "yes");
5+
6+
if (PHP_ODBC == "yes") {
7+
EXTENSION("odbc", "php_odbc.c");
8+
AC_DEFINE("HAVE_UODBC", 1, "ODBC support");
9+
ADD_FLAG('LIBS_ODBC', 'odbc32.lib odbccp32.lib');
10+
}
11+
12+

0 commit comments

Comments
 (0)