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

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

# Output a C preprocessor definition based on whether a C source file could be
# compiled successfully

set -eu

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

if config/cc.sh "$1"; then
    printf '#define %s true\n' "$MACRO"
else
    printf '#define %s false\n' "$MACRO"
fi