summaryrefslogtreecommitdiffstats
path: root/third_party/zlib/zlib.scons
blob: c62aeb4eb42999973909c06aec4e61aaa5e12bb1 (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
# 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.

__doc__ = """
Configuration for building zlib.lib / libzlib.a.
"""

Import('env')

if env.WantSystemLib('zlib'):
  env.Append(ZLIB_LIB = ['z'])
  Return()

env = env.Clone()

env.Append(
    CPPPATH = ['$ZLIB_DIR'],
    ZLIB_LIB = ['zlib'],
)

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

input_files = ChromeFileList([
    'adler32.c',
    'compress.c',
    'crc32.c',
    'crc32.h',
    'deflate.c',
    'deflate.h',
    'gzio.c',
    'infback.c',
    'inffast.c',
    'inffast.h',
    'inffixed.h',
    'inflate.c',
    'inflate.h',
    'inftrees.c',
    'inftrees.h',
    'mozzconf.h',
    'trees.c',
    'trees.h',
    'uncompr.c',
    'zconf.h',
    'zlib.h',
    'zutil.c',
    'zutil.h',
    'contrib/minizip/ioapi.c',
    'contrib/minizip/ioapi.h',
    'contrib/minizip/unzip.c',
    'contrib/minizip/unzip.h'
])

if env.Bit('windows'):
  input_files.extend([
      'contrib/minizip/iowin32.c',
      'contrib/minizip/iowin32.h',
  ])

if env.Bit('posix'):
  env.Append(
      CCFLAGS = [
          '-Wno-parentheses',
          '-Wno-unused-variable',
      ],
  )

env.ChromeLibrary('zlib', input_files)

p = env.ChromeMSVSProject('zlib.vcproj',
                          guid='{8423AF0D-4B88-4EBF-94E1-E4D00D00E21C}',
                          files=input_files,
                          relative_path_prefix=r'./',
                          tools = [
                              'VCLibrarianTool',
                              'VCCLCompilerTool',
                          ])

p.AddConfig('Debug|Win32',
            ConfigurationType = '4',
            InheritedPropertySheets = [
                '$(SolutionDir)../build/common.vsprops',
                '$(SolutionDir)../build/debug.vsprops',
                '$(SolutionDir)../build/external_code.vsprops',
                './zlib.vsprops'
            ])

p.AddConfig('Release|Win32',
            ConfigurationType = '4',
            InheritedPropertySheets = [
                '$(SolutionDir)../build/common.vsprops',
                '$(SolutionDir)../build/release.vsprops',
                '$(SolutionDir)../build/external_code.vsprops',
                './zlib.vsprops'
            ])

env.AlwaysBuild(p)

i = env.Command('$CHROME_SRC_DIR/third_party/zlib/zlib.vcproj', p,
                Copy('$TARGET', '$SOURCE'))
Alias('msvs', i)