aboutsummaryrefslogtreecommitdiff
path: root/lib/std/target.zig
AgeCommit message (Collapse)Author
2021-01-19SPIR-V: Add glsl450 and vulkan spir-v operating system definitionsRobin Voetter
2021-01-19SPIR-V: Initial architecture definitions and setupRobin Voetter
2021-01-11macos: reimplement OS version detectionMichael Dusan
The macOS version is now obtained by parsing `SystemVersion.plist`. Test cases added for plist files that date back to '2005 Panther and up to the recent '2020 Big Sur 11.1 release of macOS. Thus we are now able to reliably identify 10.3...11.1 and higher. - drop use of kern.osproductversion sysctl - drop use of kern.osversion sysctl (fallback) - drop kern.osversion tests - add `lib.std.zig.system.detect()` - add minimalistic parser for `SystemVersion.plist` - add test cases for { 10.3, 10.3.9, 10.15.6, 11.0, 11.1 } closes #7569
2021-01-11std.os.windows.GetFinalPathNameByHandle: address non-structural review commentsRohlem
2021-01-11move windows runtime version detection into std.zig.system.windowsRohlem
2021-01-02std: Use {s} instead of {} when printing stringsLemonBoy
2020-12-31Year++Frank Denis
2020-12-30std: Remove duplicated codeLemonBoy
Make osRequiresLibC call Os.requiresLibC, let's keep a single list of OS that require the libc to be linked in.
2020-11-20stage2: Use correct ppc generic feature setLemonBoy
2020-11-10std.Target: bump default version max for macosAndrew Kelley
2020-10-24Add sparc64-specific values for the various SA_ and SIG_ constantsKoakuma
2020-10-24Use correct names for generic SPARC targetsKoakuma
LLVM calls generic sparc32 CPUs "v8" and generic sparc64 CPUs "v9".
2020-10-24Add pipe(2) supportKoakuma
2020-10-22Merge pull request #6743 from LemonBoy/someppc64stuffAndrew Kelley
Some ppc64 stuff
2020-10-20std: Implement featureSetHasAny/featureSetHasAllLemonBoy
Introduce two helper functions to avoid writing short novels only to check for more than a single feature.
2020-10-19std: Minor changes to startup codeLemonBoy
* Smaller startup sequence for ppc64 * Terminate the frame-pointer chain when executing _start * Make the stack traces work on ppc64 * Make the stack traces coloured on ppc64, some ioctls numbers are different and the whole set of constants should be audited.
2020-10-17Merge branch 'openbsd-minimal' of https://github.com/semarie/zig into ↵Andrew Kelley
semarie-openbsd-minimal
2020-10-17Merge branch 'master' into openbsd-minimalSebastien Marie
2020-10-17Make std.meta.Int accept a signedness parameterJan Prudil
2020-10-15std: move std.meta.refAllDecls to std.testingTadeo Kondrak
2020-10-15getExternalExecutor fixups regarding dynamic linkerAndrew Kelley
* std.Target.standardDynamicLinkerPath: macOS has a dynamic linker * no need to override the default dynamic linker in the macos CrossTarget initialization in the tests * in getExternalExecutor, when validating the dynamic linker path, take into account the standard dynamic linker path.
2020-10-12Merge remote-tracking branch 'origin/master' into llvm11Andrew Kelley
2020-10-12Rename .macosx to .macosVignesh Rajagopalan
2020-10-11add minimal openbsd supportSébastien Marie
2020-09-30Merge remote-tracking branch 'origin/master' into llvm11Andrew Kelley
The changes to install_files.h needed to put into src/libcxx.zig
2020-09-29update wasm to use ".o.wasm" extension for objectsAndrew Kelley
This is convenient for debugging purposes, as well as simplifying the caching system since executable basenames will not conflict with their corresponding object files.
2020-09-28stage2: WASM LLD linkingAndrew Kelley
2020-09-28`zig test` and `zig run` do not try to run foreign binariesAndrew Kelley
2020-09-13stage2: caching system integration & Module/Compilation splittingAndrew Kelley
* update to the new cache hash API * std.Target defaultVersionRange moves to std.Target.Os.Tag * std.Target.Os gains getVersionRange which returns a tagged union * start the process of splitting Module into Compilation and "zig module". - The parts of Module having to do with only compiling zig code are extracted into ZigModule.zig. - Next step is to rename Module to Compilation. - After that rename ZigModule back to Module. * implement proper cache hash usage when compiling C objects, and properly manage the file lock of the build artifacts. * make versions optional to match recent changes to master branch. * proper cache hash integration for compiling zig code * proper cache hash integration for linking even when not compiling zig code. * ELF LLD linking integrates with the caching system. A comment from the source code: Here we want to determine whether we can save time by not invoking LLD when the output is unchanged. None of the linker options or the object files that are being linked are in the hash that namespaces the directory we are outputting to. Therefore, we must hash those now, and the resulting digest will form the "id" of the linking job we are about to perform. After a successful link, we store the id in the metadata of a symlink named "id.txt" in the artifact directory. So, now, we check if this symlink exists, and if it matches our digest. If so, we can skip linking. Otherwise, we proceed with invoking LLD. * implement disable_c_depfile option * add tracy to a few more functions
2020-09-09stage2: more progress moving `zig cc` to stage2Andrew Kelley
* std.cache_hash exposes Hasher type * std.cache_hash makes hasher_init a global const * std.cache_hash supports cloning so that clones can share the same open manifest dir handle as well as fork from shared hasher state * start to populate the cache_hash for stage2 builds * remove a footgun from std.cache_hash add function * get rid of std.Target.ObjectFormat.unknown * rework stage2 logic for resolving output artifact names by adding object_format as an optional parameter to std.zig.binNameAlloc * support -Denable-llvm in stage2 tests * Module supports the use case when there are no .zig files * introduce c_object_table and failed_c_objects to Module * propagate many new kinds of data from CLI into Module and into linker.Options * introduce -fLLVM, -fLLD, -fClang and their -fno- counterparts. closes #6251. - add logic for choosing when to use LLD or zig's self-hosted linker * stub code for implementing invoking Clang to build C objects * add -femit-h, -femit-h=foo, and -fno-emit-h CLI options
2020-09-07Merge remote-tracking branch 'origin/master' into llvm11Andrew Kelley
2020-09-03Merge remote-tracking branch 'origin/master' into llvm11Andrew Kelley
2020-09-04Added .pe ObjectFormatAlexandros Naskos
MachO linker no longer collects unused dwarf debug information
2020-09-04Completed basic PE linker for stage2Alexandros Naskos
Added std.coff.MachineType Added image characteristic and section flag valued to std.coff Added std.Target.Cpu.Arch.toCoffMachine Fixed stage2 --watch flag on windows
2020-08-31zig fmt: Remove dynamic stack from auto-indenting-streamLachlan Easton
2020-08-25Merge remote-tracking branch 'origin/master' into llvm11Andrew Kelley
2020-08-24Fix & update windows version stuff (#6157)Rocknest
* Update windows version constants * Add docs
2020-08-23Fix unused argument error when formatting std.TargetLiterallyVoid
2020-08-22stage2: clean up SPU Mk II codeAndrew Kelley
* move SPU code from std to self hosted compiler * change std lib comments to be descriptive rather than prescriptive * avoid usingnamespace * fix case style of error codes * remove duplication of producer_string * generalize handling of less than 64 bit arch pointers * clean up SPU II related test harness code
2020-08-22Targets: add SPU Mark II architectureNoam Preil
2020-08-21Merge remote-tracking branch 'origin/master' into llvm11Andrew Kelley
2020-08-20add license header to all std lib filesAndrew Kelley
add SPDX license identifier copyright ownership is zig contributors
2020-08-18Merge remote-tracking branch 'origin/master' into llvm11Andrew Kelley
2020-08-11copy_file_range linux syscall (#6010)Maciej Walczak
2020-08-04update target CPU features from llvm 10 to 11rc1Andrew Kelley
2020-07-23self-hosted: AST flattening, astgen improvements, result locations, and moreAndrew Kelley
* AST: flatten ControlFlowExpression into Continue, Break, and Return. * AST: unify identifiers and literals into the same AST type: OneToken * AST: ControlFlowExpression uses TrailerFlags to optimize storage space. * astgen: support `var` as well as `const` locals, and support explicitly typed locals. Corresponding Module and codegen code is not implemented yet. * astgen: support result locations. * ZIR: add the following instructions (see the corresponding doc comments for explanations of semantics): - alloc - alloc_inferred - bitcast_result_ptr - coerce_result_block_ptr - coerce_result_ptr - coerce_to_ptr_elem - ensure_result_used - ensure_result_non_error - ret_ptr - ret_type - store - param_type * the skeleton structure for result locations is set up. It's looking pretty clean so far. * add compile error for unused result and compile error for discarding errors. * astgen: split builtin calls up to implemented manually, and implement `@as`, `@bitCast` (and others) with respect to result locations. * add CLI support for hex and raw object formats. They are not supported by the self-hosted compiler yet, and emit errors. * rename `--c` CLI to `-ofmt=[objectformat]` which can be any of the object formats. Only ELF and C are supported so far. Also added missing help to the help text. * Remove hard tabs from C backend test cases. Shame on you Noam, you are grounded, you should know better, etc. Bad boy. * Delete C backend code and test case that relied on comptime_int incorrectly making it all the way to codegen.
2020-07-12CBE: Make C an ObjectFormat instead of a special bool (#5849)pixelherodev
2020-07-12Merge pull request #5846 from Vexu/anytypeAndrew Kelley
Rename 'var' type to 'anytype'
2020-07-11run zig fmt on std lib and self hostedVexu
2020-07-11use typeInfo instead of hardcoded tables in std.TargetVexu