Commit Graph

1715 Commits

Author SHA1 Message Date
Dylan Baker e9ba04537f Add gnu hurd to *_machine information 2018-10-10 19:42:51 +03:00
TingPing 08216a3a86 gnome.compile_resources: Put dependency directories before current source dir
This avoids the problem of generated files with the same name as something in source
existing and using the wrong file.
2018-10-10 19:42:20 +03:00
Xavier Claessens 38a6582145 configure_file: Support taking values from a dict
Closes #4218
2018-10-08 21:03:32 +03:00
Jussi Pakkanen 4d986563dc Expose wrap_mode as an option. Closes #4266. 2018-10-07 22:52:54 +03:00
Jussi Pakkanen 85efd363cb
Merge pull request #3900 from xclaesse/in-operator
Interpreter: Add "in", "not in", "break", and "continue" operators
2018-10-07 20:02:03 +03:00
Xavier Claessens 091e079354 dependency variable from subproject could be not-found
When using a subproject as fallback for a required dependency, we should
check if the dependency object we get from the subproject is found.
2018-10-07 19:35:11 +03:00
Christoph Behle c0236e10f3 Substitute output file then check for conflict.
Fixes Issue #4323.
The check to see if a call to configure_file() overwrites the output of
a preceding call should perform the substitution for the output file
before doing the check.

Added tests to ensure the proper behaviour.
2018-10-07 19:06:01 +03:00
Masanori Kakura 646a073e36 Fix a comment in "test cases/frameworks/6 gettext"
File "data/data3/meson.build" makes Meson create a target
that contains a path separator.
2018-10-06 06:59:18 -07:00
Marty E. Plummer 8fd5297f76 i18n: replace path separator with @
using state.subdir will cause / or \ to be inserted into the target name.
Replace them with @ to future-proof it.

Signed-off-by: Marty E. Plummer <hanetzer@startmail.com>
2018-10-06 03:10:11 -07:00
Xavier Claessens a816e1c1fa Interpreter: Add 'continue' and 'break' keywords
Closes: #3601
2018-10-04 20:14:37 -04:00
Xavier Claessens fa2e096aa0 Interpreter: Add "in" and "not in" operators
Closes: #3600
2018-10-04 20:14:37 -04:00
Jussi Pakkanen 2ff69b20df Fix handling generated .desktop files. Closes #4304. 2018-10-05 00:48:22 +03:00
Jan Tojnar c0c075c129 Make custom dist scripts accept arguments.
meson.add_dist_script, introduced in #3906, did not accept any arguments
other than script name. Since all other meson.add_*_script methods
do accept args, this makes the dist script accept them as well.
2018-10-04 21:20:57 +03:00
Patrick Griffis 46a42a69a6 Add custom libgcrypt dependency using libgcrypt-config
Fixes #3563
2018-10-03 01:22:59 +03:00
Jussi Pakkanen c6eaf373f3
Merge pull request #4296 from nacho4d/feature/fix-xcode-configure-file
Xcode does not include configured files in its header search path
2018-10-02 22:34:53 +03:00
Guillermo Ignacio Enriquez Gutierrez f39d5ef6de Fix indentation (make it uniform) in test file "14 configure file/meson.build" 2018-09-30 17:22:13 +09:00
GoaLitiuM 389f012ed2 Additional tests for D version and debug features 2018-09-27 17:49:48 +03:00
Jussi Pakkanen f0c4d1cd00
Merge pull request #4214 from 3v1n0/gtk-docs-improvements
Gtk docs improvements
2018-09-25 20:40:42 -07:00
Jussi Pakkanen 9ceb21997b
Merge pull request #4243 from nacho4d/feature/xcode-fix2
fixings for xcode backend
2018-09-24 22:24:27 -07:00
Guillermo Ignacio Enriquez Gutierrez 6f4ba8b2f4 Fix Xcode backend: support for precompiled headers. Only one header per target is supported 2018-09-25 01:11:46 +09:00
GoaLitiuM 3563df0425 Skip dub dependency test with wrong compiler on Windows
Appveyor currently only has one available D compiler so this test should be skipped for the time being. [skip ci]
2018-09-21 11:56:37 +03:00
Marco Trevisan (Treviño) 5bec6c28e7 gnome: add support for `module_version`
gtk-doc for autotools has the concept of module version, that is used to define
the module install path and the devhelp2 basename.

