Commit Graph

8602 Commits

Author SHA1 Message Date
Dylan Baker 255fa5a320 tests: Add a test case for finding ld 2020-01-22 23:39:33 +02:00
Dylan Baker 730a7b296f environment: Replace LD with <LANG>LD
The rust code is ugly, because rust is annoying. It doesn't invoke a
linker directly (unless that linker is link.exe or lld-link.exe),
instead it invokes the C compiler (gcc or clang usually) to do it's
linking. Meson doesn't have good abstractions for this, though we
probably should because some of the D compilers do the same thing.
Either that or we should just call the c compiler directly, like vala
does.

This changes the public interface for meson, which we don't do unless we
absolutely have to. In this case I think we need to do it. A fair number
of projects have already been using 'ld' in their cross/native files to
get the ld binary and call it directly in custom_targets or generators,
and we broke that. While we could hit this problem again names like
`c_ld` and `cpp_ld` are far less likely to cause collisions than `ld`.
Additionally this gives a way to set the linker on a per-compiler basis,
which is probably in itself very useful.

Fixes #6442
2020-01-22 23:39:33 +02:00
Stéphane Cerveau 958df63dac envconfig: add pkg_config_libdir property
In order to unify the use of sysroot in the cross-file,
the pkg_config_libdir can now be passed directly in the file.
2020-01-22 15:42:13 -05:00
Nirbheek Chauhan c5c0c467fe tests/windows/16: Use pefile module instead of objdump/dumpbin
The pefile module is a CI dependency now, so we can use that instead
of objdump/dumpbin which greatly simplifies the test. Of course, this
module is also cross-platform so it will work if we add cross-win32 CI
at some point.
2020-01-22 19:34:05 +05:30
Nirbheek Chauhan bd17c9ad4f tests: Add a unit test for checksums
Adds a CI dependency on the `pefile` python module.
2020-01-22 19:34:05 +05:30
Nirbheek Chauhan b293852d07 vs: Write checksums in PE binaries (DLLs and EXEs)
This is needed for detecting data corruption, and its absence (or
an incorrect value) is also used as a hint by anti-viruses that the
binary may be malware.

Flag is only supported by MSVC `link.exe`, not `lld-link.exe`

