summaryrefslogtreecommitdiffstats
path: root/third_party/lzma_sdk/lzma_sdk.scons
blob: 51db0529c6625087de0189c4e492508412391ada (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

Import('env')

env = env.Clone()

if env.WantSystemLib('lzma_sdk'):
  Return()

env.Prepend(
    CPPPATH = [
        '.',
        '$CHROME_SRC_DIR',
    ]
)

env.Append(
    CPPDEFINES = [
        '_LZMA_PROB32',
        '_LZMA_IN_CB',
    ],
)

if env.Bit('windows'):
  env.Append(
    CCFLAGS = [
        '/TC',
        '/wd4800',
    ],
  )

input_files = ChromeFileList([
  # TODO(sgk):  violate standard indentation so we don't have to
  # reindent too much when we remove the explicit MSVSFilter() calls
  # in favor of generating the hierarchy to reflect the file system.
  MSVSFilter('LZMA', [
    'Compress/Lzma/LzmaDecode.c',
    'Compress/Lzma/LzmaDecode.h',
    'Compress/Lzma/LzmaTypes.h',
  ]),
  MSVSFilter('Common', [
    '7zCrc.c',
    '7zCrc.h',
    'Types.h',
  ]),
  MSVSFilter('Branch', [
    'Compress/Branch/BranchTypes.h',
    'Compress/Branch/BranchX86.c',
    'Compress/Branch/BranchX86.h',
    'Compress/Branch/BranchX86_2.c',
    'Compress/Branch/BranchX86_2.h',
  ]),
  MSVSFilter('7z', [
    'Archive/7z/7zAlloc.c',
    'Archive/7z/7zAlloc.h',
    'Archive/7z/7zBuffer.c',
    'Archive/7z/7zBuffer.h',
    'Archive/7z/7zDecode.c',
    'Archive/7z/7zDecode.h',
    'Archive/7z/7zExtract.c',
    'Archive/7z/7zExtract.h',
    'Archive/7z/7zHeader.c',
    'Archive/7z/7zHeader.h',
    'Archive/7z/7zIn.c',
    'Archive/7z/7zIn.h',
    'Archive/7z/7zItem.c',
    'Archive/7z/7zItem.h',
    'Archive/7z/7zMethodID.c',
    'Archive/7z/7zMethodID.h',
  ]),
])

env.ChromeLibrary('lzma_sdk', input_files)

p = env.ChromeMSVSProject('7z_C.vcproj',
                          dest=('$CHROME_SRC_DIR/third_party/' +
                                    'lzma_sdk/7z_C.vcproj'),
                          name='lzma_sdk',
                          guid='{B84553C8-5676-427B-B3E4-23DDDC4DBC7B}',
                          keyword='Win32Proj',
                          # TODO(sgk):  when we can intuit the hierarchy
                          # from the built targets.
                          #buildtargets=TODO,
                          files=input_files,
                          ConfigurationType='4')

p.AddConfig('Debug|Win32',
            InheritedPropertySheets=[
                '$(SolutionDir)../build/common.vsprops',
                '$(SolutionDir)../build/debug.vsprops',
                '$(SolutionDir)../build/external_code.vsprops',
                '$(SolutionDir)../third_party/lzma_sdk/using_lzma_sdk.vsprops',
            ],
            tools=[
                MSVSTool('VCCLCompilerTool',
                         PreprocessorDefinitions=[
                             '_DEBUG',
                             'WIN32',
                             '_CONSOLE',
                             '_LZMA_PROB32'
                         ]),
                'VCLibrarianTool',
            ])

p.AddConfig('Release|Win32',
            InheritedPropertySheets=[
                '$(SolutionDir)../build/common.vsprops',
                '$(SolutionDir)../build/release.vsprops',
                '$(SolutionDir)../build/external_code.vsprops',
                '$(SolutionDir)../third_party/lzma_sdk/using_lzma_sdk.vsprops',
            ],
            tools=[
                MSVSTool('VCCLCompilerTool',
                         PreprocessorDefinitions=[
                             'NDEBUG',
                             'WIN32',
                             '_CONSOLE',
                             '_LZMA_PROB32'
                         ]),
                'VCLibrarianTool',
            ])