diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-03 12:04:33 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-03 12:04:33 +0000 |
commit | 8d039c687b148a4db2b93b93f2c702106ce947d7 (patch) | |
tree | 092c1166377476f7b9c4d0f7cab75abb20ef20b9 /build/gyp_chromium | |
parent | b4b591bcefaf17fc1e1aa9ae6a447952078b03ae (diff) | |
download | chromium_src-8d039c687b148a4db2b93b93f2c702106ce947d7.zip chromium_src-8d039c687b148a4db2b93b93f2c702106ce947d7.tar.gz chromium_src-8d039c687b148a4db2b93b93f2c702106ce947d7.tar.bz2 |
Work on GN iOS build.
Separates out some "SDK" related setup on Mac land Linux like we do on Windows. I'm trying to make the "compiler" BUILD file just compiler warnings and CPU options, and have system library stuff on the platform directories.
This adds the capability for GN to produce GYP files on Mac that vary according
to the GYP generator as well as target-vs-host. I added a bunch of logic to the
GN iOS build to set up stuff accordingly based on my current knowledge of
what's required.
Sadly, this means we now have an 8-way GN build (all combinations of
debug/release, host/target, and xcode/ninja). I did some refactoring of the GYP
code in GN to make this less unreasonable.
I checked that the GYP files look the way I want, but I didn't actually test
the resulting builds yet. There is still likely to be some conditions wrong or
things not being set properly. I'm going to follow up with a second pass based on actual testing.
I believe, however, that with this new GYP generator code in GN, we can express
in the .gn files what we need to do the iOS build.
Review URL: https://codereview.chromium.org/149163005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248476 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/gyp_chromium')
-rwxr-xr-x | build/gyp_chromium | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/build/gyp_chromium b/build/gyp_chromium index 8713b43..9034c82 100755 --- a/build/gyp_chromium +++ b/build/gyp_chromium @@ -223,7 +223,8 @@ def GetArgsStringForGN(supplemental_files): gn_args += ' ' + i[2] # These string arguments get passed directly as GN strings. - for v in ['android_src', 'windows_sdk_path', 'arm_float_abi']: + for v in ['android_src', 'arm_float_abi', 'ios_deployment_target', + 'ios_sdk_path', 'windows_sdk_path']: if v in vars_dict: gn_args += ' ' + v + '=' + EscapeStringForGN(vars_dict[v]) @@ -231,6 +232,14 @@ def GetArgsStringForGN(supplemental_files): if 'gomadir' in vars_dict: gn_args += ' goma_dir=%s' % EscapeStringForGN(vars_dict['gomadir']) + # Clear the "use_ios_simulator" flag if the ios_sdk_path is set and is + # not a simulator SDK. This duplicates code done in GYP's xcode emulation. + if 'ios_sdk_path' in vars_dict: + if not os.path.basename(vars_dict['ios_sdk_path']).lower().startswith( + 'iphonesimulator'): + gn_args += ' use_ios_simulator=false' + + # These arguments get passed directly as integers (avoiding the quoting and # escaping of the string ones above). for v in ['arm_version']: |