diff --git a/nt/ChangeLog b/nt/ChangeLog index f0aad69d64d..4dfdd16fd32 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,13 @@ +2010-07-25 Christoph Scholtes + + Build binary distros on Windows using emacs-VERSION as root dir name. + + * 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-25 Juanma Barranquero * runemacs.c (set_user_model_id): Fix prototype. diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in index 47f9b901075..b0f5edb28a2 100644 --- a/nt/makefile.w32-in +++ b/nt/makefile.w32-in @@ -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 @@ install-bin: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE) - $(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-other-dirs-gmake: 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 @@ top-distclean: - $(DEL) stamp_BLD - $(DEL) ../etc/DOC ../etc/DOC-X - $(DEL) config.log Makefile + - $(DEL) ../README.W32 distclean: distclean-other-dirs-$(MAKETYPE) top-distclean diff --git a/nt/zipdist.bat b/nt/zipdist.bat index 87c4e06c4be..af90f6173b9 100644 --- a/nt/zipdist.bat +++ b/nt/zipdist.bat @@ -20,25 +20,10 @@ 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 1: Emacs version number +set EMACS_VER=%1 -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 +set TMP_DIST_DIR=emacs-%EMACS_VER% rem Check, if 7zip is installed and available on path :ZIP_CHECK @@ -53,14 +38,12 @@ 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 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