#!/bin/sh # Copyright © Tavian Barnes # 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 command -v "${XPKG_CONFIG:-}" >/dev/null 2>&1; then case "$MODE" in "") "$XPKG_CONFIG" "$@" ;; --cflags) OUT=$("$XPKG_CONFIG" --cflags "$@") if [ "$OUT" ]; then printf 'CFLAGS += %s\n' "$OUT" fi ;; --ldflags) OUT=$("$XPKG_CONFIG" --libs-only-L --libs-only-other "$@") if [ "$OUT" ]; then printf 'LDFLAGS += %s\n' "$OUT" fi ;; --ldlibs) OUT=$("$XPKG_CONFIG" --libs-only-l "$@") if [ "$OUT" ]; then printf 'LDLIBS := %s ${LDLIBS}\n' "$OUT" fi ;; esac else 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 case "$MODE" in "") config/cc.sh "config/$LIB.c" "$LDLIB" || exit $? ;; --ldlibs) LDLIBS="$LDLIBS $LDLIB" ;; esac done if [ "$MODE" = "--ldlibs" ] && [ "$LDLIBS" ]; then printf 'LDLIBS :=%s ${LDLIBS}\n' "$LDLIBS" fi fi