13 Commits

Author SHA1 Message Date
kcbanner
7c2ba950a7 build: .c ofmt does not produce a pdb 2023-01-29 15:04:51 -05:00
Andrew Kelley
d703270545 zig build system: add LibExeObjStep.installLibraryHeaders
This function is needed when a library exposes one of its own library
dependency's headers as part of its own public API.

Also, improve error message when a file system error occurs during
install file step.
2023-01-25 02:45:57 -05:00
David Gonzalez Martin
dfcedfdca0 build: Fix red zone flag 2023-01-24 15:41:30 -05:00
Andrew Kelley
6d38dba72e std.build.LibExeObjStep: avoid putting static libs inside static libs 2023-01-20 19:31:38 -07:00
Andrew Kelley
7ea3937c5a std.build.LibExeObjStep: better handle transitive deps
* no longer repeat -lc on the linker line redundantly
 * when using linkLibrary() with a static library, it will now also put
   the static library's static library dependencies on the linker line,
   recursively.
 * refactor out a common pattern to an addFlag function
2023-01-20 16:58:31 -07:00
Andrew Kelley
65586b9869 std.build.LibExeObjStep: change installHeader API
Now it always takes a dest_rel_path parameter, making it slightly more
verbose, and much more useful.
2023-01-17 00:45:04 -07:00
Andrew Kelley
37424fd11a add std.build.LibExeObjStep.installHeadersDirectoryOptions
For when you need options such as excluding certain extensions.
2023-01-16 16:09:24 -07:00
Andrew Kelley
fe8951cc94 zig build: add Artifact.installHeadersDirectory
This one is useful for when the C library has a "include" directory but
it needs to get renamed to, e.g. "lame" when being installed.
2023-01-11 15:39:49 -08:00
Andrew Kelley
416717d04e zig build: support libraries aware of installed headers 2023-01-11 15:39:49 -08:00
Andrew Kelley
ea792011d1 add std.build.ConfigHeaderStep
This API converts a config.h.in file into config.h. This is useful when
introducing a build.zig file to an existing C/C++ project that is
configured with autotools or cmake.

The cmake syntax is not implemented yet.
2023-01-07 18:07:10 -07:00
Frank Denis
6ad92108e2 ELF linker: support common-page-size and max-page-size lld opts
These linker flags are required to build static ELF binaries that
can run under the Blink emulator:

https://github.com/jart/blink/issues/14
2023-01-05 19:39:17 -07:00
Luuk de Gram
4bffe645c6
std: remove hack in test step
This hack was initially introduced as we would export all symbols
unconditionally, including non-function definitions. This would cause
an error from the Wasmtime runtime engine, which this flag would
suppress. As we now properly export symbols, this flag is no longer
needed and any user running into this error can manually include it.

This commit also adds the `--import-symbols` ability to build.zig
2022-12-28 15:57:19 +01:00
Andrew Kelley
dd547f06c6 std.build: extract steps to separate files
There are intended to be no functional changes in this commit.
2022-12-11 12:48:17 -07:00