Skip to content
Commits on Dec 1, 2015
  1. @sdefresne

    Fix CalculateGeneratorInputInfo for "xcode-ninja" generator.

    The function CalculateGeneratorInputInfo() was broken during patchset #2
    of https://codereview.chromium.org/1477333003 (code setting the global
    should have been unindented).
    
    Fix the function to always set generator_filelist_paths whatever the
    flavour of "xcode" generator (vanilla or "ninja") is used.
    
    BUG=chromium:562135
    R=mark@chromium.org
    
    Review URL: https://codereview.chromium.org/1485103002 .
    sdefresne committed Dec 1, 2015
Commits on Nov 30, 2015
  1. @sdefresne

    Generate response files out of the source tree with xcode & xcode-ninja.

    Configure generator_filelist_paths used by main gyp input parse to build
    path of "<|()" expansions file names when using "xcode" and "xcode-ninja"
    generators to be out of the source tree.
    
    The "xcode" generator will put the files in "xcodebuild/gypfiles" while
    the "xcode-ninja" generator will use the same algorithm to generate the
    file names as "ninja" generator (but using "gypfiles-xcode-ninja" as
    last component of the path).
    
    BUG=chromium:562135
    R=mark@chromium.org
    
    Review URL: https://codereview.chromium.org/1477333003 .
    sdefresne committed Nov 30, 2015
  2. @dpranke

    Copy files with `cp -pPRf` on OpenBSD.

    BUG=
    R=dpranke@chromium.org
    
    Review URL: https://codereview.chromium.org/1483473002 .
    dpranke committed Nov 29, 2015
Commits on Nov 29, 2015
  1. @dpranke

    Add support for NetBSD (OS = netbsd)

    BUG=
    R=dpranke@chromium.org, info@bnoordhuis.nl, thechargingvolcano@gmail.com
    
    Review URL: https://codereview.chromium.org/1421073004 .
    dpranke committed Nov 29, 2015
Commits on Nov 19, 2015
  1. @dpranke

    Remove deprecated code path from analyzer.py.

    R=sky@chromium.org
    BUG=chromium:552146
    
    Review URL: https://codereview.chromium.org/1462433002 .
    dpranke committed Nov 18, 2015
Commits on Nov 18, 2015
  1. Changes analyzer to include test_targets in compile_targets

    In order to run test_targets we have to make sure they are actually
    built.
    
    BUG=557505
    TEST=covered by tests
    R=dpranke@chromium.org
    
    Review URL: https://codereview.chromium.org/1460763002 .
    Scott Violet committed Nov 18, 2015
Commits on Nov 13, 2015
  1. Fix bug in analyze were empty invalid_targets was incorrectly written

    If no targets were found analyze would incorrectly write an empty
    invalid_targets list, which causes grief in recipes
    Additionally if an empty targets list was found we triggered the new
    code path, which we shouldn't have.
    
    BUG=552146
    TEST=covered by tests
    R=dpranke@chromium.org
    
    Review URL: https://codereview.chromium.org/1438343003 .
    Scott Violet committed Nov 13, 2015
Commits on Nov 12, 2015
  1. Changes semantics of analyzer

    Analyzer now gets two inputs:
    . test_targets: targets to search from.
    . additional_compile_targets: additional targets to search from
      for which we only care that the affected dependencies are
      returned.
    
    For output the same names are used:
    . test_targets: any supplied test_targets that directly or indirectly
      depend upon the change files.
    . compile_targets: minimal set of targets to build. The targets
      returned here are searched from the union or the supplied
      test_targets and additional_compile_targets. The set of
      targets output here are not necessarily values in either
      the input test_targets or additional_compile_targets,
      but they will be at least dependencies of those targets.
    
    This brings back logic that was removed here:
    https://codereview.chromium.org/1402813002 , with the following
    changes:
    . Previously what is now output as compile_targets would implicitly
      include anything from the 'all' target. That is no longer the
      case, if you want 'all' you have to specify it.
    . There are now two sets of supplied targets. This is necessary to
      handle cases where we want to take some sort of action if a target
      directly or indirectly depends upon a change, e.g., run a test. We
      want support for targets of type none here as well as just exes.
    . Added support for 'all'.
    
    I forked the old logic out into its own set of functions. These will
    be removed once we update the code that consumes this.
    
    TEST=covered by tests
    BUG=552146
    R=dpranke@chromium.org, mark@chromium.org
    
    Review URL: https://codereview.chromium.org/1431343002 .
    Scott Violet committed Nov 12, 2015
