diff options
| author | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2023-07-02 11:07:19 +0200 |
|---|---|---|
| committer | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2023-07-02 11:11:07 +0200 |
| commit | 575530e831c047dfc7f5e1c169c07ceb8fbfe666 (patch) | |
| tree | b40bb69a9c44632a7475d103f4812f03e884360b /.local/bin/emacs-build | |
| parent | 542be243e489aad247effeb7c7a323cf456bd67f (diff) | |
| download | dotfiles-575530e831c047dfc7f5e1c169c07ceb8fbfe666.tar.xz | |
Add support for out-of-tree builds
Diffstat (limited to '.local/bin/emacs-build')
| -rwxr-xr-x | .local/bin/emacs-build | 22 |
1 files changed, 15 insertions, 7 deletions
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} "$@" |
