Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ndsol/subgn
gn meta-build system
https://github.com/ndsol/subgn
build-system chromium ninja
Last synced: 4 days ago
JSON representation
gn meta-build system
- Host: GitHub
- URL: https://github.com/ndsol/subgn
- Owner: ndsol
- Created: 2017-06-06T21:39:59.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-05-23T22:23:55.000Z (over 4 years ago)
- Last Synced: 2024-07-30T17:34:33.018Z (4 months ago)
- Topics: build-system, chromium, ninja
- Language: C++
- Homepage: https://chromium.googlesource.com/chromium/src/tools/gn
- Size: 6.07 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [gn meta-build system](https://github.com/ndsol/subgn) [![CI Status](https://travis-ci.org/ndsol/subgn.svg?branch=master)](https://travis-ci.org/ndsol/subgn)
Actually this is "sub"gn.
subgn:gn::[subninja](https://github.com/ndsol/subninja):ninja.> GN is a meta-build system that generates
[NinjaBuild](https://ninja-build.org/) files so that you can build
~~Chromium~~ anything you want with Ninja.The official **gn** is
[here](https://chromium.googlesource.com/chromium/src/tools/gn/). This repo
tracks the official repo with a few minor additional features.### So is this a fork then?
Yeah, sure. Since "official gn" lives on chromium.googlesource.com, this repo
doesn't bother to clone all git commits. The history has been squashed.Patches are kept to an absolute minimum. No changes here should ever cause a
build to fail which works with "official gn."# Building gn
To build `out_bootstrap/gn`, type:
```
git clone https://github.com/ndsol/subgn
subgn/build.cmd
```### How to replicate what is here
[Build instructions](https://gist.github.com/mohamed/4fa7eb75807463d4dfa3)
(semi-official?) from 2015:
```
#!/bin/bashset -e
set -v# Get the sources
mkdir gn-standalone
cd gn-standalone
mkdir tools
cd tools
git clone https://chromium.googlesource.com/chromium/src/tools/gn
cd ..
mkdir -p third_party/libevent
cd third_party/libevent
wget --no-check-certificate https://chromium.googlesource.com/chromium/chromium/+archive/master/third_party/libevent.tar.gz
tar -xvzf libevent.tar.gz
cd ../..
git clone https://chromium.googlesource.com/chromium/src/base
git clone https://chromium.googlesource.com/chromium/src/build
git clone https://chromium.googlesource.com/chromium/src/build/config
mkdir testing
cd testing
git clone https://chromium.googlesource.com/chromium/testing/gtest
cd ..# Build
cd tools/gn
./bootstrap/bootstrap.py -s
```The applied patch set is included as [subgn.patch](subgn.patch).