summaryrefslogtreecommitdiffstats
path: root/config/pkgconf.sh
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2024-04-29 15:30:39 -0400
committerTavian Barnes <tavianator@tavianator.com>2024-04-29 16:25:46 -0400
commit37caa3d71fd8bb4d0d9204e4a2f5cac234fa25fd (patch)
treeaf4dd493b89a17dfdce2957dac90f068decf1667 /config/pkgconf.sh
parentb8ed989642b9f0f6c1301bcff6f1498935cbd81c (diff)
downloadbfs-37caa3d71fd8bb4d0d9204e4a2f5cac234fa25fd.tar.xz
build: Replace `make config` with a `./configure` script
This lets us do more traditional out-of-tree builds like $ ../path/to/bfs/configure $ make The .mk files are moved from ./config to ./build, mostly so that ./configure will auto-complete easily.
Diffstat (limited to 'config/pkgconf.sh')
-rwxr-xr-xconfig/pkgconf.sh100
1 files changed, 0 insertions, 100 deletions
diff --git a/config/pkgconf.sh b/config/pkgconf.sh
deleted file mode 100755
index 365ed61..0000000
--- a/config/pkgconf.sh
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/sh
-
-# Copyright © Tavian Barnes <tavianator@tavianator.com>
-# SPDX-License-Identifier: 0BSD
-
-# pkg-config wrapper with hardcoded fallbacks
-
-set -eu
-
-MODE=
-case "${1:-}" in
- --*)
- MODE="$1"
- shift
-esac
-
-if [ $# -lt 1 ]; then
- exit
-fi
-
-case "$XNOLIBS" in
- y|1)
- exit 1
-esac
-
-if [ -z "$MODE" ]; then
- # Check whether the libraries exist at all
- for LIB; do
- # Check ${USE_$LIB}
- USE_LIB="USE_$(printf '%s' "$LIB" | tr 'a-z-' 'A-Z_')"
- eval "USE=\"\${$USE_LIB:-}\""
- case "$USE" in
- y|1)
- continue
- ;;
- n|0)
- exit 1
- ;;
- esac
-
- CFLAGS=$("$0" --cflags "$LIB") || exit 1
- LDFLAGS=$("$0" --ldflags "$LIB") || exit 1
- LDLIBS=$("$0" --ldlibs "$LIB") || exit 1
- config/cc.sh $CFLAGS $LDFLAGS config/use/$LIB.c $LDLIBS || exit 1
- done
-fi
-
-# Defer to pkg-config if possible
-if command -v "${XPKG_CONFIG:-}" >/dev/null 2>&1; then
- case "$MODE" in
- --cflags)
- "$XPKG_CONFIG" --cflags "$@"
- ;;
- --ldflags)
- "$XPKG_CONFIG" --libs-only-L --libs-only-other "$@"
- ;;
- --ldlibs)
- "$XPKG_CONFIG" --libs-only-l "$@"
- ;;
- esac
-
- exit
-fi
-
-# pkg-config unavailable, emulate it ourselves
-CFLAGS=""
-LDFLAGS=""
-LDLIBS=""
-
-for LIB; do
- case "$LIB" in
- libacl)
- LDLIB=-lacl
- ;;
- libcap)
- LDLIB=-lcap
- ;;
- libselinux)
- LDLIB=-lselinux
- ;;
- liburing)
- LDLIB=-luring
- ;;
- oniguruma)
- LDLIB=-lonig
- ;;
- *)
- printf 'error: Unknown package %s\n' "$LIB" >&2
- exit 1
- ;;
- esac
-
- LDLIBS="$LDLIBS$LDLIB "
-done
-
-case "$MODE" in
- --ldlibs)
- printf '%s\n' "$LDLIBS"
- ;;
-esac