Commit Graph

56 Commits

Author SHA1 Message Date
b4d9b2551c Genericise TI compiler and add MSP430 support 2022-02-02 16:45:05 +02:00
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
f2fe271198 Add support for finding Javascript source libraries with Emscripten. 2021-08-08 15:25:48 +03:00
108fe84e7e Update iphone cross building. 2021-08-08 14:15:17 +03:00
6b515c4321 cmake: fix missing languages from CMake (fixes #8132) 2021-01-04 20:16:30 +00:00
5c821edf26 cmake: Revert to using self.for_machine instead of MachineChoice.BUILD (fixes #8028) 2020-12-16 21:50:27 +00:00
b27af7e465 cmake: Add cross tests 2020-10-13 17:04:20 +02:00
85d036ebbb Rename [properties] to [built-in options]
This is the new syntax. Avoids loud deprecation warnings.
2020-09-17 22:25:37 +00:00
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
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
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
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
9e5c881b06 Add property to disable compiler sanity checks during cross compilation. 2020-03-22 23:07:53 +02:00
7460292810 -Add xc16 and c2000 C,Cpp toolchain support 2020-03-21 00:47:24 +02:00
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
255fa5a320 tests: Add a test case for finding ld 2020-01-22 23:39:33 +02:00
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
f41bdae368 Add basic Webassembly support via Emscripten. 2019-08-05 19:31:32 +03:00
9a62d6932b Make ARM compilers work on Linux. 2019-08-02 19:27:00 +03:00
bf1323a48c Added tvOS cross file 2019-06-13 21:31:03 +03:00
6c76ac8017 Handle strings in cross file args. Closes #4671. 2019-01-02 22:28:22 +02:00
68c83cb213 Add support for Renesas CC-RX toolchain 2018-11-08 00:02:22 +13:00
7140afc0a8 Added ARMCLANG compiler support for C/C++ (#3717) 2018-06-21 00:55:39 +03:00
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
c58dd64f8e Merged Arm CC support. 2018-04-16 23:02:09 +03:00
c72b4e1b9c Imported Debian fixes by Matthias Klose. 2018-04-02 14:12:34 +03:00
e62b8109eb Updates to CPP support and update review changes 2018-03-27 17:04:26 -05:00
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
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
a4db467669 Use GCC 7 for cross compilation tests. 2017-10-28 21:38:09 +03:00
c352c34ff1 cross: Fix host_machine.system in the example iphone cross config. 2017-05-21 21:20:39 +03:00
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
2b65083463 Fix cross test and run them if a cross compiler is available. 2016-12-20 20:33:59 +02:00
695aa0b8c2 Made cstdlib a subproject. 2016-05-21 19:35:36 +03:00
53e90acda9 Fix Vala cross compilation. Closes #370. 2016-02-17 22:15:32 +02:00
572ce0f451 Added cpu family property to system information. 2015-10-18 01:08:04 +03:00
2e3bd006d3 Converted alignment check to work also when cross compiling. 2015-09-05 15:17:02 +03:00
ad5795ed2e Converted sizeof check to work also when cross compiling. 2015-09-05 15:03:20 +03:00
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
78739afd9c Use system() instead of name() which is a confusing term. 2015-08-16 23:32:39 +03:00
ca8d25f832 make consistent style 2015-07-28 01:11:32 +03:00
642db009a3 Cleanups. 2015-07-28 01:01:30 +03:00
30d0c2292f Support target-only cross compilation properly. 2015-07-27 00:55:28 +03:00
463d08d545 Now host_machine, build_machine and target_machine are properly separated and return correct values. 2015-07-27 00:55:27 +03:00
eb3cdb6f8d Changed cross compilation file to new format. 2015-07-27 00:54:40 +03:00
bf02849d59 Use cross file's pkgconfig binary when cross compiling. Closes #138. 2015-06-06 22:02:37 +03:00
8be84a4a7c Some more cross tweaking. 2015-05-09 16:32:36 +03:00
572587f5ce Fix cross compilation tests. 2015-05-09 16:17:20 +03:00
6eb4474349 Fix ARM strip binary path. 2013-08-31 01:05:35 +03:00
52ed7fd8f8 Can build both cross and native binaries at the same time. 2013-08-30 22:51:14 +03:00