media/webrtc/trunk/build/ios/mac_build.gypi

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
michael@0 2 # Use of this source code is governed by a BSD-style license that can be
michael@0 3 # found in the LICENSE file.
michael@0 4
michael@0 5 # Xcode throws an error if an iOS target depends on a Mac OS X target. So
michael@0 6 # any place a utility program needs to be build and run, an action is
michael@0 7 # used to run ninja as script to work around this.
michael@0 8 # Example:
michael@0 9 # {
michael@0 10 # 'target_name': 'foo',
michael@0 11 # 'type': 'none',
michael@0 12 # 'variables': {
michael@0 13 # # The name of a directory used for ninja. This cannot be shared with
michael@0 14 # # another mac build.
michael@0 15 # 'ninja_output_dir': 'ninja-foo',
michael@0 16 # # The list of all the gyp files that contain the targets to run.
michael@0 17 # 're_run_targets': [
michael@0 18 # 'foo.gyp',
michael@0 19 # ],
michael@0 20 # },
michael@0 21 # 'includes': ['path_to/mac_build.gypi'],
michael@0 22 # 'actions': [
michael@0 23 # {
michael@0 24 # 'action_name': 'compile foo',
michael@0 25 # 'inputs': [],
michael@0 26 # 'outputs': [],
michael@0 27 # 'action': [
michael@0 28 # '<@(ninja_cmd)',
michael@0 29 # # All the targets to build.
michael@0 30 # 'foo1',
michael@0 31 # 'foo2',
michael@0 32 # ],
michael@0 33 # },
michael@0 34 # ],
michael@0 35 # }
michael@0 36 {
michael@0 37 'variables': {
michael@0 38 # Convenience variable pointing to the ninja product directory.
michael@0 39 'ninja_product_dir':
michael@0 40 '<(DEPTH)/xcodebuild/<(ninja_output_dir)/<(CONFIGURATION_NAME)',
michael@0 41
michael@0 42 # Common ninja command line flags.
michael@0 43 'ninja_cmd': [
michael@0 44 # Bounce through clean_env to clean up the environment so things
michael@0 45 # set by the iOS build don't pollute the Mac build.
michael@0 46 '<(DEPTH)/build/ios/clean_env.py',
michael@0 47 # ninja must be found in the PATH.
michael@0 48 'ADD_TO_PATH=<!(echo $PATH)',
michael@0 49 'ninja',
michael@0 50 '-C',
michael@0 51 '<(ninja_product_dir)',
michael@0 52 ],
michael@0 53
michael@0 54 # Common syntax to rerun gyp to generate the Mac projects.
michael@0 55 're_run_gyp': [
michael@0 56 'build/gyp_chromium',
michael@0 57 # Don't use anything set for the iOS side of things.
michael@0 58 '--ignore-environment',
michael@0 59 # Generate for ninja
michael@0 60 '--format=ninja',
michael@0 61 # Generate files into xcodebuild/ninja
michael@0 62 '-Goutput_dir=xcodebuild/<(ninja_output_dir)',
michael@0 63 # nacl isn't in the iOS checkout, make sure it's turned off
michael@0 64 '-Ddisable_nacl=1',
michael@0 65 # Add a variable to handle specific cases for mac_build.
michael@0 66 '-Dios_mac_build=1',
michael@0 67 # Pass through the Mac SDK version.
michael@0 68 '-Dmac_sdk=<(mac_sdk)',
michael@0 69 ],
michael@0 70
michael@0 71 # Rerun gyp for each of the projects needed. This is what actually
michael@0 72 # generates the projects on disk.
michael@0 73 're_run_gyp_execution':
michael@0 74 '<!(cd <(DEPTH) && <@(re_run_gyp) <@(re_run_targets))',
michael@0 75 },
michael@0 76 # Since these are used to generate things needed by other targets, make
michael@0 77 # them hard dependencies so they are always built first.
michael@0 78 'hard_dependency': 1,
michael@0 79 }

mercurial