summaryrefslogtreecommitdiffstats
path: root/chrome/app/theme/SConscript
blob: 34ebf75704f594371923ac36e00caf29bd727d4f (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
# 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_res')

env = env.Clone()
env_res = env_res.Clone()

env_res.Append(
    CPPPATH = [
        '.',
        '$CHROME_SRC_DIR',
    ],
)

if env.Bit('windows'):
  env_res.Append(
      RCFLAGS = [
          ['/l', '0x409'],
      ],
  )

  env.Append(
      LINKFLAGS = [
          '/INCREMENTAL:NO',
          '/DELAYLOAD:"dwmapi.dll"',
          '/DELAYLOAD:"uxtheme.dll"',

          '/NOENTRY',
          '/BASE:"0x3CE00000"',
          '/MACHINE:X86',
          '/FIXED:No',

          '/safeseh',
          '/dynamicbase',
          '/ignore:4199',
          '/nxcompat',
      ],
  )

# TODO(tc): We need to pass in a preprocessor define for official builds.
generated = env.GRIT(
    '$TARGET_ROOT/grit_derived_sources/fake_theme_target',
    '$CHROME_SRC_DIR/chrome/app/theme/theme_resources.grd')

if env.Bit('windows'):
  input_files = ChromeFileList([
      '$TARGET_ROOT/grit_derived_sources/theme_resources.rc',
  ])

  # TODO(tc): This causes scons to die because the regular expression that
  # scans .rc files for dependencies overflows (see
  # SCons/Tool/Scanner/RC.py).  Disable it for now because it's only for the
  # Windows build.
  #res = env.RES('$TARGET_ROOT/grit_derived_sources/theme_resources.rc')

  #themes_default = env.ChromeSharedLibrary("default", res)
  #env.Install("$DESTINATION_ROOT/themes", themes_default)

  p = env.ChromeMSVSProject('theme_dll.vcproj',
                            dest=('$CHROME_SRC_DIR/chrome/'
                                  + 'app/theme/theme_dll.vcproj'),
                            guid='{FD683DD6-D9BF-4B1B-AB6D-A3AC03EDAA4D}',
                            keyword='Win32Proj',
                            # TODO(sgk):  when we can intuit the hierarchy
                            # from the built targets.
                            #buildtargets=TODO,
                            files=input_files,
                            tools=[
                                'VCPreBuildEventTool',
                                'VCCustomBuildTool',
                                'VCXMLDataGeneratorTool',
                                'VCWebServiceProxyGeneratorTool',
                                'VCMIDLTool',
                                'VCCLCompilerTool',
                                'VCManagedResourceCompilerTool',
                                'VCResourceCompilerTool',
                                'VCPreLinkEventTool',
                                'VCLinkerTool',
                                'VCALinkTool',
                                'VCManifestTool',
                                'VCXDCMakeTool',
                                'VCBscMakeTool',
                                'VCFxCopTool',
                                'VCAppVerifierTool',
                                'VCWebDeploymentTool',
                                'VCPostBuildEventTool',
                            ],
                            ConfigurationType='2')


  p.AddConfig('Debug|Win32',
              InheritedPropertySheets=[
                  '$(SolutionDir)../build/debug.vsprops',
                  './theme_dll.vsprops',
              ])

  p.AddConfig('Release|Win32',
              InheritedPropertySheets=[
                  '$(SolutionDir)../build/release.vsprops',
                  './theme_dll.vsprops',
              ])