aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-11-10tests: Test generating gir from programtingping/test-gir-programPatrick Griffis5-3/+87
2016-11-10Merge pull request #1011 from centricular/runtarget-files-rel-builddirJussi Pakkanen4-5/+20
ninja: Pass absolute path of files to run targets
2016-11-10Merge pull request #991 from mesonbuild/wip/tingping/gresource-depfileJussi Pakkanen3-28/+42
gnome: Use depfile support of recent glib-compile-resources
2016-11-09Merge pull request #995 from centricular/more-appveyor-buildsJussi Pakkanen11-99/+228
appveyor.yml: Test more than just MSVC2010 + Ninja on x86
2016-11-09Allow tests to mark themselves as skipped during runtime.Jussi Pakkanen4-3/+9
2016-11-10tests: Disable 113 generatorcustom on VS backendsNirbheek Chauhan1-11/+15
Can only test this by checking the compiler id, but that's good enough. Disabling so we can get #995 in which will help keep the VS backend in a better state w.r.t. other PRs. I've opened #1004 to track this in the meantime.
2016-11-10appveyor.yml: Use x86 python only on x86Nirbheek Chauhan1-4/+8
It causes the cpython tests to fail when using the x86_64 toolchain. tachyon_module.c.obj : error LNK2019: unresolved external symbol __imp_PyLong_FromLong referenced in function phaserize tachyon_module.c.obj : error LNK2019: unresolved external symbol __imp_PyArg_ParseTuple referenced in function phaserize tachyon_module.c.obj : error LNK2019: unresolved external symbol __imp_PyModule_Create2 referenced in function PyInit_tachyon c:\\python34/libs\python34.lib : warning LNK4272: library machine type 'X86' conflicts with target machine type 'x64' ext/tachyon.pyd : fatal error LNK1120: 3 unresolved externals
2016-11-10appveyor.yml: Print versions of MSBuild and NinjaNirbheek Chauhan1-0/+1
This is useful to know what MSBuild.exe and Ninja we are using and whether the correct one has been set via PATH by vcvarsall.bat and hasn't been overwritten by appveyor.
2016-11-10Fix debug PCH builds with MSVC 2012 and laterNirbheek Chauhan2-5/+14
With MSVC 2013 and newer, using pre-compiled headers with .pdb debugging fails with the following error message: fatal error C1041: cannot open program database '[...]\prog.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS So we use /FS when PCH is enabled. When PCH is enabled and debugging is disabled, this will have no effect since .pdb files will not be written.
2016-11-10Fix 103 manygen with MSVC on WindowsNirbheek Chauhan2-2/+14
The code generated manually with manygen.py must use the same CRT compiler arguments as the final executable itself or we get an error during linking: MSVCRTD.lib(_chandler4gs_.obj) : error LNK2019: unresolved external symbol __except_handler4_common referenced in function __except_handler4 depuser.exe : fatal error LNK1120: 1 unresolved externals
2016-11-10Fix 62 exe static shared on MSVCNirbheek Chauhan1-1/+3
The static function also needs to be DLL exported to be found.
2016-11-1051 pkgconfig-gen: Disable validation on WindowsNirbheek Chauhan1-1/+1
The pkg-config version shipped with MinGW is too old, and the test is sufficiently covered on Linux, so just skip it on Windows. We anyway do not run the other pkg-config tests on Windows.
2016-11-10vs: Properly split per-compiler args into per-file optionsNirbheek Chauhan1-64/+96
Previously we were just dumping all defines and include directories into the target-wide list of defines and include directories. Now we have separate per-target and per-file (actually per-language) arguments, defines, and include directories.
2016-11-10vs backend: coredata.meson_script_file was renamedNirbheek Chauhan1-1/+1
2016-11-10project tests: Fix appveyor overwriting the platform env variableNirbheek Chauhan1-0/+15
There is no way to do this in the .appveyor.yml file since it seems that the appveyor environment is forcibly written after each cmd command that is run.
2016-11-10project tests: Skip lang-specific tests based on backendNirbheek Chauhan1-9/+31
XCode and Visual Studio are likely never going to support these languages, so don't fail if the compiler happens to be in the PATH.
2016-11-10appveyor.yml: Test more than just MSVC2010 + Ninja on x86Nirbheek Chauhan1-5/+33
Now we test: MSVC 2010 + Ninja (x86) MSVC 2015 + Ninja (x86) MSVC 2015 + Ninja (x86_64) MSVC 2010 + MSBuild (x86) MSVC 2015 + MSBuild (x86) MSVC 2015 + MSBuild (x86_64) MSVC 2010 Express only shipped with an x86 toolchain, so we can only test x86 for that.
2016-11-09gnome: Improve dependency handling of compile_resources()Patrick Griffis1-22/+39
- Use depfile support on recent glib-compile-resources - Don't pass dep files to header ever - Pass depends for generated deps - Avoid duplicate --sourcedir args - Include correct subdir of generated deps
2016-11-09backends: Output depfiles in same directory as targetPatrick Griffis2-6/+3
2016-11-09custom_target: Substitute @OUTPUT@ and @INPUT properlyNirbheek Chauhan3-31/+49
They weren't being substituted if they were a part of a command argument, ala --output=@OUTPUT@, etc. Closes https://github.com/mesonbuild/meson/issues/824
2016-11-09Create target directory if it does not exist. Closes #935.Jussi Pakkanen1-0/+4
2016-11-09Merge pull request #1006 from centricular/cpp-has-header-symbolJussi Pakkanen12-167/+256
A bunch of fixes for compiler checks with C++
2016-11-09Can specify scan-build executable with an environment variable. Closes #1015.Jussi Pakkanen1-6/+7
2016-11-08rpm: Fix trivial typo in BuildRequiresNirbheek Chauhan1-1/+1
coredata.deps is keyed with a tuple; we want the first element of that (the pkg-config dependency name) here. See: https://fedoraproject.org/wiki/Packaging:PkgConfigBuildRequires Closes https://github.com/mesonbuild/meson/issues/955
2016-11-08Merge pull request #1005 from centricular/javac-no-javaJussi Pakkanen2-6/+16
javac: Don't fail if there's no JVM
2016-11-08Implement mlog.warning and use it everywhere for warningsNirbheek Chauhan11-33/+38
Prepends the string with 'WARNING:' in ANSI yellow. Closes https://github.com/mesonbuild/meson/issues/961
2016-11-09ninja: Pass absolute path of files to run targetsNirbheek Chauhan1-3/+3
We already pass everything else (custom targets, build targets, etc) as absolute paths, and this is the only sane way to handle this till we rework the codebase to use File objects everywhere (after reworking the File object itself). Fixes https://github.com/mesonbuild/meson/issues/957
2016-11-09tests: Check that run_target can find a files() argumentNirbheek Chauhan3-2/+17
Tests https://github.com/mesonbuild/meson/issues/957
2016-11-09project tests: Require both javac and java for Java testsNirbheek Chauhan1-1/+1
2016-11-09javac: Fail gracefully if there's no JVMNirbheek Chauhan1-5/+15
Without this, we error out with an exception if `javac` is found but `java` isn't: [...] File "mesonbuild/interpreter.py", line 1759, in detect_compilers comp.sanity_check(self.environment.get_scratch_dir(), self.environment) File "mesonbuild/compilers.py", line 1279, in sanity_check pe = subprocess.Popen(cmdlist, cwd=work_dir) File "/usr/lib64/python3.5/subprocess.py", line 947, in __init__ restore_signals, start_new_session) File "/usr/lib64/python3.5/subprocess.py", line 1551, in _execute_child raise child_exception_type(errno_num, err_msg) FileNotFoundError: [Errno 2] No such file or directory: 'java'
2016-11-08Search for headers in build dir before source dir. Closes #984.Jussi Pakkanen4-4/+9
2016-11-08Inherit VisualStudioCPPCompiler from CPPCompilerNirbheek Chauhan1-1/+2
Without this our custom C++ has_header_symbol implementation is not used with the Visual Studio C++ compiler.
2016-11-08has_function: Cast to void* instead of intNirbheek Chauhan1-1/+1
Clang++ doesn't allow that, but void* will always be allowed because lots of projects depend on that. error: cast from pointer to smaller type 'int' loses information
2016-11-08travis.yml: Export CC and CXX inside the docker instanceNirbheek Chauhan1-1/+1
docker does not inherit the parent environment and loses the CC/CXX settings for testing against clang and gcc.
2016-11-08travis.yml: Don't test for GCC on OS XNirbheek Chauhan1-0/+6
GCC on OS X is just a wrapper around Clang, so the test results will always be identical.
2016-11-08tests/common: Run compiler checks for both C & C++Nirbheek Chauhan9-147/+178
Without this we're just hoping that the C++ compiler behaves the same way as the C compiler, which is not always true as demonstrated by https://github.com/mesonbuild/meson/issues/958
2016-11-08has_function: Fix trivial typoNirbheek Chauhan1-1/+1
This was breaking has_function on C++
2016-11-08has_header_symbol: Also detect C++ classes and templatesNirbheek Chauhan2-0/+23
With the `using` keyword we can try to use the specified class or template which will tell us if it exists.
2016-11-08has_header_symbol: Make it work with C++ compilersNirbheek Chauhan2-16/+44
Need to pass -fpermissive to force C++ compilers to only warn about our non-conformant code that tests for a symbol being defined. Also do a simple #ifdef check first in has_header_symbol to allow arbitrary macros to be detected which would not have been detected earlier. This follows what AC_CHECK_DECL does. Closes #958
2016-11-07Minor adjusts (#1001)alvarez863-5/+3
* contributing: Use should instead of thould * interpreter: Use exist_ok parameter in subdir function We explicitly depend on python 3.4 or newer, which means the exist_ok parameter is available. Use it instead of a try with a pass on except. * authors: Add my name at the end of authors file
2016-11-06Use a cross linker when cross compiling.Jussi Pakkanen1-5/+9
2016-11-06Merge pull request #942 from mesonbuild/tingping/private-methodsJussi Pakkanen2-44/+50
Don't expose private module methods
2016-11-06Merge pull request #993 from centricular/cached-dep-required-attrJussi Pakkanen2-5/+3
dependency: Check that cached_dep has the 'required' attribute
2016-11-06Merge pull request #994 from centricular/more-travis-buildsJussi Pakkanen1-3/+11
travis.yml: Run tests against both gcc and clang
2016-11-06Added reconfigure target that always reruns Meson.Jussi Pakkanen2-0/+5
2016-11-06Merge pull request #950 from centricular/fix-dependency-subproject-exceptionsJussi Pakkanen3-7/+15
Don't ignore invalid code related to subproject calls
2016-11-06gnome: Mark helper functions as privatePatrick Griffis1-44/+48
2016-11-06Don't expose module functions prefixed with _Patrick Griffis1-0/+2
This is the common Python convention for private methods so lets not expose these to build files as they are implementation details and their behavior is undefined.
2016-11-05ninjabackend: fix error messageTim-Philipp Müller1-1/+1
2016-11-05Test that invalid subproject code in dependency() errors outNirbheek Chauhan2-0/+4