unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#6602: [PATCH] make dist target for Windows
@ 2010-07-10 14:00 Christoph
  2010-07-22  9:19 ` Juanma Barranquero
  0 siblings, 1 reply; 31+ messages in thread
From: Christoph @ 2010-07-10 14:00 UTC (permalink / raw)
  To: 6602

[-- Attachment #1: Type: text/plain, Size: 1216 bytes --]

Glenn Morris wrote:

 > Also, I keep saying this, but I strongly advise people to post patches
 > like this to the bug list, since then they are much less likely to get
 > forgotten / overlooked. I used to forward things there, but have given
 > up. If you post things here, you basically rely on people keeping
 > things in their inbox until dealt with.

Following Glenn's advice I repost my patch to this list.

Initial discussion of this patch:
http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01461.html

Thanks,
Christoph

-------- Original Message --------
Subject: Re: make dist target for Windows
Date: Sat, 03 Jul 2010 11:08:03 -0600
From: Christoph <cschol2112@googlemail.com>
To: Eli Zaretskii <eliz@gnu.org>
CC: Christoph <cschol2112@googlemail.com>, emacs-devel@gnu.org

On 4/8/2010 11:51 AM, Eli Zaretskii wrote:

> Well, do you have assignment to FSF on record?  I cannot see it.  If
> you don't, please talk to Stefan and Yidong to start the paperwork.
>
> Once that is done, someone will install this for you.

I finally got my confirmation email from the FSF, that my paperwork has
been processed.

Find attached the patch to implement the make dist target for Windows.

Thanks,
Christoph


[-- Attachment #2: makedistw32v6.txt --]
[-- Type: text/plain, Size: 37587 bytes --]

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: cschol2112@gmail.com-20100703170202-awaatn9wd8yi6riw
# target_branch: http://bzr.savannah.gnu.org/r/emacs/trunk/
# testament_sha1: 1bceda0ab603efcc57222ea2a7aadc6be15a1092
# timestamp: 2010-07-03 11:03:06 -0600
# base_revision_id: eliz@gnu.org-20100703151530-5i45u5wdw8d3c7ha
# 
# Begin patch
=== modified file 'admin/admin.el'
--- admin/admin.el	2010-05-15 21:12:44 +0000
+++ admin/admin.el	2010-07-03 17:02:02 +0000
@@ -95,6 +95,9 @@
   (set-version-in-file root "lib-src/makefile.w32-in" version
 		       (rx (and "VERSION" (0+ space) "=" (0+ space)
 				(submatch (1+ (in "0-9."))))))
+  (set-version-in-file root "nt/makefile.w32-in" version
+		       (rx (and "VERSION" (0+ space) "=" (0+ space)
+				(submatch (1+ (in "0-9."))))))
   ;; nt/emacs.rc also contains the version number, but in an awkward
   ;; format. It must contain four components, separated by commas, and
   ;; in two places those commas are followed by space, in two other

=== modified file 'nt/INSTALL'
--- nt/INSTALL	2010-01-13 08:35:10 +0000
+++ nt/INSTALL	2010-04-03 17:01:17 +0000
@@ -403,6 +403,9 @@
   Removes the installed files in the bin subdirectory in addition to
   the files removed by make cleanall.
 
+  make dist
+  Builds Emacs from the available sources and pre-compiled lisp files.
+  Packages Emacs binaries as full distribution and barebin distribution.
 
   The following targets are intended only for use with the Bazaar sources.
 
@@ -425,7 +428,33 @@
   bootstrap to rebuild.  Occasionally it may be necessary to run this
   target after an update.
 
-
+* Creating binary distributions
+  
+  Binary distributions (full and barebin distributions) can be 
+  automatically built and packaged from source tarballs or a bzr
+  checkout. 
+  
+  When building Emacs binary distributions, the --distfiles argument
+  to configure.bat specifies files to be included in the bin directory
+  of the binary distributions. This is intended for libraries that are 
+  not built as part of Emacs, e.g. image libraries.
+  
+  For example, specifying 
+  
+	--distfiles D:\distfiles\libXpm.dll
+
+  results in libXpm.dll being copied from D:\distfiles to the 
+  bin directory before packaging starts.
+  
+  Multiple files can be specified using multiple --distfiles arguments:
+  
+	--distfiles D:\distfiles\libXpm.dll --distfiles C:\jpeglib\jpeg.dll
+    
+  For packaging the binary distributions, the 'dist' make target uses
+  7-Zip (http://www.7-zip.org), which must be installed and available
+  on the Windows Path.
+
+  
 * Trouble-shooting
 
   The main problems that are likely to be encountered when building

=== added file 'nt/README.W32'
--- nt/README.W32	1970-01-01 00:00:00 +0000
+++ nt/README.W32	2010-03-31 02:27:15 +0000
@@ -0,0 +1,264 @@
+Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+  Free Software Foundation, Inc.
+See the end of the file for license conditions.
+
+			   Emacs for Windows
+
+  This README file describes how to set up and run a precompiled
+  version of GNU Emacs for Windows.  This distribution can be found on
+  the ftp.gnu.org server and its mirrors:
+
+	ftp://ftp.gnu.org/gnu/emacs/windows/
+
+  This server contains other distributions, including the full Emacs
+  source distribution and a barebin distribution which can be installed
+  over it, as well as older releases of Emacs for Windows.
+
+  Answers to frequently asked questions, and further information about
+  this port of GNU Emacs and related software packages can be found via
+  http:
+
+	http://www.gnu.org/software/emacs/windows/
+
+* Preliminaries
+
+  Along with this file should be six subdirectories (bin, etc, info,
+  lisp, leim, site-lisp).  If you have downloaded the barebin
+  distribution, then it will contain only the bin directory and the
+  built in documentation in etc/DOC-X, the rest of the subdirectories
+  are in the src distribution, which the barebin distribution is
+  designed to be used with.
+
+* Setting up Emacs
+
+  To install Emacs, simply unpack all the files into a directory of
+  your choice, but note that you might encounter minor problems if
+  there is a space anywhere in the directory name.  To complete the
+  installation process, you can optionally run the program addpm.exe
+  in the bin subdirectory.  This will put an icon for Emacs in the
+  Start Menu under "Start -> Programs -> Gnu Emacs".
+
+  Some users have reported that the Start Menu item is not created for
+  them.  If this happens, just create your own shortcut to runemacs.exe,
+  eg. by dragging it on to the desktop or the Start button.
+
+  Note that running addpm is now an optional step; Emacs is able to
+  locate all of its files without needing any information to be set in
+  the environment or the registry, although such settings will still
+  be obeyed if present.  This is convenient for running Emacs on a
+  machine which disallows registry changes, or on which software
+  should not be installed.  For instance, you can now run Emacs
+  directly from a CD or USB flash drive without copying or installing
+  anything on the machine itself.
+
+* Starting Emacs
+
+  To run Emacs, simply select Emacs from the Start Menu, or invoke
+  runemacs.exe directly from Explorer or from a command prompt.  This
+  will start Emacs in its default GUI mode, ready to use.  If you have
+  never used Emacs before, you should follow the tutorial at this
+  point (select Emacs Tutorial from the Help menu), since Emacs is
+  quite different from ordinary Windows applications in many respects.
+
+  If you want to use Emacs in tty or character mode within a command
+  window, you can start it by typing "emacs -nw" at the command prompt.
+  (Obviously, you need to ensure that the Emacs bin subdirectory is in
+  your PATH first, or specify the path to emacs.exe.)  The -nw
+  (non-windowed) mode of operation is most useful if you have a telnet
+  server on your machine, allowing you to run Emacs remotely.
+
+* EXE files included
+
+  Emacs comes with the following executable files in the bin directory.
+
+  + emacs.exe - The main Emacs executable.  As this is designed to run
+    as both a text-mode application (emacs -nw) and as a GUI application,
+    it will pop up a command prompt window if run directly from Explorer.
+
+  + runemacs.exe - A wrapper for running Emacs as a GUI application
+    without popping up a command prompt window.
+
+  + emacsclient.exe - A command-line client program that can
+    communicate with a running Emacs process.  See the `Emacs Server'
+    node of the Emacs manual.
+
+  + emacsclientw.exe - A version of emacsclient that does not open
+    a command-line window.
+
+  + addpm.exe - A basic installer that creates Start Menu icons for Emacs.
+    Running this is optional.
+
+  + cmdproxy.exe - Used internally by Emacs to work around problems with
+    the native shells in various versions of Windows.
+
+  + ctags.exe, etags.exe - Tools for generating tag files.  See the
+    `Tags' node of the Emacs manual.
+
+  + ebrowse.exe - A tool for generating C++ browse information.  See the
+    `Ebrowse' manual.
+
+  + ddeclient.exe - A tool for interacting with DDE servers.
+
+  + hexl.exe - A tool for converting files to hex dumps.  See the
+    `Editing Binary Files' node of the Emacs manual.
+
+  + movemail.exe - A helper application for safely moving mail from
+    a mail spool or POP server to a local user mailbox.  See the
+    `Movemail' node of the Emacs manual.
+
+  + digest-doc.exe, sorted-doc.exe - Tools for rebuilding the
+    built-in documentation.
+
+* Image support
+
+  Emacs has built in support for XBM and PPM/PGM/PBM images, and the
+  libXpm library is bundled, providing XPM support (required for color
+  toolbar icons and splash screen).  Source for libXpm should be available
+  on the same place as you got this binary distribution from.  The version
+  of libXpm bundled with this version of Emacs is 3.5.7, based on x.org's
+  libXpm library from X11R7.3.
+
+  Emacs can also support some other image formats with appropriate
+  libraries.  These libraries are all available as part of GTK, or from
+  gnuwin32.sourceforge.net.  Emacs will find them if the directory they
+  are installed in is on the PATH.
+
+      PNG: requires the PNG reference library 1.2 or later, which will
+      be named libpng13d.dll, libpng13.dll, libpng12d.dll, libpng12.dll
+      or libpng.dll.  LibPNG requires zlib, which should come from the same
+      source as you got libpng.
+
+      JPEG: requires the Independant JPEG Group's libjpeg 6b or later,
+      which will be called jpeg62.dll, libjpeg.dll, jpeg-62.dll or jpeg.dll.
+
+      TIFF: requires libTIFF 3.0 or later, which will be called libtiff3.dll
+      or libtiff.dll.
+
+      GIF: requires libungif or giflib 4.1 or later, which will be
+      called giflib4.dll, libungif4.dll or libungif.dll.
+
+   In addition, Emacs can be compiled to support SVG.  This precompiled
+   distribution has not been compiled that way, since the SVG library
+   or one or more of its extensive dependencies appear to be
+   unreliable under Windows.  See nt/INSTALL in the src distribution if
+   you wish to compile Emacs with SVG support.
+
+* Uninstalling Emacs
+
+  If you should need to uninstall Emacs, simply delete all the files
+  and subdirectories from the directory where it was unpacked (Emacs
+  does not install or update any files in system directories or
+  anywhere else).  If you ran the addpm.exe program to create the
+  registry entries and the Start menu icon, then you can remove the
+  registry entries using regedit.  All of the settings are written
+  under the Software\GNU\Emacs key in HKEY_LOCAL_MACHINE, or if you
+  didn't have administrator privileges when you installed, the same
+  key in HKEY_CURRENT_USER.  Just delete the whole Software\GNU\Emacs
+  key.
+
+  The Start menu entry can be removed by right-clicking on the Task bar
+  and selecting Properties, then using the Remove option on the Start
+  Menu Programs page.  (If you installed under an account with
+  administrator privileges, then you need to click the Advanced button
+  and look for the Gnu Emacs menu item under All Users.)
+
+* Troubleshooting
+
+  Unpacking the distributions
+
+  If you encounter trouble trying to run Emacs, there are a number of
+  possible causes.  Check the following for indications that the
+  distribution was not corrupted by the tools used to unpack it:
+
+    * Be sure to disable CR/LF translation or the executables will
+      be unusable.  Older versions of WinZipNT would enable this
+      translation by default.  If you are using WinZipNT, disable it.
+      (I don't have WinZipNT myself, and I do not know the specific
+      commands necessary to disable it.)
+
+    * Check that filenames were not truncated to 8.3.  For example,
+      there should be a file lisp\abbrevlist.elc; if this has been
+      truncated to abbrevli.elc, your distribution has been corrupted
+      while unpacking and Emacs will not start.
+
+  If you believe you have unpacked the distributions correctly and are
+  still encountering problems, see the section on Further Information
+  below.
+
+  Virus scanners
+
+  Some virus scanners interfere with Emacs' use of subprocesses.  If you
+  are unable to use subprocesses and you use Dr. Solomon's WinGuard or
+  McAfee's Vshield, turn off "Scan all files" (WinGuard) or "boot sector
+  scanning" (McAfee exclusion properties).
+
+* Further information
+
+  If you have access to the World Wide Web, I would recommend pointing
+  your favorite web browser to the following document (if you haven't
+  already):
+
+	http://www.gnu.org/software/emacs/windows/
+
+  This document serves as an FAQ and a source for further information
+  about the Windows port and related software packages.
+
+  In addition to the FAQ, there is a mailing list for discussing issues
+  related to the Windows port of Emacs.  For information about the
+  list, see this Web page:
+
+	http://lists.gnu.org/mailman/listinfo/help-emacs-windows
+
+  To ask questions on the mailing list, send email to
+  help-emacs-windows@gnu.org.  (You don't need to subscribe for that.)
+  To subscribe to the list or unsubscribe from it, fill the form you
+  find at http://lists.gnu.org/mailman/listinfo/help-emacs-windows as
+  explained there.
+
+  Another valuable source of information and help which should not be
+  overlooked is the various Usenet news groups dedicated to Emacs.
+  These are particularly good for help with general issues which aren't
+  specific to the Windows port of Emacs.  The main news groups to use
+  for seeking help are:
+
+	gnu.emacs.help
+	comp.emacs
+
+  There are also fairly regular postings and announcements of new or
+  updated Emacs packages on this group:
+
+	gnu.emacs.sources
+
+* Reporting bugs
+
+  If you encounter a bug in this port of Emacs, we would like to hear
+  about it.  First check the FAQ on the web page above to see if the bug
+  is already known and if there are any workarounds.  Then check whether
+  the bug has something to do with code in your .emacs file, e.g. by
+  invoking Emacs with the "-Q" option.
+
+  If you decide that it is a bug in Emacs, use the built in bug
+  reporting facility to report it (from the menu; Help -> Send Bug Report).
+  If you have not yet configured Emacs for mail, then when you press
+  C-c C-c to send the report, it will ask you to paste the text of the
+  report into your mail client.  If the bug is related to subprocesses,
+  also specify which shell you are using (e.g., include the values of
+  `shell-file-name' and `explicit-shell-file-name' in your message).
+
+  Enjoy!
+
+\f
+This file is part of GNU Emacs.
+
+GNU Emacs is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.

=== modified file 'nt/configure.bat'
--- nt/configure.bat	2010-01-13 08:35:10 +0000
+++ nt/configure.bat	2010-04-06 02:16:41 +0000
@@ -89,6 +89,8 @@
 set doldflags=
 set sep1=
 set sep2=
+set sep3=
+set distfiles=
 
 rem ----------------------------------------------------------------------
 rem   Handle arguments.
@@ -110,6 +112,7 @@
 if "%1" == "--without-tiff" goto withouttiff
 if "%1" == "--without-xpm" goto withoutxpm
 if "%1" == "--with-svg" goto withsvg
+if "%1" == "--distfiles" goto distfiles
 if "%1" == "" goto checkutils
 :usage
 echo Usage: configure [options]
@@ -129,6 +132,7 @@
 echo.   --without-tiff          do not use TIFF library even if it is installed
 echo.   --without-xpm           do not use XPM library even if it is installed
 echo.   --with-svg              use the RSVG library (experimental)
+echo.   --distfiles             path to files for make dist, e.g. libXpm.dll
 goto end
 rem ----------------------------------------------------------------------
 :setprefix
@@ -226,6 +230,16 @@
 goto again
 
 rem ----------------------------------------------------------------------
+
+:distfiles
+set HAVE_DISTFILES=1
+shift
+set distfiles=%distfiles%%sep3%%1
+set sep3= %nothing%
+shift
+goto again
+
+rem ----------------------------------------------------------------------
 rem    Check that necessary utilities (cp and rm) are present.
 :checkutils
 echo Checking for 'cp'...
@@ -513,6 +527,35 @@
 :svgDone
 rm -f junk.c junk.obj junk.err junk.out
 
+rem Any distfiles provided for building distribution? If no, we're done.
+if "(%HAVE_DISTFILES%)"=="()" goto :distFilesDone
+
+rem Any arguments to --distfiles specified? If no, we're done.
+if not "%distfiles%"=="" goto :checkDistFiles
+set distFilesOk=0
+echo No arguments specified for option --distfiles!
+goto distfilesDone
+
+:checkDistFiles
+echo Checking for distfiles...
+rem Check if all specified distfiles exist
+set fileNotFound=
+for %%d in (%distfiles%) do if not exist %%d set fileNotFound=%%d
+if not "%fileNotFound%"=="" goto distFilesNotFound
+
+set distFilesOK=1
+echo ...all distfiles found.
+goto :distFilesDone
+
+:distFilesNotFound
+set distFilesOk=0
+echo ...%fileNotFound% not found.
+set distfiles=
+goto :distfilesDone
+
+:distFilesDone
+set fileNotFound=
+
 rem ----------------------------------------------------------------------
 :genmakefiles
 echo Generating makefiles
@@ -532,6 +575,7 @@
 if (%profile%) == (Y) echo PROFILE=1 >>config.settings
 if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings
 if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix%>>config.settings
+if not "(%distfiles%)" == "()" echo DIST_FILES=%distfiles%>>config.settings
 rem We go thru docflags because usercflags could be "-DFOO=bar" -something
 rem and the if command cannot cope with this
 for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y
@@ -633,12 +677,19 @@
  echo   Install libtiff development files or use --without-tiff
 
 :checkgif
-if not "(%HAVE_GIF%)" == "()" goto donelibchecks
-if (%gifsupport%) == (N) goto donelibchecks
+if not "(%HAVE_GIF%)" == "()" goto checkdistfiles
+if (%gifsupport%) == (N) goto checkdistfiles
  set libsOK=0
  echo GIF support is missing.
  echo   Install giflib or libungif development files or use --without-gif
 
+:checkdistfiles
+if "(%HAVE_DISTFILES%)" == "()" goto donelibchecks
+if (%distFilesOk%) == (1) goto donelibchecks
+echo.
+echo Files specified with option --distfiles could not be found.
+echo   Fix these issues before running make dist
+
 :donelibchecks
 if (%libsOK%) == (1) goto success
 echo.
@@ -670,6 +721,9 @@
 set doldflags=
 set mingwflag=
 set mf=
+set distfiles=
+set HAVE_DISTFILES=
+set distFilesOk=
 
 goto skipArchTag
    arch-tag: 300d20a4-1675-4e75-b615-7ce1a8c5376c

=== modified file 'nt/makefile.w32-in'
--- nt/makefile.w32-in	2010-01-13 08:35:10 +0000
+++ nt/makefile.w32-in	2010-04-07 17:02:07 +0000
@@ -23,6 +23,8 @@
 # FIXME: This file uses DOS EOLs.  Convert to Unix after 22.1 is out
 #        (and remove or replace this comment).
 
+VERSION		= 24.0.50
+
 TRES		= $(BLD)/emacs.res
 CLIENTRES	= $(BLD)/emacsclient.res
 
@@ -197,12 +199,15 @@
 #
 # Build and install emacs in INSTALL_DIR
 #
-install: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)
+.PHONY: install-bin install-shortcuts
+
+install: install-bin install-shortcuts
+
+install-bin: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)
 	- $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
