@@ -1189,7 +1189,7 @@ function is_pgo_desired(mod)
11891189 return eval ( "!!" + varname ) ;
11901190}
11911191
1192- function SAPI ( sapiname , file_list , makefiletarget , cflags , obj_dir )
1192+ function SAPI ( sapiname , file_list , makefiletarget , cflags , obj_dir , duplicate_sources )
11931193{
11941194 var SAPI = sapiname . toUpperCase ( ) ;
11951195 var ldflags ;
@@ -1213,7 +1213,7 @@ function SAPI(sapiname, file_list, makefiletarget, cflags, obj_dir)
12131213 ADD_FLAG ( 'CFLAGS_' + SAPI , cflags ) ;
12141214 }
12151215
1216- ADD_SOURCES ( configure_module_dirname , file_list , sapiname , obj_dir ) ;
1216+ ADD_SOURCES ( configure_module_dirname , file_list , sapiname , obj_dir , duplicate_sources ) ;
12171217 MFO . WriteBlankLines ( 1 ) ;
12181218 MFO . WriteLine ( "# SAPI " + sapiname ) ;
12191219 MFO . WriteBlankLines ( 1 ) ;
@@ -1550,7 +1550,7 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir)
15501550 extensions_enabled [ extensions_enabled . length ] = [ extname , shared ? 'shared' : 'static' , false ] ;
15511551}
15521552
1553- function ADD_SOURCES ( dir , file_list , target , obj_dir )
1553+ function ADD_SOURCES ( dir , file_list , target , obj_dir , duplicate_sources )
15541554{
15551555 var i ;
15561556 var tv ;
@@ -1654,8 +1654,10 @@ function ADD_SOURCES(dir, file_list, target, obj_dir)
16541654 srcs_by_dir [ build_dir ] . push ( i ) ;
16551655 }
16561656
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+ }
16591661
16601662 /* Create target subdirs if any and produce the compiler calls, /mp is respected if enabled. */
16611663 for ( var k in srcs_by_dir ) {
@@ -1736,38 +1738,40 @@ function ADD_SOURCES(dir, file_list, target, obj_dir)
17361738 }
17371739 }
17381740
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 ] ] ;
17421745
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" ) ;
17461749
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 ) ;
17481751
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 ] ] + " " ;
17561766 }
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- }
17641767
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 ) ;
17661769
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+ }
17711775 }
17721776 }
17731777 }
0 commit comments