Mercurial > hg > xemacs-beta
view build-msw-release.sh @ 5632:bd80d9103fc8
Integrate CL code better into core, remove obsolete compatibility code.
lisp/ChangeLog addition:
2011-12-30 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el:
Call #'cl-compile-time-init explicitly here, don't rely on
bytecomp-load-hook for what is core functionality.
* cl-extra.el:
* cl-extra.el (require):
* cl-extra.el (make-random-state):
* cl-extra.el (random-state-p):
* cl-extra.el (make-hashtable): Removed.
* cl-extra.el (make-weak-hashtable): Removed.
* cl-extra.el (make-key-weak-hashtable): Removed.
* cl-extra.el (make-value-weak-hashtable): Removed.
* cl-extra.el ('hashtablep): Removed.
* cl-extra.el ('hashtable-fullness): Removed.
* cl-extra.el ('hashtable-test-function): Removed.
* cl-extra.el ('hashtable-type): Removed.
* cl-extra.el ('hashtable-size): Removed.
* cl-extra.el ('copy-hashtable): Removed.
* cl-extra.el (cl-builtin-gethash): Removed.
* cl-extra.el (cl-builtin-remhash): Removed.
* cl-extra.el (cl-builtin-clrhash): Removed.
* cl-extra.el (cl-builtin-maphash): Removed.
* cl-extra.el ('cl-gethash): Removed.
* cl-extra.el ('cl-puthash): Removed.
* cl-extra.el ('cl-remhash): Removed.
* cl-extra.el ('cl-clrhash): Removed.
* cl-extra.el ('cl-maphash): Removed.
* cl-extra.el ('cl-make-hash-table): Removed.
* cl-extra.el ('cl-hash-table-p): Removed.
* cl-extra.el ('cl-hash-table-count): Removed.
* cl-extra.el (cl-prettyexpand):
* cl-extra.el (names):
Remove compatibility aliases from this file.
In #'cl-prettyexpand, if FULL is nil, don't expand return-from
either, for symmetry with not expanding block.
Drop cl-extra-load-hook, it's useless when cl-extra is dumped
(since third-party code can't use it, and dumped code shouldn't
use it.)
* cl-macs.el:
* cl-macs.el (cl-pop2):
* cl-macs.el (defun*):
* cl-macs.el (cl-parse-loop-clause):
Remove some no-longer-needed compatibility kludges.
* cl.el:
* cl.el ('cl-map-extents): Removed.
* cl.el (cl-random-time):
* cl.el (list*): New, moved back from subr.el, given a shorter
implementation.
* cl.el ('cl-member): Removed.
* cl.el ('cl-floor): Removed.
* cl.el ('cl-ceiling): Removed.
* cl.el ('cl-truncate): Removed.
* cl.el ('cl-round): Removed.
* cl.el ('cl-mod): Removed.
Remove some compatibility aliases; these may conflict with
package usage, in which case the packages need to be updated, the
new names are available in 21.4, and that's the most recent
version we support.
* cl.el (cl-hacked-flag): Removed.
* cl.el (cl-hack-byte-compiler): Removed.
* subr.el:
* subr.el (list*): Moved back to cl.el.
* update-elc-2.el (batch-update-elc-2):
* update-elc.el (do-autoload-commands):
Add an autoload for cl-compile-time-init in these two files, they
run on bare temacs, auto-autoload isn't available to them, and now
bytecomp calls cl-compile-time-init explicitly.
* cl-compat.el: Removed. This file was long obsolete.
man/ChangeLog addition:
2011-12-30 Aidan Kehoe <kehoea@parhasard.net>
* cl.texi (Top):
* cl.texi (Usage):
* cl.texi (Organization):
* cl.texi (Efficiency Concerns):
* cl.texi (Common Lisp Compatibility):
Remove documentation of cl-compat, now it's deleted.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Fri, 30 Dec 2011 16:05:31 +0000 |
parents | 308d34e9f07d |
children |
line wrap: on
line source
#!/bin/sh # Copyright (C) 2000 Andy Piper # This file is part of XEmacs. # # XEmacs 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. # # XEmacs 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 XEmacs. If not, see <http://www.gnu.org/licenses/>. # This file builds the release kits for both cygwin and win32. You # must have both environments configured for it to work properly. In # particular you must provide a suitable value for NATIVE_ZLIB_DIR. # configuration NATIVE_ZLIB_DIR=/usr/local/mingw/lib PROGRAM_FILES='c:/Program Files/XEmacs' TMPINSTALL=/tmp/local # no configuration past this point INSTALL= FILES= BUILD=1 for OPT in $* do case $OPT in --install) INSTALL=1;; --installonly) INSTALL=1; BUILD='';; --help) echo "usage: build-msw-release.sh [--install]" && exit;; --*) ;; *) FILES="$FILES $OPT";; esac done # pick up version info . version.sh # decide on names emacs_ver=${emacs_major_version}.${emacs_minor_version}.${emacs_beta_version} cygwin_tarball=xemacs-i686-pc-cygwin-${emacs_ver}${emacs_kit_version}.tar.gz win32_tarball=xemacs-i586-pc-win32-${emacs_ver}${emacs_kit_version}.tar.gz DISTDIR=`pwd`/windows # check to see if we should build if test "$BUILD" = "1" then echo "Building the mswindows ${emacs_ver} release" # cleanup everything first if [ -f Makefile ] ; then make distclean fi # nuke the dist dir. rm -rf windows # create a dist directory mkdir -p windows/cygwin32 mkdir -p windows/win32 mkdir -p /usr/local mkdir -p ${TMPINSTALL} # first build win32 (cd nt; nmake -f xemacs.mak clean; nmake -f xemacs.mak) (cd "${PROGRAM_FILES}"; rm -rf ./XEmacs-${emacs_ver}) (cd nt; nmake -f xemacs.mak install; nmake -f xemacs.mak clean) # now build cygwin ./configure --with-dragndrop --with-postgresql=no --with-x=no \ --bindir=/usr/local/bin/i686-pc-cygwin --with-site-lisp=yes \ --with-ipv6-cname=no --with-netinstall make CFLAGS=-O3 MINGW_ZLIB_DIR=${NATIVE_ZLIB_DIR} beta # deal with the netinstaller (cd netinstall; strip setup.exe) cp netinstall/setup.exe windows # the win32 tar ball needs setup.exe cp netinstall/setup.exe \ "${PROGRAM_FILES}"/XEmacs-${emacs_ver}/i586-pc-win32 # make the win32 tarball (cd "${PROGRAM_FILES}"; tar czvf ${DISTDIR}/win32/${win32_tarball} \ ./XEmacs-${emacs_ver}) # make the tarball make prefix=${TMPINSTALL} bindir=${TMPINSTALL}/bin/i686-pc-cygwin install (cd ${TMPINSTALL}; tar czvf ${DISTDIR}/cygwin32/${cygwin_tarball} \ ./bin/i686-pc-cygwin \ ./lib/xemacs-${emacs_ver} \ ./lib/xemacs/lock \ ./man/man1/ctags.1 \ ./man/man1/etags.1 \ ./man/man1/gnuattach.1 \ ./man/man1/gnuclient.1 \ ./man/man1/gnudoit.1 \ ./man/man1/gnuserv.1 \ ./man/man1/xemacs.1; rm -rf bin lib man) # figure out the ini file. cygwin_tarball_size=`ls -l windows/cygwin32/${cygwin_tarball} | awk '{ print $5; }'` win32_tarball_size=`ls -l windows/win32/${win32_tarball} | awk '{ print $5; }'` (cd netinstall; make CYGWIN_SIZE=${cygwin_tarball_size} \ WIN32_SIZE=${win32_tarball_size} \ KIT_VERSION=${emacs_kit_version} setup-bin.ini ) cp netinstall/setup-bin.ini windows # tidy up make distclean fi # end of build # optionally install to the ftp site if test "$INSTALL" != "" then echo "Installing the mswindows ${emacs_ver} release" scp -r -oUser=slb -oProtocol=1 windows/* \ ftp.xemacs.org:/pub/xemacs/windows # update setup.ini ssh -1 -l slb ftp.xemacs.org 'cd /pub/xemacs/windows; sh makeini.sh' fi