-	- "$(INSTALL_DIR)/bin/addpm" -q
 	- $(DEL) ../same-dir.tst
 	- $(DEL) $(INSTALL_DIR)/same-dir.tst
 	echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"
@@ -238,6 +243,14 @@
 	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install
 	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install
 
+install-shortcuts:
+	"$(INSTALL_DIR)/bin/addpm" -q
+
+dist: install-bin 
+	$(CP) $(DIST_FILES) $(INSTALL_DIR)/bin
+	$(CP) README.W32 $(INSTALL_DIR)
+	$(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(INSTALL_DIR) $(VERSION)$(ARGQUOTE)
+
 force-info:
 # Note that doc/emacs/makefile knows how to
 # put the info files in $(infodir),

=== added file 'nt/zipdist.bat'
--- nt/zipdist.bat	1970-01-01 00:00:00 +0000
+++ nt/zipdist.bat	2010-04-01 01:40:58 +0000
@@ -0,0 +1,66 @@
+@echo off
+rem Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+rem   Free Software Foundation, Inc.
+
+rem Author: Christoph Scholtes cschol2112 at gmail.com
+
+rem This file is part of GNU Emacs.
+
+rem GNU Emacs is free software: you can redistribute it and/or modify
+rem it under the terms of the GNU General Public License as published by
+rem the Free Software Foundation, either version 3 of the License, or
+rem (at your option) any later version.
+
+rem GNU Emacs is distributed in the hope that it will be useful,
+rem but WITHOUT ANY WARRANTY; without even the implied warranty of
+rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+rem GNU General Public License for more details.
+
+rem You should have received a copy of the GNU General Public License
+rem along with GNU Emacs.  If not, see http://www.gnu.org/licenses/.
+
+SETLOCAL
+rem arg 1: full path to Emacs root directory
+set ARG_PATH="%~f1"
+rem Path separator cannot be parsed correctly, substitute
+set ARG_PATH=%ARG_PATH:\=;%
+
+rem arg 2: Emacs version number
+set EMACS_VER=%2
+
+rem Parse out last directory from passed in full path (arg 1)
+for /f "tokens=* delims=;" %%G in (%ARG_PATH%) do call :PARSE_PATH %%G
+goto :EXIT
+
+:PARSE_PATH
+if "%1"=="" (
+  goto :ZIP_CHECK
+)
+set ROOT_DIR=%1
+SHIFT
+goto :PARSE_PATH
+
+rem Check, if 7zip is installed and available on path
+:ZIP_CHECK
+7z
+if %ERRORLEVEL% NEQ 0 goto :ZIP_ERROR
+goto ZIP_DIST
+
+:ZIP_ERROR
+echo.
+echo ERROR: Make sure 7zip is installed and available on the Windows Path!
+goto EXIT
+
+rem Build distributions
+:ZIP_DIST
+pushd ..\..
+rem Build and verify full distribution
+7z a -bd -tZIP -mx=9 -x!.bzrignore -x!.gitignore -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory emacs-%EMACS_VER%-bin-i386.zip %ROOT_DIR%/BUGS %ROOT_DIR%/COPYING %ROOT_DIR%/README %ROOT_DIR%/README.W32 %ROOT_DIR%/INSTALL %ROOT_DIR%/bin %ROOT_DIR%/etc %ROOT_DIR%/info %ROOT_DIR%/lisp %ROOT_DIR%/leim %ROOT_DIR%/site-lisp
+7z t emacs-%EMACS_VER%-bin-i386.zip
+rem Build and verify binary only distribution
+7z a -bd -tZIP -mx=9 emacs-%EMACS_VER%-barebin-i386.zip %ROOT_DIR%/README.W32 %ROOT_DIR%/bin %ROOT_DIR%/etc/DOC-X %ROOT_DIR%/COPYING
+7z t emacs-%EMACS_VER%-barebin-i386.zip
+popd
+goto EXIT
+
+:EXIT

# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWarlDAcAIA5fgFg2d///////
//7////xYDY+997z44nuPZ9y332vp9ZvccoIumVA0ynd6+vdhz0vca9r1MKR8SN3ZxaDClK+uh3b
6N7eQCqe4fRW91rs2gt63XrU3ecedq7vUpzr14vfb7L5fPeTe1fe9Lue+PcgqFRR99nQK2KtoIUj
VttitKNJWy+7V4L33unN493bN5shKhvY+EoQgBBo00yCaYp6ps1U/IYp6TJ6k21T2qfqTxJ6n6U0
aBhBKCACaE0gqe0pP02iU9Nqnin6iNNDEAAAD1AAGmQQgEmlP0TRkT1T9UzSZMgGmhoAeoAAaDQB
JpRCaKegTKnininkm00nqaaGnqZGJoAAaaDQAARKE0TQJiZGiMiYJ6KehPTUwTCaJmUwGkaAAEiQ
TQBAQaCam000RlT9UeUfpRiAaAGIAA9TEtADbBCjdnv/KpUgki2JhP8tL2kDDtn99SY+j6CddvGw
D+zPl/vZg5tBU8wz+GOtmc04Jq17T0fu93v9Z0cFJfcBZNgDAGW5uMxiDpSQf6/Xa+VVPFwb7xfv
P/JrH/IWLn/A9D/s/2GKd1prI+GxrGhNEjvTKMbJcoqoIlvI++4esHjfmGv/isvq6croow1kdzDS
URtujW+L/c198YJinZG3ucDua1yEipqjieCMyEQ3kRGluOeOTxr7iXL58uuy3tai8y+DM9nb5f4g
aaq4Iwaro+emHHacdRQJz5+D8uapJ8gbxoXg5WL1lPHhowC9XpTMPGUA7BmfzxR2R9svyxUi48ZU
mEu7C1MDhrdn3/O113bAheZaDR1ZJjabS2zlIzcNGtIBtFzSm0gqwudY2vh1nffXQsgRWGNDG2hm
nXpHX5ekmqrAwCGljgpMDkabRLLeOMAiSMChwzBVc1fA5YpWlnyOSTREmIcs+VpMB8LMNJanGHwX
QJFzkVyyZhN7AUZhNmSoHHApl3bkmiLFDURS4vDh/r+HC/at3q1vHfhnKoruFM3KSuVfmv7LTpO5
mZpDe0HhZK7BTP4Kx30NMqlDOh4+ZxfzsZMWD2/C+kb8PXkPTjYS/HTNVFFmjZ475wz4aZ430/Zf
e1s0b2GMtRV0sk0BkLrmRlOjcdl/Pzbnqm2u+3Cz2eBH3ICHznJwU2X0HEQLoiiQGQDxcDYvr82k
MqkmolYsUrVrUS0lBVWWlBUBF6WxEVRVUWsACRFkCR4mwhHamrVlhu3Toyt+j7zE5SCMcFTRbNCe
a/8vKfZ8Ycz8Zifnz1VWYCzFNiVWIb4yPPCDMv7RT6bp5nYG8OSZwqCYASVi9xLjWaOb2HkRwMOM
7bf95aPF/9hrHI68xDo8lexXwF4woJIkiSCSMWEiqKEFRET5+3/sgGfifjxAx8Xdn81BHHAMVeAw
g+yCG2MbBteH3Y2WWH55/nxx0SutDcqpmHMUMXdgb3ehTZ4Ah4vT4phNUh2HvAFROrfR253QO883
LycPAfaaiIb8ywXK1VznFqUYsCEwuC8IXLg5oIWCCa12LjkmYJAqPKDkxiijjXrQltdLUvyfm/Ur
GrZUGcOyKRui8H0yIkoCjkXD7raZdoEX1MgUWgndYhC009osREUXdCXp94v2xmX93vv31rtdtHpd
hVHLE+NNqiY0Qn0oWn6dR0gdRrI9lgfUKvxuduewTn6G/vYytiy5D7yg3JHwSL3VEZ/SPl0r5o4x
m+3unB+ilK0i3axP+ygOH8eLLfX19ZlSdO2OLqo2Nss6i36JXJn2FNTRIgopLvUqKYIg7+B2yJH+
b9iBY7x6zKfMwIBgUeQrleXCPMNryAL3ZWPIlkFp1kJjQacOnd3Cp5G2dLR0mwWIGFq1F+aiibhh
NweTENTRADia4USBM6wv8jQLKOTv4b6OPT7EBMMt1S6T9ess/D8IvqJOYnyEyM8GyrpMQ+KisiaC
8CNsvtyKv4PY8H2ZY69MqN6jlXPafm/Vf5Mdnh0ae7CGu22Ae13NpvUWQ2+sDUFl97XZ/OlZQUmK
vuHzPoc8tN4KXU5xhOFKQp+On2w083Ya6nyct8ZXx4SIDI8BmLKzylI2k7Ah26r6AmCSeiRoaPn3
/JWp3Bw/ZltOl+lXOZerFLO5DHFx7ea0Xxs3ImqXSL1pYfStPt2xG2NkmvS1vBlUk+L1qvYqRhOb
u1HR8GmNEPhk3iyMs1q+3T0VFjlR8dLzxEKKkKAK29tTkEjYjFVmzvLP1ZZVZm5pK6tGbp0ezFLz
P0329KeGSwuOf09B4ehhyePyLWdvVju65kvjWNCDljmZ4EO/dhKtHO71NvwXkdx7Dk0DmwLMERfd
XNRkVx2RxtH4vZ15Mbc8gNoF1NPMw8OYBCXVVsq9snhmCabfC6cEcZ5Zi4CtRtE1LT3IRpAoQ/rx
VkyxrftC+PoPAt9pLjZDZV7VuoqmCLcqsYbZ9Y+3sVjZ73qrS8vC2Prr6v+OfOvm54zBT1SmS4hE
uKBGDlGWuA42NJAbjjyPeNg1SveAfDafVC04OOppNQMC+Iv1YIKuy2edIEJjQwwi+o0sitI4sreF
mFHm/ECmIxgvnolyXjWrtrJy3JFATN6EdgyE1eU2MnN+i2ETdWLi1blL6KiFImUDDR1z4mtN+zTN
IDeQva0vzMX9T+ssKnw6bb/lf3iBMng2yvZuVfhzlFQgk5KOvvF9q+lyJaFoHsT892U0wJZBSL52
mBRAsHH3xWt7aZWlLnknd6NBvtamKLRcDQ26jdTtKq1b19h5/M5++WpX2blZ/d+v+38ocy8F93bw
Je/vxUqbkHgqPs6+AgQcFn53sQS1nvRCF4v7K9vwySXWKYusQhDhTPxjteV6kanwxepLxmQhRqSh
phvgFqwgbdkESEK09FTHMvW0djrq+8GTBP8Ly7FVJ3y8Ik+1rfw/dKuKrWitlfJX8QW+RIPUYtWM
t41VuBod5upQ52tecxdp8Dlo/Ocx69KW3h8oSUteO6imD0tre5GzggNWZcmS+AQXGLBQlpfG9mY5
Uyccl5SBo4cLthy7YvKFZviCQqknlHD/gVK3O60taULTtOl5eBXGzyrcJKXzs986ksNtuXGmQrKx
SxpgNgp+mK5E8sYGW75Txes4OxLiziLDe2mUvUO14I7YlVrXv8qa8/vWsU77XkRZ83+Jt4/He3AE
W6ay7xbFqHd5tmRK7cfQtYRndfkuVja1FO6spmGpRqXn+ZPdFCw25uz2ndDGY2aRQkzy7neak7Qg
I7awmLIE6lKFnC5wQ6PVk+sCUHH1RFa/DPxdS407jr6oOB7isSWY0WZOzo5Q+W7dLjVlXG52L/HT
H8X015mtDkFPPbf6/KySr0/y7+h06sL7PR7u98YvYEnFihDCw26mmxtDvEwfB7J5PL0WV+GrVfyT
dhHskN7+/QaEFHOrqe/f2sutfRPktz7Z5sL4TYtSf08wMqIqn2qaVqqE5fWd3X19R1b8fPz9XPW6
2LIIkggSSIUNhFFZhDZwZO/fw+3lz5V02rlmMCj8XL97pV+vwMIUKiNkPRzCvf9jjXrANhDJmanZ
/AQFXz4Tgy7zTy48feOp9XOaYPC+x8DDJxiqsEPnEQH+VgVUVFD8VBPyU8uSatOa339bM3CeKPwN
JInD8y8gefKWvKad44NSCvlxlv8b8U+nQ6rGHHNnLRDk8ky6PFUQ6zJRTtxN7dxMdpxPsPUdp2HA
+sq9ak9OfuwmmZYe5XuJByt18Yc753bGQkPps3RR80TDlFThi7oDPPpHhdQzH3PY1E1kWt03+LVX
h9Z5wZdKfORqxPbsOBDpEd4VE2C0CgB7Q4vnKhQVLsBLMRGBB/JSovA816iKyQTAPehT0W2vqXZi
+hU1RA6GvL0E56QenDyvgvLMitgda0+j1iXcjUY7ShdTwasAHYrprwDqzDxqZ3bnSryBtt8TgdCI
xVlpbs/gg8XRrKUSfVwlr5a6zH0wwdZ5/G36p3jbacUh4xHl73naZofoigeLEhC8COt1ZDkqIfyS
nQdWV0KV715xY1lUlVfhllthtiTChy1o6CxwefoKkOGsByZeU27Taq7dy744nPht6XQi7C5ChOvI
GRFUVUEVBW1akUBAIGgzYp3INW9uSCv3wVeKTCLTot4lA+o2jn0Xp7IuZJ1RxxLiYxk/14+dYS1a
RPY5WCyEOsGQ8QMYgNsTALj4fiOSrjj848mYV+jbaSLhQtsttq0tstWlq229I9rxN/c7fcM/n3vb
oRiXEjhrrfeevkUwsYrBF9Oq28fp9gL16HxpMTY6/CXuADRgepmgnFODAnBKw1RYAmKrqg0gh6sb
GhTv+sq6V+TAMstNYuyFAheFJIiBCe/S8ShYCaCEJ0SGC6jIiGtBoGCtG14I1WSSH4bscSLgOIJE
MgcVGy4VqbVs2S7dIrBi0UdBsVOooXVEIV8IUa+O4mAKheeGBO9jvKpP7TPNwUSVKFeiSnrK+hMF
ZrGZUnnnUuLIIShBRKEG57ixud07jfetmEioxAqVK2zmAjNXJIuO+2Bvpcb2fQHwQOpsUic9txuF
tuOnhnuU2A7cjJGhvO4Hir2Ibj1iHM9/gQ41AC9NactJE2BAPV9dO0kXViUoCcoS7/Js+MgDCzgV
XDQXNuGmmS4zMic34c9MdVtDr4nQa0dQNtlryoTmpcK1BEIc/61QeVIZKOJfWby+g9op3aPiU69G
XA4gDWxuiIBjtDWAOzYY2V0G07tin51OhT6fIX256z1Z12BrYckqx7iHAs+0a4WuF9nEeffjxte8
5OuPWW+MSgiEBEAKF4nNxtsIcKhq6JOweASjuYQiAJBBeEEV0YrrBaXEqvlMIgRREtwAhiEd3jBe
PNKCFovQUqpyUtcNw7NGyo70SrsLtMAh4g4Zar7Do5qacOVrA42zoy2k314K6UTNCLxxd1GtQmVF
JVT28FIbpLab2G3+GdoAbgCS5EQo2RZJUcWcwS4iGlRCIgLghMucIPsTlEmULeQsGK72kePYtQkT
qYbru7kCPp5atnctsdFnH22zGQqCPJcTK3HIzo7ScqDrECo0eNwRS7O13ZvXAM4UG7eLBqIkZNc7
GNw3slIHhAHxcq6IWBEJQbxeeZKI5ADoucJZCayUZ9MGhAGKRcC1uLayvhq1xIzm3IGrCbQipBrX
RxxNsuPLsM7LXteiWczfAaM0JjxMe053zRVG46fN3HQuovLIjhyUeqsqqHdRwjvd0lzhrwKMwUen
kZXqgI85O4g6CD+8Es5jqNZsvPYZ0RAg9qUXtbFEBIcsMoVmldII1bMkiOFpNjqRLiR3WQhaCSEO
+xxd21PySWpqaXXLmfIiW00wh1b/77IZKY5OOSEsepgPFfSdpsktLv1ttV5Kw1tDmxQ6kOMzqcTJ
VN81rrejAxUP2SJJZJdxgZaUsq4jRTFUB8uRyNjdUMnKyQqGc+rDAkapYOChCowS6TXA0/8DSM5f
RB8sErACrqUSNhgr6DrU010SFPi+Z4GRxJ7eIZmT1368KQDMplDDUlOuKe2EDQphzOCU1OypucEC
q24LRmd9imdWfnJrakDOcUtk+AaKEmxhyvNW10wuER4IoeZtW5JMBsm99uSDl8mTgmqdQHycNQ2Y
WVPNlS9AgThUXWoaNqFCpU2KZkfFHCaJOmz6VFstVfuK+zXgozDULE5E4kRlNJEyVLF5ZVnfjvok
YMClbWQIILFEk3REoKAO+GAQwWKkpRLBgE56WSCXHNpyJZAE7e5EFjqfxR24yBn0UpnbUDeFE598
7G83aLyfmGl+kXUqy6N5mAKKslHsTVDftUJD2HQQqb46THsTRAKUtpyJeKIvmcjQLk5hQ40P4nma
lErA9iTimOcvogUTcyYGnNEojlIb1NqjlEjVJpGqEsBlxgGKqYmw1O2/dKRjO1YLXMaMGKjE9iNM
FS7Jyie1Gxc/EKh27xsnAa0vFJh4W8B82iZUPSEINn1GWAhoYMMreaoCuI7mTuclOx5IxIrzvY4C
KAbpI8Z8OilTro8DbJNenKuXDM5rlEkCRkSRJGQJGRh17tptpdfFLBW6cE30qV6GTKZNKZKolWyX
IUcUylIhwdvFPA3sWkFoGJHMOhDBwR5iduEsxmEJkSxxxaBOOCPP0JHsAXENIiZXRBh0pQjxvrL8
wuXlMkwxxE+PpkvHObcCi4KMaiR79jdrXUpcqiJ4+YAszXDiqJpWXzAF+0oOPKt3N0oMzZOMYa1S
rCSkmsIeHsRAIKl3BcOA9tWYQA2nJ3iiS+lArGdK8cSsk/GRTj3tJRSelfKCaMil5GfERSGiFNsM
7Y8klJNQCRCykRdLkLEiuJ6yON7wslJbLB6eyJrpVJ1ffoXl1fkskjGDkhTWLmtRtbOmD0RDYRE6
3LqS3LdHhdKG3EecOMXIEtEeu1zVZm3axY3UZ+YHR5IGkROED4h6J9AlASxZM7a8dOV+le1zAp8S
KmIuC8siJkOcdQ7oCYDGTM0e7LEjZW60KKwohMYVXgaNurLJcUTVRDJ5E94wc8BSdNwVgS/4HJQD
BrVTbBrNKwhVKFgevProUviIuM0zcTnkzByK5E7mUGwzTSMqsrkVojRlmZXwLixHuSzI6JGQCKF5
P2cRwY3IKNua6lzI50Q5PeGqliHVNnMDluipUATZMJRPy+aoeRXfrLEJxdjd5YUVbd+GAGpIdASq
i7QTjxQSfBmQ9ZKjWpwqbRlIjJOcloIG0ReqhK/lGJSxcvPE0RIKlxmOZHI1rlCQT9oBfSlpJlTK
pTAaqgiyTvanF2LG6i4ib7RpI28vKY8Lln3Ni0sxQfhXeKZRB/NEKHckbbULm1ckDkyWXc2PamTi
5g59yCHHrsYGi0HWipH6UELIJ8xEogmROZTMzWvpIk33THIJNgm+nFIvNus514DVQBdsbKpU5HTp
nc77EYACi1KCJqCZeosyarY2f0KR4jOHoJOScRySOY0YqTHPMrUwYXFY7K2NVNZq9W0epPQqk9ii
mtzsdt+9HJE7GZdmwPsQejLRHhjRQ20ic+giC9jg3iT37TJ4tA2dvFE9odcHbBrk5DjRI2eZCG5k
o34giibkEGEwYfOvqbW81Y90lcX0VLmb4HsKSgD5GZKLEQoqaQd/cerrO2tZ2W75ovhdn2an7dQa
lJe81Ka0R8jgZsuXCU0jE1KYKYUspZ0Ka1LItVKAJFKg5BTBF0IJlmpFNvb5eR6TaptEJFPF3/h8
3ha1KbskkP1T80ec4ncp4kKMBkY8SiMGHngsVEWIiKuJIVGKkWPl1TKbNcvTYV/X8pb9XADoB+tA
jPjZ9J959CnDf194IPvYgGAfIOzEMXWJ+w+4f1rPCqs5nMue1/ifqOBY+0/EXJPot6iIc+7yJzSC
LIwSEUFkfmPx8fL3bkOkt/0MR6u+f9M7mORAxsn9i+Vvxg71JMdlTqIPzZIBgVM0Sc4GM1IkNBkm
yaD5ZiJCxEmiuFP1sCiLLNAJlmKy600d4Fxd8JVvY5FUUX5FA5/CJMEoYIO/y4+WuYnadIo4DHul
EgyMiQ6ep816cCYtv2crjxbaBvU5n/EggGg9DVB5GhMcHNyMCAxILYzOO4UvygeA3YbYxekmQKUP
3A5UEDaHxMjwMACzSOt8Dbx9+4dhd/I9gHbxgqkr++yCupDqOfOX1Ju4r48t0tB8z8FLBaba7Shp
Yr9CYAoqEBiQk4HBBsBjJIZp0MxYAVPGM4o4tKQCIxyhTMQmDIjyxFVVS3Xq/cd4mvDJ4a2rFSo1
FCS5dh8n0KhBWgMBPh9aTm7yDXBM853iu9Ct7B2GBMgoxIULdUIf22evqMgMdJPPpZE+VDY+1JMD
NcEboBFmhfe5MChkzyjIvRCSzGG9BU0Ovr37UC8i8AvCXvzEtmkpAHret5+w7iFXyxLEg7BthnRG
PL2rijZY2PYhoKNAeIzBD5JGZ8BjNh0Ls7vmbENYfJSMifafE+2S1fqe3/TcfD2cEl9qBxM4gyQR
SkLvCfWjibV4KQCgBAU1/VUEPUcYQ/jBaRJEO/w+/4jpAEHn8z3noHiA+Id7Yj7nyEh3TeJKR+J4
rQqQIlnmqf1FSUFUp/gPepUY/uSdz1GLbE4MYYoJ/f/UTfl76T5F66dGh48+SwkWEUSiPQvSsuGL
3nE8NMPd0fpe6wfDBKqqfyNZgdWw8xrD7o9xX+s8UNQqMqSDzLWyMif2cfadeqS68uHBUhpDxQI/
qC0pH4cSwAh+QxKHpoU7J17mwFfvogGY/S8zW9j54Y2OvSl9aVjCGFEl7PTnge/oB1mlxcFHJT+R
YyxIhJzpRK7C+ioNfnuiUBgmMdwdqsE6kvWCqJg2EOsQLw1Pj1Sr004cTVmQIMIkJAzXKuKIG2hk
xOjfskaGc+mJ54XpDBtq17YDGcrBsfJw74REQtdcyO+aym5hxsKgwkNQRBuISREwXZ1dWMOELxMR
AxjidjBQWbBOvRuyLNr2ZwZzwCA5xjzCRo/QQwolSIju0Sv7qMWDmUdNsdB3Ll2nNzSRSsfaWP1u
/0xsfUaLFBs6sdjdjJS+42WqULVJEImMfL3py5TOxOm5mw24ibmeTz8vRUPIU+IiJv3yleefUZLj
tdW1Au2MymxPj1cj3I3oL2m0fyMURCxN5jvykUXMaDvL/luKnA05HHkdnglHyOtM0TcgiRI85yHO
JoP7jUwBsF1MDZOBGgfO4mjvxG763DyKWA6yvv20xDA1tULRPXCzU9tSqAQuJ92kAaiebSX4eGgR
XpsPoJSasZfd4HIcaA3HJr0m8mykOQiaMhIz7xw5IbTaa6KB8civn5STsUC4K7zzPTALzZJVKlii
tPGSnbJBTWiaUZOkmnlyaOClq9aiJ0osH3KqiOz4VqM65xs4ozmOHXxKnK3M7xlCpyLo1p3tqGOD
aOefY4jYn2ztoMZjVEIleiap8dGsaOTDm57cpsu6oGnRBvBE+w2FJHedzm71C3MUA7AdTbTAb6fe
0KyVhGQSgMSxsts4ed3XDsT3sz2QkAYHffap6f6YWM6Oon8yPsT1JEoWIL37Aom1OiBIaRm5DPA4
EYcwEoMpEo2CWhSxKRKDKRLQpYlgloUo0EoSn/ql3UXpSQRy8iZ9lkI5PaHoWybO2fZDr9Rp5TH2
NMxEdEospYDLAWNSzmkw4LXawKzDUqMpfM0BxQzgojEY0A0xP32glVlcQiaB+vtkcDWvrwSMsvgb
qnuxzmVI7eVVS157x+hbU9VY9TM4X2D4dyRcbGCw6M4Sx3ERNmO0djuAhzm6x0ivxdEKn5BH3O/e
M7h48jdgcUkh7/mt8arJU7wGDmdRuSyNDFcjFNmJDKZjX7oAS6udRGZjBZAzZsLzLUWR0unspVnE
Ipky/nCuGw72ndIWnb0n1SwtdehJ7x+GOt0GlA5sWRJ56If8QM1O8O1rJ5YxkCB72uK1hPZJKfTC
6V+EgXkmBsKKsB+XsOlzFOoHh40T6XQGwguKSKHzaElTlYyU1PXh5fQswBZh8EdmLhfD6RN/a/w1
LpLt8SL+Nt4pziLnVmIR3cTncbV89DCaAyTQMUDt52Gyb7Z7zkvoCTldNfBEDFwzERo7ziYsMaO2
rNjJxQuUWzaIGhNjChGBjPOFk9JhYZdpgOpfnBNVIkKjuZhfELCVq1M4hOGLKFSd8xkFFsQXaYUl
G9ICDDxGYQly19dfj2QlsbekcOdACNULnMiLHVzY5X1fMmVBgDeBLK64Jh6yv1SpGfjkhmZDY4hf
nMXeBlnhkwONMo9FvSSIEO4ftTkRoIERuvqrPqJOZ9fCySa6vz9dlzU1C8xConGhx0CEacVIjRIS
ZDK+OOqiuIyHRly0Vx1vUzMqllEktitJWzS1PwnPfwMVj1zPqY3UmFGVOlGJRmbLW45I+4qXxy6a
w+oQ7ADqSO1LhBeRIsJJEpIPMmCYkEMkE2F+nAZ5blU8p/I6zE38DPgZL3vgSy5xVUPs+aCw1+TD
peC3pBFy3r2wJtAU8mAntpvG1obzCWXoyEPfzBX9ajBdpGPHK71cYjOe8ic7ClUNMv1Qx7wUpSs7
6tYvHehJ7O7t898u4eiMp6mqRx+KmALagXQfjIYEEjyeZ4np3hvaXMJuoAre1I93o+67fnr4c+32
9WSRkkeitw6Zlx83Ipc2AkDbufMeiBfvIHe1pj7F5L1qYljIzNfj1CYuTDPukWrVy6J0Q5DUt9Ln
NGQRBlmpXUO0xQ7EQeJGYbjsjtXEZHWdUT7hceKPGsf3tsXb5UvEJzcCtT2cWjDpSplFd5L1I4Oc
uo71Fp2pvtdhGFJBRHdLzWBZE+qQfHsj7oyyH/GL5Kec8tki6+8784huEh3xTBAs+7xIBrMBkCGn
yYEVXO04PVJwLjmQSwHPvgI2OnBhEBYkU9rYLPVKzIQ6Ct7fLYHmhncDvndIZX6HTpCsjtztNGFY
LmhigOwjq61w/WmYLNmCA6KooiWurWgWMFknHOANwfgFsVaWlUC7A9JtDmSPfYFmq9giC7kpChET
lVTi42s0NjoBgUyqpmdVjhpXUwCGrnEccDpDeSzyrwvDwS2sY6aCQpyRhRd8gISv6u6AS+Ez5CxY
dUfA9chy8Ap42he2hiERUn6ykS2MI1saqkWKHAg7nGOPo9P6+oqNHE6DZ0FEGSCRsMiJRD0Dozak
kaWYdFiuq4PnAkfZ93zoLEpqZaBuT+zdWEKG6lQBK5J9iTOgmpDFC5QwVK3GS/t8BYC8cUSxG225
Cw5O+CkTuaKSFL2VBE3zfOvzZVXAE7er19hyzzpwMOBibOi4rt3oYoa1bIeYU4/YIQPS8kpZA98g
feMwh7QLIoAoogxBVSIwiHwQjubgWGqoAbQYTskLAUAD3wbprQ9qJX0fb1o5tsomakNCGZ5iB2ON
BKwXhGkjBbREiNqU9lYEa3LLQPjbeRy8zhQbxEYSYZtSxKylKZYPsRK6bBdxOVd93QGvmr/cHNGw
agz+oBAzDpNFVIvHAOpjJEgSB43qSBR07k2uvWnMIe6HtHkntpPWEZRfeaLWw+hahhChMBgUBhRO
SHsB84eNt8rdxyEXwa1DhGFAEJ53rA1zCH5UJFIERAim4eh22/WbqKREOBoMPJpPIJufJyvcxVCV
oilW5MeuEMQnGbwucRhqIggqxFpCQMITOppQUgwvRJ3gncGPO+l9WDyB8KvwIoaFNT7tQPrD2Pev
iHxeXGGMKP7oyUE7WQLADnSYuno+1pB6uAYQT3ITemqlWnSHg6OhT+CqdD4+G423U6C5NJDtdeyw
7QzheMmshFLadpyWSQZ2QDsoXNormhV1BUzCzpK1PHDkTLAE1/CqIeCG+wjpQALDqKSfKwUkFkiy
CjATU598ziyDawaB8RvbimqhsaeypHGHCFWsdsKoTlCjEsUKIFVp8QPArUKDNk605Wqff1UKRNhm
O89iCUzTORkQgdG0k28/RiHAixo+ru1cQfRyI2eYiFA7Atg4gI113HnwIkcaeiLmEYuV0rWtdm8q
UkjmavfBRrcfeQjg0xpE35RQKQ7ezzqeCmKmB06wkWEVgQJBYDCRkiLIpEIRDlyJ9Yf2jGI2PnB8
EIewTv7dufZ83zaeHpVUYLBgjEEGRjJDguKc+4uoOqg6cm7+xtSQIQGQP7EVIQBKHAHsKoB5AsUU
xHqg/jD1S0dXPOFTaIeYg6tWQYJjtU69mdLZkA94W6tjiNRCdS7QfScnnYIT4VnpR18Md34UoU/T
yOxEt8y/A81dr5TSHT1cfRVpEkw/fRGMEw2NG/EH6MS1sqYKWgJKNtj69YPxIJbB4xsjco6P0hzk
nfDxkDmRBSKdDA5S48bmZZK5ahSlNRXAqtIFQithlREC9gUuKAXoBUSJAkOgtCx2xnUGK4utagzF
l4NIYz2ZDxHFuaVSBi1RFEQWJVSjCBuWFkh9vYLxWRj7AlPd57TATKSBWQB13e/E9L1fQd4cfLRT
bUsIbk3hdSOYxipNnaZmZYlasMWcgpcLmaqQxxA2+1PkummWGg4xmYqOmhcmSojpckSFEID0SIAO
QMm6pDVSXdiVoXy657jazQxHMTJwLEzMM1cHTYZgDdS1Qm8ZPOWM8jE5cXTTTSvi14x5MJQZFTjZ
qmFa2iLWtBpApoLYWAALSon1OKtHQ4rgpyCbX8dEGEBkUSLAILmfqlmpLoIFKPEgPlUn5xqsHceA
Fh1A9sU1xDifVy4mBIQewgJoucIm2OlMMabVNylYp0olswKwo5qYIniqlImaQlNCmhFoNCZJxoY0
6C0023dx+OE4Gu/DGGcFbQooyMUzWOcUXFMdwlnt2TTXIlbrgJYplLEcsMYDklwlBmdbmGYWyZMG
rgRY4bWIWoDR5sqTDGQEkLKTZxIXKda5h2DXBQ3ONUqpkZ1qWlnYbFCkmEJeg2MZe8YQmMEQuBrA
wwrBxa1hLimFEZEsCFmEGZsmNqUCaXEmJJGF6dZRKo2cUMzlTjcbimQmcBAox6R0hm1SalNGkCv8
5g9lA6dCubRmaWWOoPbPfo3FQNUQO/7q1PzGabdYA80Svyq7VMmG9g0LYkICks2SnAnPxAJAGUQI
MSNzBhIUhAQkRTpZifuKIbhTU0smBal94gHWC9fy5F6D17j8IiBMQ0MGNH6vw2HShUA9hkw41xrn
DMsNEqVANEz4CXCGkAe/f5HIqUSibvg88zCBh8a3cgU1/uBiZRHvDT7DL7nuiAmJADvjcF+tFMFg
SckEAAWQ+xve9sWsIdaBqHhDVOTASLLUVpCCQkI7ugqhaI75eKDX51xLnyKQsKZtnPELSQGB4sDQ
8J1ExOM30rgVMzBGwOg6lb28LoYPSUMeWqoUSBAkrdsB8BgsVbW0j+1bZ9cS9aXTY7sQyjDbZBKW
OTgyW0mwUrUb9noPswQDcHRvQNYPtawSSHm9EdzAbF1uHDDwAdOvYl1u4uFJ9iP84oQg7DYm+Mh0
SmXI33lCLFpdIGKm974nW9GlnRQoevFd5WH+MuZlNnfDtzqw2EqySJNBULP9M88wbivqEe6lCXMz
grQhb7dpj7AKqTwbOUQpg5B0dEiwI2+VSghAEgP7SVW5r0HxD5vXsRbqXPg7diPFbaTDhKiPWuto
Zj2YZbfm06zFulqEI/lzjIsfufthDyk5yTkcn4nlF7BoJRY08s1YdcBwNYuTAOal6Gr9zxE0HRog
UKIXNU+NWqfD5XuAHY8gfuW2/QRZ4GjgTTMIkI65SBKUCorEK1ltLbJlqxgshga2lgopSuMKGGCi
xlSjJ4Sa2T3ugLB2Il8a/t5WQTjZdCa9wPmOgnrqBd02JzNyFnJiWgaTB+4pgQxRFrkxMOPo4zIE
zLBtQj6fXoav4B99UphibugNoDJ00qfIPma6bLSJ1/07wWro4ERAomX1US2k260lpA7FNClEXmY5
uSpRo3CDUrjsDmgH673K0IHDKh6mFPKdD4Ap9PDI94pnJJO1t8t/olAAQM6LKBhVMxmEEYJcRW6C
glxH21HsvSIuBQ9Gh1HT0UoVLgsJgxhSIsViDEFFJ7BKSE5EQR/EI2AzGmDFoWLku/ERfeIM4FJa
MhVYitQI6c+7ycXxCaZ5X0MiZg/OROUQXjMC0fg2xR8bi6YB35EpzfDGb0CYHSqyTXMFlCEgpqLh
IOCqccawwmHdnd5dvIwiJBcFrPcERxO0RgYlycKWsoZwQCCtDh2F52zCpiRkJzE2qaRzeKqgcIgi
LQIiBsE8YoC5afuQ41IR5b541l8aTAECONnyMigWARYSVqgSkFTs4cJs9EzRs5xU6Jw6ZKITnnFp
6ypffKhixvAYqqYQuYMRoldUwDLXlUAtd28dYNaNI5oIE6nHCKXzIe6roWYhhR+IjvUaN6cwIiKn
ix66Ylj87pO/xaUBLy5NeZ9OENBHn6ymx18e5RirBVWCrbQeQgxmVP7ax+nEN0ppiNMZkkXk2N8Q
HxkLECCP1tOp5kDcN+0h40FFigooKLFFHUpx8Ek9UjN5xGHyIdo8yMjpgRA1R+DPASbYYVMJhAwh
WIutAKKTFL9lMFRhDG521B6kEr0VQT4mKYpzYYtclcQL1d7o38QX4Ev7Et179MHwvpiN8HG8UmQ+
mOKyJ9yswPIR3OKcBHQUZe4h8xmQJmYtanMJGAGfcaUKlpvbKWMbA1m1VbMimxBLtd7lwB9a97ZP
SxFw94EOpIJDpO9hVipLDYVUCFJrJkVmgKfykRCQAoZg6IZxW9hr1w8VplemiY4SoNQ3dTvFb4Bo
xUoDtXyGgQ2AhmBvtwZQlZCQw+pDQ2NskphhuB2cngcwQhNouRY+kwiHEQVSIqVVBSOLWqPvgvhQ
2TMcFKNyb1LSVFCil1RyLEHREpAikjgKnmgoH3xV6NmJGYksHkjXvrSaFuyqjFIpEXiXiSzO8SGV
1ndduiE90mXMwHIHtEoioK6Ys2yYMYQwYtEbGF1bWZe8YzruwpOYcpBHNKwRkQUgEiAU9+Wksnt0
A6NDQRLlUMgYMUY0jsNlfDS4YWBBVQSYRIIsaLQdFvyy3F5S0rpAI2agFZFDoBjZOjrJI0QvMJGt
9C49a6W7EZEIQhFJGHMR9DBSgp7mPlRJwifIbUyPcPYVA6ROk8iuu3qdI/BUpKH8HxH74Gv5UaVS
Mg4AZg9j7vHkLUQ7j3fbrORlkSMd3ADthpFKLsKVaOdion8aKohoYzxWKCRQYIhXgidj6mpW4ed4
Br1wjnTbXp/jPMtAoaq2BpIhn1aEsZ/jRTPoaWXQrkOw4x/F8oA2T0QxjShSno0iVKlgsSwSA4k2
Td4SiAOjCdJ5qdSliLX2rVCFBbvExK2MSSRpUlA8++BbyoVUgPqDc5jpwRifYPWu9sFk050O5GgU
faRH1yTJivpgcn9DNAVAfj9xV+x6wBwHeEsPUQQ62wA9SaU7L7jWZaOdxPKYiBdE+MKftEh+BklI
E78nHsMG713q9OFxFPS9FpkpTNymAzlnLMHBJgKhECkIcdw8Qgni6a6kPNoe2F88zMhMr92RQG1K
fJe1VKFNyvYr+ws2bBHuMH0NcCSfKnXk835B38dd0B4gVOzZxfUvoVuuCPQGoeMUPSGJ26n9k/vw
PIQrtWcVOKukqROgP8+4/+LuSKcKEhVcoYDg

^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-10 14:00 bug#6602: [PATCH] make dist target for Windows Christoph
@ 2010-07-22  9:19 ` Juanma Barranquero
  2010-07-22  9:20   ` Juanma Barranquero
  2010-07-22 10:01   ` Juanma Barranquero
  0 siblings, 2 replies; 31+ messages in thread
From: Juanma Barranquero @ 2010-07-22  9:19 UTC (permalink / raw)
  To: Christoph; +Cc: 6602

On Sat, Jul 10, 2010 at 16:00, Christoph <cschol2112@googlemail.com> wrote:

> On 4/8/2010 11:51 AM, Eli Zaretskii wrote:
>
>> Well, do you have assignment to FSF on record?  I cannot see it.  If
>> you don't, please talk to Stefan and Yidong to start the paperwork.
>>
>> Once that is done, someone will install this for you.
>
> I finally got my confirmation email from the FSF, that my paperwork has
> been processed.

I've you can send again the patch with ChangeLog entries, I'll be
happy to install it.

    Juanma





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-22  9:19 ` Juanma Barranquero
@ 2010-07-22  9:20   ` Juanma Barranquero
  2010-07-22 10:01   ` Juanma Barranquero
  1 sibling, 0 replies; 31+ messages in thread
From: Juanma Barranquero @ 2010-07-22  9:20 UTC (permalink / raw)
  To: Christoph; +Cc: 6602

On Thu, Jul 22, 2010 at 11:19, Juanma Barranquero <lekktu@gmail.com> wrote:

> I've you

That's a weird typo, if I can say it myself.

    Juanma





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-22  9:19 ` Juanma Barranquero
  2010-07-22  9:20   ` Juanma Barranquero
@ 2010-07-22 10:01   ` Juanma Barranquero
  2010-07-23  1:14     ` Christoph
  1 sibling, 1 reply; 31+ messages in thread
From: Juanma Barranquero @ 2010-07-22 10:01 UTC (permalink / raw)
  To: Christoph; +Cc: 6602

On Thu, Jul 22, 2010 at 11:19, Juanma Barranquero <lekktu@gmail.com> wrote:

> I've you can send again the patch with ChangeLog entries, I'll be
> happy to install it.

A few questions:

> Main changes:
>
> - new parameter for configure.bat to provide path to distribution files, for example libXpm.dll

Perhaps you could mention in the docs that it accepts wildcards (at
least, it worked for me once I switched from backslashes to forward
slashes on the argument).

> - README.W32 relocated to nt/ directory (from admin/nt)

AFAICS, you've copied it, not relocated it. admin/nt/README.W32 still exists.

> - makefile.w32-in contains new target install-shortcuts to invoke addpm, so no short cuts are created when packaging

I like this change because I will be able to use "make install-bin"
and bypass addpm altogether. Great. :-)

