aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-06-20Added documentation.testcommandJussi Pakkanen2-8/+49
2018-06-20Make it work with current master.Jussi Pakkanen1-8/+9
2018-06-18Add option to only install changed files.Jussi Pakkanen1-8/+22
2018-06-18Refactored installer to use a class to eradicate global variables.Jussi Pakkanen2-270/+265
2018-06-18Made install a top level Meson command.Jussi Pakkanen4-17/+40
2018-06-18generate_gir: Add all the files provided by the CustomTargetCorentin Noël1-3/+4
2018-06-18Make a custom target output dir as an include dir relative to @BUILD_ROOT@Jon Turney1-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.
2018-06-18Correctly substitute the internal @BUILD_ROOT@ token with MSVC backendJon Turney1-1/+1
To me, this looks like a mistake in 976c9abc, but perhaps there's something I don't understand going on here.
2018-06-18Test windows.compile_resource() when depends: is a custom_targetJon Turney7-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.
2018-06-18Make depends: of windows.compile_resources() include-ableJon Turney2-0/+8
Add the output directories for any custom target in depends: to the resource compiler include path
2018-06-18Add a depends: keyword to windows.compile_resources()Jon Turney3-5/+9
Expose depends: from the custom_target this creates.
2018-06-18run_command: Add new kwarg 'capture'Nirbheek Chauhan4-19/+46
capture: false means we won't try to read the stdout at all. Closes https://github.com/mesonbuild/meson/issues/3364
2018-06-18Deprecate `build_always`, add `build_always_stale`Alex Hirsch6-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
2018-06-18meson_install: Don't add DESTDIR to install_nameNirbheek Chauhan2-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.
2018-06-18Add missing stubs to Compiler.Christoph Behle1-0/+12
Added missing stubs to class Compiler for the methods: * compute_int * has_members * has_type * symbols_have_underscore_prefix
2018-06-18Add check for arguments of has_members.Christoph Behle1-0/+2
Ensure that has_members has at least two arguments.
2018-06-18Use stub to report misuse of get_defineChristoph Behle2-4/+4
Instead of checking on the call site add a stub to Compiler which raises an exception.
2018-06-18Test if compiler supports get_define.Christoph Behle1-1/+4
Raise an InterpreterError for a clean error message if get_define is not supported by the compiler.
2018-06-18unittests: Assert that we have pkg-config on all CINirbheek Chauhan1-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.
2018-06-18macos: Rewrite install_name for dependent built libraries on installNirbheek Chauhan14-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.
2018-06-18depfixer: Rewrite install_name for dylibs on installNirbheek Chauhan2-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.
2018-06-18pkgconfig deps: Also resolve paths to shared librariesNirbheek Chauhan2-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
2018-06-18Test that binaries that use external libraries workNirbheek Chauhan9-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.
2018-06-18nasm test: use -no-pie (#3710)Mathieu Duponchelle1-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
2018-06-18Add UserFeatureOption typeXavier Claessens10-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.
2018-06-17Report exit status or signal that killed the testKurtis Rader6-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
2018-06-17Merge pull request #3715 from jon-turney/duplicate-rsrc-script-nameJussi Pakkanen10-2/+55
Use a unique name for windows resource compilation custom target
2018-06-17Support Rust targets with more than one source file. Closes #3632.Jussi Pakkanen4-3/+20
2018-06-17gtkdoc: Run gtkdoc-scangobj command from build directoryXavier Claessens2-2/+5
All paths in CFLAGS are relative to build_root, so current directory must be there we invoking gtkdoc-scangobj. Closes: #3379
2018-06-17Wrap a line in a way that doesn't break link [skip ci]Jon Turney1-2/+2
2018-06-17Fix header level of pcap [skip ci]Jon Turney1-1/+1
2018-06-17Improve documentation of case-(in)senstivity of dependency names [skip ci]Jon Turney1-0/+8
2018-06-12Improved documentation.Christoph Behle2-2/+8
Added entry to release notes. Added note to documentation, regarding from which version on the behavior is changed.
2018-06-12Improve test case.Christoph Behle1-1/+2
Add empty string literal to concatenation test.
2018-06-12Document change in reference manual.Christoph Behle1-0/+2
2018-06-12Always apply concatenate_string_literal.Christoph Behle3-7/+3
get_define always applies concatenate_string_literal to its result. Remove kwarg concatenate_string_literal from get_define.
2018-06-12Add tests for concatenate_string_literalsChristoph Behle2-4/+29
2018-06-12Make concatenate_string_literals staticChristoph Behle1-1/+2
2018-06-12get_define can concatenate string literals.Christoph Behle3-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.
2018-06-12Add test case for string literal concatenation.Christoph Behle2-0/+16
2018-06-12Revert changeChristoph Behle1-2/+2
2018-06-12Concatenate string literals in get_defineChristoph Behle1-3/+4
If get_define returns a list of string_literals concatenate them into one string.
2018-06-11Also test that the resource has the expected contentsJon Turney2-6/+32
2018-06-10modules/qt: check for un-suffixed moc,rcc,uic on windowsMatthew Waters1-1/+1
The windows Qt installer doesn't ship with suffixed versions of the qt tools.
2018-06-10Visual Studio: Implement startup projectNiklas Claesson3-6/+53
2018-06-10Add missing FeatureNew for libwmf dependencyNirbheek Chauhan2-0/+7
Also add it to the release notes for the 0.44 release. https://github.com/mesonbuild/meson/pull/3709#issuecomment-395738573
2018-06-10run_tests: Run all cross tests togetherNirbheek Chauhan2-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.
2018-06-10vala: fix extract_all_objects() resultPaolo Bonzini9-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
2018-06-10Document version when custom detectors were added [skip ci]Jon Turney1-4/+23
2018-06-10Document values for dependency(method:) [skip ci]Jon Turney2-13/+37
We say 'different dependencies support different values for this', but nowhere document what values are supported, so the only way to find these out is to read the source, or guess. Make a start at doing that.