@@ -1189,7 +1189,7 @@ function is_pgo_desired(mod)
1189
1189
return eval ( "!!" + varname ) ;
1190
1190
}
1191
1191
1192
- function SAPI ( sapiname , file_list , makefiletarget , cflags , obj_dir )
1192
+ function SAPI ( sapiname , file_list , makefiletarget , cflags , obj_dir , duplicate_sources )
1193
1193
{
1194
1194
var SAPI = sapiname . toUpperCase ( ) ;
1195
1195
var ldflags ;
@@ -1213,7 +1213,7 @@ function SAPI(sapiname, file_list, makefiletarget, cflags, obj_dir)
1213
1213
ADD_FLAG ( 'CFLAGS_' + SAPI , cflags ) ;
1214
1214
}
1215
1215
1216
- ADD_SOURCES ( configure_module_dirname , file_list , sapiname , obj_dir ) ;
1216
+ ADD_SOURCES ( configure_module_dirname , file_list , sapiname , obj_dir , duplicate_sources ) ;
1217
1217
MFO . WriteBlankLines ( 1 ) ;
1218
1218
MFO . WriteLine ( "# SAPI " + sapiname ) ;
1219
1219
MFO . WriteBlankLines ( 1 ) ;
@@ -1550,7 +1550,7 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir)
1550
1550
extensions_enabled [ extensions_enabled . length ] = [ extname , shared ? 'shared' : 'static' , false ] ;
1551
1551
}
1552
1552
1553
- function ADD_SOURCES ( dir , file_list , target , obj_dir )
1553
+ function ADD_SOURCES ( dir , file_list , target , obj_dir , duplicate_sources )
1554
1554
{
1555
1555
var i ;
1556
1556
var tv ;
@@ -1654,8 +1654,10 @@ function ADD_SOURCES(dir, file_list, target, obj_dir)
1654
1654
srcs_by_dir [ build_dir ] . push ( i ) ;
1655
1655
}
1656
1656
1657
- /* Create makefile build targets and dependencies. */
1658
- MFO . WriteLine ( objs_line + ": " + srcs_line ) ;
1657
+ if ( ! duplicate_sources ) {
1658
+ /* Create makefile build targets and dependencies. */
1659
+ MFO . WriteLine ( objs_line + ": " + srcs_line ) ;
1660
+ }
1659
1661
1660
1662
/* Create target subdirs if any and produce the compiler calls, /mp is respected if enabled. */
1661
1663
for ( var k in srcs_by_dir ) {
@@ -1736,38 +1738,40 @@ function ADD_SOURCES(dir, file_list, target, obj_dir)
1736
1738
}
1737
1739
}
1738
1740
1739
- if ( PHP_MP_DISABLED ) {
1740
- for ( var j in srcs_by_dir [ k ] ) {
1741
- src = file_list [ srcs_by_dir [ k ] [ j ] ] ;
1741
+ if ( ! duplicate_sources ) {
1742
+ if ( PHP_MP_DISABLED ) {
1743
+ for ( var j in srcs_by_dir [ k ] ) {
1744
+ src = file_list [ srcs_by_dir [ k ] [ j ] ] ;
1742
1745
1743
- var _tmp = src . split ( "\\" ) ;
1744
- var filename = _tmp . pop ( ) ;
1745
- obj = filename . replace ( re , ".obj" ) ;
1746
+ var _tmp = src . split ( "\\" ) ;
1747
+ var filename = _tmp . pop ( ) ;
1748
+ obj = filename . replace ( re , ".obj" ) ;
1746
1749
1747
- MFO . WriteLine ( "\t" + CMD_MOD1 + "$(CC) $(" + flags + ") $(CFLAGS) $(" + bd_flags_name + ") /c " + dir + "\\" + src + " /Fo" + sub_build + d + obj ) ;
1750
+ MFO . WriteLine ( "\t" + CMD_MOD1 + "$(CC) $(" + flags + ") $(CFLAGS) $(" + bd_flags_name + ") /c " + dir + "\\" + src + " /Fo" + sub_build + d + obj ) ;
1748
1751
1749
- if ( "clang" == PHP_ANALYZER ) {
1750
- MFO . WriteLine ( "\t" + CMD_MOD1 + "\"$(CLANG_CL)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + dir + "\\" + src ) ;
1751
- } else if ( "cppcheck" == PHP_ANALYZER ) {
1752
- MFO . WriteLine ( "\t\"" + CMD_MOD1 + "$(CPPCHECK)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + analyzer_base_flags + " " + dir + "\\" + src ) ;
1753
- } else if ( PHP_ANALYZER == "pvs" ) {
1754
- MFO . WriteLine ( "\t" + CMD_MOD1 + "\"$(PVS_STUDIO)\" --cl-params $(" + flags + ") $(CFLAGS) $(" + bd_flags_name + ") /c " + dir + "\\" + src + " --source-file " + dir + "\\" + src
1755
- + " --cfg PVS-Studio.conf --errors-off \"V122 V117 V111\" " ) ;
1752
+ if ( "clang" == PHP_ANALYZER ) {
1753
+ MFO . WriteLine ( "\t" + CMD_MOD1 + "\"$(CLANG_CL)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + dir + "\\" + src ) ;
1754
+ } else if ( "cppcheck" == PHP_ANALYZER ) {
1755
+ MFO . WriteLine ( "\t\"" + CMD_MOD1 + "$(CPPCHECK)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + analyzer_base_flags + " " + dir + "\\" + src ) ;
1756
+ } else if ( PHP_ANALYZER == "pvs" ) {
1757
+ MFO . WriteLine ( "\t" + CMD_MOD1 + "\"$(PVS_STUDIO)\" --cl-params $(" + flags + ") $(CFLAGS) $(" + bd_flags_name + ") /c " + dir + "\\" + src + " --source-file " + dir + "\\" + src
1758
+ + " --cfg PVS-Studio.conf --errors-off \"V122 V117 V111\" " ) ;
1759
+ }
1760
+ }
1761
+ } else {
1762
+ /* TODO create a response file at least for the source files to work around the cmd line length limit. */
1763
+ var src_line = "" ;
1764
+ for ( var j in srcs_by_dir [ k ] ) {
1765
+ src_line += dir + "\\" + file_list [ srcs_by_dir [ k ] [ j ] ] + " " ;
1756
1766
}
1757
- }
1758
- } else {
1759
- /* TODO create a response file at least for the source files to work around the cmd line length limit. */
1760
- var src_line = "" ;
1761
- for ( var j in srcs_by_dir [ k ] ) {
1762
- src_line += dir + "\\" + file_list [ srcs_by_dir [ k ] [ j ] ] + " " ;
1763
- }
1764
1767
1765
- MFO . WriteLine ( "\t" + CMD_MOD1 + "$(CC) $(" + flags + ") $(CFLAGS) /Fo" + sub_build + d + " $(" + bd_flags_name + ") /c " + src_line ) ;
1768
+ MFO . WriteLine ( "\t" + CMD_MOD1 + "$(CC) $(" + flags + ") $(CFLAGS) /Fo" + sub_build + d + " $(" + bd_flags_name + ") /c " + src_line ) ;
1766
1769
1767
- if ( "clang" == PHP_ANALYZER ) {
1768
- MFO . WriteLine ( "\t\"$(CLANG_CL)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + src_line ) ;
1769
- } else if ( "cppcheck" == PHP_ANALYZER ) {
1770
- MFO . WriteLine ( "\t\"$(CPPCHECK)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + analyzer_base_flags + " " + src_line ) ;
1770
+ if ( "clang" == PHP_ANALYZER ) {
1771
+ MFO . WriteLine ( "\t\"$(CLANG_CL)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + src_line ) ;
1772
+ } else if ( "cppcheck" == PHP_ANALYZER ) {
1773
+ MFO . WriteLine ( "\t\"$(CPPCHECK)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + analyzer_base_flags + " " + src_line ) ;
1774
+ }
1771
1775
}
1772
1776
}
1773
1777
}
0 commit comments