Skip to content

Commit 514332f

Browse files
committed
Fix build of Breakpad for Windows on ARM.
1 parent ea7ff7a commit 514332f

File tree

1 file changed

+70
-4
lines changed

1 file changed

+70
-4
lines changed

breakpad.diff

+70-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
diff --git a/src/build/common.gypi b/src/build/common.gypi
2-
index 29990c65..09e8596a 100644
2+
index 29990c65..60b1a015 100644
33
--- a/src/build/common.gypi
44
+++ b/src/build/common.gypi
55
@@ -123,8 +123,8 @@
@@ -13,7 +13,53 @@ index 29990c65..09e8596a 100644
1313

1414
# Set to 1 to enable code coverage. In addition to build changes
1515
# (e.g. extra CFLAGS), also creates a new target in the src/chrome
16-
@@ -850,8 +850,9 @@
16+
@@ -392,6 +392,29 @@
17+
'NO_TCMALLOC',
18+
],
19+
},
20+
+ 'ARM64_Base': {
21+
+ 'abstract': 1,
22+
+ 'msvs_configuration_platform': 'ARM64',
23+
+ 'msvs_settings': {
24+
+ 'VCLinkerTool': {
25+
+ 'TargetMachine': '4', # ARM64
26+
+ 'AdditionalLibraryDirectories!':
27+
+ ['<(DEPTH)/third_party/platformsdk_win7/files/Lib'],
28+
+ 'AdditionalLibraryDirectories':
29+
+ ['<(DEPTH)/third_party/platformsdk_win7/files/Lib/ARM64'],
30+
+ },
31+
+ 'VCLibrarianTool': {
32+
+ 'AdditionalLibraryDirectories!':
33+
+ ['<(DEPTH)/third_party/platformsdk_win7/files/Lib'],
34+
+ 'AdditionalLibraryDirectories':
35+
+ ['<(DEPTH)/third_party/platformsdk_win7/files/Lib/ARM64'],
36+
+ },
37+
+ },
38+
+ 'defines': [
39+
+ # Not sure if tcmalloc works on Windows on ARM.
40+
+ 'NO_TCMALLOC',
41+
+ ],
42+
+ },
43+
'Debug_Base': {
44+
'abstract': 1,
45+
'xcode_settings': {
46+
@@ -531,6 +554,15 @@
47+
'Purify_x64': {
48+
'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base', 'Purify_Base'],
49+
},
50+
+ 'Debug_ARM64': {
51+
+ 'inherit_from': ['Common_Base', 'ARM64_Base', 'Debug_Base'],
52+
+ },
53+
+ 'Release_ARM64': {
54+
+ 'inherit_from': ['Common_Base', 'ARM64_Base', 'Release_Base'],
55+
+ },
56+
+ 'Purify_ARM64': {
57+
+ 'inherit_from': ['Common_Base', 'ARM64_Base', 'Release_Base', 'Purify_Base'],
58+
+ },
59+
}],
60+
],
61+
},
62+
@@ -850,8 +882,9 @@
1763
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
1864
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
1965
'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror
@@ -24,7 +70,7 @@ index 29990c65..09e8596a 100644
2470
# MACOSX_DEPLOYMENT_TARGET maps to -mmacosx-version-min
2571
'MACOSX_DEPLOYMENT_TARGET': '<(mac_deployment_target)',
2672
'PREBINDING': 'NO', # No -Wl,-prebind
27-
@@ -973,6 +974,9 @@
73+
@@ -973,6 +1006,9 @@
2874
'dwmapi.dll',
2975
'uxtheme.dll',
3076
],
@@ -34,7 +80,27 @@ index 29990c65..09e8596a 100644
3480
},
3581
},
3682
'configurations': {
37-
@@ -1027,7 +1031,7 @@
83+
@@ -1002,6 +1038,19 @@
84+
},
85+
},
86+
},
87+
+ 'ARM64_Base': {
88+
+ 'msvs_settings': {
89+
+ 'VCLinkerTool': {
90+
+ 'AdditionalOptions': [
91+
+ # safeseh is not compatible with ARM64
92+
+ '/dynamicbase',
93+
+ '/ignore:4199',
94+
+ '/ignore:4221',
95+
+ '/nxcompat',
96+
+ ],
97+
+ },
98+
+ },
99+
+ },
100+
},
101+
},
102+
}],
103+
@@ -1027,7 +1076,7 @@
38104
# setting sets the SDK on a project-wide basis. In order to get the
39105
# configured SDK to show properly in the Xcode UI, SDKROOT must be set
40106
# here at the project level.

0 commit comments

Comments
 (0)