Add a `module_version` parameter to gnome.gtkdoc to replicate the same behavior.
Updated the test checking that the install_dir is properly computed (if not
passed), and that the .devhelp2 file has proper name.

https://gitlab.gnome.org/GNOME/gtk-doc/blob/GTK_DOC_1_29/buildsystems/autotools/gtk-doc.make#L269
2018-09-21 09:13:21 +02:00
Jon Turney f657658473 Add some more implibs to list of installed files on cygwin
Omitted from 0fc9a601 as these tests are skipped in CI
2018-09-19 21:28:28 +03:00
Jussi Pakkanen b6f03f897b
Merge pull request #4174 from jon-turney/link-with-custom-target
Improve error when trying to link_with a custom_target
2018-09-17 22:49:01 +03:00
GoaLitiuM 87750bf988 Fix regressed D test cases on Windows 2018-09-17 21:28:16 +03:00
Jon Turney 623a8010e6
Add test case for trying to link with a library made by a custom_target 2018-09-16 21:29:55 +01:00
David Seifert 8f16d0f3c9 Fix ICC on macOS 2018-09-16 18:27:19 +03:00
Marty E. Plummer add55bb861 i18n: allow custom target names for merge_file
As it currently stands, if for whatever reason you have two files you
want to merge with the same output name, it will fail due to multiple
targets with the same name due to the target name being autogenerated
from the output kwarg.

Signed-off-by: Marty E. Plummer <hanetzer@startmail.com>
2018-09-16 15:08:43 +03:00
Xavier Claessens 3cf03ec6d6 find_installation: Add support for feature option in required kwarg
Closes: #4165.
2018-09-16 15:07:43 +03:00
Jussi Pakkanen 46bf51543b
Merge pull request #4170 from 3v1n0/test-projects-extra-file-reports-fix
run_projects_tests: Fail if we install extra files even if not in cl
2018-09-16 14:54:10 +03:00
Marco Trevisan (Treviño) 0fc9a60189 run_proect_tests: add cygwin as platform fix name 2018-09-14 22:35:46 +02:00
Marco Trevisan (Treviño) 81e7a0981b run_project_tests: remove pdb workaround, just use filters
And ignore .dll.a files in non cygwin gcc instances
2018-09-14 20:19:35 +02:00
Marco Trevisan (Treviño) b484f2ae22 test cases: add missing files to installed_files.txt
All these are marked as files to be installed, so we need list them.
2018-09-14 08:45:48 +02:00
Jussi Pakkanen f2041405fb
Merge pull request #4017 from jon-turney/version-comparison-rewrite
Use rpmvercmp version comparison
2018-09-13 22:19:35 +03:00
Jon Turney de7c3cbbc5 Fix flake8 'imported but unused' reports
$ flake8 | grep F401
./mesonbuild/compilers/d.py:19:1: F401 '.compilers.GCC_CYGWIN' imported but unused
./test cases/unit/35 dist script/replacer.py:3:1: F401 'sys' imported but unused
2018-09-13 20:33:17 +03:00
Jon Turney 1394cb9263 Correct version_compare_condition_with_min()
Correct version_compare_condition_with_min() for the case where no minimum
version is established by the version constraint.  Add a simple test.

Also fix test_feature_check_usage_subprojects by escaping regex
metacharacters.

if |condition| is '<', '<=' or '!=', the minimum version satisfying the
condition is 0, so the minimum version for a feature is never met.

if |condition| is '>=' or '==', the minimum version satisfying the condition
is the version compared with, so the minimum version for a feature must be
less than or equal to that.

if |condition| is '>', the minimum version satisfying the condition is
greater than the version compared with, so the minimum version for a feature
must be less than that

