summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2021-10-19 18:03:13 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2021-10-19 18:19:50 +0800
commit5457c0ec23c6f5beb223eb5f8738dd4f823f2e0f (patch)
treeb34aadefdd1d881b5730ef80821b552d4cf122f7
parent580b751a2f727c8551f7c26e0698db1532ac721e (diff)
downloadcogl-latest-win.tar.gz
NMake: Fix building cogl-[crate|msaa] on older VS x64cogl-latest-win
Due to a bug in the optimizer, the link hangs when building cogl-crate on Visual Studio 2008 x64, and causes an internal compiler error when linking cogl-msaa on pre-Visual Studio 2013 x64. Fix this by using /O1 instead of /O2 as needed on x64.
-rw-r--r--build/win32/build-rules-msvc.mak13
-rw-r--r--build/win32/config-msvc.mak9
2 files changed, 14 insertions, 8 deletions
diff --git a/build/win32/build-rules-msvc.mak b/build/win32/build-rules-msvc.mak
index 2b09284c..39c30e91 100644
--- a/build/win32/build-rules-msvc.mak
+++ b/build/win32/build-rules-msvc.mak
@@ -116,6 +116,19 @@ $**
$<
<<
+!if "$(PLAT)" == "x64"
+!if $(VSVER) < 12
+!if "$(VSVER)" == "9"
+vs$(PDBVER)\$(CFG)\$(PLAT)\cogl-examples\cogl-crate.obj: ..\..\examples\cogl-crate.c
+ @if not exist $(@D)\ md $(@D)
+ $(CC) $(CFLAGS:/O2=/O1) $(COGL_EXAMPLE_BASE_CFLAGS) $(COGL_PUB_INCLUDES) /Fo$(@D)\ /Fd$(@D)\ ..\..\examples\cogl-crate.c /c
+!endif
+vs$(PDBVER)\$(CFG)\$(PLAT)\cogl-examples\cogl-msaa.obj: ..\..\examples\cogl-msaa.c
+ @if not exist $(@D)\ md $(@D)
+ $(CC) $(CFLAGS:/O2=/O1) $(COGL_EXAMPLE_BASE_CFLAGS) $(COGL_PUB_INCLUDES) /Fo$(@D)\ /Fd$(@D)\ ..\..\examples\cogl-msaa.c /c
+!endif
+!endif
+
vs$(PDBVER)\$(CFG)\$(PLAT)\cogl\cogl.res: ..\..\cogl\cogl.rc
vs$(PDBVER)\$(CFG)\$(PLAT)\cogl-pango\cogl-pango.res: ..\..\cogl-pango\cogl-pango.rc
diff --git a/build/win32/config-msvc.mak b/build/win32/config-msvc.mak
index cc27f766..56da7773 100644
--- a/build/win32/config-msvc.mak
+++ b/build/win32/config-msvc.mak
@@ -56,13 +56,8 @@ COGL_EXAMPLE_PROGS = \
vs$(PDBVER)\$(CFG)\$(PLAT)\cogl-hello.exe \
vs$(PDBVER)\$(CFG)\$(PLAT)\cogl-info.exe \
vs$(PDBVER)\$(CFG)\$(PLAT)\cogl-point-sprites.exe \
- vs$(PDBVER)\$(CFG)\$(PLAT)\cogl-stereo.exe
-
-!if ($(VSVER) > 11) || "$(PLAT)" != "x64"
-COGL_EXAMPLE_PROGS = \
- $(COGL_EXAMPLE_PROGS) \
+ vs$(PDBVER)\$(CFG)\$(PLAT)\cogl-stereo.exe \
vs$(PDBVER)\$(CFG)\$(PLAT)\cogl-msaa.exe
-!endif
COGL_INTROSPECTION_TYPELIBS =
@@ -214,7 +209,6 @@ COGL_BUILT_LIBS = \
$(COGL_BUILT_LIBS) \
$(COGL_PANGO_LIB)
-!if $(VSVER) != 9 || "$(PLAT)" != "x64"
COGL_EXAMPLE_PROGS = \
$(COGL_EXAMPLE_PROGS) \
vs$(PDBVER)\$(CFG)\$(PLAT)\cogl-crate.exe
@@ -222,7 +216,6 @@ COGL_EXAMPLE_PROGS = \
COGL_EXAMPLE_DEP_LIBS = \
$(COGL_EXAMPLE_DEP_LIBS) \
$(LIBCOGL_PANGO_DEP_LIBS)
-!endif
!ifdef INTROSPECTION
COGL_INTROSPECTION_TYPELIBS = \