summaryrefslogtreecommitdiff
path: root/rules.ninja
AgeCommit message (Collapse)Author
2025-04-28Use our own pax for extracting archivesMichael Forney
This reduces dependencies and variability in pax implementations.
2021-06-27Compress root.tar with zstdMichael Forney
2020-06-22Build root.tar from fspec rather than git repositoryMichael Forney
2020-06-22Add blake3 hashes to fspec filesMichael Forney
2020-06-22Remove unnecessary fetch rulesMichael Forney
2020-06-22Use hyphenated rule namesMichael Forney
2020-06-22Generate root.perms from fspecMichael Forney
2020-06-22Track system header dependenciesMichael Forney
This change was meant to be included in d4297a13c8. Now that we use -isystem to include header from other packages, we should make sure those headers appear in the .d files.
2020-06-04Save stderr of probe commandsMichael Forney
2020-05-10Lua 5.1 compatibilityMichael Forney
2020-03-01binutils: Simplify bfd includesMichael Forney
2020-02-01Fix fetch rules when $basedir != .Michael Forney
2020-01-29Add support for building multiple configurationsMichael Forney
Now, you can build in separate directories per configuration: mkdir foo (cd foo && ../setup.lua) samu -C foo
2019-11-17Add more short command descriptionsMichael Forney
2019-11-17Update ninja requirement to 1.8.0 and don't bother with atomic outputsMichael Forney
Since ninja 1.8.0[0] and samurai 0.2[1], output mtime is always recorded after a job succeeds, and outputs are considered dirty if the recorded mtime is older than any input. This means that even if a command partially writes its output then fails (for example, if run with stdout redirected to a file), it will still get re-run during the next build. This means that outputs no longer have to be written atomically (i.e. renamed into place) in order to ensure a correct build, and we can drop the idiom `command >$out.tmp && mv $out.tmp $out`. [0] https://github.com/ninja-build/ninja/commit/04d886b11041bb59d01df794cce7a1e8cad2250d [1] https://github.com/michaelforney/samurai/commit/799bc5a4719b90a1026c129b55b92c0bccf97eeb
2019-07-06Use a separate preprocessor ruleMichael Forney
Otherwise, we end up passing both -c and -E to the compiler.
2019-01-28Add short description for `cc` ruleMichael Forney
This should prevent going over the maximum log size on travis.
2018-11-12Call lua as lua5.2 to make sure we get the right versionMichael Forney
2018-10-18Add mechanism to probe for size of typeMichael Forney
2018-02-16Port build scripts to POSIX shellMichael Forney
Since we are now using Lua to generate ninja files, use of rc in build scripts seems unnecessary and adds an additional bootstrap dependency. None of them are too fancy, so just port to POSIX sh instead.
2017-10-23Add mechanism to probe for toolchain featuresMichael Forney
2017-09-25Just prepend $outdir/ to -b rather than changing directoryMichael Forney
2017-09-25Rewrite ninja generation scripts in LuaMichael Forney
2017-09-01Remove obsolete tool variablesMichael Forney
We don't use lex, python, or perl for build. For yacc and zic, just remove the variables. It is unlikely that they need to be changed.
2017-08-19Don't track system header dependenciesMichael Forney
This slows down no-op builds and is not really useful since if the toolchain was upgraded and libc.a changes, we need to rebuild manually anyway.
2017-08-04Use stdin and stdout redirects with wayland-scannerMichael Forney
Named input and output wasn't supported until 1.8.0, which is older than the trusty version for travis.
2017-08-04Disable dependency tracking for nasmMichael Forney
nasm currently doesn't output the dependencies correctly: https://bugzilla.nasm.us/show_bug.cgi?id=3392280#c6
2017-02-22Track system header dependenciesMichael Forney
In oasis we are using -isystem for headers from different packages. So, we should track system headers when calculating header dependencies.
2017-02-17mc: Update to latest gitMichael Forney
2017-02-07Use $OLDPWDMichael Forney
2016-12-31mc: Build mbldMichael Forney
2016-12-29Allow using /.git as output repositoryMichael Forney
2016-12-19Use deps file for nasmMichael Forney
2016-12-19Invoke gzip with <$f, since pigz doesn't fail if it is missingMichael Forney
2016-12-18git: Fetch and install man pagesMichael Forney
2016-12-13alsa-lib: Remove snd_pcm_hwsync warningMichael Forney
alsa-lib calls this internally, producing a warning when linking any binary with libasound.a. On a normal system, libasound.a is linked in with -lasound, which seems to silence the warning. However, it is much easier for us to just pass the whole path so instead remove the offending warning section with objcopy.
2016-12-11plan9port: Make sure u.h is included firstMichael Forney
Otherwise, the system headers get included before u.h is able to define feature test macros.
2016-11-19st: Install terminfoMichael Forney
2016-10-30Add waylandproto rule and helperMichael Forney
2016-10-30Provide mechanism to track library dependenciesMichael Forney
Now, ar/lib rules can list static libraries or other .d files. These (as well as the target library) are written to a file called $lib.d. link/exe rules can list these .d files, causing them to be flattened into an RSP file and appear on the command line as @$rsp. The rule to generate the dependency list files depends on the libraries they contain, so they also act as a stamp file for the dependencies. This gives us dependency management for free.
2016-07-16Don't list git repository files as outputsMichael Forney
This way, ninja -t clean will work as expected.
2016-07-04tzdata: Fix gen.rc to not require contents of source filesMichael Forney
This also fixes a symlink target calculation bug.
2016-07-04Add $ldlibs variable to link commandMichael Forney
This is necessary for packages to link with libstdc++.
2016-07-02Add support for nasm sourcesMichael Forney
2016-06-28fetch-curl: Support specifying a pattern of files to extractMichael Forney
2016-06-27Use the console pool for fetch rulesMichael Forney
2016-06-27Integrate source fetching into ninja filesMichael Forney
2016-06-24Add mc (myrrdin)Michael Forney
2016-06-23Add e2fsprogs 1.43.1Michael Forney
2016-06-18Produce sorted .permsMichael Forney