summaryrefslogtreecommitdiffstats
path: root/tools/gn/secondary/net
Commit message (Collapse)AuthorAgeFilesLines
* [net] Move android/x509_util.[cc|h] to cert/x509_util_android.[cc|h]nyquist@google.com2013-10-221-2/+2
| | | | | | | | | | | | Another x509_util.[cc|h] already exist, and the Android specific files where introduced in r230126. BUG=149426 R=rsleevi@chromium.org Review URL: https://codereview.chromium.org/35763004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230218 0039d316-1c4b-4281-b951-d872f2087c98
* Listen for new system certificates.qsr@chromium.org2013-10-221-0/+2
| | | | | | | | | | | | Android use the system certificate database. This CL ensure that a modification of the system certificates is received by services that listen for those. BUG=149426 Review URL: https://codereview.chromium.org/27500004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230126 0039d316-1c4b-4281-b951-d872f2087c98
* GYP generator for GN.brettw@chromium.org2013-10-161-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | This creates a GYP generator for GN. The GN build is run twice, once for debug and once for release mode. The resulting targets are paired to find the debug/release version of each one, and we write out the results as a GYP file. Since a GN build can change anything based on the debug/release status, including changing the file list, and GYP can't there are a bunch of checks to make sure that the source files and deps don't vary between the debug and release version of the same target. I split the Setup class apart so I can make duplicate Setup classes base on an original one (I use this to configure a release build based on the debug one). I added some copy constructors to the necessary classes so this would work. This reads in the GYP_DEFINES and configures the GN build in the same way. The mapping between GYP_DEFINES and gl flags is hardcoded. I had to write some parsing code for the GYP_DEFINES which is unfortunate. I added a new GN variable "gyp_file" for targets to set the GYP file that they should be written to. I added a parameter for the Windows SDK path that matches the GYP build. This removes the old "GYP" command. I commented out all of the grit rules. These aren't helping anything right now and just slow down testing. BUG=307571 R=scottmg@chromium.org Review URL: https://codereview.chromium.org/26561005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228933 0039d316-1c4b-4281-b951-d872f2087c98
* Add inherited libs and lib_dirs to GN.brettw@chromium.org2013-10-071-4/+4
| | | | | | | | | | | | | | | | | The libs and lib_dirs are pushed up the tree until they reach a shared library or executable. Additionally, I added prefixes in the toolchain to specify these. This converts ldflags to be per-target rather than inherited which was previously used to implement this feature. Rename includes to include_dirs for consistency with lib_dirs. Remove the sill swap_in_* inline functions and just do foo().swap(). BUG= R=scottmg@chromium.org Review URL: https://codereview.chromium.org/26074002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227328 0039d316-1c4b-4281-b951-d872f2087c98
* This makes the Skia build work 95% in GN and it fixes a number of error ↵brettw@chromium.org2013-10-041-4/+0
| | | | | | | | | | | reporting bugs I found along the way. BUG= R=scottmg@chromium.org Review URL: https://codereview.chromium.org/25360004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227057 0039d316-1c4b-4281-b951-d872f2087c98
* Some fixes for the GYP subcommand of GNbrettw@chromium.org2013-10-033-96/+95
| | | | | | | | | | | | | | | | | This adds support for writing shorter paths if an output file is inside the output directory (previously we'd write "../../out/Debug/foo" when we could just write "foo"). Fixing this was necessary because we need to match GYP's input/output files exactly and GYP does this. I also fixed a buf with outputting root dirs not ending with a slash, and added an assertion that the output isn't system-absolute (since the code doesn't handle this yet). The GYP integration didn't work due to slashes being different on Windows, so I convert them whem I read GYP's ninja file. I also deal with Windows lineendings. Some buildfile fixes for GYP compatibility, and the previous patch had the wrong name for LASTCHANGE. I changed the default to a non-component build since this is the GYP default. They both need to agree about this. BUG= R=scottmg@chromium.org Review URL: https://codereview.chromium.org/25058007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226777 0039d316-1c4b-4281-b951-d872f2087c98
* Get gn generation working on macjamesr@chromium.org2013-10-021-5/+3
| | | | | | | | | | | | | | This fixes a few minor issues so initial gn generation passes and the 'base' target can be built. Specifically: - fixes so ldflags in the compiler config - update to_build_path() calls to rebase_path() calls - comment out some deps on nss targets that don't exist yet R=brettw Review URL: https://codereview.chromium.org/25583005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226591 0039d316-1c4b-4281-b951-d872f2087c98
* Add ability to rename a target's output name.brettw@chromium.org2013-09-102-3/+5
| | | | | | | | | | | This allows us to remove some awkward naming. BUG= R=jamesr@chromium.org Review URL: https://codereview.chromium.org/23726025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222382 0039d316-1c4b-4281-b951-d872f2087c98
* Remove nss hack in chrome.brettw@chromium.org2013-09-103-15/+34
| | | | | | | | | | | | | | | | | This does more correct dependencies and flags for linking NSS into Chrome. It adds buildfiles for skia. The library compiles on Linux but likely not other systems at this point and is still a bit of a mess. Defines are now escaped properly so you can have quotes in defined values (this was needed for Skia). This adds a describe command for printing out the applying ld flags, and removes duplicates earlier using a new OrderedSet container. BUG= R=scottmg@chromium.org Review URL: https://codereview.chromium.org/23480042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222377 0039d316-1c4b-4281-b951-d872f2087c98
* Add a GYP command to GN. This runs GYP and then GN, and does some work to ↵brettw@chromium.org2013-08-292-1/+4
| | | | | | | | | | | | | | | | | | | integrate the builds. Adds an "external" variable that's set in the GYP mode of GN that will cause it to not write out a target but to pretend it's there. These are the ones that should be generated by GYP. This value is not used in the normal "gen" mode so we actually have two builds: a separate GN-only build that includes GN itself and some other low-level libraries, and a hybrid build. This renames and moves some of the GN targets so that the names and locations match those of the GYP build. I prefixed the ninja rules for the default toolchain to avoid colliding with the GYP ones. I also fixed some places where the rules were not getting prefixed. I added an exception to target output labeling to avoid double-prefixing with "lib". TBR=scottmg BUG= Review URL: https://codereview.chromium.org/23493013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220367 0039d316-1c4b-4281-b951-d872f2087c98
* GN: Add some variables, work on net compiling.brettw@chromium.org2013-08-232-2/+1186
| | | | | | | | | | | This also adds unit tests for the built-in default variables and fixes a bug. BUG= R=scottmg@chromium.org Review URL: https://codereview.chromium.org/23347003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219331 0039d316-1c4b-4281-b951-d872f2087c98
* This make the GN current dir be set on thte scope. This fixes a bug where a ↵brettw@chromium.org2013-08-231-37/+5
| | | | | | | | | | | | | | | | | | | | | | | template execution uses the directory of the file containing the template declaration. This makes it impossible to refer to the input files which are normally specified relative to the invoking file. I added a defined() function that returns true if a variable has been defined. This needed some magic function invocation help because we don't actually want to evaluate the argument. I added an optional second argument to assert for an error message. We now tolerate absolute file paths for sources and outputs. Grit was outputtings these, which was confusiong some of our assertions. We'll now check if such locations are inside our source tree and fix them up accordingly. I fixed a bug in the "desc" command where a target would be listed as a dependent of itself. I also added the target type to the output. Note that I didn't implement MakeAbsolutePathRelativeIfPossible on Windows. I will do this on Windows in a second pass. Currently it's an #error. There are several fixes to custom script target outputs and fixes to variables leftover from when I converted paths to start with two slashes. BUG= R=scottmg@chromium.org Review URL: https://codereview.chromium.org/23396002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219161 0039d316-1c4b-4281-b951-d872f2087c98
* Various config fixes in GN.brettw@chromium.org2013-08-211-1/+0
| | | | | | | | | | | | | | | | | | | | This makes direct and all dependent configs also apply to the current target. Previously you had to specify the same thing in the "configs" variable in addition, and I can't think of a case where you don't want this. This makes it so that a config applies only once. Previously we would merge dependent configs and get duplicates, which would mean lots of duplicate build flags which was obvious on the command line. Adds the ability to forward direct dependent configs from one target to another. This matches GYP's export_dependent_settings feature which we use a surprising amount. R=scottmg@chromium.org Review URL: https://codereview.chromium.org/22833006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218865 0039d316-1c4b-4281-b951-d872f2087c98
* Moved base test support stuff to //base/test/brettw@chromium.org2013-08-213-0/+152
Moved gtest from //testing to //testing/gtest By default, gn desc prints out all build flags (before it only printed them if you asked). Also, I added the objective C ones. Added support for non-Windows assembly files. Static libraries on Linux now start with "lib". I added a new relative_source_root_dir which I needed for some grit work. All dependencies of net now build, although net itself isn't done yet. This includes crypto, SSH, and the SSL library. I worked a bunch on the libssl build. I added some build flags for configuring it to crypto/ssl. This is a nice demo of build modularization since this doesn't have to be in //build anymore. I started working on a grit template to define the net resources. I found a bunch of things I need to implement so I'm checking the current state in with that stuff commented out and going to work on those features in a separate pass. BUG= R=scottmg@chromium.org Review URL: https://codereview.chromium.org/23112010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218838 0039d316-1c4b-4281-b951-d872f2087c98