(it's this last condition that makes this function necessary, as in all
other cases we could establish a definite minimum version which we could
compare to see if it's less than or equal to the current version)
2018-09-12 15:38:00 +01:00
Jussi Pakkanen c486670e56 Skip some SDL tests when using an OSX framework version. 2018-09-10 13:06:30 -07:00
Alexey Rochev 929fbb9353 Qt: add main argument to Qt dependency object to link with qtmain library on Windows (#2327) 2018-09-10 21:00:36 +03:00
Dylan Baker 51e9db370a Add method to check for C/C++ function attributes
It's fairly common on Linux and *BSD platforms to check for these
attributes existence, so it makes sense to me to have this checking
build into meson itself. Autotools also has a builtin for handling
these, and by building them in we can short circuit cases that we know
that these don't exist (MSVC).

Additionally this adds support for two common MSVC __declspec
attributes, dllimport and dllexport. This implements the declspec
version (even though GCC has an __attribute__ version that both it and
clang support), since GCC and Clang support the MSVC version as well.
Thus it seems reasonable to assume that most projects will use the
__declspec version over teh __attribute__ version.
2018-09-07 11:52:15 -07:00
Jussi Pakkanen 68f669bd2b Condense test dirs. 2018-09-06 19:09:35 +03:00
Nirbheek Chauhan 68cfe1bb52 Test + fix for not-found dependency fallback version comparison
Fixes:
meson.build:6:0: ERROR:  Uncomparable version string 'unknown'.

This was previously partially fixed in a8694f4b, which only fixed it
for cached fallback dependencies.
2018-09-04 22:50:17 -07:00
Corentin Noël 176af2c8c3 i18n: respect variable substitution for the target name when merging translations
Previously it wasn't possible to use twice @BASENAME@ as the targets would then be named @BASENAME@_merge
2018-09-03 22:34:22 -07:00
Rafael Ávila de Espíndola 07d2d88fa9 Allow override_find_program to use an executable.
With this it is now possible to do

foobar = executable('foobar', ...)
meson.override_find_program('foobar', foobar)

Which is convenient for a project like protobuf which produces both a
dependency and a tool. If protobuf is updated to use
override_find_program, it can be used as

protobuf_dep = dependency('protobuf', version : '>=3.3.1',
                          fallback : ['protobuf', 'protobuf_dep'])
protoc_prog = find_program('protoc')
2018-09-03 21:24:01 +03:00
Alexey Rochev 862019e6de Qt: Allow passing dependency objects to preprocess method (#3470, #3875) 2018-09-03 21:13:03 +03:00
Jussi Pakkanen 9bcd498a2f
Merge pull request #4084 from FFY00/pr-fix-dub-dependencies
dub: enhance dependency handling
2018-09-03 19:30:52 +03:00
FFY00 a5742f1852
tests: add dub (failing/85) 2018-09-02 21:59:53 +01:00
Nirbheek Chauhan bead8287a5 Improve support for macOS dylib versioning
We now use the soversion to set compatibility_version and
current_version by default. This is the only sane thing we can do by
default because of the restrictions on the values that can be used for
compatibility and current version.

Users can override this value with the `darwin_versions:` kwarg, which
can be a single value or a two-element list of values. The first one
is the compatibility version and the second is the current version.

Fixes https://github.com/mesonbuild/meson/issues/3555
Fixes https://github.com/mesonbuild/meson/issues/1451
2018-08-29 15:51:23 -07:00
Jussi Pakkanen b86f2fd17f
Merge pull request #4016 from thiblahute/hotdoc
modules: Add an 'hotdoc' module
2018-08-29 21:18:26 +03:00
David Seifert cc37a66077 Deduplicate build-tree RPATHs on macOS
* Currently, RPATHs coming from dependencies and
  `build_rpath` provided by the user might contain
  the same path. Apple's `install_name` tool is
  allergic to providing the same argument twice
  when removing RPATHs:

    error: install_name_tool: "-delete_rpath /usr/lib" specified more than once
2018-08-28 23:26:08 -07:00
Thibault Saunier 378bd4df0e modules: Add an 'hotdoc' module
hotdoc: http://github.com/hotdoc/hotdoc/
2018-08-28 18:18:40 -03:00