Coder Social home page Coder Social logo

danath / gyp Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 8.53 MB

Automatically exported from code.google.com/p/gyp

License: BSD 3-Clause "New" or "Revised" License

Python 95.27% C++ 1.84% Shell 0.55% Batchfile 0.05% C 1.70% Assembly 0.05% Objective-C 0.45% Objective-C++ 0.08% Swift 0.01%

gyp's People

Contributors

bradn123 avatar bulldy80 avatar bungeman avatar chhamilton avatar danbeam avatar dpranke avatar flagxor avatar jeisinger avatar lindleyf avatar maruel avatar nico avatar otherdaniel avatar randomascii avatar sdefresne avatar sebmarchand avatar sgraham avatar tornewuff avatar yury-s avatar

Watchers

 avatar

gyp's Issues

ExpandVar doesn't print the input file name

What steps will reproduce the problem?
1. Run gyp -f make -DOS=freebsd build/all.gyp
2. (Don't) see the failing gyp file

Here's the output before the patch:

: flz@mayday:/home/flz/home/chrome-svn/tarball/chromium/src; ./tools/gyp/gyp -f 
make -
DOS=freebsd build/all.gyp
Traceback (most recent call last):
  File "./tools/gyp/gyp", line 14, in <module>
    sys.exit(gyp.main(sys.argv[1:]))
  File "./tools/gyp/pylib/gyp/__init__.py", line 228, in main
    includes, options.depth)
  File "./tools/gyp/pylib/gyp/__init__.py", line 61, in Load
    depth, generator_input_info)
  File "./tools/gyp/pylib/gyp/input.py", line 1573, in Load
    LoadTargetBuildFile(build_file, data, aux_data, variables, includes, depth)
  File "./tools/gyp/pylib/gyp/input.py", line 281, in LoadTargetBuildFile
    includes, depth)
  File "./tools/gyp/pylib/gyp/input.py", line 281, in LoadTargetBuildFile
    includes, depth)
  File "./tools/gyp/pylib/gyp/input.py", line 281, in LoadTargetBuildFile
    includes, depth)
  File "./tools/gyp/pylib/gyp/input.py", line 244, in LoadTargetBuildFile
    build_file_path)
  File "./tools/gyp/pylib/gyp/input.py", line 620, in ProcessVariablesAndConditionsInDict
    build_file)
  File "./tools/gyp/pylib/gyp/input.py", line 636, in ProcessVariablesAndConditionsInList
    build_file)
  File "./tools/gyp/pylib/gyp/input.py", line 620, in ProcessVariablesAndConditionsInDict
    build_file)
  File "./tools/gyp/pylib/gyp/input.py", line 636, in ProcessVariablesAndConditionsInList
    build_file)
  File "./tools/gyp/pylib/gyp/input.py", line 620, in ProcessVariablesAndConditionsInDict
    build_file)
  File "./tools/gyp/pylib/gyp/input.py", line 640, in ProcessVariablesAndConditionsInList
    expanded = ExpandVariables(item, is_late, variables, build_file)
  File "./tools/gyp/pylib/gyp/input.py", line 356, in ExpandVariables
    ' in ' + input
KeyError: 'Undefined variable source_files in <@(source_files)'


Here's the output after the patch:

