Commit Graph

64 Commits

Author SHA1 Message Date
Eli Schwartz d048bbfbe7 CI: change ubuntu cross exe_wrapper to un-suffixed wine
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-07-18 21:58:58 -04:00
Jussi Pakkanen b0d2a92584 Add kernel and subsystem properties to machine objects. 2023-06-19 18:03:57 +03:00
Nomura 18cfa545f0 Initial support for Metrowerks C/C++ compiler 2023-04-24 09:07:37 -04:00
Josh Soref cf9fd56bc9 fix various spelling issues
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-11 19:21:05 -04:00
Eli Schwartz 6bfe5d3235
remove totally invalid gcc arguments from cross file
Partial revert of commit cf23e34187. 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-11 21:05:22 -05:00
Paolo Bonzini cf23e34187 cross: move multilib options to [binaries] section
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>
2023-01-11 15:58:16 -05:00
Kleis Auke Wolthuizen 51ac9ed317 emscripten: use single arguments when specifying options
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:
f45bea21f3
2022-12-27 06:59:55 -05:00
Eli Schwartz 1521bdd9fd
CI: install ifort on Windows
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-07-11 17:58:02 -04:00
William Toohey b4d9b2551c Genericise TI compiler and add MSP430 support 2022-02-02 16:45:05 +02:00
Eli Schwartz 59d4f771d2
editorconfig: add setting to trim trailing whitespace
and clean up all outstanding issues

Skip 'test cases/common/141 special characters/meson.build' since it
intentionally uses trailing newlines.
2021-08-15 09:36:18 -04:00
Jussi Pakkanen f2fe271198 Add support for finding Javascript source libraries with Emscripten. 2021-08-08 15:25:48 +03:00
Jussi Pakkanen 108fe84e7e Update iphone cross building. 2021-08-08 14:15:17 +03:00
Daniel Mensinger 6b515c4321 cmake: fix missing languages from CMake (fixes #8132) 2021-01-04 20:16:30 +00:00
Daniel Mensinger 5c821edf26 cmake: Revert to using self.for_machine instead of MachineChoice.BUILD (fixes #8028) 2020-12-16 21:50:27 +00:00
Daniel Mensinger b27af7e465
cmake: Add cross tests 2020-10-13 17:04:20 +02:00
Nirbheek Chauhan 85d036ebbb Rename [properties] to [built-in options]
This is the new syntax. Avoids loud deprecation warnings.
2020-09-17 22:25:37 +00:00
Sebastian Meyer a24fde6fde
Add support for the CompCert C Compiler
* 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-15 21:51:21 +03:00
Jon Turney 6a56291a2a Add a test run of MSVC ARM64 cross on Windows x64
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-09-11 20:45:09 +00:00
Xavier Claessens 1c403e20e7 Interpreter: Fix c_stdlib usage
- 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-18 14:47:38 -04:00
Dylan Baker bbba6a7f36 Allow setting built-in options from cross/native files
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-08-01 22:00:06 -07:00
Jussi Pakkanen 9e5c881b06 Add property to disable compiler sanity checks during cross compilation. 2020-03-22 23:07:53 +02:00
alanNz 7460292810 -Add xc16 and c2000 C,Cpp toolchain support 2020-03-21 00:47:24 +02:00
alanNz 1682058dec -Fixed Renesas RX Family compiler to work with latest meson, updated cross-file, fixed assembly file use 2020-01-30 22:11:26 +02:00
Dylan Baker 255fa5a320 tests: Add a test case for finding ld 2020-01-22 23:39:33 +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 f41bdae368 Add basic Webassembly support via Emscripten. 2019-08-05 19:31:32 +03:00
Jussi Pakkanen 9a62d6932b Make ARM compilers work on Linux. 2019-08-02 19:27:00 +03:00
Roman Shpuntov bf1323a48c Added tvOS cross file 2019-06-13 21:31:03 +03:00
Jussi Pakkanen 6c76ac8017 Handle strings in cross file args. Closes #4671. 2019-01-02 22:28:22 +02:00
Phillip Cao 68c83cb213 Add support for Renesas CC-RX toolchain 2018-11-08 00:02:22 +13:00
Vasu Penugonda 7140afc0a8 Added ARMCLANG compiler support for C/C++ (#3717) 2018-06-21 00:55:39 +03:00
Nirbheek Chauhan 21dc45dbbb Add MinGW-w64 64-bit to the Travis CI
Includes new cross files for MinGW-w64
2018-06-05 10:50:22 +00:00
Jussi Pakkanen c58dd64f8e Merged Arm CC support. 2018-04-16 23:02:09 +03:00
Jussi Pakkanen c72b4e1b9c Imported Debian fixes by Matthias Klose. 2018-04-02 14:12:34 +03:00
Somasekhar Penugonda e62b8109eb Updates to CPP support and update review changes 2018-03-27 17:04:26 -05:00
Somasekhar Penugonda a470835778 Meson Github pull request - 3186 requested changes
- 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-03-07 17:42:53 -06:00
Adam C. Foltzer 1d81efb03d Add cross-compilation support for `rustc`
This patch is largely modeled on the relatively-straightforward code
for Fortran cross-compilation, so there might be some intricacies
missing.
2018-01-29 15:47:05 -08:00
Jussi Pakkanen a4db467669 Use GCC 7 for cross compilation tests. 2017-10-28 21:38:09 +03:00
Ole André Vadla Ravnås c352c34ff1 cross: Fix host_machine.system in the example iphone cross config. 2017-05-21 21:20:39 +03:00
Nirbheek Chauhan 42267f2afa Always pass cross-file {lang}_args to compiler checks
Includes a test for this that will only run on the CI.

Closes https://github.com/mesonbuild/meson/issues/1665
2017-04-27 18:36:54 +03:00
Jussi Pakkanen 2b65083463 Fix cross test and run them if a cross compiler is available. 2016-12-20 20:33:59 +02:00
Jussi Pakkanen 695aa0b8c2 Made cstdlib a subproject. 2016-05-21 19:35:36 +03:00
Jussi Pakkanen 53e90acda9 Fix Vala cross compilation. Closes #370. 2016-02-17 22:15:32 +02:00
Jussi Pakkanen 572ce0f451 Added cpu family property to system information. 2015-10-18 01:08:04 +03:00
Jussi Pakkanen 2e3bd006d3 Converted alignment check to work also when cross compiling. 2015-09-05 15:17:02 +03:00
Jussi Pakkanen ad5795ed2e Converted sizeof check to work also when cross compiling. 2015-09-05 15:03:20 +03:00
Jussi Pakkanen 2c5688445b Created iphone cross file and made it possible to specify compile and link args in the cross file. 2015-09-05 14:22:56 +03:00
Jussi Pakkanen 78739afd9c Use system() instead of name() which is a confusing term. 2015-08-16 23:32:39 +03:00
Igor Gnatenko ca8d25f832 make consistent style 2015-07-28 01:11:32 +03:00
Jussi Pakkanen 642db009a3 Cleanups. 2015-07-28 01:01:30 +03:00