aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-08-14docs: Add snippet for compiler linker splitDylan Baker1-0/+6
2019-08-14Interpreter: identify the linker being used, if there is oneDylan Baker1-0/+4
2019-08-14compilers: Dispatch to dynamic linker classDylan Baker21-696/+291
Most of the cuda code is from Olexa Bilaniuk. Most of the PGI code is from Michael Hirsc
2019-08-14unittests: Create a fake DynamicLinker when necessaryDylan Baker1-1/+2
2019-08-14environment: Detect dynamic linker classDylan Baker2-34/+163
2019-08-14compilers/mixins: Add a module for mixins for compilers that are linkersDylan Baker1-0/+124
This is currently meant to solve problems for D's DMD compiler, however it may be useful in other cases.
2019-08-14linkers: Add DMDs optlinkDylan Baker1-0/+14
2019-08-14linkers: Add SolarisDynamicLinkerDylan Baker1-0/+46
A dynamic linker for solaris/opensolaris. This is still completely untested and probably doesn't work.
2019-08-14linkers: Add intel xilinkDylan Baker1-0/+9
2019-08-14linkers: Add MSVC like linkersDylan Baker1-1/+79
2019-08-14linkers: Add PGIDynamicLinkerMichael Hirsch, Ph.D1-0/+28
2019-08-14linkers: Add the armclang dynamic linkerDylan Baker1-0/+15
2019-08-14linkers: Add ArmDynamicLinker classDylan Baker1-0/+19
Much of this code was written by Vasu Penugonda
2019-08-14linkers: Add Ccrx Dynamic LinkerDylan Baker1-1/+34
2019-08-14linkers: Add class for Intel Xild linker.Dylan Baker1-0/+20
2019-08-14linkers: Add the AppleDynamicLinkerDylan Baker1-0/+66
2019-08-14linkers: Add LLVM linkerDylan Baker1-0/+10
2019-08-14linkers: Add GNU linkersDylan Baker1-0/+176
2019-08-14linkers: Add a PosixDynamicLinkerMixinDylan Baker1-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-14linkers: Add a Dynamiclinker base classDylan Baker1-0/+160
This class defines a few basics, and sets up the other methods that a linker needs to implement.
2019-08-14compilers/rust: Proxy extra kwargs to Compiler.__init__Dylan Baker1-2/+2
2019-08-14compilers: Make MSVClike compilers proxy extra keyword argumentsDylan Baker2-12/+12
2019-08-14compilers/fortran: Make ifort (windows) proxy extra args to CompilerDylan Baker1-2/+2
2019-08-14compilers/cuda: pass through extra kwargsDylan Baker1-2/+2
2019-08-14compilers/swift: Pass extra args to the Compiler constructorDylan Baker1-2/+2
2019-08-14compilers/fortran: fix ifort (linux, mac) dependency generationDylan Baker1-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-14environment: Handle OBJC[PP] clang detection like C[PP]Dylan Baker1-7/+8
Which fixes using a non Apple clang for objc and objc++ on macOS.
2019-08-14compilers/objc[pp]: Pass extra keyword arguments to Compiler constructorDylan Baker2-12/+12
2019-08-14environment: Use a single function to check for ObjC and ObjC++Dylan Baker1-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-14compilers/cuda: don't use re for replacementDylan Baker1-3/+2
Even with the check (for extra safety) string.replace is more than twice as fast.
2019-08-14unittests: add b_lundef=false to address sanitizer testDylan Baker1-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-14compilers/mixins/pgi: simplify pic logicMichael Hirsch, Ph.D1-3/+3
2019-08-14tests/153: skip with PGI as macros are uniqueMichael Hirsch, Ph.D1-0/+5
2019-08-14tests: skip common/204 for PGI (need unique feature list)Michael Hirsch, Ph.D1-0/+4
2019-08-14tests/common/186: skip some due to PGI link failure stderr=0Michael Hirsch, Ph.D1-4/+7
2019-08-14tests/186: Make work with apple ld's -fatal_warningsDylan Baker1-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-14re-architect the D compiler abstractionsDylan Baker1-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-14run_unittests: extend binary wrapper creater for Wl,--versionDylan Baker1-3/+4
which is needed by swift.
2019-08-13Update vim syntax files link in 0.37 release notes [skip ci]Nirbheek Chauhan1-1/+1
2019-08-13Revert "gnome: Use find_program() to get glib-compile-resources"Xavier Claessens1-5/+4
This reverts commit 0ab3d97566e8876532ecaf31b948a9ae3337b564.
2019-08-12tests: add wasm to run_project_tests --onlyDylan Baker1-0/+1
2019-08-12gnome: Use find_program() to get glib-compile-resourcesXavier Claessens1-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-12Put native file before cross file in options listJohn Ericson2-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-12Add is_disabler functionJames Hilliard15-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-11Print only host platform info in some cases during native buildsJussi Pakkanen2-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-10ninjabackend: Squish Coco supportAleksey Gurtovoy1-7/+17
2019-08-08docs: meson -> Meson in one placeJohn Ericson1-1/+1
2019-08-07dist: Add '-C' option and print better error messageXavier Claessens1-2/+9
It was not obvious that 'meson dist' must be run from build directory.
2019-08-06Made build. options alias basic ones when native building.Jussi Pakkanen7-14/+68
2019-08-06Made set_option kwargs named-only.Jussi Pakkanen2-3/+3