Commit Graph

3738 Commits

Author SHA1 Message Date
Guillaume Poirier-Morency a7fee9bd48 vala: Cover 'find_library' usage and be more explicit for default install directories in docs 2017-05-13 23:45:13 +03:00
Tim-Philipp Müller 076ce56425 Skip ObjectiveC/C++ tests if ObjC compiler is not available 2017-05-13 23:34:27 +03:00
Jussi Pakkanen 08bd92a6ae Merge pull request #1788 from aradi/fix-fortran-scan
Fix scanning of Fortran sources created during configuration
2017-05-13 23:24:14 +03:00
Ole André Vadla Ravnås 97339d3be4 ninja: Also include Vala headers in generated headers 2017-05-13 22:59:06 +03:00
Jon Turney 61a145fcb5 Implement executable(gui_app:) for gcc on Windows
Note that gui_app: is currently ignored when using the ninja backend with VS
compilers, so I guess you get the default linker behaviour, which the
documentation says is guessing the subsystem depending on if a main or
WinMain symbol exists...
2017-05-13 22:58:06 +03:00
Jussi Pakkanen c2282f9382 Merged rust_args branch. 2017-05-13 22:51:43 +03:00
Bálint Aradi 3d88ce70f4 Turn feature test into a proper unit test 2017-05-13 21:18:16 +02:00
Jussi Pakkanen 84012a5099 Merge pull request #1669 from mesonbuild/dist
Create a dist target
2017-05-12 19:37:31 +03:00
Jon Turney e99cfdfbc7 Make vs_module_defs: do something for gcc on Windows as well
Module definition files may be useful when building with gcc on Windows also
(e.g. if the existing build uses them, if exports are aliased, if we were
retro enough to export by ordinal, etc.)

Add the .def file to the link command line when using gcc on Windows

Run the appropriate windows tests irrespective of compiler.
2017-05-12 18:56:43 +03:00
Jussi Pakkanen 1e14438a38 Merge pull request #1735 from dcbaker/list-of-files
Allow passing a list of Files to CustomTarget. Closes #1720
2017-05-12 18:54:46 +03:00
Nirbheek Chauhan 67b195f919 setup.py: dependencies is now a directory 2017-05-12 18:54:03 +03:00
Bálint Aradi 37ce7f01cf Add test for fortran dependency scanning fix 2017-05-12 15:36:38 +02:00
Bálint Aradi 540fd2f0e0 Fix scanning of Fortran sources created during configuration 2017-05-12 14:34:19 +02:00
Jussi Pakkanen 8068fc0d1d Add test and release notes. 2017-05-12 14:25:27 +03:00
Dylan Baker 410937c08e Flatten SharedLibary link_args. 2017-05-11 16:59:59 -07:00
Jussi Pakkanen 86ec0d9477 Merge pull request #1631 from QuLogic/split-dependencies
Split dependencies.py into separate files
2017-05-11 22:43:10 +03:00
Peter Hutterer 73494c9927 docs: make the required argument for find_program stick out more 2017-05-11 22:39:47 +03:00
liberforce b15f0a0fc1 Update Compiler-properties.md
Fix table formatting
2017-05-11 22:39:03 +03:00
Dylan Baker 99c1038988 appveyor: Don't run appveyor for docs only changes
Appveyor takes a *long* time to run (~45 minutes per commit currently),
and it does no parallelism. It is possible to skip merge requests that
only touch documentation, this commit adds that support.

Because Appveyor (and Travis) test a merge of the pull request into
master and not the branch itself this will only skip builds that only
touch docs, and not pull requests that do both doc and non-doc changes.
2017-05-11 22:38:36 +03:00
Dylan Baker c03744cccb Allow passing a list of Files to CustomTarget. Closes #1720 2017-05-11 09:57:38 -07:00
Dylan Baker e2567386f1 Use flatten for link targets. Fixes #1764 2017-05-11 09:57:38 -07:00
Dylan Baker e419198ff8 Flatten should always return a list
Currently if flatten() is passed a non-list object, it returns that
object. This is surprising behavior, and prone to causing serious and
numerous problems, since many objects implement the iterable interface,
and thus can be used in cases a list is expected, but with undesirable
results.
2017-05-11 09:57:38 -07:00
Jussi Pakkanen 6e59d84534 Initialise submodules. 2017-05-11 19:34:16 +03:00
Jussi Pakkanen a91aed8854 Test created tarball by doing a full build + test + install cycle. 2017-05-11 19:34:16 +03:00
Jussi Pakkanen 255be79e22 Created a dist target. Closes #877. 2017-05-11 19:34:16 +03:00
Jussi Pakkanen 1a87c967f1 Merge pull request #1761 from keszybz/docs
Some simple doc fixes
2017-05-11 00:15:58 +03:00
Jussi Pakkanen 9141cd78aa Now cracks a noble heart. Good night sweet prince:
And flights of angels sing thee to thy rest!
2017-05-11 00:14:40 +03:00
liberforce ad6c61dcf5 Update Running-Meson.md
Fix parameter escapement
2017-05-11 00:14:17 +03:00
liberforce 6dc54b86b6 Update Syntax.md
Fix variable name
2017-05-11 00:13:51 +03:00
Peter Hutterer 7ed19902be pkgconfig: add suppport for custom variables during generation
Usage:
    pkgconfig.generate(
      ...
      description : 'A library with custom variables.',
      variables : ['foo=bar', 'datadir=${prefix}/data']
      )