> - new file zipdist.bat in nt/ which replaces makedist.bat from admin/nt. zipdist invokes 7zip to create the zipped binary distributions and verifies integrity.

Does make sense to keep admin/nt/makedist.bat?

    Juanma





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-22 10:01   ` Juanma Barranquero
@ 2010-07-23  1:14     ` Christoph
  2010-07-23  1:22       ` Juanma Barranquero
  0 siblings, 1 reply; 31+ messages in thread
From: Christoph @ 2010-07-23  1:14 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: 6602

On 7/22/2010 4:01 AM, Juanma Barranquero wrote:

>> - new parameter for configure.bat to provide path to distribution files, for example libXpm.dll
>
> Perhaps you could mention in the docs that it accepts wildcards (at
> least, it worked for me once I switched from backslashes to forward
> slashes on the argument).

Can you post an example, please?

>> - README.W32 relocated to nt/ directory (from admin/nt)
>
> AFAICS, you've copied it, not relocated it. admin/nt/README.W32 still exists.

Yeah, I was going to propose this before doing any cleanup. README.W32 
should be removed. I will add that to the patch.

>> - makefile.w32-in contains new target install-shortcuts to invoke addpm, so no short cuts are created when packaging
>
> I like this change because I will be able to use "make install-bin"
> and bypass addpm altogether. Great. :-)

I like it, too. ;)

>> - new file zipdist.bat in nt/ which replaces makedist.bat from admin/nt. zipdist invokes 7zip to create the zipped binary distributions and verifies integrity.
>
> Does make sense to keep admin/nt/makedist.bat?

No. Same deal as with README.W32. I will add it to the new, updated patch.

Thanks for the comments.

I will send an updated patch tomorrow.

Christoph





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-23  1:14     ` Christoph
@ 2010-07-23  1:22       ` Juanma Barranquero
  2010-07-24  3:18         ` Christoph
  0 siblings, 1 reply; 31+ messages in thread
