; Spelling fixes
[emacs.git] / admin / nt / dist-build / README-scripts
blob1c62a866724271c2b2955520face06d74c6e0369
1 Distribution Build Scripts for Windows
2 ======================================
4 The scripts are used to build the binary distribution zip files for windows.
6 File System Organization
7 ------------------------
10 They are relatively strict about the file system organization. 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.
14 The file system needs to be organized like so:
16 ~/emacs-build/git
18 Contains a checkout of the Emacs git repository, organized according
19 to branches, with git worktree
21 ~/emacs-build/git/emacs-$branch
23 A branch of the git repository containing the current release
24 branch. This has to be created by hand.
26 ~/emacs-build/git/emacs-$version
28 A branch of the git repository containing the last release. The
29 build-zips.sh file will create this for you.
31 ~/emacs-build/deps
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.
36 ~/emacs-build/deps/libXpm/i686
37 ~/emacs-build/deps/libXpm/x86_64
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).
46 ~/emacs-build/build/$version/i686
47 ~/emacs-build/build/$version/x86_64
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
54 ~/emacs-build/install/$version/i686
55 ~/emacs-build/install/$version/x86_64
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.
61 ~/emacs-upload
63 Zips are created and moved here from where they can be, well,
64 uploaded.
68 Build Process
69 -------------
71 For each major version:
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.
77 To do this:
79 Update msys to the latest version with `pacman -Syu`.
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.
85 For emacs release or pre-test version:
87 Run `build-zips.sh -g` in the release branch. This will create a worktree
88 with the tag of the last version.
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`.