Commits on Nov 9, 2015
  1. Adds back lookup of 'all' targets

    I'm going to add support for 'all'. This is a precursor to that. This
    patch effectively adds back code that was removed here:
    https://codereview.chromium.org/1402813002 . The code isn't wired up
    yet. Will do that next.
    
    TEST=none
    BUG=552146
    R=mark@chromium.org
    
    Review URL: https://codereview.chromium.org/1438433004 .
    Scott Violet committed Nov 9, 2015
Commits on Nov 6, 2015
  1. @mark-chromium

    Attempt again to upstream Xcode project version warning suppression, …

    …from 1416453003 and 1430573009, and rolled back in 1423583004.
    
    R=mark@chromium.org
    
    Review URL: https://codereview.chromium.org/1410413008 .
    
    Patch from Alex Harper <aharper@chromium.org>.
    Alex Harper committed with mark-chromium Nov 6, 2015
Commits on Nov 5, 2015
  1. @IanNiLewis @bungeman

    Change CMAKE_SOURCE_DIR to CMAKE_CURRENT_LIST_DIR.

    In projects with just one CMakeLists.txt, these two variables
    are equivalent. In multiproject builds, however, CMAKE_SOURCE_DIR
    always points to the top level CMakeLists.txt while
    CMAKE_CURRENT_LIST_DIR points to the CMakeLists.txt that is currently
    being evaluated. CMAKE_CURRENT_LIST_DIR was added in cmake 2.8.3.
    
    The generator constructs paths relative to the generated CMakeLists.txt
    rather than to the build root. Therefore, CMAKE_CURRENT_LIST_DIR is the
    more appropriate variable.
    
    This change makes it possible to integrate a gyp-generated cmake
    into a multi-project build without needing to switch the entire
    build over to gyp. It also enables projects where the top level
    cmake is handwritten (and possibly responsible for running gyp
    to generate other cmake files). This makes usage in IDEs a bit
    more convenient; at the very least, it stops CLion from complaining
    that the source files don't live underneath the directory where
    CMakeLists.txt lives. This also works with KDevelop, which has had
    support for CMAKE_CURRENT_LIST_DIR since 4.1.
    
    R=mark@chromium.org,bungeman@chromium.org
    
    Review URL: https://codereview.chromium.org/1408993007/ .
    IanNiLewis committed with bungeman Nov 5, 2015
