Mercurial > hg > xemacs-beta
annotate modules/postgresql/install-sh @ 1314:15a91d7ae2d1
[xemacs-hg @ 2003-02-20 08:16:21 by ben]
check in makefile fixes et al
Makefile.in.in: Major surgery. Move all stuff related to building anything in the
src/ directory into src/. Simplify the dependencies -- everything
in src/ is dependent on the single entry `src' in MAKE_SUBDIRS.
Remove weirdo targets like `all-elc[s]', dump-elc[s], etc.
mule/mule-msw-init.el: Removed.
Delete this file.
mule/mule-win32-init.el: New file, with stuff from mule-msw-init.el -- not just for MS Windows
native, boys and girls!
bytecomp.el: Change code inserted to catch trying to load a Mule-only .elc
file in a non-Mule XEmacs. Formerly you got the rather cryptic
"The required feature `mule' cannot be provided". Now you get
"Loading this file requires Mule support".
finder.el: Remove dependency on which directory this function is invoked
from.
update-elc.el: Don't mess around with ../src/BYTECOMPILE_CHANGE. Now that
Makefile.in.in and xemacs.mak are in sync, both of them use
NEEDTODUMP and the other one isn't used.
dumped-lisp.el: Rewrite in terms of `list' and `nconc' instead of assemble-list, so
we can have arbitrary forms, not just `when-feature'.
very-early-lisp.el: Nuke this file.
finder-inf.el, packages.el, update-elc.el, update-elc-2.el, loadup.el, make-docfile.el: Eliminate references to very-early-lisp.
msw-glyphs.el: Comment clarification.
xemacs.mak: Add macros DO_TEMACS, DO_XEMACS, and a few others; this macro
section is now completely in sync with src/Makefile.in.in. Copy
check-features, load-shadows, and rebuilding finder-inf.el from
src/Makefile.in.in. The main build/dump/recompile process is now
synchronized with src/Makefile.in.in. Change `WARNING' to `NOTE'
and `error checking' to `error-checking' TO avoid tripping
faux warnings and errors in the VC++ IDE.
Makefile.in.in: Major surgery. Move all stuff related to building anything in the
src/ directory from top-level Makefile.in.in to here. Simplify
the dependencies. Rearrange into logical subsections.
Synchronize the main compile/dump/build-elcs section with
xemacs.mak, which is already clean and in good working order.
Remove weirdo targets like `all-elc[s]', dump-elc[s], etc. Add
additional levels of macros \(e.g. DO_TEMACS, DO_XEMACS,
TEMACS_BATCH, XEMACS_BATCH, XEMACS_BATCH_PACKAGES) to factor out
duplicated stuff. Clean up handling of "HEAP_IN_DATA" (Cygwin) so
it doesn't need to ignore the return value from dumping. Add
.NO_PARALLEL since various aspects of building and dumping must be
serialized but do not always have dependencies between them
(this is impossible in some cases). Everything related to src/
now gets built in one pass in this directory by just running
`make' (except the Makefiles themselves and config.h, paths.h,
Emacs.ad.h, and other generated .h files).
console.c: Update list of possibly valid console types.
emacs.c: Rationalize the specifying and handling of the type of the first
frame. This was originally prompted by a workspace in which I got
GTK to compile under C++ and in the process fixed it so it could
coexist with X in the same build -- hence, a combined
TTY/X/MS-Windows/GTK build is now possible under Cygwin. (However,
you can't simultaneously *display* more than one kind of device
connection -- but getting that to work is not that difficult.
Perhaps a project for a bored grad student. I (ben) would do it
but don't see the use.) To make sense of this, I added new
switches that can be used to specifically indicate the window
system: -x [aka --use-x], -tty \[aka --use-tty], -msw [aka
--use-ms-windows], -gtk [aka --use-gtk], and -gnome [aka
--use-gnome, same as --use-gtk]. -nw continues as an alias for
-tty. When none have been given, XEmacs checks for other
parameters implying particular device types (-t -> tty, -display
-> x [or should it have same treatment as DISPLAY below?]), and
has ad-hoc logic afterwards: if env var DISPLAY is set, use x (or
gtk? perhaps should check whether gnome is running), else MS
Windows if it exsits, else TTY if it exists, else stream, and you
must be running in batch mode. This also fixes an existing bug
whereby compiling with no x, no mswin, no tty, when running non-
interactively (e.g. to dump) I get "sorry, must have TTY support".
emacs.c: Turn on Vstack_trace_on_error so that errors are debuggable even
when occurring extremely early in reinitialization.
emacs.c: Try to make sure that the user can see message output under
Windows (i.e. it doesn't just disappear right away) regardless of
when it occurs, e.g. in the middle of creating the first frame.
emacs.c: Define new function `emacs-run-status', indicating whether XEmacs
is noninteractive or interactive, whether raw,
post-dump/pdump-load or run-temacs, whether we are dumping,
whether pdump is in effect.
event-stream.c: It's "mommas are fat", not "momas are fat".
Fix other typo.
event-stream.c: Conditionalize in_menu_callback check on HAVE_MENUBARS,
because it won't exist on w/o menubar support,
lisp.h: More hackery on RETURN_NOT_REACHED. Cygwin v3.2 DOES complain here
if RETURN_NOT_REACHED() is blank, as it is for GCC 2.5+. So make it
blank only for GCC 2.5 through 2.999999999999999.
Declare Vstack_trace_on_error.
profile.c: Need to include "profile.h" to fix warnings.
sheap.c: Don't fatal() when need to rerun Make, just stderr_out() and exit(0).
That way we can distinguish between a dumping failing expectedly
(due to lack of stack space, triggering another dump) and unexpectedly,
in which case, we want to stop building. (or go on, if -K is given)
syntax.c, syntax.h: Use ints where they belong, and enum syntaxcode's where they belong,
and fix warnings thereby.
syntax.h: Fix crash caused by an edge condition in the syntax-cache macros.
text.h: Spacing fixes.
xmotif.h: New file, to get around shadowing warnings.
EmacsManager.c, event-Xt.c, glyphs-x.c, gui-x.c, input-method-motif.c, xmmanagerp.h, xmprimitivep.h: Include xmotif.h.
alloc.c: Conditionalize in_malloc on ERROR_CHECK_MALLOC.
config.h.in, file-coding.h, fileio.c, getloadavg.c, select-x.c, signal.c, sysdep.c, sysfile.h, systime.h, text.c, unicode.c: Eliminate HAVE_WIN32_CODING_SYSTEMS, use WIN32_ANY instead.
Replace defined (WIN32_NATIVE) || defined (CYGWIN) with WIN32_ANY.
lisp.h: More futile attempts to walk and chew gum at the same time when
dealing with subr's that don't return.
| author | ben |
|---|---|
| date | Thu, 20 Feb 2003 08:16:21 +0000 |
| parents | 25e260cb7994 |
| children | 6ed8c4ccc17e |
| rev | line source |
|---|---|
| 996 | 1 #!/bin/sh |
| 2 # | |
| 3 # install - install a program, script, or datafile | |
| 4 # This comes from X11R5 (mit/util/scripts/install.sh). | |
| 5 # | |
| 6 # Copyright 1991 by the Massachusetts Institute of Technology | |
| 7 # | |
| 8 # Permission to use, copy, modify, distribute, and sell this software and its | |
| 9 # documentation for any purpose is hereby granted without fee, provided that | |
| 10 # the above copyright notice appear in all copies and that both that | |
| 11 # copyright notice and this permission notice appear in supporting | |
| 12 # documentation, and that the name of M.I.T. not be used in advertising or | |
| 13 # publicity pertaining to distribution of the software without specific, | |
| 14 # written prior permission. M.I.T. makes no representations about the | |
| 15 # suitability of this software for any purpose. It is provided "as is" | |
| 16 # without express or implied warranty. | |
| 17 # | |
| 18 # Calling this script install-sh is preferred over install.sh, to prevent | |
| 19 # `make' implicit rules from creating a file called install from it | |
| 20 # when there is no Makefile. | |
| 21 # | |
| 22 # This script is compatible with the BSD install script, but was written | |
| 23 # from scratch. It can only install one file at a time, a restriction | |
| 24 # shared with many OS's install programs. | |
| 25 | |
| 26 | |
| 27 # set DOITPROG to echo to test this script | |
| 28 | |
| 29 # Don't use :- since 4.3BSD and earlier shells don't like it. | |
| 30 doit="${DOITPROG-}" | |
| 31 | |
| 32 | |
| 33 # put in absolute paths if you don't have them in your path; or use env. vars. | |
| 34 | |
| 35 mvprog="${MVPROG-mv}" | |
| 36 cpprog="${CPPROG-cp}" | |
| 37 chmodprog="${CHMODPROG-chmod}" | |
| 38 chownprog="${CHOWNPROG-chown}" | |
| 39 chgrpprog="${CHGRPPROG-chgrp}" | |
| 40 stripprog="${STRIPPROG-strip}" | |
| 41 rmprog="${RMPROG-rm}" | |
| 42 mkdirprog="${MKDIRPROG-mkdir}" | |
| 43 | |
| 44 transformbasename="" | |
| 45 transform_arg="" | |
| 46 instcmd="$mvprog" | |
| 47 chmodcmd="$chmodprog 0755" | |
| 48 chowncmd="" | |
| 49 chgrpcmd="" | |
| 50 stripcmd="" | |
| 51 rmcmd="$rmprog -f" | |
| 52 mvcmd="$mvprog" | |
| 53 src="" | |
| 54 dst="" | |
| 55 dir_arg="" | |
| 56 | |
| 57 while [ x"$1" != x ]; do | |
| 58 case $1 in | |
| 59 -c) instcmd="$cpprog" | |
| 60 shift | |
| 61 continue;; | |
| 62 | |
| 63 -d) dir_arg=true | |
| 64 shift | |
| 65 continue;; | |
| 66 | |
| 67 -m) chmodcmd="$chmodprog $2" | |
| 68 shift | |
| 69 shift | |
| 70 continue;; | |
| 71 | |
| 72 -o) chowncmd="$chownprog $2" | |
| 73 shift | |
| 74 shift | |
| 75 continue;; | |
| 76 | |
| 77 -g) chgrpcmd="$chgrpprog $2" | |
| 78 shift | |
| 79 shift | |
| 80 continue;; | |
| 81 | |
| 82 -s) stripcmd="$stripprog" | |
| 83 shift | |
| 84 continue;; | |
| 85 | |
| 86 -t=*) transformarg=`echo $1 | sed 's/-t=//'` | |
| 87 shift | |
| 88 continue;; | |
| 89 | |
| 90 -b=*) transformbasename=`echo $1 | sed 's/-b=//'` | |
| 91 shift | |
| 92 continue;; | |
| 93 | |
| 94 *) if [ x"$src" = x ] | |
| 95 then | |
| 96 src=$1 | |
| 97 else | |
| 98 # this colon is to work around a 386BSD /bin/sh bug | |
| 99 : | |
| 100 dst=$1 | |
| 101 fi | |
| 102 shift | |
| 103 continue;; | |
| 104 esac | |
| 105 done | |
| 106 | |
| 107 if [ x"$src" = x ] | |
| 108 then | |
| 109 echo "install: no input file specified" | |
| 110 exit 1 | |
| 111 else | |
| 112 : | |
| 113 fi | |
| 114 | |
| 115 if [ x"$dir_arg" != x ]; then | |
| 116 dst=$src | |
| 117 src="" | |
| 118 | |
| 119 if [ -d $dst ]; then | |
| 120 instcmd=: | |
| 121 chmodcmd="" | |
| 122 else | |
| 123 instcmd=$mkdirprog | |
| 124 fi | |
| 125 else | |
| 126 | |
| 127 # Waiting for this to be detected by the "$instcmd $src $dsttmp" command | |
| 128 # might cause directories to be created, which would be especially bad | |
| 129 # if $src (and thus $dsttmp) contains '*'. | |
| 130 | |
| 131 if [ -f "$src" ] || [ -d "$src" ] | |
| 132 then | |
| 133 : | |
| 134 else | |
| 135 echo "install: $src does not exist" | |
| 136 exit 1 | |
| 137 fi | |
| 138 | |
| 139 if [ x"$dst" = x ] | |
| 140 then | |
| 141 echo "install: no destination specified" | |
| 142 exit 1 | |
| 143 else | |
| 144 : | |
| 145 fi | |
| 146 | |
| 147 # If destination is a directory, append the input filename; if your system | |
| 148 # does not like double slashes in filenames, you may need to add some logic | |
| 149 | |
| 150 if [ -d $dst ] | |
| 151 then | |
| 152 dst="$dst"/`basename $src` | |
| 153 else | |
| 154 : | |
| 155 fi | |
| 156 fi | |
| 157 | |
| 158 ## this sed command emulates the dirname command | |
| 159 dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` | |
| 160 | |
| 161 # Make sure that the destination directory exists. | |
| 162 # this part is taken from Noah Friedman's mkinstalldirs script | |
| 163 | |
| 164 # Skip lots of stat calls in the usual case. | |
| 165 if [ ! -d "$dstdir" ]; then | |
| 166 defaultIFS=' | |
| 167 ' | |
| 168 IFS="${IFS-${defaultIFS}}" | |
| 169 | |
| 170 oIFS="${IFS}" | |
| 171 # Some sh's can't handle IFS=/ for some reason. | |
| 172 IFS='%' | |
| 173 set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` | |
| 174 IFS="${oIFS}" | |
| 175 | |
| 176 pathcomp='' | |
| 177 | |
| 178 while [ $# -ne 0 ] ; do | |
| 179 pathcomp="${pathcomp}${1}" | |
| 180 shift | |
| 181 | |
| 182 if [ ! -d "${pathcomp}" ] ; | |
| 183 then | |
| 184 $mkdirprog "${pathcomp}" | |
| 185 else | |
| 186 : | |
| 187 fi | |
| 188 | |
| 189 pathcomp="${pathcomp}/" | |
| 190 done | |
| 191 fi | |
| 192 | |
| 193 if [ x"$dir_arg" != x ] | |
| 194 then | |
| 195 $doit $instcmd $dst && | |
| 196 | |
| 197 if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && | |
| 198 if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && | |
| 199 if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi && | |
| 200 if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi | |
| 201 else | |
| 202 | |
| 203 # If we're going to rename the final executable, determine the name now. | |
| 204 | |
| 205 if [ x"$transformarg" = x ] | |
| 206 then | |
| 207 dstfile=`basename $dst` | |
| 208 else | |
| 209 dstfile=`basename $dst $transformbasename | | |
| 210 sed $transformarg`$transformbasename | |
| 211 fi | |
| 212 | |
| 213 # don't allow the sed command to completely eliminate the filename | |
| 214 | |
| 215 if [ x"$dstfile" = x ] | |
| 216 then | |
| 217 dstfile=`basename $dst` | |
| 218 else | |
| 219 : | |
| 220 fi | |
| 221 | |
| 222 # Make a temp file name in the proper directory. | |
| 223 | |
| 224 dsttmp=$dstdir/#inst.$$# | |
| 225 | |
| 226 # Move or copy the file name to the temp name | |
| 227 | |
| 228 $doit $instcmd $src $dsttmp && | |
| 229 | |
| 230 trap "rm -f ${dsttmp}" 0 && | |
| 231 | |
| 232 # and set any options; do chmod last to preserve setuid bits | |
| 233 | |
| 234 # If any of these fail, we abort the whole thing. If we want to | |
| 235 # ignore errors from any of these, just make sure not to ignore | |
| 236 # errors from the above "$doit $instcmd $src $dsttmp" command. | |
| 237 | |
| 238 if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi && | |
| 239 if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi && | |
| 240 if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi && | |
| 241 if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi && | |
| 242 | |
| 243 # Now rename the file to the real destination. | |
| 244 | |
| 245 $doit $rmcmd -f $dstdir/$dstfile && | |
| 246 $doit $mvcmd $dsttmp $dstdir/$dstfile | |
| 247 | |
| 248 fi && | |
| 249 | |
| 250 | |
| 251 exit 0 |