From: Juanma Barranquero @ 2010-07-23  1:22 UTC (permalink / raw)
  To: Christoph; +Cc: 6602

On Fri, Jul 23, 2010 at 03:14, Christoph <cschol2112@googlemail.com> wrote:

> Can you post an example, please?

??

I just used --distfiles C:/emacs/build/*.dll and it worked.

Well, to be fair, I used --distfiles C:\emacs\build\*.dll and it
failed; then I manually changed \ to / and it worked.

> I will send an updated patch tomorrow.

Great, thanks.

    Juanma





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-23  1:22       ` Juanma Barranquero
@ 2010-07-24  3:18         ` Christoph
  2010-07-24 13:28           ` Juanma Barranquero
  0 siblings, 1 reply; 31+ messages in thread
From: Christoph @ 2010-07-24  3:18 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: 6602

[-- Attachment #1: Type: text/plain, Size: 301 bytes --]

On 7/22/2010 7:22 PM, Juanma Barranquero wrote:

>> I will send an updated patch tomorrow.
>
> Great, thanks.
>
>      Juanma

Find attached the new patch for the `make dist' target.

I added a Changelog and NEWS entry and removed README.W32 and 
makedist.bat files from the nt/ directory.

Christoph

[-- Attachment #2: makedistw32v7.txt --]
[-- Type: text/plain, Size: 37943 bytes --]

=== modified file 'ChangeLog'
--- ChangeLog	2010-07-24 01:23:07 +0000
+++ ChangeLog	2010-07-24 02:54:28 +0000
@@ -1,3 +1,16 @@
+2010-07-24  Christoph Scholtes  <cschol2112@gmail.com>
+
+	New make target for Windows platform: make dist
+
+	* configure.bat: New parameter `--distfiles'.
+	* admin.el: Write version number to makefile.w32-in.
+	* README.W32: Relocated to nt/ directory.
+	* makefile.w32-in: Added version number, new target `dist'. Added
+	new target `install-shortcuts'
+	* makedist.bat: removed, replaced with `zipdist.bat'
+	* zipdist.bat: create zipped binary distribution, replaces
+	`makedist.bat'
+
 2010-07-24  Ken Brown  <kbrown@cornell.edu>  (tiny change)
 
 	* configure.in (START_FILES) [cygwin]: Set to pre-crt0.o (Bug#6715).

=== modified file 'admin/admin.el'
--- admin/admin.el	2010-05-15 21:12:44 +0000
+++ admin/admin.el	2010-07-03 16:59:05 +0000
@@ -95,6 +95,9 @@
   (set-version-in-file root "lib-src/makefile.w32-in" version
 		       (rx (and "VERSION" (0+ space) "=" (0+ space)
 				(submatch (1+ (in "0-9."))))))
+  (set-version-in-file root "nt/makefile.w32-in" version
+		       (rx (and "VERSION" (0+ space) "=" (0+ space)
+				(submatch (1+ (in "0-9."))))))
   ;; nt/emacs.rc also contains the version number, but in an awkward
   ;; format. It must contain four components, separated by commas, and
   ;; in two places those commas are followed by space, in two other

=== removed file 'admin/nt/README.W32'
--- admin/nt/README.W32	2010-01-13 08:35:10 +0000
+++ admin/nt/README.W32	1970-01-01 00:00:00 +0000
@@ -1,264 +0,0 @@
-Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-  Free Software Foundation, Inc.
-See the end of the file for license conditions.
-
-			   Emacs for Windows
-
-  This README file describes how to set up and run a precompiled
-  version of GNU Emacs for Windows.  This distribution can be found on
-  the ftp.gnu.org server and its mirrors:
-
-	ftp://ftp.gnu.org/gnu/emacs/windows/
-
-  This server contains other distributions, including the full Emacs
-  source distribution and a barebin distribution which can be installed
-  over it, as well as older releases of Emacs for Windows.
-
-  Answers to frequently asked questions, and further information about
-  this port of GNU Emacs and related software packages can be found via
-  http:
-
-	http://www.gnu.org/software/emacs/windows/
-
-* Preliminaries
-
-  Along with this file should be six subdirectories (bin, etc, info,
-  lisp, leim, site-lisp).  If you have downloaded the barebin
-  distribution, then it will contain only the bin directory and the
-  built in documentation in etc/DOC-X, the rest of the subdirectories
-  are in the src distribution, which the barebin distribution is
-  designed to be used with.
-
-* Setting up Emacs
-
-  To install Emacs, simply unpack all the files into a directory of
-  your choice, but note that you might encounter minor problems if
-  there is a space anywhere in the directory name.  To complete the
-  installation process, you can optionally run the program addpm.exe
-  in the bin subdirectory.  This will put an icon for Emacs in the
-  Start Menu under "Start -> Programs -> Gnu Emacs".
-
-  Some users have reported that the Start Menu item is not created for
-  them.  If this happens, just create your own shortcut to runemacs.exe,
-  eg. by dragging it on to the desktop or the Start button.
-
-  Note that running addpm is now an optional step; Emacs is able to
-  locate all of its files without needing any information to be set in
-  the environment or the registry, although such settings will still
-  be obeyed if present.  This is convenient for running Emacs on a
-  machine which disallows registry changes, or on which software
-  should not be installed.  For instance, you can now run Emacs
-  directly from a CD or USB flash drive without copying or installing
-  anything on the machine itself.
-
-* Starting Emacs
-
-  To run Emacs, simply select Emacs from the Start Menu, or invoke
-  runemacs.exe directly from Explorer or from a command prompt.  This
-  will start Emacs in its default GUI mode, ready to use.  If you have
-  never used Emacs before, you should follow the tutorial at this
-  point (select Emacs Tutorial from the Help menu), since Emacs is
-  quite different from ordinary Windows applications in many respects.
-
-  If you want to use Emacs in tty or character mode within a command
-  window, you can start it by typing "emacs -nw" at the command prompt.
-  (Obviously, you need to ensure that the Emacs bin subdirectory is in
-  your PATH first, or specify the path to emacs.exe.)  The -nw
-  (non-windowed) mode of operation is most useful if you have a telnet
-  server on your machine, allowing you to run Emacs remotely.
-
-* EXE files included
-
-  Emacs comes with the following executable files in the bin directory.
-
-  + emacs.exe - The main Emacs executable.  As this is designed to run
-    as both a text-mode application (emacs -nw) and as a GUI application,
-    it will pop up a command prompt window if run directly from Explorer.
-
-  + runemacs.exe - A wrapper for running Emacs as a GUI application
-    without popping up a command prompt window.
-
-  + emacsclient.exe - A command-line client program that can
-    communicate with a running Emacs process.  See the `Emacs Server'
-    node of the Emacs manual.
-
-  + emacsclientw.exe - A version of emacsclient that does not open
-    a command-line window.
-
-  + addpm.exe - A basic installer that creates Start Menu icons for Emacs.
-    Running this is optional.
-
-  + cmdproxy.exe - Used internally by Emacs to work around problems with
-    the native shells in various versions of Windows.
-
-  + ctags.exe, etags.exe - Tools for generating tag files.  See the
-    `Tags' node of the Emacs manual.
-
-  + ebrowse.exe - A tool for generating C++ browse information.  See the
-    `Ebrowse' manual.
-
-  + ddeclient.exe - A tool for interacting with DDE servers.
-
-  + hexl.exe - A tool for converting files to hex dumps.  See the
-    `Editing Binary Files' node of the Emacs manual.
-
-  + movemail.exe - A helper application for safely moving mail from
-    a mail spool or POP server to a local user mailbox.  See the
-    `Movemail' node of the Emacs manual.
-
-  + digest-doc.exe, sorted-doc.exe - Tools for rebuilding the
-    built-in documentation.
-
-* Image support
-
-  Emacs has built in support for XBM and PPM/PGM/PBM images, and the
-  libXpm library is bundled, providing XPM support (required for color
-  toolbar icons and splash screen).  Source for libXpm should be available
-  on the same place as you got this binary distribution from.  The version
-  of libXpm bundled with this version of Emacs is 3.5.7, based on x.org's
-  libXpm library from X11R7.3.
-
-  Emacs can also support some other image formats with appropriate
-  libraries.  These libraries are all available as part of GTK, or from
-  gnuwin32.sourceforge.net.  Emacs will find them if the directory they
-  are installed in is on the PATH.
-
-      PNG: requires the PNG reference library 1.2 or later, which will
-      be named libpng13d.dll, libpng13.dll, libpng12d.dll, libpng12.dll
-      or libpng.dll.  LibPNG requires zlib, which should come from the same
-      source as you got libpng.
-
-      JPEG: requires the Independant JPEG Group's libjpeg 6b or later,
-      which will be called jpeg62.dll, libjpeg.dll, jpeg-62.dll or jpeg.dll.
-
-      TIFF: requires libTIFF 3.0 or later, which will be called libtiff3.dll
-      or libtiff.dll.
-
-      GIF: requires libungif or giflib 4.1 or later, which will be
-      called giflib4.dll, libungif4.dll or libungif.dll.
-
-   In addition, Emacs can be compiled to support SVG.  This precompiled
-   distribution has not been compiled that way, since the SVG library
-   or one or more of its extensive dependencies appear to be
-   unreliable under Windows.  See nt/INSTALL in the src distribution if
-   you wish to compile Emacs with SVG support.
-
-* Uninstalling Emacs
-
-  If you should need to uninstall Emacs, simply delete all the files
-  and subdirectories from the directory where it was unpacked (Emacs
-  does not install or update any files in system directories or
-  anywhere else).  If you ran the addpm.exe program to create the
-  registry entries and the Start menu icon, then you can remove the
-  registry entries using regedit.  All of the settings are written
-  under the Software\GNU\Emacs key in HKEY_LOCAL_MACHINE, or if you
-  didn't have administrator privileges when you installed, the same
-  key in HKEY_CURRENT_USER.  Just delete the whole Software\GNU\Emacs
-  key.
-
-  The Start menu entry can be removed by right-clicking on the Task bar
-  and selecting Properties, then using the Remove option on the Start
-  Menu Programs page.  (If you installed under an account with
-  administrator privileges, then you need to click the Advanced button
-  and look for the Gnu Emacs menu item under All Users.)
-
-* Troubleshooting
-
-  Unpacking the distributions
-
-  If you encounter trouble trying to run Emacs, there are a number of
-  possible causes.  Check the following for indications that the
-  distribution was not corrupted by the tools used to unpack it:
-
-    * Be sure to disable CR/LF translation or the executables will
-      be unusable.  Older versions of WinZipNT would enable this
-      translation by default.  If you are using WinZipNT, disable it.
-      (I don't have WinZipNT myself, and I do not know the specific
-      commands necessary to disable it.)
-
-    * Check that filenames were not truncated to 8.3.  For example,
-      there should be a file lisp\abbrevlist.elc; if this has been
-      truncated to abbrevli.elc, your distribution has been corrupted
-      while unpacking and Emacs will not start.
-
-  If you believe you have unpacked the distributions correctly and are
-  still encountering problems, see the section on Further Information
-  below.
-
-  Virus scanners
-
-  Some virus scanners interfere with Emacs' use of subprocesses.  If you
-  are unable to use subprocesses and you use Dr. Solomon's WinGuard or
-  McAfee's Vshield, turn off "Scan all files" (WinGuard) or "boot sector
-  scanning" (McAfee exclusion properties).
-
-* Further information
-
-  If you have access to the World Wide Web, I would recommend pointing
-  your favorite web browser to the following document (if you haven't
-  already):
-
-	http://www.gnu.org/software/emacs/windows/
-
-  This document serves as an FAQ and a source for further information
-  about the Windows port and related software packages.
-
-  In addition to the FAQ, there is a mailing list for discussing issues
-  related to the Windows port of Emacs.  For information about the
-  list, see this Web page:
-
-	http://lists.gnu.org/mailman/listinfo/help-emacs-windows
-
-  To ask questions on the mailing list, send email to
-  help-emacs-windows@gnu.org.  (You don't need to subscribe for that.)
-  To subscribe to the list or unsubscribe from it, fill the form you
-  find at http://lists.gnu.org/mailman/listinfo/help-emacs-windows as
-  explained there.
-
-  Another valuable source of information and help which should not be
-  overlooked is the various Usenet news groups dedicated to Emacs.
-  These are particularly good for help with general issues which aren't
-  specific to the Windows port of Emacs.  The main news groups to use
-  for seeking help are:
-
-	gnu.emacs.help
-	comp.emacs
-
-  There are also fairly regular postings and announcements of new or
-  updated Emacs packages on this group:
-
-	gnu.emacs.sources
-
-* Reporting bugs
-
-  If you encounter a bug in this port of Emacs, we would like to hear
-  about it.  First check the FAQ on the web page above to see if the bug
-  is already known and if there are any workarounds.  Then check whether
-  the bug has something to do with code in your .emacs file, e.g. by
-  invoking Emacs with the "-Q" option.
-
-  If you decide that it is a bug in Emacs, use the built in bug
-  reporting facility to report it (from the menu; Help -> Send Bug Report).
-  If you have not yet configured Emacs for mail, then when you press
-  C-c C-c to send the report, it will ask you to paste the text of the
-  report into your mail client.  If the bug is related to subprocesses,
-  also specify which shell you are using (e.g., include the values of
-  `shell-file-name' and `explicit-shell-file-name' in your message).
-
-  Enjoy!
-
-\f
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.

=== removed file 'admin/nt/makedist.bat'
--- admin/nt/makedist.bat	2010-01-13 08:35:10 +0000
+++ admin/nt/makedist.bat	1970-01-01 00:00:00 +0000
@@ -1,65 +0,0 @@
-@echo off
-
-rem Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-rem   Free Software Foundation, Inc.
-
-rem Cannot use brackets in andrewi's email below because
-rem older Windows shells will treat that as redirection.
-
-rem Author: Andrew Innes andrewi@gnu.org
-
-rem This file is part of GNU Emacs.
-
-rem GNU Emacs is free software: you can redistribute it and/or modify
-rem it under the terms of the GNU General Public License as published by
-rem the Free Software Foundation, either version 3 of the License, or
-rem (at your option) any later version.
-
-rem GNU Emacs is distributed in the hope that it will be useful,
-rem but WITHOUT ANY WARRANTY; without even the implied warranty of
-rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-rem GNU General Public License for more details.
-
-rem You should have received a copy of the GNU General Public License
-rem along with GNU Emacs.  If not, see http://www.gnu.org/licenses/.
-
-
-if (%3) == () goto usage
-if not (%4) == () goto %4
-
-:bin
-
-echo Create full bin distribution
-copy %3\README.W32 emacs-%1\README.W32
-rem Info-ZIP zip seems to be broken on Windows.
-rem It always writes to zip.zip and treats the zipfile argument as one
-rem of the files to go in it.
-rem zip -9 -r %2-bin-i386 emacs-%1/BUGS emacs-%1/COPYING emacs-%1/README emacs-%1/README.W32 emacs-%1/INSTALL emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim -x emacs.mdp *.pdb *.opt *~ CVS
-7z a -tZIP -mx=9 -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory %2-bin-i386.zip emacs-%1/BUGS emacs-%1/COPYING emacs-%1/README emacs-%1/README.W32 emacs-%1/INSTALL emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim emacs-%1/site-lisp
-del emacs-%1\README.W32
-if not (%4) == () goto end
-
-:barebin
-echo Create archive with just the basic binaries and generated files
-echo (the user needs to unpack the full source distribution for
-echo  everything else)
-copy %3\README.W32 emacs-%1\README.W32
-rem Info-ZIP zip seems to be broken on Windows.
-rem It always writes to zip.zip and treats the zipfile argument as one
-rem of the files to go in it.
-rem zip -9 -r %2-barebin-i386.zip emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC-X emacs-%1/COPYING
-7z a -tZIP -mx=9 %2-barebin-i386.zip emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC-X emacs-%1/COPYING
-del emacs-%1\README.W32
-if not (%4) == () goto end
-
-goto end
-
-:usage
-echo Generate source and binary distributions of emacs.
-echo Usage: %0 emacs-version dist-basename distfiles [bin,barebin]
-echo   (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles)
-:end
-
-goto skipArchTag
-   arch-tag: 6e2ddd92-c1c9-4992-b6b5-207aaab72f68
-:skipArchTag

=== modified file 'etc/NEWS'
--- etc/NEWS	2010-07-23 00:59:43 +0000
+++ etc/NEWS	2010-07-24 02:56:00 +0000
@@ -432,6 +432,12 @@
 ** New configure.bat option --enable-checking builds emacs with extra
 runtime checks.
 
+** New configure.bat option --distfiles to specify files to be
+   included in binary distribution
+
+** New make target `dist' to create binary disttribution for Windows
+   platform
+
 \f
 ----------------------------------------------------------------------
 This file is part of GNU Emacs.

=== modified file 'nt/INSTALL'
--- nt/INSTALL	2010-07-21 09:37:35 +0000
+++ nt/INSTALL	2010-07-24 02:57:55 +0000
@@ -406,6 +406,9 @@
   Removes the installed files in the bin subdirectory in addition to
   the files removed by make cleanall.
 
+  make dist
+  Builds Emacs from the available sources and pre-compiled lisp files.
+  Packages Emacs binaries as full distribution and barebin distribution.
 
   The following targets are intended only for use with the Bazaar sources.
 
@@ -428,7 +431,33 @@
   bootstrap to rebuild.  Occasionally it may be necessary to run this
   target after an update.
 
-
+* Creating binary distributions
+  
+  Binary distributions (full and barebin distributions) can be 
+  automatically built and packaged from source tarballs or a bzr
+  checkout. 
+  
+  When building Emacs binary distributions, the --distfiles argument
+  to configure.bat specifies files to be included in the bin directory
+  of the binary distributions. This is intended for libraries that are 
+  not built as part of Emacs, e.g. image libraries.
+  
+  For example, specifying 
+  
+	--distfiles D:\distfiles\libXpm.dll
+
+  results in libXpm.dll being copied from D:\distfiles to the 
+  bin directory before packaging starts.
+  
+  Multiple files can be specified using multiple --distfiles arguments:
+  
+	--distfiles D:\distfiles\libXpm.dll --distfiles C:\jpeglib\jpeg.dll
+    
+  For packaging the binary distributions, the 'dist' make target uses
+  7-Zip (http://www.7-zip.org), which must be installed and available
+  on the Windows Path.
+
+  
 * Trouble-shooting
 
   The main problems that are likely to be encountered when building

=== added file 'nt/README.W32'
--- nt/README.W32	1970-01-01 00:00:00 +0000
+++ nt/README.W32	2010-03-13 20:36:55 +0000
@@ -0,0 +1,264 @@
+Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+  Free Software Foundation, Inc.
+See the end of the file for license conditions.
+
+			   Emacs for Windows
+
+  This README file describes how to set up and run a precompiled
+  version of GNU Emacs for Windows.  This distribution can be found on
+  the ftp.gnu.org server and its mirrors:
+
+	ftp://ftp.gnu.org/gnu/emacs/windows/
+
+  This server contains other distributions, including the full Emacs
+  source distribution and a barebin distribution which can be installed
+  over it, as well as older releases of Emacs for Windows.
+
+  Answers to frequently asked questions, and further information about
+  this port of GNU Emacs and related software packages can be found via
+  http:
+
+	http://www.gnu.org/software/emacs/windows/
+
+* Preliminaries
+
+  Along with this file should be six subdirectories (bin, etc, info,
+  lisp, leim, site-lisp).  If you have downloaded the barebin
+  distribution, then it will contain only the bin directory and the
+  built in documentation in etc/DOC-X, the rest of the subdirectories
+  are in the src distribution, which the barebin distribution is
+  designed to be used with.
+
+* Setting up Emacs
+
+  To install Emacs, simply unpack all the files into a directory of
+  your choice, but note that you might encounter minor problems if
+  there is a space anywhere in the directory name.  To complete the
+  installation process, you can optionally run the program addpm.exe
+  in the bin subdirectory.  This will put an icon for Emacs in the
+  Start Menu under "Start -> Programs -> Gnu Emacs".
+
+  Some users have reported that the Start Menu item is not created for
+  them.  If this happens, just create your own shortcut to runemacs.exe,
+  eg. by dragging it on to the desktop or the Start button.
+
+  Note that running addpm is now an optional step; Emacs is able to
+  locate all of its files without needing any information to be set in
+  the environment or the registry, although such settings will still
+  be obeyed if present.  This is convenient for running Emacs on a
+  machine which disallows registry changes, or on which software
+  should not be installed.  For instance, you can now run Emacs
+  directly from a CD or USB flash drive without copying or installing
+  anything on the machine itself.
+
+* Starting Emacs
+
+  To run Emacs, simply select Emacs from the Start Menu, or invoke
+  runemacs.exe directly from Explorer or from a command prompt.  This
+  will start Emacs in its default GUI mode, ready to use.  If you have
+  never used Emacs before, you should follow the tutorial at this
+  point (select Emacs Tutorial from the Help menu), since Emacs is
+  quite different from ordinary Windows applications in many respects.
+
+  If you want to use Emacs in tty or character mode within a command
+  window, you can start it by typing "emacs -nw" at the command prompt.
+  (Obviously, you need to ensure that the Emacs bin subdirectory is in
+  your PATH first, or specify the path to emacs.exe.)  The -nw
+  (non-windowed) mode of operation is most useful if you have a telnet
+  server on your machine, allowing you to run Emacs remotely.
+
+* EXE files included
+
+  Emacs comes with the following executable files in the bin directory.
+
+  + emacs.exe - The main Emacs executable.  As this is designed to run
+    as both a text-mode application (emacs -nw) and as a GUI application,
+    it will pop up a command prompt window if run directly from Explorer.
+
+  + runemacs.exe - A wrapper for running Emacs as a GUI application
+    without popping up a command prompt window.
+
+  + emacsclient.exe - A command-line client program that can
+    communicate with a running Emacs process.  See the `Emacs Server'
+    node of the Emacs manual.
+
+  + emacsclientw.exe - A version of emacsclient that does not open
+    a command-line window.
+
+  + addpm.exe - A basic installer that creates Start Menu icons for Emacs.
+    Running this is optional.
+
+  + cmdproxy.exe - Used internally by Emacs to work around problems with
+    the native shells in various versions of Windows.
+
+  + ctags.exe, etags.exe - Tools for generating tag files.  See the
+    `Tags' node of the Emacs manual.
+
+  + ebrowse.exe - A tool for generating C++ browse information.  See the
+    `Ebrowse' manual.
+
+  + ddeclient.exe - A tool for interacting with DDE servers.
+
+  + hexl.exe - A tool for converting files to hex dumps.  See the
+    `Editing Binary Files' node of the Emacs manual.
+
+  + movemail.exe - A helper application for safely moving mail from
+    a mail spool or POP server to a local user mailbox.  See the
+    `Movemail' node of the Emacs manual.
+
+  + digest-doc.exe, sorted-doc.exe - Tools for rebuilding the
+    built-in documentation.
+
+* Image support
+
+  Emacs has built in support for XBM and PPM/PGM/PBM images, and the
+  libXpm library is bundled, providing XPM support (required for color
+  toolbar icons and splash screen).  Source for libXpm should be available
+  on the same place as you got this binary distribution from.  The version
+  of libXpm bundled with this version of Emacs is 3.5.7, based on x.org's
+  libXpm library from X11R7.3.
+
+  Emacs can also support some other image formats with appropriate
+  libraries.  These libraries are all available as part of GTK, or from
+  gnuwin32.sourceforge.net.  Emacs will find them if the directory they
+  are installed in is on the PATH.
+
+      PNG: requires the PNG reference library 1.2 or later, which will
+      be named libpng13d.dll, libpng13.dll, libpng12d.dll, libpng12.dll
+      or libpng.dll.  LibPNG requires zlib, which should come from the same
+      source as you got libpng.
+
+      JPEG: requires the Independant JPEG Group's libjpeg 6b or later,
+      which will be called jpeg62.dll, libjpeg.dll, jpeg-62.dll or jpeg.dll.
+
+      TIFF: requires libTIFF 3.0 or later, which will be called libtiff3.dll
+      or libtiff.dll.
+
+      GIF: requires libungif or giflib 4.1 or later, which will be
+      called giflib4.dll, libungif4.dll or libungif.dll.
+
+   In addition, Emacs can be compiled to support SVG.  This precompiled
+   distribution has not been compiled that way, since the SVG library
+   or one or more of its extensive dependencies appear to be
+   unreliable under Windows.  See nt/INSTALL in the src distribution if
+   you wish to compile Emacs with SVG support.
+
+* Uninstalling Emacs
+
+  If you should need to uninstall Emacs, simply delete all the files
+  and subdirectories from the directory where it was unpacked (Emacs
+  does not install or update any files in system directories or
+  anywhere else).  If you ran the addpm.exe program to create the
+  registry entries and the Start menu icon, then you can remove the
+  registry entries using regedit.  All of the settings are written
+  under the Software\GNU\Emacs key in HKEY_LOCAL_MACHINE, or if you
+  didn't have administrator privileges when you installed, the same
+  key in HKEY_CURRENT_USER.  Just delete the whole Software\GNU\Emacs
+  key.
+
+  The Start menu entry can be removed by right-clicking on the Task bar
+  and selecting Properties, then using the Remove option on the Start
+  Menu Programs page.  (If you installed under an account with
+  administrator privileges, then you need to click the Advanced button
+  and look for the Gnu Emacs menu item under All Users.)
+
+* Troubleshooting
+
+  Unpacking the distributions
+
+  If you encounter trouble trying to run Emacs, there are a number of
+  possible causes.  Check the following for indications that the
+  distribution was not corrupted by the tools used to unpack it:
+
+    * Be sure to disable CR/LF translation or the executables will
+      be unusable.  Older versions of WinZipNT would enable this
+      translation by default.  If you are using WinZipNT, disable it.
+      (I don't have WinZipNT myself, and I do not know the specific
+      commands necessary to disable it.)
+
+    * Check that filenames were not truncated to 8.3.  For example,
+      there should be a file lisp\abbrevlist.elc; if this has been
+      truncated to abbrevli.elc, your distribution has been corrupted
+      while unpacking and Emacs will not start.
+
+  If you believe you have unpacked the distributions correctly and are
+  still encountering problems, see the section on Further Information
+  below.
+
+  Virus scanners
+
+  Some virus scanners interfere with Emacs' use of subprocesses.  If you
+  are unable to use subprocesses and you use Dr. Solomon's WinGuard or
+  McAfee's Vshield, turn off "Scan all files" (WinGuard) or "boot sector
+  scanning" (McAfee exclusion properties).
+
+* Further information
+
+  If you have access to the World Wide Web, I would recommend pointing
+  your favorite web browser to the following document (if you haven't
+  already):
+
+	http://www.gnu.org/software/emacs/windows/
+
+  This document serves as an FAQ and a source for further information
+  about the Windows port and related software packages.
+
+  In addition to the FAQ, there is a mailing list for discussing issues
+  related to the Windows port of Emacs.  For information about the
+  list, see this Web page:
+
+	http://lists.gnu.org/mailman/listinfo/help-emacs-windows
+
+  To ask questions on the mailing list, send email to
+  help-emacs-windows@gnu.org.  (You don't need to subscribe for that.)
+  To subscribe to the list or unsubscribe from it, fill the form you
+  find at http://lists.gnu.org/mailman/listinfo/help-emacs-windows as
+  explained there.
+
+  Another valuable source of information and help which should not be
+  overlooked is the various Usenet news groups dedicated to Emacs.
+  These are particularly good for help with general issues which aren't
+  specific to the Windows port of Emacs.  The main news groups to use
+  for seeking help are:
+
+	gnu.emacs.help
+	comp.emacs
+
+  There are also fairly regular postings and announcements of new or
+  updated Emacs packages on this group:
+
+	gnu.emacs.sources
+
+* Reporting bugs
+
+  If you encounter a bug in this port of Emacs, we would like to hear
+  about it.  First check the FAQ on the web page above to see if the bug
+  is already known and if there are any workarounds.  Then check whether
+  the bug has something to do with code in your .emacs file, e.g. by
+  invoking Emacs with the "-Q" option.
+
+  If you decide that it is a bug in Emacs, use the built in bug
+  reporting facility to report it (from the menu; Help -> Send Bug Report).
+  If you have not yet configured Emacs for mail, then when you press
+  C-c C-c to send the report, it will ask you to paste the text of the
+  report into your mail client.  If the bug is related to subprocesses,
+  also specify which shell you are using (e.g., include the values of
+  `shell-file-name' and `explicit-shell-file-name' in your message).
+
+  Enjoy!
+
+\f
+This file is part of GNU Emacs.
+
+GNU Emacs is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.

=== modified file 'nt/configure.bat'
--- nt/configure.bat	2010-07-18 09:41:48 +0000
+++ nt/configure.bat	2010-07-24 02:35:08 +0000
@@ -90,6 +90,8 @@
 set doldflags=
 set sep1=
 set sep2=
+set sep3=
+set distfiles=
 
 rem ----------------------------------------------------------------------
 rem   Handle arguments.
@@ -112,6 +114,7 @@
 if "%1" == "--without-tiff" goto withouttiff
 if "%1" == "--without-xpm" goto withoutxpm
 if "%1" == "--with-svg" goto withsvg
+if "%1" == "--distfiles" goto distfiles
 if "%1" == "" goto checkutils
 :usage
 echo Usage: configure [options]
@@ -132,6 +135,7 @@
 echo.   --without-tiff          do not use TIFF library even if it is installed
 echo.   --without-xpm           do not use XPM library even if it is installed
 echo.   --with-svg              use the RSVG library (experimental)
+echo.   --distfiles             path to files for make dist, e.g. libXpm.dll
 goto end
 rem ----------------------------------------------------------------------
 :setprefix
@@ -234,6 +238,16 @@
 goto again
 
 rem ----------------------------------------------------------------------
+
+:distfiles
+set HAVE_DISTFILES=1
+shift
+set distfiles=%distfiles%%sep3%%1
+set sep3= %nothing%
+shift
+goto again
+
+rem ----------------------------------------------------------------------
 rem    Check that necessary utilities (cp and rm) are present.
 :checkutils
 echo Checking for 'cp'...
@@ -521,6 +535,35 @@
 :svgDone
 rm -f junk.c junk.obj junk.err junk.out
 
+rem Any distfiles provided for building distribution? If no, we're done.
+if "(%HAVE_DISTFILES%)"=="()" goto :distFilesDone
+
+rem Any arguments to --distfiles specified? If no, we're done.
+if not "%distfiles%"=="" goto :checkDistFiles
+set distFilesOk=0
+echo No arguments specified for option --distfiles!
+goto distfilesDone
+
+:checkDistFiles
+echo Checking for distfiles...
+rem Check if all specified distfiles exist
+set fileNotFound=
+for %%d in (%distfiles%) do if not exist %%d set fileNotFound=%%d
+if not "%fileNotFound%"=="" goto distFilesNotFound
+
+set distFilesOK=1
+echo ...all distfiles found.
+goto :distFilesDone
+
+:distFilesNotFound
+set distFilesOk=0
+echo ...%fileNotFound% not found.
+set distfiles=
+goto :distfilesDone
+
+:distFilesDone
+set fileNotFound=
+
 rem ----------------------------------------------------------------------
 :genmakefiles
 echo Generating makefiles
@@ -541,6 +584,7 @@
 if (%profile%) == (Y) echo PROFILE=1 >>config.settings
 if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings
 if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix%>>config.settings
+if not "(%distfiles%)" == "()" echo DIST_FILES=%distfiles%>>config.settings
 rem We go thru docflags because usercflags could be "-DFOO=bar" -something
 rem and the if command cannot cope with this
 for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y
@@ -642,12 +686,19 @@
  echo   Install libtiff development files or use --without-tiff
 
 :checkgif
-if not "(%HAVE_GIF%)" == "()" goto donelibchecks
-if (%gifsupport%) == (N) goto donelibchecks
+if not "(%HAVE_GIF%)" == "()" goto checkdistfiles
+if (%gifsupport%) == (N) goto checkdistfiles
  set libsOK=0
  echo GIF support is missing.
  echo   Install giflib or libungif development files or use --without-gif
 
+:checkdistfiles
+if "(%HAVE_DISTFILES%)" == "()" goto donelibchecks
+if (%distFilesOk%) == (1) goto donelibchecks
+echo.
+echo Files specified with option --distfiles could not be found.
+echo   Fix these issues before running make dist
+
 :donelibchecks
 if (%libsOK%) == (1) goto success
 echo.
@@ -680,6 +731,9 @@
 set doldflags=
 set mingwflag=
 set mf=
+set distfiles=
+set HAVE_DISTFILES=
+set distFilesOk=
 
 goto skipArchTag
    arch-tag: 300d20a4-1675-4e75-b615-7ce1a8c5376c

=== modified file 'nt/makefile.w32-in'
--- nt/makefile.w32-in	2010-01-13 08:35:10 +0000
+++ nt/makefile.w32-in	2010-04-07 17:01:57 +0000
@@ -23,6 +23,8 @@
 # FIXME: This file uses DOS EOLs.  Convert to Unix after 22.1 is out
 #        (and remove or replace this comment).
 
+VERSION		= 24.0.50
+
 TRES		= $(BLD)/emacs.res
 CLIENTRES	= $(BLD)/emacsclient.res
 
@@ -197,12 +199,15 @@
 #
 # Build and install emacs in INSTALL_DIR
 #
-install: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)
+.PHONY: install-bin install-shortcuts
+
+install: install-bin install-shortcuts
+
+install-bin: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)
 	- $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
-	- "$(INSTALL_DIR)/bin/addpm" -q
 	- $(DEL) ../same-dir.tst
 	- $(DEL) $(INSTALL_DIR)/same-dir.tst
 	echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"
@@ -238,6 +243,14 @@
 	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install
 	$(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install
 
+install-shortcuts:
+	"$(INSTALL_DIR)/bin/addpm" -q
+
+dist: install-bin 
+	$(CP) $(DIST_FILES) $(INSTALL_DIR)/bin
+	$(CP) README.W32 $(INSTALL_DIR)
+	$(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(INSTALL_DIR) $(VERSION)$(ARGQUOTE)
+
 force-info:
 # Note that doc/emacs/makefile knows how to
 # put the info files in $(infodir),

=== added file 'nt/zipdist.bat'
--- nt/zipdist.bat	1970-01-01 00:00:00 +0000
+++ nt/zipdist.bat	2010-04-01 01:36:36 +0000
@@ -0,0 +1,66 @@
+@echo off
+rem Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+rem   Free Software Foundation, Inc.
+
+rem Author: Christoph Scholtes cschol2112 at gmail.com
+
+rem This file is part of GNU Emacs.
+
+rem GNU Emacs is free software: you can redistribute it and/or modify
+rem it under the terms of the GNU General Public License as published by
+rem the Free Software Foundation, either version 3 of the License, or
+rem (at your option) any later version.
+
+rem GNU Emacs is distributed in the hope that it will be useful,
+rem but WITHOUT ANY WARRANTY; without even the implied warranty of
+rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+rem GNU General Public License for more details.
+
+rem You should have received a copy of the GNU General Public License
+rem along with GNU Emacs.  If not, see http://www.gnu.org/licenses/.
+
+SETLOCAL
+rem arg 1: full path to Emacs root directory
+set ARG_PATH="%~f1"
+rem Path separator cannot be parsed correctly, substitute
+set ARG_PATH=%ARG_PATH:\=;%
+
+rem arg 2: Emacs version number
+set EMACS_VER=%2
+
+rem Parse out last directory from passed in full path (arg 1)
+for /f "tokens=* delims=;" %%G in (%ARG_PATH%) do call :PARSE_PATH %%G
+goto :EXIT
+
+:PARSE_PATH
+if "%1"=="" (
+  goto :ZIP_CHECK
+)
+set ROOT_DIR=%1
+SHIFT
+goto :PARSE_PATH
+
+rem Check, if 7zip is installed and available on path
+:ZIP_CHECK
+7z
+if %ERRORLEVEL% NEQ 0 goto :ZIP_ERROR
+goto ZIP_DIST
+
+:ZIP_ERROR
+echo.
+echo ERROR: Make sure 7zip is installed and available on the Windows Path!
+goto EXIT
+
+rem Build distributions
+:ZIP_DIST
+pushd ..\..
+rem Build and verify full distribution
+7z a -bd -tZIP -mx=9 -x!.bzrignore -x!.gitignore -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory emacs-%EMACS_VER%-bin-i386.zip %ROOT_DIR%/BUGS %ROOT_DIR%/COPYING %ROOT_DIR%/README %ROOT_DIR%/README.W32 %ROOT_DIR%/INSTALL %ROOT_DIR%/bin %ROOT_DIR%/etc %ROOT_DIR%/info %ROOT_DIR%/lisp %ROOT_DIR%/leim %ROOT_DIR%/site-lisp
+7z t emacs-%EMACS_VER%-bin-i386.zip
+rem Build and verify binary only distribution
+7z a -bd -tZIP -mx=9 emacs-%EMACS_VER%-barebin-i386.zip %ROOT_DIR%/README.W32 %ROOT_DIR%/bin %ROOT_DIR%/etc/DOC-X %ROOT_DIR%/COPYING
+7z t emacs-%EMACS_VER%-barebin-i386.zip
+popd
+goto EXIT
+
+:EXIT


^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-24  3:18         ` Christoph
@ 2010-07-24 13:28           ` Juanma Barranquero
  2010-07-24 13:31             ` Juanma Barranquero
  2010-07-24 22:19             ` Christoph
  0 siblings, 2 replies; 31+ messages in thread
From: Juanma Barranquero @ 2010-07-24 13:28 UTC (permalink / raw)
  To: Christoph; +Cc: 6602-done

On Sat, Jul 24, 2010 at 05:18, Christoph <cschol2112@googlemail.com> wrote:

> Find attached the new patch for the `make dist' target.
>
> I added a Changelog and NEWS entry and removed README.W32 and makedist.bat
> files from the nt/ directory.

OK, thaks a lot.

A few comments (nitpicks, mostly):

 - You've added the ChangeLog entry to the root directory's ChangeLog,
instead of nt/ChangeLog. Also, it lacks an entry in admin/ChangeLog
about the changes in that directory (you've documented most of them in
the other ChangeLog, though). In some cases, as when moving files, it
is customary to put a "Moved to X/" entry in the old directory's
ChangeLog, and ad "Moved from Y/" in the new's.

- Changes to documentation files, like etc/NEWS and nt/INSTALL, must
also be documented in ChangeLog entries.

- If you're going to move a file, like README.W32, instead of

    cd admin/nt
    copy README.W32 ../../nt
    del README.W32

  or

    move admin/nt/README.W32 nt/

  please do

    bzr mv admin/nt/README.W32 nt/

  so Bazaar knows that it is the same file.

- It's best if you do these changes in a branch, and then submit a
bundle. For example, applying your patch creates a file
nt/zipdist.bat, but it has to be "bzr add"ed manually.

- Try not to introduce trailing whitespace in files you modify. Not
earth-shaking, but ugly if you have `show-trailing-whitespace' set to
t (which I recommend).

That said, I'm committing your change right now. Great work. Thanks!

    Juanma





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-24 13:28           ` Juanma Barranquero
@ 2010-07-24 13:31             ` Juanma Barranquero
  2010-07-24 22:19             ` Christoph
  1 sibling, 0 replies; 31+ messages in thread
From: Juanma Barranquero @ 2010-07-24 13:31 UTC (permalink / raw)
  To: Christoph; +Cc: 6602

>    bzr mv admin/nt/README.W32 nt/

Also

  bzr rm admin/nt/makedist.bat

to delete a file, for the same reason.

    Juanma





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-24 13:28           ` Juanma Barranquero
  2010-07-24 13:31             ` Juanma Barranquero
@ 2010-07-24 22:19             ` Christoph
  2010-07-25  1:01               ` Juanma Barranquero
  1 sibling, 1 reply; 31+ messages in thread
From: Christoph @ 2010-07-24 22:19 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: 6602

[-- Attachment #1: Type: text/plain, Size: 1069 bytes --]

On 7/24/2010 7:28 AM, Juanma Barranquero wrote:

> That said, I'm committing your change right now. Great work. Thanks!

Thanks for doing this.

After testing it in the trunk I remembered: one thing I never was quite 
sure how to fix best is the fact that when you run `make dist' on the 
trunk, the root directory the zip file contains is `trunk' (or whatever 
you named your bzr checkout), but it should be `emacs-VERSION'.

Well, I guess it helps to have the code sitting around for a while. :) 
Find attached a patch that fixes this.

The main change is that it copies all necessary files to a temporary 
directory and then creates the zip files from that. After that the 
temporary directory is removed.

This change also made `zipdist.bat' a lot simpler, since I don't need to 
do funky path processing.

Now the correct root directory (based on version) will show inside the 
zip file for the trunk as well as any pretest or final version.

There is also a minor bugfix: README.W32 was not copied to the install 
directory when using `make install'.

Christoph


[-- Attachment #2: makedistw32v7.txt --]
[-- Type: text/plain, Size: 8407 bytes --]

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: cschol2112@gmail.com-20100724221001-daf5uef6ueley5d3
# target_branch: http://bzr.savannah.gnu.org/r/emacs/trunk/
# testament_sha1: cbe7fd9fdcab5324d5db459af1712f057ad38e25
# timestamp: 2010-07-24 16:10:20 -0600
# base_revision_id: lekktu@gmail.com-20100724134348-x1dl00925oxq9svi
# 
# Begin patch
=== modified file 'nt/ChangeLog'
--- nt/ChangeLog	2010-07-24 13:35:31 +0000
+++ nt/ChangeLog	2010-07-24 22:10:01 +0000
@@ -1,5 +1,12 @@
 2010-07-24  Christoph Scholtes  <cschol2112@gmail.com>
 
+	* makefile.w32-in: Copy README.W32 to installation directory
+	during `make install'.  Use temporary directory to create
+	distribution zip files in `dist' target.
+	* zipdist.bat: Simplify code using temporary directory.
+
+2010-07-24  Christoph Scholtes  <cschol2112@gmail.com>
+
 	New make target for Windows platform: make dist (bug#6602)
 
 	* INSTALL: Document new dist target and add section about

=== modified file 'nt/makefile.w32-in'
--- nt/makefile.w32-in	2010-07-24 13:35:31 +0000
+++ nt/makefile.w32-in	2010-07-24 22:07:04 +0000
@@ -25,6 +25,8 @@
 
 VERSION		= 24.0.50
 
+TMP_DIST_DIR 	= emacs-$(VERSION)
+
 TRES		= $(BLD)/emacs.res
 CLIENTRES	= $(BLD)/emacsclient.res
 
@@ -208,6 +210,7 @@
 	- $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
+	- $(CP) README.W32 $(INSTALL_DIR)
 	- $(DEL) ../same-dir.tst
 	- $(DEL) $(INSTALL_DIR)/same-dir.tst
 	echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"
@@ -246,10 +249,22 @@
 install-shortcuts:
 	"$(INSTALL_DIR)/bin/addpm" -q
 
-dist: install-bin 
-	$(CP) $(DIST_FILES) $(INSTALL_DIR)/bin
-	$(CP) README.W32 $(INSTALL_DIR)
-	$(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(INSTALL_DIR) $(VERSION)$(ARGQUOTE)
+dist: install-bin
+	mkdir $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/BUGS" $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/COPYING" $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/README" $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/README.W32" $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/INSTALL" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/bin" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/etc" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/info" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/lisp" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/leim" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/site-lisp" $(TMP_DIST_DIR)
+	$(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin
+	$(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(VERSION)$(ARGQUOTE)
+	$(DEL_TREE) $(TMP_DIST_DIR)
 
 force-info:
 # Note that doc/emacs/makefile knows how to

=== modified file 'nt/zipdist.bat'
--- nt/zipdist.bat	2010-07-24 13:35:31 +0000
+++ nt/zipdist.bat	2010-07-24 22:04:10 +0000
@@ -20,25 +20,10 @@
 rem along with GNU Emacs.  If not, see http://www.gnu.org/licenses/.
 
 SETLOCAL
-rem arg 1: full path to Emacs root directory
-set ARG_PATH="%~f1"
-rem Path separator cannot be parsed correctly, substitute
-set ARG_PATH=%ARG_PATH:\=;%
-
-rem arg 2: Emacs version number
-set EMACS_VER=%2
-
-rem Parse out last directory from passed in full path (arg 1)
-for /f "tokens=* delims=;" %%G in (%ARG_PATH%) do call :PARSE_PATH %%G
-goto :EXIT
-
-:PARSE_PATH
-if "%1"=="" (
-  goto :ZIP_CHECK
-)
-set ROOT_DIR=%1
-SHIFT
-goto :PARSE_PATH
+rem arg 1: Emacs version number
+set EMACS_VER=%1
+
+set TMP_DIST_DIR=emacs-%EMACS_VER%
 
 rem Check, if 7zip is installed and available on path
 :ZIP_CHECK
@@ -53,14 +38,12 @@
 
 rem Build distributions
 :ZIP_DIST
-pushd ..\..
 rem Build and verify full distribution
-7z a -bd -tZIP -mx=9 -x!.bzrignore -x!.gitignore -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory emacs-%EMACS_VER%-bin-i386.zip %ROOT_DIR%/BUGS %ROOT_DIR%/COPYING %ROOT_DIR%/README %ROOT_DIR%/README.W32 %ROOT_DIR%/INSTALL %ROOT_DIR%/bin %ROOT_DIR%/etc %ROOT_DIR%/info %ROOT_DIR%/lisp %ROOT_DIR%/leim %ROOT_DIR%/site-lisp
+7z a -bd -tZIP -mx=9 -x!.bzrignore -x!.gitignore -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory emacs-%EMACS_VER%-bin-i386.zip %TMP_DIST_DIR%
 7z t emacs-%EMACS_VER%-bin-i386.zip
 rem Build and verify binary only distribution
-7z a -bd -tZIP -mx=9 emacs-%EMACS_VER%-barebin-i386.zip %ROOT_DIR%/README.W32 %ROOT_DIR%/bin %ROOT_DIR%/etc/DOC-X %ROOT_DIR%/COPYING
+7z a -bd -tZIP -mx=9 -x!.bzrignore -x!.gitignore -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory emacs-%EMACS_VER%-barebin-i386.zip %TMP_DIST_DIR%/README.W32 %TMP_DIST_DIR%/bin %TMP_DIST_DIR%/etc/DOC-X %TMP_DIST_DIR%/COPYING
 7z t emacs-%EMACS_VER%-barebin-i386.zip
-popd
 goto EXIT
 
 :EXIT

# Begin bundle
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
NA==

^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-24 22:19             ` Christoph
@ 2010-07-25  1:01               ` Juanma Barranquero
  2010-07-25  2:04                 ` Christoph
  0 siblings, 1 reply; 31+ messages in thread
From: Juanma Barranquero @ 2010-07-25  1:01 UTC (permalink / raw)
  To: Christoph; +Cc: 6602

On Sun, Jul 25, 2010 at 00:19, Christoph <cschol2112@googlemail.com> wrote:

> After testing it in the trunk I remembered: one thing I never was quite sure
> how to fix best is the fact that when you run `make dist' on the trunk, the
> root directory the zip file contains is `trunk' (or whatever you named your
> bzr checkout), but it should be `emacs-VERSION'.

I noticed, but it was always possible to make a branch emacs-VERSION
and build the dist from here.
I suppose this change is for better, but it makes more difficult to
create a dist with a root directory named other than emacs-VERSION
(for my own use, for example, I call them just VERSION, ie., 23.1,
23.2, 24.0.50, etc.). It'd be nice to have a way to customize this,
but don't lose time over it; "unzip & rename dir" is just a command
away :-)

> The main change is that it copies all necessary files to a temporary
> directory and then creates the zip files from that. After that the temporary
> directory is removed.

It is highly unlikely for the user to have a directory
nt/emacs-VERSION, but you overwrite it and then remove it, so it'd be
nice to check and refuse to do anything if it already exists. Another
option would be to write to %TEMP%/%TMP_DIST_DIR% instead of
./%TMP_DIST_DIR%

> There is also a minor bugfix: README.W32 was not copied to the install
> directory when using `make install'.

In fact, there's still a minor issue: README.W32 gets copied to
INSTALL_DIR and not removed. For example, I do all installations
in-place, and after make dist I end with a README.W32 at the root of
my trunk branch. (I've added exclusions to .(bzr|git)ignore, so it's
not much of an issue, but still...).

    Juanma





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-25  1:01               ` Juanma Barranquero
@ 2010-07-25  2:04                 ` Christoph
  2010-07-25  2:55                   ` Juanma Barranquero
  0 siblings, 1 reply; 31+ messages in thread
From: Christoph @ 2010-07-25  2:04 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: 6602

On 7/24/2010 7:01 PM, Juanma Barranquero wrote:

> I noticed, but it was always possible to make a branch emacs-VERSION
> and build the dist from here.
> I suppose this change is for better, but it makes more difficult to
> create a dist with a root directory named other than emacs-VERSION
> (for my own use, for example, I call them just VERSION, ie., 23.1,
> 23.2, 24.0.50, etc.). It'd be nice to have a way to customize this,
> but don't lose time over it; "unzip&  rename dir" is just a command
> away :-)

True. I didn't think of that. This is just the most common use case, I 
guess. My main intention behind this was to provide an easy and 
consistent way of producing snapshot and release distributions. 
Theoretically, you can edit the value of TMP_DIST_DIR in the Makefile to 
change the directory, too.

> It is highly unlikely for the user to have a directory
> nt/emacs-VERSION, but you overwrite it and then remove it, so it'd be
> nice to check and refuse to do anything if it already exists.

Actually, the mkdir command fails and the process stops with an error, 
if the directory already exists. I tested this before I added the 
DEL_TREE command.

>> There is also a minor bugfix: README.W32 was not copied to the install
>> directory when using `make install'.
>
> In fact, there's still a minor issue: README.W32 gets copied to
> INSTALL_DIR and not removed. For example, I do all installations
> in-place, and after make dist I end with a README.W32 at the root of
> my trunk branch. (I've added exclusions to .(bzr|git)ignore, so it's
> not much of an issue, but still...).

Perhaps it should be added to `distclean'?

Christoph





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-25  2:04                 ` Christoph
@ 2010-07-25  2:55                   ` Juanma Barranquero
  2010-07-25  3:18                     ` Christoph
  0 siblings, 1 reply; 31+ messages in thread
From: Juanma Barranquero @ 2010-07-25  2:55 UTC (permalink / raw)
  To: Christoph; +Cc: 6602

On Sun, Jul 25, 2010 at 04:04, Christoph <cschol2112@googlemail.com> wrote:

> True. I didn't think of that. This is just the most common use case, I
> guess. My main intention behind this was to provide an easy and consistent
> way of producing snapshot and release distributions. Theoretically, you can
> edit the value of TMP_DIST_DIR in the Makefile to change the directory, too.

Well, as I said, no sweat. If someone else besides me needs the
functionality we'll know soon enough.

> Actually, the mkdir command fails and the process stops with an error, if
> the directory already exists. I tested this before I added the DEL_TREE
> command.

Of course. Silly me. Sorry for the noise.

> Perhaps it should be added to `distclean'?

Well, somewhere in *clean*, yes :-) (I renounced trying to understand
the different clean targets a long time ago.)

    Juanma





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-25  2:55                   ` Juanma Barranquero
@ 2010-07-25  3:18                     ` Christoph
  2010-07-25  3:58                       ` Juanma Barranquero
  2010-07-25 12:30                       ` Sean Sieger
  0 siblings, 2 replies; 31+ messages in thread
From: Christoph @ 2010-07-25  3:18 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: 6602

[-- Attachment #1: Type: text/plain, Size: 526 bytes --]

On 7/24/2010 8:55 PM, Juanma Barranquero wrote:

> Well, as I said, no sweat. If someone else besides me needs the
> functionality we'll know soon enough.

I bet we will. :)

>> Perhaps it should be added to `distclean'?
>
> Well, somewhere in *clean*, yes :-) (I renounced trying to understand
> the different clean targets a long time ago.)

I know what you mean. I added it to (top-)distclean, so at least it is 
gone whenever somebody resets to the original distribution state.

Updated patch bundle attached.

Christoph


[-- Attachment #2: makedistw32v9.txt --]
[-- Type: text/plain, Size: 9181 bytes --]

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: cschol2112@gmail.com-20100725030715-zny18yz1rghje8er
# target_branch: http://bzr.savannah.gnu.org/r/emacs/trunk/
# testament_sha1: c73940e4ed6fed5fb41a5bacb9e06ee0c37fa7ca
# timestamp: 2010-07-24 21:08:03 -0600
# base_revision_id: lekktu@gmail.com-20100724134348-x1dl00925oxq9svi
# 
# Begin patch
=== modified file 'nt/ChangeLog'
--- nt/ChangeLog	2010-07-24 13:35:31 +0000
+++ nt/ChangeLog	2010-07-25 03:07:15 +0000
@@ -1,5 +1,13 @@
 2010-07-24  Christoph Scholtes  <cschol2112@gmail.com>
 
+	* makefile.w32-in: Copy README.W32 to installation directory
+	during `make install'.  Remove README.W32 with `distclean' (in
+	case Emacs was installed in place).  Use temporary directory to
+	create distribution zip files in `dist' target.
+	* zipdist.bat: Simplify code using temporary directory.
+
+2010-07-24  Christoph Scholtes  <cschol2112@gmail.com>
+
 	New make target for Windows platform: make dist (bug#6602)
 
 	* INSTALL: Document new dist target and add section about

=== modified file 'nt/makefile.w32-in'
--- nt/makefile.w32-in	2010-07-24 13:35:31 +0000
+++ nt/makefile.w32-in	2010-07-25 03:07:15 +0000
@@ -25,6 +25,8 @@
 
 VERSION		= 24.0.50
 
+TMP_DIST_DIR 	= emacs-$(VERSION)
+
 TRES		= $(BLD)/emacs.res
 CLIENTRES	= $(BLD)/emacsclient.res
 
@@ -208,6 +210,7 @@
 	- $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
 	- $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
+	- $(CP) README.W32 $(INSTALL_DIR)
 	- $(DEL) ../same-dir.tst
 	- $(DEL) $(INSTALL_DIR)/same-dir.tst
 	echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"
@@ -246,10 +249,22 @@
 install-shortcuts:
 	"$(INSTALL_DIR)/bin/addpm" -q
 
-dist: install-bin 
-	$(CP) $(DIST_FILES) $(INSTALL_DIR)/bin
-	$(CP) README.W32 $(INSTALL_DIR)
-	$(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(INSTALL_DIR) $(VERSION)$(ARGQUOTE)
+dist: install-bin
+	mkdir $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/BUGS" $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/COPYING" $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/README" $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/README.W32" $(TMP_DIST_DIR)
+	$(CP) "$(INSTALL_DIR)/INSTALL" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/bin" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/etc" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/info" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/lisp" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/leim" $(TMP_DIST_DIR)
+	$(CP_DIR) "$(INSTALL_DIR)/site-lisp" $(TMP_DIST_DIR)
+	$(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin
+	$(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(VERSION)$(ARGQUOTE)
+	$(DEL_TREE) $(TMP_DIST_DIR)
 
 force-info:
 # Note that doc/emacs/makefile knows how to
@@ -336,6 +351,7 @@
 	- $(DEL) stamp_BLD
 	- $(DEL) ../etc/DOC ../etc/DOC-X
 	- $(DEL) config.log Makefile
+	- $(DEL) ../README.W32
 
 distclean: distclean-other-dirs-$(MAKETYPE) top-distclean
 

=== modified file 'nt/zipdist.bat'
--- nt/zipdist.bat	2010-07-24 13:35:31 +0000
+++ nt/zipdist.bat	2010-07-24 22:04:10 +0000
@@ -20,25 +20,10 @@
 rem along with GNU Emacs.  If not, see http://www.gnu.org/licenses/.
 
 SETLOCAL
-rem arg 1: full path to Emacs root directory
-set ARG_PATH="%~f1"
-rem Path separator cannot be parsed correctly, substitute
-set ARG_PATH=%ARG_PATH:\=;%
-
-rem arg 2: Emacs version number
-set EMACS_VER=%2
-
-rem Parse out last directory from passed in full path (arg 1)
-for /f "tokens=* delims=;" %%G in (%ARG_PATH%) do call :PARSE_PATH %%G
-goto :EXIT
-
-:PARSE_PATH
-if "%1"=="" (
-  goto :ZIP_CHECK
-)
-set ROOT_DIR=%1
-SHIFT
-goto :PARSE_PATH
+rem arg 1: Emacs version number
+set EMACS_VER=%1
+
+set TMP_DIST_DIR=emacs-%EMACS_VER%
 
 rem Check, if 7zip is installed and available on path
 :ZIP_CHECK
@@ -53,14 +38,12 @@
 
 rem Build distributions
 :ZIP_DIST
-pushd ..\..
 rem Build and verify full distribution
-7z a -bd -tZIP -mx=9 -x!.bzrignore -x!.gitignore -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory emacs-%EMACS_VER%-bin-i386.zip %ROOT_DIR%/BUGS %ROOT_DIR%/COPYING %ROOT_DIR%/README %ROOT_DIR%/README.W32 %ROOT_DIR%/INSTALL %ROOT_DIR%/bin %ROOT_DIR%/etc %ROOT_DIR%/info %ROOT_DIR%/lisp %ROOT_DIR%/leim %ROOT_DIR%/site-lisp
+7z a -bd -tZIP -mx=9 -x!.bzrignore -x!.gitignore -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory emacs-%EMACS_VER%-bin-i386.zip %TMP_DIST_DIR%
 7z t emacs-%EMACS_VER%-bin-i386.zip
 rem Build and verify binary only distribution
-7z a -bd -tZIP -mx=9 emacs-%EMACS_VER%-barebin-i386.zip %ROOT_DIR%/README.W32 %ROOT_DIR%/bin %ROOT_DIR%/etc/DOC-X %ROOT_DIR%/COPYING
+7z a -bd -tZIP -mx=9 -x!.bzrignore -x!.gitignore -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory emacs-%EMACS_VER%-barebin-i386.zip %TMP_DIST_DIR%/README.W32 %TMP_DIST_DIR%/bin %TMP_DIST_DIR%/etc/DOC-X %TMP_DIST_DIR%/COPYING
 7z t emacs-%EMACS_VER%-barebin-i386.zip
-popd
 goto EXIT
 
 :EXIT

# Begin bundle
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
2kduYyikvCBehqDB+zvF3JFOFCQ32GrQQA==

^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-25  3:18                     ` Christoph
@ 2010-07-25  3:58                       ` Juanma Barranquero
  2010-07-25  4:44                         ` Christoph
  2010-07-25 12:30                       ` Sean Sieger
  1 sibling, 1 reply; 31+ messages in thread
From: Juanma Barranquero @ 2010-07-25  3:58 UTC (permalink / raw)
  To: Christoph; +Cc: 6602

On Sun, Jul 25, 2010 at 05:18, Christoph <cschol2112@googlemail.com> wrote:

> I know what you mean.

I've resorted to never using the clean targets. When I want to clean, I do

  bzr clean-tree --unknown --ignored --detritus --force
  cd nt
  configure  /* my args */
  make bootstrap info install

