]> git.eshelyaron.com Git - emacs.git/commitdiff
New make target for Windows platform: make dist (bug#6602)
authorChristoph Scholtes <cschol2112@gmail.com>
Sat, 24 Jul 2010 13:35:31 +0000 (15:35 +0200)
committerJuanma Barranquero <lekktu@gmail.com>
Sat, 24 Jul 2010 13:35:31 +0000 (15:35 +0200)
* admin/admin.el: Write version number to nt/makefile.w32-in.
* admin/nt/makedist.bat: Remove; replaced with `zipdist.bat'
  in the nt/ directory.
* admin/nt/README.W32: Relocate to nt/ directory.
* etc/NEWS: Document new --distfiles configure.bat option and
  `dist' make target on Windows.
* nt/INSTALL: Document new dist target and add section about
  creating binary distributions.
* nt/configure.bat: New parameter `--distfiles'.
* nt/makefile.w32-in: Add version number, new target `dist'.
  Add new target `install-shortcuts'.
* nt/zipdist.bat: New file; create zipped binary distribution,
  replaces admin/nt/makedist.bat.

12 files changed:
admin/ChangeLog
admin/admin.el
admin/nt/README.W32 [deleted file]
admin/nt/makedist.bat [deleted file]
etc/ChangeLog
etc/NEWS
nt/ChangeLog
nt/INSTALL
nt/README.W32 [new file with mode: 0644]
nt/configure.bat
nt/makefile.w32-in
nt/zipdist.bat [new file with mode: 0644]

index bda2901ed6e06fbae431f5956107e33bfdfd739b..e082eee36bfad24f7e0885c260a654f9286b123a 100644 (file)
@@ -1,3 +1,10 @@
+2010-07-24  Christoph Scholtes  <cschol2112@gmail.com>
+
+       * admin.el: Write version number to nt/makefile.w32-in.
+       * nt/makedist.bat: Remove; replaced with `zipdist.bat'
+       in the nt/ directory.
+       * nt/README.W32: Relocate to nt/ directory.
+
 2010-07-11  Andreas Schwab  <schwab@linux-m68k.org>
 
        * CPP-DEFINES (HAVE_INDEX, HAVE_RINDEX): Remove.
index f2cf008f475a6d5baf5c6881fcbfbdb88d2c78bb..51bbecf4c575c49928a15d609a82048add98cdd8 100644 (file)
@@ -95,6 +95,9 @@ Root must be the root of an Emacs source tree."
   (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
diff --git a/admin/nt/README.W32 b/admin/nt/README.W32
deleted file mode 100644 (file)
index 9f1df8a..0000000
+++ /dev/null
@@ -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/>.
diff --git a/admin/nt/makedist.bat b/admin/nt/makedist.bat
deleted file mode 100755 (executable)
index 6546e6e..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-@echo off\r
-\r
-rem Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010\r
-rem   Free Software Foundation, Inc.\r
-\r
-rem Cannot use brackets in andrewi's email below because\r
-rem older Windows shells will treat that as redirection.\r
-\r
-rem Author: Andrew Innes andrewi@gnu.org\r
-\r
-rem This file is part of GNU Emacs.\r
-\r
-rem GNU Emacs is free software: you can redistribute it and/or modify\r
-rem it under the terms of the GNU General Public License as published by\r
-rem the Free Software Foundation, either version 3 of the License, or\r
-rem (at your option) any later version.\r
-\r
-rem GNU Emacs is distributed in the hope that it will be useful,\r
-rem but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-rem GNU General Public License for more details.\r
-\r
-rem You should have received a copy of the GNU General Public License\r
-rem along with GNU Emacs.  If not, see http://www.gnu.org/licenses/.\r
-\r
-\r
-if (%3) == () goto usage\r
-if not (%4) == () goto %4\r
-\r
-:bin\r
-\r
-echo Create full bin distribution\r
-copy %3\README.W32 emacs-%1\README.W32\r
-rem Info-ZIP zip seems to be broken on Windows.\r
-rem It always writes to zip.zip and treats the zipfile argument as one\r
-rem of the files to go in it.\r
-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\r
-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\r
-del emacs-%1\README.W32\r
-if not (%4) == () goto end\r
-\r
-:barebin\r
-echo Create archive with just the basic binaries and generated files\r
-echo (the user needs to unpack the full source distribution for\r
-echo  everything else)\r
-copy %3\README.W32 emacs-%1\README.W32\r
-rem Info-ZIP zip seems to be broken on Windows.\r
-rem It always writes to zip.zip and treats the zipfile argument as one\r
-rem of the files to go in it.\r
-rem zip -9 -r %2-barebin-i386.zip emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC-X emacs-%1/COPYING\r
-7z a -tZIP -mx=9 %2-barebin-i386.zip emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC-X emacs-%1/COPYING\r
-del emacs-%1\README.W32\r
-if not (%4) == () goto end\r
-\r
-goto end\r
-\r
-:usage\r
-echo Generate source and binary distributions of emacs.\r
-echo Usage: %0 emacs-version dist-basename distfiles [bin,barebin]\r
-echo   (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles)\r
-:end\r
-\r
-goto skipArchTag\r
-   arch-tag: 6e2ddd92-c1c9-4992-b6b5-207aaab72f68\r
-:skipArchTag\r
index 16d49e1f8a7f7f9e6e116d2605cb4d291a58efec..a2770c12305b459f90d9bd6c32a3600b01ff34c0 100644 (file)
@@ -1,3 +1,8 @@
+2010-07-24  Christoph Scholtes  <cschol2112@gmail.com>
+
+       * NEWS: Document new --distfiles configure.bat option and
+       `dist' make target on Windows.
+
 2010-07-20  Juanma Barranquero  <lekktu@gmail.com>
 
        * PROBLEMS: Add note about use of backslashes in Windows paths.
index 31dd69d5b4c085814c7d908bef739bea64f0216d..6b781ab83647fe35ee5b10cd3ef60e1f25c42131 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -432,6 +432,12 @@ displayed with a "spinning bar".
 ** 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.
index 08f12203ec114a50e9f86b21e6777bbbacb61a47..fbf5bdbaa3013fb630b50ead18478e26207d98cd 100644 (file)
@@ -1,3 +1,16 @@
+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
+       creating binary distributions.
+       * README.W32: Relocate from admin/nt/ directory.
+       * configure.bat: New parameter `--distfiles'.
+       * makefile.w32-in: Add version number, new target `dist'.
+       Add new target `install-shortcuts'.
+       * zipdist.bat: New file; create zipped binary distribution,
+       replaces admin/nt/makedist.bat.
+
 2010-07-21  Juanma Barranquero  <lekktu@gmail.com>
 
        * INSTALL: Add note about backslashes in Windows paths.
index 1f1f75395f7c2ee1f9158467aa77c257876743a1..8af8e3020decd0744483708d55c141fe86566779 100644 (file)
   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.
 
   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
 
diff --git a/nt/README.W32 b/nt/README.W32
new file mode 100644 (file)
index 0000000..9f1df8a
--- /dev/null
@@ -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/>.
index 705d4e9271779107213f7610409ef45a35244584..c7bfad35189f004090b2641af625bcb2673c0fca 100755 (executable)
@@ -90,6 +90,8 @@ set userldflags=
 set doldflags=\r
 set sep1=\r
 set sep2=\r
+set sep3=\r
+set distfiles=\r
 \r
 rem ----------------------------------------------------------------------\r
 rem   Handle arguments.\r
@@ -112,6 +114,7 @@ if "%1" == "--without-gif" goto withoutgif
 if "%1" == "--without-tiff" goto withouttiff\r
 if "%1" == "--without-xpm" goto withoutxpm\r
 if "%1" == "--with-svg" goto withsvg\r
+if "%1" == "--distfiles" goto distfiles\r
 if "%1" == "" goto checkutils\r
 :usage\r
 echo Usage: configure [options]\r
@@ -132,6 +135,7 @@ echo.   --without-gif           do not use GIF library even if it is installed
 echo.   --without-tiff          do not use TIFF library even if it is installed\r
 echo.   --without-xpm           do not use XPM library even if it is installed\r
 echo.   --with-svg              use the RSVG library (experimental)\r
+echo.   --distfiles             path to files for make dist, e.g. libXpm.dll\r
 goto end\r
 rem ----------------------------------------------------------------------\r
 :setprefix\r
@@ -233,6 +237,16 @@ shift
 set svgsupport=Y\r
 goto again\r
 \r
+rem ----------------------------------------------------------------------\r
+\r
+:distfiles\r
+set HAVE_DISTFILES=1\r
+shift\r
+set distfiles=%distfiles%%sep3%%1\r
+set sep3= %nothing%\r
+shift\r
+goto again\r
+\r
 rem ----------------------------------------------------------------------\r
 rem    Check that necessary utilities (cp and rm) are present.\r
 :checkutils\r
@@ -521,6 +535,35 @@ set HAVE_RSVG=1
 :svgDone\r
 rm -f junk.c junk.obj junk.err junk.out\r
 \r
+rem Any distfiles provided for building distribution? If no, we're done.\r
+if "(%HAVE_DISTFILES%)"=="()" goto :distFilesDone\r
+\r
+rem Any arguments to --distfiles specified? If no, we're done.\r
+if not "%distfiles%"=="" goto :checkDistFiles\r
+set distFilesOk=0\r
+echo No arguments specified for option --distfiles!\r
+goto distfilesDone\r
+\r
+:checkDistFiles\r
+echo Checking for distfiles...\r
+rem Check if all specified distfiles exist\r
+set fileNotFound=\r
+for %%d in (%distfiles%) do if not exist %%d set fileNotFound=%%d\r
+if not "%fileNotFound%"=="" goto distFilesNotFound\r
+\r
+set distFilesOK=1\r
+echo ...all distfiles found.\r
+goto :distFilesDone\r
+\r
+:distFilesNotFound\r
+set distFilesOk=0\r
+echo ...%fileNotFound% not found.\r
+set distfiles=\r
+goto :distfilesDone\r
+\r
+:distFilesDone\r
+set fileNotFound=\r
+\r
 rem ----------------------------------------------------------------------\r
 :genmakefiles\r
 echo Generating makefiles\r
@@ -541,6 +584,7 @@ if (%enablechecking%) == (Y) echo ENABLECHECKS=1 >>config.settings
 if (%profile%) == (Y) echo PROFILE=1 >>config.settings\r
 if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings\r
 if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix%>>config.settings\r
+if not "(%distfiles%)" == "()" echo DIST_FILES=%distfiles%>>config.settings\r
 rem We go thru docflags because usercflags could be "-DFOO=bar" -something\r
 rem and the if command cannot cope with this\r
 for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y\r
@@ -642,12 +686,19 @@ if (%tiffsupport%) == (N) goto checkgif
  echo   Install libtiff development files or use --without-tiff\r
 \r
 :checkgif\r
-if not "(%HAVE_GIF%)" == "()" goto donelibchecks\r
-if (%gifsupport%) == (N) goto donelibchecks\r
+if not "(%HAVE_GIF%)" == "()" goto checkdistfiles\r
+if (%gifsupport%) == (N) goto checkdistfiles\r
  set libsOK=0\r
  echo GIF support is missing.\r
  echo   Install giflib or libungif development files or use --without-gif\r
 \r
+:checkdistfiles\r
+if "(%HAVE_DISTFILES%)" == "()" goto donelibchecks\r
+if (%distFilesOk%) == (1) goto donelibchecks\r
+echo.\r
+echo Files specified with option --distfiles could not be found.\r
+echo   Fix these issues before running make dist\r
+\r
 :donelibchecks\r
 if (%libsOK%) == (1) goto success\r
 echo.\r
@@ -680,6 +731,9 @@ set userldflags=
 set doldflags=\r
 set mingwflag=\r
 set mf=\r
+set distfiles=\r
+set HAVE_DISTFILES=\r
+set distFilesOk=\r
 \r
 goto skipArchTag\r
    arch-tag: 300d20a4-1675-4e75-b615-7ce1a8c5376c\r
index 48b3ab140564801a51dcfe412d0a7cbbf376dffd..47f9b90107560cab21cbc9762bdd58a9e3aa3816 100644 (file)
@@ -23,6 +23,8 @@
 # FIXME: This file uses DOS EOLs.  Convert to Unix after 22.1 is out\r
 #        (and remove or replace this comment).\r
 \r
+VERSION                = 24.0.50\r
+\r
 TRES           = $(BLD)/emacs.res\r
 CLIENTRES      = $(BLD)/emacsclient.res\r
 \r
@@ -197,12 +199,15 @@ $(INSTALL_DIR)/bin: $(INSTALL_DIR)
 #\r
 # Build and install emacs in INSTALL_DIR\r
 #\r
-install: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)\r
+.PHONY: install-bin install-shortcuts\r
+\r
+install: install-bin install-shortcuts\r
+\r
+install-bin: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)\r
        - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin\r
        - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin\r
        - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin\r
        - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin\r
