aboutsummaryrefslogtreecommitdiff
path: root/cross
diff options
context:
space:
mode:
authorNomura <nomura.rh@gmail.com>2023-03-28 11:25:19 +0200
committerEli Schwartz <eschwartz93@gmail.com>2023-04-24 09:07:37 -0400
commit18cfa545f03ddb6cb8378fdadec4f284aa7ea221 (patch)
treed75c230d056ad9224087380d213e54a5ace40f87 /cross
parentbda799dff2dc4b5d607f0e822b12ed0e2db38fb7 (diff)
downloadmeson-18cfa545f03ddb6cb8378fdadec4f284aa7ea221.zip
meson-18cfa545f03ddb6cb8378fdadec4f284aa7ea221.tar.gz
meson-18cfa545f03ddb6cb8378fdadec4f284aa7ea221.tar.bz2
Initial support for Metrowerks C/C++ compiler
Diffstat (limited to 'cross')
-rw-r--r--cross/metrowerks-arm.txt28
-rw-r--r--cross/metrowerks-eppc.txt28
-rw-r--r--cross/metrowerks.lcf18
3 files changed, 74 insertions, 0 deletions
diff --git a/cross/metrowerks-arm.txt b/cross/metrowerks-arm.txt
new file mode 100644
index 0000000..a13175b
--- /dev/null
+++ b/cross/metrowerks-arm.txt
@@ -0,0 +1,28 @@
+# This file assumes that the path to your Metrowerks Embedded ARM
+# toolchain is added to the environment(PATH) variable, so that
+# Meson can find the binaries while building.
+
+# You should also do one of the following to ensure Meson can
+# locate the .lcf linker script:
+# - Add the cross directory to PATH as well
+# - Edit c_link_args and cpp_link_args with the full
+# path to the .lcf file on your machine
+
+[binaries]
+c = 'mwccarm'
+c_ld = 'mwldarm'
+cpp = 'mwccarm'
+cpp_ld = 'mwldarm'
+ar = 'mwldarm'
+as = 'mwasmarm'
+
+[built-in options]
+c_args = ['-lang', 'c99', '-D_NITRO', '-nosyspath']
+c_link_args = 'metrowerks.lcf'
+cpp_args = ['-lang', 'c++', '-D_NITRO', '-nosyspath']
+cpp_link_args = 'metrowerks.lcf'
+
+[host_machine]
+system = 'bare metal'
+cpu_family = 'arm'
+endian = 'little' \ No newline at end of file
diff --git a/cross/metrowerks-eppc.txt b/cross/metrowerks-eppc.txt
new file mode 100644
index 0000000..e5e0e42
--- /dev/null
+++ b/cross/metrowerks-eppc.txt
@@ -0,0 +1,28 @@
+# This file assumes that the path to your Metrowerks toolchain
+# of choice is added to the environment(PATH) variable, so that
+# Meson can find the binaries while building.
+
+# You should also do one of the following to ensure Meson can
+# locate the .lcf linker script:
+# - Add the cross directory to PATH as well
+# - Edit c_link_args and cpp_link_args with the full
+# path to the lcf file on your machine
+
+[binaries]
+c = 'mwcceppc'
+c_ld = 'mwldeppc'
+cpp = 'mwcceppc'
+cpp_ld = 'mwldeppc'
+ar = 'mwldeppc'
+as = 'mwasmeppc'
+
+[built-in options]
+c_args = ['-lang', 'c99', '-nosyspath']
+c_link_args = 'metrowerks.lcf'
+cpp_args = ['-lang', 'c++', '-nosyspath']
+cpp_link_args = 'metrowerks.lcf'
+
+[host_machine]
+system = 'bare metal'
+cpu_family = 'ppc'
+endian = 'little' \ No newline at end of file
diff --git a/cross/metrowerks.lcf b/cross/metrowerks.lcf
new file mode 100644
index 0000000..96d13af
--- /dev/null
+++ b/cross/metrowerks.lcf
@@ -0,0 +1,18 @@
+# General-purpose linker script for Metrowerks toolchains.
+# This script will link a blank application. Its only purpose
+# is to allow the toolchains to run Meson tests. To link an
+# actual application, you need to write your own fine-tuned lcf.
+
+MEMORY {
+ TEST (RWX) : ORIGIN=0, LENGTH=0
+}
+
+SECTIONS {
+ .TEST:{
+ * (.text)
+ * (.data)
+ * (.rodata)
+ * (.bss)
+ __startup=.;
+ } > TEST
+} \ No newline at end of file