Commit Graph

7020 Commits

Author SHA1 Message Date
Christoph Reiter db61d018ce ci/msys2: use the msys2 ninja
msys2 now has ninja 1.9.0 which includes the timestamp fixes
2019-02-05 16:10:48 +01:00
Luís Ferreira b90f196f17 d: fix linker due to argument errors
- revert some changes on d2483d4412 commit.

Signed-off-by: Luís Ferreira <lsferreira169@gmail.com>
2019-02-05 11:13:05 +00:00
Jussi Pakkanen 902aaf2ce6
Merge pull request #4626 from Ericson2314/consolidate-properties
Go through coreutils.compiler_options.{build.host.target}
2019-02-04 23:06:46 +01:00
Jussi Pakkanen 59791fc569
gnome.compile_resources: Add ld binary method 2019-02-04 23:02:35 +01:00
Jussi Pakkanen e26b5a119e
Merge pull request #4835 from obilaniu/cudaimprovements
CUDA support improvements
2019-02-04 20:33:26 +01:00
Nicolas Schneider c1fa61b7d9 vs: add PCH headers to project
Otherwise, they will not be visible in the IDE.
2019-02-04 20:27:57 +01:00
Christoph Reiter 1bd14b52b2 python: don't require a Python lib in case we don't link against it. Fixes #4841
In case extensions aren't linked against libpython we can't assume one exists at
all or is available in a known directory.
2019-02-04 20:27:26 +01:00
Daniel Mensinger 69cb314718 Fix introspection test case for solaris (fixes #4866) 2019-02-04 20:25:03 +01:00
Corentin Noël 08757dcdfd vala: Support position-independent executables 2019-02-04 15:35:48 +00:00
Ninja-Koala 4775dd48a6
Fix required version 2019-02-03 13:14:36 +01:00
Ninja-Koala 0601895032
More robust name generation 2019-02-03 11:49:40 +01:00
Olexa Bilaniuk 592af0b1af Add unstable CUDA module.
Includes three general utility functions connected to CUDA, in
particular the crafting of -gencode flags as done in CMake:

    https://github.com/Kitware/CMake/blob/master/Modules/FindCUDA/
select_compute_arch.cmake
2019-02-02 22:49:02 -05:00
Ninja-Koala b0832c8747
Move some additional functionality into the new function 2019-02-02 23:02:33 +01:00
John Ericson 19f81d3e33 Never access environment.properties downstream
Instead use coredata.compiler_options.<machine>. This brings the cross
and native code paths closer together, since both now use that.

Command line options are interpreted just as before, for backwards
compatibility. This does introduce some funny conditionals. In the
future, I'd like to change the interpretation of command line options so

 - The logic is cross-agnostic, i.e. there are no conditions affected by
   `is_cross_build()`.

 - Compiler args for both the build and host machines can always be
   controlled by the command line.

 - Compiler args for both machines can always be controlled separately.
2019-02-02 13:59:14 -05:00
Ninja-Koala 34191ec018
Use triple quote string for linkerscript 2019-02-02 19:46:32 +01:00
Ninja-Koala 83d78d7b6e
Move target generation in new function 2019-02-02 19:45:48 +01:00
Ninja-Koala b6a6076596
Disable for cross builds 2019-02-02 19:07:06 +01:00
Ninja-Koala 6026a35446
Handle minus sign correctly 2019-02-01 22:02:20 +01:00
Ninja-Koala 1f14a58d3b
Add second dependency file for c target 2019-02-01 22:02:20 +01:00
Ninja-Koala a6f09b9754
Remove dependency file from c target 2019-02-01 22:02:20 +01:00
Ninja-Koala 27edd112e2
Fix code formatting 2019-02-01 22:02:20 +01:00
Ninja-Koala b4f04a67de
gnome.compile_resources: Add ld binary method
Instead of generating a c file that gets compiled,
directly create object file with ld.

See https://gitlab.gnome.org/GNOME/glib/issues/1489
2019-02-01 22:02:19 +01:00
John Ericson 6dbe33d949 C# and Java compilers should have `is_cross = False`
All compilers should define this attribute. Probably should change base
class to require this.
2019-02-01 13:22:01 -05:00
Daniel Mensinger da7b9df16c Ensure that func dicts provide the same set of functions 2019-02-01 11:49:52 +00:00
Nirbheek Chauhan 79c087bad2 macos: lipo outputs aarch64 as arm64, fix it
Or we'll reject arm64 objects as invalid when building for aarch64
2019-02-01 10:28:37 +00:00
Nirbheek Chauhan 8a7537ce24 qt: Only look for a framework on macOS if building for macOS
When building for iOS, the Qt binaries only contain static libraries
and headers. No framework.

With this, Meson can successfully compile and link to Qt on iOS
2019-02-01 07:27:35 +00:00
Michael Hirsch, Ph.D 8821c0aadc better handle variable HDF5 setups, update Fortran compiler def 2019-02-01 07:26:32 +00:00
Daniel Mensinger e1a83793ae CMake: Added support for CMAKE_MODULE_PATH and extra CMake args (closes #4779) 2019-02-01 00:25:21 +02:00
Jussi Pakkanen abad2ff005
Merge pull request #4831 from scivision/hdf5 2019-01-31 22:42:57 +02:00
Nirbheek Chauhan 310b518921 env: Add a repr() for MachineInfo
Makes it easier to debug with print()
2019-01-31 20:36:49 +00:00
Nirbheek Chauhan b5f6be6733 macos: lipo from older xcode does not support -archs 2019-01-31 20:36:49 +00:00
Nirbheek Chauhan 50b863032e find_library: Check arch of libraries on Darwin
macOS provides the tool `lipo` to check the archs supported by an
object (executable, static library, dylib, etc). This is especially
useful for fat archives, but it also helps with thin archives.

Without this, the linker will fail to link to the library we mistakenly
'found' like so:

ld: warning: ignoring file /path/to/libfoo.a, missing required architecture armv7 in file /path/to/libfoo.a
2019-01-31 20:36:49 +00:00
Elliott Sales de Andrade 52936e4a46 Add tsan and ubsan to g-ir-scanner workaround.
Both of these need to link to their respective libraries to build.
2019-01-31 22:11:18 +02:00
Nirbheek Chauhan 1575bd988a configure_file: Allow setting install_dir: false with deprecation
Also add location node for two more deprecations

See: https://github.com/mesonbuild/meson/pull/4489#issuecomment-459246879
2019-01-31 13:48:59 -05:00
Nirbheek Chauhan 042f5638bf project tests: qt is available on the macOS CI 2019-02-01 00:14:09 +05:30
Nirbheek Chauhan bd8eff7438 qtdep: Look for QMAKE env var again + sprinkle debug
We used to look for the QMAKE env var in earlier versions of Meson,
start looking for it again.
2019-02-01 00:14:09 +05:30
Nirbheek Chauhan c0166355ce Rewrite appleframework and extraframework dependency classes
Instead of only doing a naive filesystem search, also run the linker
so that it can tell us whether the -F path specified actually contains
the framework we're looking for.

Unfortunately, `extraframework` searching is still not 100% correct in
the case when since we want to search in either /Library/Frameworks or
in /System/Library/Frameworks but not in both. The -Z flag disables
searching in those prefixes and would in theory allow this, but then
you cannot force the linker to look in those by manually adding -F
args, so that doesn't work.
2019-02-01 00:14:09 +05:30
Nirbheek Chauhan 8481971ff2 pkgconfig: Only warn about deprecation at a location once
See: https://github.com/mesonbuild/meson/pull/4630#issuecomment-459235498
2019-01-31 13:42:58 -05:00
Michael Hirsch, Ph.D bd82d3702a
skip CI for HDF5 where HDF5 is not available" 2019-01-31 10:49:36 -05:00
Nirbheek Chauhan 4bfe0a2568 gnustep-config: config tools are lists, not strings
More programming errors exposed by not ignoring all exceptions.
2019-01-31 20:12:21 +05:30
Nirbheek Chauhan 42b48cda98 tests: Don't require pkg-config for macOS tests
Only require it on the CI or if pkg-config is found.
2019-01-31 20:12:21 +05:30
Nirbheek Chauhan 87652c80dc cmake deps: Again, get_command() is None when not found
This is showing up now that we've stopped swallowing exceptions
whole-sale in the previous commit.
2019-01-31 20:12:21 +05:30
Nirbheek Chauhan 00b59c9ad6 pkg-config: Fix another case where we were throwing a traceback
Also add a test for it. In the process, also remove an overly-zealous
try..except statement that was catching *all* exceptions, not just
expected ones, which was masking programming errors.
2019-01-31 20:12:21 +05:30
Nirbheek Chauhan c3bc1dcd48 pkg-config: Don't traceback when not found and not required
.get_command() will return None when it's not found, so there's no
point trying to print that. Print self.name instead, which is what
we tried to search for.
2019-01-31 20:12:21 +05:30
Nirbheek Chauhan 4268e156a3 unit tests: darwin tests must never require pkg-config 2019-01-31 20:12:21 +05:30
Nirbheek Chauhan 3997e8762e unit tests: Fix sdl2 failure test on macOS
Also ensure that the test's no-pkg-config codepath will always be run,
even on the CI where we always have pkg-config available.

This counts as a test case for #4728
2019-01-31 20:12:21 +05:30
Nirbheek Chauhan 58852e6290 unit tests: Simplify get_fake_env()
Almost every test already uses '' for the srcdir/builddir/etc.
Make it official.
2019-01-31 20:12:21 +05:30
Nirbheek Chauhan a683fc30ab Use ConfigParser instead of deprecated SafeConfigParser
Fixes this annoying warning while running the tests:

mesonbuild/coredata.py:237: DeprecationWarning: The SafeConfigParser
class has been renamed to ConfigParser in Python 3.2. This alias will be
removed in future versions. Use ConfigParser directly instead.
2019-01-31 20:12:21 +05:30
Olexa Bilaniuk ad442b3520 Add cuda_args keyword. 2019-01-31 04:26:37 -05:00
Olexa Bilaniuk 4199e61389 Better NVCC version detection. 2019-01-31 04:26:37 -05:00