external/gyp.git
3 hours agoFix _wrapper vars on win. master
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

9 hours agoAndroid backend: use 'match' parameter in test harness.
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

44 hours agoninja: Implement -Guse_deps=1 for Windows.
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

2 days agoAndroid backend: fix multi-output rules.
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

9 days agoChange iOS test target to 4.2
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

13 days agoSupport iOS application bundle structure.
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

2 weeks agoDon't use thin archives on OpenBSD
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

2 weeks agoThis adds the --config-dir option to specify an alternative to ~/.gyp
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

2 weeks agoandroid: Simplify ldflags processing.
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

3 weeks agoOnly generate output for each configuration once. https://codereview.chromium.org...
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

3 weeks agoStrip unsused keys from plist.
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

3 weeks agoHandle non binary bundles and environment variables in include paths.
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

3 weeks agodon't run external_builder test on < VS2010
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

3 weeks agoninja windows: keep cc as something valid for c99conv
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

4 weeks agoAdd forgotten tests from r1618.
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

4 weeks agoIntegrate ninja build with Visual Studio
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

4 weeks agoReview fix for https://codereview.chromium.org/13864005/, 4 -> len(str)
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

4 weeks agoHandle ninja_use_custom_environment_files case in GenerateEnvironmentFiles.
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

4 weeks agoYet another attempt at fixing Windows bot after r1612
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

4 weeks agoFix build break caused by r1612
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

5 weeks agoDropping the scons generator.
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

5 weeks agoninja windows: Fully qualify path to cl.exe
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

5 weeks agoxcode_emulation: Do not redirect stderr when calling xcodebuild.
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

5 weeks agoninja: Add an opt-in option for the new deps feature.
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

5 weeks agoUpdate ninja_syntax.py from upstream.
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

5 weeks agoHuman readable error if the gyp file isn't a dictionary
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

5 weeks agoFix rpath for components when cross-compiling.
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

6 weeks agoninja/make (Xcode emulation): permit SDKROOT to be an absolute path (again)
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

7 weeks agoSpeculative fix for spurious xcode test failures on the bots.
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

7 weeks agomake: Add rpath when linking shared objects with a non-standard suffix
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

8 weeks agoFixes to msvs_large_pdb functionality to make it work with ninja.
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

8 weeks agoMake pymod_do_main work when no path is given to the .gyp file.
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

2 months agoUse flock on OpenBSD.
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

2 months agoCreate msvs_large_pdb workaround.
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

2 months agomac: Try to get tests green on xcode as well.
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

2 months agomac: More flailing trying to get tests green on the bot.
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

2 months agomac: Try to get test/mac/gyptest-sdkroot.py to pass on both bots and dev boxes.
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

2 months agomac: Try to get the two new clang-specific tests pass on the gyp bot (Xcode 4.2)
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

2 months agoimprove xcode_emulation.py
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

2 months agomac: Fix gyp tests to pass with Xcode 4.6
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

2 months agoemacs gyp-mode: Fix very slow string tokenization problem.
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

2 months agoMake gyp work on OpenBSD.
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

2 months agoCommand wrapper support for cc_host and cxx_host in ninja
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

2 months agomake generator: make gyp recognize OpenBSD
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

2 months agoAllow GYP targets to depend on themselves if they have the
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

2 months agoSupport command wrapper in make_global_settings
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

2 months agoRemove default import library inheritance/configuration.
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

2 months agoImprove performance of gyp hot functions
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

2 months agoTurning back on gold as it should now be on the bots.
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

2 months agoninja: Pass -rpath-link when passing -rpath.
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

2 months agoSet the correct architecture for the MIDL compiler
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

3 months agomake, ninja: Let a failing postbuild stop all later postbuilds for the same target.
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

3 months agoDetect all ninja's include dirs in Eclipse generator.
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

3 months agoxcode: Add support for storyboard files
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

3 months agoFix test/mac/gyptest-app.py with Xcode 4.2.
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

3 months agoxcode tests: Update exit codes for Xcode 4.
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

3 months agoxcodebuild: Fix most rebuild tests on Xcode 4.
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

3 months agomac strip test: Update expectations for Xcode 4 toolchain.
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

3 months agowindows: test for msvs_shard and support in ninja
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

3 months agoReverting accidental change to test/lib/TestGyp.py
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

3 months agoSpeculative fix for mt.exe general error c101008a (The parameter is incorrect).
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

3 months agoXcode: Coalesce multiple "copies" sections in the same target with the same
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

3 months agoninja windows: Make pch work on VS2012, and simplify implementation
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

4 months agoandroid: Filter host tools out of PATH.
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

4 months agoAndroid: use relative paths for action/rule/copy names.
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

4 months agoUpdate GYP PRESUBMIT.py to adhere to the new copyright boilerplace policy.
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

4 months agoAdd android test runner to buildbot_run.
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

4 months agowindows: Add support for overriding pdb name for compile step
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

4 months agoChange ninja rpath generation to be more like make.
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

4 months agoCreate intermediate PDB files in sub directories.
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

4 months agoFix typo in error message: PARELLEL -> PARALLEL
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

4 months agoSupport overriding path to VS without referring to the registry.
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

4 months agoTeach ninja to handle output directories outside the source dir.
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

4 months agoAdd /LARGEADDRESSAWARE support for Ninja on Windows.
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

4 months agoI found that msvs_settings/VCLibrarianTool/LinkTimeCodeGeneration is not supported...
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

4 months agoAdd 'EnableIntrinsicFunctions' (/Oi) support into MSVS Emulator for Ninja.
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

4 months agoAdd 'TerminalServerAware' (/TSAWARE) support into MSVS Emulator for Ninja.
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

4 months agoEnsure GYP_PARALLEL prints error messages. Errors sent to stdout were being swallowed...
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

5 months agoDefine replacement rules for $(VSInstallDir) and $(VCInstallDir)
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

5 months agoFix/disable various tests for the Android backend.
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

5 months agoAndroid backend: implement PerformBuild and fix configurations.
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

5 months agoMake generator now stores all toolchain overrides in
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

5 months agoDisable regyp in the Android backend.
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

5 months agoAdd TreatWChar_tAsBuiltInType option support for Ninja.
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

5 months agoAdd support for AIX in GetFlavor().
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

5 months agoComplete migration to GypError for user-visible errors.
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

5 months agoAllow a user to use custom environment files instead of ones generated by gyp for...
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

5 months agoMove a test from test/ninja to test/win/compiler-flags for the consistency.
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

5 months agoAdd support for /J (DefaultCharIsUnsigned) in Ninja.
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

5 months agoRemove option "-r ." from msvc target for Ninja.
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

5 months agoEnforce unique basenames within each individual target for shared and static libraries
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

5 months agoSupport VCCLCompilerTool/ForcedIncludeFiles in msvs_emulator.
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

6 months agoAndroid backend: tidy up the --suffix handling.
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

6 months agoninja windows: Support x64 configuration platform
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

6 months agoninja/mac: Let copies sections that copy stuff inside a bundle mark the bundle
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

6 months agoUpdate ProgramDatabaseFile for Ninja
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

6 months agoInsert empty line at to fix patch.
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

6 months agoAdd support for ProgramDatabaseFile to Ninja
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

6 months agoAdd gyp support for Core Data datamodel (*.xcdatamodel) files
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

6 months agoninja windows: emulate msvs generator behaviour for msvs_error_on_missing_sources=1
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