From 575530e831c047dfc7f5e1c169c07ceb8fbfe666 Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Sun, 2 Jul 2023 11:07:19 +0200 Subject: Add support for out-of-tree builds --- .local/bin/emacs-build | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to '.local') diff --git a/.local/bin/emacs-build b/.local/bin/emacs-build index cbd39a6..01bc121 100755 --- a/.local/bin/emacs-build +++ b/.local/bin/emacs-build @@ -2,6 +2,10 @@ set -eux +src=${EMACS_SRC:-~/src/emacs/master} +build=${EMACS_BUILD:-.} +config_h=${build}/src/config.h + make="make -j$(nproc --all)" configure_flags=( --with-cairo @@ -27,31 +31,35 @@ then cachedir=${XDG_CACHE_HOME:-~/.cache}/emacs test -d "${cachedir}" || mkdir -p "${cachedir}" - thistree=${PWD#~} - cachefile=${cachedir}/config${thistree//\//,} + builddesc=${PWD} + builddesc=${builddesc#~} + builddesc=${builddesc//\//,} + cachefile=${cachedir}/config${builddesc} configure_flags=(--cache-file="${cachefile}" "${configure_flags[@]}") fi -if ! test -f Makefile +if ! test -f "${src}"/Makefile then - ${make} configure + ${make} -C "${src}" configure fi check-config () { - if ! test -f src/config.h + if ! test -f "${config_h}" then return 1 fi local pattern="#define EMACS_CONFIG_OPTIONS \"${configure_flags[@]}\"" - grep "${pattern}" src/config.h + grep "${pattern}" "${config_h}" } +cd "${build}" + if ! check-config then - ./configure "${configure_flags[@]}" + "${src}"/configure "${configure_flags[@]}" fi ${make} "$@" -- cgit v1.2.3