| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
* GnuCPPCompiler: allow usage of GNU extensions
* Add myself to authors.txt
|
|
|
|
|
|
|
|
|
|
|
|
| |
This causes intermittent build failures in the MSVC CI because of a race
with the default anti-virus that ships with Windows while writing the
.pdb file: https://ci.appveyor.com/project/jpakkane/meson/build/1.0.58
There's a separate fix for that in the works that will fix this in the
general case, but for compiler tests we don't need to generate the pdb
file at all. So, just fetch the CRT flag (/MDd) if needed instead.
This has the side-effect of making compiler tests that use self.links
and self.run faster.
|
| |
|
| |
|
| |
|
|
|
|
| |
Otherwise the changes ripple upstream and modify extra_args in the callee
|
|
|
|
| |
multiple invocations.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows the user to specify custom arguments to the compiler to be used
while performing cross-compiler checks. For example, passing a GCC specs file as
c_link_args so that a "prefix" filled with libraries that are to be compiled
against can be found with cc.find_library, or an `-mcpu` c_arg that is required
for compilation.
Also ensure that unix_link_flags_to_native() and unix_compile_flags_to_native()
always return a copy of the original arguments and not a reference to the
original arguments. We never want to modify the original arguments.
|
|
|
|
|
| |
The cross-extra-flags were being overwritten and ignored. Also, we don't
link while doing a cross-compiled sanity check even with ObjC++
|
| |
|
| |
|
|
|
|
| |
#583.
|
| |
|
|
|
|
|
| |
This is required for checking for compiler checks that involve linking
to a static library with MSVC. Without this, MSVC errors out since no
CRT is specified.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
(#559)
Fixes https://github.com/mesonbuild/meson/issues/558
|
|\
| |
| | |
Build transparently with a custom standard library
|
| |
| |
| |
| | |
said language.
|
|\ \
| | |
| | | |
Fix the MSVC sanity check to use the generic C/C++ sanity check
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Consolidate the C/C++ compiler sanity checks since the test code is almost
exactly the same, and then use that for the MSVC C/C++ compilers as well. All
these sanity checks had diverged because of the code duplication.
This also fixes an intermittent sanity check failure that I was seeing with
MSVC.
Note: The ObjC/C++ compilers can also probably use the same implementation.
|
| | |
| | |
| | |
| | | |
Popen.communicate() already waits for the process to complete.
|
|\ \ \
| | | |
| | | | |
compilers: Always include limits.h to make the stub machinery work
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
limits.h is a requirement of the C language and is available with all compilers
and platforms from the last two decades. If limits.h is not available, the
compiler only supports an ancient dialect of C and lots of other things will
break too.
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
The fallback test was making the stub check on Linux/glibc completely useless.
Fixes #535
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
This allows build files to pass -L and -l flags and have them converted
automatically as needed.
|
| |
| |
| |
| |
| |
| |
| | |
cross_alignment
The previous check was failing while checking pointer sizes such as
void* due to a syntax error.
|
|/ |
|
|
|
| |
compilers: Fix cross_sizeof when the type doesn't exist
|
|\
| |
| | |
Use the linker to check if a specific function is provided by the toolchain or runtime
|
| |
| |
| |
| | |
MSVC doesn't understand -O0. It uses -Od (or /Od) instead.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Also supports a 'prefix' keyword argument for feature checks such as _GNU_SOURCE
or for headers that need to be included first
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| | |
New options for controlling test output.
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Add support for passing a module definitions file for exporting symbols while linking
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On MSVC, shared libraries only export symbols that have been explicitly exported
either as part of the symbol prototype or via a module definitions file.
On compilers other than MSVC, all symbols are exported in the shared library by
default and the format for the list of symbols to export is different, so this
is only used with the VisualStudio compiler.
The module defs file path can either be relative to the current source directory
or an absolute path using meson.source_root() + '/some/path'
|
| | | |
|
| | | |
|
| |/
|/| |
|
|\ \
| |/
|/| |
Return -1 from cc.sizeof if the symbol could not be found
|
| |
| |
| |
| |
| | |
Allows people to avoid adding a separate check for the symbol existing in case
it's platform-specific
|