: flz@mayday:/home/flz/home/chrome-svn/tarball/chromium/src; ./tools/gyp/gyp -f 
make -
DOS=freebsd build/all.gyp
Traceback (most recent call last):
  File "./tools/gyp/gyp", line 14, in <module>
    sys.exit(gyp.main(sys.argv[1:]))
  File "./tools/gyp/pylib/gyp/__init__.py", line 228, in main
    includes, options.depth)
  File "./tools/gyp/pylib/gyp/__init__.py", line 61, in Load
    depth, generator_input_info)
  File "./tools/gyp/pylib/gyp/input.py", line 1573, in Load
    LoadTargetBuildFile(build_file, data, aux_data, variables, includes, depth)
  File "./tools/gyp/pylib/gyp/input.py", line 281, in LoadTargetBuildFile
    includes, depth)
  File "./tools/gyp/pylib/gyp/input.py", line 281, in LoadTargetBuildFile
    includes, depth)
  File "./tools/gyp/pylib/gyp/input.py", line 281, in LoadTargetBuildFile
    includes, depth)
  File "./tools/gyp/pylib/gyp/input.py", line 244, in LoadTargetBuildFile
    build_file_path)
  File "./tools/gyp/pylib/gyp/input.py", line 620, in ProcessVariablesAndConditionsInDict
    build_file)
  File "./tools/gyp/pylib/gyp/input.py", line 636, in ProcessVariablesAndConditionsInList
    build_file)
  File "./tools/gyp/pylib/gyp/input.py", line 620, in ProcessVariablesAndConditionsInDict
    build_file)
  File "./tools/gyp/pylib/gyp/input.py", line 636, in ProcessVariablesAndConditionsInList
    build_file)
  File "./tools/gyp/pylib/gyp/input.py", line 620, in ProcessVariablesAndConditionsInDict
    build_file)
  File "./tools/gyp/pylib/gyp/input.py", line 640, in ProcessVariablesAndConditionsInList
    expanded = ExpandVariables(item, is_late, variables, build_file)
  File "./tools/gyp/pylib/gyp/input.py", line 356, in ExpandVariables
    ' in ' + build_file
KeyError: 'Undefined variable source_files in /usr/home/flz/home/chrome-
svn/tarball/chromium/src/third_party/ffmpeg/ffmpeg.gyp'

Original issue reported on code.google.com by [email protected] on 9 Jul 2009 at 8:05

Attachments:

lib suffix

There should be a standard library suffix type variable.

Original issue reported on code.google.com by [email protected] on 17 Jun 2009 at 5:27

handle setup_mount.bat

Currently gyp on windows assumes that the semi-hermetic version of cygwin 
used in chromium has been configured in the registry with the setup_mount.bat 
present in the source tree. Ideally this would either not be required, or 
alternatively their should be a way to properly express this dependency.

Original issue reported on code.google.com by [email protected] on 26 Apr 2009 at 9:50

msvs_precompiled_source doesn't play well with msvs_settings

In the case where msvs_precompiled_source is used simultaneously with 
msvs_settings, the two can clash because msvs_precompiled_source assumes that 
only a single source file will be listed. In general there should only be a 
single one, but failing with a mysterious string collision error is not a 
good failure mode. We should either support multiple, or complain more 
coherently.

Original issue reported on code.google.com by [email protected] on 26 Apr 2009 at 10:11

Allow variables overriding from the command line

What steps will reproduce the problem?
1. Try gyp -f make -DOS=freebsd
2. See that gyp file will be parsed with OS=linux
3. Cry to sleep

I'm using gyp on FreeBSD 7.2-RELEASE.

The attached patch uses the generator default variables first then the
command line variables.

Original issue reported on code.google.com by [email protected] on 5 Jun 2009 at 9:49

Attachments:

Split actions/rules with process_outputs_as_sources=1 as _prebuild project for MSVC

What steps will reproduce the problem?
1. Set 'process_outputs_as_sources': 1 in an action as done in 
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/webkit.gyp
2. See MSVC chocking on dependency processing for incremental build.

What is the expected output? What do you see instead?
MSVC200x doesn't support updating the dependency tree while processing a single 
project. The dependency tree is only updated after processing a whole project. 
So generated sources must be in a separate project from the steps that generate 
the said sources to have the dependency scanning done properly. This makes 
process_outputs_as_sources effectively broken and useless and should be removed 
accordingly. webkit.gyp and installer.gyp need to be updated to not use this 
flag anymore and support for this flag must be removed until we drop support 
for 
vcproj exports.

Original issue reported on code.google.com by [email protected] on 8 Jul 2009 at 3:10

gyp.bat hates paths with spaces

What steps will reproduce the problem?
1. Check out gyp into a path with spaces
2. Try to run gyp.bat
3. It doesn't work

In Windows, if a path has spaces you are expected to enclose it in quotes.  
gyp.bat fails to do this so python errors out because it can't find the 
path specified.

Using revision 536 on Windows XP SP3.

I would commit the fix myself but cygwin svn.exe gives me some error 
message that makes no sense to me.  I guess I have to set something up 
first.

Fixed batch file is attached.

Original issue reported on code.google.com by megazzt on 3 Jul 2009 at 5:05

Attachments:

mium/

