summaryrefslogtreecommitdiff
path: root/.local
diff options
context:
space:
mode:
Diffstat (limited to '.local')
-rwxr-xr-x.local/bin/emacs-build22
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} "$@"