summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLucía Andrea Illanes Albornoz <lucia@luciaillanes.de>2023-03-31 07:24:35 +0200
committerLucía Andrea Illanes Albornoz <lucia@luciaillanes.de>2023-03-31 07:24:35 +0200
commitbf1a8367732ec22832a02f05ad1c3146a37a76eb (patch)
treed1da84d177242d185bcf42c9feb5d1a717e3383c
parentd79f1f31e2c1cf820883cc94e144bb2ce48a29e3 (diff)
downloadmidipix_build-bf1a8367732ec22832a02f05ad1c3146a37a76eb.tar.bz2
midipix_build-bf1a8367732ec22832a02f05ad1c3146a37a76eb.tar.xz
Split up midipix.env into env.d/*.env.
-rw-r--r--env.d/000.build.env55
-rw-r--r--env.d/050.paths.env65
-rw-r--r--env.d/100.toolchain.env70
-rw-r--r--env.d/100.tools.env40
-rw-r--r--env.d/200.targets.env62
-rw-r--r--env.d/300.config.cache.env36
-rw-r--r--env.d/300.config.cache.gnulib.env160
-rw-r--r--midipix.env387
-rw-r--r--subr.ex/ex_pkg.subr14
9 files changed, 500 insertions, 389 deletions
diff --git a/env.d/000.build.env b/env.d/000.build.env
new file mode 100644
index 00000000..e4a08d1f
--- /dev/null
+++ b/env.d/000.build.env
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (` ')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# Build steps
+DEFAULT_BUILD_STEPS=" \
+ fetch_clean fetch_download fetch_extract \
+ configure_clean configure_patch_pre configure_autotools configure_patch configure \
+ build_clean build \
+ install_clean install_subdirs install_make install_files install install_rpm \
+ clean \
+ finish";
+
+#
+# Build variables
+DEFAULT_BUILD_VARS=" \
+ AR AUTOCONF_CONFIG_GUESS BASE_DIR BUILD_DIR BUILD_STEPS_DISABLE BUILD_TYPE CC CCLD \
+ CFLAGS_BUILD CFLAGS_BUILD_EXTRA CFLAGS_CONFIGURE CFLAGS_CONFIGURE_EXTRA CMAKE \
+ CMAKE_ARGS CMAKE_ARGS_EXTRA CMAKE_LISTFILE CONFIG_CACHE CONFIG_CACHE_EXTRA \
+ CONFIG_CACHE_LOCAL CONFIGURE CONFIGURE_ARGS CONFIGURE_ARGS_EXTRA \
+ CONFIGURE_ARGS_EXTRA_LIST CONFIGURE_ARGS_LIST CONFIGURE_TYPE CPPFLAGS_CONFIGURE \
+ CXX CXXFLAGS_CONFIGURE CXXFLAGS_CONFIGURE_EXTRA DEPENDS DESTDIR DESTDIR_HOST \
+ DISABLED ENV_VARS_EXTRA FNAME FORCE_AUTORECONF GITROOT INHERIT_FROM INSTALL_FILES \
+ INSTALL_FILES_DESTDIR INSTALL_FILES_DESTDIR_EXTRA INSTALL_FILES_V2 INSTALL_TARGET \
+ INSTALL_TARGET_EXTRA IN_TREE LD LDFLAGS_BUILD LDFLAGS_BUILD_EXTRA LDFLAGS_CONFIGURE \
+ LDFLAGS_CONFIGURE_EXTRA LIBTOOL MAKE MAKEFLAGS_BUILD MAKEFLAGS_BUILD_EXTRA \
+ MAKEFLAGS_BUILD_EXTRA_LIST MAKEFLAGS_BUILD_LIST MAKEFLAGS_INSTALL \
+ MAKEFLAGS_INSTALL_EXTRA MAKEFLAGS_INSTALL_EXTRA_LIST MAKEFLAGS_INSTALL_LIST \
+ MAKEFLAGS_LOADAVG MAKEFLAGS_PARALLELISE MAKEFLAGS_VERBOSITY MAKE_INSTALL_VNAME \
+ MAKE_SUBDIRS MIRRORS MIRRORS_GIT NO_CLEAN NO_CLEAN_BASE_DIR NO_CLEAN_BUILD_DIR \
+ NO_LOG_VARS PATCHES_EXTRA PKG_CONFIG PKG_CONFIG_LIBDIR PKGLIST_DISABLE PREFIX \
+ PYTHON RANLIB RPM_DISABLE SHA256SUM SOFORT_NATIVE_CC SOFORT_NATIVE_CFLAGS \
+ SOFORT_NATIVE_CFLAGS_EXTRA SOFORT_NATIVE_CXX SOFORT_NATIVE_CXXFLAGS \
+ SOFORT_NATIVE_CXXFLAGS_EXTRA SOFORT_NATIVE_LD SOFORT_NATIVE_LDFLAGS \
+ SOFORT_NATIVE_LDFLAGS_EXTRA SUBDIR TARGET URL URLS_GIT VARS_FILE VERSION";
+
+#
+# Prerequisite commands
+DEFAULT_PREREQS=" \
+ awk bunzip2 bzip2 cat chmod cmake cp date find flock \
+ g++ gcc git grep gunzip gzip hostname id install kill \
+ ln lzip make mkdir mkfifo mktemp mv paste patch perl \
+ pgrep pkill printf readlink rm sed sha256sum sort \
+ stat tail tar test touch tr uniq wget xz zip";
+
+# vim:filetype=sh textwidth=0
diff --git a/env.d/050.paths.env b/env.d/050.paths.env
new file mode 100644
index 00000000..a5cf8074
--- /dev/null
+++ b/env.d/050.paths.env
@@ -0,0 +1,65 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (` ')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# Path & variable names and URLs
+: ${PREFIX_ROOT:="${HOME}/midipix"};
+: ${PREFIX:="${PREFIX_ROOT}/${ARCH}/${BUILD_KIND}"};
+: ${PREFIX_CROSS:="${PREFIX}/${DEFAULT_TARGET}"};
+: ${PREFIX_MINGW32:="${PREFIX}/x86_64-w64-mingw32"};
+: ${PREFIX_MINIPIX:="${PREFIX}/minipix"};
+: ${PREFIX_NATIVE:="${PREFIX}/native"};
+: ${PREFIX_RPM:="${PREFIX}/rpm"};
+: ${BUILD_DLCACHEDIR:="${PREFIX_ROOT}/dlcache"};
+: ${BUILD_WORKDIR:="${PREFIX}/tmp"};
+: ${DEFAULT_CHECK_PATH_VARS:="PREFIX PREFIX_NATIVE PREFIX_CROSS BUILD_DLCACHEDIR BUILD_WORKDIR"};
+: ${DEFAULT_CLEAR_ENV_VARS_EXCEPT:=" \
+ HOME PATH TERM USER \
+ ARCH BUILD_KIND \
+ BUILD_DLCACHEDIR BUILD_HNAME BUILD_WORKDIR \
+ PREFIX PREFIX_CROSS PREFIX_MINGW32 PREFIX_MINIPIX PREFIX_NATIVE PREFIX_ROOT PREFIX_RPM"};
+: ${DEFAULT_CLEAR_PREFIX_PATHS:="
+ bin i686-nt32-midipix doc include info lib lib64 libexec man minipix minipix_dist native
+ rpm sbin share tmp usr x86_64-nt64-midipix x86_64-w64-mingw32 pkglist.cross pkglist.host
+ pkglist.native SHA256SUMS SHA256SUMS.last"};
+: ${DEFAULT_INSTALL_FILES_DESTDIR:=" \
+ /=bin /=include /=lib /=lib/pkgconfig /=sbin \
+ /=share /=share/doc /=share/info /=share/man \
+ /=share/man/man1 /=share/man/man2 /=share/man/man3 /=share/man/man4 /=share/man/man5 \
+ /=share/man/man6 /=share/man/man7 /=share/man/man8 /=share/man/man9 \
+ @share/doc=doc \
+ @share/info=info \
+ @lib=lib64 \
+ @share/man=man \
+ @../lib/pkgconfig=share/pkgconfig \
+ @.=usr"};
+: ${DEFAULT_LOG_ENV_VARS:=" \
+ ARCH BUILD_KIND BUILD_DLCACHEDIR BUILD_WORKDIR DEFAULT_GITROOT \
+ HOME PATH PREFIX PREFIX_CROSS PREFIX_MINGW32 PREFIX_MINIPIX \
+ PREFIX_NATIVE PREFIX_RPM USER"};
+: ${DEFAULT_MIRRORS:=" \
+https://midipix.org/mirror/ \
+https://midipix.luciaillanes.de/archives/ \
+"};
+: ${DEFAULT_MIRRORS_GIT:=" \
+https://midipix.luciaillanes.de/repos_git/ \
+"};
+
+#
+# Build {log,status} & tarball names
+: ${DEFAULT_BUILD_LAST_FAILED_PKG_FNAME:=${BUILD_WORKDIR}/last_failed_pkg};
+: ${DEFAULT_BUILD_LOG_FNAME:=${PREFIX}/build.log};
+: ${DEFAULT_BUILD_LOG_LAST_FNAME:=${PREFIX}/build.log.last};
+: ${DEFAULT_BUILD_STATUS_IN_PROGRESS_FNAME:=${PREFIX}/BUILD_IN_PROGRESS};
+: ${DEFAULT_ZIPDIST_FNAME_PREFIX:=midipix-${ARCH}-${BUILD_KIND}.};
+
+# vim:filetype=sh textwidth=0
diff --git a/env.d/100.toolchain.env b/env.d/100.toolchain.env
new file mode 100644
index 00000000..36509404
--- /dev/null
+++ b/env.d/100.toolchain.env
@@ -0,0 +1,70 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (` ')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# Default toolchain flags & variables
+: ${DEFAULT_BUILD_CPUS:=};
+: ${DEFAULT_BUILD_TYPE:=native};
+
+#
+# Default C compiler flags & variables
+: ${DEFAULT_CFLAGS_DEBUG:="-D_REDIR_TIME64=0 -g2 -O0"};
+: ${DEFAULT_CFLAGS_DEBUG_HOST:="-D_REDIR_TIME64=0 -g0 -O2"};
+: ${DEFAULT_CFLAGS_DEBUG_RUNTIME:="-D_REDIR_TIME64=0 -g3 -O0"};
+: ${DEFAULT_CFLAGS_RELEASE:="-D_REDIR_TIME64=0 -g0 -O0"};
+: ${DEFAULT_CFLAGS_RELEASE_HOST:="-D_REDIR_TIME64=0 -g0 -O0"};
+: ${DEFAULT_CFLAGS_RELEASE_RUNTIME:="-D_REDIR_TIME64=0 -g0 -O0"};
+rtl_get_var_unsafe \$DEFAULT_CFLAGS -u "DEFAULT_CFLAGS_${BUILD_KIND}";
+: ${DEFAULT_CFLAGS_CONFIGURE:=${DEFAULT_CFLAGS}};
+rtl_get_var_unsafe \$DEFAULT_CFLAGS_HOST -u "DEFAULT_CFLAGS_${BUILD_KIND}_HOST";
+rtl_get_var_unsafe \$DEFAULT_CFLAGS_RUNTIME -u "DEFAULT_CFLAGS_${BUILD_KIND}_RUNTIME";
+
+#
+# Default C preprocessor flags & variables
+: ${DEFAULT_CPPFLAGS_DEBUG:="-D_REDIR_TIME64=0 -g2 -O0"};
+: ${DEFAULT_CPPFLAGS_DEBUG_HOST:="-D_REDIR_TIME64=0 -g0 -O2"};
+: ${DEFAULT_CPPFLAGS_DEBUG_RUNTIME:="-D_REDIR_TIME64=0 -g3 -O0"};
+: ${DEFAULT_CPPFLAGS_RELEASE:="-D_REDIR_TIME64=0 -g0 -O0"};
+: ${DEFAULT_CPPFLAGS_RELEASE_HOST:="-D_REDIR_TIME64=0 -g0 -O0"};
+: ${DEFAULT_CPPFLAGS_RELEASE_RUNTIME:="-D_REDIR_TIME64=0 -g0 -O0"};
+rtl_get_var_unsafe \$DEFAULT_CPPFLAGS -u "DEFAULT_CPPFLAGS_${BUILD_KIND}";
+: ${DEFAULT_CPPFLAGS_CONFIGURE:=${DEFAULT_CPPFLAGS}};
+rtl_get_var_unsafe \$DEFAULT_CPPFLAGS_HOST -u "DEFAULT_CPPFLAGS_${BUILD_KIND}_HOST";
+rtl_get_var_unsafe \$DEFAULT_CPPFLAGS_RUNTIME -u "DEFAULT_CPPFLAGS_${BUILD_KIND}_RUNTIME";
+
+#
+# Default C++ compiler flags & variables
+: ${DEFAULT_CXXFLAGS_DEBUG:="-D_REDIR_TIME64=0 -g2 -O0"};
+: ${DEFAULT_CXXFLAGS_DEBUG_HOST:="-D_REDIR_TIME64=0 -g0 -O2"};
+: ${DEFAULT_CXXFLAGS_DEBUG_RUNTIME:="-D_REDIR_TIME64=0 -g3 -O0"};
+: ${DEFAULT_CXXFLAGS_RELEASE:="-D_REDIR_TIME64=0 -g0 -O0"};
+: ${DEFAULT_CXXFLAGS_RELEASE_HOST:="-D_REDIR_TIME64=0 -g0 -O0"};
+: ${DEFAULT_CXXFLAGS_RELEASE_RUNTIME:="-D_REDIR_TIME64=0 -g0 -O0"};
+rtl_get_var_unsafe \$DEFAULT_CXXFLAGS -u "DEFAULT_CXXFLAGS_${BUILD_KIND}";
+: ${DEFAULT_CXXFLAGS_CONFIGURE:=${DEFAULT_CXXFLAGS}};
+rtl_get_var_unsafe \$DEFAULT_CXXFLAGS_HOST -u "DEFAULT_CXXFLAGS_${BUILD_KIND}_HOST";
+rtl_get_var_unsafe \$DEFAULT_CXXFLAGS_RUNTIME -u "DEFAULT_CXXFLAGS_${BUILD_KIND}_RUNTIME";
+
+#
+# Default linker flags & variables
+: ${DEFAULT_LDFLAGS_DEBUG:=""};
+: ${DEFAULT_LDFLAGS_DEBUG_HOST:=""};
+: ${DEFAULT_LDFLAGS_DEBUG_RUNTIME:=""};
+: ${DEFAULT_LDFLAGS_RELEASE:=""};
+: ${DEFAULT_LDFLAGS_RELEASE_HOST:=""};
+: ${DEFAULT_LDFLAGS_RELEASE_RUNTIME:=""};
+rtl_get_var_unsafe \$DEFAULT_LDFLAGS -u "DEFAULT_LDFLAGS_${BUILD_KIND}";
+: ${DEFAULT_LDFLAGS_CONFIGURE:=${DEFAULT_LDFLAGS}};
+rtl_get_var_unsafe \$DEFAULT_LDFLAGS_HOST -u "DEFAULT_LDFLAGS_${BUILD_KIND}_HOST";
+rtl_get_var_unsafe \$DEFAULT_LDFLAGS_RUNTIME -u "DEFAULT_LDFLAGS_${BUILD_KIND}_RUNTIME";
+
+# vim:filetype=sh textwidth=0
diff --git a/env.d/100.tools.env b/env.d/100.tools.env
new file mode 100644
index 00000000..e3e249c8
--- /dev/null
+++ b/env.d/100.tools.env
@@ -0,0 +1,40 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (` ')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# Default command & tool flags & variables
+: ${DEFAULT_AUTOCONF_CONFIG_GUESS:="copy"};
+: ${DEFAULT_CMAKE_LISTFILE:="CMakeLists.txt"};
+: ${DEFAULT_GIT_ARGS:=""};
+: ${DEFAULT_GITROOT:=git://midipix.org};
+: ${DEFAULT_GITROOT_HEAD:=git://midipix.org};
+: ${DEFAULT_MAKE_INSTALL_VNAME:=DESTDIR};
+: ${DEFAULT_MAKEFLAGS_LOADAVG:="-l${DEFAULT_BUILD_CPUS}"};
+: ${DEFAULT_MAKEFLAGS_PARALLELISE:="-j${DEFAULT_BUILD_CPUS}"};
+: ${DEFAULT_MAKEFLAGS_VERBOSITY:="V=99 VERBOSE=1"};
+: ${DEFAULT_RPM_JOBS_MAX:=1};
+: ${DEFAULT_RPM_JOBS_SEMAPHORE:="${BUILD_WORKDIR}/rpm.jobs"};
+: ${DEFAULT_RPM_JOBS_WAIT:=8};
+: ${DEFAULT_TIMESTAMP_FMT:="%Y/%m/%d %H:%M:%S"};
+: ${DEFAULT_WGET_ARGS:="--no-check-certificate --timeout=25 --waitretry=16"};
+: ${DEFAULT_ZIPDIST_DEFROOT:="/dev/fs/c/midipix"};
+
+#
+# Default CMake flags & variables
+: ${DEFAULT_CMAKE_ARGS:="
+ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
+ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
+ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
+ -DCMAKE_INSTALL_PREFIX=
+ -DCMAKE_VERBOSE_MAKEFILE=YES"};
+
+# vim:filetype=sh textwidth=0
diff --git a/env.d/200.targets.env b/env.d/200.targets.env
new file mode 100644
index 00000000..48a70f3c
--- /dev/null
+++ b/env.d/200.targets.env
@@ -0,0 +1,62 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (` ')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# cross target toolchain defaults
+: ${DEFAULT_CROSS_AR:=${DEFAULT_TARGET}-ar};
+: ${DEFAULT_CROSS_CC:=${DEFAULT_TARGET}-gcc};
+: ${DEFAULT_CROSS_CCLD:=${DEFAULT_TARGET}-gcc};
+: ${DEFAULT_CROSS_CMAKE:=cmake};
+: ${DEFAULT_CROSS_CXX:=${DEFAULT_TARGET}-g++};
+: ${DEFAULT_CROSS_LD:=${DEFAULT_TARGET}-ld};
+: ${DEFAULT_CROSS_LIBTOOL:=slibtool};
+: ${DEFAULT_CROSS_MAKE:=make};
+: ${DEFAULT_CROSS_RANLIB:=${DEFAULT_TARGET}-ranlib};
+
+#
+# host target toolchain defaults
+: ${DEFAULT_HOST_AR:=ar};
+: ${DEFAULT_HOST_CC:=gcc};
+: ${DEFAULT_HOST_CCLD:=gcc};
+: ${DEFAULT_HOST_CMAKE:=cmake};
+: ${DEFAULT_HOST_CXX:=g++};
+: ${DEFAULT_HOST_LD:=ld};
+: ${DEFAULT_HOST_LIBTOOL:=slibtool};
+: ${DEFAULT_HOST_MAKE:=make};
+: ${DEFAULT_HOST_PKG_CONFIG:=${PREFIX}/bin/${DEFAULT_TARGET}-pkg-config};
+: ${DEFAULT_HOST_PKG_CONFIG_LIBDIR:=${PREFIX}/lib/pkgconfig};
+: ${DEFAULT_HOST_RANLIB:=ranlib};
+
+#
+# native target toolchain defaults
+: ${DEFAULT_NATIVE_AR:=${DEFAULT_TARGET}-ar};
+: ${DEFAULT_NATIVE_CC:=${DEFAULT_TARGET}-gcc};
+: ${DEFAULT_NATIVE_CCLD:=${DEFAULT_TARGET}-gcc};
+: ${DEFAULT_NATIVE_CMAKE:=cmake};
+: ${DEFAULT_NATIVE_CXX:=${DEFAULT_TARGET}-g++};
+: ${DEFAULT_NATIVE_LD:=${DEFAULT_TARGET}-ld};
+: ${DEFAULT_NATIVE_LIBTOOL:=slibtool};
+: ${DEFAULT_NATIVE_MAKE:=make};
+: ${DEFAULT_NATIVE_PKG_CONFIG:=${PREFIX}/bin/${DEFAULT_TARGET}-pkg-config};
+: ${DEFAULT_NATIVE_PKG_CONFIG_LIBDIR:=${PREFIX}/lib/pkgconfig};
+: ${DEFAULT_NATIVE_RANLIB:=${DEFAULT_TARGET}-ranlib};
+
+#
+# native target sofort defaults
+: ${DEFAULT_SOFORT_NATIVE_CC:="${DEFAULT_HOST_CC}"};
+: ${DEFAULT_SOFORT_NATIVE_CFLAGS:="-I${PREFIX}/include"};
+: ${DEFAULT_SOFORT_NATIVE_CXX:="${DEFAULT_HOST_CXX}"};
+: ${DEFAULT_SOFORT_NATIVE_CXXFLAGS:="-I${PREFIX}/include"};
+: ${DEFAULT_SOFORT_NATIVE_LD:="${DEFAULT_HOST_CCLD}"};
+: ${DEFAULT_SOFORT_NATIVE_LDFLAGS:="-L${PREFIX}/lib -Wl,-rpath,${PREFIX}/lib"};
+
+# vim:filetype=sh textwidth=0
diff --git a/env.d/300.config.cache.env b/env.d/300.config.cache.env
new file mode 100644
index 00000000..d46e593f
--- /dev/null
+++ b/env.d/300.config.cache.env
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (` ')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# GNU autotools cache
+: ${DEFAULT_CONFIG_CACHE:="
+ac_cv_buggy_getaddrinfo=no
+ac_cv_file__dev_ptc=no
+ac_cv_file__dev_ptmx=yes
+ac_cv_func_calloc_0_nonnull=yes
+ac_cv_func_chown_works=yes
+ac_cv_func_fork_works=yes
+ac_cv_func_getgroups_works=yes
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_memcmp_working=yes
+ac_cv_func_mmap_fixed_mapped=yes
+ac_cv_func_realloc_0_nonnull=yes
+ac_cv_func_strcoll_works=yes
+ac_cv_func_strnlen_working=yes
+ac_cv_func_working_mktime=yes
+gl_cv_func_gettimeofday_clobber=no
+gl_cv_func_tzset_clobber=no
+gt_cv_int_divbyzero_sigfpe=yes
+libffi_cv_hidden_visibility_attribute=yes
+xorg_cv_malloc0_returns_null=yes"};
+
+# vim:filetype=sh textwidth=0
diff --git a/env.d/300.config.cache.gnulib.env b/env.d/300.config.cache.gnulib.env
new file mode 100644
index 00000000..75b99fd2
--- /dev/null
+++ b/env.d/300.config.cache.gnulib.env
@@ -0,0 +1,160 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (` ')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# Gnulib GNU autotools cache
+: ${CONFIG_CACHE_GNULIB:="
+gl_cv_double_slash_root=no
+ac_cv_func___fseterr=yes
+am_cv_func_working_getline=yes
+gl_cv_C_locale_sans_EILSEQ=yes
+gl_cv_func_cbrtl_ieee=yes
+gl_cv_func_ceilf_ieee=yes
+gl_cv_func_ceil_ieee=yes
+gl_cv_func_ceill_ieee=yes
+gl_cv_func_chown_ctime_works=yes
+gl_cv_func_chown_follows_symlink=yes
+gl_cv_func_chown_slash_works=yes
+gl_cv_func_exp2l_ieee=yes
+gl_cv_func_expm1_ieee=yes
+gl_cv_func_fclose_stdin=yes
+gl_cv_func_fchmodat_works=yes
+gl_cv_func_fchownat_empty_filename_works=yes
+gl_cv_func_fchownat_nofollow_works=yes
+gl_cv_func_fcntl_f_dupfd_cloexec=yes
+gl_cv_func_fcntl_f_dupfd_works=yes
+gl_cv_func_fdopendir_works=yes
+gl_cv_func_fflush_stdin=yes
+gl_cv_func_floorf_ieee=yes
+gl_cv_func_fmaf_works=yes
+gl_cv_func_fmal_works=yes
+gl_cv_func_fma_works=yes
+gl_cv_func_fmodf_ieee=yes
+gl_cv_func_fmod_ieee=yes
+gl_cv_func_fmodl_ieee=yes
+gl_cv_func_fopen_mode_e=yes
+gl_cv_func_fopen_mode_x=yes
+gl_cv_func_fpurge_works=yes
+gl_cv_func_fseeko=yes
+gl_cv_func_futimens_works=yes
+gl_cv_func_futimesat_works=yes
+gl_cv_func_getcwd_null=yes
+gl_cv_func_getgroups_works=yes
+gl_cv_func_gettimeofday_clobber=no
+gl_cv_func_hypotf_ieee=yes
+gl_cv_func_hypot_ieee=yes
+gl_cv_func_hypotl_ieee=yes
+gl_cv_func_isfinitel_works=yes
+gl_cv_func_isnanl_works=yes
+gl_cv_func_iswcntrl_works=yes
+gl_cv_func_linkat_nofollow=yes
+gl_cv_func_linkat_slash=yes
+gl_cv_func_link_follows_symlink=yes
+gl_cv_func_link_works=yes
+gl_cv_func_log10f_ieee=yes
+gl_cv_func_log10_ieee=yes
+gl_cv_func_log1pf_ieee=yes
+gl_cv_func_log1p_ieee=yes
+gl_cv_func_log1pl_ieee=yes
+gl_cv_func_log2f_ieee=yes
+gl_cv_func_log2_ieee=yes
+gl_cv_func_logf_ieee=yes
+gl_cv_func_log_ieee=yes
+gl_cv_func_lstat_dereferences_slashed_symlink=yes
+gl_cv_func_mbrlen_empty_input=yes
+gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes
+gl_cv_func_mbrtowc_empty_input=yes
+gl_cv_func_memchr_works=yes
+gl_cv_func_memmem_works_fast=yes
+gl_cv_func_mkdir_trailing_dot_works=yes
+gl_cv_func_mkdir_trailing_slash_works=yes
+gl_cv_func_mkfifo_works=yes
+gl_cv_func_mknod_works=yes
+gl_cv_func_modff_ieee=yes
+gl_cv_func_modf_ieee=yes
+gl_cv_func_modfl_ieee=yes
+gl_cv_func_nanosleep=yes
+gl_cv_func_open_directory_works=yes
+gl_cv_func_perror_works=yes
+gl_cv_func_posix_memalign_works=yes
+gl_cv_func_printf_directive_a=yes
+gl_cv_func_printf_directive_f=yes
+gl_cv_func_printf_directive_n=yes
+gl_cv_func_printf_enomem=yes
+gl_cv_func_printf_flag_zero=yes
+gl_cv_func_printf_infinite_long_double=yes
+gl_cv_func_printf_infinite=yes
+gl_cv_func_printf_sizes_c99=yes
+gl_cv_func_pselect_detects_ebadf=yes
+gl_cv_func_ptsname_sets_errno=yes
+gl_cv_func_readlink_works=yes
+gl_cv_func_readlink_trailing_slash=yes
+gl_cv_func_readlink_truncate=yes
+gl_cv_func_realpath_works=yes
+gl_cv_func_remainderf_ieee=yes
+gl_cv_func_remainder_ieee=yes
+gl_cv_func_remainderl_ieee=yes
+gl_cv_func_rename_dest_works=yes
+gl_cv_func_rename_link_works=yes
+gl_cv_func_rename_slash_dst_works=yes
+gl_cv_func_rename_slash_src_works=yes
+gl_cv_func_rmdir_works=yes
+gl_cv_func_roundf_ieee=yes
+gl_cv_func_round_ieee=yes
+gl_cv_func_select_detects_ebadf=yes
+gl_cv_func_setenv_works=yes
+gl_cv_func_signbit_gcc=yes
+gl_cv_func_signbit=yes
+gl_cv_func_signbit_builtins=yes
+gl_cv_func_sleep_works=yes
+gl_cv_func_snprintf_directive_n=yes
+gl_cv_func_snprintf_retval_c99=yes
+gl_cv_func_snprintf_truncation_c99=yes
+gl_cv_func_stat_dir_slash=yes
+gl_cv_func_stat_file_slash=yes
+gl_cv_func_stpncpy=yes
+gl_cv_func_strcasestr_linear=yes
+gl_cv_func_strchrnul_works=yes
+gl_cv_func_strerror_0_works=yes
+gl_cv_func_strstr_linear=yes
+gl_cv_func_strtod_works=yes
+gl_cv_func_strtold_works=yes
+gl_cv_func_strtoll_works=yes
+gl_cv_func_strtoull_works=yes
+gl_cv_func_svid_putenv=yes
+gl_cv_func_symlink_works=yes
+gl_cv_func_symlinkat_works=yes
+gl_cv_func_tdelete_works=yes
+gl_cv_func_truncf_ieee=yes
+gl_cv_func_trunc_ieee=yes
+gl_cv_func_truncl_ieee=yes
+gl_cv_func_tzset_clobber=no
+gl_cv_func_ungetc_works=yes
+gl_cv_func_unlink_busy_text=yes
+gl_cv_func_unlink_honors_slashes=yes
+gl_cv_func_unsetenv_works=yes
+gl_cv_func_usleep_works=yes
+gl_cv_func_utime_file_slash=yes
+gl_cv_func_utimensat_works=yes
+gl_cv_func_vsnprintf_posix=yes
+gl_cv_func_vsnprintf_zerosize_c99=yes
+gl_cv_func_vsprintf_posix=yes
+gl_cv_func_wcwidth_works=yes
+gl_cv_func_working_getdelim=yes
+gl_cv_func_working_mkstemp=yes
+gl_cv_func_working_mktime=yes
+gl_cv_func_working_strerror=yes
+gl_cv_struct_dirent_d_ino=yes
+gl_cv_func_getopt_gnu=yes
+gl_cv_pthread_rwlock_rdlock_prefer_writer=no"};
+
+# vim:filetype=sh textwidth=0
diff --git a/midipix.env b/midipix.env
deleted file mode 100644
index ae5e1851..00000000
--- a/midipix.env
+++ /dev/null
@@ -1,387 +0,0 @@
-#
-# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
-#
-# WARNING: Do _NOT_ use whitespaces (` ') or tab (` ')
-# characters in any of the variables below save for MAKEFLAGS,
-# PATH, and TIMESTAMP_FMT.
-#
-# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
-# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
-# The variables mentioned should not be forward slash-terminated.
-#
-
-#
-# Build {step,variable}s
-DEFAULT_BUILD_STEPS=" \
- fetch_clean fetch_download fetch_extract \
- configure_clean configure_patch_pre configure_autotools configure_patch configure \
- build_clean build \
- install_clean install_subdirs install_make install_files install install_rpm \
- clean \
- finish";
-DEFAULT_BUILD_VARS=" \
- AR AUTOCONF_CONFIG_GUESS BASE_DIR BUILD_DIR BUILD_STEPS_DISABLE BUILD_TYPE CC CCLD \
- CFLAGS_BUILD CFLAGS_BUILD_EXTRA CFLAGS_CONFIGURE CFLAGS_CONFIGURE_EXTRA CMAKE \
- CMAKE_ARGS CMAKE_ARGS_EXTRA CMAKE_LISTFILE CONFIG_CACHE CONFIG_CACHE_EXTRA \
- CONFIG_CACHE_LOCAL CONFIGURE CONFIGURE_ARGS CONFIGURE_ARGS_EXTRA \
- CONFIGURE_ARGS_EXTRA_LIST CONFIGURE_ARGS_LIST CONFIGURE_TYPE CPPFLAGS_CONFIGURE \
- CXX CXXFLAGS_CONFIGURE CXXFLAGS_CONFIGURE_EXTRA DEPENDS DESTDIR DESTDIR_HOST \
- DISABLED ENV_VARS_EXTRA FNAME FORCE_AUTORECONF GITROOT INHERIT_FROM INSTALL_FILES \
- INSTALL_FILES_DESTDIR INSTALL_FILES_DESTDIR_EXTRA INSTALL_FILES_V2 INSTALL_TARGET \
- INSTALL_TARGET_EXTRA IN_TREE LD LDFLAGS_BUILD LDFLAGS_BUILD_EXTRA LDFLAGS_CONFIGURE \
- LDFLAGS_CONFIGURE_EXTRA LIBTOOL MAKE MAKEFLAGS_BUILD MAKEFLAGS_BUILD_EXTRA \
- MAKEFLAGS_BUILD_EXTRA_LIST MAKEFLAGS_BUILD_LIST MAKEFLAGS_INSTALL \
- MAKEFLAGS_INSTALL_EXTRA MAKEFLAGS_INSTALL_EXTRA_LIST MAKEFLAGS_INSTALL_LIST \
- MAKEFLAGS_LOADAVG MAKEFLAGS_PARALLELISE MAKEFLAGS_VERBOSITY MAKE_INSTALL_VNAME \
- MAKE_SUBDIRS MIRRORS MIRRORS_GIT NO_CLEAN NO_CLEAN_BASE_DIR NO_CLEAN_BUILD_DIR \
- NO_LOG_VARS PATCHES_EXTRA PKG_CONFIG PKG_CONFIG_LIBDIR PKGLIST_DISABLE PREFIX \
- PYTHON RANLIB RPM_DISABLE SHA256SUM SOFORT_NATIVE_CC SOFORT_NATIVE_CFLAGS \
- SOFORT_NATIVE_CFLAGS_EXTRA SOFORT_NATIVE_CXX SOFORT_NATIVE_CXXFLAGS \
- SOFORT_NATIVE_CXXFLAGS_EXTRA SOFORT_NATIVE_LD SOFORT_NATIVE_LDFLAGS \
- SOFORT_NATIVE_LDFLAGS_EXTRA SUBDIR TARGET URL URLS_GIT VARS_FILE VERSION";
-
-#
-# Prerequisite commands
-DEFAULT_PREREQS=" \
- awk bunzip2 bzip2 cat chmod cmake cp date find flock \
- g++ gcc git grep gunzip gzip hostname id install kill \
- ln lzip make mkdir mkfifo mktemp mv paste patch perl \
- pgrep pkill printf readlink rm sed sha256sum sort \
- stat tail tar test touch tr uniq wget xz zip";
-
-#
-# Path & variable names and URLs
-: ${PREFIX_ROOT:="${HOME}/midipix"};
-: ${PREFIX:="${PREFIX_ROOT}/${ARCH}/${BUILD_KIND}"};
-: ${PREFIX_CROSS:="${PREFIX}/${DEFAULT_TARGET}"};
-: ${PREFIX_MINGW32:="${PREFIX}/x86_64-w64-mingw32"};
-: ${PREFIX_MINIPIX:="${PREFIX}/minipix"};
-: ${PREFIX_NATIVE:="${PREFIX}/native"};
-: ${PREFIX_RPM:="${PREFIX}/rpm"};
-: ${BUILD_DLCACHEDIR:="${PREFIX_ROOT}/dlcache"};
-: ${BUILD_WORKDIR:="${PREFIX}/tmp"};
-: ${DEFAULT_CHECK_PATH_VARS:="PREFIX PREFIX_NATIVE PREFIX_CROSS BUILD_DLCACHEDIR BUILD_WORKDIR"};
-: ${DEFAULT_CLEAR_ENV_VARS_EXCEPT:=" \
- HOME PATH TERM USER \
- ARCH BUILD_KIND \
- BUILD_DLCACHEDIR BUILD_HNAME BUILD_WORKDIR \
- PREFIX PREFIX_CROSS PREFIX_MINGW32 PREFIX_MINIPIX PREFIX_NATIVE PREFIX_ROOT PREFIX_RPM"};
-: ${DEFAULT_CLEAR_PREFIX_PATHS:="
- bin i686-nt32-midipix doc include info lib lib64 libexec man minipix minipix_dist native
- rpm sbin share tmp usr x86_64-nt64-midipix x86_64-w64-mingw32 pkglist.cross pkglist.host
- pkglist.native SHA256SUMS SHA256SUMS.last"};
-: ${DEFAULT_INSTALL_FILES_DESTDIR:=" \
- /=bin /=include /=lib /=lib/pkgconfig /=sbin \
- /=share /=share/doc /=share/info /=share/man \
- /=share/man/man1 /=share/man/man2 /=share/man/man3 /=share/man/man4 /=share/man/man5 \
- /=share/man/man6 /=share/man/man7 /=share/man/man8 /=share/man/man9 \
- @share/doc=doc \
- @share/info=info \
- @lib=lib64 \
- @share/man=man \
- @../lib/pkgconfig=share/pkgconfig \
- @.=usr"};
-: ${DEFAULT_LOG_ENV_VARS:=" \
- ARCH BUILD_KIND BUILD_DLCACHEDIR BUILD_WORKDIR DEFAULT_GITROOT \
- HOME PATH PREFIX PREFIX_CROSS PREFIX_MINGW32 PREFIX_MINIPIX \
- PREFIX_NATIVE PREFIX_RPM USER"};
-: ${DEFAULT_MIRRORS:=" \
-https://midipix.org/mirror/ \
-https://midipix.luciaillanes.de/archives/ \
-"};
-: ${DEFAULT_MIRRORS_GIT:=" \
-https://midipix.luciaillanes.de/repos_git/ \
-"};
-
-#
-# Default toolchain flags & variables
-: ${DEFAULT_BUILD_CPUS:=};
-: ${DEFAULT_BUILD_TYPE:=native};
-: ${DEFAULT_CFLAGS_DEBUG:="-D_REDIR_TIME64=0 -g2 -O0"};
-: ${DEFAULT_CFLAGS_DEBUG_HOST:="-D_REDIR_TIME64=0 -g0 -O2"};
-: ${DEFAULT_CFLAGS_DEBUG_RUNTIME:="-D_REDIR_TIME64=0 -g3 -O0"};
-: ${DEFAULT_CFLAGS_RELEASE:="-D_REDIR_TIME64=0 -g0 -O0"};
-: ${DEFAULT_CFLAGS_RELEASE_HOST:="-D_REDIR_TIME64=0 -g0 -O0"};
-: ${DEFAULT_CFLAGS_RELEASE_RUNTIME:="-D_REDIR_TIME64=0 -g0 -O0"};
-rtl_get_var_unsafe \$DEFAULT_CFLAGS -u "DEFAULT_CFLAGS_${BUILD_KIND}";
-: ${DEFAULT_CFLAGS_CONFIGURE:=${DEFAULT_CFLAGS}};
-rtl_get_var_unsafe \$DEFAULT_CFLAGS_HOST -u "DEFAULT_CFLAGS_${BUILD_KIND}_HOST";
-rtl_get_var_unsafe \$DEFAULT_CFLAGS_RUNTIME -u "DEFAULT_CFLAGS_${BUILD_KIND}_RUNTIME";
-: ${DEFAULT_CPPFLAGS_DEBUG:="-D_REDIR_TIME64=0 -g2 -O0"};
-: ${DEFAULT_CPPFLAGS_DEBUG_HOST:="-D_REDIR_TIME64=0 -g0 -O2"};
-: ${DEFAULT_CPPFLAGS_DEBUG_RUNTIME:="-D_REDIR_TIME64=0 -g3 -O0"};
-: ${DEFAULT_CPPFLAGS_RELEASE:="-D_REDIR_TIME64=0 -g0 -O0"};
-: ${DEFAULT_CPPFLAGS_RELEASE_HOST:="-D_REDIR_TIME64=0 -g0 -O0"};
-: ${DEFAULT_CPPFLAGS_RELEASE_RUNTIME:="-D_REDIR_TIME64=0 -g0 -O0"};
-rtl_get_var_unsafe \$DEFAULT_CPPFLAGS -u "DEFAULT_CPPFLAGS_${BUILD_KIND}";
-: ${DEFAULT_CPPFLAGS_CONFIGURE:=${DEFAULT_CPPFLAGS}};
-rtl_get_var_unsafe \$DEFAULT_CPPFLAGS_HOST -u "DEFAULT_CPPFLAGS_${BUILD_KIND}_HOST";
-rtl_get_var_unsafe \$DEFAULT_CPPFLAGS_RUNTIME -u "DEFAULT_CPPFLAGS_${BUILD_KIND}_RUNTIME";
-: ${DEFAULT_CXXFLAGS_DEBUG:="-D_REDIR_TIME64=0 -g2 -O0"};
-: ${DEFAULT_CXXFLAGS_DEBUG_HOST:="-D_REDIR_TIME64=0 -g0 -O2"};
-: ${DEFAULT_CXXFLAGS_DEBUG_RUNTIME:="-D_REDIR_TIME64=0 -g3 -O0"};
-: ${DEFAULT_CXXFLAGS_RELEASE:="-D_REDIR_TIME64=0 -g0 -O0"};
-: ${DEFAULT_CXXFLAGS_RELEASE_HOST:="-D_REDIR_TIME64=0 -g0 -O0"};
-: ${DEFAULT_CXXFLAGS_RELEASE_RUNTIME:="-D_REDIR_TIME64=0 -g0 -O0"};
-rtl_get_var_unsafe \$DEFAULT_CXXFLAGS -u "DEFAULT_CXXFLAGS_${BUILD_KIND}";
-: ${DEFAULT_CXXFLAGS_CONFIGURE:=${DEFAULT_CXXFLAGS}};
-rtl_get_var_unsafe \$DEFAULT_CXXFLAGS_HOST -u "DEFAULT_CXXFLAGS_${BUILD_KIND}_HOST";
-rtl_get_var_unsafe \$DEFAULT_CXXFLAGS_RUNTIME -u "DEFAULT_CXXFLAGS_${BUILD_KIND}_RUNTIME";
-: ${DEFAULT_LDFLAGS_DEBUG:=""};
-: ${DEFAULT_LDFLAGS_DEBUG_HOST:=""};
-: ${DEFAULT_LDFLAGS_DEBUG_RUNTIME:=""};
-: ${DEFAULT_LDFLAGS_RELEASE:=""};
-: ${DEFAULT_LDFLAGS_RELEASE_HOST:=""};
-: ${DEFAULT_LDFLAGS_RELEASE_RUNTIME:=""};
-rtl_get_var_unsafe \$DEFAULT_LDFLAGS -u "DEFAULT_LDFLAGS_${BUILD_KIND}";
-: ${DEFAULT_LDFLAGS_CONFIGURE:=${DEFAULT_LDFLAGS}};
-rtl_get_var_unsafe \$DEFAULT_LDFLAGS_HOST -u "DEFAULT_LDFLAGS_${BUILD_KIND}_HOST";
-rtl_get_var_unsafe \$DEFAULT_LDFLAGS_RUNTIME -u "DEFAULT_LDFLAGS_${BUILD_KIND}_RUNTIME";
-
-#
-# Target-relative toolchain defaults
-: ${DEFAULT_CROSS_AR:=${DEFAULT_TARGET}-ar};
-: ${DEFAULT_CROSS_CC:=${DEFAULT_TARGET}-gcc};
-: ${DEFAULT_CROSS_CCLD:=${DEFAULT_TARGET}-gcc};
-: ${DEFAULT_CROSS_CMAKE:=cmake};
-: ${DEFAULT_CROSS_CXX:=${DEFAULT_TARGET}-g++};
-: ${DEFAULT_CROSS_LD:=${DEFAULT_TARGET}-ld};
-: ${DEFAULT_CROSS_LIBTOOL:=slibtool};
-: ${DEFAULT_CROSS_MAKE:=make};
-: ${DEFAULT_CROSS_RANLIB:=${DEFAULT_TARGET}-ranlib};
-: ${DEFAULT_HOST_AR:=ar};
-: ${DEFAULT_HOST_CC:=gcc};
-: ${DEFAULT_HOST_CCLD:=gcc};
-: ${DEFAULT_HOST_CMAKE:=cmake};
-: ${DEFAULT_HOST_CXX:=g++};
-: ${DEFAULT_HOST_LD:=ld};
-: ${DEFAULT_HOST_LIBTOOL:=slibtool};
-: ${DEFAULT_HOST_MAKE:=make};
-: ${DEFAULT_HOST_PKG_CONFIG:=${PREFIX}/bin/${DEFAULT_TARGET}-pkg-config};
-: ${DEFAULT_HOST_PKG_CONFIG_LIBDIR:=${PREFIX}/lib/pkgconfig};
-: ${DEFAULT_HOST_RANLIB:=ranlib};
-: ${DEFAULT_NATIVE_AR:=${DEFAULT_TARGET}-ar};
-: ${DEFAULT_NATIVE_CC:=${DEFAULT_TARGET}-gcc};
-: ${DEFAULT_NATIVE_CCLD:=${DEFAULT_TARGET}-gcc};
-: ${DEFAULT_NATIVE_CMAKE:=cmake};
-: ${DEFAULT_NATIVE_CXX:=${DEFAULT_TARGET}-g++};
-: ${DEFAULT_NATIVE_LD:=${DEFAULT_TARGET}-ld};
-: ${DEFAULT_NATIVE_LIBTOOL:=slibtool};
-: ${DEFAULT_NATIVE_MAKE:=make};
-: ${DEFAULT_NATIVE_PKG_CONFIG:=${PREFIX}/bin/${DEFAULT_TARGET}-pkg-config};
-: ${DEFAULT_NATIVE_PKG_CONFIG_LIBDIR:=${PREFIX}/lib/pkgconfig};
-: ${DEFAULT_NATIVE_RANLIB:=${DEFAULT_TARGET}-ranlib};
-
-#
-# Default command & tool flags & variables
-: ${DEFAULT_AUTOCONF_CONFIG_GUESS:="copy"};
-: ${DEFAULT_CMAKE_LISTFILE:="CMakeLists.txt"};
-: ${DEFAULT_GIT_ARGS:=""};
-: ${DEFAULT_GITROOT:=git://midipix.org};
-: ${DEFAULT_GITROOT_HEAD:=git://midipix.org};
-: ${DEFAULT_MAKE_INSTALL_VNAME:=DESTDIR};
-: ${DEFAULT_MAKEFLAGS_LOADAVG:="-l${DEFAULT_BUILD_CPUS}"};
-: ${DEFAULT_MAKEFLAGS_PARALLELISE:="-j${DEFAULT_BUILD_CPUS}"};
-: ${DEFAULT_MAKEFLAGS_VERBOSITY:="V=99 VERBOSE=1"};
-: ${DEFAULT_RPM_JOBS_MAX:=1};
-: ${DEFAULT_RPM_JOBS_SEMAPHORE:="${BUILD_WORKDIR}/rpm.jobs"};
-: ${DEFAULT_RPM_JOBS_WAIT:=8};
-: ${DEFAULT_TIMESTAMP_FMT:="%Y/%m/%d %H:%M:%S"};
-: ${DEFAULT_WGET_ARGS:="--no-check-certificate --timeout=25 --waitretry=16"};
-: ${DEFAULT_ZIPDIST_DEFROOT:="/dev/fs/c/midipix"};
-
-#
-# Default CMake flags & variables
-: ${DEFAULT_CMAKE_ARGS:="
- -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
- -DCMAKE_INSTALL_PREFIX=
- -DCMAKE_VERBOSE_MAKEFILE=YES"};
-
-#
-# Default sofort flags & variables
-: ${DEFAULT_SOFORT_NATIVE_CC:="${DEFAULT_HOST_CC}"};
-: ${DEFAULT_SOFORT_NATIVE_CFLAGS:="-I${PREFIX}/include"};
-: ${DEFAULT_SOFORT_NATIVE_CXX:="${DEFAULT_HOST_CXX}"};
-: ${DEFAULT_SOFORT_NATIVE_CXXFLAGS:="-I${PREFIX}/include"};
-: ${DEFAULT_SOFORT_NATIVE_LD:="${DEFAULT_HOST_CCLD}"};
-: ${DEFAULT_SOFORT_NATIVE_LDFLAGS:="-L${PREFIX}/lib -Wl,-rpath,${PREFIX}/lib"};
-
-#
-# Build {log,status} & tarball names
-: ${DEFAULT_BUILD_LAST_FAILED_PKG_FNAME:=${BUILD_WORKDIR}/last_failed_pkg};
-: ${DEFAULT_BUILD_LOG_FNAME:=${PREFIX}/build.log};
-: ${DEFAULT_BUILD_LOG_LAST_FNAME:=${PREFIX}/build.log.last};
-: ${DEFAULT_BUILD_STATUS_IN_PROGRESS_FNAME:=${PREFIX}/BUILD_IN_PROGRESS};
-: ${DEFAULT_ZIPDIST_FNAME_PREFIX:=midipix-${ARCH}-${BUILD_KIND}.};
-
-#
-# GNU autotools cache
-: ${DEFAULT_CONFIG_CACHE:="
-ac_cv_buggy_getaddrinfo=no
-ac_cv_file__dev_ptc=no
-ac_cv_file__dev_ptmx=yes
-ac_cv_func_calloc_0_nonnull=yes
-ac_cv_func_chown_works=yes
-ac_cv_func_fork_works=yes
-ac_cv_func_getgroups_works=yes
-ac_cv_func_malloc_0_nonnull=yes
-ac_cv_func_memcmp_working=yes
-ac_cv_func_mmap_fixed_mapped=yes
-ac_cv_func_realloc_0_nonnull=yes
-ac_cv_func_strcoll_works=yes
-ac_cv_func_strnlen_working=yes
-ac_cv_func_working_mktime=yes
-gl_cv_func_gettimeofday_clobber=no
-gl_cv_func_tzset_clobber=no
-gt_cv_int_divbyzero_sigfpe=yes
-libffi_cv_hidden_visibility_attribute=yes
-xorg_cv_malloc0_returns_null=yes"};
-
-: ${CONFIG_CACHE_GNULIB:="
-gl_cv_double_slash_root=no
-ac_cv_func___fseterr=yes
-am_cv_func_working_getline=yes
-gl_cv_C_locale_sans_EILSEQ=yes
-gl_cv_func_cbrtl_ieee=yes
-gl_cv_func_ceilf_ieee=yes
-gl_cv_func_ceil_ieee=yes
-gl_cv_func_ceill_ieee=yes
-gl_cv_func_chown_ctime_works=yes
-gl_cv_func_chown_follows_symlink=yes
-gl_cv_func_chown_slash_works=yes
-gl_cv_func_exp2l_ieee=yes
-gl_cv_func_expm1_ieee=yes
-gl_cv_func_fclose_stdin=yes
-gl_cv_func_fchmodat_works=yes
-gl_cv_func_fchownat_empty_filename_works=yes
-gl_cv_func_fchownat_nofollow_works=yes
-gl_cv_func_fcntl_f_dupfd_cloexec=yes
-gl_cv_func_fcntl_f_dupfd_works=yes
-gl_cv_func_fdopendir_works=yes
-gl_cv_func_fflush_stdin=yes
-gl_cv_func_floorf_ieee=yes
-gl_cv_func_fmaf_works=yes
-gl_cv_func_fmal_works=yes
-gl_cv_func_fma_works=yes
-gl_cv_func_fmodf_ieee=yes
-gl_cv_func_fmod_ieee=yes
-gl_cv_func_fmodl_ieee=yes
-gl_cv_func_fopen_mode_e=yes
-gl_cv_func_fopen_mode_x=yes
-gl_cv_func_fpurge_works=yes
-gl_cv_func_fseeko=yes
-gl_cv_func_futimens_works=yes
-gl_cv_func_futimesat_works=yes
-gl_cv_func_getcwd_null=yes
-gl_cv_func_getgroups_works=yes
-gl_cv_func_gettimeofday_clobber=no
-gl_cv_func_hypotf_ieee=yes
-gl_cv_func_hypot_ieee=yes
-gl_cv_func_hypotl_ieee=yes
-gl_cv_func_isfinitel_works=yes
-gl_cv_func_isnanl_works=yes
-gl_cv_func_iswcntrl_works=yes
-gl_cv_func_linkat_nofollow=yes
-gl_cv_func_linkat_slash=yes
-gl_cv_func_link_follows_symlink=yes
-gl_cv_func_link_works=yes
-gl_cv_func_log10f_ieee=yes
-gl_cv_func_log10_ieee=yes
-gl_cv_func_log1pf_ieee=yes
-gl_cv_func_log1p_ieee=yes
-gl_cv_func_log1pl_ieee=yes
-gl_cv_func_log2f_ieee=yes
-gl_cv_func_log2_ieee=yes
-gl_cv_func_logf_ieee=yes
-gl_cv_func_log_ieee=yes
-gl_cv_func_lstat_dereferences_slashed_symlink=yes
-gl_cv_func_mbrlen_empty_input=yes
-gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes
-gl_cv_func_mbrtowc_empty_input=yes
-gl_cv_func_memchr_works=yes
-gl_cv_func_memmem_works_fast=yes
-gl_cv_func_mkdir_trailing_dot_works=yes
-gl_cv_func_mkdir_trailing_slash_works=yes
-gl_cv_func_mkfifo_works=yes
-gl_cv_func_mknod_works=yes
-gl_cv_func_modff_ieee=yes
-gl_cv_func_modf_ieee=yes
-gl_cv_func_modfl_ieee=yes
-gl_cv_func_nanosleep=yes
-gl_cv_func_open_directory_works=yes
-gl_cv_func_perror_works=yes
-gl_cv_func_posix_memalign_works=yes
-gl_cv_func_printf_directive_a=yes
-gl_cv_func_printf_directive_f=yes
-gl_cv_func_printf_directive_n=yes
-gl_cv_func_printf_enomem=yes
-gl_cv_func_printf_flag_zero=yes
-gl_cv_func_printf_infinite_long_double=yes
-gl_cv_func_printf_infinite=yes
-gl_cv_func_printf_sizes_c99=yes
-gl_cv_func_pselect_detects_ebadf=yes
-gl_cv_func_ptsname_sets_errno=yes
-gl_cv_func_readlink_works=yes
-gl_cv_func_readlink_trailing_slash=yes
-gl_cv_func_readlink_truncate=yes
-gl_cv_func_realpath_works=yes
-gl_cv_func_remainderf_ieee=yes
-gl_cv_func_remainder_ieee=yes
-gl_cv_func_remainderl_ieee=yes
-gl_cv_func_rename_dest_works=yes
-gl_cv_func_rename_link_works=yes
-gl_cv_func_rename_slash_dst_works=yes
-gl_cv_func_rename_slash_src_works=yes
-gl_cv_func_rmdir_works=yes
-gl_cv_func_roundf_ieee=yes
-gl_cv_func_round_ieee=yes
-gl_cv_func_select_detects_ebadf=yes
-gl_cv_func_setenv_works=yes
-gl_cv_func_signbit_gcc=yes
-gl_cv_func_signbit=yes
-gl_cv_func_signbit_builtins=yes
-gl_cv_func_sleep_works=yes
-gl_cv_func_snprintf_directive_n=yes
-gl_cv_func_snprintf_retval_c99=yes
-gl_cv_func_snprintf_truncation_c99=yes
-gl_cv_func_stat_dir_slash=yes
-gl_cv_func_stat_file_slash=yes
-gl_cv_func_stpncpy=yes
-gl_cv_func_strcasestr_linear=yes
-gl_cv_func_strchrnul_works=yes
-gl_cv_func_strerror_0_works=yes
-gl_cv_func_strstr_linear=yes
-gl_cv_func_strtod_works=yes
-gl_cv_func_strtold_works=yes
-gl_cv_func_strtoll_works=yes
-gl_cv_func_strtoull_works=yes
-gl_cv_func_svid_putenv=yes
-gl_cv_func_symlink_works=yes
-gl_cv_func_symlinkat_works=yes
-gl_cv_func_tdelete_works=yes
-gl_cv_func_truncf_ieee=yes
-gl_cv_func_trunc_ieee=yes
-gl_cv_func_truncl_ieee=yes
-gl_cv_func_tzset_clobber=no
-gl_cv_func_ungetc_works=yes
-gl_cv_func_unlink_busy_text=yes
-gl_cv_func_unlink_honors_slashes=yes
-gl_cv_func_unsetenv_works=yes
-gl_cv_func_usleep_works=yes
-gl_cv_func_utime_file_slash=yes
-gl_cv_func_utimensat_works=yes
-gl_cv_func_vsnprintf_posix=yes
-gl_cv_func_vsnprintf_zerosize_c99=yes
-gl_cv_func_vsprintf_posix=yes
-gl_cv_func_wcwidth_works=yes
-gl_cv_func_working_getdelim=yes
-gl_cv_func_working_mkstemp=yes
-gl_cv_func_working_mktime=yes
-gl_cv_func_working_strerror=yes
-gl_cv_struct_dirent_d_ino=yes
-gl_cv_func_getopt_gnu=yes
-gl_cv_pthread_rwlock_rdlock_prefer_writer=no"};
-
-# vim:filetype=sh textwidth=0
diff --git a/subr.ex/ex_pkg.subr b/subr.ex/ex_pkg.subr
index 8230cf79..3b3bba21 100644
--- a/subr.ex/ex_pkg.subr
+++ b/subr.ex/ex_pkg.subr
@@ -217,13 +217,23 @@ ex_pkg_load_vars() {
for _eplv_fname in \
"${HOME}/midipix_build.vars" \
"${HOME}/.midipix_build.vars" \
- ../midipix_build.vars \
- ./midipix.env;
+ ../midipix_build.vars;
do
if [ -r "${_eplv_fname}" ]; then
rtl_fileop source "${_eplv_fname}";
fi;
done;
+
+ set +o noglob;
+ for _eplv_fname in \
+ ./env.d/*.env;
+ do
+ set -o noglob;
+ if [ -r "${_eplv_fname}" ]; then
+ rtl_fileop source "${_eplv_fname}";
+ fi;
+ done;
+ set -o noglob;
fi;
return "${_eplv_rc}";