aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-04-03Disable asm test on Windows because it is blocking all CI.mingwdisableJussi Pakkanen2-6/+14
2017-04-02Merge pull request #1505 from centricular/dont-use-c++-for-assemblyJussi Pakkanen17-26/+188
Try harder to use the C compiler for compiling asm
2017-03-30strip trailing backslash from WindowsSDKVersion (#1538)melak472-1/+2
2017-03-29fix "Meson encountered an error in file meson.build, line 19, column … (#1536)kalmiya2-2/+3
fix "Meson encountered an error in file meson.build, line 19, column 8: Unknown method "set_install_script" in object."
2017-03-29Merge pull request #1346 from msink/test-mingwJussi Pakkanen20-26/+184
appveyor: run tests against MSYS2-MinGW
2017-03-30run_tests: Don't run unit tests when the VS backend is selectedNirbheek Chauhan1-1/+10
2017-03-30tests/common/141: Also test C + asm targetsNirbheek Chauhan3-2/+27
Ensure that they are all built with and linked with the C compiler
2017-03-29configure_file: make input arg optional if command is usedTim-Philipp Müller4-3/+32
Fixes #1476
2017-03-29rust: Support executable name differing from source namePatrick Griffis6-13/+13
2017-03-28Fix warning making static libs on msvc/ninjaPeter Harris2-3/+3
The MSVC static library tool, lib.exe, does not understand the same set of arguments as the linker. Avoid a warning by not adding /DEBUG or /PDB to the command line when invoking lib.exe
2017-03-28tests/windows/5: Skip if build_to_src has spacesNirbheek Chauhan1-0/+59
In this case, the arguments to MinGW windres will contain spaces and the test will definitely fail, so just skip it. This effectively means that manually running the test will be fine, but running it via run_project_tests.py will always fail (skip).
2017-03-28appveyor: Move msys2-mingw matrix a little higherNirbheek Chauhan1-4/+4
Allows us to see failures in it sooner because it will be run earlier
2017-03-28modules: Start using @SOURCE_ROOT@ and @BUILD_ROOT@Nirbheek Chauhan6-13/+36
First step in fixing https://github.com/mesonbuild/meson/issues/1419 Also works around an issue in the MinGW windres.exe that causes it to fail if any of the arguments passed to it contain a space. There seems to be no way to quote or escape the spaces in the path to make windres parse the path correctly, so we just warn about it instead. https://sourceware.org/bugzilla/show_bug.cgi?id=4933 https://github.com/mesonbuild/meson/pull/1346
2017-03-28tests/windows/5: Add more subdirs to the testNirbheek Chauhan6-4/+7
This improves test coverage by testing that resources, includes, and build targets being in separate directories works properly.
2017-03-28project tests: Don't look for PDB files on MinGW/GCCNirbheek Chauhan1-1/+2
2017-03-28tests/common/127: Fix test on MinGW 64-bitNirbheek Chauhan2-1/+6
Instead of hard-coding whether the symbol should be underscored, detect it.
2017-03-28project tests: DummyExecutor for MSYS2 and OpenBSDNirbheek Chauhan1-1/+56
Added and tested on MSYS2/MinGW which doesn't implement the required semaphore locks in the multiprocessing module: Traceback (most recent call last): File "C:/msys64/mingw64/lib/python3.5\multiprocessing\synchronize.py", line 29, in <module> from _multiprocessing import SemLock, sem_unlink ImportError: cannot import name 'sem_unlink' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "run_project_tests.py", line 560, in <module> (passing_tests, failing_tests, skipped_tests) = run_tests(all_tests, 'meson-test-run', options.extra_args) File "run_project_tests.py", line 406, in run_tests executor = conc.ProcessPoolExecutor(max_workers=num_workers) File "F:/msys64/mingw64/lib/python3.5\concurrent\futures\process.py", line 390, in __init__ EXTRA_QUEUED_CALLS) File "F:/msys64/mingw64/lib/python3.5\multiprocessing\context.py", line 101, in Queue return Queue(maxsize, ctx=self.get_context()) File "F:/msys64/mingw64/lib/python3.5\multiprocessing\queues.py", line 42, in __init__ self._rlock = ctx.Lock() File "F:/msys64/mingw64/lib/python3.5\multiprocessing\context.py", line 65, in Lock from .synchronize import Lock File "F:/msys64/mingw64/lib/python3.5\multiprocessing\synchronize.py", line 34, in <module> " function, see issue 3770.") ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770. See also: https://bugs.python.org/issue3770 https://github.com/mesonbuild/meson/issues/1323 According to 3770, the same problem also exists on OpenBSD, so this will potentially also be useful there.
2017-03-28tests/common/135: Fix assembly on GCC/MinGWNirbheek Chauhan3-5/+6
.type declaration only works on Linux
2017-03-28unit tests: Skip static library overwrite on WindowsNirbheek Chauhan1-1/+3
Test is broken due to https://github.com/mesonbuild/meson/issues/1526
2017-03-28appveyor: run tests against MSYS2-MinGWMike Sinkovsky1-0/+9
2017-03-27Don't delete static library on WindowsNirbheek Chauhan1-1/+5
The actual fix is quite involved (#1526), so just disable this for now since it's much worse to not be able to generate static libraries at all vs a minor bug in static libraries getting stale objects (#1356) Closes https://github.com/mesonbuild/meson/issues/1517
2017-03-27Allow not-required not-found dependencies in subprojectsNirbheek Chauhan2-2/+12
Closes https://github.com/mesonbuild/meson/issues/1474
2017-03-27Merge pull request #1529 from centricular/fix-dep-typoJussi Pakkanen2-20/+2
Fix dep typo + reduce appveyor tests
2017-03-27Fix qt4 tool location detection, which may result in incorrectly pickingAaron Small2-1/+35
up qt5 tools when using the qt4 module.
2017-03-27appveyor: Only build vs2010/x86 + vs2015/x86 + vs2017/x64Nirbheek Chauhan1-18/+0
This reduces our CI running time by roughly half without compromising much test coverage by much. We can mostly safely assume that very few Meson bugs will be arch-specific with Visual Studio.
2017-03-27Fix typo in dependency invalid arguments errorNirbheek Chauhan1-2/+2
2017-03-27wrap: Also capture stderr while running quiet_git()Nirbheek Chauhan2-1/+6
We want to return the stderr if the command failed.
2017-03-27Try even harder to use the C compiler for assemblyNirbheek Chauhan11-16/+126
Now as long as you have a C compiler available in the project, it will be used to compile assembly even if the target contains a C++ compiler and even if the target contains only assembly and C++ sources. Earlier, the order in which sources appeared in a target would decide which compiler would be used. However, if the project only provides a C++ compiler, that will be used for compiling assembly sources. If this breaks your use-case, please tell us. Includes a test that ensures that all of the above is adhered to.
2017-03-27tests: Fix typo in unit test codeNirbheek Chauhan1-1/+1
This project wasn't actually configured, so it was never noticed.
2017-03-27Don't require a language/compiler for configuringNirbheek Chauhan2-3/+3
Not really needed for projects that don't compile anything. Closes https://github.com/mesonbuild/meson/issues/1208
2017-03-27compilers: Implement __repr__ for easier debuggingNirbheek Chauhan1-0/+5
2017-03-27Try harder to use the C compiler for compiling asmNirbheek Chauhan3-17/+25
Use an ordered dict for the compiler dictionary and sort it according to a priority order: fortran, c, c++, etc. This also ensures that builds are reproducible because it would be a toss-up whether a C or a C++ compiler would be used based on the order in which compilers.items() would return items. Closes https://github.com/mesonbuild/meson/issues/1370
2017-03-27Thank you git for silently discarding unrelated changes on conflicts. It is ↵Jussi Pakkanen1-1/+1
very helpful.
2017-03-26compilers: fix swift sanity checkJoe Baldino1-0/+1
The "1 + 2" swift sanity check produces a swiftc compiler warning (result unused). For this sanity check, compile a print statement as is done with fortran. My first patch, so update authors.txt as well.
2017-03-26vs: Fix custom target generated object pathsNirbheek Chauhan7-1/+49
The paths are already relative to the target dir. Includes a test for this which generates and builds in subdirs. If all the generation and usage is done in the build root, this bug will obviously not be triggered.
2017-03-25Fix regen when using pkg-deps when there's no pkg-configNirbheek Chauhan1-1/+1
Without this, we'd fail with a "no attribute modversion" error.
2017-03-25declare_dependency: flatten dependencies kwargs allowing [] as no-op depTim-Philipp Müller2-1/+18
An empty / no-op dependency can be expressed as []. This works with the dependencies kwarg in executable targets such as shared_library, but now with declare_dependency, where it would error out with "error: Dependencies must be external deps" because the deps are not flattened in this case. This patch fixes that. Fixes #1500
2017-03-25EmptyNode needs a line/column number too. There are times its lineAaron Small2-25/+66
and column are printed out by other parser code. Add a print of the line with the error, and where on the line the error occurred. Add a print of where the block scope started, if the error is due to missing the block scope end token.
2017-03-25Merge pull request #1496 from centricular/fix-internal-dep-orderJussi Pakkanen9-30/+81
Preserve internal-dep include order in build target dependencies
2017-03-25Cache compiler args for each target.Elliott Sales de Andrade1-12/+20
Adding together a bunch of include directories can be very slow if done for each source of a target.
2017-03-25Merge pull request #1516 from centricular/git-submodule-subprojectsJussi Pakkanen6-23/+114
Add support for using git submodules as subprojects
2017-03-25Detect 'ccache' in evars and cross-info filesNirbheek Chauhan1-4/+18
Then, only use it if it's actually available. Closes https://github.com/mesonbuild/meson/issues/1471
2017-03-25Never accept a directory as being an executable programThibault Saunier1-1/+1
Otherwise we will possibly use a subfolder with the name an executable we are looking for as an executable
2017-03-25Github md renderer requires spaces between hashes and the heading text.Jussi Pakkanen1-6/+6
2017-03-25wrap: Implement special wrap modes for use by packagersNirbheek Chauhan6-4/+54
Special wrap modes: nofallback: Don't download wraps for dependency() fallbacks nodownload: Don't download wraps for all subproject() calls Subprojects are used for two purposes: 1. To download and build dependencies by using .wrap files if they are not provided by the system. This is usually expressed via dependency(..., fallback: ...). 2. To download and build 'copylibs' which are meant to be used by copying into your project. This is always done with an explicit subproject() call. --wrap-mode=nofallback will never do (1) --wrap-mode=nodownload will do neither (1) nor (2) If you are building from a release tarball, you should be able to safely use 'nodownload' since upstream is expected to ship all required sources with the tarball. If you are building from a git repository, you will want to use 'nofallback' so that any 'copylib' wraps will be download as subprojects. Note that these options do not affect subprojects that are git submodules since those are only usable in git repositories, and you almost always want to download them.
2017-03-25wrap: Initialize subprojects that are git submodulesNirbheek Chauhan2-12/+50
This will benefit projects such as GNOME Recipes that prefer using submodules over wraps because it's easier to maintain since git is aware of it, and because it integrates with their existing workflow. Without this, these projects have to manually initialize the submodules which is completely unnecessary. Closes https://github.com/mesonbuild/meson/issues/1449
2017-03-25wrap: Check that the package dir contains 'meson'build'Nirbheek Chauhan1-13/+16
Also use a pathlib.Path object for the checks since it does I/O only once and is much more efficient anyway. Path objects are available since Python 3.4, so this is fine.
2017-03-24Merge pull request #1491 from nioncode/vs2017Jussi Pakkanen5-1/+88
VS2017 backend
2017-03-23vs: Always use a wrapper for custom target commandsNirbheek Chauhan2-5/+10
Besides fixing output capture, it also fixes a strange bug in MSBuild where if the command list is too long, it will remove random characters from the command list before passing it to the command. Closes https://github.com/mesonbuild/meson/issues/1417
2017-03-23Merge pull request #1456 from ieei/compute_intJussi Pakkanen6-30/+150
Add compute_int, fixes #435