diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b81dfe9..265b5aa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,7 @@ jobs: apt -y install --no-install-recommends meson build-essential - name: Install cross-compilers - if:${{ matrix.target }} != 'native' + if: matrix.target != 'native' run: | apt -y install gcc-${{ matrix.target }} FAMILY=$(echo ${{ matrix.target }} | cut -d- -f 1) diff --git a/meson.build b/meson.build index 1e87672..4e2b921 100644 --- a/meson.build +++ b/meson.build @@ -33,7 +33,7 @@ debugcc_srcs = [ ] platform_defs = [] -platform_array = ['const struct debugcc_platform *platforms[] = {'] +platform_array = [] foreach p: platforms debugcc_srcs += p + '.c' @@ -45,19 +45,14 @@ foreach p: platforms pointing_to: 'debugcc') endforeach -platform_array += '\tNULL,' -platform_array += '};' +platforms = configuration_data() +platforms.set('PLATFORM_DEFS', '\n'.join(platform_defs)) +platforms.set('PLATFORM_ARRAY', '\n'.join(platform_array)) debugcc_srcs += configure_file( + input: 'platforms.c.in', output: 'platforms.c', - capture: true, - command: ['echo', - '/* Autogenerated file, do not edit */\n\n' + - '#include \n\n' + - '\n'.join(platform_defs) + - '\n\n' + - '\n'.join(platform_array) - ]) + configuration: platforms) executable('debugcc', debugcc_srcs, diff --git a/platforms.c.in b/platforms.c.in new file mode 100644 index 0000000..bf8b9fc --- /dev/null +++ b/platforms.c.in @@ -0,0 +1,9 @@ +/* Autogenerated file, do not edit */ +#include + +@PLATFORM_DEFS@ + +const struct debugcc_platform *platforms[] = { +@PLATFORM_ARRAY@ + NULL, +};