#!/bin/sh VERSION=1.2.0 VERSION_FULL=${VERSION}$(./version.sh) ICON_SIZES="$(for i in 24 32 48 64 128 256; do printf 'icons/hicolor/%sx%s/apps/goodwolf.png ' $i $i ; done)" DEPS="gtk+-3.0 libxml-2.0" min_webkitgtk=2.32.0 min_glib_guri=2.66.0 usage() { cat </dev/null ; required printf 'Checking %s command existance ...' "${CC}" command -v "${CC}" >/dev/null ; required printf 'Checking %s command existance ...' "${MANDOC}" if command -v "${MANDOC}" >/dev/null ; is_ok then : else printf 'Warning: manpage linting via mandoc(1) disabled' MANDOC="true" fi printf 'Checking %s command existance ...' "${SHELLCHECK}" if command -v "${SHELLCHECK}" >/dev/null ; is_ok then : else printf 'Warning: shell linting via shellcheck(1) disabled' SHELLCHECK="true" fi printf 'Checking %s command existance ...' "${FLAWFINDER}" if command -v "${FLAWFINDER}" >/dev/null ; is_ok then : else printf 'Warning: C analysis via flawfinder(1) disabled' SHELLCHECK="true" fi echo # pkg-config for dep in ${DEPS} do pkg_config_check --exists "$dep" || exit 1 done case "${WITH_WEBKITGTK}n" in 4.1n) pkg_config_check --atleast-version="${min_webkitgtk}" webkit2gtk-4.1 || exit 1 DEPS="${DEPS} webkit2gtk-4.1" ;; 4.0n) pkg_config_check --atleast-version="${min_webkitgtk}" webkit2gtk-4.0 || exit 1 DEPS="${DEPS} webkit2gtk-4.0" ;; n) echo "notice: Packagers should consider setting the ABI version (4.0 or 4.1) in WITH_WEBKITGTK" >&2 if pkg_config_check --atleast-version="${min_webkitgtk}" webkit2gtk-4.1 then DEPS="${DEPS} webkit2gtk-4.1" else pkg_config_check --atleast-version="${min_webkitgtk}" webkit2gtk-4.0 || exit 1 DEPS="${DEPS} webkit2gtk-4.0" fi ;; *) echo "error: invalid webkit2gtk version in WITH_WEBKITGTK environment variable, must be 4.0 or 4.1" >&2 exit 1 ;; esac case "${WITH_URI_PARSER}n" in gurin) echo "URI parser selected: GUri from glib-2.0" pkg_config_check --atleast-version="${min_glib_guri}" glib-2.0 || exit 1 DEPS="${DEPS} glib-2.0" ;; libsoup2n) echo "URI parser selected: libsoup-2.4" pkg_config_check libsoup-2.4 || exit 1 DEPS="${DEPS} libsoup-2.4" CFLAGS="${CFLAGS} -DUSE_LIBSOUP2" if echo "${DEPS}" | grep -q 'webkit2gtk-4.1' then echo 'warning: libsoup2 selected while WebKitGTK with libsoup3 API is used' >&2 fi ;; n) echo "notice: Packagers should consider setting the URI parsing library (guri or libsoup2) in WITH_URI_PARSER" >&2 if echo "${DEPS}" | grep -q 'webkit2gtk-4.0' then pkg_config_check libsoup-2.4 || exit 1 echo "URI parser selected: libsoup-2.4" DEPS="${DEPS} libsoup-2.4" CFLAGS="${CFLAGS} -DUSE_LIBSOUP2" else pkg_config_check --atleast-version="${min_glib_guri}" glib-2.0 || exit 1 echo "URI parser selected: GUri from glib-2.0" DEPS="${DEPS} glib-2.0" fi ;; *) echo "error: invalid uri provider in WITH_URI_PARSER environment variable, must be guri or libsoup2" >&2 ;; esac printf 'Using pkg-config to get CFLAGS for %s ...' "${DEPS}" get_cflags() { "${PKGCONFIG}" --cflags "${DEPS}"; } DEPS_cflags="$(get_cflags)" required printf 'Using pkg-config to get LIBS for %s ...' "${DEPS}" get_libs() { "${PKGCONFIG}" --libs "${DEPS}"; } DEPS_libs="$(get_libs)" required ## Configuration write printf '\nWriting to config.mk ...' cat >config.mk <