Remove support for 32 bit build
* admin/nt/dist-build/README-scripts: Update * admin/nt/dist-build/README-windows-binaries: Update * admin/nt/dist-build/build-zips.sh: Remove 32 bit and fix paths * admin/nt/dist-build/build-dep-zips.py: Remove 32 bit and update paths * admin/nt/dist-build/emacs.nsi: Remove 32 bit and fix paths
This commit is contained in:
parent
f95c1b3230
commit
667f2e097c
5 changed files with 103 additions and 199 deletions
|
@ -33,26 +33,21 @@ build-zips.sh file will create this for you.
|
|||
A location for the dependencies. This needs to contain two zip files
|
||||
with the dependencies. build-dep-zips.py will create these files for you.
|
||||
|
||||
~/emacs-build/deps/libXpm/i686
|
||||
~/emacs-build/deps/libXpm/x86_64
|
||||
~/emacs-build/deps/libXpm
|
||||
|
||||
Contain libXpm-noX4.dll. This file is used to load images for the
|
||||
splash screen, menu items and so on. Emacs runs without it, but looks
|
||||
horrible. The x86_64 comes from msys2, while the i686 comes from
|
||||
ezwinports because it itself has no dependencies. These have to be
|
||||
placed manually (but probably never need updating).
|
||||
horrible. The files came original from msys2, and contains no
|
||||
dependencies. It has to be placed manually (but probably never
|
||||
need updating).
|
||||
|
||||
|
||||
~/emacs-build/build/$version/i686
|
||||
~/emacs-build/build/$version/x86_64
|
||||
~/emacs-build/build/$version
|
||||
|
||||
We build Emacs out-of-source here. This directory is created by
|
||||
build-zips.sh. This directory can be freely deleted after zips have
|
||||
been created
|
||||
|
||||
|
||||
~/emacs-build/install/$version/i686
|
||||
~/emacs-build/install/$version/x86_64
|
||||
~/emacs-build/install/$version
|
||||
|
||||
We install Emacs here. This directory is created by build-zips.sh.
|
||||
This directory can and *should* be deleted after zips have been
|
||||
|
@ -79,9 +74,9 @@ To do this:
|
|||
|
||||
Update msys to the latest version with `pacman -Syu`.
|
||||
|
||||
Then run build-dep-zips.py, in the ~/emacs-build/deps directory. Three
|
||||
zips will be created, containing the 64bit and 32bit dependencies, as
|
||||
well as the source for these.
|
||||
Then run build-dep-zips.py, in the ~/emacs-build/deps directory. Two
|
||||
zips will be created, containing the dependencies, as well as the
|
||||
source for these.
|
||||
|
||||
For emacs release or pre-test version:
|
||||
|
||||
|
@ -105,12 +100,12 @@ To do this:
|
|||
|
||||
Update msys to the latest version with `pacman -Syu`.
|
||||
|
||||
Then run build-dep-zips.py, in ~/emacs-build/deps directory. Three
|
||||
zips will be created, containing the 64bit and 32bit dependencies, as
|
||||
well as the source for these. These deps files contain the date of
|
||||
creation in their name. The deps file can be reused as desired, or a
|
||||
new version created. Where multiple deps files exist, the most
|
||||
recent will be used.
|
||||
Then run build-dep-zips.py, in ~/emacs-build/deps directory. Two zips
|
||||
will be created, containing the dependencies, as well as the source
|
||||
for these. These deps files contain the date of creation in their
|
||||
name. The deps file can be reused as desired, or a new version
|
||||
created. Where multiple deps files exist, the most recent will be
|
||||
used.
|
||||
|
||||
Now, run `build-zips.sh -s` to build a snapshot release.
|
||||
|
||||
|
@ -134,4 +129,5 @@ For snapshots from another branch
|
|||
Snapshots can be build from any other branch. There is rarely a need
|
||||
to do this, except where some significant, wide-ranging feature is
|
||||
being added on a feature branch. In this case, the branch can be
|
||||
given using `build-zips.sh -b pdumper -s` for example.
|
||||
given using `build-zips.sh -b pdumper -s` for example. Any "/"
|
||||
characters in the branch title are replaced.
|
||||
|
|
|
@ -4,7 +4,7 @@ See the end of the file for license conditions.
|
|||
Precompiled Distributions of
|
||||
Emacs for Windows
|
||||
|
||||
Jan 1, 2020
|
||||
Jan 14, 2021
|
||||
|
||||
This directory contains precompiled distributions for GNU Emacs on
|
||||
Windows
|
||||
|
@ -25,51 +25,33 @@ old binaries.
|
|||
Windows Binaries
|
||||
================
|
||||
|
||||
Currently, we provide six different binary packages for Emacs, which
|
||||
Currently, we provide three different binary packages for Emacs, which
|
||||
are:
|
||||
|
||||
emacs-$VERSION-x86_64-installer.exe
|
||||
emacs-$VERSION-installer.exe
|
||||
|
||||
Contains a 64-bit build of Emacs with dependencies as an installer
|
||||
Contains Emacs with dependencies as an installer
|
||||
package. Mostly, this is the best one to install.
|
||||
|
||||
emacs-$VERSION-x86_64.zip
|
||||
emacs-$VERSION.zip
|
||||
|
||||
Contains a 64-bit build of Emacs with dependencies. This contains the
|
||||
same files as the installer but as a zip file which some users may
|
||||
prefer.
|
||||
Contains Emacs with dependencies. This contains the same files as the
|
||||
installer but as a zip file which some users may prefer.
|
||||
|
||||
emacs-$VERSION-x86_64-no-deps.zip
|
||||
emacs-$VERSION-no-deps.zip
|
||||
|
||||
Contains a 64-bit build of Emacs without any dependencies. This may be
|
||||
useful if you wish to install where the dependencies are already
|
||||
available, or if you want the small possible Emacs.
|
||||
|
||||
emacs-$VERSION-i686-installer.exe
|
||||
|
||||
Contains a 32-bit build of Emacs with dependencies as an installer
|
||||
package. This is useful for running on a 32-bit machine.
|
||||
|
||||
emacs-$VERSION-i686.zip
|
||||
|
||||
Contains a 32-bit build of Emacs with dependencies.
|
||||
|
||||
emacs-$VERSION-i686-no-deps.zip
|
||||
|
||||
Contains a 32-bit build of Emacs without dependencies
|
||||
Contains Emacs without any dependencies. This may be useful if you
|
||||
wish to install where the dependencies are already available, or if
|
||||
you want the small possible Emacs.
|
||||
|
||||
In addition, we provide the following files which will not be useful
|
||||
for most end-users.
|
||||
|
||||
emacs-$VERSION-x86_64-deps.zip
|
||||
emacs-$VERSION-deps.zip
|
||||
|
||||
The dependencies. Unzipping this file on top of
|
||||
emacs-$VERSION-x86_64-no-deps.zip should result in the same install as
|
||||
emacs-$VERSION-x86_64.zip.
|
||||
|
||||
emacs-$VERSION-i686-deps.zip
|
||||
|
||||
The 32-bit version of the dependencies.
|
||||
emacs-$VERSION-no-deps.zip should result in the same install as
|
||||
emacs-$VERSION.zip.
|
||||
|
||||
emacs-$VERSION-deps-mingw-w64-src.zip
|
||||
|
||||
|
@ -85,7 +67,8 @@ Snapshots
|
|||
|
||||
We also distribute "snapshots" of Emacs built at points throughout the
|
||||
development cycle, for those interested in following this cycle. They
|
||||
are not recommended for normal users.
|
||||
are not recommended for normal users; however, they are useful for
|
||||
people who want to report bugs against the current master.
|
||||
|
||||
The files follow the same naming convention, but also include a date
|
||||
(and sometimes information about their branch). The Emacs source at
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
## You should have received a copy of the GNU General Public License
|
||||
## along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||
import argparse
|
||||
import multiprocessing as mp
|
||||
import os
|
||||
import shutil
|
||||
import re
|
||||
|
@ -64,31 +63,30 @@ def check_output_maybe(*args,**kwargs):
|
|||
return check_output(*args,**kwargs)
|
||||
|
||||
## DLL Capture
|
||||
def gather_deps(arch, directory):
|
||||
os.mkdir(arch)
|
||||
os.chdir(arch)
|
||||
def gather_deps():
|
||||
|
||||
for dep in full_dll_dependency(directory):
|
||||
check_output_maybe(["cp /{}/bin/{}*.dll .".format(directory, dep)],
|
||||
os.mkdir("x86_64")
|
||||
os.chdir("x86_64")
|
||||
|
||||
for dep in full_dll_dependency():
|
||||
check_output_maybe(["cp /mingw64/bin/{}*.dll .".format(dep)],
|
||||
shell=True)
|
||||
|
||||
## And package them up
|
||||
## os.chdir(arch)
|
||||
print("Zipping: {}".format(arch))
|
||||
check_output_maybe("zip -9r ../emacs-{}-{}{}-deps.zip *"
|
||||
.format(EMACS_MAJOR_VERSION, DATE, arch),
|
||||
print("Zipping")
|
||||
check_output_maybe("zip -9r ../emacs-{}-{}deps.zip *"
|
||||
.format(EMACS_MAJOR_VERSION, DATE),
|
||||
shell=True)
|
||||
os.chdir("../")
|
||||
|
||||
## Return all Emacs dependencies
|
||||
def full_dll_dependency(directory):
|
||||
deps = [dll_dependency(dep, directory) for dep in DLL_REQ]
|
||||
def full_dll_dependency():
|
||||
deps = [dll_dependency(dep) for dep in DLL_REQ]
|
||||
return set(sum(deps, []) + DLL_REQ)
|
||||
|
||||
## Dependencies for a given DLL
|
||||
def dll_dependency(dll, directory):
|
||||
def dll_dependency(dll):
|
||||
output = check_output(["/mingw64/bin/ntldd", "--recursive",
|
||||
"/{}/bin/{}*.dll".format(directory, dll)]).decode("utf-8")
|
||||
"/mingw64/bin/{}*.dll".format(dll)]).decode("utf-8")
|
||||
## munge output
|
||||
return ntldd_munge(output)
|
||||
|
||||
|
@ -114,14 +112,11 @@ def ntldd_munge(out):
|
|||
## Packages to fiddle with
|
||||
## Source for gcc-libs is part of gcc
|
||||
SKIP_SRC_PKGS=["mingw-w64-gcc-libs"]
|
||||
SKIP_DEP_PKGS=["mingw-w64-x86_64-glib2"]
|
||||
SKIP_DEP_PKGS=["mingw-w64-glib2"]
|
||||
MUNGE_SRC_PKGS={"mingw-w64-libwinpthread-git":"mingw-w64-winpthreads-git"}
|
||||
MUNGE_DEP_PKGS={
|
||||
"mingw-w64-i686-libwinpthread":"mingw-w64-i686-libwinpthread-git",
|
||||
"mingw-w64-x86_64-libwinpthread":"mingw-w64-x86_64-libwinpthread-git",
|
||||
|
||||
"mingw-w64-x86_64-libtre": "mingw-w64-x86_64-libtre-git",
|
||||
"mingw-w64-i686-libtre": "mingw-w64-i686-libtre-git"
|
||||
}
|
||||
|
||||
## Currently no packages seem to require this!
|
||||
|
@ -155,13 +150,11 @@ def extract_deps():
|
|||
|
||||
# Get a list of all dependencies needed for packages mentioned above.
|
||||
pkgs = PKG_REQ[:]
|
||||
print("Initial pkgs", pkgs)
|
||||
n = 0
|
||||
while n < len(pkgs):
|
||||
subdeps = immediate_deps(pkgs[n])
|
||||
for p in subdeps:
|
||||
if not (p in pkgs or p in SKIP_DEP_PKGS):
|
||||
print("adding", p)
|
||||
pkgs.append(p)
|
||||
n = n + 1
|
||||
|
||||
|
@ -171,33 +164,29 @@ def extract_deps():
|
|||
def download_source(tarball):
|
||||
print("Acquiring {}...".format(tarball))
|
||||
|
||||
if os.path.exists("../emacs-src-cache/{}".format(tarball)):
|
||||
print("Copying {} from local".format(tarball))
|
||||
shutil.copyfile("../emacs-src-cache/{}".format(tarball),
|
||||
"{}".format(tarball))
|
||||
else:
|
||||
if not os.path.exists("../emacs-src-cache/{}".format(tarball)):
|
||||
print("Downloading {}...".format(tarball))
|
||||
check_output_maybe(
|
||||
"wget -a ../download.log -O {} {}/{}/download"
|
||||
"wget -a ../download.log -O ../emacs-src-cache/{} {}/{}/download"
|
||||
.format(tarball, SRC_REPO, tarball),
|
||||
shell=True
|
||||
)
|
||||
print("Downloading {}... done".format(tarball))
|
||||
|
||||
print("Copying {} from local".format(tarball))
|
||||
shutil.copyfile("../emacs-src-cache/{}".format(tarball),
|
||||
"{}".format(tarball))
|
||||
|
||||
|
||||
## Fetch all the source code
|
||||
def gather_source(deps):
|
||||
|
||||
if not os.path.exists("emacs-src-cache"):
|
||||
os.mkdir("emacs-src-cache")
|
||||
|
||||
## Source for gcc-libs is part of gcc
|
||||
## Source for libwinpthread is in libwinpthreads
|
||||
## mpc, termcap, xpm -- has x86_64, and i686 versions
|
||||
|
||||
## This needs to have been run first at the same time as the
|
||||
## system was updated.
|
||||
os.mkdir("emacs-src")
|
||||
os.chdir("emacs-src")
|
||||
|
||||
to_download = []
|
||||
for pkg in deps:
|
||||
pkg_name_and_version= \
|
||||
check_output(["pacman","-Q", pkg]).decode("utf-8").strip()
|
||||
|
@ -208,31 +197,18 @@ def gather_source(deps):
|
|||
pkg_name=pkg_name_components[0]
|
||||
pkg_version=pkg_name_components[1]
|
||||
|
||||
## make a simple name to make lookup easier
|
||||
simple_pkg_name = re.sub(r"x86_64-","",pkg_name)
|
||||
## source pkgs don't have an architecture in them
|
||||
pkg_name = re.sub(r"x86_64-","",pkg_name)
|
||||
|
||||
if(simple_pkg_name in SKIP_SRC_PKGS):
|
||||
if(pkg_name in SKIP_SRC_PKGS):
|
||||
continue
|
||||
|
||||
## Some packages have different source files for different
|
||||
## architectures. For these we need two downloads.
|
||||
if(simple_pkg_name in ARCH_PKGS):
|
||||
downloads = [pkg_name,
|
||||
re.sub(r"x86_64","i686",pkg_name)]
|
||||
else:
|
||||
downloads = [simple_pkg_name]
|
||||
## Switch names if necessary
|
||||
pkg_name = MUNGE_SRC_PKGS.get(pkg_name,pkg_name)
|
||||
|
||||
for d in downloads:
|
||||
## Switch names if necessary
|
||||
d = MUNGE_SRC_PKGS.get(d,d)
|
||||
tarball = "{}-{}.src.tar.gz".format(pkg_name,pkg_version)
|
||||
|
||||
tarball = "{}-{}.src.tar.gz".format(d,pkg_version)
|
||||
|
||||
to_download.append(tarball)
|
||||
|
||||
## Download in parallel or it is just too slow
|
||||
p = mp.Pool(1)
|
||||
p.map(download_source,to_download)
|
||||
download_source(tarball)
|
||||
|
||||
print("Zipping")
|
||||
check_output_maybe("zip -9 ../emacs-{}-{}deps-mingw-w64-src.zip *"
|
||||
|
@ -245,7 +221,6 @@ def gather_source(deps):
|
|||
def clean():
|
||||
print("Cleaning")
|
||||
os.path.isdir("emacs-src") and shutil.rmtree("emacs-src")
|
||||
os.path.isdir("i686") and shutil.rmtree("i686")
|
||||
os.path.isdir("x86_64") and shutil.rmtree("x86_64")
|
||||
os.path.isfile("download.log") and os.remove("download.log")
|
||||
|
||||
|
@ -259,12 +234,6 @@ def clean():
|
|||
parser.add_argument("-s", help="snapshot build",
|
||||
action="store_true")
|
||||
|
||||
parser.add_argument("-t", help="32 bit deps only",
|
||||
action="store_true")
|
||||
|
||||
parser.add_argument("-f", help="64 bit deps only",
|
||||
action="store_true")
|
||||
|
||||
parser.add_argument("-r", help="source code only",
|
||||
action="store_true")
|
||||
|
||||
|
@ -278,7 +247,7 @@ def clean():
|
|||
action="store_true")
|
||||
|
||||
args = parser.parse_args()
|
||||
do_all=not (args.c or args.r or args.f or args.t)
|
||||
do_all=not (args.c or args.r)
|
||||
|
||||
|
||||
|
||||
|
@ -294,11 +263,8 @@ def clean():
|
|||
else:
|
||||
DATE=""
|
||||
|
||||
if( do_all or args.t ):
|
||||
gather_deps("i686","mingw32")
|
||||
|
||||
if( do_all or args.f ):
|
||||
gather_deps("x86_64","mingw64")
|
||||
if( do_all):
|
||||
gather_deps()
|
||||
|
||||
if( do_all or args.r ):
|
||||
deps=extract_deps()
|
||||
|
|
|
@ -29,70 +29,62 @@ function git_up {
|
|||
}
|
||||
|
||||
function build_zip {
|
||||
|
||||
ARCH=$1
|
||||
PKG=$2
|
||||
HOST=$3
|
||||
|
||||
echo [build] Building Emacs-$VERSION for $ARCH
|
||||
if [ $ARCH == "i686" ]
|
||||
then
|
||||
PATH=/mingw32/bin:$PATH
|
||||
MSYSTEM=MINGW32
|
||||
fi
|
||||
echo [build] Building Emacs-$VERSION
|
||||
|
||||
## Clean the install location because we use it twice
|
||||
rm -rf $HOME/emacs-build/install/emacs-$VERSION/$ARCH
|
||||
mkdir --parents $HOME/emacs-build/build/emacs-$VERSION/$ARCH
|
||||
cd $HOME/emacs-build/build/emacs-$VERSION/$ARCH
|
||||
rm -rf $HOME/emacs-build/install/emacs-$VERSION
|
||||
mkdir --parents $HOME/emacs-build/build/emacs-$VERSION
|
||||
cd $HOME/emacs-build/build/emacs-$VERSION
|
||||
|
||||
## Do we need this or is it the default?
|
||||
export PKG_CONFIG_PATH=/mingw64/lib/pkgconfig
|
||||
|
||||
export PKG_CONFIG_PATH=$PKG
|
||||
|
||||
## Running configure forces a rebuild of the C core which takes
|
||||
## time that is not always needed, so do not do it unless we have
|
||||
## to.
|
||||
if [ ! -f Makefile ] || (($CONFIG))
|
||||
then
|
||||
echo [build] Configuring Emacs $ARCH
|
||||
echo [build] Configuring Emacs
|
||||
$REPO_DIR/$BRANCH/configure \
|
||||
--without-dbus \
|
||||
--host=$HOST --without-compress-install \
|
||||
--without-compress-install \
|
||||
$CACHE \
|
||||
CFLAGS="$CFLAGS"
|
||||
fi
|
||||
|
||||
make -j 4 $INSTALL_TARGET \
|
||||
prefix=$HOME/emacs-build/install/emacs-$VERSION/$ARCH
|
||||
cd $HOME/emacs-build/install/emacs-$VERSION/$ARCH
|
||||
zip -r -9 emacs-$OF_VERSION-$ARCH-no-deps.zip *
|
||||
mv emacs-$OF_VERSION-$ARCH-no-deps.zip $HOME/emacs-upload
|
||||
prefix=$HOME/emacs-build/install/emacs-$VERSION
|
||||
cd $HOME/emacs-build/install/emacs-$VERSION
|
||||
zip -r -9 emacs-$OF_VERSION-no-deps.zip *
|
||||
mv emacs-$OF_VERSION-no-deps.zip $HOME/emacs-upload
|
||||
|
||||
if [ -z $SNAPSHOT ];
|
||||
then
|
||||
DEPS_FILE=$HOME/emacs-build/deps/emacs-$MAJOR_VERSION-$ARCH-deps.zip
|
||||
DEPS_FILE=$HOME/emacs-build/deps/emacs-$MAJOR_VERSION-deps.zip
|
||||
else
|
||||
## Pick the most recent snapshot whatever that is
|
||||
DEPS_FILE=`ls $HOME/emacs-build/deps/emacs-$MAJOR_VERSION-*-$ARCH-deps.zip | tail -n 1`
|
||||
DEPS_FILE=`ls $HOME/emacs-build/deps/emacs-$MAJOR_VERSION-*-deps.zip | tail -n 1`
|
||||
fi
|
||||
|
||||
echo [build] Using $DEPS_FILE
|
||||
unzip -d bin $DEPS_FILE
|
||||
|
||||
zip -r -9 emacs-$OF_VERSION-$ARCH.zip *
|
||||
mv emacs-$OF_VERSION-$ARCH.zip ~/emacs-upload
|
||||
zip -r -9 emacs-$OF_VERSION.zip *
|
||||
mv emacs-$OF_VERSION.zip ~/emacs-upload
|
||||
}
|
||||
|
||||
function build_installer {
|
||||
ARCH=$1
|
||||
cd $HOME/emacs-build/install/emacs-$VERSION
|
||||
cd $HOME/emacs-build/install/
|
||||
echo [build] Calling makensis in `pwd`
|
||||
cp $REPO_DIR/$BRANCH/admin/nt/dist-build/emacs.nsi .
|
||||
|
||||
makensis -v4 \
|
||||
-DARCH=$ARCH -DEMACS_VERSION=$ACTUAL_VERSION \
|
||||
-DEMACS_VERSION=$ACTUAL_VERSION \
|
||||
-DVERSION_BRANCH=$VERSION \
|
||||
-DOUT_VERSION=$OF_VERSION emacs.nsi
|
||||
rm emacs.nsi
|
||||
mv emacs-$OF_VERSION-$ARCH-installer.exe ~/emacs-upload
|
||||
mv emacs-$OF_VERSION-installer.exe ~/emacs-upload
|
||||
}
|
||||
|
||||
set -o errexit
|
||||
|
@ -101,7 +93,6 @@ SNAPSHOT=
|
|||
CACHE=
|
||||
|
||||
BUILD=1
|
||||
BUILD_32=1
|
||||
BUILD_64=1
|
||||
GIT_UP=0
|
||||
CONFIG=1
|
||||
|
@ -112,19 +103,8 @@ INSTALL_TARGET="install-strip"
|
|||
REPO_DIR=$HOME/emacs-build/git/
|
||||
|
||||
|
||||
while getopts "36gb:hnsiV:" opt; do
|
||||
while getopts "gb:hnsiV:" opt; do
|
||||
case $opt in
|
||||
3)
|
||||
BUILD_32=1
|
||||
BUILD_64=0
|
||||
GIT_UP=0
|
||||
;;
|
||||
6)
|
||||
BUILD_32=0
|
||||
BUILD_64=1
|
||||
GIT_UP=0
|
||||
;;
|
||||
|
||||
g)
|
||||
BUILD_32=0
|
||||
BUILD_64=0
|
||||
|
@ -150,10 +130,11 @@ while getopts "36gb:hnsiV:" opt; do
|
|||
;;
|
||||
h)
|
||||
echo "build-zips.sh"
|
||||
echo " -3 32 bit build only"
|
||||
echo " -6 64 bit build only"
|
||||
echo " -b args -- build args branch"
|
||||
echo " -g git update and worktree only"
|
||||
echo " -i build installer only"
|
||||
echo " -n do not configure"
|
||||
echo " -s snaphot build"
|
||||
exit 0
|
||||
;;
|
||||
\?)
|
||||
|
@ -223,18 +204,7 @@ if (($BUILD_64))
|
|||
then
|
||||
if (($BUILD))
|
||||
then
|
||||
build_zip x86_64 /mingw64/lib/pkgconfig x86_64-w64-mingw32
|
||||
build_zip
|
||||
fi
|
||||
build_installer x86_64
|
||||
fi
|
||||
|
||||
## Do the 64 bit build first, because we reset some environment
|
||||
## variables during the 32 bit which will break the build.
|
||||
if (($BUILD_32))
|
||||
then
|
||||
if (($BUILD))
|
||||
then
|
||||
build_zip i686 /mingw32/lib/pkgconfig i686-w64-mingw32
|
||||
fi
|
||||
build_installer i686
|
||||
build_installer
|
||||
fi
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
!include LogicLib.nsh
|
||||
!include x64.nsh
|
||||
|
||||
Outfile "emacs-${OUT_VERSION}-${ARCH}-installer.exe"
|
||||
Outfile "emacs-${OUT_VERSION}-installer.exe"
|
||||
|
||||
|
||||
SetCompressor /solid lzma
|
||||
|
@ -14,15 +14,15 @@ Var StartMenuFolder
|
|||
!define MUI_WELCOMEPAGE_TITLE_3LINES
|
||||
!define MUI_WELCOMEPAGE_TEXT "Welcome to Emacs -- the editor of a lifetime."
|
||||
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "${ARCH}\share\emacs\${EMACS_VERSION}\etc\images\splash.bmp"
|
||||
!define MUI_ICON "${ARCH}\share\emacs\${EMACS_VERSION}\etc\images\icons\hicolor\scalable\apps\emacs.ico"
|
||||
!define MUI_UNICON "${ARCH}\share\emacs\${EMACS_VERSION}\etc\images\icons\hicolor\scalable\apps\emacs.ico"
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "emacs-${VERSION_BRANCH}\share\emacs\${EMACS_VERSION}\etc\images\splash.bmp"
|
||||
!define MUI_ICON "emacs-${VERSION_BRANCH}\share\emacs\${EMACS_VERSION}\etc\images\icons\hicolor\scalable\apps\emacs.ico"
|
||||
!define MUI_UNICON "emacs-${VERSION_BRANCH}\share\emacs\${EMACS_VERSION}\etc\images\icons\hicolor\scalable\apps\emacs.ico"
|
||||
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
|
||||
|
||||
!define MUI_LICENSEPAGE_TEXT_TOP "The GNU General Public License"
|
||||
!insertmacro MUI_PAGE_LICENSE "${ARCH}\share\emacs\${EMACS_VERSION}\lisp\COPYING"
|
||||
!insertmacro MUI_PAGE_LICENSE "emacs-${VERSION_BRANCH}\share\emacs\${EMACS_VERSION}\lisp\COPYING"
|
||||
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
|
@ -36,19 +36,7 @@ Var StartMenuFolder
|
|||
Name Emacs-${EMACS_VERSION}
|
||||
|
||||
function .onInit
|
||||
${If} ${RunningX64}
|
||||
${If} ${ARCH} == "x86_64"
|
||||
StrCpy $INSTDIR "$PROGRAMFILES64\Emacs"
|
||||
${Else}
|
||||
StrCpy $INSTDIR "$PROGRAMFILES32\Emacs"
|
||||
${Endif}
|
||||
${Else}
|
||||
${If} ${ARCH} == "x86_64"
|
||||
Quit
|
||||
${Else}
|
||||
StrCpy $INSTDIR "$PROGRAMFILES\Emacs"
|
||||
${Endif}
|
||||
${EndIf}
|
||||
StrCpy $INSTDIR "$PROGRAMFILES64\Emacs"
|
||||
functionend
|
||||
|
||||
|
||||
|
@ -56,7 +44,8 @@ Section
|
|||
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
File /r ${ARCH}
|
||||
File /r emacs-${VERSION_BRANCH}
|
||||
|
||||
# define uninstaller name
|
||||
WriteUninstaller $INSTDIR\Uninstall.exe
|
||||
|
||||
|
@ -66,7 +55,7 @@ Section
|
|||
CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
||||
|
||||
!insertmacro MUI_STARTMENU_WRITE_END
|
||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Emacs.lnk" "$INSTDIR\${ARCH}\bin\runemacs.exe"
|
||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Emacs.lnk" "$INSTDIR\emacs-${VERSION_BRANCH}\bin\runemacs.exe"
|
||||
SectionEnd
|
||||
|
||||
|
||||
|
@ -78,7 +67,7 @@ Section "Uninstall"
|
|||
Delete "$INSTDIR\Uninstall.exe"
|
||||
|
||||
# now delete installed directory
|
||||
RMDir /r "$INSTDIR\${ARCH}"
|
||||
RMDir /r "$INSTDIR"
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
|
||||
|
|
Loading…
Add table
Reference in a new issue