Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid duplicate build rules #17545

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions sapi/cli/config.w32
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ ARG_ENABLE('cli', 'Build CLI version of PHP', 'yes');
ARG_ENABLE('cli-win32', 'Build console-less CLI version of PHP', 'no');

if (PHP_CLI == "yes") {
SAPI('cli', 'php_cli.c php_http_parser.c php_cli_server.c php_cli_process_title.c ps_title.c', 'php.exe', '/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1');
SAPI('cli', 'php_cli.c php_http_parser.c php_cli_server.c', 'php.exe', '/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1');
ADD_SOURCES(configure_module_dirname, 'php_cli_process_title.c ps_title.c', 'cli');
ADD_FLAG("LIBS_CLI", "ws2_32.lib");
ADD_FLAG("LIBS_CLI", "shell32.lib");
ADD_FLAG("LDFLAGS_CLI", "/stack:67108864");
Expand All @@ -17,7 +18,8 @@ if (PHP_CLI == "yes") {
}

if (PHP_CLI_WIN32 == "yes") {
SAPI('cli_win32', 'cli_win32.c php_cli_process_title.c ps_title.c', 'php-win.exe', '/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1');
SAPI('cli_win32', 'cli_win32.c', 'php-win.exe', '/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1');
ADD_SOURCES(configure_module_dirname, ' php_cli_process_title.c ps_title.c', 'cli_win32', undefined, PHP_CLI == "yes");
ADD_FLAG("LDFLAGS_CLI_WIN32", "/stack:67108864");
ADD_FLAG("LIBS_CLI_WIN32", "shell32.lib");
}
2 changes: 1 addition & 1 deletion sapi/phpdbg/config.w32
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ if (PHP_PHPDBG == "yes") {
}

if (PHP_PHPDBGS == "yes") {
SAPI('phpdbgs', PHPDBG_SOURCES, PHPDBG_DLL, '/D PHP_PHPDBG_EXPORTS');
SAPI('phpdbgs', PHPDBG_SOURCES, PHPDBG_DLL, PHPDBG_CFLAGS, undefined, PHP_PHPDBG == "yes");
ADD_FLAG("LIBS_PHPDBGS", "ws2_32.lib user32.lib");
ADD_FLAG("CFLAGS_PHPDBGS", "/D YY_NO_UNISTD_H");

Expand Down
66 changes: 35 additions & 31 deletions win32/build/confutils.js
Original file line number Diff line number Diff line change
Expand Up @@ -1189,7 +1189,7 @@ function is_pgo_desired(mod)
return eval("!!" + varname);
}

function SAPI(sapiname, file_list, makefiletarget, cflags, obj_dir)
function SAPI(sapiname, file_list, makefiletarget, cflags, obj_dir, duplicate_sources)
{
var SAPI = sapiname.toUpperCase();
var ldflags;
Expand All @@ -1213,7 +1213,7 @@ function SAPI(sapiname, file_list, makefiletarget, cflags, obj_dir)
ADD_FLAG('CFLAGS_' + SAPI, cflags);
}

ADD_SOURCES(configure_module_dirname, file_list, sapiname, obj_dir);
ADD_SOURCES(configure_module_dirname, file_list, sapiname, obj_dir, duplicate_sources);
MFO.WriteBlankLines(1);
MFO.WriteLine("# SAPI " + sapiname);
MFO.WriteBlankLines(1);
Expand Down Expand Up @@ -1550,7 +1550,7 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir)
extensions_enabled[extensions_enabled.length] = [extname, shared ? 'shared' : 'static', false];
}

function ADD_SOURCES(dir, file_list, target, obj_dir)
function ADD_SOURCES(dir, file_list, target, obj_dir, duplicate_sources)
{
var i;
var tv;
Expand Down Expand Up @@ -1654,8 +1654,10 @@ function ADD_SOURCES(dir, file_list, target, obj_dir)
srcs_by_dir[build_dir].push(i);
}

/* Create makefile build targets and dependencies. */
MFO.WriteLine(objs_line + ": " + srcs_line);
if (!duplicate_sources) {
/* Create makefile build targets and dependencies. */
MFO.WriteLine(objs_line + ": " + srcs_line);
}

/* Create target subdirs if any and produce the compiler calls, /mp is respected if enabled. */
for (var k in srcs_by_dir) {
Expand Down Expand Up @@ -1737,38 +1739,40 @@ function ADD_SOURCES(dir, file_list, target, obj_dir)
}
}