The variables 'prefix', 'libdir' and 'includedir' are reserved, meson will
fail with an error message.

Variables can reference each other with the pkgconfig notation, e.g.

   variables : ['datadir=${prefix}/data',
                'otherdatadir=${datadir}/other']

meson does not check this for correctness or that the referenced variable
exists, we merely keep the same order as specified.
2017-05-11 00:13:30 +03:00
Elliott Sales de Andrade e922a6f6f0 Make base imports explicit. 2017-05-09 18:28:05 -04:00
Elliott Sales de Andrade 8731e00ada Tweak formatting of base dependency file. 2017-05-09 18:28:05 -04:00
Elliott Sales de Andrade d3caadb675 Split misc dependencies into their own file. 2017-05-09 18:28:05 -04:00
Elliott Sales de Andrade cb24c2d58a Split apart platform-specific dependencies 2017-05-09 18:28:04 -04:00
Elliott Sales de Andrade d96b16c24b Split development-related deps into their own file. 2017-05-09 18:13:10 -04:00
Elliott Sales de Andrade 23f9b42d3b Split UI-related into a separate file.
Some of these are a bit bigger than just UI libraries, but this division
seems close enough.
2017-05-09 18:13:09 -04:00
Elliott Sales de Andrade 92557e1c2a Move dependencies.py into a subdirectory. 2017-05-09 17:39:38 -04:00
Zbigniew Jędrzejewski-Szmek 65450459de docs: add puncuation to description of compiler object functions 2017-05-09 14:51:01 -04:00
Zbigniew Jędrzejewski-Szmek ed9f79b8a4 docs: mention $DESTDIR in add_install_script description, add punctuation
Although not stricly necessary, it is good to mention $DESTDIR in the
explanation for add_install_script, since it might not be obvious for the
user that it is available.

Also add punctuation to be consistent.

v2:
- fix "witht" typo
- reword $DESTDIR description to say that it is inherited from the environment
- also describe $MESONINTROSPECT
2017-05-09 12:10:35 -04:00
Jussi Pakkanen 1aa68cf6e3 Merge pull request #1610 from valum-framework/vala-use-generate-basic-compiler-args
Use 'generate_basic_compiler_args' for Vala targets
2017-05-09 18:45:06 +03:00
Nicolas Schneider 39520d5688 vs: surround project guid with '{}'
Closes #1672.
2017-05-09 18:43:11 +03:00
Jussi Pakkanen 69abca2a67 Merge pull request #1751 from centricular/fix-cached-deps
Fix caching of external dependencies of various types
2017-05-09 18:41:51 +03:00
Jussi Pakkanen ebfaf3a16f Merge pull request #1758 from dcbaker/llvm-cpp-blacklist
LLVM cpp blacklist
2017-05-09 18:40:10 +03:00
Jussi Pakkanen 8d3d6382e8 Upgrade CI image to Ubuntu Zesty. 2017-05-09 18:39:50 +03:00
Nirbheek Chauhan 830b44867c dependencies: Only store found deps in the cache
This simplifies everything since it means we will always search for the
dependency again on the system if it wasn't found. This is particularly
important when running `ninja reconfigure` with an edited
PKG_CONFIG_PATH to point to a path that contains more pkg-config files.
2017-05-09 14:24:48 +05:30
Nirbheek Chauhan 66f0ccb39b dependencies: Fix two more edge-cases in dependency searching
Includes tests for both of them.
2017-05-09 14:24:48 +05:30
Nirbheek Chauhan 8cf29bd288 Completely overhaul caching of external dependencies
The old caching was a mess of spaghetti code layered over pasta code.

The new code is well-commented, is clear about what it's trying to do,
and uses a blacklist of keyword arguments instead of a whitelist while
generating identifiers for dep caching which makes it much more robust
for future changes.

The only side-effect of forgetting about a new keyword argument would
be that the dependency would not be cached unless the values of that
keyword arguments were the same in the cached and new dependency.

There are also more tests which identify scenarios that were broken
earlier.
2017-05-09 14:24:48 +05:30
Nirbheek Chauhan 1570a90822 project tests: Also regen before building
This actually caught a cached-dependency related bug for me that the
test-time regen did not. I also increased the ninja wait time to
1 second because that's actually how long you need to sleep to be
guaranteed that a change will be detected.

Must poke upstream about https://github.com/ninja-build/ninja/issues/371
2017-05-09 14:23:15 +05:30
Nirbheek Chauhan 41f51f567a pkgconfig dependency: Define version_reqs at the start
Otherwise a cached not-found dependency won't have it and __repr__
will fail.
2017-05-09 14:23:15 +05:30
Nirbheek Chauhan ac1c929f66 mesonintrospect: Print all deps, not just those with the same name
This breaks the API, but the original API was just broken.
2017-05-09 14:23:15 +05:30