OLD | NEW |
(Empty) | |
| 1 # Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. |
| 4 |
| 5 { |
| 6 'variables': { |
| 7 # Configuration. Ordinarily, all of these features are enabled. For |
| 8 # Chromium's purposes, disable nearly everything to save about 15kB in |
| 9 # the lzma_decompress library, which will be distributed with updates. |
| 10 # This also translates to a 15kB savings in the compressed disk image |
| 11 # that will contain the update. |
| 12 'check_crc32': 1, |
| 13 'check_crc64': 0, |
| 14 'check_sha256': 0, |
| 15 'coder_lzma1': 1, |
| 16 'coder_lzma2': 1, |
| 17 'coder_delta': 0, |
| 18 'coder_bcj_arm': 0, |
| 19 'coder_bcj_armthumb': 0, |
| 20 'coder_bcj_ia64': 0, |
| 21 'coder_bcj_powerpc': 0, |
| 22 'coder_bcj_sparc': 0, |
| 23 'coder_bcj_x86': 1, |
| 24 |
| 25 'lzma_common_defines': [ |
| 26 'HAVE_CONFIG_H', |
| 27 ], |
| 28 'lzma_decompress_defines': [ |
| 29 'HAVE_DECODER=1', |
| 30 ], |
| 31 'lzma_compress_defines': [ |
| 32 'HAVE_ENCODER=1', |
| 33 ], |
| 34 |
| 35 'lzma_include_dirs': [ |
| 36 'config/<(OS)', |
| 37 'xz/src/common', |
| 38 'xz/src/liblzma/api', |
| 39 'xz/src/liblzma/check', |
| 40 'xz/src/liblzma/common', |
| 41 'xz/src/liblzma/delta', |
| 42 'xz/src/liblzma/lz', |
| 43 'xz/src/liblzma/lzma', |
| 44 'xz/src/liblzma/rangecoder', |
| 45 'xz/src/liblzma/simple', |
| 46 ], |
| 47 |
| 48 'lzma_common_source_files': [ |
| 49 # CRC-32 must be compiled for header integrity checks, even if it is not |
| 50 # enabled for payload integrity checks. The x86-native CRC-32 |
| 51 # implementation is used, the "fast" and "small" variants are not. The |
| 52 # "small" variant compiles to something about 12kB smaller than "x86", |
| 53 # but when bzip2-compressed, the difference is only 2.5kB. |
| 54 # 'xz/src/liblzma/check/crc32_fast.c', |
| 55 # 'xz/src/liblzma/check/crc32_small.c', |
| 56 'xz/src/liblzma/check/crc32_table.c', |
| 57 'xz/src/liblzma/check/crc32_x86.S', |
| 58 |
| 59 'xz/src/common/tuklib_physmem.c', |
| 60 'xz/src/liblzma/check/check.c', |
| 61 'xz/src/liblzma/common/block_util.c', |
| 62 'xz/src/liblzma/common/common.c', |
| 63 'xz/src/liblzma/common/easy_preset.c', |
| 64 'xz/src/liblzma/common/filter_common.c', |
| 65 'xz/src/liblzma/common/hardware_physmem.c', |
| 66 'xz/src/liblzma/common/index.c', |
| 67 'xz/src/liblzma/common/stream_flags_common.c', |
| 68 'xz/src/liblzma/common/vli_size.c', |
| 69 'xz/src/liblzma/lzma/lzma_encoder_presets.c', |
| 70 'xz/src/liblzma/rangecoder/price_table.c', |
| 71 ], |
| 72 'lzma_decompress_source_files': [ |
| 73 'xz/src/liblzma/common/alone_decoder.c', |
| 74 'xz/src/liblzma/common/auto_decoder.c', |
| 75 'xz/src/liblzma/common/block_buffer_decoder.c', |
| 76 'xz/src/liblzma/common/block_decoder.c', |
| 77 'xz/src/liblzma/common/block_header_decoder.c', |
| 78 'xz/src/liblzma/common/easy_decoder_memusage.c', |
| 79 'xz/src/liblzma/common/filter_buffer_decoder.c', |
| 80 'xz/src/liblzma/common/filter_decoder.c', |
| 81 'xz/src/liblzma/common/filter_flags_decoder.c', |
| 82 'xz/src/liblzma/common/index_decoder.c', |
| 83 'xz/src/liblzma/common/index_hash.c', |
| 84 'xz/src/liblzma/common/stream_buffer_decoder.c', |
| 85 'xz/src/liblzma/common/stream_decoder.c', |
| 86 'xz/src/liblzma/common/stream_flags_decoder.c', |
| 87 'xz/src/liblzma/common/vli_decoder.c', |
| 88 'xz/src/liblzma/lz/lz_decoder.c', |
| 89 'xz/src/liblzma/lzma/lzma_decoder.c', |
| 90 ], |
| 91 'lzma_compress_source_files': [ |
| 92 'xz/src/liblzma/common/alone_encoder.c', |
| 93 'xz/src/liblzma/common/block_buffer_encoder.c', |
| 94 'xz/src/liblzma/common/block_encoder.c', |
| 95 'xz/src/liblzma/common/block_header_encoder.c', |
| 96 'xz/src/liblzma/common/easy_buffer_encoder.c', |
| 97 'xz/src/liblzma/common/easy_encoder.c', |
| 98 'xz/src/liblzma/common/easy_encoder_memusage.c', |
| 99 'xz/src/liblzma/common/filter_buffer_encoder.c', |
| 100 'xz/src/liblzma/common/filter_encoder.c', |
| 101 'xz/src/liblzma/common/filter_flags_encoder.c', |
| 102 'xz/src/liblzma/common/index_encoder.c', |
| 103 'xz/src/liblzma/common/stream_buffer_encoder.c', |
| 104 'xz/src/liblzma/common/stream_encoder.c', |
| 105 'xz/src/liblzma/common/stream_flags_encoder.c', |
| 106 'xz/src/liblzma/common/vli_encoder.c', |
| 107 'xz/src/liblzma/lz/lz_encoder.c', |
| 108 'xz/src/liblzma/lz/lz_encoder_mf.c', |
| 109 'xz/src/liblzma/lzma/fastpos_table.c', |
| 110 'xz/src/liblzma/lzma/lzma_encoder.c', |
| 111 'xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c', |
| 112 'xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c', |
| 113 ], |
| 114 |
| 115 'conditions': [ |
| 116 ['check_crc32 != 0', { |
| 117 'lzma_common_defines': [ |
| 118 'HAVE_CHECK_CRC32=1', |
| 119 ], |
| 120 }], |
| 121 ['check_crc64 != 0', { |
| 122 'lzma_common_defines': [ |
| 123 'HAVE_CHECK_CRC64=1', |
| 124 ], |
| 125 'lzma_common_source_files': [ |
| 126 # The "fast" CRC-64 implementation is used, the "small" variant is |
| 127 # not. |
| 128 'xz/src/liblzma/check/crc64_fast.c', |
| 129 # 'xz/src/liblzma/check/crc64_small.c', |
| 130 'xz/src/liblzma/check/crc64_table.c', |
| 131 ], |
| 132 }], |
| 133 ['check_sha256 != 0', { |
| 134 'lzma_common_defines': [ |
| 135 'HAVE_CHECK_SHA256=1', |
| 136 ], |
| 137 'lzma_common_source_files': [ |
| 138 'xz/src/liblzma/check/sha256.c', |
| 139 ], |
| 140 }], |
| 141 ['coder_lzma1 != 0', { |
| 142 'lzma_decompress_defines': [ |
| 143 'HAVE_DECODER_LZMA1=1', |
| 144 ], |
| 145 'lzma_compress_defines': [ |
| 146 'HAVE_ENCODER_LZMA1=1', |
| 147 ], |
| 148 }], |
| 149 ['coder_lzma2 != 0', { |
| 150 'lzma_decompress_defines': [ |
| 151 'HAVE_DECODER_LZMA2=1', |
| 152 ], |
| 153 'lzma_compress_defines': [ |
| 154 'HAVE_ENCODER_LZMA2=1', |
| 155 ], |
| 156 'lzma_decompress_source_files': [ |
| 157 'xz/src/liblzma/lzma/lzma2_decoder.c', |
| 158 ], |
| 159 'lzma_compress_source_files': [ |
| 160 'xz/src/liblzma/lzma/lzma2_encoder.c', |
| 161 ], |
| 162 }], |
| 163 ['coder_delta != 0', { |
| 164 'lzma_decompress_defines': [ |
| 165 'HAVE_DECODER_DELTA=1', |
| 166 ], |
| 167 'lzma_compress_defines': [ |
| 168 'HAVE_ENCODER_DELTA=1', |
| 169 ], |
| 170 'lzma_common_source_files': [ |
| 171 'xz/src/liblzma/delta/delta_common.c', |
| 172 ], |
| 173 'lzma_decompress_source_files': [ |
| 174 'xz/src/liblzma/delta/delta_decoder.c', |
| 175 ], |
| 176 'lzma_compress_source_files': [ |
| 177 'xz/src/liblzma/delta/delta_encoder.c', |
| 178 ], |
| 179 }], |
| 180 ['coder_bcj_arm != 0', { |
| 181 'lzma_decompress_defines': [ |
| 182 'HAVE_DECODER_ARM=1', |
| 183 ], |
| 184 'lzma_compress_defines': [ |
| 185 'HAVE_ENCODER_ARM=1', |
| 186 ], |
| 187 'lzma_common_source_files': [ |
| 188 'xz/src/liblzma/simple/arm.c', |
| 189 ], |
| 190 }], |
| 191 ['coder_bcj_armthumb != 0', { |
| 192 'lzma_decompress_defines': [ |
| 193 'HAVE_DECODER_ARMTHUMB=1', |
| 194 ], |
| 195 'lzma_compress_defines': [ |
| 196 'HAVE_ENCODER_ARMTHUMB=1', |
| 197 ], |
| 198 'lzma_common_source_files': [ |
| 199 'xz/src/liblzma/simple/armthumb.c', |
| 200 ], |
| 201 }], |
| 202 ['coder_bcj_ia64 != 0', { |
| 203 'lzma_decompress_defines': [ |
| 204 'HAVE_DECODER_IA64=1', |
| 205 ], |
| 206 'lzma_compress_defines': [ |
| 207 'HAVE_ENCODER_IA64=1', |
| 208 ], |
| 209 'lzma_common_source_files': [ |
| 210 'xz/src/liblzma/simple/ia64.c', |
| 211 ], |
| 212 }], |
| 213 ['coder_bcj_powerpc != 0', { |
| 214 'lzma_decompress_defines': [ |
| 215 'HAVE_DECODER_POWERPC=1', |
| 216 ], |
| 217 'lzma_compress_defines': [ |
| 218 'HAVE_ENCODER_POWERPC=1', |
| 219 ], |
| 220 'lzma_common_source_files': [ |
| 221 'xz/src/liblzma/simple/powerpc.c', |
| 222 ], |
| 223 }], |
| 224 ['coder_bcj_sparc != 0', { |
| 225 'lzma_decompress_defines': [ |
| 226 'HAVE_DECODER_SPARC=1', |
| 227 ], |
| 228 'lzma_compress_defines': [ |
| 229 'HAVE_ENCODER_SPARC=1', |
| 230 ], |
| 231 'lzma_common_source_files': [ |
| 232 'xz/src/liblzma/simple/sparc.c', |
| 233 ], |
| 234 }], |
| 235 ['coder_bcj_x86 != 0', { |
| 236 'lzma_decompress_defines': [ |
| 237 'HAVE_DECODER_X86=1', |
| 238 ], |
| 239 'lzma_compress_defines': [ |
| 240 'HAVE_ENCODER_X86=1', |
| 241 ], |
| 242 'lzma_common_source_files': [ |
| 243 'xz/src/liblzma/simple/x86.c', |
| 244 ], |
| 245 }], |
| 246 ['coder_bcj_arm != 0 or coder_bcj_armthumb != 0 or coder_bcj_ia64 != 0 or
coder_bcj_powerpc != 0 or coder_bcj_sparc != 0 or coder_bcj_x86 != 0', { |
| 247 'lzma_common_source_files': [ |
| 248 'xz/src/liblzma/simple/simple_coder.c', |
| 249 ], |
| 250 'lzma_decompress_source_files': [ |
| 251 'xz/src/liblzma/simple/simple_decoder.c', |
| 252 ], |
| 253 'lzma_compress_source_files': [ |
| 254 'xz/src/liblzma/simple/simple_encoder.c', |
| 255 ], |
| 256 }], |
| 257 ], # conditions |
| 258 }, # variables |
| 259 |
| 260 'targets': [ |
| 261 { |
| 262 'target_name': 'lzma', |
| 263 'type': '<(library)', |
| 264 'defines': [ |
| 265 '<@(lzma_common_defines)', |
| 266 '<@(lzma_decompress_defines)', |
| 267 '<@(lzma_compress_defines)', |
| 268 ], |
| 269 'include_dirs': [ |
| 270 '<@(lzma_include_dirs)', |
| 271 ], |
| 272 'sources': [ |
| 273 '<@(lzma_common_source_files)', |
| 274 '<@(lzma_decompress_source_files)', |
| 275 '<@(lzma_compress_source_files)', |
| 276 ], |
| 277 'direct_dependent_settings': { |
| 278 'include_dirs': [ |
| 279 'xz/src/liblzma/api', |
| 280 ], |
| 281 }, |
| 282 }, |
| 283 |
| 284 { |
| 285 'target_name': 'lzma_decompress', |
| 286 |
| 287 # Always build as a shared library to promote code sharing. This library |
| 288 # is distributed in Google Chrome update disk images and is used by more |
| 289 # than one tool. |
| 290 'type': 'shared_library', |
| 291 'xcode_settings': { |
| 292 'DYLIB_INSTALL_NAME_BASE': '@loader_path', |
| 293 }, |
| 294 |
| 295 'defines': [ |
| 296 '<@(lzma_common_defines)', |
| 297 '<@(lzma_decompress_defines)', |
| 298 ], |
| 299 'include_dirs': [ |
| 300 '<@(lzma_include_dirs)', |
| 301 ], |
| 302 'sources': [ |
| 303 '<@(lzma_common_source_files)', |
| 304 '<@(lzma_decompress_source_files)', |
| 305 ], |
| 306 'direct_dependent_settings': { |
| 307 'include_dirs': [ |
| 308 'xz/src/liblzma/api', |
| 309 ], |
| 310 }, |
| 311 }, |
| 312 |
| 313 { |
| 314 'target_name': 'xz', |
| 315 'type': 'executable', |
| 316 'dependencies': [ |
| 317 'lzma', |
| 318 ], |
| 319 'defines': [ |
| 320 '<@(lzma_common_defines)', |
| 321 '<@(lzma_decompress_defines)', |
| 322 '<@(lzma_compress_defines)', |
| 323 ], |
| 324 'include_dirs': [ |
| 325 'config/<(OS)', |
| 326 'xz/src/common', |
| 327 ], |
| 328 'sources': [ |
| 329 'xz/src/common/tuklib_cpucores.c', |
| 330 'xz/src/common/tuklib_exit.c', |
| 331 'xz/src/common/tuklib_open_stdxxx.c', |
| 332 'xz/src/common/tuklib_progname.c', |
| 333 'xz/src/xz/args.c', |
| 334 'xz/src/xz/coder.c', |
| 335 'xz/src/xz/file_io.c', |
| 336 'xz/src/xz/hardware.c', |
| 337 'xz/src/xz/list.c', |
| 338 'xz/src/xz/main.c', |
| 339 'xz/src/xz/message.c', |
| 340 'xz/src/xz/options.c', |
| 341 'xz/src/xz/signals.c', |
| 342 'xz/src/xz/suffix.c', |
| 343 'xz/src/xz/util.c', |
| 344 ], |
| 345 }, |
| 346 |
| 347 { |
| 348 'target_name': 'xzdec', |
| 349 'type': 'executable', |
| 350 'dependencies': [ |
| 351 'lzma_decompress', |
| 352 ], |
| 353 'defines': [ |
| 354 '<@(lzma_common_defines)', |
| 355 '<@(lzma_decompress_defines)', |
| 356 ], |
| 357 'include_dirs': [ |
| 358 'config/<(OS)', |
| 359 'xz/src/common', |
| 360 ], |
| 361 'sources': [ |
| 362 'xz/src/common/tuklib_exit.c', |
| 363 'xz/src/common/tuklib_progname.c', |
| 364 'xz/src/xzdec/xzdec.c', |
| 365 ], |
| 366 }, |
| 367 ], |
| 368 } |
| 369 |
| 370 # Local Variables: |
| 371 # tab-width:2 |
| 372 # indent-tabs-mode:nil |
| 373 # End: |
| 374 # vim: set expandtab tabstop=2 shiftwidth=2: |
OLD | NEW |