dotfiles

🎜 Clone'em, tweak'em, stick'em in your $HOME 🎝
git clone https://git.kevinlegouguec.net/dotfiles
Log | Files | Refs | README

commit 575530e831c047dfc7f5e1c169c07ceb8fbfe666
parent 542be243e489aad247effeb7c7a323cf456bd67f
Author: KΓ©vin Le Gouguec <kevin.legouguec@gmail.com>
Date:   Sun,  2 Jul 2023 11:07:19 +0200

Add support for out-of-tree builds

Diffstat:
M.local/bin/emacs-build | 22+++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)

diff --git 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} "$@"