Skip to content

Commit defd45a

Browse files
committed
implement makefile fragment support for nmake
1 parent a055ab7 commit defd45a

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed

ext/standard/Makefile.frag.w32

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2+
ext\standard\var_unserializer.c: ext\standard\var_unserializer.re
3+
$(RE2C) --no-generation-date -b -o ext/standard/var_unserializer.c ext/standard/var_unserializer.re
4+
5+
ext\standard\url_scanner_ex.c: ext\standard\url_scanner_ex.re
6+
$(RE2C) --no-generation-date -b -o ext/standard/url_scanner_ex.c ext/standard/url_scanner_ex.re
7+

ext/standard/config.w32

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,6 @@ EXTENSION("standard", "array.c base64.c basic_functions.c browscap.c \
3737
if (PHP_MBREGEX != "no") {
3838
CHECK_HEADER_ADD_INCLUDE("oniguruma.h", "CFLAGS_STANDARD", PHP_MBREGEX + ";ext\\mbstring\\oniguruma")
3939
}
40+
ADD_MAKEFILE_FRAGMENT();
4041
PHP_INSTALL_HEADERS("", "ext/standard");
42+

win32/build/confutils.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ var PHP_TEST_INI_PATH = "";
4444
var PHP_TEST_INI = "";
4545
var PHP_TEST_INI_EXT_EXCLUDE = "";
4646

47+
var PHP_MAKEFILE_FRAGMENTS = PHP_SRC_DIR + "\\Makefile.fragments.w32";
48+
4749
/* Care also about NTDDI_VERSION and _WIN32_WINNT in config.w32.h.in */
4850
var WINVER = "0x0601"; /* 7/2008r2 */
4951

@@ -2474,6 +2476,17 @@ function generate_makefile()
24742476
MF.Write(TF.ReadAll());
24752477
}
24762478
TF.Close();
2479+
MF.WriteBlankLines(2);
2480+
2481+
if (FSO.FileExists(PHP_MAKEFILE_FRAGMENTS)) {
2482+
TF = FSO.OpenTextFile(PHP_MAKEFILE_FRAGMENTS, 1);
2483+
if (!TF.AtEndOfStream) {
2484+
MF.Write(TF.ReadAll());
2485+
}
2486+
TF.Close();
2487+
MF.WriteBlankLines(2);
2488+
FSO.DeleteFile(PHP_MAKEFILE_FRAGMENTS, true);
2489+
}
24772490

24782491
MF.Close();
24792492
}
@@ -3273,3 +3286,24 @@ function force_all_shared()
32733286
return !!PHP_ALL_SHARED && "yes" == PHP_ALL_SHARED;
32743287
}
32753288

3289+
function ADD_MAKEFILE_FRAGMENT()
3290+
{
3291+
var fn_in = configure_module_dirname + "\\Makefile.frag.w32";
3292+
if (FSO.FileExists(fn_in)) {
3293+
var h_in, h_out;
3294+
var create_out_fl = !FSO.FileExists(PHP_MAKEFILE_FRAGMENTS);
3295+
var open_flags = create_out_fl ? 8 : 2;
3296+
3297+
h_in = FSO.OpenTextFile(fn_in, 1);
3298+
h_out = FSO.OpenTextFile(PHP_MAKEFILE_FRAGMENTS, open_flags, create_out_fl);
3299+
3300+
if (!TF.AtEndOfStream) {
3301+
h_out.Write(h_in.ReadAll());
3302+
h_out.WriteBlankLines(1);
3303+
}
3304+
3305+
h_in.Close();
3306+
h_out.Close();
3307+
}
3308+
}
3309+

0 commit comments

Comments
 (0)