Blob Blame History Raw
#
# 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_libs install install_rpm	\
	clean												\
	finish";
DEFAULT_BUILD_VARS="											\
	AR AUTOCONF_CONFIG_GUESS 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 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_FILES_V2				\
	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 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"};
: ${DEFAULT_CFLAGS:=$(rtl_get_var_unsafe "DEFAULT_CFLAGS_$(rtl_toupper "${BUILD_KIND}")")};
: ${DEFAULT_CFLAGS_CONFIGURE:=${DEFAULT_CFLAGS}};
: ${DEFAULT_CFLAGS_HOST:=$(rtl_get_var_unsafe "DEFAULT_CFLAGS_$(rtl_toupper "${BUILD_KIND}")_HOST")};
: ${DEFAULT_CFLAGS_RUNTIME:=$(rtl_get_var_unsafe "DEFAULT_CFLAGS_$(rtl_toupper "${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"};
: ${DEFAULT_CPPFLAGS:=$(rtl_get_var_unsafe "DEFAULT_CPPFLAGS_$(rtl_toupper "${BUILD_KIND}")")};
: ${DEFAULT_CPPFLAGS_CONFIGURE:=${DEFAULT_CPPFLAGS}};
: ${DEFAULT_CPPFLAGS_HOST:=$(rtl_get_var_unsafe "DEFAULT_CPPFLAGS_$(rtl_toupper "${BUILD_KIND}")_HOST")};
: ${DEFAULT_CPPFLAGS_RUNTIME:=$(rtl_get_var_unsafe "DEFAULT_CPPFLAGS_$(rtl_toupper "${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"};
: ${DEFAULT_CXXFLAGS:=$(rtl_get_var_unsafe "DEFAULT_CXXFLAGS_$(rtl_toupper "${BUILD_KIND}")")};
: ${DEFAULT_CXXFLAGS_CONFIGURE:=${DEFAULT_CXXFLAGS}};
: ${DEFAULT_CXXFLAGS_HOST:=$(rtl_get_var_unsafe "DEFAULT_CXXFLAGS_$(rtl_toupper "${BUILD_KIND}")_HOST")};
: ${DEFAULT_CXXFLAGS_RUNTIME:=$(rtl_get_var_unsafe "DEFAULT_CXXFLAGS_$(rtl_toupper "${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:=""};
: ${DEFAULT_LDFLAGS:=$(rtl_get_var_unsafe "DEFAULT_LDFLAGS_$(rtl_toupper "${BUILD_KIND}")")};
: ${DEFAULT_LDFLAGS_CONFIGURE:=${DEFAULT_LDFLAGS}};
: ${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")};

#
# 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};
: ${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_CMAKE:=cmake};
: ${DEFAULT_NATIVE_CXX:=${DEFAULT_TARGET}-g++};
: ${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:="midipix"};
: ${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};
: ${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:="
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_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_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_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_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_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_strtoll_works=yes
gl_cv_func_strtoull_works=yes
gl_cv_func_svid_putenv=yes
gl_cv_func_symlink_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_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"};

# vim:filetype=sh textwidth=0