[Scummvm-git-logs] scummvm master -> 69cb2ef728ab96bf820532a504655e7bc687d17a

bluegr bluegr at gmail.com
Tue Jul 2 00:02:32 CEST 2019


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
12198cee35 CREATE_PROJECT: Fix defines for x64 MSVC project
7e6143a641 CREATE_PROJECT: Add new libcurl dependencies
69cb2ef728 CREATE_PROJECT: Use stricter checks for Win32 dependencies


Commit: 12198cee35de708dd656680e92122a5975d5ee28
    https://github.com/scummvm/scummvm/commit/12198cee35de708dd656680e92122a5975d5ee28
Author: SupSuper (supsuper at gmail.com)
Date: 2019-07-02T01:02:27+03:00

Commit Message:
CREATE_PROJECT: Fix defines for x64 MSVC project

Rewriting the define list from scratch to disable nasm lost
a lot of important defines set up in the setup phase.
Instead, let's just remove the nasm define and preserve the rest.

Changed paths:
    devtools/create_project/msvc.cpp


diff --git a/devtools/create_project/msvc.cpp b/devtools/create_project/msvc.cpp
index c3513ec..fad2650 100644
--- a/devtools/create_project/msvc.cpp
+++ b/devtools/create_project/msvc.cpp
@@ -25,6 +25,7 @@
 
 #include <fstream>
 #include <algorithm>
+#include <cstring>
 
 namespace CreateProjectTool {
 
@@ -147,17 +148,14 @@ void MSVCProvider::createGlobalProp(const BuildSetup &setup) {
 	if (!properties)
 		error("Could not open \"" + setup.outputDir + '/' + setup.projectDescription + "_Global64" + getPropertiesExtension() + "\" for writing");
 
-	// HACK: We must disable the "nasm" feature for x64. To achieve that we must duplicate the feature list and
-	// recreate a define list.
-	FeatureList x64Features = setup.features;
-	setFeatureBuildState("nasm", x64Features, false);
-	StringList x64Defines = getFeatureDefines(x64Features);
-	StringList x64EngineDefines = getEngineDefines(setup.engines);
-	x64Defines.splice(x64Defines.end(), x64EngineDefines);
-
-	// HACK: This definitely should not be here, but otherwise we would not define SDL_BACKEND for x64.
-	x64Defines.push_back("WIN32");
-	x64Defines.push_back("SDL_BACKEND");
+	// HACK: We must disable the "nasm" feature for x64. To achieve that we must recreate the define list.
+	StringList x64Defines = setup.defines;
+	for (FeatureList::const_iterator i = setup.features.begin(); i != setup.features.end(); ++i) {
+		if (i->enable && i->define && i->define[0] && !strcmp(i->name, "nasm")) {
+			x64Defines.remove(i->define);
+			break;
+		}
+	}
 
 	outputGlobalPropFile(setup, properties, 64, x64Defines, convertPathToWin(setup.filePrefix), setup.runBuildEvents);
 }


Commit: 7e6143a641f9749b0c5167526ca1827ebc2adebd
    https://github.com/scummvm/scummvm/commit/7e6143a641f9749b0c5167526ca1827ebc2adebd
Author: SupSuper (supsuper at gmail.com)
Date: 2019-07-02T01:02:27+03:00

Commit Message:
CREATE_PROJECT: Add new libcurl dependencies

Changed paths:
    devtools/create_project/create_project.cpp


diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp
index 82ba9b5..e85769c 100644
--- a/devtools/create_project/create_project.cpp
+++ b/devtools/create_project/create_project.cpp
@@ -408,10 +408,18 @@ int main(int argc, char *argv[]) {
 			setup.libraries.push_back("sparkle");
 	}
 
-	if (curlEnabled && projectType == kProjectMSVC)
-		setup.defines.push_back("CURL_STATICLIB");
-	if (sdlnetEnabled && projectType == kProjectMSVC)
-		setup.libraries.push_back("iphlpapi");
+	if (projectType == kProjectMSVC) {
+		if (curlEnabled) {
+			setup.defines.push_back("CURL_STATICLIB");
+			setup.libraries.push_back("ws2_32");
+			setup.libraries.push_back("wldap32");
+			setup.libraries.push_back("crypt32");
+			setup.libraries.push_back("normaliz");
+		}
+		if (sdlnetEnabled) {
+			setup.libraries.push_back("iphlpapi");
+		}
+	}
 
 	setup.defines.push_back("SDL_BACKEND");
 	if (!setup.useSDL2) {


Commit: 69cb2ef728ab96bf820532a504655e7bc687d17a
    https://github.com/scummvm/scummvm/commit/69cb2ef728ab96bf820532a504655e7bc687d17a
Author: SupSuper (supsuper at gmail.com)
Date: 2019-07-02T01:02:27+03:00

Commit Message:
CREATE_PROJECT: Use stricter checks for Win32 dependencies

Instead of checking the project type, check the define.
winmm and winsparkle are only required on Windows.

Changed paths:
    devtools/create_project/create_project.cpp


diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp
index e85769c..f705686 100644
--- a/devtools/create_project/create_project.cpp
+++ b/devtools/create_project/create_project.cpp
@@ -366,6 +366,7 @@ int main(int argc, char *argv[]) {
 	StringList featureDefines = getFeatureDefines(setup.features);
 	setup.defines.splice(setup.defines.begin(), featureDefines);
 
+	bool backendWin32 = false;
 	if (projectType == kProjectXcode) {
 		setup.defines.push_back("POSIX");
 		// Define both MACOSX, and IPHONE, but only one of them will be associated to the
@@ -376,13 +377,14 @@ int main(int argc, char *argv[]) {
 		setup.defines.push_back("MACOSX");
 		setup.defines.push_back("IPHONE");
 	} else if (projectType == kProjectMSVC || projectType == kProjectCodeBlocks) {
-		// Windows only has support for the SDL backend, so we hardcode it here (along with winmm)
 		setup.defines.push_back("WIN32");
+		backendWin32 = true;
 	} else {
 		// As a last resort, select the backend files to build based on the platform used to build create_project.
 		// This is broken when cross compiling.
 #if defined(_WIN32) || defined(WIN32)
 		setup.defines.push_back("WIN32");
+		backendWin32 = true;
 #else
 		setup.defines.push_back("POSIX");
 #endif
@@ -402,13 +404,13 @@ int main(int argc, char *argv[]) {
 
 	if (updatesEnabled) {
 		setup.defines.push_back("USE_SPARKLE");
-		if (projectType != kProjectXcode)
+		if (backendWin32)
 			setup.libraries.push_back("winsparkle");
 		else
 			setup.libraries.push_back("sparkle");
 	}
 
-	if (projectType == kProjectMSVC) {
+	if (backendWin32) {
 		if (curlEnabled) {
 			setup.defines.push_back("CURL_STATICLIB");
 			setup.libraries.push_back("ws2_32");
@@ -419,6 +421,7 @@ int main(int argc, char *argv[]) {
 		if (sdlnetEnabled) {
 			setup.libraries.push_back("iphlpapi");
 		}
+		setup.libraries.push_back("winmm");
 	}
 
 	setup.defines.push_back("SDL_BACKEND");
@@ -433,7 +436,6 @@ int main(int argc, char *argv[]) {
 		setup.defines.push_back("USE_SDL2");
 		setup.libraries.push_back("sdl2");
 	}
-	setup.libraries.push_back("winmm");
 
 	// Add additional project-specific library
 #ifdef ADDITIONAL_LIBRARY





More information about the Scummvm-git-logs mailing list