if (PHP_MP_DISABLED) {
for (var j in srcs_by_dir[k]) {
src = file_list[srcs_by_dir[k][j]];
if (!duplicate_sources) {
if (PHP_MP_DISABLED) {
for (var j in srcs_by_dir[k]) {
src = file_list[srcs_by_dir[k][j]];

var _tmp = src.split("\\");
var filename = _tmp.pop();
obj = filename.replace(re, ".obj");
var _tmp = src.split("\\");
var filename = _tmp.pop();
obj = filename.replace(re, ".obj");

MFO.WriteLine("\t" + CMD_MOD1 + "$(CC) $(" + flags + ") $(CFLAGS) $(" + bd_flags_name + ") /c " + dir + "\\" + src + " /Fo" + sub_build + d + obj);
MFO.WriteLine("\t" + CMD_MOD1 + "$(CC) $(" + flags + ") $(CFLAGS) $(" + bd_flags_name + ") /c " + dir + "\\" + src + " /Fo" + sub_build + d + obj);

if ("clang" == PHP_ANALYZER) {
MFO.WriteLine("\t" + CMD_MOD1 + "\"$(CLANG_CL)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + dir + "\\" + src);
} else if ("cppcheck" == PHP_ANALYZER) {
MFO.WriteLine("\t\"" + CMD_MOD1 + "$(CPPCHECK)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + analyzer_base_flags + " " + dir + "\\" + src);
}else if (PHP_ANALYZER == "pvs") {
MFO.WriteLine("\t" + CMD_MOD1 + "\"$(PVS_STUDIO)\" --cl-params $(" + flags + ") $(CFLAGS) $(" + bd_flags_name + ") /c " + dir + "\\" + src + " --source-file " + dir + "\\" + src
+ " --cfg PVS-Studio.conf --errors-off \"V122 V117 V111\" ");
if ("clang" == PHP_ANALYZER) {
MFO.WriteLine("\t" + CMD_MOD1 + "\"$(CLANG_CL)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + dir + "\\" + src);
} else if ("cppcheck" == PHP_ANALYZER) {
MFO.WriteLine("\t\"" + CMD_MOD1 + "$(CPPCHECK)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + analyzer_base_flags + " " + dir + "\\" + src);
}else if (PHP_ANALYZER == "pvs") {
MFO.WriteLine("\t" + CMD_MOD1 + "\"$(PVS_STUDIO)\" --cl-params $(" + flags + ") $(CFLAGS) $(" + bd_flags_name + ") /c " + dir + "\\" + src + " --source-file " + dir + "\\" + src
+ " --cfg PVS-Studio.conf --errors-off \"V122 V117 V111\" ");
}
}
} else {
/* TODO create a response file at least for the source files to work around the cmd line length limit. */
var src_line = "";
for (var j in srcs_by_dir[k]) {
src_line += dir + "\\" + file_list[srcs_by_dir[k][j]] + " ";
}
}
} else {
/* TODO create a response file at least for the source files to work around the cmd line length limit. */
var src_line = "";
for (var j in srcs_by_dir[k]) {
src_line += dir + "\\" + file_list[srcs_by_dir[k][j]] + " ";
}

MFO.WriteLine("\t" + CMD_MOD1 + "$(CC) $(" + flags + ") $(CFLAGS) /Fo" + sub_build + d + " $(" + bd_flags_name + ") /c " + src_line);
MFO.WriteLine("\t" + CMD_MOD1 + "$(CC) $(" + flags + ") $(CFLAGS) /Fo" + sub_build + d + " $(" + bd_flags_name + ") /c " + src_line);

if ("clang" == PHP_ANALYZER) {
MFO.WriteLine("\t\"$(CLANG_CL)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + src_line);
} else if ("cppcheck" == PHP_ANALYZER) {
MFO.WriteLine("\t\"$(CPPCHECK)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + analyzer_base_flags + " " + src_line);
if ("clang" == PHP_ANALYZER) {
MFO.WriteLine("\t\"$(CLANG_CL)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + src_line);
} else if ("cppcheck" == PHP_ANALYZER) {
MFO.WriteLine("\t\"$(CPPCHECK)\" " + analyzer_base_args + " $(" + flags + "_ANALYZER) $(CFLAGS_ANALYZER) $(" + bd_flags_name + "_ANALYZER) " + analyzer_base_flags + " " + src_line);
}
}
}
}
Expand Down
Loading