@@ -15,10 +15,12 @@ # file. # prefix="@prefix@" exec_prefix="@exec_prefix@" +datarootdir="@datarootdir@" +datadir="@datadir@" libdir="@libdir@" CFLAGS="" CPPFLAGS="@OBJFW_CPPFLAGS@ -I@includedir@" CXXFLAGS="" OBJC="@OBJC@" @@ -57,10 +59,12 @@ --lib-ldflags Outputs LDFLAGS for building a library --lib-prefix Outputs the prefix for libraries --lib-suffix Outputs the suffix for libraries --objc Outputs the OBJC used to compile ObjFW --objcflags Outputs the required OBJCFLAGS + --package Additionally outputs the flags for the specified package + --packages-dir Outputs the directory where flags for packages are stored --plugin-cflags Outputs CFLAGS for building a plugin --plugin-ldflags Outputs LDFLAGS for building a plugin --plugin-suffix Outputs the suffix for plugins --prog-suffix Outputs the suffix for binaries --reexport Outputs LDFLAGS to reexport ObjFW @@ -71,10 +75,40 @@ exit $1 } test -z "$1" && show_help 1 +package_version() { + if test "$1" != "1"; then + echo "Unsupported package version: $1" + exit 1 + fi +} + +include_package() { + if ! test -f "$datadir/objfw/packages/$1"; then + echo "No such package: $1" + exit 1 + fi + + source "$datadir/objfw/packages/$1" +} + +add_package_flags() { + while test -n "$1"; do + case "$1" in + --package) + shift + include_package "$1" + ;; + esac + shift + done +} + +add_package_flags "$@" + while test -n "$1"; do case "$1" in --all) printf "%s %s %s " "$CFLAGS" "$CPPFLAGS" "$CXXFLAGS" printf "%s %s " "$OBJCFLAGS" "$LDFLAGS" @@ -152,10 +186,17 @@ printf "%s" "$LDFLAGS_REEXPORT" ;; --rpath) printf "%s" "$LDFLAGS_RPATH" ;; + --package) + # Already included into the flags. + shift + ;; + --packages-dir) + printf "%s" "$datadir/objfw/packages" + ;; --plugin-cflags) printf "%s" "$PLUGIN_CFLAGS" ;; --plugin-ldflags) printf "%s" "$PLUGIN_LDFLAGS"