-       - "$(INSTALL_DIR)/bin/addpm" -q\r
        - $(DEL) ../same-dir.tst\r
        - $(DEL) $(INSTALL_DIR)/same-dir.tst\r
        echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"\r
@@ -238,6 +243,14 @@ install-other-dirs-gmake:
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install\r
        $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install\r
 \r
+install-shortcuts:\r
+       "$(INSTALL_DIR)/bin/addpm" -q\r
+\r
+dist: install-bin \r
+       $(CP) $(DIST_FILES) $(INSTALL_DIR)/bin\r
+       $(CP) README.W32 $(INSTALL_DIR)\r
+       $(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(INSTALL_DIR) $(VERSION)$(ARGQUOTE)\r
+\r
 force-info:\r
 # Note that doc/emacs/makefile knows how to\r
 # put the info files in $(infodir),\r
diff --git a/nt/zipdist.bat b/nt/zipdist.bat
new file mode 100644 (file)
index 0000000..87c4e06
--- /dev/null
@@ -0,0 +1,66 @@
+@echo off\r
+rem Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010\r
+rem   Free Software Foundation, Inc.\r
+\r
+rem Author: Christoph Scholtes cschol2112 at gmail.com\r
+\r
+rem This file is part of GNU Emacs.\r
+\r
+rem GNU Emacs is free software: you can redistribute it and/or modify\r
+rem it under the terms of the GNU General Public License as published by\r
+rem the Free Software Foundation, either version 3 of the License, or\r
+rem (at your option) any later version.\r
+\r
+rem GNU Emacs is distributed in the hope that it will be useful,\r
+rem but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+rem GNU General Public License for more details.\r
+\r
+rem You should have received a copy of the GNU General Public License\r
+rem along with GNU Emacs.  If not, see http://www.gnu.org/licenses/.\r
+\r
+SETLOCAL\r
+rem arg 1: full path to Emacs root directory\r
+set ARG_PATH="%~f1"\r
+rem Path separator cannot be parsed correctly, substitute\r
+set ARG_PATH=%ARG_PATH:\=;%\r
+\r
+rem arg 2: Emacs version number\r
+set EMACS_VER=%2\r
+\r
+rem Parse out last directory from passed in full path (arg 1)\r
+for /f "tokens=* delims=;" %%G in (%ARG_PATH%) do call :PARSE_PATH %%G\r
+goto :EXIT\r
+\r
+:PARSE_PATH\r
+if "%1"=="" (\r
+  goto :ZIP_CHECK\r
+)\r
+set ROOT_DIR=%1\r
+SHIFT\r
+goto :PARSE_PATH\r
+\r
+rem Check, if 7zip is installed and available on path\r
+:ZIP_CHECK\r
+7z\r
+if %ERRORLEVEL% NEQ 0 goto :ZIP_ERROR\r
+goto ZIP_DIST\r
+\r
+:ZIP_ERROR\r
+echo.\r
+echo ERROR: Make sure 7zip is installed and available on the Windows Path!\r
+goto EXIT\r
+\r
+rem Build distributions\r
+:ZIP_DIST\r
+pushd ..\..\r
+rem Build and verify full distribution\r
+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\r
+7z t emacs-%EMACS_VER%-bin-i386.zip\r
+rem Build and verify binary only distribution\r
+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\r
+7z t emacs-%EMACS_VER%-barebin-i386.zip\r
+popd\r
+goto EXIT\r
+\r
+:EXIT\r