Mercurial > hg > xemacs-beta
annotate build-msw-release.sh @ 5602:c9e5612f5424
Support the MP library on recent FreeBSD, have it pass relevant tests.
src/ChangeLog addition:
2011-11-26 Aidan Kehoe <kehoea@parhasard.net>
* number-mp.c (bignum_to_string):
Don't overwrite the accumulator we've just set up for this
function.
* number-mp.c (BIGNUM_TO_TYPE):
mp_itom() doesn't necessarily do what this code used to think with
negative numbers, it can treat them as unsigned ints. Subtract
numbers from bignum_zero instead of multiplying them by -1 to
convert them to their negative equivalents.
* number-mp.c (bignum_to_int):
* number-mp.c (bignum_to_uint):
* number-mp.c (bignum_to_long):
* number-mp.c (bignum_to_ulong):
* number-mp.c (bignum_to_double):
Use the changed BIGNUM_TO_TYPE() in these functions.
* number-mp.c (bignum_ceil):
* number-mp.c (bignum_floor):
In these functions, be more careful about rounding to positive and
negative infinity, respectively. Don't use the sign of QUOTIENT
when working out out whether to add or subtract one, rather use
the sign QUOTIENT would have if arbitrary-precision division were
done.
* number-mp.h:
* number-mp.h (MP_GCD):
Wrap #include <mp.h> in BEGIN_C_DECLS/END_C_DECLS.
* number.c (Fbigfloat_get_precision):
* number.c (Fbigfloat_set_precision):
Don't attempt to call XBIGFLOAT_GET_PREC if this build doesn't
support big floats.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 26 Nov 2011 17:59:14 +0000 |
parents | 308d34e9f07d |
children |
rev | line source |
---|---|
674 | 1 #!/bin/sh |
2 | |
4781
8a653fbe5c27
Add copyright and GPL v2 or later notices to Andy Piper's contributions, with
Jerry James <james@xemacs.org>
parents:
864
diff
changeset
|
3 # Copyright (C) 2000 Andy Piper |
8a653fbe5c27
Add copyright and GPL v2 or later notices to Andy Piper's contributions, with
Jerry James <james@xemacs.org>
parents:
864
diff
changeset
|
4 |
8a653fbe5c27
Add copyright and GPL v2 or later notices to Andy Piper's contributions, with
Jerry James <james@xemacs.org>
parents:
864
diff
changeset
|
5 # This file is part of XEmacs. |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4781
diff
changeset
|
6 # |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4781
diff
changeset
|
7 # XEmacs is free software: you can redistribute it and/or modify it |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4781
diff
changeset
|
8 # under the terms of the GNU General Public License as published by the |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4781
diff
changeset
|
9 # Free Software Foundation, either version 3 of the License, or (at your |
4781
8a653fbe5c27
Add copyright and GPL v2 or later notices to Andy Piper's contributions, with
Jerry James <james@xemacs.org>
parents:
864
diff
changeset
|
10 # option) any later version. |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4781
diff
changeset
|
11 # |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4781
diff
changeset
|
12 # XEmacs is distributed in the hope that it will be useful, but WITHOUT |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4781
diff
changeset
|
13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4781
diff
changeset
|
14 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4781
diff
changeset
|
15 # for more details. |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4781
diff
changeset
|
16 # |
4781
8a653fbe5c27
Add copyright and GPL v2 or later notices to Andy Piper's contributions, with
Jerry James <james@xemacs.org>
parents:
864
diff
changeset
|
17 # You should have received a copy of the GNU General Public License |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4781
diff
changeset
|
18 # along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
4781
8a653fbe5c27
Add copyright and GPL v2 or later notices to Andy Piper's contributions, with
Jerry James <james@xemacs.org>
parents:
864
diff
changeset
|
19 |
674 | 20 # This file builds the release kits for both cygwin and win32. You |
21 # must have both environments configured for it to work properly. In | |
22 # particular you must provide a suitable value for NATIVE_ZLIB_DIR. | |
23 | |
24 # configuration | |
25 NATIVE_ZLIB_DIR=/usr/local/mingw/lib | |
26 PROGRAM_FILES='c:/Program Files/XEmacs' | |
864 | 27 TMPINSTALL=/tmp/local |
674 | 28 # no configuration past this point |
29 | |
30 INSTALL= | |
31 FILES= | |
32 BUILD=1 | |
33 | |
34 for OPT in $* | |
35 do | |
36 case $OPT in | |
37 --install) INSTALL=1;; | |
38 --installonly) INSTALL=1; BUILD='';; | |
39 --help) echo "usage: build-msw-release.sh [--install]" && exit;; | |
40 --*) ;; | |
41 *) FILES="$FILES $OPT";; | |
42 esac | |
43 done | |
44 | |
45 # pick up version info | |
46 . version.sh | |
47 | |
48 # decide on names | |
49 emacs_ver=${emacs_major_version}.${emacs_minor_version}.${emacs_beta_version} | |
708 | 50 cygwin_tarball=xemacs-i686-pc-cygwin-${emacs_ver}${emacs_kit_version}.tar.gz |
51 win32_tarball=xemacs-i586-pc-win32-${emacs_ver}${emacs_kit_version}.tar.gz | |
674 | 52 |
53 DISTDIR=`pwd`/windows | |
54 | |
55 # check to see if we should build | |
56 if test "$BUILD" = "1" | |
57 then | |
58 | |
59 echo "Building the mswindows ${emacs_ver} release" | |
60 | |
61 # cleanup everything first | |
62 if [ -f Makefile ] ; then | |
63 make distclean | |
64 fi | |
65 | |
708 | 66 # nuke the dist dir. |
67 rm -rf windows | |
68 | |
69 # create a dist directory | |
70 mkdir -p windows/cygwin32 | |
71 mkdir -p windows/win32 | |
72 mkdir -p /usr/local | |
864 | 73 mkdir -p ${TMPINSTALL} |
708 | 74 |
674 | 75 # first build win32 |
76 (cd nt; | |
708 | 77 nmake -f xemacs.mak clean; |
674 | 78 nmake -f xemacs.mak) |
79 (cd "${PROGRAM_FILES}"; | |
80 rm -rf ./XEmacs-${emacs_ver}) | |
81 (cd nt; | |
82 nmake -f xemacs.mak install; | |
83 nmake -f xemacs.mak clean) | |
84 | |
85 # now build cygwin | |
86 ./configure --with-dragndrop --with-postgresql=no --with-x=no \ | |
87 --bindir=/usr/local/bin/i686-pc-cygwin --with-site-lisp=yes \ | |
88 --with-ipv6-cname=no --with-netinstall | |
89 make CFLAGS=-O3 MINGW_ZLIB_DIR=${NATIVE_ZLIB_DIR} beta | |
90 | |
91 # deal with the netinstaller | |
92 (cd netinstall; | |
93 strip setup.exe) | |
94 cp netinstall/setup.exe windows | |
95 | |
96 # the win32 tar ball needs setup.exe | |
97 cp netinstall/setup.exe \ | |
98 "${PROGRAM_FILES}"/XEmacs-${emacs_ver}/i586-pc-win32 | |
99 | |
100 # make the win32 tarball | |
101 (cd "${PROGRAM_FILES}"; | |
102 tar czvf ${DISTDIR}/win32/${win32_tarball} \ | |
103 ./XEmacs-${emacs_ver}) | |
104 | |
105 # make the tarball | |
864 | 106 make prefix=${TMPINSTALL} bindir=${TMPINSTALL}/bin/i686-pc-cygwin install |
107 (cd ${TMPINSTALL}; | |
674 | 108 tar czvf ${DISTDIR}/cygwin32/${cygwin_tarball} \ |
109 ./bin/i686-pc-cygwin \ | |
110 ./lib/xemacs-${emacs_ver} \ | |
111 ./lib/xemacs/lock \ | |
112 ./man/man1/ctags.1 \ | |
113 ./man/man1/etags.1 \ | |
114 ./man/man1/gnuattach.1 \ | |
115 ./man/man1/gnuclient.1 \ | |
116 ./man/man1/gnudoit.1 \ | |
117 ./man/man1/gnuserv.1 \ | |
864 | 118 ./man/man1/xemacs.1; |
119 rm -rf bin lib man) | |
674 | 120 |
121 # figure out the ini file. | |
122 cygwin_tarball_size=`ls -l windows/cygwin32/${cygwin_tarball} | awk '{ print $5; }'` | |
123 win32_tarball_size=`ls -l windows/win32/${win32_tarball} | awk '{ print $5; }'` | |
124 | |
125 (cd netinstall; | |
126 make CYGWIN_SIZE=${cygwin_tarball_size} \ | |
708 | 127 WIN32_SIZE=${win32_tarball_size} \ |
128 KIT_VERSION=${emacs_kit_version} setup-bin.ini ) | |
674 | 129 cp netinstall/setup-bin.ini windows |
130 | |
131 # tidy up | |
132 make distclean | |
133 | |
134 fi | |
135 # end of build | |
136 | |
137 # optionally install to the ftp site | |
138 if test "$INSTALL" != "" | |
139 then | |
140 echo "Installing the mswindows ${emacs_ver} release" | |
141 scp -r -oUser=slb -oProtocol=1 windows/* \ | |
142 ftp.xemacs.org:/pub/xemacs/windows | |
143 # update setup.ini | |
144 ssh -1 -l slb ftp.xemacs.org 'cd /pub/xemacs/windows; sh makeini.sh' | |
145 fi | |
146 |