diff --git a/bsd-user/freebsd/meson.build b/bsd-user/freebsd/meson.build index 8fd6c7cfb8..38f2debf7e 100644 --- a/bsd-user/freebsd/meson.build +++ b/bsd-user/freebsd/meson.build @@ -1,6 +1,12 @@ +bsd_syscall_nr = custom_target('bsd-syscall-h', + output: '@BASENAME@_nr.h', + input: ['/usr/include/sys/syscall.h'], + command: [sh, meson.current_source_dir() / 'scripts/syscallhdr.sh', '@INPUT@', '@OUTPUT@', 'FREEBSD']) + bsd_user_ss.add(files( 'os-stat.c', 'os-proc.c', 'os-sys.c', - 'os-syscall.c', -)) + 'os-syscall.c'), + bsd_syscall_nr +) diff --git a/bsd-user/freebsd/scripts/syscallhdr.sh b/bsd-user/freebsd/scripts/syscallhdr.sh new file mode 100644 index 0000000000..fa38500775 --- /dev/null +++ b/bsd-user/freebsd/scripts/syscallhdr.sh @@ -0,0 +1,9 @@ +#!/bin/sh +# Copyright (c) 2026 Warner Losh +# SPDX-License-Identifier: GPL-2.0-or-later + +in="$1" +out="$2" +bsd="$3" + +awk -v bsd="$3" '{sub("SYS_", "TARGET_" bsd "_NR_", $0); print;}' < $in > $out