aboutsummaryrefslogtreecommitdiff
path: root/cross
AgeCommit message (Collapse)AuthorFilesLines
2023-09-13Use @DIRNAME@ in Metrowerks cross files to point to linker scriptNomura2-18/+8
2023-08-16wasm: make generic cross fileXavier Claessens1-3/+3
2023-08-02treewide: internally avoid deprecated machine file uses of "pkgconfig"Eli Schwartz5-5/+5
We support this in a machine file: ``` [binaries] pkgconfig = 'pkg-config' pkg-config = 'pkg-config' ``` and you can use either one, because internally we look up both. If you only set *one* of them, this plays awkwardly with setting $PKG_CONFIG, since we don't know which one you set in the machine file and the *other* one will be initialized from the environment instead. In commit 22df45a31981874310a78dde0df59a6a7c5ebb29 we changed program lookup of config-tool style dependencies to use the regular tool names and only fall back on the strange internal names. This affected the pkg-config class too. The result is that instead of preferring `pkgconfig =` followed by $PKG_CONFIG followed by `pkg-config =`, we inverted the lookup order. This is a good idea anyway, because now it behaves consistently with `find_program('pkg-config')`. Unfortunately, we documented the wrong name in a bunch of places, and also used the wrong name in various testsuite bits, which meant that if you set $PKG_CONFIG and then ran the testsuite, it would fail. Correct these references, because they are buggy. One test case expected to find_program() a native copy for convenience of testing against natively installed glib. Force it to resolve a native copy.
2023-07-18CI: change ubuntu cross exe_wrapper to un-suffixed wineEli Schwartz1-1/+1
wine64 used to be the way to run a 64-bit wineserver. It was removed due to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1029536 despite that bug report being about a bug in an unrelated symlink -- apparently there's no recommended solution to starting a specific bitness of wine on demand. The automagic `wine` I believe creates a wineprefix with both, which is... probably not exactly efficient here? But whatever, not worth fighting it. Just get this more or less working again.
2023-06-19Add kernel and subsystem properties to machine objects.Jussi Pakkanen2-0/+4
2023-04-24Initial support for Metrowerks C/C++ compilerNomura3-0/+74
2023-04-11fix various spelling issuesJosh Soref2-2/+2
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-11remove totally invalid gcc arguments from cross fileEli Schwartz1-2/+2
Partial revert of commit cf23e341878286790885352fd1d6548be5798391. This mostly moved existing arguments to the "right" location, but also introduced new arguments that didn't previously exist -- which was wrong. ... also, these cross files are used by CI (if they have a corresponding .json file) and this change broke the CI. Because --target isn't a valid gcc option, although clang/rustc do accept it. For GCC, the argument parser decides you wanted --target-help, which prints documentation text and then quits.
2023-01-11cross: move multilib options to [binaries] sectionPaolo Bonzini6-28/+25
c_args are meant to be overridden by the user if needed (even via the environment CFLAGS variables + -Doptimization=plain, for example), so they should not contain any option that affect the multilib search path. For example, a hypothetical native file like this: [binaries] c = gcc [built-in options] c_args = ['-m32'] would *not* build 32-bit binaries if -Dc_args is passed to meson. Such options, instead should be in the [binaries] section. Adjust the sample cross files included with meson. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-12-27emscripten: use single arguments when specifying optionsKleis Auke Wolthuizen1-2/+2
i.e. without a space between the "-s" and option name. See: https://github.com/emscripten-core/emscripten/issues/11463 This is supported since Emscripten 1.39.19, see: https://github.com/emscripten-core/emscripten/commit/f45bea21f3a8f74a68ed4e3e3d7e290807ee2aff
2022-07-11CI: install ifort on WindowsEli Schwartz2-0/+2
This enables the fortran tests for Azure. We only test on x64, because: - ifort isn't arm64 compatible - x86 may in theory exist, but Meson reports it cannot compile executables
2022-02-02Genericise TI compiler and add MSP430 supportWilliam Toohey1-0/+25
2021-08-15editorconfig: add setting to trim trailing whitespaceEli Schwartz3-3/+0
and clean up all outstanding issues Skip 'test cases/common/141 special characters/meson.build' since it intentionally uses trailing newlines.
2021-08-08Add support for finding Javascript source libraries with Emscripten.Jussi Pakkanen1-5/+5
2021-08-08Update iphone cross building.Jussi Pakkanen1-6/+10
2021-01-04cmake: fix missing languages from CMake (fixes #8132)Daniel Mensinger2-0/+2
2020-12-16cmake: Revert to using self.for_machine instead of MachineChoice.BUILD ↵Daniel Mensinger2-0/+2
(fixes #8028)
2020-10-13cmake: Add cross testsDaniel Mensinger5-0/+35
2020-09-17Rename [properties] to [built-in options]Nirbheek Chauhan1-1/+1
This is the new syntax. Avoids loud deprecation warnings.
2020-09-15Add support for the CompCert C CompilerSebastian Meyer1-0/+13
* Add preliminary support for the CompCert C Compiler The intention is to use this with the picolibc, so some GCC flags are automatically filtered. Since CompCert uses GCC is for linking, those GCC-linker flags which are used by picolibc, are automatically prefixed with '-WUl', so that they're passed to GCC. Squashed commit of the following: commit 4e0ad66dca9de301d2e41e74aea4142afbd1da7d Author: Sebastian Meyer <meyer@absint.com> Date: Mon Aug 31 14:20:39 2020 +0200 remove '-fall' from default arguments, also filter -ftls-model=.* commit 41afa3ccc62ae72824eb319cb8b34b7e6693cb67 Author: Sebastian Meyer <meyer@absint.com> Date: Mon Aug 31 14:13:55 2020 +0200 use regex for filtering ccomp args commit d68d242d0ad22f8bf53923ce849da9b86b696a75 Author: Sebastian Meyer <meyer@absint.com> Date: Mon Aug 31 13:54:36 2020 +0200 filter some gcc arguments commit 982a01756266bddbbd211c54e8dbfa2f43dec38f Author: Sebastian Meyer <meyer@absint.com> Date: Fri Aug 28 15:03:14 2020 +0200 fix ccomp meson configuration commit dce0bea00b1caa094b1ed0c6c77cf6c12f0f58d9 Author: Sebastian Meyer <meyer@absint.com> Date: Thu Aug 27 13:02:19 2020 +0200 add CompCert to meson (does not fully work, yet) * remove unused import and s/cls/self/ fixes the two obvious LGTM warnings * CompCert: Do not ignore unsupported GCC flags Some are safe to ignore, however, as per https://github.com/mesonbuild/meson/pull/7674, they should not be ignored by meson itself. Instead the meson.build should take care to select only those which are actually supported by the compiler. * remove unused variable * Only add arguments once. * Apply suggestions from code review Co-authored-by: Dylan Baker <dylan@pnwbakers.com> * Remove erroneous ' ' from '-o {}'.format() As noticed by @dcbaker * added release note snippet for compcert * properly split parameters As suggested by @dcbaker, these parameters should be properly split into multiple strings. Co-authored-by: Dylan Baker <dylan@pnwbakers.com> * Update add_compcert_compiler.md Added a sentence about the state of the implementation (experimental); use proper markdown * properly separate arguments Co-authored-by: Dylan Baker <dylan@pnwbakers.com>
2020-09-11Add a test run of MSVC ARM64 cross on Windows x64Jon Turney2-0/+35
Add a cross-file for MSVC UWP ARM64. Bump cidata tag to get an updated install.ps1 script (run by run.ps1) which sets the vcvars environment correctly when cross-compiling. Since arranging the correct environment for simultaneous cross and native 'cl' use is hard, this is test run uses '--cross-only' so we don't require a native compiler. Extend '--cross-only' so it also explicitly uses a machine file which makes all build machine compilers unusable.
2020-08-18Interpreter: Fix c_stdlib usageXavier Claessens1-1/+1
- Exceptions raised during subproject setup were ignored. - Allow c_stdlib in native file, was already half supported. - Eliminate usage of subproject variable name by overriding '<lang>_stdlib' dependency name.
2020-08-01Allow setting built-in options from cross/native filesDylan Baker10-18/+23
This is like the project options, but for meson builtin options. The only real differences here have to do with the differences between meson builtin options and project options. Some meson options can be set on a per-machine basis (build.pkg_config_path vs pkg_config_path) others can be set on a per-subproject basis, but should inherit the parent setting.
2020-03-22Add property to disable compiler sanity checks during cross compilation.Jussi Pakkanen1-0/+2
2020-03-21-Add xc16 and c2000 C,Cpp toolchain supportalanNz2-0/+50
2020-01-30-Fixed Renesas RX Family compiler to work with latest meson, updated ↵alanNz1-3/+5
cross-file, fixed assembly file use
2020-01-22tests: Add a test case for finding ldDylan Baker2-0/+2
2020-01-06Updated linker MR (#6407)Jussi Pakkanen1-1/+1
* 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.
2019-08-05Add basic Webassembly support via Emscripten.Jussi Pakkanen1-0/+19
2019-08-02Make ARM compilers work on Linux.Jussi Pakkanen1-0/+35
2019-06-13Added tvOS cross fileRoman Shpuntov1-0/+27
2019-01-02Handle strings in cross file args. Closes #4671.Jussi Pakkanen1-1/+1
2018-11-08Add support for Renesas CC-RX toolchainPhillip Cao1-0/+20
2018-06-21Added ARMCLANG compiler support for C/C++ (#3717)Vasu Penugonda1-0/+20
2018-06-05Add MinGW-w64 64-bit to the Travis CINirbheek Chauhan3-25/+40
Includes new cross files for MinGW-w64
2018-04-16Merged Arm CC support.Jussi Pakkanen1-0/+20
2018-04-02Imported Debian fixes by Matthias Klose.Jussi Pakkanen1-2/+2
2018-03-27Updates to CPP support and update review changesSomasekhar Penugonda1-1/+10
2018-03-07Meson Github pull request - 3186 requested changesSomasekhar Penugonda1-0/+11
- Fixing flake8 error in compilers.py - [E124] closing bracket does not match visual indentation - Updating ARMCCompiler constructor in c.py to raise error as per comments
2018-01-29Add cross-compilation support for `rustc`Adam C. Foltzer1-0/+1
This patch is largely modeled on the relatively-straightforward code for Fortran cross-compilation, so there might be some intricacies missing.
2017-10-28Use GCC 7 for cross compilation tests.Jussi Pakkanen1-2/+2
2017-05-21cross: Fix host_machine.system in the example iphone cross config.Ole André Vadla Ravnås1-1/+1
2017-04-27Always pass cross-file {lang}_args to compiler checksNirbheek Chauhan1-0/+3
Includes a test for this that will only run on the CI. Closes https://github.com/mesonbuild/meson/issues/1665
2016-12-20Fix cross test and run them if a cross compiler is available.Jussi Pakkanen1-2/+2
2016-05-21Made cstdlib a subproject.Jussi Pakkanen1-0/+13
2016-02-17Fix Vala cross compilation. Closes #370.Jussi Pakkanen1-0/+1
2015-10-18Added cpu family property to system information.Jussi Pakkanen4-3/+8
2015-09-05Converted alignment check to work also when cross compiling.Jussi Pakkanen2-8/+0
2015-09-05Converted sizeof check to work also when cross compiling.Jussi Pakkanen2-8/+0
2015-09-05Created iphone cross file and made it possible to specify compile and link ↵Jussi Pakkanen1-0/+34
args in the cross file.