summaryrefslogtreecommitdiffstats
path: root/build/define-if.sh
blob: 295ead84f254be68f7494f9c48b7d163995b353b (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#build/}"
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