> Updated patch bundle attached.

Committed.

    Juanma





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-25  3:58                       ` Juanma Barranquero
@ 2010-07-25  4:44                         ` Christoph
  0 siblings, 0 replies; 31+ messages in thread
From: Christoph @ 2010-07-25  4:44 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: 6602

On 7/24/2010 9:58 PM, Juanma Barranquero wrote:

> I've resorted to never using the clean targets. When I want to clean, I do
>
>    bzr clean-tree --unknown --ignored --detritus --force
>    cd nt
>    configure  /* my args */
>    make bootstrap info install

That just works on a checkout. Sometimes I want to restore the tarball, 
but I could just delete and re-extract I guess.

I didn't know about the clean-tree command. Gotta keep that in mind.

>> Updated patch bundle attached.
>
> Committed.

Much appreciated Juanma.

Christoph





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-25  3:18                     ` Christoph
  2010-07-25  3:58                       ` Juanma Barranquero
@ 2010-07-25 12:30                       ` Sean Sieger
  2010-07-25 14:09                         ` Christoph
  2010-07-27  1:48                         ` Christoph
  1 sibling, 2 replies; 31+ messages in thread
From: Sean Sieger @ 2010-07-25 12:30 UTC (permalink / raw)
  To: bug-gnu-emacs

    > Well, as I said, no sweat. If someone else besides me needs the
    > functionality we'll know soon enough.

    I bet we will. :)

I've had a pretty busy weekend and have only been able to follow this
thread in passing.  I'll reread it and find the new instructions.
However, is there anything that you want to point out regarding changes
that'll affect the current build tomorrow?

Thank you.






^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-25 12:30                       ` Sean Sieger
@ 2010-07-25 14:09                         ` Christoph
  2010-07-25 17:36                           ` Sean Sieger
  2010-07-27 22:25                           ` Sean Sieger
  2010-07-27  1:48                         ` Christoph
  1 sibling, 2 replies; 31+ messages in thread
