blob: 52552a7e12a3e88c94a56bc87c871ebc65282b88 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# Compiling
This script seems to handle most cases I care about:
- a freshly cloned copy of the repository,
- a repository where compilation has already happened,
- a repository where I want to change the `configure` flags…
``` bash
#!/bin/bash
set -eux
MAKE="make -j$(nproc --all)"
CONFIGURE_FLAGS="--with-xwidgets --with-cairo"
check-config ()
{
local define=$(grep EMACS_CONFIG_OPTIONS src/config.h)
local pattern='^#define EMACS_CONFIG_OPTIONS "(.+)"$'
[[ ${define} =~ ${pattern} ]]
test "${BASH_REMATCH[1]}" = "${CONFIGURE_FLAGS}"
}
if ! test -f src/config.h || ! check-config
then
./configure ${CONFIGURE_FLAGS}
fi
if ! ${MAKE}
then
${MAKE} bootstrap
fi
```
|