blob: d00cad38ad546b77457f8f2cd0e97f2003e54373 [file] [log] [blame] [edit]
From d7dddb094a35d32e364093b0715aee7871260f2d Mon Sep 17 00:00:00 2001
From: Jon Turney <jon.turney@dronecode.org.uk>
Date: Mon, 10 Feb 2014 18:12:14 +0000
Subject: [PATCH 10/29] Teach gyp generated Makefile to build
crash_generation_app correctly
- Use linker flag for Windows subsystem
- Use linker flag for unicode
- Add rule for compiling windows resources, using $RC to name the resource compiler
- Rename crash_generation_app.rc to avoid a clash in corresponding .o names
Also
- Fix linking of unit test when built using gyp generated Makefile by providing
needed library
XXX: We need to arrange for the gyp Makefile generator to set
CXXFLAGS="-DUNICODE -D_UNICODE" somewhere when generating for Windows. This is
already done in generated MSVS projects.
Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
---
.../crash_generation_app/crash_generation_app.gyp | 29 +++++++++++++++++++---
.../{crash_generation_app.rc => resource.rc} | 13 +++++-----
src/client/windows/unittests/client_tests.gyp | 12 +++++++--
3 files changed, 41 insertions(+), 13 deletions(-)
rename src/client/windows/tests/crash_generation_app/{crash_generation_app.rc => resource.rc} (96%)
diff --git a/src/client/windows/tests/crash_generation_app/crash_generation_app.gyp b/src/client/windows/tests/crash_generation_app/crash_generation_app.gyp
index 3ce307da..774f6004 100644
--- a/src/client/windows/tests/crash_generation_app/crash_generation_app.gyp
+++ b/src/client/windows/tests/crash_generation_app/crash_generation_app.gyp
@@ -40,19 +40,40 @@
'crash_generation_app.cc',
'crash_generation_app.h',
'crash_generation_app.ico',
- 'crash_generation_app.rc',
+ 'resource.rc',
'resource.h',
'small.ico',
],
- 'libraries': [
- 'user32.lib',
- ],
'dependencies': [
'../../breakpad_client.gyp:common',
'../../crash_generation/crash_generation.gyp:crash_generation_server',
'../../crash_generation/crash_generation.gyp:crash_generation_client',
'../../handler/exception_handler.gyp:exception_handler',
],
+ 'conditions': [
+ [ '"<(GENERATOR)" == "make"', {
+ 'ldflags': [
+ '-Wl,--subsystem=2', '-municode'
+ ],
+ 'rules': [
+ { 'rule_name': 'windres',
+ 'extension': 'rc',
+ 'inputs' : [ ],
+ 'outputs' : [ '$(builddir)/<(RULE_INPUT_ROOT).o' ],
+ 'action' : [ '$(RC)', '--input=<(RULE_INPUT_PATH)', '--output=$(builddir)/<(RULE_INPUT_ROOT).o', '--input-format=rc', '--output-format=coff', '-v', '--use-temp-file' ],
+ 'message' : 'Compiling Windows resources',
+ 'process_outputs_as_sources' : 1,
+ },
+ ],
+ }
+ ],
+ [ '"<(GENERATOR)" == "msvs"', {
+ 'libraries': [
+ 'user32.lib',
+ ],
+ }
+ ]
+ ],
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '2', # Windows Subsystem as opposed to a console app
diff --git a/src/client/windows/tests/crash_generation_app/crash_generation_app.rc b/src/client/windows/tests/crash_generation_app/resource.rc
similarity index 96%
rename from src/client/windows/tests/crash_generation_app/crash_generation_app.rc
rename to src/client/windows/tests/crash_generation_app/resource.rc
index a362562b..6c7e8b63 100644
--- a/src/client/windows/tests/crash_generation_app/crash_generation_app.rc
+++ b/src/client/windows/tests/crash_generation_app/resource.rc
@@ -38,7 +38,7 @@ IDI_SMALL ICON "small.ico"
// Menu
//
-IDC_CRASHGENERATIONAPP MENU
+IDC_CRASHGENERATIONAPP MENU
BEGIN
POPUP "&File"
BEGIN
@@ -64,7 +64,7 @@ END
// Accelerator
//
-IDC_CRASHGENERATIONAPP ACCELERATORS
+IDC_CRASHGENERATIONAPP ACCELERATORS
BEGIN
"?", IDM_ABOUT, ASCII, ALT
"/", IDM_ABOUT, ASCII, ALT
@@ -94,12 +94,12 @@ END
// TEXTINCLUDE
//
-1 TEXTINCLUDE
+1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
-2 TEXTINCLUDE
+2 TEXTINCLUDE
BEGIN
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
"#include ""windows.h""\r\n"
@@ -107,7 +107,7 @@ BEGIN
"\0"
END
-3 TEXTINCLUDE
+3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
@@ -121,7 +121,7 @@ END
// String Table
//
-STRINGTABLE
+STRINGTABLE
BEGIN
IDS_APP_TITLE "CrashGenerationApp"
IDC_CRASHGENERATIONAPP "CRASHGENERATIONAPP"
@@ -141,4 +141,3 @@ END
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
-
diff --git a/src/client/windows/unittests/client_tests.gyp b/src/client/windows/unittests/client_tests.gyp
index b13603ef..15dab5ff 100644
--- a/src/client/windows/unittests/client_tests.gyp
+++ b/src/client/windows/unittests/client_tests.gyp
@@ -51,8 +51,16 @@
'../crash_generation/crash_generation.gyp:crash_generation_server',
'../crash_generation/crash_generation.gyp:crash_generation_client',
'../handler/exception_handler.gyp:exception_handler',
- 'processor_bits',
- ]
+ 'processor_bits',
+ ],
+ 'conditions': [
+ [ '"<(GENERATOR)" == "make"', {
+ 'libraries': [
+ '-ldbghelp', '-lversion', '-lpthread',
+ ],
+ },
+ ],
+ ],
},
{
'target_name': 'processor_bits',
--
2.15.0