https://docs.microsoft.com/en-us/cpp/build/reference/release-set-the-checksum
2020-01-22 19:34:05 +05:30
Nirbheek Chauhan 89b132f240 linkers: Accept both str and List[str] for _apply_prefix
Simplifies some usage.
2020-01-22 19:34:05 +05:30
Nirbheek Chauhan 38db769aaf linkers: Clarify a comment about rspfiles 2020-01-22 19:34:05 +05:30
Jussi Pakkanen ad687462e1 Add link to PDF manual site on the front page. [skip ci] 2020-01-22 11:42:20 +02:00
Jussi Pakkanen 21eba740e7 Reformat user list page. [skip ci] 2020-01-22 11:29:59 +02:00
Dylan Baker 04c4bbccb7
Merge pull request #6481 from jon-turney/osx-qt-dep-crash
Fix dependency('qt') crash with old Qt on OSX
2020-01-21 09:09:14 -08:00
Niklas Hambüchen b44501b02d docs: Fix typo in link
Commit 1404f404 (#4744) introduced this typo, making the link not jump to the correct section when clicked.
2020-01-21 08:46:33 -08:00
Marc-Andre Lureau 24174abfb2 Users.md: add qboot [skip ci]
It's worth to list a meson project building a firmware.
2020-01-21 05:55:27 +10:00
Sebastien Bacher 82f6790d5c Use python3 in some tests which were still using python
The unversioned command is deprecated and removed from some distributions
2020-01-21 04:26:50 +10:00
alex-tee 646c928b34 add zrythm to Users.md [skip ci] 2020-01-20 16:38:36 +10:00
Jon Turney d2e5a82fb5
Fix 'qt4test' test executable when only Qt4 is present
This always tries to load a 'qt5core_fr' translation file, when it is
actually named 'qtNcore_fr'(where N is the qt version).
2020-01-18 17:29:55 +00:00
Jon Turney c272c8de38
Make the 'framework/4 qt' test more flexible
Make the 'framework/4 qt' test more flexible about what version of Qt is
expected to be present in the CI environment. Currently, this is
hard-coded as Qt5. We add an option to specify it so we can run this
test under CI with just Qt4 present.
2020-01-18 17:29:47 +00:00
Jon Turney 3ae34b4386
Add macOS Qt4 framework test to ci-actions 2020-01-18 17:29:39 +00:00
Xavier Claessens 61993f893b Fix typo in error message 2020-01-18 11:23:46 -05:00
Amit D 2558e9c4a5 Update Users.md 2020-01-17 10:07:33 -08:00
Amit D 163a8cabb0 Update Users.md
Remove "(not the default yet)" from Glib, Orc and Pango
2020-01-17 10:07:33 -08:00
Xavier Claessens 711969c3b5 wrap: Fix support of file:// URLs
Fixes: #6445
2020-01-17 11:36:37 -05:00
Jon Turney 65cb6852ae
Fix dependency('qt') crash with old Qt on OSX
Don't fail with 'KeyError: QMAKE_XSPEC' if `qmake -query` doesn't report
QMAKE_XSPEC. (Seen with 4.8.7)
2020-01-17 15:44:35 +00:00
Dylan Baker b092aaff06 envconfig: s390x is 64bit
s390 is the 31/32bit variant, s390x is the 64 bit.
2020-01-15 09:56:13 -08:00
Dylan Baker 3b691a89bd Add s390 to list of known architectures
Fixes #6411
2020-01-15 09:56:13 -08:00
Nirbheek Chauhan b9d0c7a169 run_tests: Fix detection of ninja 1.9
`get_backend_commands()` doesn't get called when we run tests as
subprocesses, so detect ninja on import. This should speed up CI.

Fixes https://github.com/mesonbuild/meson/issues/5888
2020-01-15 12:14:30 +05:30
Amit D cfc2b92e92 Update Users.md 2020-01-14 13:05:24 -08:00
Nirbheek Chauhan 04e275cdcc find_program: Always use USERPROFILE instead of HOME
On MSYS2 and MSYS, Python reads HOME instead of USERPROFILE, which
gets the path wrong.

Serves me right for not writing a test!!
2020-01-15 01:45:14 +05:30
Michael Hirsch, Ph.D c7cc734132 dependency: add curses
fixes #6096.

Didn't use CMake because Curses is a real corner-case for CMake that
would require Curses-specific enhancements to Meson's CMake interface.
2020-01-14 13:33:52 -05:00
Luke Drummond 4e41acb022 Add .wrap file syntax detection for vim
wrap files are ini syntax, and vim has support for this via the `dosini`
syntax type

[skip ci]
2020-01-14 23:17:41 +05:30
Nirbheek Chauhan 64432e9448 find_program: Ignore programs in the WindowsApps directory
The latest Windows 10 release in May 2019 added zero-sized files that
act as stubs which when launched from cmd.exe spawn the Windows Store
to install those apps. This also includes python.exe and python3.exe:

https://devblogs.microsoft.com/python/python-in-the-windows-10-may-2019-update/

Unfortunately, `import('python').find_installation('python3')` will
then think that python3.exe is available on Windows. Or, worse, if the
user has a fresh installation of Windows 10 and then installs the
Python 3 using the official installer (not the Windows Store app), we
will *still* pickup this stub because it will be first in `PATH`.

Always remove the WindowsApps directory from `PATH` while searching.

First reported at https://gitlab.freedesktop.org/gstreamer/cerbero/issues/223
2020-01-14 10:52:40 -05:00
Eli Schwartz 71bbcc7669 pkgconfig module: add FeatureNew for requires: dependency('foo')
Introduced in https://github.com/mesonbuild/meson/pull/3131
2020-01-09 22:08:03 -05:00
Michael Hirsch, Ph.D ff822990d1 bugfix: hdf5 depenedency: make sure variable is always defined 2020-01-08 18:59:48 +02:00
Daniel Mensinger cb262ab481 types: Fix/ignore flake8 B014/F811 2020-01-08 15:28:17 +01:00
Daniel Mensinger 09b53c534f types: import typing as T (fixes #6333) 2020-01-08 15:28:17 +01:00
Vadim Zhukov f3199edaf8 mention lack of up-to-date dependencies explicitly [skip ci]
Requested by scivision@
2020-01-08 13:22:05 +02:00
Vadim Zhukov dd5b374e99 [skip ci] Use more up-to-date wording for package managers
Most of the OSes Meson supports actually do have package managers,
and at least some of them are not harder to use than Linux ones.
2020-01-08 13:22:05 +02:00
Jussi Pakkanen c2b1e7d58c Rename test dirs to sequential order. 2020-01-08 13:21:00 +02:00
Jussi Pakkanen 74d245a8c0 Bump version number for new development. 2020-01-07 22:57:44 +02:00
Jussi Pakkanen 8d576eba91 Prepare new release. 2020-01-07 22:12:25 +02:00
Jussi Pakkanen a1d2444e4a One more symlink test skip. 2020-01-07 22:12:09 +02:00
Dylan Baker a8caf988c6 environment: Fix detection of icc on macOS
Which wouldn't call the function to detect c_args and friends.
2020-01-07 00:51:29 +02:00
Jussi Pakkanen 7ec3af95e5
Updated linker MR (#6407)
* environment: Fix passing always args to a number of less common linkers

These are mostly (oops xilink) proprietary linkers I can't use for
various reasons.

Fixes: #6332

* Add intelfix from scivision.

* Ifort fix from scivision.

* PGI fix from scivision.

* Cuda fix from scivision.

* Fix linker passing for armclang.
2020-01-06 16:49:34 +02:00
Jussi Pakkanen 6e7d5a0c61 Make D template work even if dub is not available. 2019-12-31 13:19:21 +02:00
Jussi Pakkanen e9158b477f Only run symlink test from git checkout. 2019-12-29 20:45:06 -05:00
Daniel Mensinger 4f6453bc32 cmake: Use trace for missing link flags (fixes #6386)
This is neccessary for static libraries, since the
CMake file API does not add link flags here.
2019-12-29 19:02:24 +02:00
Michael Hirsch, Ph.D d67423ab11 bugfix: netcdf pkgconfig stop if found 2019-12-28 19:46:30 +02:00
Jussi Pakkanen 8dd4e63eb3
Merge pull request #6380 from scivision/cuda_qc
refactor/doc: cuda tests
2019-12-28 19:45:29 +02:00
Michael Hirsch, Ph.D e1dd310333 bugfix: check len before index 2019-12-24 09:25:53 -05:00
Michael Hirsch, Ph.D 9aa766da64
refactor: cuda no unused args 2019-12-23 17:25:35 -05:00