summaryrefslogtreecommitdiffstats
path: root/config/define-if.sh
blob: 059c1acd4e93102db26a6d235db8b1007e89b0fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh

# Copyright © Tavian Barnes <tavianator@tavianator.com>
# SPDX-License-Identifier: 0BSD

# Output a C preprocessor definition based on whether a command succeeds

set -eu

SLUG="${1#config/}"
SLUG="${SLUG%.c}"
MACRO="BFS_$(printf '%s' "$SLUG" | tr '/a-z-' '_A-Z_')"
shift

if "$@"; then
    printf '#define %s true\n' "$MACRO"
else
    printf '#define %s false\n' "$MACRO"
    exit 1
fi