heheda123123 / build-emacs

Shell scripts for build GNU/Emacs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Shell Script to Build Emacs

Bash Shell scripts for building GNU/Emacs on macOS and Windows.

Install dependencies

macOS

Install by macports

Windows

Install msys2 and install dependencies: See details on https://git.savannah.gnu.org/cgit/emacs.git/tree/nt/INSTALL.W64

pacman -S --needed base-devel \
  mingw-w64-x86_64-toolchain \
  mingw-w64-x86_64-xpm-nox \
  mingw-w64-x86_64-gmp \
  mingw-w64-x86_64-gnutls \
  mingw-w64-x86_64-libtiff \
  mingw-w64-x86_64-giflib \
  mingw-w64-x86_64-libpng \
  mingw-w64-x86_64-libjpeg-turbo \
  mingw-w64-x86_64-librsvg \
  mingw-w64-x86_64-libwebp \
  mingw-w64-x86_64-lcms2 \
  mingw-w64-x86_64-jansson \
  mingw-w64-x86_64-libxml2 \
  mingw-w64-x86_64-zlib \
  mingw-w64-x86_64-harfbuzz \
  mingw-w64-x86_64-libgccjit \
  mingw-w64-x86_64-sqlite3 \
  mingw-w64-x86_64-tree-sitter
pacman -S msys/autoconf-wrapper

Usage

git clone https://git.savannah.gnu.org/git/emacs.git ~/src/emacs

git clone https://github.com/Eason0210/build-emacs.git ~/src/build-emacs
cd ~/src/build-emacs

# Choose one of the following COMMAND to execute

./build-emacs.sh # Build master branch without native-comp support
./build-emacs.sh --with-native-compilation # Build master branch with native-comp support
./build-emacs.sh --with-native-compilation=aot # Build master branch with native-comp support and enabled AOT

./build-emacs.sh emacs-29 # Build emacs-29 branch without native-comp support
./build-emacs.sh emacs-29 --with-native-compilation # Build emacs-29 branch with native-comp support
./build-emacs.sh emacs-29 --with-native-compilation=aot # Build emacs-29 branch with native-comp support and enabled AOT

./build-emacs.sh <commit-id> # Build <commit-id> without native-comp support
./build-emacs.sh <commit-id> --with-native-compilation
./build-emacs.sh <commit-id> --with-native-compilation=aot

References

About

Shell scripts for build GNU/Emacs

License:GNU General Public License v3.0


Languages

Language:Shell 92.1%Language:Emacs Lisp 7.9%