On 1/20/21 4:29 AM, Taylor Simpson wrote: > Add file to default-configs > Add hexagon to meson.build > Add hexagon to target/meson.build > Add target/hexagon/meson.build > Change scripts/qemu-binfmt-conf.sh > > We can build a hexagon-linux-user target and run programs on the Hexagon > scalar core. With hexagon-linux-clang installed, "make check-tcg" will > pass. > > Signed-off-by: Taylor Simpson <tsimp...@quicinc.com> > --- > default-configs/targets/hexagon-linux-user.mak | 1 + > meson.build | 1 + > scripts/qemu-binfmt-conf.sh | 6 +- > target/hexagon/meson.build | 187 > +++++++++++++++++++++++++ > target/meson.build | 1 + > 5 files changed, 195 insertions(+), 1 deletion(-) > create mode 100644 default-configs/targets/hexagon-linux-user.mak > create mode 100644 target/hexagon/meson.build ...
> +++ b/target/hexagon/meson.build > @@ -0,0 +1,187 @@ > +## > +## Copyright(c) 2020-2021 Qualcomm Innovation Center, Inc. All Rights > Reserved. > +## > +## This program is free software; you can redistribute it and/or modify > +## it under the terms of the GNU General Public License as published by > +## the Free Software Foundation; either version 2 of the License, or > +## (at your option) any later version. > +## > +## This program is distributed in the hope that it will be useful, > +## but WITHOUT ANY WARRANTY; without even the implied warranty of > +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +## GNU General Public License for more details. > +## > +## You should have received a copy of the GNU General Public License > +## along with this program; if not, see <http://www.gnu.org/licenses/>. > +## > + > +hexagon_ss = ss.source_set() > + > +prog_python = import('python').find_installation('python3') > + > +hex_common_py = 'hex_common.py' > +attribs_def_h = meson.current_source_dir() / 'attribs_def.h' > +gen_tcg_h = meson.current_source_dir() / 'gen_tcg.h' > + > +# > +# Step 1 > +# We use a C program to create semantics_generated.pyinc > +# > +gen_semantics = executable('gen_semantics', 'gen_semantics.c') > + > +semantics = custom_target( > + 'semantics_generated.pyinc', > + output: 'semantics_generated.pyinc', > + input: gen_semantics, > + command: ['@INPUT@', '@OUTPUT@'], > +) > +hexagon_ss.add(semantics) Is something missing here? $ make -j8 [316/1048] Generating semantics_generated.pyinc with a custom command FAILED: target/hexagon/semantics_generated.pyinc target/hexagon/gen_semantics target/hexagon/semantics_generated.pyinc /bin/sh: 1: target/hexagon/gen_semantics: not found ninja: build stopped: subcommand failed. $ make target/hexagon/semantics_generated.pyinc V=1 /usr/bin/ninja -v -j1 target/hexagon/semantics_generated.pyinc | cat [1/1] target/hexagon/gen_semantics target/hexagon/semantics_generated.pyinc FAILED: target/hexagon/semantics_generated.pyinc target/hexagon/gen_semantics target/hexagon/semantics_generated.pyinc /bin/sh: 1: target/hexagon/gen_semantics: not found ninja: build stopped: subcommand failed. make: *** [Makefile:172: run-ninja] Error 1 OK, I'm cross-compiling, target/hexagon/gen_semantics has been generated but with as target, and we want it linked for the host... Cc'ing Paolo in case he figures the issue simply looking at this patch :) Phil.