summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--etc/build.usage6
-rw-r--r--subr/pkg_install_libs.subr21
-rw-r--r--subr/pkg_setup_env.subr9
-rw-r--r--vars/build.vars13
-rw-r--r--vars/env.vars2
-rw-r--r--vars/gcc.vars30
-rw-r--r--vars/git.vars2
-rw-r--r--vars/libfirm.vars8
-rw-r--r--vars/psxstub.vars2
9 files changed, 49 insertions, 44 deletions
diff --git a/etc/build.usage b/etc/build.usage
index 9f2747fb..6993ed72 100644
--- a/etc/build.usage
+++ b/etc/build.usage
@@ -11,8 +11,10 @@ usage: ./build.sh [-x] [-4|6] [-a nt32|nt64] [-b debug|release] [-c] [-h]
-N Offline mode: no {wget,git-{clone,pull}}(1) calls.
-r package[,...][:step] Restart the specified comma-separated build(s) completely or at
the optionally specified step. Currently defined steps are:
- fetch extract build_dir patch_pre autoconf patch configure clean
- build install.
+ fetch_wget, fetch_git, fetch_extract, configure_patch_pre,
+ configure_autotools, configure_patch, configure, build_clean,
+ build, install_subdirs, install_make, install_files, install_libs,
+ install_pkgconfig, install_purge_la, install_strip, and install.
-R Ignore build failures and continue building (relaxed mode.)
-t[.gz|.bz2|.xz] Produce binary distribution and source tarballs containing ${PREFIX}
sans ${WORKDIR} and ${PREFIX}/src/midipix_build and ${WORKDIR} sans top-
diff --git a/subr/pkg_install_libs.subr b/subr/pkg_install_libs.subr
index 29ec8915..c12369ea 100644
--- a/subr/pkg_install_libs.subr
+++ b/subr/pkg_install_libs.subr
@@ -2,6 +2,17 @@
# set -o errexit -o noglob are assumed.
#
+pkgp_install_lib_check() {
+ local _so_path="${1}" _so_ver="${1##*.so}";
+ while [ -n "${_so_ver}" ]; do
+ if [ "${_so_ver#[0-9].}" = "${_so_ver}" ]; then
+ return 0;
+ else
+ _so_ver="${_so_ver#[0-9].}";
+ fi;
+ done; return 1;
+};
+
pkgp_install_lib_link() {
local _so_path="${1}" _so_dir="${2}" _lib_name="${3}" \
_lib_link_tgt _lib_link_path;
@@ -11,7 +22,7 @@ pkgp_install_lib_link() {
if [ -n "${_lib_link_tgt}" ]; then
_lib_link_path="${_so_path%.so*}.lib.a";
build_fileop rm "${_lib_link_path}";
- build_fileop ln_symbolic "${_lib_link_tgt}" \
+ build_fileop ln_symbolic "$(basename "${_lib_link_tgt}")" \
"${_lib_link_path}";
fi;
};
@@ -21,11 +32,9 @@ pkg_install_libs() {
if [ "${PKG_BUILD_TYPE}" != "host" ]; then
for _so_src_path in \
$(find "${PWD}/../destdir" \
- \( -name "*.so" \
- -or -name "*.so.[0-9]*" \
- -or -name "*.so.[0-9]*.[0-9]*" \
- -or -name "*.so.[0-9]*.[0-9]*.[0-9]*" \) -print);
- do if [ "$(readlink -f "${_so_src_path}")" = "/dev/null" ]; then
+ \( -name "*.so" -or -name "*.so.*" \) -print);
+ do if ! pkgp_install_lib_check "${_so_src_path}" \
+ || [ "$(readlink -f "${_so_src_path}")" = "/dev/null" ]; then
continue;
else case "${_so_src_path}" in
*.so) _lib_src_path="${_so_src_path%%.so}.lib.a"; ;;
diff --git a/subr/pkg_setup_env.subr b/subr/pkg_setup_env.subr
index 6f2ef2cb..a02b1a60 100644
--- a/subr/pkg_setup_env.subr
+++ b/subr/pkg_setup_env.subr
@@ -16,7 +16,14 @@ pkg_setup_env() {
[ -n "${PKG_ENV_VARS_EXTRA}" ] && set_env_vars_with_sep : "${PKG_ENV_VARS_EXTRA}";
[ -z "${PKG_FNAME}" ] && PKG_FNAME="${PKG_URL##*/}";
[ -z "${PKG_TARGET}" ] && PKG_TARGET="${TARGET}";
- [ -z "${PKG_BASE_DIR}" ] && PKG_BASE_DIR="${WORKDIR}/${PKG_NAME}-${PKG_BUILD_TYPE:-native}-${PKG_TARGET}";
+ case "${PKG_BASE_DIR}" in
+ ?*) ;;
+ *) PKG_BASE_DIR="${WORKDIR}/${PKG_NAME}-${PKG_BUILD_TYPE:-native}-${PKG_TARGET}";
+ if [ -n "${ARG_RESTART}" ]\
+ && [ -z "${ARG_RESTART_AT}" ]; then
+ build_fileop rm "${PKG_BASE_DIR}";
+ fi; ;;
+ esac;
case "${PKG_BUILD_TYPE}" in
host) export AR="ar";
export CC="gcc";
diff --git a/vars/build.vars b/vars/build.vars
index 19e817b5..85b2e3bc 100644
--- a/vars/build.vars
+++ b/vars/build.vars
@@ -192,15 +192,12 @@ HOST_PACKAGES_PREFIX="${PREFIX}";
: ${PKG_CMAKE_HOST_VERSION:=3.6.3};
: ${PKG_CMAKE_HOST_URL:=https://cmake.org/files/v${PKG_CMAKE_HOST_VERSION%.*}/cmake-${PKG_CMAKE_HOST_VERSION}.tar.gz};
: ${PKG_CMAKE_HOST_CONFIGURE_ARGS:="--parallel=${DEFAULT_BUILD_CPUS} --prefix=${PREFIX}"};
-: ${PKG_CMAKE_HOST_DISABLED:=1};
: ${PKG_LLVM_HOST_SHA256SUM:=6e82ce4adb54ff3afc18053d6981b6aed1406751b8742582ed50f04b5ab475f9};
: ${PKG_LLVM_HOST_VERSION:=3.8.1};
: ${PKG_LLVM_HOST_URL:=http://releases.llvm.org/${PKG_LLVM_HOST_VERSION}/llvm-${PKG_LLVM_HOST_VERSION}.src.tar.xz};
-: ${PKG_LLVM_HOST_DISABLED:=1};
: ${PKG_CLANG_HOST_SHA256SUM:=4cd3836dfb4b88b597e075341cae86d61c63ce3963e45c7fe6a8bf59bb382cdf};
: ${PKG_CLANG_HOST_VERSION:=3.8.1};
: ${PKG_CLANG_HOST_URL:=http://releases.llvm.org/${PKG_CLANG_HOST_VERSION}/cfe-${PKG_CLANG_HOST_VERSION}.src.tar.xz};
-: ${PKG_CLANG_HOST_DISABLED:=1};
: ${PKG_FILE_HOST_SHA256SUM:=8639dc4d1b21e232285cd483604afc4a6ee810710e00e579dbe9591681722b50};
: ${PKG_FILE_HOST_VERSION:=5.32};
: ${PKG_FILE_HOST_URL:=ftp://ftp.astron.com/pub/file/file-${PKG_FILE_HOST_VERSION}.tar.gz};
@@ -395,7 +392,6 @@ LIB_PACKAGES_PREFIX="${PREFIX_NATIVE}";
: ${PKG_SHARED_MIME_INFO_URL:=http://freedesktop.org/~hadess/shared-mime-info-${PKG_SHARED_MIME_INFO_VERSION}.tar.xz};
: ${PKG_SHARED_MIME_INFO_CONFIGURE_ARGS_EXTRA:=--disable-update-mimedb};
: ${PKG_SHARED_MIME_INFO_MAKEFLAGS_BUILD:=-j1};
-: ${PKG_SHARED_MIME_INFO_DISABLED:=1};
: ${PKG_SQLITE3_SHA256SUM:=65cc0c3e9366f50c0679c5ccd31432cea894bc4a3e8947dabab88c8693263615};
: ${PKG_SQLITE3_VERSION:=3160200};
: ${PKG_SQLITE3_URL:=https://sqlite.org/2017/sqlite-autoconf-${PKG_SQLITE3_VERSION}.tar.gz};
@@ -413,7 +409,6 @@ LIB_PACKAGES_PREFIX="${PREFIX_NATIVE}";
: ${PKG_CMAKE_URL:=https://cmake.org/files/v${PKG_CMAKE_VERSION%.*}/cmake-${PKG_CMAKE_VERSION}.tar.gz};
: ${PKG_CMAKE_CFLAGS_CONFIGURE_EXTRA:="-g0 -O2"};
: ${PKG_CMAKE_CONFIGURE_ARGS:="--parallel=${DEFAULT_BUILD_CPUS} --prefix="};
-: ${PKG_CMAKE_DISABLED:=1};
: ${PKG_INPUTPROTO_SHA256SUM:=893a6af55733262058a27b38eeb1edc733669f01d404e8581b167f03c03ef31d};
: ${PKG_INPUTPROTO_VERSION:=2.3.2};
@@ -508,7 +503,6 @@ LIB_PACKAGES_PREFIX="${PREFIX_NATIVE}";
: ${PKG_CAIRO_URL:=http://cairographics.org/snapshots/cairo-${PKG_CAIRO_VERSION}.tar.xz};
: ${PKG_CAIRO_SHA256SUM:=5228e0a1f8fd14317f30f08f3dd72971bca432f8cdd2281d421fdcc2279de58c};
: ${PKG_CAIRO_CFLAGS_CONFIGURE_EXTRA:=-I${PREFIX_NATIVE}/include/freetype2};
-: ${PKG_CAIRO_DISABLED:=1};
: ${PKG_DBUS_VERSION:=1.11.20};
: ${PKG_DBUS_URL:=https://dbus.freedesktop.org/releases/dbus/dbus-${PKG_DBUS_VERSION}.tar.gz};
: ${PKG_DBUS_SHA256SUM:=7fd9d0536f7ec2f2afc94b84d5b5487f88c464e8d47c661d8e0b54aa83974bfa};
@@ -517,20 +511,16 @@ LIB_PACKAGES_PREFIX="${PREFIX_NATIVE}";
: ${PKG_PANGO_SHA256SUM:=5b11140590e632739e4151cae06b8116160d59e22bf36a3ccd5df76d1cf0383e};
: ${PKG_PANGO_URL:=http://ftp.gnome.org/pub/GNOME/sources/pango/${PKG_PANGO_VERSION%.*}/pango-${PKG_PANGO_VERSION}.tar.xz};
: ${PKG_PANGO_CFLAGS_CONFIGURE_EXTRA:=-I${PREFIX_NATIVE}/include/freetype2};
-: ${PKG_PANGO_DISABLED:=1};
: ${PKG_ATK_VERSION:=2.26.0};
: ${PKG_ATK_SHA256SUM:=eafe49d5c4546cb723ec98053290d7e0b8d85b3fdb123938213acb7bb4178827};
: ${PKG_ATK_URL:=http://ftp.gnome.org/pub/gnome/sources/atk/${PKG_ATK_VERSION%.*}/atk-${PKG_ATK_VERSION}.tar.xz};
-: ${PKG_ATK_DISABLED:=1};
: ${PKG_GDK_VERSION:=2.36.10};
: ${PKG_GDK_SHA256SUM:=f8f6fa896b89475c73b6e9e8d2a2b062fc359c4b4ccb8e96470d6ab5da949ace};
: ${PKG_GDK_URL:=http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/${PKG_GDK_VERSION%.*}/gdk-pixbuf-${PKG_GDK_VERSION}.tar.xz};
-: ${PKG_GDK_DISABLED:=1};
: ${PKG_GTK2_SHA256SUM:=68c1922732c7efc08df4656a5366dcc3afdc8791513400dac276009b40954658};
: ${PKG_GTK2_VERSION:=2.24.31};
: ${PKG_GTK2_URL:=http://ftp.gnome.org/pub/gnome/sources/gtk+/${PKG_GTK2_VERSION%.*}/gtk+-${PKG_GTK2_VERSION}.tar.xz};
: ${PKG_GTK2_CFLAGS_CONFIGURE_EXTRA:="-I${PREFIX_NATIVE}/include/pango-1.0 -I${PREFIX_NATIVE}/include/gdk-pixbuf-2.0 -I${PREFIX_NATIVE}/include/atk-1.0 -I${PREFIX_NATIVE}/include/cairo -I${PREFIX_NATIVE}/include/glib-2.0 -I${PREFIX_NATIVE}/include/glib-2.0/gio -I${PREFIX_NATIVE}/lib/glib-2.0/include"};
-: ${PKG_GTK2_DISABLED:=1};
: ${PKG_IMLIB2_SHA256SUM:=3f698cd285cbbfc251c1d6405f249b99fafffafa5e0a5ecf0ca7ae49bbc0a272};
: ${PKG_IMLIB2_VERSION:=1.4.10};
: ${PKG_IMLIB2_URL:=https://ftp.osuosl.org/pub/blfs/conglomeration/imlib2/imlib2-${PKG_IMLIB2_VERSION}.tar.bz2};
@@ -682,7 +672,6 @@ LEAF_PACKAGES_PREFIX="${PREFIX_NATIVE}";
: ${PKG_IRSSI_VERSION:=1.0.4};
: ${PKG_IRSSI_URL:=https://github.com/irssi/irssi/releases/download/${PKG_IRSSI_VERSION}/irssi-${PKG_IRSSI_VERSION}.tar.gz};
: ${PKG_IRSSI_CONFIGURE_ARGS_EXTRA:=--with-ncurses=${PREFIX_NATIVE}};
-: ${PKG_IRSSI_DISABLED:=1};
: ${PKG_JOHN_SHA256SUM:=952cf68369fb5b27f2d112ce7ca1eb16b975c85cbce8c658abb8bc5a20e1b266};
: ${PKG_JOHN_VERSION:=1.8.0};
: ${PKG_JOHN_URL:=http://www.openwall.com/john/j/john-${PKG_JOHN_VERSION}.tar.xz};
@@ -730,7 +719,6 @@ LEAF_PACKAGES_PREFIX="${PREFIX_NATIVE}";
: ${PKG_MC_URL:=http://ftp.midnight-commander.org/mc-${PKG_MC_VERSION}.tar.xz};
: ${PKG_MC_CFLAGS_CONFIGURE_EXTRA:="-I${PREFIX_NATIVE}/include -I${PREFIX_NATIVE}/include/ncursesw"};
: ${PKG_MC_CONFIGURE_ARGS_EXTRA:="--with-screen=ncurses --x-includes=${PREFIX_NATIVE}/include/X11 --x-libraries=${PREFIX_NATIVE}/lib"};
-: ${PKG_MC_DISABLED:=1};
: ${PKG_MINGW_W64_SHA256SUM:=9bb5cd7df78817377841a63555e73596dc0af4acbb71b09bd48de7cf24aeadd2};
: ${PKG_MINGW_W64_VERSION:=5.0.1};
: ${PKG_MINGW_W64_URL:=https://sourceforge.mirrorservice.org/m/mi/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v${PKG_MINGW_W64_VERSION}.tar.bz2};
@@ -744,7 +732,6 @@ LEAF_PACKAGES_PREFIX="${PREFIX_NATIVE}";
: ${PKG_MTR_SHA256SUM:=f2979db9e2f41aa8e6574e7771767c9afe111d9213814eb47f5e1e71876e4382};
: ${PKG_MTR_VERSION:=0.92};
: ${PKG_MTR_URL:=ftp://ftp.bitwizard.nl/mtr/mtr-${PKG_MTR_VERSION}.tar.gz};
-: ${PKG_MTR_DISABLED:=1};
: ${PKG_M4_SHA256SUM:=f2c1e86ca0a404ff281631bdc8377638992744b175afb806e25871a24a934e07};
: ${PKG_M4_VERSION:=1.4.18};
: ${PKG_M4_URL:=https://ftp.gnu.org/gnu/m4/m4-${PKG_M4_VERSION}.tar.xz};
diff --git a/vars/env.vars b/vars/env.vars
index 818f87f9..afbff055 100644
--- a/vars/env.vars
+++ b/vars/env.vars
@@ -50,7 +50,7 @@
: ${DEFAULT_GITROOT:=git://midipix.org};
: ${DEFAULT_GITROOT_HEAD:=git://midipix.org};
: ${DEFAULT_MAKE_INSTALL_VNAME:=DESTDIR};
-: ${DEFAULT_MAKEFLAGS_BUILD:=-j${BUILD_CPUS}};
+: ${DEFAULT_MAKEFLAGS_BUILD:=-j${DEFAULT_BUILD_CPUS}};
: ${DEFAULT_WGET_ARGS:="--no-check-certificate"};
# Build {log,status} & tarball names
diff --git a/vars/gcc.vars b/vars/gcc.vars
index 12902647..5391aeec 100644
--- a/vars/gcc.vars
+++ b/vars/gcc.vars
@@ -140,17 +140,17 @@ pkg_gcc_stage1_all() {
build_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}";
fi;
if ! is_build_script_done "${PKG_NAME}" build "${_restart_at}"; then
- make ${MAKEFLAGS} all-gcc;
+ make ${PKG_MAKEFLAGS_BUILD} all-gcc;
set_build_script_done "${PKG_NAME}" build -install;
fi;
if ! is_build_script_done "${PKG_NAME}" install "${_restart_at}"; then
case "${PKG_NAME}" in
gcc_stage1)
- make ${MAKEFLAGS} install-gcc; ;;
+ make ${PKG_MAKEFLAGS_BUILD} install-gcc; ;;
gcc_stage1_cross_x86_64_w64_mingw32)
- make ${MAKEFLAGS} install-gcc; ;;
+ make ${PKG_MAKEFLAGS_BUILD} install-gcc; ;;
gcc_stage1_native_x86_64_w64_mingw32)
- make ${MAKEFLAGS} "DESTDIR=${PKG_PREFIX}" install-gcc; ;;
+ make ${PKG_MAKEFLAGS_BUILD} "DESTDIR=${PKG_PREFIX}" install-gcc; ;;
esac;
__="$(uname -s)";
if [ "${__#*CYGWIN*}" != "${__}" ]; then
@@ -169,11 +169,11 @@ pkg_gcc_runtime_all() {
build_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}";
# GCC, compiler runtime.
if ! is_build_script_done "${PKG_NAME}" build "${_restart_at}"; then
- make ${MAKEFLAGS} all-target-libgcc;
+ make ${PKG_MAKEFLAGS_BUILD} all-target-libgcc;
set_build_script_done "${PKG_NAME}" build -install;
fi;
if ! is_build_script_done "${PKG_NAME}" install "${_restart_at}"; then
- make ${MAKEFLAGS} install-target-libgcc;
+ make ${PKG_MAKEFLAGS_BUILD} install-target-libgcc;
set_build_script_done "${PKG_NAME}" install finish;
fi;
exit 0;
@@ -186,11 +186,11 @@ pkg_gcc_libstdcpp_v3_all() {
build_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}";
# GCC, libstdc++-v3.
if ! is_build_script_done "${PKG_NAME}" build "${_restart_at}"; then
- make ${MAKEFLAGS} all-target-libstdc++-v3;
+ make ${PKG_MAKEFLAGS_BUILD} all-target-libstdc++-v3;
set_build_script_done "${PKG_NAME}" build -install;
fi;
if ! is_build_script_done "${PKG_NAME}" install "${_restart_at}"; then
- make ${MAKEFLAGS} install-target-libstdc++-v3;
+ make ${PKG_MAKEFLAGS_BUILD} install-target-libstdc++-v3;
set_build_script_done "${PKG_NAME}" install finish;
fi;
exit 0;
@@ -203,11 +203,11 @@ pkg_gcc_full_all() {
build_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}";
# GCC, everything else.
if ! is_build_script_done "${PKG_NAME}" build "${_restart_at}"; then
- make ${MAKEFLAGS};
+ make ${PKG_MAKEFLAGS_BUILD};
set_build_script_done "${PKG_NAME}" build -install;
fi;
if ! is_build_script_done "${PKG_NAME}" install "${_restart_at}"; then
- make ${MAKEFLAGS} install;
+ make ${PKG_MAKEFLAGS_BUILD} install;
set_build_script_done "${PKG_NAME}" install finish;
fi;
exit 0;
@@ -243,14 +243,14 @@ pkg_gcc_native_all() {
build_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}";
fi;
if ! is_build_script_done "${PKG_NAME}" build "${_restart_at}"; then
- make ${MAKEFLAGS} all-gcc;
- make ${MAKEFLAGS} all-target-libgcc;
- make ${MAKEFLAGS} all-target-libstdc++-v3;
- make ${MAKEFLAGS} all;
+ make ${PKG_MAKEFLAGS_BUILD} all-gcc;
+ make ${PKG_MAKEFLAGS_BUILD} all-target-libgcc;
+ make ${PKG_MAKEFLAGS_BUILD} all-target-libstdc++-v3;
+ make ${PKG_MAKEFLAGS_BUILD} all;
set_build_script_done "${PKG_NAME}" build -install;
fi;
if ! is_build_script_done "${PKG_NAME}" install "${_restart_at}"; then
- make ${MAKEFLAGS} "DESTDIR=${PKG_PREFIX}" install;
+ make ${PKG_MAKEFLAGS_BUILD} "DESTDIR=${PKG_PREFIX}" install;
set_build_script_done "${PKG_NAME}" install finish;
fi;
exit 0;
diff --git a/vars/git.vars b/vars/git.vars
index 4e9b4195..b89062bd 100644
--- a/vars/git.vars
+++ b/vars/git.vars
@@ -4,7 +4,7 @@
pkg_git_install_post() {
local __ _new;
- for __ in $(find "${PKG_PREFIX}/share/man" -name "Git*::*" -type f); do
+ for __ in $(find "${PWD}/../destdir/share/man" -name "Git*::*" -type f); do
_new="$(echo ${__} | sed "s/::/./g")";
build_fileop mv "${__}" "${_new}";
done;
diff --git a/vars/libfirm.vars b/vars/libfirm.vars
index 7b3556d4..b9898971 100644
--- a/vars/libfirm.vars
+++ b/vars/libfirm.vars
@@ -13,13 +13,13 @@ pkg_cparser_configure_pre() {
};
pkg_libfirm_install_make() {
- make ${MAKEFLAGS} DESTDIR=../../sysroot install;
- make ${MAKEFLAGS} DESTDIR="${PREFIX_NATIVE}" install;
+ make ${PKG_MAKEFLAGS_BUILD} DESTDIR=../../sysroot install;
+ make ${PKG_MAKEFLAGS_BUILD} DESTDIR="${PREFIX_NATIVE}" install;
};
pkg_cparser_install_make() {
- make ${MAKEFLAGS} DESTDIR=../../sysroot install;
- make ${MAKEFLAGS} DESTDIR="${PREFIX_NATIVE}" install;
+ make ${PKG_MAKEFLAGS_BUILD} DESTDIR=../../sysroot install;
+ make ${PKG_MAKEFLAGS_BUILD} DESTDIR="${PREFIX_NATIVE}" install;
};
# vim:filetype=sh
diff --git a/vars/psxstub.vars b/vars/psxstub.vars
index af4bfd9f..95777170 100644
--- a/vars/psxstub.vars
+++ b/vars/psxstub.vars
@@ -6,7 +6,7 @@ pkg_psxstub_install_make() {
if [ "${TARGET}" = i686-nt32-midipix ] \
|| [ "${TARGET}" = x86_64-nt64-midipix ]; then
build_fileop cd "${PKG_BASE_DIR}/psxstub";
- make ${MAKEFLAGS} "DESTDIR=${PKG_PREFIX}" "TARGET=${TARGET}" install;
+ make ${PKG_MAKEFLAGS_BUILD} "DESTDIR=${PKG_PREFIX}" "TARGET=${TARGET}" install;
if [ -e "${PKG_PREFIX}/lib/libpsxscl.a" ]; then
build_fileop rm "${PKG_PREFIX}/lib/libpsxscl.a";
fi;