From: Christoph @ 2010-07-25 14:09 UTC (permalink / raw)
  To: bug-gnu-emacs; +Cc: Sean Sieger

Hi Sean,

On 7/25/2010 6:30 AM, Sean Sieger wrote:

> I've had a pretty busy weekend and have only been able to follow this
> thread in passing.  I'll reread it and find the new instructions.
> However, is there anything that you want to point out regarding changes
> that'll affect the current build tomorrow?

You have to pass the additional option --distfiles 
C:/FileToIncludeInDistribution/libXpm.dll to configure.bat.

configure.bat will fail with an error if it can't find the file in the 
specified directory, i.e. if the directory or the file do not exist.

Then just run `make dist' (or `mingw32-make dist') in the nt/ directory 
and the binary distributions will be built, zipped and placed in the nt/ 
directory.

The only other requirement is 7zip, but the process will fail and tell 
you, if is not installed or not available on the Windows Path.

The `make dist' target assumes that you have run `make bootstrap' before.

Let me know if you have any other questions or issues.

Christoph





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-25 14:09                         ` Christoph
@ 2010-07-25 17:36                           ` Sean Sieger
  2010-07-27 22:25                           ` Sean Sieger
  1 sibling, 0 replies; 31+ messages in thread
From: Sean Sieger @ 2010-07-25 17:36 UTC (permalink / raw)
  To: bug-gnu-emacs

    You have to pass the additional option --distfiles
    C:/FileToIncludeInDistribution/libXpm.dll to configure.bat.

    configure.bat will fail with an error if it can't find the file in the
    specified directory, i.e. if the directory or the file do not exist.

    Then just run `make dist' (or `mingw32-make dist') in the nt/
    directory and the binary distributions will be built, zipped and
    placed in the nt/ directory.

    The only other requirement is 7zip, but the process will fail and tell
    you, if is not installed or not available on the Windows Path.

    The `make dist' target assumes that you have run `make bootstrap' before.

    Let me know if you have any other questions or issues.

