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