aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-03-15Resolve Clang failure to use -Og with --optimization=gPhillip Johnston1-2/+9
Clang supports the GCC -Og flag, but --optimization=g is not setting that. This is because Clang is referencing the clike_optimization_args, which does not define a flag for 'g'. To address this, we'll mimic the GNU options instead of the C-like ones. Fixes #6619
2020-03-12docs: Update documentation for GDC linker overridingDylan Baker1-4/+6
2020-03-12compilers/d: Support linker selection with gdcDylan Baker1-1/+1
This should have worked before, but the inheritance order was backwards, so we got the DCompiler before the GnuCompiler, and the base Compiler methods overrode the Gnu methods.
2020-03-12unittests: Add tests for overriding D linker languageDylan Baker1-0/+14
2020-03-12run_unittests: Use skip_if_not_language for linker testsDylan Baker1-2/+5
A couple used checks for specific compiler binaries, but those might not be accurate for cross compiling. All the languages other than C and C++ (which we basically always assume we have) should have a skip_if_not_lang check.
2020-03-12docs: Document that ldc now supports linker overriding [skip ci]Dylan Baker1-0/+5
2020-03-12docs: Document from_builtype mapping for b_vscrt [skip ci]Nirbheek Chauhan1-0/+13
2020-03-12syntax-highlighting/vim: Add `in` as an operatorNirbheek Chauhan1-1/+1
This was missed. Ages ago.
2020-03-12Merge pull request #6356 from dcbaker/fix-d-compiler-abstractionsJussi Pakkanen19-133/+325
Fix d compiler abstractions
2020-03-11Add Glorytun in Users.md [skip ci]Adrien Gallouët1-0/+1
2020-03-11compilers: Don't put split soname args in start groupsDylan Baker5-1/+52
Some compilers that act as linker drivers (dmd and ldc) need to split arguments that GCC combines with , (ie, -Wl,-foo,bar -> -L=-foo -L=bar). As such we need to detect that the previous argument contained -soname, and not wrap that in a --start-group/--end-group This modifies the shared library test to demonstrate the problem, with a test case. Fixes #6359
2020-03-11compilers/d: Properly pass -soname argsDylan Baker1-4/+17
2020-03-11compilers/d: Fix rpath generation with LDC and DMDDylan Baker1-14/+18
2020-03-11coredata: Warn on usage of both -Dbuildtype and -Doptimization/-DdebugNirbheek Chauhan3-3/+12
It may not be obvious to users that these two ways to set build-types override each other and specifying both is redundant, and conflicts are resolved based on whichever is specified later. Closes https://github.com/mesonbuild/meson/issues/6742
2020-03-11coredata: Passing an option is supposed to set it, not flip the defaultNirbheek Chauhan2-3/+12
With the current logic passing `--debug` will actually be parsed as `-Ddebug=false`, which is absolutely not what is expected. There is no case in which the presence of a boolean option in `--foo` form will mean 'I want feature foo disabled', regardless of the *default* value of that option. Also includes a test. Closes https://github.com/mesonbuild/meson/issues/4686
2020-03-11coredata: Set default options as cmdline args that override each otherNirbheek Chauhan3-9/+32
The previous code was assuming that options do not depend on each other, and that you can set defaults using `dict.setdefault()`. This is not true for `buildtype` + `optimization`/`debug`, so we add defaults + overrides in the right order and use the options parsing code later to compute the values. Includes a test. Closes https://github.com/mesonbuild/meson/issues/6752
2020-03-11coredata: Convert all option parsing to OrderedDict()Nirbheek Chauhan1-5/+5
This ensures that options are always parsed in the order in which they were specified on the command-line, even with Python 3.5, and non-CPython implementations compatible with CPython 3.5 and 3.6. Closes https://github.com/mesonbuild/meson/issues/6742
2020-03-10Improve regular expression for MSVC compiler target arch detectionLuca Bacci1-1/+1
Did not work for some MSVC output language combinations. Now should work for every locale / output language. Fixes issue #6757
2020-03-09project_tests: Add the option to the test format to mark the languageDylan Baker9-17/+34
This is needed when mixing D and C code, as it's possible to end up witha combination of linkers and compilres such that C produces pdb files but D does not.
2020-03-09run_project_tests: Sort importsDylan Baker1-14/+16
It was impossible to figure out what was coming from where before.
2020-03-09linkers: Allow optlink to be invoked indirectlyDylan Baker2-3/+10
2020-03-09run_project_tests: fix argument typeDylan Baker1-1/+1
2020-03-09linkers: Move import_library_args to from VS compiler to linkerDylan Baker2-4/+4
This is the argument to name the implib when using the Visual Studio Linker. This is needed by LDC and DMD when using link.exe or lld-link.exe on windows, and is really a linker argument not a compiler argument.
2020-03-09tests: Add pdb files for d testsDylan Baker8-9/+24
2020-03-09Allow invoking the linker directly through dmdDylan Baker2-11/+24
DMD is awful in a lot of ways. To change the linker you set an environment variable, which is pretty much impossible for us.
2020-03-09Allow invoking link.exe and lld-link.exe through ldc2Dylan Baker2-24/+36
Like it wants
2020-03-09Document the requirement to run tests before coverage [skip ci]Vedran Miletić2-1/+16
Co-authored-by: Vedran Miletić <vedran@miletic.net>
2020-03-09travis: install ldc on macOSDylan Baker1-1/+1
So we have some dlang testing on macos.
2020-03-09project_tests: Add "version" to "shared_lib" and "pdb" typesDylan Baker4-24/+61
This allows the harness to apply the version correctly, putting it in the right place, dropping the right amount of numbers, etc. pdb taking a version allows it to be more easily copied from the shared_lib type.
2020-03-09Add OpenTitan to the list of users. [skip ci]Jussi Pakkanen1-0/+1
2020-03-09pkgconfig: Document conflicts keywordFini Jastrow2-1/+2
[why] Sometimes one want to set the 'Conflicts:' field in .pc files. This is possible by using the 'conflicts' keyword argument in the pkgconfig module. The feature is not documented on mesonbuild.org, though. But a warning is issued: WARNING: Passed invalid keyword argument "conflicts". WARNING: This will become a hard error in the future. History: It has been added along with kwarg 'url' with commit 309041918 pkgconfig: Add missing 'URL' and 'Conflicts' entries Later the kwargs check has been introduced with 80d665e8d Converted some modules. but both 'url' and 'conflicts' were missing. With commit 2acf737b pkgconfig: Document url keyword the 'url' kwarg has been added to the checks, but not 'conflicts'. [how] Add 'conflicts' to the allowed kwargs. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2020-03-09Merge pull request #6532 from jon-turney/languages-native-kwargJussi Pakkanen12-18/+103
Add add_languages(native:)
2020-03-09Fix introspection of symlink targets on macOS.Jussi Pakkanen1-13/+33
2020-03-08Merge pull request #6736 from dcbaker/mesonlib-type-annotationsJussi Pakkanen20-325/+355
Mesonlib type annotations
2020-03-08cmake: Fix build_by_default: false, install: true (fixes #6737)Daniel Mensinger3-3/+7
2020-03-08Merge pull request #6688 from dcbaker/emcc-linker-bugsJussi Pakkanen15-32/+157
Emcc linker bugs and improvments
2020-03-08update test_templatesMichael1-0/+5
2020-03-08add logic for Java jar projectMichael1-7/+29
2020-03-08update test_templates to add dlang and find rustMichael1-1/+7
2020-03-08intro: List symlinks in installdata (fixes #6734)Daniel Mensinger2-3/+34
2020-03-08qt5: Add has_tools() methodXavier Claessens4-1/+53
2020-03-07Merge pull request #6203 from xclaesse/override-dependencyJussi Pakkanen15-43/+276
Add meson.override_dependency()
2020-03-07add setup keyword in example commands [skip ci]Michael Brockus1-2/+2
2020-03-06dependency: Verify fallback variable consistencyXavier Claessens7-5/+41
This change made `5 dependency versions` unit test fail because now once a subproject has been configured, the fallback variable is checked to be consistent. So it has to use new subproject because 'somesub' was already configured by previous tests.
2020-03-06override_dependency: Add failure testsXavier Claessens1-0/+11
2020-03-06Improve logged messages for overriden dependenciesXavier Claessens3-12/+27
2020-03-06Allow override_dependency() with a not-found depXavier Claessens3-0/+12
2020-03-06Simplify dependency() fallbackXavier Claessens6-15/+50
Now that subprojects can override the dependency name, there is no need to provide a variable name for the fallback any more.
2020-03-06Add meson.override_dependency()Xavier Claessens9-27/+151
Similar to meson.override_find_program() but overrides the result of the dependency() function. Also ensure that dependency() always returns the same result when looking for the same dependency, this fixes cases where parts of the project could be using a system library and other parts use the library provided by a subproject.
2020-03-06compilers: Don't deduplicate -L= argumentsDylan Baker1-0/+9
This breaks LDC and DMD, so just don't do it.