Christoph, thank you for your response and thank you for your work on
this.  It makes things more straight forward.






^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-25 12:30                       ` Sean Sieger
  2010-07-25 14:09                         ` Christoph
@ 2010-07-27  1:48                         ` Christoph
  2010-07-27 21:08                           ` Sean Sieger
  1 sibling, 1 reply; 31+ messages in thread
From: Christoph @ 2010-07-27  1:48 UTC (permalink / raw)
  To: bug-gnu-emacs

On 7/25/2010 6:30 AM, Sean Sieger wrote:

> I've had a pretty busy weekend and have only been able to follow this
> thread in passing.  I'll reread it and find the new instructions.
> However, is there anything that you want to point out regarding changes
> that'll affect the current build tomorrow?

You have to pass the option --distfiles C:/FileToIncludeInDistribution 
to configure.bat. This is mainly for libXpm.dll.

configure.bat will fail with an error if it can't find any files in the 
specified directory.

Then just run `make dist' (or `mingw32-make dist') and the binary 
distributions will be built, zipped and placed in the nt/ directory.

Let me know if you have any other questions.

Christoph





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-27  1:48                         ` Christoph
@ 2010-07-27 21:08                           ` Sean Sieger
  2010-07-27 22:59                             ` Juanma Barranquero
  2010-07-27 23:08                             ` Christoph
  0 siblings, 2 replies; 31+ messages in thread