Commits on Nov 3, 2015
  1. @sgraham

    Revert of e2e928b

    Causing failure in Chrome per https://codereview.chromium.org/1416453003/#msg8
    
    (SetXcodeVersion doesn't exist.)
    
    TBR=aharper@chromium.org,mark@chromium.org
    
    Review URL: https://codereview.chromium.org/1423583004 .
    sgraham committed Nov 3, 2015
  2. @sgraham

    win: Fix missing loadable_module dependency in ULDI mode

    Also, add test for similar setup in non-ULDI mode for all platforms.
    
    R=thakis@chromium.org, dpranke@chromium.org
    BUG=548300
    
    Review URL: https://codereview.chromium.org/1410213005 .
    sgraham committed Nov 3, 2015
  3. @mark-chromium

    Set optional LastSwiftUpdateCheck to Xcode project attributes.

    Adding this to also supress project upgrade warnings for Swift-based gyp generated project files.
    
    R=mark@chromium.org
    
    Review URL: https://codereview.chromium.org/1430573009 .
    
    Patch from Alastair Tse <altse@chromium.org>.
    Alastair Tse committed with mark-chromium Nov 3, 2015
Commits on Nov 2, 2015
  1. @mark-chromium

    Add support for kernel-extensions in GYP.

    Add a new target type for kernel extensions, along with a simple test
    and sample kext based on the Apple documentation.
    
    R=mark@chromium.org
    
    Review URL: https://codereview.chromium.org/1410873007 .
    
    Patch from Nick Cooper <nmvc@google.com>.
    Nick Cooper committed with mark-chromium Nov 2, 2015
Commits on Oct 21, 2015
  1. @mark-chromium

    Add support for Xcode LastUpgradeCheck project attributes, allowing

    suppression of Xcode project configuration warnings.
    
    BUG=
    R=mark@chromium.org
    
    Review URL: https://codereview.chromium.org/1416453003 .
    
    Patch from Alex Harper <aharper@chromium.org>.
    Alex Harper committed with mark-chromium Oct 20, 2015
Commits on Oct 20, 2015
  1. Change analyzer to search for build_targets from supplied targets

    Prior to this change build_targets returned targets that were children
    of the root nodes. After this change build_targets are children of the
    supplied targets.
    
    This change better matches how we want to use analyzer. In particular
    bots don't necessarily build all, so that returning a target that is
    normally not build results in weird behavior (bot building things it
    normally doesn't).
    
    BUG=542337
    TEST=covered by tests
    R=dpranke@chromium.org, mark@chromium.org, scottmg@chromium.org
    
    Review URL: https://codereview.chromium.org/1402813002 .
    Scott Violet committed Oct 20, 2015
  2. @SeawardT @mark-chromium

    Adding framework path mapping for 'copies' action in gyp files.

    This will set the destination to number 10 (Frameworks in Xcode UI).
    Enables 'Embedded Binaries' to be linked using a framework.
    May need to use LD_RUNPATH_SEARCH_PATHS to local framework
    
    R=mark@chromium.org
    
    Review URL: https://codereview.chromium.org/1254413004 .
    
    Patch from tonyworks <seawardt@google.com>.
    SeawardT committed with mark-chromium Oct 20, 2015
Commits on Oct 16, 2015
  1. @edelsohn @nico

    AIX's cp command does not support -af which is the default, so use -R…

    …Pf which achives something similar
    
    BUG=
    R=kjellander@chromium.org
    
    Review URL: https://codereview.chromium.org/1368133002 .
    
    Patch from David Edelsohn <dje.gcc@gmail.com>.
    edelsohn committed with nico Oct 16, 2015
Commits on Oct 12, 2015
  1. @yukawa

    Promote documents in md-pages branch.

    Seems that now both master branch and md-pages branch have docs/
    directory, but only the latter looks to be maintained.
      https://chromium.googlesource.com/external/gyp/+/master/docs/
      https://chromium.googlesource.com/external/gyp/+/md-pages/docs/
    
    This might be a bit confusing for users and contributors,
    since they could be easily navigated to those documents in
    master branch in the following steps.
    
      1. Search 'GYP' then be navigated to
         https://code.google.com/p/gyp
      2. Find 'Source' tab and click it to be navigated to
         https://code.google.com/p/gyp/wiki/Source?tm=4
      3. Find a new repository URL.
         https://chromium.googlesource.com/external/gyp
      4. Find a 'Hacking' guide w/o realizing that the document is
         a bit out of date.
         https://chromium.googlesource.com/external/gyp/+/HEAD/docs/Hacking.md
    
    With this CL, hopefully users and contributors can find the
    latest documents.
    
    BUG=
    R=dpranke@chromium.org
    
    Review URL: https://codereview.chromium.org/1400043002 .
    yukawa committed Oct 12, 2015
  2. @yukawa

    ninja win: Suppress noisy messages from link.exe when LTCG is enabled

    When LTCG is enabled, link.exe emits noise like:
    
    "
    Generating code
    Finished generating code
    "
    
    With this CL, win_tool.py drains those noisy messages to keep the console
    clean in successfull builds.
    
    BUG=gyp:500
    TEST=unittest
    R=thakis@chromium.org
    
    Review URL: https://codereview.chromium.org/1400993002 .
    yukawa committed Oct 12, 2015
Commits on Sep 25, 2015
  1. @mark-chromium

    Fix infinite loop on empty variable name.

    R=mark@chromium.org
    
    Review URL: https://codereview.chromium.org/1364373004 .
    
    Patch from bnoordhuis <ben@strongloop.com>.
    bnoordhuis committed with mark-chromium Sep 25, 2015
Commits on Sep 24, 2015
  1. @sgraham

    Add support for a CPPFLAGS_host environment variable, and update the …

    …cflags test to verify it.
    
    Note this support only exists for Make and Ninja generators.
    
    Patch from lindleyf@google.com.
    
    BUG=
    R=scottmg@chromium.org
    
    Review URL: https://codereview.chromium.org/1365013003 .
    sgraham committed Sep 24, 2015
  2. @sgraham

    Make the ninja generator handle symlinked paths correctly.

    Re-spin of https://codereview.chromium.org/1236933002.
    
    Previously, RelativePath() was changed to use abspath instead of realpath unconditionally. This broke the XCode generator in some cases. This re-spin simply allows the caller to optionally specify that they do not want symlinks to be followed, and this is only done in the ninja generator. This approach is not ideal since it is not obvious why this option is needed for ninja but not elsewhere; but it is a much lower-risk change than the previous attempt.
    
    Patch from lindleyf@google.com.
    
    BUG=
    R=scottmg@chromium.org
    
    Review URL: https://codereview.chromium.org/1365163002 .
    sgraham committed Sep 24, 2015
Commits on Sep 18, 2015
  1. @sdefresne @mark-chromium

    Fallback to '.tbd' for system missing '.dylib'.

    With Xcode 7 the '.dylib' for system libraries are no longer present
    but instead only '.tbd' are shipped maybe in an effort to reduce the
    size of the SDK download.
    
    Change XcodeSettings._AdjustLibrary() to look for a '.tbd' file for
    system libraries (those whose path starts by "$(SDKROOT)"). Only do
    the substitution if the '.dylib' cannot be found and a '.tbd' file
    with the same path exists.
    
    BUG=517914
    R=justincohen@chromium.org, mark@chromium.org
    
    Review URL: https://codereview.chromium.org/1275133004 .
    
    Patch from Sylvain Defresne <sdefresne@chromium.org>.
    sdefresne committed with mark-chromium Sep 18, 2015
Commits on Sep 16, 2015
  1. Update gyp LINK_COMMANDS_AIX to support both 32-bit and 64-bit files.

    * cmd_alink: Add -X32_64 option.
    * cmd_alink_thin: Add -X32_64 option.
    
    BUG=
    R=thakis@chromium.org
    
    Review URL: https://codereview.chromium.org/1319663007 .
    Daniel Vogelheim committed Sep 16, 2015
Commits on Sep 4, 2015
  1. @sgraham

    Make sure GYP supports compiling managed code.

    The settings were declared but not applied when generating
    the project files.
    
    R=scottmg@chromium.org
    
    Review URL: https://codereview.chromium.org/1331463002 .
    sgraham committed Sep 4, 2015
  2. @flagxor

    Revert "Make RelativePath use abspath rather than realpath for the 'p…

    …ath' variable."
    
    This reverts commit 121d89d.
    
    R=dpranke@chromium.org
    
    > Make RelativePath use abspath rather than realpath for the 'path' variable.
    > This allows gyp to work correctly in symlink-heavy environments. Basically,
    > this is because gyp paths need to be in a consistent tree, so we need to
    > compute a path to the target within the *stated* tree, even if it is not
    > the real underlying path to the target. The 'relative_path' variable does
    > need to be resolved using realpath, since gyp or the underlying build system
    > might cd to it before looking for the 'path' target.
    >
    > Also make Ninja's host configuration consult environment variables analogous
    > to those it previously had for the target configuration, and replace os.getenv
    > with os.environ.get for consistency.
    >
    > R=thakis@chromium.org
    
    BUG=
    
    Review URL: https://codereview.chromium.org/1315373003 .
    flagxor committed Sep 4, 2015
Commits on Sep 3, 2015
  1. @dpranke

    Fix paths with different seperators being compared in the analyzer on…

    … Windows.
    
    Passes analyzer tests (were previously failing on Windows).
    
    BUG=527935
    R=dpranke@chromium.org
    
    Review URL: https://codereview.chromium.org/1325243002 .
    dpranke committed Sep 3, 2015
Commits on Sep 1, 2015
  1. @nico

    Make RelativePath use abspath rather than realpath for the 'path' var…

    …iable.
    
    This allows gyp to work correctly in symlink-heavy environments. Basically,
    this is because gyp paths need to be in a consistent tree, so we need to
    compute a path to the target within the *stated* tree, even if it is not
    the real underlying path to the target. The 'relative_path' variable does
    need to be resolved using realpath, since gyp or the underlying build system
    might cd to it before looking for the 'path' target.
    
    Also make Ninja's host configuration consult environment variables analogous
    to those it previously had for the target configuration, and replace os.getenv
    with os.environ.get for consistency.
    
    R=thakis@chromium.org
    
    Committed: https://chromium.googlesource.com/external/gyp/+/3a0fcb40557e3ba02273609e49801fdb714f9ee2
    
    Review URL: https://codereview.chromium.org/1236933002 .
    
    Patch from Lindley French <lindleyf@google.com>.
    Lindley French committed with nico Sep 1, 2015
  2. @sgraham

    Improve error messages when <!(commands) fail

    Make gyp report both the failing command and the gyp file name when a
    <!(command) is not successful. Handle non-zero exit status and Popen
    exception (usually file not found) error cases.
    
    Patch from tsniatowski@opera.com.
    
    R=scottmg@chromium.org, thakis@chromium.org
    BUG=
    
    Review URL: https://codereview.chromium.org/1322643002 .
    sgraham committed Sep 1, 2015
Commits on Aug 31, 2015
  1. @nico

    Inject pylib first in the path. This ensures that test load the version

    of pylib in this repo, not elsewhere on the system.
    
    BUG=
    R=thakis@chromium.org
    
    Committed: https://chromium.googlesource.com/external/gyp/+/a6c180603c7588797f35e01d8e4031279b735134
    
    Review URL: https://codereview.chromium.org/1313553008 .
    
    Patch from Lindley French <lindleyf@google.com>.
    Lindley French committed with nico Aug 31, 2015
Commits on Aug 19, 2015
  1. @dpranke

    Analyzer didn't match correctly targets that defined path to inputs w…

    …ith '.'
    
    relative path values. So let normalize path before matching.
    
    BUG=gyp:487
    TEST=covered by tests
    R=mark@chromium.org, sky@chromium.org
    
    Review URL: https://codereview.chromium.org/1088163002 .
    dpranke committed Aug 19, 2015
Commits on Aug 14, 2015
  1. @bulldy80

    msvs_emulation: Add support for StackReserveSize and StackCommitSize

    Note that StackCommitSize has no effect unless StackReserveSize is also set.
    This is consistent with how msvs works.
    
    BUG=
    R=scottmg@chromium.org
    
    Review URL: https://codereview.chromium.org/1288223004 .
    bulldy80 committed Aug 14, 2015
Commits on Aug 12, 2015
  1. @sgraham

    Added msvs_target_platform_version and msvs_target_platform_minversio…

    …n for winrt compilation
    
    With the introduction of Windows 10 Universal applications, winrt app projects require target platform version information.  This change allows this value to customized in the GYP.
    
    Patch from coopp@microsoft.com.
    
    R=scottmg@chromium.org
    
    Review URL: https://codereview.chromium.org/1267703004 .
    sgraham committed Aug 12, 2015
Something went wrong with that request. Please try again.