aboutsummaryrefslogtreecommitdiff
path: root/src/target.cpp
AgeCommit message (Collapse)Author
2019-04-14wasm: force single threadedShritesh Bhattarai
2019-04-12wasm: use .wasm ext for exeShritesh Bhattarai
2019-04-11Add initial support for iOS targets (#2237)Matthew Iannucci
* Add iOS C int sizes... try to hack in iOS DebugInfo * Get rid of ios link check for now * Remove macos linkversion check
2019-03-27implement target_c_type_size_in_bits for WASIAndrew Kelley
2019-03-22stage1: implement get_dynamic_linker for riscvAndrew Kelley
2019-03-20Merge remote-tracking branch 'origin/llvm8'Andrew Kelley
2019-03-19zig targets prints the available libcsAndrew Kelley
2019-03-18Merge remote-tracking branch 'origin/master' into llvm8Andrew Kelley
2019-03-13ignore -lm on darwin because it's handled by libSystemAndrew Kelley
2019-03-13fix target_requires_pic and reloc_modeAndrew Kelley
disable failing thread local variable test. see #2063
2019-03-13breaking: remove --static; add -dynamicAndrew Kelley
`--static` is no longer an option. Instead, Zig makes things as static as possible by default. `-dynamic` can be used to choose a dynamic library rather than a static one. `--enable-pic` is a new option. Usually it will be enabled automatically, but in the case of build-exe with no dynamic libraries on Linux or freestanding, Zig chooses off by default. closes #1703 closes #1828
2019-03-13remove nios2 from list of libc targetsAndrew Kelley
2019-03-13Merge remote-tracking branch 'origin/master' into llvm8Andrew Kelley
2019-03-13added z3 and fixed dynamic linker on mingwemekoi
2019-03-12building musl start files from sourceAndrew Kelley
2019-03-10Merge remote-tracking branch 'origin/master' into llvm8Andrew Kelley
2019-03-08breaking changes to zig build API and improved cachingAndrew Kelley
* in Zig build scripts, getOutputPath() is no longer a valid function to call, unless setOutputDir() was used, or within a custom make() function. Instead there is more convenient API to use which takes advantage of the caching system. Search this commit diff for `exe.run()` for an example. * Zig build by default enables caching. All build artifacts will go into zig-cache. If you want to access build artifacts in a convenient location, it is recommended to add an `install` step. Otherwise you can use the `run()` API mentioned above to execute programs directly from their location in the cache. Closes #330. `addSystemCommand` is available for programs not built with Zig build. * Please note that Zig does no cache evicting yet. You may have to manually delete zig-cache directories periodically to keep disk usage down. It's planned for this to be a simple Least Recently Used eviction system eventually. * `--output`, `--output-lib`, and `--output-h` are removed. Instead, use `--output-dir` which defaults to the current working directory. Or take advantage of `--cache on`, which will print the main output path to stdout, and the other artifacts will be in the same directory with predictable file names. `--disable-gen-h` is available when one wants to prevent .h file generation. * `@cImport` is always independently cached now. Closes #2015. It always writes the generated Zig code to disk which makes debug info and compile errors better. No more "TODO: remember C source location to display here" * Fix .d file parsing. (Fixes the MacOS CI failure) * Zig no longer creates "temporary files" other than inside a zig-cache directory. This breaks the CLI API that Godbolt uses. The suggested new invocation can be found in this commit diff, in the changes to `test/cli.zig`.
2019-03-07windows and uefi don't have dynamic linkersAndrew Kelley
2019-03-06support other architectures for glibc startup filesAndrew Kelley
2019-03-05support glibc dl, m, pthread, rtAndrew Kelley
2019-03-04initial glibc supportAndrew Kelley
2019-03-04Merge remote-tracking branch 'origin/master' into llvm8Andrew Kelley
2019-03-01better error message for `-target windows` CLIAndrew Kelley
closes #1169
2019-02-28updates to build with llvm 8.0.0rc3Andrew Kelley
2019-02-28Merge remote-tracking branch 'origin/master' into llvm8Andrew Kelley
2019-02-26breaking changes to the way targets work in zigAndrew Kelley
* CLI: `-target [name]` instead of `--target-*` args. This matches clang's API. * `builtin.Environ` renamed to `builtin.Abi` - likewise `builtin.environ` renamed to `builtin.abi` * stop hiding the concept of sub-arch. closes #1526 * `zig targets` only shows available targets. closes #438 * include all targets in readme, even those that don't print with `zig targets` but note they are Tier 4 * refactor target.cpp and make the naming conventions more consistent * introduce the concept of a "default C ABI" for a given OS/Arch combo. As a rule of thumb, if the system compiler is clang or gcc then the default C ABI is the gnu ABI.
2019-02-25building DLLs on Windows works betterAndrew Kelley
2019-02-23better libc detection (#1996)Andrew Kelley
* better libc detection This introduces a new command `zig libc` which prints the various paths of libc files. It outputs them to stdout in a simple text file format that it is capable of parsing. You can use `zig libc libc.txt` to validate a file. These arguments are gone: --libc-lib-dir [path] directory where libc crt1.o resides --libc-static-lib-dir [path] directory where libc crtbegin.o resides --msvc-lib-dir [path] (windows) directory where vcruntime.lib resides --kernel32-lib-dir [path] (windows) directory where kernel32.lib resides Instead we have this argument: --libc [file] Provide a file which specifies libc paths This is used to pass a libc text file (which can be generated with `zig libc`). So it is easier to manage multiple cross compilation environments. `--cache on` now works when linking against libc. `ZigTarget` now has a bool field `is_native` Better error messaging when you try to link against libc or use `@cImport` but the various paths cannot be found. It should also be faster. * save native_libc.txt in zig-cache This avoids having to detect libc at runtime on every invocation.
2019-02-19valgrind client requests for undefined valuesAndrew Kelley
with this change, when you assign undefined, zig emits a few assembly instructions to tell valgrind that the memory is undefined it's on by default for debug builds, and disabled otherwise. only support for linux, darwin, solaris, mingw on x86_64 is currently implemented. --disable-valgrind turns it off even in debug mode. --enable-valgrind turns it on even in release modes. It's always disabled for compiler_rt.a and builtin.a. Adds `@import("builtin").valgrind_support` which lets code know at comptime whether valgrind client requests are enabled. See #1989
2019-02-18make @enumToInt work on union(enum)emekoi
closes #1711
2019-02-17Add NetBSD supportMaya Rashish
Mostly picking the same paths as FreeBSD. We need a little special handling for crt files, as netbsd uses its own (and not GCC's) for those, with slightly different names.
2019-02-14omit nonnull attribute for C pointersAndrew Kelley
See #1059
2019-01-24update to llvm8 trunk. all tests passingAndrew Kelley
2019-01-01Merge remote-tracking branch 'origin/master' into llvm8Andrew Kelley
2018-12-26fixupsAndrew Kelley
2018-12-24tabs to space fix. thanks visual studio.nebulaeonline
2018-12-23Yet another git user error remnant fixednebulaeonline
2018-12-23msvc subsystem option handling; added uefi os typenebulaeonline
2018-12-23llvm8: fix build errorsAndrew Kelley
2018-12-23Merge remote-tracking branch 'origin/master' into llvm8Andrew Kelley
2018-11-19Merge branch 'freebsd-up' of https://github.com/myfreeweb/zig into freebsd2Andrew Kelley
2018-11-17aarch64 improvementsAndrew Kelley
* support C ABI for all return types * don't include __aeabi_uldivmod & co on aarch64 since it's 64 bit
2018-11-05update to build against llvm trunkAndrew Kelley
2018-11-05Merge remote-tracking branch 'origin/master' into llvm8Andrew Kelley
2018-10-25fix stack pointer register name on i386Andrew Kelley
2018-10-20Add initial freebsd stdlib functionalityMarc Tiehuis
Trivial program now compiles with now warnings.
2018-10-09support building static librariesAndrew Kelley
closes #1493 closes #54
2018-10-06Merge pull request #1429 from shawnl/arm64Andrew Kelley
initial arm64 support
2018-09-19add HermitCore targetAndrew Kelley
2018-09-16Merge remote-tracking branch 'origin/master' into llvm7Andrew Kelley