Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
ninja: Pass absolute path of files to run targets
|
|
gnome: Use depfile support of recent glib-compile-resources
|
|
appveyor.yml: Test more than just MSVC2010 + Ninja on x86
|
|
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
The static function also needs to be DLL exported to be found.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
- 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
|
|
|
|
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
|
|
|
|
A bunch of fixes for compiler checks with C++
|
|
|
|
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
|
|
javac: Don't fail if there's no JVM
|
|
Prepends the string with 'WARNING:' in ANSI yellow.
Closes https://github.com/mesonbuild/meson/issues/961
|
|
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
|
|
Tests https://github.com/mesonbuild/meson/issues/957
|
|
|
|
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'
|
|
|
|
Without this our custom C++ has_header_symbol implementation is not used
with the Visual Studio C++ compiler.
|
|
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
|
|
docker does not inherit the parent environment and loses the CC/CXX
settings for testing against clang and gcc.
|
|
GCC on OS X is just a wrapper around Clang, so the test results will
always be identical.
|
|
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
|
|
This was breaking has_function on C++
|
|
With the `using` keyword we can try to use the specified class or
template which will tell us if it exists.
|
|
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
|
|
* 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
|
|
|
|
Don't expose private module methods
|
|
dependency: Check that cached_dep has the 'required' attribute
|
|
travis.yml: Run tests against both gcc and clang
|
|
|
|
Don't ignore invalid code related to subproject calls
|
|
|
|
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.
|
|
|
|
|