What steps will reproduce the problem?
1.
2.
3.

What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?


Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 8 Jun 2009 at 12:38

includes should not be pulled in if the related target is not used

Currently if any target in a gyp file is used, the entire gyp file is 
processed, including targets that 
are not used. This means that included gypi's get included, even if they are 
not relevant. Ideally, this 
would not happen, as this prevents gating in and out sections of a project.

Original issue reported on code.google.com by [email protected] on 13 Jul 2009 at 11:24

link_settings does not work for targets of type none

What steps will reproduce the problem?
1. Have a target of type none
2. Attempt to place a link_settings section inside of it

Take a look at ffmpeg.gyp:
http://src.chromium.org/viewvc/chrome/trunk/src/third_party/ffmpeg/ffmpeg.gyp
?revision=19579&view=markup

The settings do not get propagated to executables and shared libraries.  The 
current workaround is to place it inside of a direct_dependent_settings 
section, which will make the media lib pick up the link_settings, where it 
will then propagate to executables and shared libraries.

Original issue reported on code.google.com by [email protected] on 30 Jun 2009 at 10:53

variable set in condition is undefined when used by a target defined in another condition (BRANDING)

In the self-contained example below, "gyp -f gypd" generates an error:

KeyError: 'Undefined variable BRANDING in <(BRANDING)'

As described in the comments below, the variable *is* defined if the target 
is itself outside of a condition.  It also doesn't matter if the two 
condition blocks are swapped in the 'conditions' list (i.e., you try to put 
the condition that defines the BRANDING variable "before" the target 
condition), you get the undefined variable error regardless of the order.


{
  'variables': {
    'OS': 'win',
    'branding': 'Chrome',
    # 'BRANDING' is set in the 'conditions' section at the bottom.
  },
  # BRANDING *is* defined for this target outside of the condition:
  #'targets': [
  #  {
  #    'target_name': 'mini_installer',
  #    'type': 'none',
  #    'sources': [
  #      '<(BRANDING)',
  #    ],
  #  },
  #],
  'conditions': [
    ['OS=="win"', {
      # BRANDING is undefined for this conditional target
      'targets': [
        {
          'target_name': 'setup',
          'type': 'none',
          'sources': [
            '<(BRANDING)',
          ],
        },
      ],
    }],
    [ 'branding == "Chrome"', {
      'variables': {
         'BRANDING': '../../chrome/app/theme/google_chrome/BRANDING',
      },
    }, { # else branding!="Chrome"
      'variables': {
         'BRANDING': '../../chrome/app/theme/chromium/BRANDING',
      },
    }],
  ],
}




Original issue reported on code.google.com by [email protected] on 29 May 2009 at 5:46

FASTBUILD is not working

Due to the migration of settings out of vsprops in the debug configuration in 
gyp, FASTBUILD does not work correctly. We should figure out how to duplicate 
this correctly using gyp generation.

Original issue reported on code.google.com by [email protected] on 5 May 2009 at 6:10

Incompatible with Python 3

When does the problem occur?
The problem occurs when a user attempts to compile GYP with Python 3.0.x.

What is the expected output? What do you see instead?
Rather than a properly compiled GYP, Python outputs a plethora of errors, 
mostly syntactical.

What version of the product are you using? On what operating system?
GYP: Revision 520
OS: Windows 7 Ultimate RC1 x64
Python: Python 3.0.1 AMD64

Please provide any additional information below.
I am almost done updating the source for Python 3.

Original issue reported on code.google.com by techsoftadvanced on 17 Jun 2009 at 8:52

Add support for vs2008

Apparently visual studio 2008 can be supported with a simple version change 
to the emitted projects/solutions. We should support this, possibly auto-
detecting which version to emit.

Original issue reported on code.google.com by [email protected] on 26 Apr 2009 at 10:13

msvs generator does not rebuild when command lines have changed

Visual Studio normally only keeps track of changes to project properties 
(including those that affect the command-lines run) for the duration of one 
session. Nothing is kept on disk.

So for instance if you add a command line flag to a particular project. 
Visual studio will correctly understand that this project needs to be 
rebuild if you do it right away. If you exit and restart visual studio 
after having changed and saved the project, it will not detect that a 
rebuild is needed.

