diff options
| author | Phillip Lord | 2017-10-25 22:06:50 +0100 |
|---|---|---|
| committer | Phillip Lord | 2017-10-25 22:06:50 +0100 |
| commit | b8cf159bbccce6393689ae969bc2e484b9b085f6 (patch) | |
| tree | ea22151523c00db5a75c167145c342a86fe5aadf /admin | |
| parent | 46540a1c7adb1b89b6c2f6c9150fe8680c3a5fba (diff) | |
| download | emacs-b8cf159bbccce6393689ae969bc2e484b9b085f6.tar.gz emacs-b8cf159bbccce6393689ae969bc2e484b9b085f6.zip | |
Update documentation for windows build
* admin/nt/dist-build/README-scripts: New File.
Diffstat (limited to 'admin')
| -rw-r--r-- | admin/nt/dist-build/README-scripts | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/admin/nt/dist-build/README-scripts b/admin/nt/dist-build/README-scripts new file mode 100644 index 00000000000..a20099e4eb6 --- /dev/null +++ b/admin/nt/dist-build/README-scripts | |||
| @@ -0,0 +1,92 @@ | |||
| 1 | Distribution Build Scripts for Windows | ||
| 2 | ====================================== | ||
| 3 | |||
| 4 | The scripts are used to build the binary distribution zip files for windows. | ||
| 5 | |||
| 6 | File System Organisation | ||
| 7 | ------------------------ | ||
| 8 | |||
| 9 | |||
| 10 | They are relatively strict about the file system organisation. In | ||
| 11 | general, they should work across several more than just the version of | ||
| 12 | Emacs they come with, as the dependencies of Emacs change relatively slowly. | ||
| 13 | |||
| 14 | The file system needs to be organised like so: | ||
| 15 | |||
| 16 | ~/emacs-build/git | ||
| 17 | |||
| 18 | Contains a checkout of the Emacs git repository, organised according | ||
| 19 | to branches, with git worktree | ||
| 20 | |||
| 21 | ~/emacs-build/git/emacs-$branch | ||
| 22 | |||
| 23 | A branch of the git repository containing the current release | ||
| 24 | branch. This has to be created by hand. | ||
| 25 | |||
| 26 | ~/emacs-build/git/emacs-$version | ||
| 27 | |||
| 28 | A branch of the git repository containing the last release. The | ||
| 29 | build-zips.sh file will create this for you. | ||
| 30 | |||
| 31 | ~/emacs-build/deps | ||
| 32 | |||
| 33 | A location for the dependencies. This needs to contain two zip files | ||
| 34 | with the dependencies. build-dep-zips.py will create these files for you. | ||
| 35 | |||
| 36 | ~/emacs-build/deps/libXpm/i686 | ||
| 37 | ~/emacs-build/deps/libXpm/x86_64 | ||
| 38 | |||
| 39 | Contain libXpm-noX4.dll. This file is used to load images for the | ||
| 40 | splash screen, menu items and so on. Emacs runs without it, but looks | ||
| 41 | horrible. The x86_64 comes from msys2, while the i686 comes from | ||
| 42 | ezwinports because it itself has no dependencies. These have to be | ||
| 43 | placed manually (but probably never need updating). | ||
| 44 | |||
| 45 | |||
| 46 | ~/emacs-build/build/$version/i686 | ||
| 47 | ~/emacs-build/build/$version/x86_64 | ||
| 48 | |||
| 49 | We build Emacs out-of-source here. This directory is created by | ||
| 50 | build-zips.sh. This directory can be freely deleted after zips have | ||
| 51 | been created | ||
| 52 | |||
| 53 | |||
| 54 | ~/emacs-build/install/$version/i686 | ||
| 55 | ~/emacs-build/install/$version/x86_64 | ||
| 56 | |||
| 57 | We install Emacs here. This directory is created by build-zips.sh. | ||
| 58 | This directory can and *should* be deleted after zips have been | ||
| 59 | created. | ||
| 60 | |||
| 61 | ~/emacs-upload | ||
| 62 | |||
| 63 | Zips are created and moved here from where they can be, well, | ||
| 64 | uploaded. | ||
| 65 | |||
| 66 | |||
| 67 | |||
| 68 | Build Process | ||
| 69 | ------------- | ||
| 70 | |||
| 71 | For each major version: | ||
| 72 | |||
| 73 | The dependencies files need to be created. This can be around the time | ||
| 74 | of the pre-tests, then used for all releases of that version, to | ||
| 75 | ensure the maximum stability. | ||
| 76 | |||
| 77 | To do this: | ||
| 78 | |||
| 79 | Update msys to the latest version with `pacman -Syu`. | ||
| 80 | |||
| 81 | Then run build-dep-zips.py, in this directory. Three zips will be | ||
| 82 | created, containing the 64bit and 32bit dependencies, as well as the | ||
| 83 | source for these. | ||
| 84 | |||
| 85 | For emacs release or pre-test version: | ||
| 86 | |||
| 87 | Run `build-zips.sh -g` in the release branch. This will create a worktree | ||
| 88 | with the tag of the last version. | ||
| 89 | |||
| 90 | Then run `build-zips.sh` in this worktree. Eventually, four new zip | ||
| 91 | files will be created in ~/emacs-upload from where they can be signed | ||
| 92 | and uploaded with `gnupload`. | ||