| OLD | NEW |
| 1 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 # for details. All rights reserved. Use of this source code is governed by a | 2 # for details. All rights reserved. Use of this source code is governed by a |
| 3 # BSD-style license that can be found in the LICENSE file. | 3 # BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 { | 5 { |
| 6 'variables': { | 6 'variables': { |
| 7 'dart_debug_optimization_level%': '2', | 7 'dart_debug_optimization_level%': '2', |
| 8 }, | 8 }, |
| 9 'target_defaults': { | 9 'target_defaults': { |
| 10 'configurations': { | 10 'configurations': { |
| 11 'Dart_Linux_Base': { | 11 'Dart_OpenBSD_Base': { |
| 12 'abstract': 1, | 12 'abstract': 1, |
| 13 'defines': [ | 13 'defines': [ |
| 14 '_FORTIFY_SOURCE=2', | 14 '_FORTIFY_SOURCE=2', |
| 15 ], | 15 ], |
| 16 'cflags': [ | 16 'cflags': [ |
| 17 '-Werror', | 17 '-Werror', |
| 18 '<@(common_gcc_warning_flags)', | 18 '<@(common_gcc_warning_flags)', |
| 19 '-Wnon-virtual-dtor', | 19 '-Wnon-virtual-dtor', |
| 20 '-Wvla', | 20 '-Wvla', |
| 21 '-Wno-conversion-null', | 21 '-Wno-conversion-null', |
| 22 '-Woverloaded-virtual', | 22 '-Woverloaded-virtual', |
| 23 '-g3', | 23 '-g3', |
| 24 '-ggdb3', | 24 '-ggdb3', |
| 25 # TODO(iposva): Figure out if we need to pass anything else. | 25 # TODO(iposva): Figure out if we need to pass anything else. |
| 26 #'-ansi', | 26 #'-ansi', |
| 27 '-fno-rtti', | 27 '-fno-rtti', |
| 28 '-fno-exceptions', | 28 '-fno-exceptions', |
| 29 # '-fvisibility=hidden', | 29 # '-fvisibility=hidden', |
| 30 # '-fvisibility-inlines-hidden', | 30 # '-fvisibility-inlines-hidden', |
| 31 '-fstack-protector', | 31 '-fstack-protector', |
| 32 '-Wa,--noexecstack', | |
| 33 ], | 32 ], |
| 34 'ldflags': [ | 33 'ldflags': [ |
| 35 '-Wl,-z,noexecstack', | 34 '-Wa,--noexecstack', |
| 36 '-Wl,-z,now', | 35 '-Wl,-z,now', |
| 37 '-Wl,-z,relro', | 36 '-Wl,-z,relro', |
| 38 ], | 37 ], |
| 39 }, | 38 }, |
| 40 | 39 |
| 41 'Dart_Linux_ia32_Base': { | 40 'Dart_OpenBSD_ia32_Base': { |
| 42 'abstract': 1, | 41 'abstract': 1, |
| 43 'cflags': [ '-m32', '-msse2', '-mfpmath=sse' ], | 42 'cflags': [ '-m32', '-msse2', '-mfpmath=sse' ], |
| 44 'ldflags': [ '-m32', ], | 43 'ldflags': [ '-m32', ], |
| 45 'conditions': [ | 44 'conditions': [ |
| 46 ['c_frame_pointers==1', { | 45 ['c_frame_pointers==1', { |
| 47 'cflags': [ | 46 'cflags': [ |
| 48 # Clang on Linux will still omit frame pointers from leaf | 47 # Clang on Linux will still omit frame pointers from leaf |
| 49 # functions unless told otherwise: | 48 # functions unless told otherwise: |
| 50 # (note this flag only works on recent GCC versions.) | 49 # (note this flag only works on recent GCC versions.) |
| 51 '-mno-omit-leaf-frame-pointer', | 50 '-mno-omit-leaf-frame-pointer', |
| 52 ], | 51 ], |
| 53 }], | 52 }], |
| 54 ], | 53 ], |
| 55 }, | 54 }, |
| 56 | 55 |
| 57 'Dart_Linux_x64_Base': { | 56 'Dart_OpenBSD_x64_Base': { |
| 58 'abstract': 1, | 57 'abstract': 1, |
| 59 'cflags': [ '-m64', '-msse2' ], | 58 'cflags': [ '-m64', '-msse2' ], |
| 60 'ldflags': [ '-m64', ], | 59 'ldflags': [ '-m64', ], |
| 61 'conditions': [ | 60 'conditions': [ |
| 62 ['c_frame_pointers==1', { | 61 ['c_frame_pointers==1', { |
| 63 'cflags': [ | 62 'cflags': [ |
| 64 # Clang on Linux will still omit frame pointers from leaf | 63 # Clang on Linux will still omit frame pointers from leaf |
| 65 # functions unless told otherwise: | 64 # functions unless told otherwise: |
| 66 # (note this flag only works on recent GCC versions.) | 65 # (note this flag only works on recent GCC versions.) |
| 67 '-mno-omit-leaf-frame-pointer', | 66 '-mno-omit-leaf-frame-pointer', |
| 68 ], | 67 ], |
| 69 }], | 68 }], |
| 70 ], | 69 ], |
| 71 }, | 70 }, |
| 72 | 71 |
| 73 'Dart_Linux_simarm_Base': { | 72 'Dart_OpenBSD_simarm_Base': { |
| 74 'abstract': 1, | 73 'abstract': 1, |
| 75 'cflags': [ '-O3', '-m32', '-msse2', '-mfpmath=sse' ], | 74 'cflags': [ '-O3', '-m32', '-msse2' ], |
| 76 'ldflags': [ '-m32', ], | 75 'ldflags': [ '-m32', ], |
| 77 }, | 76 }, |
| 78 | 77 |
| 79 'Dart_Linux_simarmv5te_Base': { | 78 'Dart_OpenBSD_simarmv5te_Base': { |
| 80 'abstract': 1, | 79 'abstract': 1, |
| 81 'cflags': [ '-O3', '-m32', '-msse2', '-mfpmath=sse' ], | 80 'cflags': [ '-O3', '-m32', '-msse2' ], |
| 82 'ldflags': [ '-m32', ], | 81 'ldflags': [ '-m32', ], |
| 83 }, | 82 }, |
| 84 | 83 |
| 85 'Dart_Linux_simarm64_Base': { | 84 'Dart_OpenBSD_simarm64_Base': { |
| 86 'abstract': 1, | 85 'abstract': 1, |
| 87 'cflags': [ '-O3', '-m64', '-msse2', '-mfpmath=sse' ], | 86 'cflags': [ '-O3', '-m64', '-msse2' ], |
| 88 'ldflags': [ '-m64', ], | 87 'ldflags': [ '-m64', ], |
| 89 }, | 88 }, |
| 90 | 89 |
| 91 # ARM cross-build | 90 # ARM cross-build |
| 92 'Dart_Linux_xarm_Base': { | 91 'Dart_OpenBSD_xarm_Base': { |
| 93 'abstract': 1, | 92 'abstract': 1, |
| 94 'target_conditions': [ | 93 'target_conditions': [ |
| 95 ['_toolset=="target"', { | 94 ['_toolset=="target"', { |
| 96 'cflags': [ | 95 'cflags': [ |
| 97 '-marm', | 96 '-marm', |
| 98 '-mfpu=vfp', | 97 '-mfpu=vfp', |
| 99 '-Wno-psabi', # suppresses va_list warning | 98 '-Wno-psabi', # suppresses va_list warning |
| 100 '-fno-strict-overflow', | 99 '-fno-strict-overflow', |
| 101 ], | 100 ], |
| 102 }], | 101 }], |
| 103 ['_toolset=="host"', { | 102 ['_toolset=="host"', { |
| 104 'cflags': ['-m32', '-msse2', '-mfpmath=sse' ], | 103 'cflags': ['-m32', '-msse2'], |
| 105 'ldflags': ['-m32'], | 104 'ldflags': ['-m32'], |
| 106 }]] | 105 }]] |
| 107 }, | 106 }, |
| 108 | 107 |
| 109 # ARM native build | 108 # ARM native build |
| 110 'Dart_Linux_arm_Base': { | 109 'Dart_OpenBSD_arm_Base': { |
| 111 'abstract': 1, | 110 'abstract': 1, |
| 112 'cflags': [ | 111 'cflags': [ |
| 113 '-marm', | 112 '-marm', |
| 114 '-mfpu=vfp', | 113 '-mfpu=vfp', |
| 115 '-Wno-psabi', # suppresses va_list warning | 114 '-Wno-psabi', # suppresses va_list warning |
| 116 '-fno-strict-overflow', | 115 '-fno-strict-overflow', |
| 117 ], | 116 ], |
| 118 }, | 117 }, |
| 119 | 118 |
| 120 # ARMv5 cross-build | 119 # ARMv5 cross-build |
| 121 'Dart_Linux_xarmv5te_Base': { | 120 'Dart_OpenBSD_xarmv5te_Base': { |
| 122 'abstract': 1, | 121 'abstract': 1, |
| 123 'target_conditions': [ | 122 'target_conditions': [ |
| 124 ['_toolset=="target"', { | 123 ['_toolset=="target"', { |
| 125 'cflags': [ | 124 'cflags': [ |
| 126 '-mthumb', | 125 '-mthumb', |
| 127 '-mlong-calls', | 126 '-mlong-calls', |
| 128 '-march=armv5te', | 127 '-march=armv5te', |
| 129 '-mfloat-abi=soft', | 128 '-mfloat-abi=soft', |
| 130 '-Wno-psabi', # suppresses va_list warning | 129 '-Wno-psabi', # suppresses va_list warning |
| 131 '-fno-strict-overflow', | 130 '-fno-strict-overflow', |
| 132 ], | 131 ], |
| 133 }], | 132 }], |
| 134 ['_toolset=="host"', { | 133 ['_toolset=="host"', { |
| 135 'cflags': ['-m32', '-msse2', '-mfpmath=sse' ], | 134 'cflags': ['-m32', '-msse2'], |
| 136 'ldflags': ['-m32'], | 135 'ldflags': ['-m32'], |
| 137 }]] | 136 }]] |
| 138 }, | 137 }, |
| 139 | 138 |
| 140 # ARMv5 native build | 139 # ARMv5 native build |
| 141 'Dart_Linux_armv5te_Base': { | 140 'Dart_OpenBSD_armv5te_Base': { |
| 142 'abstract': 1, | 141 'abstract': 1, |
| 143 'cflags': [ | 142 'cflags': [ |
| 144 '-mthumb', | 143 '-mthumb', |
| 145 '-mlong-calls', | 144 '-mlong-calls', |
| 146 '-march=armv5te', | 145 '-march=armv5te', |
| 147 '-mfloat-abi=soft', | 146 '-mfloat-abi=soft', |
| 148 '-Wno-psabi', # suppresses va_list warning | 147 '-Wno-psabi', # suppresses va_list warning |
| 149 '-fno-strict-overflow', | 148 '-fno-strict-overflow', |
| 150 ], | 149 ], |
| 151 }, | 150 }, |
| 152 | 151 |
| 153 # ARM64 cross-build | 152 # ARM64 cross-build |
| 154 'Dart_Linux_xarm64_Base': { | 153 'Dart_OpenBSD_xarm64_Base': { |
| 155 'abstract': 1, | 154 'abstract': 1, |
| 156 'target_conditions': [ | 155 'target_conditions': [ |
| 157 ['_toolset=="target"', { | 156 ['_toolset=="target"', { |
| 158 'cflags': [ '-O3', ], | 157 'cflags': [ '-O3', ], |
| 159 }], | 158 }], |
| 160 ['_toolset=="host"', { | 159 ['_toolset=="host"', { |
| 161 'cflags': ['-O3', '-m64', '-msse2'], | 160 'cflags': ['-O3', '-m64', '-msse2'], |
| 162 'ldflags': ['-m64'], | 161 'ldflags': ['-m64'], |
| 163 }]] | 162 }]] |
| 164 }, | 163 }, |
| 165 | 164 |
| 166 # ARM64 native build | 165 # ARM64 native build |
| 167 'Dart_Linux_arm64_Base': { | 166 'Dart_OpenBSD_arm64_Base': { |
| 168 'abstract': 1, | 167 'abstract': 1, |
| 169 'cflags': [ '-O3', ], | 168 'cflags': [ '-O3', ], |
| 170 }, | 169 }, |
| 171 | 170 |
| 172 'Dart_Linux_simmips_Base': { | 171 'Dart_OpenBSD_simmips_Base': { |
| 173 'abstract': 1, | 172 'abstract': 1, |
| 174 'cflags': [ '-O3', '-m32', '-msse2', '-mfpmath=sse' ], | 173 'cflags': [ '-O3', '-m32', '-msse2' ], |
| 175 'ldflags': [ '-m32', ], | 174 'ldflags': [ '-m32', ], |
| 176 }, | 175 }, |
| 177 | 176 |
| 178 # MIPS cross-build | 177 # MIPS cross-build |
| 179 'Dart_Linux_xmips_Base': { | 178 'Dart_OpenBSD_xmips_Base': { |
| 180 'abstract': 1, | 179 'abstract': 1, |
| 181 'target_conditions': [ | 180 'target_conditions': [ |
| 182 ['_toolset=="target"', { | 181 ['_toolset=="target"', { |
| 183 'cflags': [ | 182 'cflags': [ |
| 184 '-EL', | 183 '-EL', |
| 185 '-march=mips32', | 184 '-march=mips32', |
| 186 '-mhard-float', | 185 '-mhard-float', |
| 187 '-fno-strict-overflow', | 186 '-fno-strict-overflow', |
| 188 ], | 187 ], |
| 189 'ldflags': [ | 188 'ldflags': [ |
| 190 '-EL', | 189 '-EL', |
| 191 ], | 190 ], |
| 192 }], | 191 }], |
| 193 ['_toolset=="host"',{ | 192 ['_toolset=="host"',{ |
| 194 'cflags': [ '-O3', '-m32', '-msse2', '-mfpmath=sse' ], | 193 'cflags': [ '-O3', '-m32', '-msse2' ], |
| 195 'ldflags': [ '-m32' ], | 194 'ldflags': [ '-m32' ], |
| 196 }]] | 195 }]] |
| 197 }, | 196 }, |
| 198 | 197 |
| 199 # MIPS native build | 198 # MIPS native build |
| 200 'Dart_Linux_mips_Base': { | 199 'Dart_OpenBSD_mips_Base': { |
| 201 'abstract': 1, | 200 'abstract': 1, |
| 202 'cflags': [ | 201 'cflags': [ |
| 203 '-march=mips32', | 202 '-march=mips32', |
| 204 '-mhard-float', | 203 '-mhard-float', |
| 205 '-fno-strict-overflow', | 204 '-fno-strict-overflow', |
| 206 ], | 205 ], |
| 207 }, | 206 }, |
| 208 | 207 |
| 209 'Dart_Linux_Debug': { | 208 'Dart_OpenBSD_Debug': { |
| 210 'abstract': 1, | 209 'abstract': 1, |
| 211 'conditions': [ | 210 'conditions': [ |
| 212 ['c_frame_pointers==1', { | 211 ['c_frame_pointers==1', { |
| 213 'cflags': [ | 212 'cflags': [ |
| 214 '-fno-omit-frame-pointer', | 213 '-fno-omit-frame-pointer', |
| 215 ], | 214 ], |
| 216 'defines': [ | 215 'defines': [ |
| 217 'NATIVE_CODE_HAS_FRAME_POINTERS' | 216 'NATIVE_CODE_HAS_FRAME_POINTERS' |
| 218 ], | 217 ], |
| 219 }], | 218 }], |
| 220 ], | 219 ], |
| 221 'cflags': [ | 220 'cflags': [ |
| 222 '-O<(dart_debug_optimization_level)', | 221 '-O<(dart_debug_optimization_level)', |
| 223 ], | 222 ], |
| 224 }, | 223 }, |
| 225 | 224 |
| 226 'Dart_Linux_Release': { | 225 'Dart_OpenBSD_Release': { |
| 227 'abstract': 1, | 226 'abstract': 1, |
| 228 'conditions': [ | 227 'conditions': [ |
| 229 ['c_frame_pointers==1', { | 228 ['c_frame_pointers==1', { |
| 230 'cflags': [ | 229 'cflags': [ |
| 231 '-fno-omit-frame-pointer', | 230 '-fno-omit-frame-pointer', |
| 232 ], | 231 ], |
| 233 'defines': [ | 232 'defines': [ |
| 234 'NATIVE_CODE_HAS_FRAME_POINTERS' | 233 'NATIVE_CODE_HAS_FRAME_POINTERS' |
| 235 ], | 234 ], |
| 236 }], | 235 }], |
| 237 ], | 236 ], |
| 238 'cflags': [ | 237 'cflags': [ |
| 239 '-O3', | 238 '-O3', |
| 240 '-ffunction-sections', | |
| 241 ], | |
| 242 'ldflags': [ | |
| 243 '-Wl,--gc-sections', | |
| 244 ], | 239 ], |
| 245 }, | 240 }, |
| 246 }, | 241 }, |
| 247 }, | 242 }, |
| 248 } | 243 } |
| OLD | NEW |