• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2012 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    'chromium_code': 1,
8
9    # Keep the archive builder happy.
10    'chrome_personalization%': 1,
11    'use_syncapi_stub%': 0,
12
13    'variables': {
14      'version_py_path': '../tools/build/version.py',
15      'version_path': 'VERSION',
16    },
17    'version_py_path': '<(version_py_path) -f',
18    'version_path': '<(version_path)',
19
20    'conditions': [
21      ['OS=="win"', {
22        'python': [
23          '<(DEPTH)\\third_party\\python_26\\setup_env.bat && python'
24        ],
25      }, { # OS != win
26        'python': [
27          'python'
28        ],
29      }],
30    ],
31  },
32  'includes': [
33    '../chrome/version.gypi',
34  ],
35  'target_defaults': {
36    'include_dirs': [
37      # all our own includes are relative to src/
38      '..',
39    ],
40    'configurations': {
41      'Release_Base': {
42        # Set flags to unconditionally optimize chrome_frame_launcher.exe
43        # for release builds.
44        'msvs_settings': {
45          'VCLinkerTool': {
46            'LinkTimeCodeGeneration': '1',
47          },
48          'VCCLCompilerTool': {
49            'Optimization': '3',
50            'InlineFunctionExpansion': '2',
51            'EnableIntrinsicFunctions': 'true',
52            'FavorSizeOrSpeed': '2',
53            'OmitFramePointers': 'true',
54            'EnableFiberSafeOptimizations': 'true',
55            'WholeProgramOptimization': 'true',
56          },
57          'VCLibrarianTool': {
58            'AdditionalOptions': ['/ltcg', '/expectedoutputsize:120000000'],
59          },
60        },
61      },
62    },
63  },
64  'targets': [
65    {
66      'target_name': 'chrome_frame_launcher_version_resources',
67      'type': 'none',
68      'conditions': [
69        ['branding == "Chrome"', {
70          'variables': {
71             'branding_path': '../chrome/app/theme/google_chrome/BRANDING',
72          },
73        }, { # else branding!="Chrome"
74          'variables': {
75             'branding_path': '../chrome/app/theme/chromium/BRANDING',
76          },
77        }],
78      ],
79      'variables': {
80        'output_dir': 'chrome_frame',
81        'template_input_path': 'chrome_frame_version.rc.version',
82        'extra_variable_files_arguments': [ '-f', 'BRANDING' ],
83        'extra_variable_files': [ 'BRANDING' ], # NOTE: matches that above
84      },
85      'direct_dependent_settings': {
86        'include_dirs': [
87          '<(SHARED_INTERMEDIATE_DIR)/<(output_dir)',
88        ],
89      },
90      'sources': [
91        'chrome_frame_helper_dll.ver',
92        'chrome_frame_helper_exe.ver',
93        'chrome_launcher_exe.ver',
94      ],
95      'includes': [
96        '../chrome/version_resource_rules.gypi',
97      ],
98    },
99    {
100      'target_name': 'chrome_launcher',
101      'type': 'executable',
102      'dependencies': [
103        '../breakpad/breakpad.gyp:breakpad_handler',
104        '../components/components.gyp:policy',
105        '../google_update/google_update.gyp:google_update',
106        'chrome_frame.gyp:chrome_frame_utils',
107        'chrome_frame_launcher_version_resources',
108      ],
109      'sources': [
110        '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_launcher_exe_version.rc',
111        'chrome_launcher_main.cc',
112        'chrome_launcher.cc',
113        'chrome_launcher.h',
114        'update_launcher.cc',
115        'update_launcher.h'
116      ],
117      'msvs_settings': {
118        'VCLinkerTool': {
119          # Set /SUBSYSTEM:WINDOWS since this is not a command-line program.
120          'SubSystem': '2',
121          'AdditionalDependencies': [
122            'shlwapi.lib',
123          ],
124        },
125      },
126    },
127    {
128      'target_name': 'chrome_frame_helper',
129      'type': 'executable',
130      'dependencies': [
131        '../breakpad/breakpad.gyp:breakpad_handler',
132        'chrome_frame.gyp:chrome_frame_utils',
133        'chrome_frame_helper_dll',
134        'chrome_frame_helper_lib',
135        'chrome_frame_launcher_version_resources',
136      ],
137      'sources': [
138        'chrome_frame_helper_main.cc',
139        '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_frame_helper_exe_version.rc',
140      ],
141      'msvs_settings': {
142        'VCLinkerTool': {
143          'OutputFile':
144              '$(OutDir)\\$(ProjectName).exe',
145          # Set /SUBSYSTEM:WINDOWS since this is not a command-line program.
146          'SubSystem': '2',
147        },
148      },
149    },
150    {
151      'target_name': 'chrome_frame_helper_dll',
152      'type': 'shared_library',
153      'dependencies': [
154        'chrome_frame.gyp:chrome_tab_idl',
155        'chrome_frame_helper_lib',
156        'chrome_frame_launcher_version_resources',
157      ],
158      'sources': [
159        'bho_loader.cc',
160        'bho_loader.h',
161        'chrome_frame_helper_dll.cc',
162        'chrome_frame_helper_dll.def',
163        '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_frame_helper_dll_version.rc',
164        '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_tab.h',
165        'event_hooker.cc',
166        'event_hooker.h',
167        'iids.cc',
168      ],
169      'msvs_settings': {
170        'VCLinkerTool': {
171          'OutputFile': '$(OutDir)\\chrome_frame_helper.dll',
172          # Set /SUBSYSTEM:WINDOWS since this is not a command-line program.
173          'SubSystem': '2',
174        },
175      },
176    },
177    {
178      'target_name': 'chrome_frame_helper_lib',
179      'type': 'static_library',
180      'dependencies': [
181        'chrome_frame.gyp:chrome_tab_idl',
182      ],
183      'sources': [
184        'chrome_frame_helper_util.cc',
185        'chrome_frame_helper_util.h',
186        'registry_watcher.cc',
187        'registry_watcher.h',
188        '<(SHARED_INTERMEDIATE_DIR)/chrome_frame/chrome_tab.h',
189        'iids.cc',
190      ],
191      'msvs_settings': {
192        'VCLinkerTool': {
193          'AdditionalDependencies': [
194            'shlwapi.lib',
195          ],
196        },
197      },
198    },
199  ],
200}
201