summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ninjabackend: Obvious typo, missing spacenirbheek/fix-cross_args-typoNirbheek Chauhan2018-06-201-1/+1
| | | | I checked the original commit, and that space should not be there.
* Properly name the targetsCorentin Noël2018-06-191-6/+8
|
* Add more tests to ensure no future regressionCorentin Noël2018-06-191-0/+4
|
* gdbus_codegen: Keep the same behavior for all GLib versionsCorentin Noël2018-06-191-51/+62
| | | | | previous version duplicated the outputs disallowing to select only the .c files or the .h files The docbook output files weren't listed too.
* generate_gir: Add all the files provided by the CustomTargetCorentin Noël2018-06-181-3/+4
|
* Make a custom target output dir as an include dir relative to @BUILD_ROOT@Jon Turney2018-06-181-1/+1
| | | | | | Make a custom target output dir as an include dir relative to @BUILD_ROOT@, so that path is constructed correctly when using the absolute path forms used by the MSVC backend.
* Correctly substitute the internal @BUILD_ROOT@ token with MSVC backendJon Turney2018-06-181-1/+1
| | | | | To me, this looks like a mistake in 976c9abc, but perhaps there's something I don't understand going on here.
* Test windows.compile_resource() when depends: is a custom_targetJon Turney2018-06-187-0/+104
| | | | | | | | This test covers the case where the resource script references a file which is created by a custom_target (in this case, an icon). Put icon in a separate directory to ensure we excercise setting the include path to the directory which contains it.
* Make depends: of windows.compile_resources() include-ableJon Turney2018-06-182-0/+8
| | | | | Add the output directories for any custom target in depends: to the resource compiler include path
* Add a depends: keyword to windows.compile_resources()Jon Turney2018-06-183-5/+9
| | | | Expose depends: from the custom_target this creates.
* run_command: Add new kwarg 'capture'Nirbheek Chauhan2018-06-184-19/+46
| | | | | | capture: false means we won't try to read the stdout at all. Closes https://github.com/mesonbuild/meson/issues/3364
* Deprecate `build_always`, add `build_always_stale`Alex Hirsch2018-06-186-11/+34
| | | | | | | | | | | | | | Since `build_always` also adds a target to the set of default targets, this option is marked deprecated in favour of the new option `build_always_stale`. `build_always_stale` *only* marks the target to be always considered out of date, but does *not* add it to the set of default targets. The old behaviour can still be achieved by combining `build_always_stale` with `build_by_default`. fixes #1942
* meson_install: Don't add DESTDIR to install_nameNirbheek Chauhan2018-06-182-4/+16
| | | | | | | This was added accidentally. Includes a test for it. Also fix a rebase error. The variable was defined incorrectly and was overwritten with the correct value immediately afterwards.
* Add missing stubs to Compiler.Christoph Behle2018-06-181-0/+12
| | | | | | | | Added missing stubs to class Compiler for the methods: * compute_int * has_members * has_type * symbols_have_underscore_prefix
* Add check for arguments of has_members.Christoph Behle2018-06-181-0/+2
| | | | Ensure that has_members has at least two arguments.
* Use stub to report misuse of get_defineChristoph Behle2018-06-182-4/+4
| | | | | Instead of checking on the call site add a stub to Compiler which raises an exception.
* Test if compiler supports get_define.Christoph Behle2018-06-181-1/+4
| | | | | Raise an InterpreterError for a clean error message if get_define is not supported by the compiler.
* unittests: Assert that we have pkg-config on all CINirbheek Chauhan2018-06-181-5/+12
| | | | | | | Our appveyor configuration provides pkg-config when building for mingw, cygwin, msvc, etc. Of course, people manually running the tests won't require pkg-config.
* macos: Rewrite install_name for dependent built libraries on installNirbheek Chauhan2018-06-1814-84/+147
| | | | | | | | | | | | | | | | | | | | | | | | On macOS, we set the install_name for built libraries to @rpath/libfoo.dylib, and when linking to the library, we set the RPATH to its path in the build directory. This allows all built binaries to be run as-is from the build directory (uninstalled). However, on install, we have to strip all the RPATHs because they point to the build directory, and we change the install_name of all built libraries to the absolute path to the library. This causes the install name in binaries to be out of date. We now change that install name to point to the absolute path to each built library after installation. Fixes https://github.com/mesonbuild/meson/issues/3038 Fixes https://github.com/mesonbuild/meson/issues/3077 With this, the default workflow on macOS matches what everyone seems to do, including Autotools and CMake. The next step is providing a way for build files to override the install_name that is used after installation for use with, f.ex., private libraries when combined with the install_rpath: kwarg on targets.
* depfixer: Rewrite install_name for dylibs on installNirbheek Chauhan2018-06-182-8/+18
| | | | | | | | | | The install name is used by consumers of the library to find the library at runtime. If it's @rpath/libfoo.dylib, all consumers must manually add the library path to RPATH, which is not what people expect. Almost everyone sets the library install name as the full path to the library, and this is done at install time with install_name_tool.
* pkgconfig deps: Also resolve paths to shared librariesNirbheek Chauhan2018-06-182-31/+51
| | | | | | | | | | | | | | | | | | | | | | This allows us to more aggressively de-dup them, and also sets RPATHs to all libraries that are not in the system linker paths so that binaries can be run uninstalled without any special steps. These RPATHs will be wiped on install, so they do not affect reproducible builds. De-duping: Fixes https://github.com/mesonbuild/meson/issues/2150 Fixes https://github.com/mesonbuild/meson/issues/2118 Fixes https://github.com/mesonbuild/meson/issues/3071 RPATHs: Fixes https://github.com/mesonbuild/meson/issues/314 Fixes https://github.com/mesonbuild/meson/issues/2881 Also fixes the uninstalled usage portions of: https://github.com/mesonbuild/meson/issues/3038 https://github.com/mesonbuild/meson/issues/3077
* Test that binaries that use external libraries workNirbheek Chauhan2018-06-189-14/+96
| | | | | | | | | | | When we link to an external library either with find_library() without any dirs:, or with dependency(), we should be able to run uninstalled out of the box without having to set any environment variables or other shenanigans. This is especially important on macOS because only the system frameworks directory is in the default runtime path, and all other frameworks and libraries need to be found with RPATH or absolute path to the dylib.
* nasm test: use -no-pie (#3710)Mathieu Duponchelle2018-06-181-1/+6
| | | | | | | | | We were hitting the problem described by: https://stackoverflow.com/questions/43367427/32-bit-absolute-addresses-no-longer-allowed-in-x86-64-linux See the first answer for a detailed explanation Fixes https://github.com/mesonbuild/meson/issues/3707
* Add UserFeatureOption typeXavier Claessens2018-06-1810-28/+263
| | | | | | | | | | | This is a special type of option to be passed to most 'required' keyword arguments. It adds a 3rd state to the traditional boolean value to cause those methods to always return not-found even if the dependency could be found. Since integrators doesn't want enabled features to be a surprise there is a global option "auto_features" to enable or disable all automatic features.
* Report exit status or signal that killed the testKurtis Rader2018-06-176-3/+70
| | | | | | | | | | When a test fails due to a signal (e.g., SIGSEGV) it can be somewhat mysterious why the test failed. Also, even when a test fails due to a non-zero exit status it would help if the exit status was reported. This augments the result string to include the non-zero exit status or signal number and name. Resolves #3642
* Merge pull request #3715 from jon-turney/duplicate-rsrc-script-nameJussi Pakkanen2018-06-1710-2/+55
|\ | | | | Use a unique name for windows resource compilation custom target
| * Also test that the resource has the expected contentsJon Turney2018-06-112-6/+32
| |
| * Test for Windows resource compilation reusing the same script nameJon Turney2018-06-078-0/+25
| | | | | | | | | | | | | | Extended from the test case in #3575. This exercises File objects and string filenames for the same resource script filename at different paths.
| * Use a unique name for windows resource compilation custom targetJon Turney2018-06-071-2/+4
| |
* | Support Rust targets with more than one source file. Closes #3632.Jussi Pakkanen2018-06-174-3/+20
| |
* | gtkdoc: Run gtkdoc-scangobj command from build directoryXavier Claessens2018-06-172-2/+5
| | | | | | | | | | | | | | All paths in CFLAGS are relative to build_root, so current directory must be there we invoking gtkdoc-scangobj. Closes: #3379
* | Wrap a line in a way that doesn't break link [skip ci]Jon Turney2018-06-171-2/+2
| |
* | Fix header level of pcap [skip ci]Jon Turney2018-06-171-1/+1
| |
* | Improve documentation of case-(in)senstivity of dependency names [skip ci]Jon Turney2018-06-171-0/+8
| |
* | Improved documentation.Christoph Behle2018-06-122-2/+8
| | | | | | | | | | | | Added entry to release notes. Added note to documentation, regarding from which version on the behavior is changed.
* | Improve test case.Christoph Behle2018-06-121-1/+2
| | | | | | | | Add empty string literal to concatenation test.
* | Document change in reference manual.Christoph Behle2018-06-121-0/+2
| |
* | Always apply concatenate_string_literal.Christoph Behle2018-06-123-7/+3
| | | | | | | | | | get_define always applies concatenate_string_literal to its result. Remove kwarg concatenate_string_literal from get_define.
* | Add tests for concatenate_string_literalsChristoph Behle2018-06-122-4/+29
| |
* | Make concatenate_string_literals staticChristoph Behle2018-06-121-1/+2
| |
* | get_define can concatenate string literals.Christoph Behle2018-06-123-2/+15
| | | | | | | | | | | | | | Added method concatenate_string_literals to CCompiler. Will concatenate string literals. Added keyword argument 'concatenate_string_literals' to Compiler.get_define. If used will apply concatenate_string_literals to its return value.
* | Add test case for string literal concatenation.Christoph Behle2018-06-122-0/+16
| |
* | Revert changeChristoph Behle2018-06-121-2/+2
| |
* | Concatenate string literals in get_defineChristoph Behle2018-06-121-3/+4
| | | | | | | | | | If get_define returns a list of string_literals concatenate them into one string.
* | modules/qt: check for un-suffixed moc,rcc,uic on windowsMatthew Waters2018-06-101-1/+1
| | | | | | | | | | The windows Qt installer doesn't ship with suffixed versions of the qt tools.
* | Visual Studio: Implement startup projectNiklas Claesson2018-06-103-6/+53
| |
* | Add missing FeatureNew for libwmf dependencyNirbheek Chauhan2018-06-102-0/+7
| | | | | | | | | | | | Also add it to the release notes for the 0.44 release. https://github.com/mesonbuild/meson/pull/3709#issuecomment-395738573
* | run_tests: Run all cross tests togetherNirbheek Chauhan2018-06-102-22/+9
| | | | | | | | | | | | | | | | There is a lot of overhead for each travis job, because docker pull takes 3 minutes. Each cross test takes 3-4 minutes. To make things worse, sometimes Dockerhub is slow and docker pull takes longer than 3 minutes.
* | vala: fix extract_all_objects() resultPaolo Bonzini2018-06-109-2/+91
| | | | | | | | | | | | | | | | Because vala is not listed in clike_langs, is_source(fname) is returning False for Vala source files. Therefore, extract_all_objects() is completely empty for Vala programs. Fixes #791
* | Document version when custom detectors were added [skip ci]Jon Turney2018-06-101-4/+23
| |