summaryrefslogtreecommitdiffhomepage
path: root/midipix.env
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2021-05-12 22:10:38 +0100
committerLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2021-05-12 22:10:38 +0100
commitb9a71579b82cd54980ff641af504bc8ad96473b1 (patch)
treee8dc1e7f2044995415ae2e21e67a60da7fe9a13b /midipix.env
parentb7c3731e3e4104b444a0061ba4505b9bbb533906 (diff)
downloadmidipix_build-b9a71579b82cd54980ff641af504bc8ad96473b1.tar.bz2
midipix_build-b9a71579b82cd54980ff641af504bc8ad96473b1.tar.xz
Implements CMake support.
etc/README.md: updated. groups/{000.host_tools,010.host_deps,200.native_packages,800.minipix}.group:${*_SOFORT_NATIVE_{C,CXX,LD}FLAGS}: merged into midipix.env. groups/010.host_deps.group:{clang,cmake_host,libzip,llvm}_host:${PKG_CMAKE_ARGS_EXTRA}: added. groups/010.host_deps.group:cmake_host:${PKG_CONFIGURE_TYPE}: configure w/ cmake. groups/010.host_deps.group:cmake_host:${PKG_INSTALL_FILES}: added. groups/010.host_deps.group:expat_host:${PKG_CONFIGURE_TYPE}: configure w/ autotools. groups/010.host_deps.group:python[23]_host:${PKG_{ENV_VARS_EXTRA,SOFORT_FORCE}}: removed. groups/010.host_deps.group:python[23]_host:${PKG_CONFIGURE_TYPE}: configure w/ sofort. groups/010.host_deps.group:python[23]_host:${PKG_SOFORT_NATIVE_CC}: removed. groups/221.native_packages_dev.group:python[23]:${PKG_SOFORT_FORCE}: removed. groups/221.native_packages_dev.group:python[23]:${PKG_CONFIGURE_TYPE}: configure w/ sofort. groups/231.native_packages_etc.group:{cmake,minizip,openjpeg,tdnf,xpdf}:${PKG_CMAKE_ARGS_EXTRA}: added. groups/231.native_packages_etc.group:cmake:${PKG_CONFIGURE_ARGS}: removed. groups/231.native_packages_etc.group:utf8proc:${PKG_IN_TREE}: don't build in-tree. groups/251.native_packages_lib.group:lib{jpeg_turbo,solv,ssh,zip}:${PKG_CMAKE_ARGS_EXTRA}: added. midipix.env:${DEFAULT_BUILD_VARS}: adds ${PKG_{CMAKE{,_{ARGS{,_EXTRA},LISTFILE}},CONFIGURE_TYPE},SOFORT_NATIVE_{C{C,XX},{C,CXX,LD}FLAGS,LD}}. midipix.env:${DEFAULT_BUILD_VARS}: removes ${PKG_SOFORT_FORCE}. midipix.env:${DEFAULT_{CMAKE_LISTFILE,{CROSS,HOST,NATIVE}_CMAKE}}: added. subr.rtl/rtl_complex.subr:rtl_export_vars(): ignore values during -u. subr.rtl/rtl_platform.subr:rtl_set_vars(): updated. subr/ex_pkg_env.subr:exp_pkg_env_set(): always convert ${PKG_{AR,CC,CXX,PKG_CONFIG,RANLIB}} to absolute pathnames. subr/ex_pkg_env.subr:ex_pkg_env_sofort(): merged into subr/pkg_configure.subr. subr/ex_pkg_restart.subr:ex_pkg_process_restart_spec(): remove extraneous echo. subr/pkg_configure.subr:pkgp_configure_{cmake,sofort}(): initial implementation. subr/pkg_configure.subr:pkg_configure(): attempt configuration using autotools, sofort, or cmake. subr/pkg_configure_autotools.subr: skip if ${PKG_CONFIGURE_TYPE} is set and not "autotools". subr/pkg_fetch_clean.subr: fix typo. vars/{clang_host,cmake{,_host},lib{jpeg_turbo,solv,ssh,zip{,_host}},llvm_host,lolcode,minizip,openjpeg,tdnf,xpdf}.vars: deleted.
Diffstat (limited to 'midipix.env')
-rw-r--r--midipix.env96
1 files changed, 63 insertions, 33 deletions
diff --git a/midipix.env b/midipix.env
index 51f3d40c..f883cfa9 100644
--- a/midipix.env
+++ b/midipix.env
@@ -3,11 +3,12 @@
# characters in any of the variables below save for MAKEFLAGS,
# PATH, and TIMESTAMP_FMT.
#
-# $PREFIX_{CROSS,NATIVE} and $WORKDIR must be immediately
-# beneath $PREFIX. $PREFIX must be o+rwx. The variables mentioned
-# should not be forward slash-terminated.
+# ${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 \
@@ -17,24 +18,24 @@ DEFAULT_BUILD_STEPS=" \
clean \
finish";
DEFAULT_BUILD_VARS=" \
- AR BASE_DIR BUILD_DIR BUILD_STEPS_DISABLE BUILD_TYPE \
- CC CFLAGS_BUILD CFLAGS_BUILD_EXTRA CFLAGS_CONFIGURE \
- CFLAGS_CONFIGURE_EXTRA CONFIG_CACHE CONFIG_CACHE_EXTRA \
+ AR BASE_DIR BUILD_DIR BUILD_STEPS_DISABLE BUILD_TYPE CC 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 \
- 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_TARGET \
- INSTALL_TARGET_EXTRA IN_TREE LDFLAGS_BUILD_EXTRA LDFLAGS_CONFIGURE \
- LDFLAGS_CONFIGURE_EXTRA LIBTOOL MAKE MAKE_INSTALL_VNAME \
- MAKE_SUBDIRS MAKEFLAGS_BUILD MAKEFLAGS_BUILD_EXTRA \
- MAKEFLAGS_INSTALL MAKEFLAGS_INSTALL_EXTRA MAKEFLAGS_VERBOSITY \
- MIRRORS MIRRORS_GIT SOFORT_FORCE 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 NO_CLEAN NO_CLEAN_BASE_DIR NO_LOG_VARS \
- PYTHON PATCHES_EXTRA PKG_CONFIG PKG_CONFIG_LIBDIR PKGLIST_DISABLE PREFIX \
- RANLIB RPM_DISABLE SHA256SUM SUBDIR TARGET URL URLS_GIT VERSION";
+ CONFIGURE_TYPE 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_TARGET INSTALL_TARGET_EXTRA \
+ IN_TREE LDFLAGS_BUILD_EXTRA LDFLAGS_CONFIGURE LDFLAGS_CONFIGURE_EXTRA \
+ LIBTOOL MAKE MAKEFLAGS_BUILD MAKEFLAGS_BUILD_EXTRA MAKEFLAGS_INSTALL \
+ MAKEFLAGS_INSTALL_EXTRA MAKEFLAGS_VERBOSITY MAKE_INSTALL_VNAME \
+ MAKE_SUBDIRS MIRRORS MIRRORS_GIT NO_CLEAN NO_CLEAN_BASE_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 VERSION";
#
# Prerequisite commands
@@ -45,7 +46,8 @@ DEFAULT_PREREQS=" \
pgrep pkill printf readlink rm sed sha256sum sort \
stat tail tar test touch tr uniq wget xz zip";
-# Path names
+#
+# Path & variable names and URLs
: ${PREFIX_ROOT:="${HOME}/midipix"};
: ${PREFIX:="${PREFIX_ROOT}/${ARCH}/${BUILD_KIND}"};
: ${PREFIX_CROSS:="${PREFIX}/${DEFAULT_TARGET}"};
@@ -88,7 +90,8 @@ https://midipix.lucioillanes.de/archives/ \
https://midipix.lucioillanes.de/repos_git/ \
"};
-# Default flags & variables
+#
+# Default toolchain flags & variables
: ${DEFAULT_BUILD_CPUS:=};
: ${DEFAULT_BUILD_TYPE:=native};
: ${DEFAULT_CFLAGS_DEBUG:="-D_REDIR_TIME64=0 -g2 -O0"};
@@ -132,25 +135,18 @@ https://midipix.lucioillanes.de/repos_git/ \
: ${DEFAULT_LDFLAGS_HOST:=$(rtl_get_var_unsafe "DEFAULT_LDFLAGS_$(rtl_toupper "${BUILD_KIND}")_HOST")};
: ${DEFAULT_LDFLAGS_RUNTIME:=$(rtl_get_var_unsafe "DEFAULT_LDFLAGS_$(rtl_toupper "${BUILD_KIND}")_RUNTIME")};
-: ${DEFAULT_GITROOT:=git://midipix.org};
-: ${DEFAULT_GITROOT_HEAD:=git://midipix.org};
-: ${DEFAULT_MAKE_INSTALL_VNAME:=DESTDIR};
-: ${DEFAULT_MAKEFLAGS_BUILD:=-j${DEFAULT_BUILD_CPUS}};
-: ${DEFAULT_MAKEFLAGS_VERBOSITY:="V=99 VERBOSE=1"};
-: ${DEFAULT_GIT_ARGS:=""};
-: ${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"};
-
-# Target-relative defaults
+#
+# Target-relative toolchain defaults
: ${DEFAULT_CROSS_AR:=${DEFAULT_TARGET}-ar};
: ${DEFAULT_CROSS_CC:=${DEFAULT_TARGET}-gcc};
+: ${DEFAULT_CROSS_CMAKE:=cmake};
: ${DEFAULT_CROSS_CXX:=${DEFAULT_TARGET}-g++};
: ${DEFAULT_CROSS_LIBTOOL:=slibtool};
: ${DEFAULT_CROSS_MAKE:=make};
: ${DEFAULT_CROSS_RANLIB:=${DEFAULT_TARGET}-ranlib};
: ${DEFAULT_HOST_AR:=ar};
: ${DEFAULT_HOST_CC:=gcc};
+: ${DEFAULT_HOST_CMAKE:=cmake};
: ${DEFAULT_HOST_CXX:=g++};
: ${DEFAULT_HOST_LIBTOOL:=slibtool};
: ${DEFAULT_HOST_MAKE:=make};
@@ -159,6 +155,7 @@ https://midipix.lucioillanes.de/repos_git/ \
: ${DEFAULT_HOST_RANLIB:=ranlib};
: ${DEFAULT_NATIVE_AR:=${DEFAULT_TARGET}-ar};
: ${DEFAULT_NATIVE_CC:=${DEFAULT_TARGET}-gcc};
+: ${DEFAULT_NATIVE_CMAKE:=cmake};
: ${DEFAULT_NATIVE_CXX:=${DEFAULT_TARGET}-g++};
: ${DEFAULT_NATIVE_LIBTOOL:=slibtool};
: ${DEFAULT_NATIVE_MAKE:=make};
@@ -166,6 +163,38 @@ https://midipix.lucioillanes.de/repos_git/ \
: ${DEFAULT_NATIVE_PKG_CONFIG_LIBDIR:=${PREFIX}/lib/pkgconfig};
: ${DEFAULT_NATIVE_RANLIB:=${DEFAULT_TARGET}-ranlib};
+#
+# Default command & tool flags & variables
+: ${DEFAULT_CMAKE_LISTFILE:="CMakeLists.txt"};
+: ${DEFAULT_GITROOT:=git://midipix.org};
+: ${DEFAULT_GITROOT_HEAD:=git://midipix.org};
+: ${DEFAULT_MAKE_INSTALL_VNAME:=DESTDIR};
+: ${DEFAULT_MAKEFLAGS_BUILD:=-j${DEFAULT_BUILD_CPUS}};
+: ${DEFAULT_MAKEFLAGS_VERBOSITY:="V=99 VERBOSE=1"};
+: ${DEFAULT_GIT_ARGS:=""};
+: ${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_CC}"};
+: ${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};
@@ -173,6 +202,7 @@ https://midipix.lucioillanes.de/repos_git/ \
: ${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