aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-04-06Don't run framework tests on CygwinJon Turney1-1/+1
2017-04-06Fix test cases/common/125 on CygwinJon Turney2-4/+16
2017-04-06Teach test cases/common/140 of the existence of CygwinJon Turney1-0/+3
2017-04-06Fix test cases/common/135 on CygwinJon Turney1-0/+3
I don't really know how to explain this briefly... If you don't decorate this with dllimport, then a Cygwin runtime relocation is used (a so called 'pseudo-reloc'). As the relocation offset is only 32 bits, this can fail on x86_64 if the DLL happens to be loaded more than 2GB away from the reference. If you decorate with dllimport, then access is indirected via a pointer, imp_square_unsigned, which is fixed up by the loader.
2017-04-06Ignore install as non-existent user or groupJon Turney1-1/+10
'test cases/common/12 data' and 'test cases/common/66 install subdir' both try to install something as 'root'. This user doesn't exist on Cygwin. Perhaps we should automatically convert this to some other user, but it's not clear which. For real projects, it's possibly better for the meson.build to explicitly handle this... 'test cases/common/12 data' also tries to install something with GID 0. There's no guarantee this group exists.
2017-04-06Run test cases/windows/ tests on CygwinJon Turney2-2/+2
Also, always run 'test cases/windows/5 resources' on Cygwin since it can handle args containing spaces correctly.
2017-04-06Skip some linuxlike tests which don't work on CygwinJon Turney3-0/+12
2017-04-06Skip objc/nsstring test on CygwinJon Turney1-0/+2
GNUstep isn't packaged for Cygwin
2017-04-06Fix test cases/common/37 on CygwinJon Turney1-9/+9
Including newlib's <stdlib.h> brings in a '#define __has_include 0', so using -U__has_include on the command line isn't going to remove it (so the fallback doesn't happen and the test fails) Instead use a '#undef __has_include' at the end of the prefix to excerise this. (newlib's <stdlib.h> is derived from FreeBSD, so the same problem will probably be seen there)
2017-04-06Cygwin uses the msabi calling convention on x86_64Jon Turney2-4/+4
Fix test cases/common/126 and 135 on Cygwin/x86_64 Cygwin also uses the msabi calling convention on x86_64, not the sysvabi calling convention.
2017-04-06Add myself to authors.txtJon Turney1-0/+1
2017-04-06Use '.exe' extension for executables for CygwinJon Turney7-7/+16
Use '.exe' extension for executables for Cygwin when building and installing
2017-04-06Use correct shared library naming for CygwinJon Turney4-13/+54
Use correct shared library naming for Cygwin when building and installing
2017-04-06Use extra_paths on CygwinJon Turney3-4/+4
Cygwin executables are still loaded by the Windows PE loader, so PATH needs to include any extra directories where required DLLs can be found. Cygwin uses a unix style ':'-separated PATH. os.pathsep is used correctly on extra_paths in meson_exe.py, but not in mesontest.py
2017-04-06Don't use -fPIC on Cygwin, eitherJon Turney4-5/+13
Identify Cygwin-targetted gcc as sui generis (don't use -fPIC, but don't link with standard Windows libraries, either) Update tests appropriately
2017-04-07Don't crash if a meson.build file is empty (#1570)Aaron Plattner4-0/+4
* Don't crash if a meson.build file is empty Commit 9adef3a8e878 caused an empty meson.build file to generate a traceback: Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/mesonbuild/mparser.py", line 415, in getsym self.current = next(self.stream) StopIteration During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/mesonbuild/mesonmain.py", line 298, in run app.generate() File "/usr/lib/python3.6/site-packages/mesonbuild/mesonmain.py", line 180, in generate intr.run() File "/usr/lib/python3.6/site-packages/mesonbuild/interpreter.py", line 2529, in run super().run() File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py", line 125, in run self.evaluate_codeblock(self.ast, start=1) File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py", line 146, in evaluate_codeblock raise e File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py", line 140, in evaluate_codeblock self.evaluate_statement(cur) File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py", line 151, in evaluate_statement return self.function_call(cur) File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py", line 372, in function_call return self.funcs[func_name](node, self.flatten(posargs), kwargs) File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py", line 47, in wrapped return f(self, node, args, kwargs) File "/usr/lib/python3.6/site-packages/mesonbuild/interpreter.py", line 2237, in func_subdir self.evaluate_codeblock(codeblock) File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py", line 146, in evaluate_codeblock raise e File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py", line 140, in evaluate_codeblock self.evaluate_statement(cur) File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py", line 151, in evaluate_statement return self.function_call(cur) File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py", line 372, in function_call return self.funcs[func_name](node, self.flatten(posargs), kwargs) File "/usr/lib/python3.6/site-packages/mesonbuild/interpreterbase.py", line 47, in wrapped return f(self, node, args, kwargs) File "/usr/lib/python3.6/site-packages/mesonbuild/interpreter.py", line 2233, in func_subdir codeblock = mparser.Parser(code, self.subdir).parse() File "/usr/lib/python3.6/site-packages/mesonbuild/mparser.py", line 410, in __init__ self.getsym() File "/usr/lib/python3.6/site-packages/mesonbuild/mparser.py", line 417, in getsym self.current = Token('eof', '', self.current.line_start, self.current.lineno, self.current.colno + self.current.bytespan[1] - self.current.bytespan[0], (0, 0), None) AttributeError: 'Parser' object has no attribute 'current'
2017-04-05Renamed tests with the same number.Jussi Pakkanen10-0/+0
2017-04-05Merge pull request #1511 from centricular/get-defineJussi Pakkanen10-70/+146
New compiler function: cc.get_define()
2017-04-05Prohibit ':' in project namesNirbheek Chauhan2-7/+12
This would make it harder to parse an option to mesonconf such as -Dfoo:bar:baz:fun=value since it could mean either of these: * For subproject 'foo:bar:baz', set the option 'fun' to 'value' * For subproject 'foo:bar', an invalid option 'baz:fun' was set To differentiate between these two we'd need to create the list of subprojects first and then parse their options later, which complicates the parsing quite a bit.
2017-04-04Merged Valgrind dependency branch.Jussi Pakkanen2-0/+10
2017-04-04Allow option values to contain ':'Nirbheek Chauhan2-4/+5
Instead, check that option keys don't contain ':'. Also change the failing option test to look for this. Closes https://github.com/mesonbuild/meson/issues/1454
2017-04-04Use CPPFLAGS for pre-processor compiler checksNirbheek Chauhan7-15/+44
Also don't add CFLAGS twice for links() checks Includes a test for this.
2017-04-04Merge pull request #1557 from pitti/fix/configure_data-files-inputJussi Pakkanen4-8/+18
Fix configure_data files input
2017-04-04Use shlex.split() to split CFLAGS/LDFLAGS/etcNirbheek Chauhan1-3/+4
This allows people to use spaces in the environment variables as long as they use the correct quoting.
2017-04-04New compiler function: cc.get_define()Nirbheek Chauhan3-32/+72
Runs the pre-processor and fetches the value of the define. Can find any arbitrary value and returns it as a string.
2017-04-04compilers: Rename 'get_define' to 'get_builtin_define'Nirbheek Chauhan2-12/+12
We will use `get_define` to implement a function that fetches the values of defines from headers.
2017-04-03Merge pull request #1520 from mesonbuild/tingping/python3-moduleJussi Pakkanen2-0/+32
Add get_path() and get_version() methods to the python3 module
2017-04-03Merge pull request #1457 from mesonbuild/overridesJussi Pakkanen16-37/+216
Add MVP implementation of overriding options.
2017-04-03tests/common/141: Fix build on mingw64Nirbheek Chauhan2-1/+6
2017-04-03update authors.txtPhilipp Ittershagen1-0/+1
2017-04-03Enable File() objects as an input parameter to configure_filePhilipp Ittershagen2-2/+11
The configure_file command raised an exception when an input was specified as a File, because os.path.join does not take File objects directly. This patch converts a File object to a string and adjusts the subsequent os.path.join calls.
2017-04-03Refactor duplicate code in FilePhilipp Ittershagen1-6/+6
Increase readability using the File method self.relative_name() to factor out some of the os.path.join(...) commands.
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-04-02Add test for werror which is a boolean type.Jussi Pakkanen3-3/+9
2017-04-02Review fixes.Jussi Pakkanen4-5/+4
2017-04-02Proxy object for overriding options transparently.Jussi Pakkanen8-2/+77
2017-04-02Use get_option_for_target for builtins where sensible.Jussi Pakkanen4-27/+34
2017-04-02Use relative object file name for unity files everywhere.Jussi Pakkanen2-8/+10
2017-04-02Create unity files with the VS backend.Jussi Pakkanen4-10/+20
2017-04-02Add MVP implementation of overriding options.Jussi Pakkanen8-7/+87
2017-03-30python3: Add tests for sysconfig_path() and language_version()Patrick Griffis1-0/+10
2017-03-30python3: Add sysconfig_path() methodPatrick Griffis1-0/+14
This returns the value of sysconfig paths, useful for installing modules for example.
2017-03-30python3: Add language_version() methodPatrick Griffis1-0/+8
2017-03-30strip trailing backslash from WindowsSDKVersion (#1538)melak472-1/+2
2017-03-29Add dependency type for ValgrindDylan Baker2-0/+10
Valgrind is a bit of a strange beast, in general use one isn't supposed to link against valgrinds libs, they're non-PIC static libs, instead, including the headers does magic to make valgrind work. This patch implements a simple ValgrindDependency class subclassed from PkgConfigDependency, that overwrites (effectively) only the get_link_args method to always return an empty list. This solution may seem strange, but I think that it follows the principle of least surprise, and simplifies the most common use case for valgrind. Essentially without this every valgrind consumer would be forced to implement the following code to have a usable valgrind dependency object: _dep = dependency('valgrind', required : false) if _dep.found() valgrind_dep = declare_dependency( compile_args : _dep.get_pkgconfig_variable('Cflags') ) else valgrind_dep = [] endif While the above is workable, it's surprising behavior and the above code snippet becomes boilerplate that everyone needs to copy into their meson files. Fixes #826
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