scottmg@chromium.org [Wed, 22 May 2013 16:28:54 +0000 (16:28 +0000)]
Fix _wrapper vars on win.
Workaround for environment vars being uppercase on Windows Python.
Quote the path to cl.exe in cl_x86 and cl_x64 vars so it works properly with a wrapper prepended.
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/
14861016
git-svn-id: http://gyp.googlecode.com/svn/trunk@1635
78cadc50-ecff-11dd-a971-
7dbc132099af
torne@chromium.org [Wed, 22 May 2013 10:13:07 +0000 (10:13 +0000)]
Android backend: use 'match' parameter in test harness.
We were using the wrong variable in the Android stub version of
run_built_executable. This doesn't affect any existing tests because
only mac-specific tests actually set this right now, but it may be
useful in future.
BUG=
R=thakis@chromium.org
Review URL: https://codereview.chromium.org/
15288009
git-svn-id: http://gyp.googlecode.com/svn/trunk@1634
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Mon, 20 May 2013 22:41:29 +0000 (22:41 +0000)]
ninja: Implement -Guse_deps=1 for Windows.
Let it use deps=msvc, but still use -t msvc to set up the environment.
BUG=chromium:232421
TBR=scottmg (already reviewed at https://codereview.chromium.org/
15337002/)
Review URL: https://codereview.chromium.org/
15464015
git-svn-id: http://gyp.googlecode.com/svn/trunk@1633
78cadc50-ecff-11dd-a971-
7dbc132099af
torne@chromium.org [Mon, 20 May 2013 12:23:28 +0000 (12:23 +0000)]
Android backend: fix multi-output rules.
Rules that generate multiple output files (like protoc) need the same
workaround as actions; the dependency between the output files must have
an empty command to force make to believe that the mtime may change.
Copy the workaround from WriteActions.
BUG=
R=benm@chromium.org
Review URL: https://codereview.chromium.org/
15300013
git-svn-id: http://gyp.googlecode.com/svn/trunk@1632
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Mon, 13 May 2013 18:33:58 +0000 (18:33 +0000)]
Change iOS test target to 4.2
Target iphonesimulator6 or 5 aren't on the bots.
Review URL: https://codereview.chromium.org/
14934006/
Patch from Justin Cohen <justincohen@google.com>!
git-svn-id: http://gyp.googlecode.com/svn/trunk@1631
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Thu, 9 May 2013 00:10:52 +0000 (00:10 +0000)]
Support iOS application bundle structure.
Ninja was defaulting to building the mac desktop bundle structure. Added a way
to build the iOS structure. This is triggered by a target having an
IPHONEOS_DEPLOYMENT_TARGET entry in their xcode_settings.
BUG=chromium:236517
Review URL: https://codereview.chromium.org/
14367052/
patch from Justin Cohen <justincohen@chromium.org>!
git-svn-id: http://gyp.googlecode.com/svn/trunk@1630
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Mon, 6 May 2013 18:30:54 +0000 (18:30 +0000)]
Don't use thin archives on OpenBSD
OpenBSD's binutils doesn't support thin archives. The make generator
backend already knows to avoid using alink_thin on OpenBSD, so make
the same change to the ninja generator now that ninja supports
OpenBSD.
BUG=
Review URL: https://codereview.chromium.org/
14913004/
Patch from mdempsky@google.com!
git-svn-id: http://gyp.googlecode.com/svn/trunk@1629
78cadc50-ecff-11dd-a971-
7dbc132099af
gspencer@chromium.org [Thu, 2 May 2013 17:28:29 +0000 (17:28 +0000)]
This adds the --config-dir option to specify an alternative to ~/.gyp
for finding include.gypi (and other configuration options).
The user may also set GYP_CONFIG_DIR. Tilde expansion will occur on
the given value.
This change was motivated by needing to have multiple environments
that want different defaults, such as the ChromeOS simple workflow,
which forks its own shell, but keeps env vars like $HOME. It had to
then share ~/.gyp with regular chrome builds, and we'd like to avoid
having to swap the include.gypi contents each time we build in a
different shell, or resetting $HOME to something else. With this CL,
we can just set GYP_CONFIG_DIR as part of the environment in that
shell, and keep separate include.gypi files without having to reset
$HOME.
The defaults do not change the behavior from what it was before.
I also alphabetized the options.
BUG=none
TEST=Ran new unit tests (and all gyp tests)
R=bradnelson@google.com
Review URL: https://codereview.chromium.org/
14660003
git-svn-id: http://gyp.googlecode.com/svn/trunk@1626
78cadc50-ecff-11dd-a971-
7dbc132099af
torne@chromium.org [Thu, 2 May 2013 09:15:57 +0000 (09:15 +0000)]
android: Simplify ldflags processing.
NormalizeLdFlags existed to filter out various linker arguments that
don't belong in the Android build system build, such as including
crtbegin/crtend explicitly in the link. Filtering out flags that happen
to refer to certain paths is mysterious and means you can't refer to
those paths even if you need to; we have instead fixed Chromium's gyp
files to not include these flags in the first place when they aren't
supposed to be there, and removed NormalizeLdFlags entirely.
Similarly, the logic to extract libraries to link from ldflags has been
removed; libraries are now all specified in the normal gyp way under the
"libraries" key.
BUG=
R=mkosiba@chromium.org, sbc@chromium.org
Review URL: https://codereview.chromium.org/
14773005
git-svn-id: http://gyp.googlecode.com/svn/trunk@1625
78cadc50-ecff-11dd-a971-
7dbc132099af
dmazzoni@chromium.org [Tue, 30 Apr 2013 21:26:28 +0000 (21:26 +0000)]
Only generate output for each configuration once. https://codereview.chromium.org/
14139030
git-svn-id: http://gyp.googlecode.com/svn/trunk@1624
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Tue, 30 Apr 2013 21:07:43 +0000 (21:07 +0000)]
Strip unsused keys from plist.
Remove keys with associated values that have not been replaced by
environment variables. This duplicates the functionality of the xcode
internal plist tool
BUG=236517
TEST=Added pattern match to test/mac/gyptest-app.py
Review URL: https://codereview.chromium.org/
14617002/
Patch from Justin Cohen <justincohen@google.com>!
git-svn-id: http://gyp.googlecode.com/svn/trunk@1623
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Tue, 30 Apr 2013 18:29:48 +0000 (18:29 +0000)]
Handle non binary bundles and environment variables in include paths.
BUG=chromium:236517
TEST=Added test to non-strs-flattened-to-env and postbuilds
Review URL: https://codereview.chromium.org/
14617004/
Patch from Justin Cohen <justincohen@google.com>!
git-svn-id: http://gyp.googlecode.com/svn/trunk@1622
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Mon, 29 Apr 2013 20:08:18 +0000 (20:08 +0000)]
don't run external_builder test on < VS2010
msvs_external_builder is MSBuild-specific and so fails on 2008. Fixes currently red win32/64 bots at http://build.chromium.org/f/client/gyp/.
R=bradnelson@google.com, sbaig1@bloomberg.net
Review URL: https://codereview.chromium.org/
14198016
git-svn-id: http://gyp.googlecode.com/svn/trunk@1621
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Thu, 25 Apr 2013 00:17:21 +0000 (00:17 +0000)]
ninja windows: keep cc as something valid for c99conv
Keep "cc = cl.exe" around because c99conv uses it to try to find what it
should use to preprocess. It should probably be passed this somehow else
instead.
R=thakis@chromium.org
BUG=233985
Review URL: https://codereview.chromium.org/
14145005
git-svn-id: http://gyp.googlecode.com/svn/trunk@1620
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Wed, 24 Apr 2013 19:19:38 +0000 (19:19 +0000)]
Add forgotten tests from r1618.
git-svn-id: http://gyp.googlecode.com/svn/trunk@1619
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Wed, 24 Apr 2013 19:18:31 +0000 (19:18 +0000)]
Integrate ninja build with Visual Studio
This change allows plugging in external builders to the
msvs projects. This is activated by defining the
following flags in target_defaults:
* msvs_external_builder
* msvs_external_builder_out_dir
* msvs_external_builder_build_cmd
* msvs_external_builder_clean_cmd
When msvs_external_builder is defined for a gyp target, the
following changes are made to the generated msvs project:
* The project will use the provided msvs_external_builder_build_cmd
to build the project, and also use the provided
msvs_external_builder_clean_cmd to clean the project.
* No dependencies between projects will be created. This is because we
want to use ninja's dependency build instead.
* The build output directory will be msvs_external_builder_out_dir
instead of 'src/build/$(Configuration)'.
* MSBuild rules and actions will not be generated. This is because we
want the external builder to perform these actions
instead.
This change has no effect if the 'msvs_external_builder' variable is
not used (or if it is an empty string).
Some caveats of these mode are:
* The 'Build/Clean Solution' commands in Visual Studio cannot be used,
because this will invoke a separate external builder instance
for each project in the solution.
* Hitting F5 in Visual Studio always prompts to build, claiming that
the build target is out of date, even if it was just built.
Test: Define the following variables in target_defaults:
'msvs_external_builder': 'ninja',
'msvs_external_builder_out_dir': '<(DEPTH)/out/$(Configuration)',
'msvs_external_builder_build_cmd': [
'ninja.exe',
'-C',
'$(OutDir)',
'$(ProjectName)',
],
'msvs_external_builder_clean_cmd': [
'ninja.exe',
'-C',
'$(OutDir)',
'-t',
'clean',
'$(ProjectName)',
],
Alternatively, export "GYP_GENERATORS=msvs-ninja". This
will automatically setup msvs to build with ninja.
Then run "gclient runhooks" to generate your projects. Open
the generated solution. Right-click on any project and click
the 'Build' menu item. The output window will show the ninja
build in progress.
Patch by sbaig1@bloomberg.net
R=dpranke@chromium.org, scottmg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
13867004
git-svn-id: http://gyp.googlecode.com/svn/trunk@1618
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Thu, 18 Apr 2013 03:30:23 +0000 (03:30 +0000)]
Review fix for https://codereview.chromium.org/
13864005/, 4 -> len(str)
git-svn-id: http://gyp.googlecode.com/svn/trunk@1617
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Thu, 18 Apr 2013 03:21:52 +0000 (03:21 +0000)]
Handle ninja_use_custom_environment_files case in GenerateEnvironmentFiles.
(More fallout from r1612)
TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/
13864006
git-svn-id: http://gyp.googlecode.com/svn/trunk@1616
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Thu, 18 Apr 2013 03:10:52 +0000 (03:10 +0000)]
Yet another attempt at fixing Windows bot after r1612
TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/
13864005
git-svn-id: http://gyp.googlecode.com/svn/trunk@1615
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Thu, 18 Apr 2013 00:09:30 +0000 (00:09 +0000)]
Fix build break caused by r1612
- Don't generate windows environment files on non-Windows
- Don't use `where` to locate cl.exe -- apparently some bots
are XP?
TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/
13870021
git-svn-id: http://gyp.googlecode.com/svn/trunk@1614
78cadc50-ecff-11dd-a971-
7dbc132099af
bradnelson@google.com [Wed, 17 Apr 2013 18:21:30 +0000 (18:21 +0000)]
Dropping the scons generator.
The scons generator has not been used for some time and is known to no longer
be at parity with the other generators.
Dropping it to reduce the ongoing maintenance burden.
BUG=None
TEST=None
R=mark@chromium.org
Review URL: https://codereview.chromium.org/
13869005
git-svn-id: http://gyp.googlecode.com/svn/trunk@1613
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Wed, 17 Apr 2013 18:13:47 +0000 (18:13 +0000)]
ninja windows: Fully qualify path to cl.exe
Part of upgrading to ninja trunk with more efficient dependency
tracking.
Does path search for correct cl.exe at generation time rather than
relying on the path being set properly.
Supports CC_wrapper/CXX_wrapper for goma/distcc. *_wrapper variables
are now supported from the environment on all platforms.
R=thakis@chromium.org
BUG=chromium:232421
Review URL: https://codereview.chromium.org/
13950005
git-svn-id: http://gyp.googlecode.com/svn/trunk@1612
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Fri, 12 Apr 2013 23:27:28 +0000 (23:27 +0000)]
xcode_emulation: Do not redirect stderr when calling xcodebuild.
For someone, `xcodebuild -version -sdk macosx10.6 Path` would print
2013-04-12 17:18:59.803 xcodebuild[39147:f07] Error loading /Users/alexisme/Library/Developer/Xcode/Third-Party Plug-ins/CodePilot2.xcplugin/Contents/MacOS/CodePilot2: dlopen(/Users/alexisme/Library/Developer/Xcode/Third-Party Plug-ins/CodePilot2.xcplugin/Contents/MacOS/CodePilot2, 265): Symbol not found: _IDEEditorDocumentDidChangeNotification
Referenced from: /Users/alexisme/Library/Developer/Xcode/Third-Party Plug-ins/CodePilot2.xcplugin/Contents/MacOS/CodePilot2
Expected in: flat namespace
in /Users/alexisme/Library/Developer/Xcode/Third-Party Plug-ins/CodePilot2.xcplugin/Contents/MacOS/CodePilot2
2013-04-12 17:18:59.804 xcodebuild[39147:f07] WARNING: Failed to load plugin at: /Users/alexisme/Library/Developer/Xcode/Third-Party Plug-ins/CodePilot2.xcplugin, skipping. Could not load bundle.
to stderr. This was captured too and got added to the sdk path, which caused
a hard-to-understand exception later one. There's no reason to redirect
stderr, just let it print to the console instead.
Review URL: https://codereview.chromium.org/
14163004
git-svn-id: http://gyp.googlecode.com/svn/trunk@1611
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Fri, 12 Apr 2013 22:56:52 +0000 (22:56 +0000)]
ninja: Add an opt-in option for the new deps feature.
This is supposed to be used for letting a couple of folks opt in to this new
feature (which requires a ninja trunk build), to help stabilize deps mode in
ninja. Once there's a stable ninja release with the feature (and ninja in
depot_tools was updated), this will be turned on by default.
Use this by passing -Guse_deps=1 to ninja (or adding use_deps=1 to the
GYP_GENERATOR_FLAGS env var). It's off by default.
deps mode on windows needs more work, so this opt-in is linux/mac only for
now.
Review URL: https://codereview.chromium.org/
14180006
git-svn-id: http://gyp.googlecode.com/svn/trunk@1610
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Fri, 12 Apr 2013 21:36:58 +0000 (21:36 +0000)]
Update ninja_syntax.py from upstream.
This is ninja_syntax.py as of ninja commit
368f5bc64ddd2dcea2662d6c932157314be3e09b . It's newer than the latest
ninja release because I want to provide an opt-in flag for the "deps"
feature, which isn't in a ninja release yet.
TBR=scottmg
Review URL: https://codereview.chromium.org/
13915013
git-svn-id: http://gyp.googlecode.com/svn/trunk@1609
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Thu, 11 Apr 2013 22:15:19 +0000 (22:15 +0000)]
Human readable error if the gyp file isn't a dictionary
Add a human-readable error if a gyp file doesn't evaluate to a
dictionary. I lost about 30 minutes of my life today because I had
a spurious comma at the end of my file. This caused the gyp file
to eval to a tuple.
This error check is better than passing --check to gyp because
a) the error output from --check is pretty cryptic, and b) If the
gyp file had happened to eval to a list or a constant, CheckedEval
wouldn't catch it.
BUG=
Review URL: https://codereview.chromium.org/
14195004/
Patch from Greg Humpreys <humper@google.com>!
git-svn-id: http://gyp.googlecode.com/svn/trunk@1608
78cadc50-ecff-11dd-a971-
7dbc132099af
yfriedman@chromium.org [Thu, 11 Apr 2013 18:28:51 +0000 (18:28 +0000)]
Fix rpath for components when cross-compiling.
This came up while bringing up the components build for Android. Trying
to run v8_shell failed: out/Debug/v8_shell: error while loading shared
libraries: libv8.cr.so: cannot open shared object file: No such file or
directory
readelf -d out/Debug/v8_shell
shows the problem:
0x0000000f (RPATH) Library rpath: [$ORIGIN/lib/]
For cross-compiles, host shared libraries are placed in /lib/host
BUG=chromium:158821
Review URL: https://codereview.chromium.org/
13992005
git-svn-id: http://gyp.googlecode.com/svn/trunk@1607
78cadc50-ecff-11dd-a971-
7dbc132099af
mark@chromium.org [Tue, 9 Apr 2013 19:11:48 +0000 (19:11 +0000)]
ninja/make (Xcode emulation): permit SDKROOT to be an absolute path (again)
This broke in r1595. The old logic was to compute a path for anything that
began with "macosx". The broken logic computed a path for everything. The new
logic computes a path unless it begins with "/".
Review URL: https://codereview.chromium.org/
13866019
git-svn-id: http://gyp.googlecode.com/svn/trunk@1606
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Thu, 28 Mar 2013 19:56:08 +0000 (19:56 +0000)]
Speculative fix for spurious xcode test failures on the bots.
Filter out "No recorder, buildTask: <Xcode3BuildTask:" lines from stderr
when using Xcode. They seem to be harmless noise.
Change the one custom match() function to use the string/list pattern used
in TestCmd (e.g. match_exact()) to make this reliably work.
BUG=chromium:181012
Review URL: https://codereview.chromium.org/
13207004
git-svn-id: http://gyp.googlecode.com/svn/trunk@1605
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Thu, 28 Mar 2013 17:20:47 +0000 (17:20 +0000)]
make: Add rpath when linking shared objects with a non-standard suffix
The make generator does not keep track of which targets are shared
objects and instead relies on a target name ending with ".so". It is
not uncommon for shared objects to be named like shared_object.so.0.1.
Changes are unnecessary for the ninja generator, since it keeps track
of the actual dependency type.
BUG=gyp:329
Review URL: https://codereview.chromium.org/
13133002/
Patch from Martin Robinson <martin.james.robinson@gmail.com>!
git-svn-id: http://gyp.googlecode.com/svn/trunk@1604
78cadc50-ecff-11dd-a971-
7dbc132099af
chrisha@chromium.org [Wed, 27 Mar 2013 14:49:00 +0000 (14:49 +0000)]
Fixes to msvs_large_pdb functionality to make it work with ninja.
The target_list has to be in topological order (any dependencies come before those targets that depend on them), otherwise the dependencies will not be appropriately written by the ninja generator. The unittests hid this fact because running a 'build all' just happened to cause the shim targets to be built (preparing the PDB file) prior to the final target.
This CL also includes better configuration options for the msvs_large_pdb mechanism, making it work more seamlessly (reduces the impact to Chrome's GYP files).
BUG=
Review URL: https://codereview.chromium.org/
12843049
git-svn-id: http://gyp.googlecode.com/svn/trunk@1603
78cadc50-ecff-11dd-a971-
7dbc132099af
viettrungluu@chromium.org [Mon, 25 Mar 2013 16:20:35 +0000 (16:20 +0000)]
Make pymod_do_main work when no path is given to the .gyp file.
Review URL: https://codereview.chromium.org/
12973005
git-svn-id: http://gyp.googlecode.com/svn/trunk@1602
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Thu, 21 Mar 2013 22:44:13 +0000 (22:44 +0000)]
Use flock on OpenBSD.
This undoes the change made in https://codereview.chromium.org/
12389082 .
I have tested this on actual OpenBSD 5.2 system, and this is also
what OpenBSD www/chromium port uses.
BUG=none
Review URL: https://codereview.chromium.org/
12719010/
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>!
git-svn-id: http://gyp.googlecode.com/svn/trunk@1601
78cadc50-ecff-11dd-a971-
7dbc132099af
chrisha@chromium.org [Mon, 18 Mar 2013 19:32:05 +0000 (19:32 +0000)]
Create msvs_large_pdb workaround.
This creates a workaround for targets whose PDB sizes exceeds 1GB, using the same trick originally implemented here:
https://codereview.chromium.org/
11968015/
There are currently 4 targets using this, and another 4 targets that need to use it hence the desire to centralize this functionality.
BUG=174136
Review URL: https://codereview.chromium.org/
12476002
git-svn-id: http://gyp.googlecode.com/svn/trunk@1600
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Mon, 18 Mar 2013 16:34:51 +0000 (16:34 +0000)]
mac: Try to get tests green on xcode as well.
Two tests currently fail with
error: can't exec '/Developer/Library/Xcode/PrivatePlugIns/Xcode3Core.ideplugin/Contents/Frameworks/DevToolsCore.framework/Resources/clang' (No such file or directory)
TBR=mark
Review URL: https://codereview.chromium.org/
12886015/
git-svn-id: http://gyp.googlecode.com/svn/trunk@1599
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Mon, 18 Mar 2013 15:38:36 +0000 (15:38 +0000)]
mac: More flailing trying to get tests green on the bot.
TBR=mark
Review URL: https://codereview.chromium.org/
12916006
git-svn-id: http://gyp.googlecode.com/svn/trunk@1598
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Sat, 16 Mar 2013 00:19:45 +0000 (00:19 +0000)]
mac: Try to get test/mac/gyptest-sdkroot.py to pass on both bots and dev boxes.
Fallout from r1594.
TBR=mark
Review URL: https://codereview.chromium.org/
12901002
git-svn-id: http://gyp.googlecode.com/svn/trunk@1597
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Fri, 15 Mar 2013 23:59:04 +0000 (23:59 +0000)]
mac: Try to get the two new clang-specific tests pass on the gyp bot (Xcode 4.2)
Not sure if 4.2 can target 10.7, so maybe it won't work.
TBR=mark
Review URL: https://codereview.chromium.org/
12869006
git-svn-id: http://gyp.googlecode.com/svn/trunk@1596
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Thu, 14 Mar 2013 20:50:19 +0000 (20:50 +0000)]
improve xcode_emulation.py
+ Improved SDK path lookup: now also supports iPhoneOS and iPhoneSimulator SDKs
+ Adds support for options CLANG_CXX_LANGUAGE_STANDARD, CLANG_CXX_LIBRARY,
CLANG_WARN_CONSTANT_CONVERSION
+ Adds support for IPHONEOS_DEPLOYMENT_TARGET (iphoneos and iphonesimulator)
BUG=none
Review URL: https://codereview.chromium.org/
12725005/
Path from Kal Conley <kcconley@gmail.com>!
git-svn-id: http://gyp.googlecode.com/svn/trunk@1595
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Thu, 14 Mar 2013 20:21:59 +0000 (20:21 +0000)]
mac: Fix gyp tests to pass with Xcode 4.6
Changes:
* cc is now clang, not gcc
* move sdk to 10.7
* make an error message slightly less specific
Review URL: https://codereview.chromium.org/
12705005
git-svn-id: http://gyp.googlecode.com/svn/trunk@1594
78cadc50-ecff-11dd-a971-
7dbc132099af
tony@chromium.org [Tue, 12 Mar 2013 18:59:52 +0000 (18:59 +0000)]
emacs gyp-mode: Fix very slow string tokenization problem.
Gyp-mode uses forward-sexp which can be very slow on Emacs 24.3.50.1,
making it appear that Emacs has crashed in certain situations. Use scan-sexps
directly, instead.
Also, in recent Emacs versions, the comment delimiter is separately
fontified with font-lock-comment-delimiter-face. Adjust the test
code to ignore the differences between this and
font-lock-comment-face.
Based on patch by John Knottenbelt <jknotten@chromium.org>
TEST=run-unit-tests.sh
Review URL: https://codereview.chromium.org/
12732006
git-svn-id: http://gyp.googlecode.com/svn/trunk@1593
78cadc50-ecff-11dd-a971-
7dbc132099af
jochen@chromium.org [Mon, 11 Mar 2013 22:08:21 +0000 (22:08 +0000)]
Make gyp work on OpenBSD.
BUG=none
Patch by Pawel Hajdan <phajdan.jr@chromium.org>
Review URL: https://codereview.chromium.org/
11768002
git-svn-id: http://gyp.googlecode.com/svn/trunk@1592
78cadc50-ecff-11dd-a971-
7dbc132099af
ukai@chromium.org [Wed, 6 Mar 2013 02:44:18 +0000 (02:44 +0000)]
Command wrapper support for cc_host and cxx_host in ninja
R=thakis@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12423002
git-svn-id: http://gyp.googlecode.com/svn/trunk@1591
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Mon, 4 Mar 2013 19:39:26 +0000 (19:39 +0000)]
make generator: make gyp recognize OpenBSD
BUG=311
Review URL: https://codereview.chromium.org/
12389082/
Patch from Aaron Bieber <deftly@gmail.com>!
git-svn-id: http://gyp.googlecode.com/svn/trunk@1590
78cadc50-ecff-11dd-a971-
7dbc132099af
mark@chromium.org [Wed, 27 Feb 2013 14:15:28 +0000 (14:15 +0000)]
Allow GYP targets to depend on themselves if they have the
'prune_self_dependencies' set to 1.
See https://codereview.chromium.org/
11642018/ for more context.
BUG=chromium:170629
Patch by Alexander Potapenko <glider@chromium.org>
Review URL: https://codereview.appspot.com/7370046/
git-svn-id: http://gyp.googlecode.com/svn/trunk@1589
78cadc50-ecff-11dd-a971-
7dbc132099af
ukai@chromium.org [Tue, 26 Feb 2013 02:59:54 +0000 (02:59 +0000)]
Support command wrapper in make_global_settings
If $cmd_wrapper is defined in make_global_settings, it will be
prepend to $cmd. For example,
'make_global_settings': [
['CC_wrapper', '/usr/bin/distcc'],
['CC', '/usr/bin/gcc'],
]
then
CC ?= /usr/bin/distcc /usr/bin/gcc # Makefile
or
cc = /usr/bin/distcc /usr/bin/gcc # build.ninja
LINK_wrapper is pre defined as 'flock $(builddir)/linker.lock'
BUG=chromium:173686
R=thakis@chromium.org
Review URL: https://codereview.chromium.org/
12300015
git-svn-id: http://gyp.googlecode.com/svn/trunk@1586
78cadc50-ecff-11dd-a971-
7dbc132099af
siggi@chromium.org [Mon, 25 Feb 2013 22:29:21 +0000 (22:29 +0000)]
Remove default import library inheritance/configuration.
BUG=176040
Review URL: https://codereview.chromium.org/
12256017
git-svn-id: http://gyp.googlecode.com/svn/trunk@1584
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Mon, 25 Feb 2013 09:48:54 +0000 (09:48 +0000)]
Improve performance of gyp hot functions
Improve performance of several hot functions identified through
profiling.
__init__::DebugOutput
is_hashable
FindEnclosingBracketGroup
IsPathSection
IsStrCanonicalInt
Without GYP_PARALLEL these improve gyp_chromium on my Z600 by
roughly 4s, from 39.5s -> 35.7s.
With GYP_PARALLEL gains are more modest: ~1s.
BUG=chromium:82230
Review URL: https://codereview.chromium.org/
12330095/
Patch from Isaac Levy <ilevy@chromium.org>!
git-svn-id: http://gyp.googlecode.com/svn/trunk@1583
78cadc50-ecff-11dd-a971-
7dbc132099af
bradnelson@google.com [Thu, 21 Feb 2013 23:36:49 +0000 (23:36 +0000)]
Turning back on gold as it should now be on the bots.
BUG=http://code.google.com/p/chromium/issues/detail?id=108251
TEST=None
R=bungeman@google.com
Review URL: https://codereview.chromium.org/
12328042
git-svn-id: http://gyp.googlecode.com/svn/trunk@1581
78cadc50-ecff-11dd-a971-
7dbc132099af
thestig@chromium.org [Thu, 21 Feb 2013 22:40:04 +0000 (22:40 +0000)]
ninja: Pass -rpath-link when passing -rpath.
Gold works fine without -rpath-link, but GNU ld needs it. The make generator already does this.
To quote the previous make generator CL:
"it appears that ld.bfd is not $ORIGIN-aware and needs additional information to figure out where to find shared libraries that shared libraries depend on"
Review URL: https://codereview.chromium.org/
12335018
git-svn-id: http://gyp.googlecode.com/svn/trunk@1580
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Thu, 21 Feb 2013 20:09:46 +0000 (20:09 +0000)]
Set the correct architecture for the MIDL compiler
Patch from jschuh@chromium.org
git-svn-id: http://gyp.googlecode.com/svn/trunk@1577
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Wed, 13 Feb 2013 22:26:48 +0000 (22:26 +0000)]
make, ninja: Let a failing postbuild stop all later postbuilds for the same target.
Previously, all postbuilds would always be run. The old behavior matches Xcode 3,
the new behavior matches Xcode 4.
BUG=chromium:175867
Review URL: https://codereview.chromium.org/
12230023
git-svn-id: http://gyp.googlecode.com/svn/trunk@1576
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Wed, 13 Feb 2013 19:15:24 +0000 (19:15 +0000)]
Detect all ninja's include dirs in Eclipse generator.
The Eclipse generator assumed that SHARED_INTERMEDIATE_DIR was at
out/ConfigName/obj/gen, which is true when using make. When using
ninja, it's at out/ConfigName/gen. The Eclipse generator now lists
include dirs in both locations, so it will work with either build
systems.
BUG=chromium:176031
TEST=Set up eclipse, import the include dirs and symbols generated by
this generator, index everything, check that there aren't too many
indexer errors.
Patch from Newton Allan <newt@chromium.org>!
Review URL: https://codereview.chromium.org/
12220141/
git-svn-id: http://gyp.googlecode.com/svn/trunk@1575
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Wed, 13 Feb 2013 19:12:31 +0000 (19:12 +0000)]
xcode: Add support for storyboard files
Patch from Amit Joshi <amit@chromium.org>!
Review URL: https://codereview.chromium.org/
12213116/
git-svn-id: http://gyp.googlecode.com/svn/trunk@1574
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Wed, 13 Feb 2013 18:51:16 +0000 (18:51 +0000)]
Fix test/mac/gyptest-app.py with Xcode 4.2.
Xcode 4.2 got stricter about strings files. Make make and ninja stricter too.
BUG=chromium:175867
Review URL: https://codereview.chromium.org/
12231007
git-svn-id: http://gyp.googlecode.com/svn/trunk@1573
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Wed, 13 Feb 2013 17:23:58 +0000 (17:23 +0000)]
xcode tests: Update exit codes for Xcode 4.
Fixes gyptest-ldflags-passed-to-libtool.py. Change other tests checking
the exit code for consistency.
BUG=chromium:175867
Review URL: https://codereview.chromium.org/
12221160/
git-svn-id: http://gyp.googlecode.com/svn/trunk@1572
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Wed, 13 Feb 2013 17:21:51 +0000 (17:21 +0000)]
xcodebuild: Fix most rebuild tests on Xcode 4.
BUG=chromium:175867
Review URL: https://codereview.chromium.org/
12221156/
git-svn-id: http://gyp.googlecode.com/svn/trunk@1571
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Tue, 12 Feb 2013 23:46:26 +0000 (23:46 +0000)]
mac strip test: Update expectations for Xcode 4 toolchain.
The bots switched to Xcode 4.2 recently. Like a comment in the
test says:
# The actual numbers here are not interesting, they just need to be the same
# in both the xcode and the make build.
Review URL: https://codereview.chromium.org/
12212154
git-svn-id: http://gyp.googlecode.com/svn/trunk@1570
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Wed, 6 Feb 2013 01:01:32 +0000 (01:01 +0000)]
windows: test for msvs_shard and support in ninja
Main code moved from msvs.py to MSVSUtil.py (named to correspond with the rest of the MSVS helper files), and then also used in the ninja generator.
Functionality was not tested before afaict, so added a simple test that uses msvs_shard in the same way Chromium uses it (on a static_library target).
BUG=chromium:166201
Review URL: https://codereview.chromium.org/
12208026
git-svn-id: http://gyp.googlecode.com/svn/trunk@1569
78cadc50-ecff-11dd-a971-
7dbc132099af
alexeypa@chromium.org [Mon, 4 Feb 2013 22:07:59 +0000 (22:07 +0000)]
Reverting accidental change to test/lib/TestGyp.py
git-svn-id: http://gyp.googlecode.com/svn/trunk@1568
78cadc50-ecff-11dd-a971-
7dbc132099af
alexeypa@chromium.org [Mon, 4 Feb 2013 22:00:53 +0000 (22:00 +0000)]
Speculative fix for mt.exe general error
c101008a (The parameter is incorrect).
The fix makes sure that the target manifest file is deleted before running mt.exe.
BUG=173052
Review URL: https://codereview.chromium.org/
12192023
git-svn-id: http://gyp.googlecode.com/svn/trunk@1567
78cadc50-ecff-11dd-a971-
7dbc132099af
mark@chromium.org [Sun, 3 Feb 2013 16:48:10 +0000 (16:48 +0000)]
Xcode: Coalesce multiple "copies" sections in the same target with the same
"destination" property into the same PBXCopyFilesBuildPhase.
TEST=gyptest.py test/copies/gyptest-samedir.py
Review URL: https://codereview.chromium.org/
12088112
git-svn-id: http://gyp.googlecode.com/svn/trunk@1566
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Thu, 24 Jan 2013 23:58:05 +0000 (23:58 +0000)]
ninja windows: Make pch work on VS2012, and simplify implementation
Previously, the chromium .gypi files injected a .cc file for PCH, which compiled "normally", and then the generator compiled it again (to a different .obj). Now, the build rule for the injected .cc has its ccflags modified to cause generation of the pch, which matches the msvs generator. Also get to remove the ugly separate 'cc_pch'/'cxx_pch' rules.
I believe this will also fix some very unreproducible build errors we were having (the linked bug) because the dependencies for the pch pdb is much simpler.
BUG=142362, 143646
Review URL: https://codereview.chromium.org/
12052029
git-svn-id: http://gyp.googlecode.com/svn/trunk@1565
78cadc50-ecff-11dd-a971-
7dbc132099af
torne@chromium.org [Fri, 18 Jan 2013 21:58:36 +0000 (21:58 +0000)]
android: Filter host tools out of PATH.
When running actions/rules we need to filter the Android host tools out
of the PATH because they include some tools that are not suitable for
being executed outside of the normal Android build rules (like a custom
version of bison).
Review URL: https://codereview.chromium.org/
12016019
git-svn-id: http://gyp.googlecode.com/svn/trunk@1564
78cadc50-ecff-11dd-a971-
7dbc132099af
torne@chromium.org [Thu, 17 Jan 2013 23:23:04 +0000 (23:23 +0000)]
Android: use relative paths for action/rule/copy names.
qualified_target is an absolute path; create a relative version for use
when generating names of actions/rules/copies. This avoids including
the absolute path of the source tree in the makefiles, making
regeneration cleaner.
Review URL: https://codereview.chromium.org/
11967045
git-svn-id: http://gyp.googlecode.com/svn/trunk@1563
78cadc50-ecff-11dd-a971-
7dbc132099af
mark@chromium.org [Wed, 16 Jan 2013 20:12:08 +0000 (20:12 +0000)]
Update GYP PRESUBMIT.py to adhere to the new copyright boilerplace policy.
BUG=chromium:140977
Review URL: https://codereview.chromium.org/
11967026
git-svn-id: http://gyp.googlecode.com/svn/trunk@1562
78cadc50-ecff-11dd-a971-
7dbc132099af
torne@chromium.org [Wed, 16 Jan 2013 19:59:37 +0000 (19:59 +0000)]
Add android test runner to buildbot_run.
Add a build step that can check out and build an Android tree suitable
for running the 'android' format gyp tests, and run this when the builder
is gyp-android.
BUG=165463
Review URL: https://codereview.chromium.org/
11919005
git-svn-id: http://gyp.googlecode.com/svn/trunk@1561
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Tue, 15 Jan 2013 22:52:14 +0000 (22:52 +0000)]
windows: Add support for overriding pdb name for compile step
And test for same for both msvs and ninja generator.
Part of solving http://crbug.com/170186
Review URL: https://codereview.chromium.org/
11937003
git-svn-id: http://gyp.googlecode.com/svn/trunk@1560
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Fri, 11 Jan 2013 21:37:04 +0000 (21:37 +0000)]
Change ninja rpath generation to be more like make.
Currently, the ninja generator adds -Wl,rpath in every executable for
linux targets, while the make generator includes it only for those
with .so dependencies. This patch changes the ninja generator to
behave like make.
Added a linux-specific unit test to verify the value and absence of
the rpath for executables with and without solib dependencies.
BUG=gyp:315
TEST=On linux: unit tests pass (45 no result), full
Chrome build no longer has rpath on chrome_sandbox.
Review URL: https://codereview.chromium.org/
11821060/
Patch from Chris Wolfe <cwolfe@chromium.org>!
git-svn-id: http://gyp.googlecode.com/svn/trunk@1559
78cadc50-ecff-11dd-a971-
7dbc132099af
Yukawa@chromium.org [Wed, 9 Jan 2013 05:07:55 +0000 (05:07 +0000)]
Create intermediate PDB files in sub directories.
This patch does not fix any problem actually but makes the build results
cleaner. With this patch, only final PDB files such as Chrome.exe.pdb will be
created in out/Debug or out/Release. All other intermediate PDB files for static libraries will be
created under out/Debug/obj or out/Release/obj alongside other object files.
Review URL: https://codereview.chromium.org/
11697006
git-svn-id: http://gyp.googlecode.com/svn/trunk@1558
78cadc50-ecff-11dd-a971-
7dbc132099af
dmazzoni@chromium.org [Mon, 7 Jan 2013 18:38:22 +0000 (18:38 +0000)]
Fix typo in error message: PARELLEL -> PARALLEL
git-svn-id: http://gyp.googlecode.com/svn/trunk@1557
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Wed, 2 Jan 2013 17:53:06 +0000 (17:53 +0000)]
Support overriding path to VS without referring to the registry.
Add GYP_MSVS_OVERRIDE_PATH to point directly to a compiler installation.
Previously, the registry was always used to determine install paths for
compilers, but this allows pointing at a toolchain without requiring
any global state changes.
Review URL: https://codereview.chromium.org/
11637025
git-svn-id: http://gyp.googlecode.com/svn/trunk@1556
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Wed, 26 Dec 2012 16:49:26 +0000 (16:49 +0000)]
Teach ninja to handle output directories outside the source dir.
Currently, ninja only works when the output directory is a subdirectory
of the source dir. This patch fixes ninja to calculate the path to the output
directory correctly even when it is in a different location.
To test this bug fix, I've added a new test for symlinks.
I've also re-enabled six tests for --generator-output, which pass with gyp
r1509 and this change.
BUG=gyp:314
TEST=Run all unit tests. Test full builds of Chrome using ninja and make
on several platforms.
Review URL: https://codereview.chromium.org/
11659002/
Patch from David James <davidjames@chromium.org>
git-svn-id: http://gyp.googlecode.com/svn/trunk@1555
78cadc50-ecff-11dd-a971-
7dbc132099af
Yukawa@chromium.org [Tue, 25 Dec 2012 07:49:33 +0000 (07:49 +0000)]
Add /LARGEADDRESSAWARE support for Ninja on Windows.
Review URL: https://codereview.chromium.org/
11666025
git-svn-id: http://gyp.googlecode.com/svn/trunk@1554
78cadc50-ecff-11dd-a971-
7dbc132099af
Yukawa@chromium.org [Mon, 24 Dec 2012 13:01:33 +0000 (13:01 +0000)]
I found that msvs_settings/VCLibrarianTool/LinkTimeCodeGeneration is not supported by Ninja. As a result, you will see a warning message: "foo.obj : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance" when you build a static_library target with /GL option.
There were two issues:
1) GetLibFlags method did not recognize LinkTimeCodeGeneration, and 2) 'libflags' was not correctly bound to 'alink' in ninja.py. ('libflags' itself was emmited but it was too late to be used by 'alink')
This patch set fixes these issues.
Review URL: https://codereview.chromium.org/
11640039
git-svn-id: http://gyp.googlecode.com/svn/trunk@1553
78cadc50-ecff-11dd-a971-
7dbc132099af
Yukawa@chromium.org [Mon, 24 Dec 2012 12:10:51 +0000 (12:10 +0000)]
Add 'EnableIntrinsicFunctions' (/Oi) support into MSVS Emulator for Ninja.
Review URL: https://codereview.chromium.org/
11624004
git-svn-id: http://gyp.googlecode.com/svn/trunk@1552
78cadc50-ecff-11dd-a971-
7dbc132099af
Yukawa@chromium.org [Mon, 24 Dec 2012 12:08:42 +0000 (12:08 +0000)]
Add 'TerminalServerAware' (/TSAWARE) support into MSVS Emulator for Ninja.
Review URL: https://codereview.chromium.org/
11573051
git-svn-id: http://gyp.googlecode.com/svn/trunk@1551
78cadc50-ecff-11dd-a971-
7dbc132099af
dmazzoni@chromium.org [Fri, 21 Dec 2012 22:45:07 +0000 (22:45 +0000)]
Ensure GYP_PARALLEL prints error messages. Errors sent to stdout were being swallowed by gclient runhooks; moved them to stderr. Also added an informational message when there's an error, and made it so that GYP_PARALLEL=0 disables parallel processing. Review URL: https://codereview.appspot.com/7000046/
git-svn-id: http://gyp.googlecode.com/svn/trunk@1550
78cadc50-ecff-11dd-a971-
7dbc132099af
Yukawa@chromium.org [Mon, 17 Dec 2012 06:04:04 +0000 (06:04 +0000)]
Define replacement rules for $(VSInstallDir) and $(VCInstallDir)
when and only when Visual Studio is actually installed.
This is because these locations may not be valid when we are using
custom build tool chains under hermitic build environment.
Without this condition, os.path.join(self.vs_version.Path(),'VC')
fails as an invalid operation.
Review URL: https://codereview.chromium.org/
11570021
git-svn-id: http://gyp.googlecode.com/svn/trunk@1549
78cadc50-ecff-11dd-a971-
7dbc132099af
torne@chromium.org [Wed, 12 Dec 2012 16:24:59 +0000 (16:24 +0000)]
Fix/disable various tests for the Android backend.
The Android backend doesn't support some of the features being tested;
disalbe the tests to fix things. Also, the Android build system
has -Werror always enabled and lots of warnings enabled by default, so
fix warnings in trivial C programs used in tests.
BUG=gyp:275
Review URL: https://codereview.chromium.org/
11498009
git-svn-id: http://gyp.googlecode.com/svn/trunk@1548
78cadc50-ecff-11dd-a971-
7dbc132099af
torne@chromium.org [Tue, 11 Dec 2012 11:05:55 +0000 (11:05 +0000)]
Android backend: implement PerformBuild and fix configurations.
Implement the PerformBuild function for the Android backend, and make
CONFIGURATION_NAME expand to the correct thing. It only supports the
default configuration so expand to that always.
Also, fix a comment in the test code which said the exact opposite of
what it meant.
BUG=gyp:275
Review URL: https://codereview.chromium.org/
11499008
git-svn-id: http://gyp.googlecode.com/svn/trunk@1547
78cadc50-ecff-11dd-a971-
7dbc132099af
sbc@chromium.org [Mon, 10 Dec 2012 18:49:57 +0000 (18:49 +0000)]
Make generator now stores all toolchain overrides in
generated files.
For ninja, and in most cases in make, the CXX,CC,LD
settings sepecified at gyp time get baked into the
generated build files. However there was one case
here the CXX was needed at build time too. This fixes
that case and add a test to verify it.
BUG=
Review URL: https://codereview.chromium.org/
11478010
git-svn-id: http://gyp.googlecode.com/svn/trunk@1546
78cadc50-ecff-11dd-a971-
7dbc132099af
torne@chromium.org [Mon, 10 Dec 2012 11:20:44 +0000 (11:20 +0000)]
Disable regyp in the Android backend.
It doesn't actually work in many situations (makefiles get regenerated
in the wrong place) and it isn't used by the Chromium WebView which is
the only user of this build backend. This "fixes" several failing
tests.
BUG=gyp:282
Review URL: https://codereview.chromium.org/
11465022
git-svn-id: http://gyp.googlecode.com/svn/trunk@1545
78cadc50-ecff-11dd-a971-
7dbc132099af
Yukawa@chromium.org [Sun, 9 Dec 2012 04:46:20 +0000 (04:46 +0000)]
Add TreatWChar_tAsBuiltInType option support for Ninja.
This change set also removes an unused directory, /trunk/test/ninja/force-include-files-win/, which should have removed in r1540, even though the code review tool does not show it probably because of its limitations.
Review URL: https://codereview.chromium.org/
11299336
git-svn-id: http://gyp.googlecode.com/svn/trunk@1544
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Thu, 6 Dec 2012 21:16:39 +0000 (21:16 +0000)]
Add support for AIX in GetFlavor().
BUG=gyp:298
Patch from Andrew Paprocki <andrew@ishiboo.com>
Review URL: https://codereview.chromium.org/
11138009/
git-svn-id: http://gyp.googlecode.com/svn/trunk@1543
78cadc50-ecff-11dd-a971-
7dbc132099af
sbc@chromium.org [Tue, 4 Dec 2012 23:26:16 +0000 (23:26 +0000)]
Complete migration to GypError for user-visible errors.
This is a follow-up to r1496 which removes the
remaining uses or python exceptions for user
generated/visible errors. The intention is that
the only time a user should see a python backtrace
is when there is a bug in gyp itself, not in a gyp
input file.
BUG=
Review URL: https://codereview.chromium.org/
11418099
git-svn-id: http://gyp.googlecode.com/svn/trunk@1542
78cadc50-ecff-11dd-a971-
7dbc132099af
Yukawa@chromium.org [Mon, 3 Dec 2012 12:48:32 +0000 (12:48 +0000)]
Allow a user to use custom environment files instead of ones generated by gyp for Ninja.
Our project would like to cl.exe/link.exe in hermetic build environment. In our case, current GenerateEnvironmentFiles in msvs_emulation.py does not meet our requirement because the setup batch files do not exist in usual places and the method simply raises an exception.
It is OK for us to prepare custom environment files by ourselves to perfectly control build environment. So what I'd like to do is to stop gyp generating environment files.
Review URL: https://codereview.chromium.org/
11434052
git-svn-id: http://gyp.googlecode.com/svn/trunk@1541
78cadc50-ecff-11dd-a971-
7dbc132099af
Yukawa@chromium.org [Fri, 30 Nov 2012 23:48:46 +0000 (23:48 +0000)]
Move a test from test/ninja to test/win/compiler-flags for the consistency.
Review URL: https://codereview.chromium.org/
11419247
git-svn-id: http://gyp.googlecode.com/svn/trunk@1540
78cadc50-ecff-11dd-a971-
7dbc132099af
Yukawa@chromium.org [Fri, 30 Nov 2012 01:50:19 +0000 (01:50 +0000)]
Add support for /J (DefaultCharIsUnsigned) in Ninja.
This patch set enables msvs_emulator to emulate VCCLCompilerTool/DefaultCharIsUnsigned.
BUG=
TEST=done by unit test
Review URL: https://codereview.chromium.org/
11299250
git-svn-id: http://gyp.googlecode.com/svn/trunk@1539
78cadc50-ecff-11dd-a971-
7dbc132099af
Yukawa@chromium.org [Thu, 29 Nov 2012 02:05:55 +0000 (02:05 +0000)]
Remove option "-r ." from msvc target for Ninja.
The latest Ninja/msvc tool does not recognize this option.
I found that the latest Ninja fails to build a project generated by gyp on Window because of an unrecognized option "-r ." in *.ninja.
Ninja seems to expect only -e/-o/-h as follows.
https://github.com/martine/ninja/blob/
e2709bd70462c25f0578408fdeda0d33ac42806e/src/msvc_helper_main-win32.cc#L58
Can I remove this option?
Even with this patch for gyp, I confirmed that we can build Chromium as usual, although the Ninja binary in depot_tools somehow ignores this option.
TEST=Trybots. Chromium build.
Review URL: https://codereview.chromium.org/
11280207
git-svn-id: http://gyp.googlecode.com/svn/trunk@1538
78cadc50-ecff-11dd-a971-
7dbc132099af
jochen@chromium.org [Wed, 28 Nov 2012 12:02:52 +0000 (12:02 +0000)]
Enforce unique basenames within each individual target for shared and static libraries
Also add back the deleted test.
BUG=chromium:162859
TEST=test/same-source-file-name/gyptest-*.py
R=thakis@chromium.org
Review URL: https://codereview.chromium.org/
11308230
git-svn-id: http://gyp.googlecode.com/svn/trunk@1537
78cadc50-ecff-11dd-a971-
7dbc132099af
Yukawa@chromium.org [Wed, 28 Nov 2012 00:25:56 +0000 (00:25 +0000)]
Support VCCLCompilerTool/ForcedIncludeFiles in msvs_emulator.
This patch set enables msvs_emulator to emulate VCCLCompilerTool/ForcedIncludeFiles
fields, which can be use to specify include files that should be included implicitly.
BUG=
TEST=done by unit test.
Review URL: https://codereview.chromium.org/
11412189
git-svn-id: http://gyp.googlecode.com/svn/trunk@1536
78cadc50-ecff-11dd-a971-
7dbc132099af
torne@chromium.org [Thu, 15 Nov 2012 16:46:24 +0000 (16:46 +0000)]
Android backend: tidy up the --suffix handling.
Make --suffix .foo generate a makefile called GypAndroid.foo.mk,
instead of GypAndroid.mk.foo.
Review URL: https://codereview.chromium.org/
11418007
git-svn-id: http://gyp.googlecode.com/svn/trunk@1535
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Wed, 14 Nov 2012 00:07:29 +0000 (00:07 +0000)]
ninja windows: Support x64 configuration platform
This supports top-level x64 configuration so the entire
project can be built as 64 bit. Previously, we only supported
a 64 bit override for individual targets (via msvs_target_platform).
'asm' files were a bit confused before; the intention was that all .asm
be built on Win32, but they were only being built if the msvs_target_platform
was explicitly set which was very confusing. So, support .asm still, but if
the target overrides asm with a rule, then use that one instead, similar to
.idl files.
BUG=chromium:8606
Review URL: https://codereview.chromium.org/
11363143
git-svn-id: http://gyp.googlecode.com/svn/trunk@1534
78cadc50-ecff-11dd-a971-
7dbc132099af
thakis@chromium.org [Wed, 7 Nov 2012 20:04:09 +0000 (20:04 +0000)]
ninja/mac: Let copies sections that copy stuff inside a bundle mark the bundle
as dirty.
BUG=chromium:157077
Review URL: https://codereview.chromium.org/
11362051/
git-svn-id: http://gyp.googlecode.com/svn/trunk@1533
78cadc50-ecff-11dd-a971-
7dbc132099af
noelallen@chromium.org [Sat, 3 Nov 2012 00:08:00 +0000 (00:08 +0000)]
Update ProgramDatabaseFile for Ninja
Replace simple text with OutputFile style expansion to
handle cases where $(OutDir) or other VS Macros are used.
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/
11368059
git-svn-id: http://gyp.googlecode.com/svn/trunk@1532
78cadc50-ecff-11dd-a971-
7dbc132099af
noelallen@chromium.org [Fri, 2 Nov 2012 23:08:14 +0000 (23:08 +0000)]
Insert empty line at to fix patch.
gyptest-link-pdb.py was checked in without a blank line. This appears
to cause a patch issue with the try bots. This CL is only a whitespace
change to attempt to fix that problem.
SEE:
patching file test/win/gyptest-link-pdb.py
Hunk #1 FAILED at 26.
1 out of 1 hunk FAILED -- saving rejects to file test/win/gyptest-link-pdb.py.rej
===================================================================
--- test/win/gyptest-link-pdb.py (revision 1530)
+++ test/win/gyptest-link-pdb.py (working copy)
@@ -26,7 +26,9 @@
# Verify the specified PDB is created when ProgramDatabaseFile
# is provided.
- if not FindFile('name_set.pdb'):
+ if not FindFile('name_outdir.pdb'):
test.fail_test()
- else:
- test.pass_test()
\ No newline at end of file
+ if not FindFile('name_proddir.pdb'):
+ test.fail_test()
+
+ test.pass_test()
Index: test/win/linker-flags/program-database.gyp
TBR=bradnelson@chromium.org
Review URL: https://codereview.chromium.org/
11368061
git-svn-id: http://gyp.googlecode.com/svn/trunk@1531
78cadc50-ecff-11dd-a971-
7dbc132099af
noelallen@chromium.org [Fri, 2 Nov 2012 20:02:11 +0000 (20:02 +0000)]
Add support for ProgramDatabaseFile to Ninja
Currently we ignore the ProgramDatabaseFile option in the linker
portion of the GYP file. This change will cause the /PDB:<name>
switch to be emitted during the link step as part of ldflags.
Since ldflags are appended to the defaults, they override any
default /PDB switches that are current emitted which is consistent
with our current uses.
BUG=126499
TEST=gyptest-link-pdb
Review URL: https://codereview.chromium.org/
11359044
git-svn-id: http://gyp.googlecode.com/svn/trunk@1530
78cadc50-ecff-11dd-a971-
7dbc132099af
bradnelson@google.com [Thu, 1 Nov 2012 17:55:03 +0000 (17:55 +0000)]
Add gyp support for Core Data datamodel (*.xcdatamodel) files
Contributed by kanefsky@gmail.com
Cloned from:
http://codereview.chromium.org/
11275067/
BUG=303
TEST=Verify xcdatamodel files are editable in xcode project.
TBR=mark@chromium.org
Review URL: https://codereview.chromium.org/
11367037
git-svn-id: http://gyp.googlecode.com/svn/trunk@1529
78cadc50-ecff-11dd-a971-
7dbc132099af
scottmg@chromium.org [Wed, 31 Oct 2012 01:25:40 +0000 (01:25 +0000)]
ninja windows: emulate msvs generator behaviour for msvs_error_on_missing_sources=1
BUG=chromium:158651
Review URL: https://codereview.chromium.org/
11347053
git-svn-id: http://gyp.googlecode.com/svn/trunk@1527
78cadc50-ecff-11dd-a971-
7dbc132099af