Merge pull request #30 from MarijnS95/meson-config-data

meson: Use `configuration_data()` instead of piping variables through `echo`
This commit is contained in:
Konrad Dybcio
2023-11-06 13:20:41 +01:00
committed by GitHub
3 changed files with 16 additions and 12 deletions

View File

@@ -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)

View File

@@ -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 <stdlib.h>\n\n' +
'\n'.join(platform_defs) +
'\n\n' +
'\n'.join(platform_array)
])
configuration: platforms)
executable('debugcc',
debugcc_srcs,

9
platforms.c.in Normal file
View File

@@ -0,0 +1,9 @@
/* Autogenerated file, do not edit */
#include <stdlib.h>
@PLATFORM_DEFS@
const struct debugcc_platform *platforms[] = {
@PLATFORM_ARRAY@
NULL,
};