Commit Graph

2100 Commits

Author SHA1 Message Date
Nirbheek Chauhan 58386c4df3 compilers: Remove spurious wait while running sanity check
Popen.communicate() already waits for the process to complete.
2016-05-18 03:58:59 +05:30
Nirbheek Chauhan c9f16a4ab1 cc.has_function: Don't forget to check for stubs in the fallback test
The fallback test was making the stub check on Linux/glibc completely useless.

Fixes #535
2016-05-16 07:49:37 +05:30
Hemmo Nieminen 7da51f3756 Do not append a period to test suite names. 2016-05-10 20:58:39 +03:00
Jussi Pakkanen 63c2d92ae7 Merge pull request #531 from centricular/has_function_impl_fix
cc.has_function: Also detect implementations and redefinitions by a provided header
2016-05-10 20:56:08 +03:00
Hemmo Nieminen 95c86b5c42 Use CoreData.get_builtin_option() to get builtin option values. 2016-05-10 20:47:58 +03:00
Jussi Pakkanen eb6548a816 Created an emergency wraptool that downloads directly from Github. 2016-05-05 23:18:05 +03:00
Jussi Pakkanen 8d73d3023a Better error message when compdb generation fails. 2016-05-03 21:53:36 +03:00
Nirbheek Chauhan 0ac33b8857 tests/common/43: Better, more descriptive error messages 2016-05-04 00:17:27 +05:30
Nirbheek Chauhan 2300c022c2 has_function: Also detect function implementations inside headers
This also detects when the header has re-defined the symbol to something
else that is then provided by libc, which is also a case we want to
support.
2016-05-04 00:17:27 +05:30
Jussi Pakkanen 46ce7a9d4b Merge pull request #516 from centricular/cross-compile_32bit-x86_on_64bit-x86_exe-wrapper
Special-case the 32-bit executable on 64-bit x86 case while cross-compiling
2016-05-01 18:56:07 +03:00
Jussi Pakkanen 2e2df70dd0 Merge branch 'centricular-customtarget-path-windows' 2016-05-01 18:39:45 +03:00
Jussi Pakkanen 538854479e Merge pull request #525 from minijackson/master
Use module path for getting scripts dir
2016-05-01 18:25:06 +03:00
Hemmo Nieminen 1d7201dd35 Move all coverage reporting related files under $BUILD_DIR/meson-logs. 2016-05-01 18:22:47 +03:00
Minijackson cab1c3f2bf Fix argv count requirement in delwithsuffix.py script 2016-04-28 14:10:34 +02:00
Minijackson 8e94ddf625 Use module path when looking for meson scripts dir 2016-04-28 14:09:44 +02:00
Jussi Pakkanen e8f3e1ef3a Merge branch 'nioncode-vs-manygen'. 2016-04-21 22:41:00 +03:00
Jussi Pakkanen c3f71c60ee Merge pull request #521 from centricular/cc.links_run_unix_link_flags
compilers: Convert args to cc.{links,run} from unix to native
2016-04-21 22:37:49 +03:00
Hemmo Nieminen c95b0a6c17 Fix a bug in coverage reporting.
The directory from where the source files are sought when producing a
coverage report in text or XML format should not be the build directory
but the source directory instead.
2016-04-21 22:32:26 +03:00
Nicolas Schneider 985ea50944 vs2010: add object files from custom_target to project
Object files from a custom_target are like external objects and must be
added to the project.
Object files from a generator are automatically used by MSBuild, since they
are part of the CustomBuildStep and thus part of the same project as the
current build target.
2016-04-19 23:25:45 +02:00
Nicolas Schneider 060f195fe0 vs2010: add generated libs as link dependencies 2016-04-19 23:25:45 +02:00
Nicolas Schneider 1ccb4b3a51 vs2010: add dirs of custom_target generated files to include dirs 2016-04-19 23:25:45 +02:00
Nirbheek Chauhan aa7202d42f compilers: Remove outdated MSVC implementation of cc.find_library
With the change to cc.links to translate unix link flags, this is no
longer needed and is wrong because it hasn't kept-up with the improved
default cc.find_library implementation.
2016-04-19 14:13:45 +05:30
Nirbheek Chauhan d87f2f5b42 compilers: Convert args to cc.{links,run} from unix to native
This allows build files to pass -L and -l flags and have them converted
automatically as needed.
2016-04-19 00:32:02 +05:30
Nirbheek Chauhan ed774a68c6 scripts/meson_exe: prepend extra_paths to PATH instead of appending
This way locally-built DLLs and EXEs are preferred over system-wide ones
2016-04-18 22:51:24 +05:30
Nirbheek Chauhan 35ef1d109a CustomTarget: require install_dir only when install is true (#519) 2016-04-17 22:52:10 +03:00
Nirbheek Chauhan 8cd359acbb Regex used for configuration data substitution was too broad (#520) 2016-04-17 22:51:25 +03:00
Jussi Pakkanen 22f8824afb Merge msvc cross build fixes. 2016-04-16 14:40:17 +03:00
Nirbheek Chauhan 2c687b02c2 Fix symbol-exists check for cross_sizeof and add the same check to cross_alignment
The previous check was failing while checking pointer sizes such as
void* due to a syntax error.
2016-04-15 18:51:41 +05:30
Nirbheek Chauhan 9a9654c4bd Fix off-by-one in cross_sizeof and cross_alignment on MSVC 2016-04-15 17:49:58 +05:30
Nirbheek Chauhan 86aa51232e backends: Don't duplicate test setup data file name
Instead, return the values of the test and benchmark setup data files so
that the ninja/osx/vs backends can use those filenames instead of
hard-coding them.
2016-04-15 05:49:42 +05:30
Nirbheek Chauhan e3bc2e5c68 ninja: Set PATH for CustomTargets with built EXEs on Windows
When a CustomTarget is run with a command that is an executable built
by the project which also has a DLL built in the same project as a
dependency, the EXE can't run on Windows because the DLL can't be found.
On UNIX-like systems, we set the RPATH using the linker so these
dependencies can be found, but on Windows the only way is to set the
PATH environment variable.

The same problem exists for tests, so we reuse that infrastructure by
creating a new meson_exe.py script that can be used as a wrapper to run
CustomTarget commands on Windows. This can later also be extended to add
support for setting an environment while calling the command needed to
generate a CustomTarget: https://github.com/mesonbuild/meson/issues/266
2016-04-15 05:49:42 +05:30
Nirbheek Chauhan 2bdaa1f0c1 Separate out cpu_method to environment.py and add amd64 quirk 2016-04-15 00:25:35 +05:30
Nirbheek Chauhan c0765b0e8d Don't require an exe_wrapper when cross-compiling 32-bit on 64-bit
Almost all 64-bit x86 OSes can run 32-bit x86 binaries natively. Detect
that case and don't require an exe wrapper.
2016-04-15 00:25:34 +05:30
Nirbheek Chauhan 563b978bf2 On failure, print exceptions encountered while searching for compilers (#515) 2016-04-14 21:47:57 +03:00
Nirbheek Chauhan b56f008f80 compilers: Fix cross_sizeof when the type doesn't exist (#514)
compilers: Fix cross_sizeof when the type doesn't exist
2016-04-14 21:46:09 +03:00
trhd a76693f338 Fix a bug (typo) seen when printing the logs from failed tests. (#513) 2016-04-14 07:49:46 +03:00
Jussi Pakkanen 27134e8e04 Increment version number for new development. 2016-04-13 19:54:39 +03:00
Jussi Pakkanen a952717b4f Bump version number for release. 2016-04-13 19:37:12 +03:00
Jussi Pakkanen 5d65c4b678 Merge pull request #490 from centricular/has_function_link
Use the linker to check if a specific function is provided by the toolchain or runtime
2016-04-13 19:09:22 +03:00
Nirbheek Chauhan e72523ae41 compilers: Use compiler-specific no-optimization flags
MSVC doesn't understand -O0. It uses -Od (or /Od) instead.
2016-04-11 04:30:48 +05:30
Jussi Pakkanen 48e678db76 Strip leading source tree dir name from install files if it exists. 2016-04-09 12:04:06 +03:00
Nirbheek Chauhan 804a3ca72a compilers: Debug optimization level should be -O0 (#509)
Without any -O options, gcc does not generate properly debuggable code.



> With no -O option at all, some compiler passes that collect information useful

> for debugging do not run at all



gcc recommends -Og, but that isn't supported by clang, so we use -O0



See https://github.com/mesonbuild/meson/pull/509 for more discussion
2016-04-07 22:16:45 +03:00
Nicolas Schneider 1d2b4ed8e9 simplify unit test output (#506)
Print status on single line

only print a single line for succeeded tests and two lines for failed

tests. This makes it easier to scan the output for failed tests.
2016-04-07 20:26:53 +03:00
Tim-Philipp Müller 3b5dcdbd42 gnome: only print warning when gresource-related functionality is used (#510)
It's confusing to print this when using stuff that works just fine.
2016-04-07 20:23:46 +03:00
Nirbheek Chauhan 4e084e7ac1 compilers: Also support built-in functions in cc.has_function 2016-04-07 20:53:12 +05:30
Tim-Philipp Müller 1934ddfc5b Improve cc.has_function() check to not require any includes and detect stubs
We now use .links() to detect if a C compiler function is available
or not, that way the user doesn't need to specify all the possible
includes for the check, which simplifies things considerably.

Also detect glibc stub functions that will never work and return
false for them.

Closes #437
2016-04-07 20:53:12 +05:30
Nirbheek Chauhan 700010e452 New API: cc.has_header_symbol to check if a header defines a specific symbol
Also supports a 'prefix' keyword argument for feature checks such as _GNU_SOURCE
or for headers that need to be included first
2016-04-07 20:53:12 +05:30
Jussi Pakkanen cab5ce4fc0 Merge pull request #438 from trhd/testing_options
New options for controlling test output.
2016-04-06 23:10:20 +03:00
Jussi Pakkanen 5d53c6b741 Merge pull request #503 from nioncode/windows-parallel-test
Merge Windows parallel test fix.
2016-04-06 22:59:21 +03:00
Nicolas Schneider 435700aeb0 add exponential backoff for deleting temp directories 2016-04-06 21:39:51 +02:00