summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-08-19Merge tools/gyp from https://chromium.googlesource.com/external/gyp.git at ↵Android Chromium Automerger
b38e5f2f93fa5b31a6001bd21b9d8dcbf73e44e7 This commit was generated by merge_from_chromium.py. Change-Id: Ide8ea95cde4d50b827c99556bef533b85232e6b9
2014-08-19Merge from Chromium at DEPS revision 290040android-wear-5.1.1_r1android-wear-5.1.0_r1Torne (Richard Coles)
This commit was generated by merge_to_master.py. Change-Id: Ia957cd5569a5c62711d273132c342efa9c54f05b
2014-08-19ninja win: don't expect pdb to be generated when GenerateDebugInformation: falsescottmg@chromium.org
if comparison was incorrect for truthy values when added at https://codereview.chromium.org/126443004/ (such as 'false'). Test addition fails before this CL. R=thakis@chromium.org, sky@chromium.org BUG=chromium:404872 Review URL: https://codereview.chromium.org/483133002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1967 78cadc50-ecff-11dd-a971-7dbc132099af
2014-08-18Makes the analyzer output the set of targets needing a buildsky@chromium.org
The set of build targets is the minimal set of targets reachable from the all target that contains one of the specified files (matched target), or depeneds on the set of matched targets. BUG=109173 TEST=none R=scottmg@chromium.org Review URL: https://codereview.chromium.org/481433003 git-svn-id: http://gyp.googlecode.com/svn/trunk@1966 78cadc50-ecff-11dd-a971-7dbc132099af
2014-08-13Removes old way to specify files to look forsky@chromium.org
This was from the first version and is no longer used. Also cleaned up tests as well. BUG=none TEST=none R=scottmg@chromium.org Review URL: https://codereview.chromium.org/473483002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1965 78cadc50-ecff-11dd-a971-7dbc132099af
2014-08-12Merge tools/gyp from https://chromium.googlesource.com/external/gyp.git at ↵Android Chromium Automerger
ed274e3ea5885bc28cf6249e848cf696d0e89263 This commit was generated by merge_from_chromium.py. Change-Id: Idc71e7beb4806782b026623e1943a310d197809e
2014-08-12Merge from Chromium at DEPS revision 288042Torne (Richard Coles)
This commit was generated by merge_to_master.py. Change-Id: I579101318ff77c5e0666a08e4acd86ffb7277d4c
2014-08-12Provide a way to suppress implicit MIDL generation rules for actionsscottmg@chromium.org
For IDL files, GYP ninja normally generates rules to build MIDL unless there are explicit rules. This special casing only works for rules, but not actions. In blink, we are going to add an action which runs blink's IDL compiler to generate IDL dictionary implementation .h/.cpp files, which means that we need a way to similar logic for actions. This CL introduces 'explicit_idl_action' flag for such purpose. Patch from bashi@chromium.org. R=scottmg@chromium.org Review URL: https://codereview.chromium.org/440293002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1964 78cadc50-ecff-11dd-a971-7dbc132099af
2014-08-06Style changes for analyzersky@chromium.org
__ -> _ and lots of single newlines to double newlines. BUG=none R=scottmg@chromium.org Review URL: https://codereview.chromium.org/445113002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1963 78cadc50-ecff-11dd-a971-7dbc132099af
2014-08-06Currently I've special cased gyp* file modifications higher in thesky@chromium.org
stack. By that I mean if a gyp* file has been modified I don't run analyze and assume everything has changed. This change adds support for modification to gyp* files. If a gyp* file has changed it assumes all targets in the file are modified. Similarly if an included file has been modified all targets in the file that did the include are considered modified. Lastly, if one of the modified files is specified on the command line via -I the I early out and assume everything needs to be recompiled. BUG=109173 R=scottmg@chromium.org Review URL: https://codereview.chromium.org/442083004 git-svn-id: http://gyp.googlecode.com/svn/trunk@1962 78cadc50-ecff-11dd-a971-7dbc132099af
2014-08-01Pull in relevant targets when using xcode-ninjasdefresne@chromium.org
The tests gyptest-actions, gyptest-copies and gyptest-rules fail when using the xcode-ninja generator because xcode-ninja (by design) only creates targets for proper executables. In order for these three tests to pass, the targets they rely on need to be included explicitly. BUG=gyp:442 TEST=Run ./gyptest.py -f xcode-ninja test/generator-output/ Expected: all tests pass (instead of failing the three mentioned above). R=sdefresne@chromium.org, justincohen@chromium.org Review URL: https://codereview.chromium.org/423753003 git-svn-id: http://gyp.googlecode.com/svn/trunk@1961 78cadc50-ecff-11dd-a971-7dbc132099af
2014-08-01Guard against configurations without 'xcode_settings'sdefresne@chromium.org
e.g. test/generator-output/src/prog1.gyp TEST=Run ./gyptest.py -f xcode-ninja test/generator-output/gyptest-top-all.py Expected to fail with OSError: [Errno 13] Permission denied: 'prog1.ninja.xcworkspace' (instead of KeyError: 'xcode_settings') R=sdefresne@chromium.org, justincohen@chromium.org Review URL: https://codereview.chromium.org/428913002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1960 78cadc50-ecff-11dd-a971-7dbc132099af
2014-07-31Merge tools/gyp from https://chromium.googlesource.com/external/gyp.git at ↵Android Chromium Automerger
ac2684beed6e8ca04ac5f837c9db869eefec7bb5 This commit was generated by merge_from_chromium.py. Change-Id: I36616486742ab4c073a2b5e3baf84a21d3150b97
2014-07-30Updates analyzer to output to a filesky@chromium.org
File is specified by way of analyzer_output_path. I'm also changing from a hard error if a target can't be found to a warning. I'm also including a new set of tests. I forgot to svn add this last time around. BUG=109173 TEST=covered by tests R=mark@chromium.org Review URL: https://codereview.chromium.org/429243003 git-svn-id: http://gyp.googlecode.com/svn/trunk@1959 78cadc50-ecff-11dd-a971-7dbc132099af
2014-07-29Avoid infinite recursion with identity variables.mark@chromium.org
Some generators like gypd and gypsh define the generator_default_variables as an identity expansion. For example, the variable 'INTERMEDIATE_DIR' would expand to '<(INTERMEDIATE_DIR)' which lends to an infinite recursion if a .gyp file uses any of those variables. This patch detects trivial infinite recursive variable expansions like this one and leaves them that way. Patch by Alejandro Deymonnaz <deymo@chromium.org> BUG=141 TEST=`gyp --debug=variables --format=gypd test.gyp` shows avoiding infinite recursion message when test.gyp has an INTERMEDIATE_DIR variable expansion. Review URL: https://codereview.chromium.org/417113009/ git-svn-id: http://gyp.googlecode.com/svn/trunk@1958 78cadc50-ecff-11dd-a971-7dbc132099af
2014-07-29Enable custom suffixes for Mac bundles.mark@chromium.org
Patch by Johannes Sartisohn <jsartisohn@google.com> Review URL: https://codereview.chromium.org/401633002/ git-svn-id: http://gyp.googlecode.com/svn/trunk@1957 78cadc50-ecff-11dd-a971-7dbc132099af
2014-07-29Merge tools/gyp from https://chromium.googlesource.com/external/gyp.git at ↵Android Chromium Automerger
b95cbeb2b4a56eb33f6568ca2e9fce5b491ce96d This commit was generated by merge_from_chromium.py. Change-Id: Ic84067510ccabd72f82dc2be19f90e24e8aaaddf
2014-07-28Changes analyzer to search for targetssky@chromium.org
Here's a list of the changes: . I'm changing input file to be a JSON file. This allows for passing in more information, such as the set of targets to search for. . Changing output format to be JSON as well. This allows for more structure in outputting other random data. I'm a bit iffy on whether this is good, but it's requested by the recipes side of things which uses analyzer. . You can now specify a set of targets to search for in addition to files. This is intended for things like 'unittests' so that only the set of targets that are effected by the change get run. To enable the new functionality you have to pass in a new switch. Once I integrate these changes into the rest of the stack. I'll remove the old flow. BUG=109173 TEST=covered by tests R=mark@chromium.org Review URL: https://codereview.chromium.org/420383002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1956 78cadc50-ecff-11dd-a971-7dbc132099af
2014-07-25ninja: Add support for 'ninja_use_console' in actions/rulessbaig1@bloomberg.net
Setting this to 1 will make ninja use 'pool = console' for the action/rule. BUG= R=thakis@chromium.org Review URL: https://codereview.chromium.org/412283002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1955 78cadc50-ecff-11dd-a971-7dbc132099af
2014-07-24This CL adds support for extension in GYP.sdefresne@chromium.org
This CL adds the extension target type and adds the link flags to compile .appex extensions. BUG=gyp:435 R=justincohen@chromium.org, mark@chromium.org, pkl@chromium.org, sdefresne@chromium.org Review URL: https://codereview.chromium.org/376603002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1954 78cadc50-ecff-11dd-a971-7dbc132099af
2014-07-21Merge tools/gyp from https://chromium.googlesource.com/external/gyp.git at ↵Primiano Tucci
39fd3e8ea1c88c144a756f8fe23c1a361ae13495 This commit was generated by merge_from_chromium.py. Change-Id: I2803e03a972897e3a400528e1a6b85d65331ae57
2014-07-20Merge from Chromium at DEPS revision 284076Ben Murdoch
This commit was generated by merge_to_master.py. Change-Id: If3d73ed87e487fb027aa4b16dd027424707d817c
2014-07-20ninja/win: Put common msvs_system_include_dirs into %INCLUDE% thakis@chromium.org
Paths in INCLUDE are considered system headers by clang-cl and it will suppress warnings from system headers. BUG=chromium:395405 Review URL: https://codereview.chromium.org/406523005/ git-svn-id: http://gyp.googlecode.com/svn/trunk@1953 78cadc50-ecff-11dd-a971-7dbc132099af
2014-07-20Add test files for https://codereview.chromium.org/406523005/thakis@chromium.org
Maybe the try failures are due to the try server not adding the new files correctly, since the test passes for me locally. Add the test files in a separate commit (not used by anything yet) to test this theory. git-svn-id: http://gyp.googlecode.com/svn/trunk@1952 78cadc50-ecff-11dd-a971-7dbc132099af
2014-07-17Merge tools/gyp from https://chromium.googlesource.com/external/gyp.git at ↵Android Chromium Automerger
80e01de623edbdfc23bc7c860cccefb4e50e8a7d This commit was generated by merge_from_chromium.py. Change-Id: Ida3dd7868a8830898dc552540845c13451e96039
2014-07-16Fixes bug in path handling of analyzersky@chromium.org
Was using os.getcwd when it needs to use options.toplevel_dir R=mark@chromium.org BUG=383609 TEST=none Review URL: https://codereview.chromium.org/395483002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1951 78cadc50-ecff-11dd-a971-7dbc132099af
2014-07-12Merge tools/gyp from https://chromium.googlesource.com/external/gyp.git at ↵Android Chromium Automerger
d1e5ccaf05bac73d817f4959aa94b9bd25069383 This commit was generated by merge_from_chromium.py. Change-Id: Iadfbdaa7b26f09d60a36d4be4ba7ced8e6dd67c3
2014-07-11Fixes two bugs in analyzersky@chromium.org
Wasn't delaing with relative paths outside the repo. NACL does this for things like /usr/include/... When combining relative paths I was missing adding a '/'. This result in paths like baseobserver_list.h instead of base/observer_list.h. BUG=383609 TEST=covered by unit tests R=mark@chromium.org Review URL: https://codereview.chromium.org/383893003 git-svn-id: http://gyp.googlecode.com/svn/trunk@1949 78cadc50-ecff-11dd-a971-7dbc132099af
2014-07-09Merge tools/gyp from https://chromium.googlesource.com/external/gyp.git at ↵Android Chromium Automerger
867a23f4b596b7406cce1231a23b44b47bc1a583 This commit was generated by merge_from_chromium.py. Change-Id: I62c1fed116abfbf9885fe9767ebe5c9a1d4e9e9c
2014-06-26Xcode: Add xcdatamodeld = wrapper.xcdatamodeld in extension_map mark@chromium.org
.xcdatamodeld documents are used for Model File Format. https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreDataVersioning/Articles/vmModelFormat.html Note that .xcdatamodel has already been supported since gyp r1529. BUG=303 Patch from Roberto Cosenza <robcos@google.com> via Yohei Yukawa <yukawa@chromium.org> Review URL: https://codereview.chromium.org/351223002/ git-svn-id: http://gyp.googlecode.com/svn/trunk@1948 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-25Introduce '--no-duplicate-basename-check' option to disable the check of ↵yukawa@chromium.org
duplicate basenames With this CL, the check of duplicate basenames in the same source list can be disabled with '--no-duplicate-basename-check' option. Now GYP generators can handle duplicate basenames except for VCProj generator for Visual C++ 2008 and Makefile generator on Mac. Given that these two generators are no longer actively used, and supposed to be deprecated in future, providing an option to disable this validation should be helpful for some GYP users. Note that these two generators continue to treat duplicate basenames continue as an error regardless of '--no-duplicate-basename-check'. BUG=gyp:264, gyp:384 R=scottmg@chromium.org Review URL: https://codereview.chromium.org/344573002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1947 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-23Makes analyzer strip off a leading path separatormark@chromium.org
When running in chrome paths are absolute. Also makes chrome build work with analyzer on windows. The specific define I ran into was MSVS_OS_BITS, but I'm sure there are more. BUG=chromium:383609 R=mark@chromium.org Patch by Scott Violet <sky@chromium.org> Review URL: https://codereview.chromium.org/347193005/ git-svn-id: http://gyp.googlecode.com/svn/trunk@1946 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-20msvs: ensure that failing actions make the build fail with multiple actionsscottmg@chromium.org
The old way of joining multiple commands would take care of failing correctly when there are multiple actions associated with a single file. However, for multiple actions associated with different files (but within the same target), Visual Studio will still create just one .bat file for them all, so we must make sure that each command errors out correctly when it fails. Strictly speaking, the %errorlevel% check is unnecessary for the last command in a target (because the .bat file created by VS contains it already); but it doesn't hurt either, and makes the logic much simpler. Patch from Stefan Haller <stk.haller@googlemail.com>. R=scottmg@chromium.org Review URL: https://codereview.chromium.org/335273006 git-svn-id: http://gyp.googlecode.com/svn/trunk@1945 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-20Merge from Chromium at DEPS revision 278205Torne (Richard Coles)
This commit was generated by merge_to_master.py. Change-Id: Ibe384572b8b1becf9f9d9257118e91880a12cc58
2014-06-18Merge tools/gyp from https://chromium.googlesource.com/external/gyp.git at ↵Android Chromium Automerger
63a1f78eb0ec6c4ddcc23e920230bdb0b14f7855 This commit was generated by merge_from_chromium.py. Change-Id: Icf1d2b6edb94073be5324995d265507a1a2e3967
2014-06-17ninja: Pass .so files outside of --start-group/--end-group.thakis@chromium.org
When doing 32bit release component builds of chromium, nacl_helper fails to link like so: g++ [...] -Wl,--as-needed -o nacl_helper -Wl,--start-group [...] obj/components/libnacl_linux.a [...] lib/libppapi_shared.so -Wl,--end-group [...] /usr/bin/ld: .../nacl_linux.plugin_main.o: undefined reference to symbol '_ZN5ppapi16PPB_Audio_Shared18SetThreadFunctionsEPK18PP_ThreadFunctions' /usr/bin/ld: note: '_ZN5ppapi16PPB_Audio_Shared18SetThreadFunctionsEPK18PP_ThreadFunctions' is defined in DSO lib/libppapi_shared.so so try adding it to the linker command line Note that libppapi_shared.so is on the link line. The error goes away if --as-needed isn't passed, if I use gold, or if the .so file is moved after --end-group. http://wiki.gentoo.org/wiki/Project:Quality_Assurance/As-needed suggests that --as-needed has additional constraints on library ordering, and I'm guessing that this error depends on how the implementations of --as-needed and --start-group/--end-group in ld.bfd interact. Moving $solibs out of --start-group/--end-group seems to work, so just do that. No test because we have no 32bit linux gyp bot. BUG=none (but found while working on 368384 / 385472) TEST=Build nacl_test on a 32bit release bot using the components build. links correctly R=scottmg@chromium.org Review URL: https://codereview.chromium.org/341613003 git-svn-id: http://gyp.googlecode.com/svn/trunk@1944 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-17[gyp][Android] Implement TestGypAndroid.run_built_executable.torne@chromium.org
Note that this includes buildbot steps to start and stop an Android emulator for testing. BUG=gyp:324 R=bradnelson@google.com, torne@chromium.org Review URL: https://codereview.chromium.org/321953005 git-svn-id: http://gyp.googlecode.com/svn/trunk@1943 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-16Teach Ninja generator about 'AR.host' specified in 'make_global_settings'.yukawa@chromium.org
With this CL, Ninja generator starts recognizing 'AR.host' specified in 'make_global_settings', like Make generator. BUG=gyp:434 TEST=unittest R=scottmg@chromium.org Review URL: https://codereview.chromium.org/333353002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1942 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-16Teach Ninja generator about 'LD'/'LD.host' specified in ↵yukawa@chromium.org
'make_global_settings_ld'. With this CL, Ninja generator starts recognizing 'LD'/'LD.host' specified in 'make_global_settings', like Make generator. This makes it easier for you to share the code among host/NaCl/NDK/Emscripten build targets. BUG=gyp:434 TEST=unittest R=scottmg@chromium.org Review URL: https://codereview.chromium.org/335443007 git-svn-id: http://gyp.googlecode.com/svn/trunk@1941 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-16Revise unittest for 'AR' in 'make_global_settings'yukawa@chromium.org
This is a follow up CL for r1931 and r1935. This is just a revise of a unittest and does not changes existing functionality. It turned out that we need to specify GYP_CROSSCOMPILE=1 to test 'AR'/'AR.host' properly. Expected results, which correspond to the current behavior atually, are updated accordingly. BUG=gyp:434 TEST=unittest R=scottmg@chromium.org Review URL: https://codereview.chromium.org/336953002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1940 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-14Revise unittest for 'LD' in 'make_global_settings'yukawa@chromium.org
This is a follow up CL for r1937. This is just a revise of a unittest and does not changes existing functionality. It turned out that we need to specify GYP_CROSSCOMPILE=1 to test 'LD'/'LD.host' properly. Expected results, which are expected to be describing the current behavior, are updated accordingly. BUG=gyp:434 TEST=unittest R=scottmg@chromium.org Review URL: https://codereview.chromium.org/338523003 git-svn-id: http://gyp.googlecode.com/svn/trunk@1939 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-13Remove unused parameters from test code.torne@chromium.org
Newer versions of the Android build system have -Wunused-params enabled by default. Drop the many unused argc/argv parameters from test C/C++ code and also (void) a parameter in a dummy malloc function. This avoids having to come up with a convoluted way to disable the warning flag in every test. BUG=gyp:433 R=thakis@chromium.org Review URL: https://codereview.chromium.org/316163002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1938 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-13Add unittest for 'LD' in 'make_global_settings'yukawa@chromium.org
This CL describes the current behavior with some unittests, before making Ninja generator aware of 'LD' in 'make_global_settings'. See gyp r1931 for the background. BUG=gyp:434 TEST=unittest R=scottmg@chromium.org Review URL: https://codereview.chromium.org/322973006 git-svn-id: http://gyp.googlecode.com/svn/trunk@1937 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-12First crack at adding a GYP_GENERATOR for determining various thingsmark@chromium.org
This version reads a file to get a list of input files, then outputs if any of the input files are contained as sources (or inputs to actions/rules) in any targets. R=mark@chromium.org Patch by Scott Violet <sky@chromium.org> Review URL: https://codereview.chromium.org/330053003 git-svn-id: http://gyp.googlecode.com/svn/trunk@1936 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-12Teach Ninja generator about 'AR' in 'make_global_settings'yukawa@chromium.org
With this CL, 'AR' in 'make_global_settings' can be recognized by Ninja generator, like Make generator. This makes it easier for you to share the code among host/NaCl/NDK/Emscripten build targets. Note that 'AR.host' is not yet supported with this CL. BUG=gyp:434 TEST=unittest R=scottmg@chromium.org, torne@chromium.org Review URL: https://codereview.chromium.org/321843002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1935 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-12Use context manager to manage OS environment in testsyukawa@chromium.org
This is a follow up CL for gyp r1931, just for the code cleanup. Inspired by Nico's gyp r1893. BUG=gyp:434 TEST=unittest R=scottmg@chromium.org Review URL: https://codereview.chromium.org/321183002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1934 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-11ninja win: Remove obsolete comment, and make sure cc/cxx are always overriddenscottmg@chromium.org
Builds on discussion in https://codereview.chromium.org/321813002/. Make sure that cc_host and cxx_host are also set to a valid compiler, which fixes the cflags test. R=yukawa@chromium.org BUG=chromium:233985 Review URL: https://codereview.chromium.org/324383004 git-svn-id: http://gyp.googlecode.com/svn/trunk@1933 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-11Override the user's language settings during testsmark@chromium.org
If a user's language is set to anything other than English, the output of various tools may vary from what is expected and cause tests to fail. This fixes several test failures for non-English users. To reproduce the issue, run: LC_ALL=de_DE.UTF-8 ./gyptest.py -a Patch by Joey Parrish <joeyparrish@google.com> Review URL: https://codereview.chromium.org/324893007/ git-svn-id: http://gyp.googlecode.com/svn/trunk@1932 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-09Add unittest for 'AR' in 'make_global_settings'yukawa@chromium.org
Currently sharing the code among host/NaCl/NDK/Emscripten on top of Ninja+gyp isn't so easy as it should be because not all items in 'make_global_settings' are recognized by Ninja generator (gyp:434). On the other hand, the current test coverage of 'make_global_settings' isn't so good. Thus this CL describes the current behavior with some unittests before making Ninja generator aware of 'AR' in 'make_global_settings' like Make generator. BUG=gyp:434 TEST=unittest R=scottmg@chromium.org Review URL: https://codereview.chromium.org/320743002 git-svn-id: http://gyp.googlecode.com/svn/trunk@1931 78cadc50-ecff-11dd-a971-7dbc132099af
2014-06-09Merge from Chromium at DEPS revision 275586Torne (Richard Coles)
This commit was generated by merge_to_master.py. Change-Id: I59c2593abd79123d99b1b4cb99aeebe8f2eac41b