From: Sean Sieger @ 2010-07-27 21:08 UTC (permalink / raw)
  To: bug-gnu-emacs

Christoph <cschol2112@googlemail.com> writes:

    On 7/25/2010 6:30 AM, Sean Sieger wrote:

    > I've had a pretty busy weekend and have only been able to follow this
    > thread in passing.  I'll reread it and find the new instructions.
    > However, is there anything that you want to point out regarding changes
    > that'll affect the current build tomorrow?

    You have to pass the option --distfiles C:/FileToIncludeInDistribution
    to configure.bat. This is mainly for libXpm.dll.

    configure.bat will fail with an error if it can't find any files in
    the specified directory.

    Then just run `make dist' (or `mingw32-make dist') and the binary
    distributions will be built, zipped and placed in the nt/ directory.

    Let me know if you have any other questions.

    Christoph

Thanks for this, Christoph.  Um, followed the above, having removed
libXpm.dll from \bin.

c:\emacs-24.0.50>configure --with-gcc --no-opt --enable-checking
--cflags -Ic:/xpm/include --distfiles c:/xpm/bin/libXpm.dll
--without-tiff --without-gif --with out-jpeg --without-png

libXpm.dll wasn't copied to \bin, was it supposed to?






^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-25 14:09                         ` Christoph
  2010-07-25 17:36                           ` Sean Sieger
@ 2010-07-27 22:25                           ` Sean Sieger
  2010-07-27 23:04                             ` Juanma Barranquero
  2010-07-27 23:25                             ` Christoph
  1 sibling, 2 replies; 31+ messages in thread
From: Sean Sieger @ 2010-07-27 22:25 UTC (permalink / raw)
  To: bug-gnu-emacs

    You have to pass the additional option --distfiles
    C:/FileToIncludeInDistribution/libXpm.dll to configure.bat.

    configure.bat will fail with an error if it can't find the file in the
    specified directory, i.e. if the directory or the file do not exist.

    Then just run `make dist' (or `mingw32-make dist') in the nt/
    directory and the binary distributions will be built, zipped and
    placed in the nt/ directory.

    The only other requirement is 7zip, but the process will fail and tell
    you, if is not installed or not available on the Windows Path.

    The `make dist' target assumes that you have run `make bootstrap' before.

    Let me know if you have any other questions or issues.

Christoph,

I used to copy makedist to the directory containing my copy of Emacs,
now what do I do?

Um, `make dist' in \nt?

Clearly, --distfiles are only copied at packaging time?

... not at `make install', for instance libXpm.dll (the only file that I
should be adding)?

Sorry about this Juanma, I know you wanted some answers, but I can't
publish this build in good faith.

What else??  Um, yeah, I showed you an erroneous `configure' in an
earlier, replete with typos (from copying let alone copying from history
while in something other than emacs-24.0.50\nt), I got it in my head
that I am building binaries and packaging 'em up all from within \nt.
Not right?

Sorry for being dense.






^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-27 21:08                           ` Sean Sieger
@ 2010-07-27 22:59                             ` Juanma Barranquero
  2010-07-28  1:34                               ` Sean Sieger
  2010-07-27 23:08                             ` Christoph
  1 sibling, 1 reply; 31+ messages in thread
From: Juanma Barranquero @ 2010-07-27 22:59 UTC (permalink / raw)
  To: Sean Sieger; +Cc: bug-gnu-emacs

On Tue, Jul 27, 2010 at 23:08, Sean Sieger <sean.sieger@gmail.com> wrote:

> c:\emacs-24.0.50>configure --with-gcc --no-opt --enable-checking
> --cflags -Ic:/xpm/include --distfiles c:/xpm/bin/libXpm.dll
> --without-tiff --without-gif --with out-jpeg --without-png
>
> libXpm.dll wasn't copied to \bin, was it supposed to?

Does your cp accept forward slashes? Does it work if you try
--distfiles c:\xpm\bin\libXpm.dll?

    Juanma





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-27 22:25                           ` Sean Sieger
@ 2010-07-27 23:04                             ` Juanma Barranquero
  2010-07-27 23:32                               ` Christoph
  2010-07-28  1:31                               ` Sean Sieger
  2010-07-27 23:25                             ` Christoph
  1 sibling, 2 replies; 31+ messages in thread
From: Juanma Barranquero @ 2010-07-27 23:04 UTC (permalink / raw)
  To: Sean Sieger; +Cc: bug-gnu-emacs

On Wed, Jul 28, 2010 at 00:25, Sean Sieger <sean.sieger@gmail.com> wrote:

> Um, `make dist' in \nt?

Yes.

> Clearly, --distfiles are only copied at packaging time?

Yes, the copy is in the dist target, after install-bin.

> Sorry about this Juanma, I know you wanted some answers, but I can't
> publish this build in good faith.

There's no rush. I can wait a week or three.

> What else??  Um, yeah, I showed you an erroneous `configure' in an
> earlier, replete with typos (from copying let alone copying from history
> while in something other than emacs-24.0.50\nt), I got it in my head
> that I am building binaries and packaging 'em up all from within \nt.
> Not right?

I cannot pase this, sorry.

One question. Why do you pass "--without-tiff --without-gif --with
out-jpeg --without-png" to configure?

We don't distribute binaries for the tiff, gif, jpeg and png
libraries, but that does not mean that you cannot build a binary that
supports them, if the user provides them.

    Juanma





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-27 21:08                           ` Sean Sieger
  2010-07-27 22:59                             ` Juanma Barranquero
@ 2010-07-27 23:08                             ` Christoph
  2010-07-28  1:38                               ` Sean Sieger
  1 sibling, 1 reply; 31+ messages in thread
From: Christoph @ 2010-07-27 23:08 UTC (permalink / raw)
  To: Sean Sieger; +Cc: bug-gnu-emacs

On 7/27/2010 3:08 PM, Sean Sieger wrote:

> Thanks for this, Christoph.  Um, followed the above, having removed
> libXpm.dll from \bin.
>
> c:\emacs-24.0.50>configure --with-gcc --no-opt --enable-checking
> --cflags -Ic:/xpm/include --distfiles c:/xpm/bin/libXpm.dll
> --without-tiff --without-gif --with out-jpeg --without-png
>
> libXpm.dll wasn't copied to \bin, was it supposed to?

No, it is copied to a bin/ in a temporary directory, from which the zip 
file is created. Does the zip file contain libXpm.dll?

Christoph





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-27 22:25                           ` Sean Sieger
  2010-07-27 23:04                             ` Juanma Barranquero
@ 2010-07-27 23:25                             ` Christoph
  2010-07-28  1:33                               ` Sean Sieger
  1 sibling, 1 reply; 31+ messages in thread
From: Christoph @ 2010-07-27 23:25 UTC (permalink / raw)
  To: bug-gnu-emacs; +Cc: Juanma Barranquero, Sean Sieger

On 7/27/2010 4:25 PM, Sean Sieger wrote:

> I used to copy makedist to the directory containing my copy of Emacs,
> now what do I do?

cd nt

configure --with-gcc --no-opt --enable-checking
--cflags -Ic:/xpm/include --distfiles c:/xpm/bin/libXpm.dll
--without-tiff --without-gif --with out-jpeg --without-png

mingw32-make dist

This should create 2 zip files in your nt directory which contain the 
binary distributions (full and bin only).

> Clearly, --distfiles are only copied at packaging time?
> ... not at `make install', for instance libXpm.dll (the only file that I
> should be adding)?

That's correct. libXpm.dll is the only file you need.

If you can't get it to work, do this:

mingw32-make install > build.log 2>&1

This will create a file build.log in nt with all the output from make. 
Send me the file offlist and I will try to help troubleshoot this.

For what it's worth, I just build and packaged the latest trunk and it 
worked fine.

Christoph





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-27 23:04                             ` Juanma Barranquero
@ 2010-07-27 23:32                               ` Christoph
  2010-07-28  1:31                               ` Sean Sieger
  1 sibling, 0 replies; 31+ messages in thread
From: Christoph @ 2010-07-27 23:32 UTC (permalink / raw)
  To: bug-gnu-emacs; +Cc: Juanma Barranquero, Sean Sieger

On 7/27/2010 5:04 PM, Juanma Barranquero wrote:

> One question. Why do you pass "--without-tiff --without-gif --with
> out-jpeg --without-png" to configure?
>
> We don't distribute binaries for the tiff, gif, jpeg and png
> libraries, but that does not mean that you cannot build a binary that
> supports them, if the user provides them.

I agree. Those arguments should be removed from configure.

Christoph





^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-27 23:04                             ` Juanma Barranquero
  2010-07-27 23:32                               ` Christoph
@ 2010-07-28  1:31                               ` Sean Sieger
  1 sibling, 0 replies; 31+ messages in thread
From: Sean Sieger @ 2010-07-28  1:31 UTC (permalink / raw)
  To: bug-gnu-emacs

    One question. Why do you pass "--without-tiff --without-gif --with
    out-jpeg --without-png" to configure?

Because I thought it was my experience that configure coughs if it
hasn't been passed these and cannot find the requisite dlls.

    We don't distribute binaries for the tiff, gif, jpeg and png
    libraries, but that does not mean that you cannot build a binary that
    supports them, if the user provides them.

Noted.  I'll try again.






^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-27 23:25                             ` Christoph
@ 2010-07-28  1:33                               ` Sean Sieger
  0 siblings, 0 replies; 31+ messages in thread
From: Sean Sieger @ 2010-07-28  1:33 UTC (permalink / raw)
  To: bug-gnu-emacs

Christoph <cschol2112@googlemail.com> writes:

    On 7/27/2010 4:25 PM, Sean Sieger wrote:

    > I used to copy makedist to the directory containing my copy of Emacs,
    > now what do I do?

    cd nt

    configure --with-gcc --no-opt --enable-checking
    --cflags -Ic:/xpm/include --distfiles c:/xpm/bin/libXpm.dll
    --without-tiff --without-gif --with out-jpeg --without-png

    mingw32-make dist

    This should create 2 zip files in your nt directory which contain the
    binary distributions (full and bin only).

    > Clearly, --distfiles are only copied at packaging time?
    > ... not at `make install', for instance libXpm.dll (the only file that I
    > should be adding)?

    That's correct. libXpm.dll is the only file you need.

    If you can't get it to work, do this:

    mingw32-make install > build.log 2>&1

    This will create a file build.log in nt with all the output from
    make. Send me the file offlist and I will try to help troubleshoot
    this.

    For what it's worth, I just build and packaged the latest trunk and it
    worked fine.

    Christoph

Thank you.  I've been rushing ...






^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-27 22:59                             ` Juanma Barranquero
@ 2010-07-28  1:34                               ` Sean Sieger
  0 siblings, 0 replies; 31+ messages in thread
From: Sean Sieger @ 2010-07-28  1:34 UTC (permalink / raw)
  To: bug-gnu-emacs

    Does your cp accept forward slashes? Does it work if you try
    --distfiles c:\xpm\bin\libXpm.dll?

I'll check.






^ permalink raw reply	[flat|nested] 31+ messages in thread

* bug#6602: [PATCH] make dist target for Windows
  2010-07-27 23:08                             ` Christoph
@ 2010-07-28  1:38                               ` Sean Sieger
  0 siblings, 0 replies; 31+ messages in thread
From: Sean Sieger @ 2010-07-28  1:38 UTC (permalink / raw)
  To: bug-gnu-emacs

    No, it is copied to a bin/ in a temporary directory, from which the
    zip file is created. Does the zip file contain libXpm.dll?

Sorry.  I keep dropping in the apartment and trying to get to this stuff
and not getting anywhere ... tomorrow, I will get it right.

Thank you for your patience and guidance.






^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2010-07-28  1:38 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-10 14:00 bug#6602: [PATCH] make dist target for Windows Christoph
2010-07-22  9:19 ` Juanma Barranquero
2010-07-22  9:20   ` Juanma Barranquero
2010-07-22 10:01   ` Juanma Barranquero
2010-07-23  1:14     ` Christoph
2010-07-23  1:22       ` Juanma Barranquero
2010-07-24  3:18         ` Christoph
2010-07-24 13:28           ` Juanma Barranquero
2010-07-24 13:31             ` Juanma Barranquero
2010-07-24 22:19             ` Christoph
2010-07-25  1:01               ` Juanma Barranquero
2010-07-25  2:04                 ` Christoph
2010-07-25  2:55                   ` Juanma Barranquero
2010-07-25  3:18                     ` Christoph
2010-07-25  3:58                       ` Juanma Barranquero
2010-07-25  4:44                         ` Christoph
2010-07-25 12:30                       ` Sean Sieger
2010-07-25 14:09                         ` Christoph
2010-07-25 17:36                           ` Sean Sieger
2010-07-27 22:25                           ` Sean Sieger
2010-07-27 23:04                             ` Juanma Barranquero
2010-07-27 23:32                               ` Christoph
2010-07-28  1:31                               ` Sean Sieger
2010-07-27 23:25                             ` Christoph
2010-07-28  1:33                               ` Sean Sieger
2010-07-27  1:48                         ` Christoph
2010-07-27 21:08                           ` Sean Sieger
2010-07-27 22:59                             ` Juanma Barranquero
2010-07-28  1:34                               ` Sean Sieger
2010-07-27 23:08                             ` Christoph
2010-07-28  1:38                               ` Sean Sieger

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).