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