We can use gyp to compensate for this behavior using the following trick: 
Store a file containing the complete set of information known at gyp time 
related to each configuration of a target. Then add a dependency on that 
file to its related target. Only touch the file if the settings have 
changed.

Original issue reported on code.google.com by [email protected] on 26 Apr 2009 at 9:56

fix @cmd syntax on windows

What steps will reproduce the problem?
1.
2.
3.

What is the expected output? What do you see instead?


Please use labels and text to provide additional information.



Original issue reported on code.google.com by [email protected] on 12 Jun 2009 at 9:33

gyp seems to improperly handle variables with underscores in them

On windows if an include_dir uses a variable whose name has underscores, the 
contents of the 
variable do not seem to be escaped correctly with regard to backslashes. The 
path is interpreted as 
single \path which causes stray control characters to appear in the generated 
vcproj files.


Original issue reported on code.google.com by [email protected] on 4 Jun 2009 at 11:40

linux emitter acts weird if two targets in different gyps have the same name

beng was trying to have app.gyp:app and chrome.gyp:app, one was a library, 
one an executable that used the library. This caused inconsistent behavior 
on some machines and some builds. Also it is not clear how you would build 
only one module at the command line.

We should either fix this, or detect it and complain on all the generators.


Original issue reported on code.google.com by [email protected] on 17 May 2009 at 5:46

Need a way to exclude dredged in dependencies

It would be nice to be able to build libraries like base without having to 
drag in icu. Unfortunately, when you depend on another library, there's no 
easy way to do so without dragging in all the link dependencies associated 
with it. A global variable could gate things out project wide, but what if 
you want to build one way in some places but not others in the same build?

Original issue reported on code.google.com by [email protected] on 13 Jul 2009 at 6:24

msvs generator may emit lf instead of crlf in headers for some python versions

The msvs generator uses the built-in xml module. This module accepts an eol 
parameter which can 
be used to specify an alternate line ending. This is used for the msvs 
generator since visual studio 
and incredibuild expect crlf. Unfortunately some versions of python2.4 
(including unfortunately the 
one chromium has checked in) ignore this parameter when emitting the xml 
header. Fortunately, 
visual studio and incredibuild will accept either variant for the header. But 
it would be nice to be 
consistent. We should find an alternative that works on all python versions.

Original issue reported on code.google.com by [email protected] on 27 Apr 2009 at 7:34

Add support for FreeBSD 7.x and 8.x

The attached patch defines a default generator for FreeBSD 7.x and 8.x.

It also changes the shebang line in gyp from /usr/bin/python to
/usr/bin/env python, as python doesn't live in /usr/bin on FreeBSD. The
same change could be done to all python sources but gyp is the only one
being called directly.

Original issue reported on code.google.com by [email protected] on 5 Jun 2009 at 9:52

Attachments:

msvs_precompiled_* should pull things out of excluded on windows

A syntax like the following should work, but currently you need to 
explicitly gate precompiled headers from windows out on other platforms, 
but not on windows.
{
   'sources': [
         .....
       'bob_precompiled.cc',
       'bob_precompiled.h',
    }
    'sources!': [
       'bob_precompiled.cc',
       'bob_precompiled.h',
    ],
    'configurations': {
        'Debug': {
             'msvs_precompiled_header': 'bob_precompiled.h',
             'msvs_precompiled_source': 'bob_precompiled.cc',
         },
     },  
}

Original issue reported on code.google.com by [email protected] on 27 Apr 2009 at 6:28

Add more clear groupings to solutions generated for msvs

Currently, sln files are generated which list all targets in the current 
directory at the top level, and all others under a folder called 
'dependencies'. This is okay for smaller modules, but webkit and chromium 
would benefit from more specific grouping.

There are two options:
1. Support an extended syntax which would allow category groupings like 
'tools', 'tests', 'submodules' similar to the pre-gyp sln files.
2. Do something intelligent with actual target dependencies. For instance 
list only direct dependencies in the main 'dependencies' folder and have 
subdependencies list down a layer deeper.

There is no direct equivalent of this problem for xcode, since targets 
outside the current gyp file are external project references. This 
unfortunately doesn't work in visual studio, which needs fully populated 
sln files.

Original issue reported on code.google.com by [email protected] on 26 Apr 2009 at 10:19

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.