Juan Jose Garcia-Ripoll
3ef3fa88d3
|
4 years ago | |
---|---|---|
extras | 4 years ago | |
.gitignore | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 4 years ago | |
emacs-build.sh | 4 years ago |
README.md
emacs-build
Scripts to build a distribution of Emacs from sources, using MSYS2 and Mingw64(32)
Rationale
I wanted a script to build Emacs from sources, package it and install it on different computers, with the following conditions
-
I should be able to build any branch or release from Emacs. This includes the last release branch (right now emacs-27), as well as the master branch for development. Always using pristine sources from Savannah.
-
I want to build emacs with different options from the default, which is to use all features available. For instance, I do not care for SVG support.
-
The script needs to track all packages that are required by the Emacs build even if I change the build options.
-
The installation should take as little space as possible, removing useless directories or files that come from the dependencies. For instance, headers from libraries used by emacs, spurious documentation files, etc.
-
Eventually, the script should be able to build other components I regularly use, such as mu, mu4e or pdf-tools.
Usage
./emacs-build.sh [-64] [-32] [--branch b]
[--clone] [--ensure] [--build] [--deps] [--package]
[--without-X] [--with-X]
Actions:
--clone Download Savannah's git repository for Emacs
--ensure Ensure that required packages are installed
--build Configure and build Emacs from sources
--deps Create a ZIP file with all the Mingw64/32 dependencies
--package Package an Emacs previously built with the --build option
Multiple actions can be selected. The default is to run them all in a logical
order: clone, ensure, build, deps and package.
Options:
-64 Prepare or build for Mingw64 (default)
-32 Prepare or build for Mingw32
--branch b Select branch 'b' for the remaining operations
--slim Remove Cairo, SVG and TIFF support for a slimmer build
Remove also documentation files and other support files
from the dependencies file
--with-X Add requested feature in the dependencies and build
--without-X Remove requested feature in the dependencies and build
X is any of the known features for emacs in Windows/Mingw:
$all_features