Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-08-14 | docs: Add snippet for compiler linker split | Dylan Baker | 1 | -0/+6 | |
2019-08-14 | Interpreter: identify the linker being used, if there is one | Dylan Baker | 1 | -0/+4 | |
2019-08-14 | compilers: Dispatch to dynamic linker class | Dylan Baker | 21 | -696/+291 | |
Most of the cuda code is from Olexa Bilaniuk. Most of the PGI code is from Michael Hirsc | |||||
2019-08-14 | unittests: Create a fake DynamicLinker when necessary | Dylan Baker | 1 | -1/+2 | |
2019-08-14 | environment: Detect dynamic linker class | Dylan Baker | 2 | -34/+163 | |
2019-08-14 | compilers/mixins: Add a module for mixins for compilers that are linkers | Dylan Baker | 1 | -0/+124 | |
This is currently meant to solve problems for D's DMD compiler, however it may be useful in other cases. | |||||
2019-08-14 | linkers: Add DMDs optlink | Dylan Baker | 1 | -0/+14 | |
2019-08-14 | linkers: Add SolarisDynamicLinker | Dylan Baker | 1 | -0/+46 | |
A dynamic linker for solaris/opensolaris. This is still completely untested and probably doesn't work. | |||||
2019-08-14 | linkers: Add intel xilink | Dylan Baker | 1 | -0/+9 | |
2019-08-14 | linkers: Add MSVC like linkers | Dylan Baker | 1 | -1/+79 | |
2019-08-14 | linkers: Add PGIDynamicLinker | Michael Hirsch, Ph.D | 1 | -0/+28 | |
2019-08-14 | linkers: Add the armclang dynamic linker | Dylan Baker | 1 | -0/+15 | |
2019-08-14 | linkers: Add ArmDynamicLinker class | Dylan Baker | 1 | -0/+19 | |
Much of this code was written by Vasu Penugonda | |||||
2019-08-14 | linkers: Add Ccrx Dynamic Linker | Dylan Baker | 1 | -1/+34 | |
2019-08-14 | linkers: Add class for Intel Xild linker. | Dylan Baker | 1 | -0/+20 | |
2019-08-14 | linkers: Add the AppleDynamicLinker | Dylan Baker | 1 | -0/+66 | |
2019-08-14 | linkers: Add LLVM linker | Dylan Baker | 1 | -0/+10 | |
2019-08-14 | linkers: Add GNU linkers | Dylan Baker | 1 | -0/+176 | |
2019-08-14 | linkers: Add a PosixDynamicLinkerMixin | Dylan Baker | 1 | -0/+19 | |
This is a mixin class for DynamicLinkers that aims to provide only the most basic posix-like linker arguments, in other words bits that gnu ld, apple's ld, solaris's ld, and other completely disjoint linkers that are used on Unix-like OSes share. | |||||
2019-08-14 | linkers: Add a Dynamiclinker base class | Dylan Baker | 1 | -0/+160 | |
This class defines a few basics, and sets up the other methods that a linker needs to implement. | |||||
2019-08-14 | compilers/rust: Proxy extra kwargs to Compiler.__init__ | Dylan Baker | 1 | -2/+2 | |
2019-08-14 | compilers: Make MSVClike compilers proxy extra keyword arguments | Dylan Baker | 2 | -12/+12 | |
2019-08-14 | compilers/fortran: Make ifort (windows) proxy extra args to Compiler | Dylan Baker | 1 | -2/+2 | |
2019-08-14 | compilers/cuda: pass through extra kwargs | Dylan Baker | 1 | -2/+2 | |
2019-08-14 | compilers/swift: Pass extra args to the Compiler constructor | Dylan Baker | 1 | -2/+2 | |
2019-08-14 | compilers/fortran: fix ifort (linux, mac) dependency generation | Dylan Baker | 1 | -1/+7 | |
Ifort can generate dependency information (.d files), it just does it differently than GNU compilers do. This also fixes a bug caused by adding the dependency generation commands to the GNULike class later in this series. | |||||
2019-08-14 | environment: Handle OBJC[PP] clang detection like C[PP] | Dylan Baker | 1 | -7/+8 | |
Which fixes using a non Apple clang for objc and objc++ on macOS. | |||||
2019-08-14 | compilers/objc[pp]: Pass extra keyword arguments to Compiler constructor | Dylan Baker | 2 | -12/+12 | |
2019-08-14 | environment: Use a single function to check for ObjC and ObjC++ | Dylan Baker | 1 | -38/+17 | |
These two functions are different only in the classes that they use, a couple of simple in-line ternaries takes care of that and reduces code duplication. | |||||
2019-08-14 | compilers/cuda: don't use re for replacement | Dylan Baker | 1 | -3/+2 | |
Even with the check (for extra safety) string.replace is more than twice as fast. | |||||
2019-08-14 | unittests: add b_lundef=false to address sanitizer test | Dylan Baker | 1 | -1/+1 | |
Clang doesn't really like having no-undefined plus the address sanitizer, but gcc doesn't mind. This all happens to work with clang + gnu ld, but with clang + apple ld this turns into a dumpster fire. Just add b_lundef=false to make everyone happy. | |||||
2019-08-14 | compilers/mixins/pgi: simplify pic logic | Michael Hirsch, Ph.D | 1 | -3/+3 | |
2019-08-14 | tests/153: skip with PGI as macros are unique | Michael Hirsch, Ph.D | 1 | -0/+5 | |
2019-08-14 | tests: skip common/204 for PGI (need unique feature list) | Michael Hirsch, Ph.D | 1 | -0/+4 | |
2019-08-14 | tests/common/186: skip some due to PGI link failure stderr=0 | Michael Hirsch, Ph.D | 1 | -4/+7 | |
2019-08-14 | tests/186: Make work with apple ld's -fatal_warnings | Dylan Baker | 1 | -2/+2 | |
the fact that foo and bar are not directories makes Apple's ld upset, and with fatal warnings it dies on this test. Using real directories makes it happy. | |||||
2019-08-14 | re-architect the D compiler abstractions | Dylan Baker | 1 | -215/+197 | |
We support 3 D compilers, DMD, LDC, and GDC. DMD is the reference compiler, and LDC attempts to largely mirror it's command line usage. GDC does not, it instead acts like GCC (which makes sense). The current abstraction puts DMD behavior in the base D compiler and then overrides then in the GnuDCompiler class. This is messy, but it becomes more problematic when splitting the linker and compiler abstractions apart. I've opted to instead split the DCompiler class into two separate classes. The DCompiler implements core D functinoality, and DmdLikeCompilerMixin, which implements the DMD and LDC command line arguments. I've then mxed that into the DmdDCompiler and LLVMDCompiler classes, and mixed the GnuCompiler into the GnuDCompiler class to get Gnu command line behavior. | |||||
2019-08-14 | run_unittests: extend binary wrapper creater for Wl,--version | Dylan Baker | 1 | -3/+4 | |
which is needed by swift. | |||||
2019-08-13 | Update vim syntax files link in 0.37 release notes [skip ci] | Nirbheek Chauhan | 1 | -1/+1 | |
2019-08-13 | Revert "gnome: Use find_program() to get glib-compile-resources" | Xavier Claessens | 1 | -5/+4 | |
This reverts commit 0ab3d97566e8876532ecaf31b948a9ae3337b564. | |||||
2019-08-12 | tests: add wasm to run_project_tests --only | Dylan Baker | 1 | -0/+1 | |
2019-08-12 | gnome: Use find_program() to get glib-compile-resources | Xavier Claessens | 1 | -4/+5 | |
GLib does not currently use override_find_program() for this tool because it is compiled and would not work in cross build. But this prepares Meson for when/if GLib will rewrite it in Python. See https://gitlab.gnome.org/GNOME/glib/issues/1859. | |||||
2019-08-12 | Put native file before cross file in options list | John Ericson | 2 | -5/+5 | |
I think this makes more sense by matching how build comes before host. Native builds are also more common than cross builds. | |||||
2019-08-12 | Add is_disabler function | James Hilliard | 15 | -1/+149 | |
This is useful if one needs to check if a variable is a disabler. Signed-off-by: James Hilliard <james.hilliard1@gmail.com> | |||||
2019-08-11 | Print only host platform info in some cases during native builds | Jussi Pakkanen | 2 | -9/+15 | |
Build and target info is confusing in that case. However still log that information, as it is useful in case something slips out of sync and needs to be debugged. | |||||
2019-08-10 | ninjabackend: Squish Coco support | Aleksey Gurtovoy | 1 | -7/+17 | |
2019-08-08 | docs: meson -> Meson in one place | John Ericson | 1 | -1/+1 | |
2019-08-07 | dist: Add '-C' option and print better error message | Xavier Claessens | 1 | -2/+9 | |
It was not obvious that 'meson dist' must be run from build directory. | |||||
2019-08-06 | Made build. options alias basic ones when native building. | Jussi Pakkanen | 7 | -14/+68 | |
2019-08-06 | Made set_option kwargs named-only. | Jussi Pakkanen | 2 | -3/+3 | |