- added custom install options. workarea creates an empty config.h,
and configure creates a config.h that sets the default scheme heap path and scheme-script name based on the actual configuration. configure, newrelease, workarea, checkin, c/Mf-base, scheme.c, main.c, Mf-install.in - renamed the installed example directory from lib to examples. Mf-install.in, scheme.1.in - added force option to gzip during man page install to prevent gzip from asking for permission to overwrite existing man page files. Mf-install.in - removed ~/lib/csv%v/%m from the default scheme heap path on unix-like systems. documented inclusion of %x\..\..\boot\%m in the Windows default scheme heap path. main.c, use.stex - added new configuration options: --installbin, --installlib, --installschemename, --installpetitename, and --installscriptname. configure - updated the example library link to the nanopass framework. CONTRIBUTING.md - now cleaning up petite.1 and scheme.1 left behind by make install Makefile-workarea.in, checkin - now removing workarea after cleaning csug and release_notes so Mf-stex (included from csug/Makefile and release_notes/Makefile) doesn't complain trying to determine the machine type. Makefile.in - added installsh support for --ifdiff so the csug make file can use it for the install target. installsh, csug/Makefile - added instructions for building (cross-compiling) a boot file for a supported machine type for which a boot file is not built by default. BUILDING original commit: df4194c83a9e67d1ec20165fc3e2def4ed8e8986
This commit is contained in:
parent
bf23095a18
commit
a80f0fb0b3
9
BUILDING
9
BUILDING
|
@ -150,6 +150,15 @@ The make file supports several targets:
|
|||
boot and header files can be committed as well. 'make bootfiles'
|
||||
can take 5 minutes or more.
|
||||
|
||||
'make bootfiles' builds boot files for each machine type for which
|
||||
a subdirectory exists in the top-level boot directory. to build
|
||||
for a supported machine type that isn't built by default, simply
|
||||
add the appropriate subdirectory, i.e., 'mkdir boot/$M', where M
|
||||
is the machine type, before running 'make bootfiles'. You can
|
||||
also run '(cd $W ; make -f Mf-boot $M.boot)', where W is the name
|
||||
of a built work area for the host machine type, to build just the
|
||||
boot files for machine-type M.
|
||||
|
||||
'make clean'
|
||||
removes binaries from the workarea.
|
||||
|
||||
|
|
|
@ -85,9 +85,9 @@ Please keep in mind the following guidance when preparing contributions:
|
|||
of their own. If you are contributing a significant extension built
|
||||
using Chez Scheme, consider whether your contribution is such an
|
||||
independent project. An example of such a project is the [Nanopass
|
||||
Framework](http://github.com/akeep/nanopass-framework) which is
|
||||
both used by Chez Scheme and was initially written using Chez Scheme,
|
||||
but evolves separately.
|
||||
Framework](http://github.com/nanopass/nanopass-framework-scheme)
|
||||
which is both used by Chez Scheme and was initially written using
|
||||
Chez Scheme, but evolves separately.
|
||||
|
||||
Before investing significant effort preparing a contribution,
|
||||
consider running the idea by one of the committers for additional
|
||||
|
|
37
LOG
37
LOG
|
@ -104,5 +104,38 @@
|
|||
configure, makefiles/Makefile.in,
|
||||
csug/Makefile, copyright.stex, csug.stex,
|
||||
release_notes/Makefile
|
||||
- added custom install options.
|
||||
configure newrelease scheme.c heappath.h.in
|
||||
- added custom install options. workarea creates an empty config.h,
|
||||
and configure creates a config.h that sets the default scheme heap
|
||||
path and scheme-script name based on the actual configuration.
|
||||
configure, newrelease, workarea, checkin,
|
||||
c/Mf-base, scheme.c, main.c,
|
||||
Mf-install.in
|
||||
- renamed the installed example directory from lib to examples.
|
||||
Mf-install.in,
|
||||
scheme.1.in
|
||||
- added force option to gzip during man page install to prevent gzip from
|
||||
asking for permission to overwrite existing man page files.
|
||||
Mf-install.in
|
||||
- removed ~/lib/csv%v/%m from the default scheme heap path on unix-like
|
||||
systems. documented inclusion of %x\..\..\boot\%m in the Windows
|
||||
default scheme heap path.
|
||||
main.c,
|
||||
use.stex
|
||||
- added new configuration options: --installbin, --installlib,
|
||||
--installschemename, --installpetitename, and --installscriptname.
|
||||
configure
|
||||
- updated the example library link to the nanopass framework.
|
||||
CONTRIBUTING.md
|
||||
- now cleaning up petite.1 and scheme.1 left behind by make install
|
||||
Makefile-workarea.in, checkin
|
||||
- now removing workarea after cleaning csug and release_notes so
|
||||
Mf-stex (included from csug/Makefile and release_notes/Makefile)
|
||||
doesn't complain trying to determine the machine type.
|
||||
Makefile.in
|
||||
- added installsh support for --ifdiff so the csug make file can use it
|
||||
for the install target.
|
||||
installsh,
|
||||
csug/Makefile
|
||||
- added instructions for building (cross-compiling) a boot file for
|
||||
a supported machine type for which a boot file is not built by default.
|
||||
BUILDING
|
||||
|
|
|
@ -27,7 +27,7 @@ kernelsrc=statics.c segment.c alloc.c symbol.c intern.c gcwrapper.c gc-ocd.c gc-
|
|||
|
||||
kernelobj=${kernelsrc:%.c=%.$o} ${mdobj}
|
||||
|
||||
kernelhdr=system.h types.h version.h globals.h externs.h segment.h gc.c sort.h thread.h itest.c
|
||||
kernelhdr=system.h types.h version.h globals.h externs.h segment.h gc.c sort.h thread.h config.h itest.c
|
||||
|
||||
mainsrc=main.c
|
||||
|
||||
|
@ -44,6 +44,7 @@ rootsrc=$(shell cd ../../c; echo *)
|
|||
${rootsrc}: ; ln -s ../../c/$@ $@
|
||||
|
||||
scheme.o: itest.c
|
||||
scheme.o main.o: config.h
|
||||
${kernelobj}: system.h types.h version.h externs.h globals.h segment.h thread.h sort.h
|
||||
${kernelobj}: ${Include}/equates.h ${Include}/scheme.h
|
||||
${mainobj}: ${Include}/scheme.h
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
/* heappath.h
|
||||
* Copyright 1984-2016 Cisco Systems, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* This file sets the default search path for the scheme boot directory. */
|
||||
|
||||
#define SEARCHPATHMAXSIZE 8192
|
||||
#ifdef WIN32
|
||||
|
||||
#define SEARCHPATHSEP ';'
|
||||
/* by default, look in executable directory or in parallel boot directory */
|
||||
#define defaultsystemheappath "%x;%x\\..\\..\\boot\\%m"
|
||||
|
||||
#else /* not WIN32: */
|
||||
|
||||
#define SEARCHPATHSEP ':'
|
||||
/* keep in sync with scheme.1 */
|
||||
#define defaultsystemheappath "/usr/lib/csv%v/%m:/usr/local/lib/csv%v/%m"
|
||||
|
||||
#endif
|
7
c/main.c
7
c/main.c
|
@ -25,6 +25,7 @@
|
|||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include "scheme.h"
|
||||
#include "config.h"
|
||||
|
||||
/****
|
||||
CUSTOM_INIT may be defined as a function with the signature shown to
|
||||
|
@ -45,6 +46,10 @@
|
|||
#define ABNORMAL_EXIT ((void (*)(void))0)
|
||||
#endif /* ABNORMAL_EXIT */
|
||||
|
||||
#ifndef SCHEME_SCRIPT
|
||||
#define SCHEME_SCRIPT "scheme-script"
|
||||
#endif
|
||||
|
||||
static const char *path_last(const char *p) {
|
||||
const char *s;
|
||||
#ifdef WIN32
|
||||
|
@ -92,7 +97,7 @@ int main(int argc, const char *argv[]) {
|
|||
|
||||
Sscheme_init(ABNORMAL_EXIT);
|
||||
|
||||
if (strcmp(path_last(execpath), "scheme-script") == 0) {
|
||||
if (strcmp(path_last(execpath), SCHEME_SCRIPT) == 0) {
|
||||
if (argc < 2) {
|
||||
(void) fprintf(stderr,"%s requires program-path argument\n", execpath);
|
||||
exit(1);
|
||||
|
|
25
c/scheme.c
25
c/scheme.c
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
|
||||
#include "system.h"
|
||||
#include "config.h"
|
||||
#include <setjmp.h>
|
||||
#include <limits.h>
|
||||
#ifdef WIN32
|
||||
|
@ -403,8 +404,13 @@ static const char *path_last(p) const char *p; {
|
|||
return p;
|
||||
}
|
||||
|
||||
#include "heappath.h"
|
||||
#define SEARCHPATHMAXSIZE 8192
|
||||
#ifdef WIN32
|
||||
#ifndef DEFAULT_HEAP_PATH
|
||||
/* by default, look in executable directory or in parallel boot directory */
|
||||
#define DEFAULT_HEAP_PATH "%x;%x\\..\\..\\boot\\%m"
|
||||
#endif
|
||||
#define SEARCHPATHSEP ';'
|
||||
|
||||
static char *get_defaultheapdirs() {
|
||||
char *result;
|
||||
|
@ -412,20 +418,17 @@ static char *get_defaultheapdirs() {
|
|||
char key[PATH_MAX];
|
||||
snprintf(key, PATH_MAX, "HKEY_LOCAL_MACHINE\\Software\\Chez Scheme\\csv%s\\HeapSearchPath", VERSION);
|
||||
result = S_GetRegistry(defaultheapdirs, SEARCHPATHMAXSIZE, key);
|
||||
if (result == NULL) result = defaultsystemheappath;
|
||||
if (result == NULL) result = DEFAULT_HEAP_PATH;
|
||||
return result;
|
||||
}
|
||||
#else /* not WIN32: */
|
||||
static char *get_defaultheapdirs() {
|
||||
static char defaultheapdirs[SEARCHPATHMAXSIZE];
|
||||
const char *home;
|
||||
#define SEARCHPATHSEP ':'
|
||||
#ifndef DEFAULT_HEAP_PATH
|
||||
#define DEFAULT_HEAP_PATH "/usr/lib/csv%v/%m:/usr/local/lib/csv%v/%m"
|
||||
#endif
|
||||
|
||||
if ((home = S_homedir()) != NULL &&
|
||||
(snprintf(defaultheapdirs, SEARCHPATHMAXSIZE, "%s/lib/csv%%v/%%m:%s",
|
||||
home, defaultsystemheappath) < SEARCHPATHMAXSIZE))
|
||||
return defaultheapdirs;
|
||||
else
|
||||
return defaultsystemheappath;
|
||||
static char *get_defaultheapdirs() {
|
||||
return DEFAULT_HEAP_PATH;
|
||||
}
|
||||
#endif /* WIN32 */
|
||||
|
||||
|
|
5
checkin
5
checkin
|
@ -90,6 +90,7 @@ echo '*** running "make clean" in source directories ***'
|
|||
foreach x ($sdirs)
|
||||
switch ($x)
|
||||
case .:
|
||||
(cd $W; /bin/rm -f petite.1 scheme.1)
|
||||
(cd $W; /bin/rm -f Make.out)
|
||||
case unicode:
|
||||
case unicode/UNIDATA:
|
||||
|
@ -121,7 +122,7 @@ end
|
|||
|
||||
set sfiles = ()
|
||||
foreach x ($tmpsfiles)
|
||||
if ("$x" == "./Makefile" || "$x" == "./Mf-install" || "$x" == "./Mf-boot") then
|
||||
if ("$x" == "./Makefile" || "$x" == "./Mf-install" || "$x" == "./Mf-boot" || "$x" == "c/config.h") then
|
||||
set ignorefiles = ($ignorefiles $x)
|
||||
else
|
||||
cmp $W/$x $x >& /dev/null
|
||||
|
@ -190,7 +191,7 @@ set RESPONSE = ""
|
|||
while ("$RESPONSE" != "y")
|
||||
echo -n "proceed with check in? (y/n): "
|
||||
set RESPONSE = $<
|
||||
if ("$RESPONSE" == "n") goto error
|
||||
if ("$RESPONSE" == "n") exit 0
|
||||
end
|
||||
|
||||
set oldsfiles = ()
|
||||
|
|
93
configure
vendored
93
configure
vendored
|
@ -31,6 +31,12 @@ help=no
|
|||
gzipmanpages=yes
|
||||
installowner=""
|
||||
installgroup=""
|
||||
installbin=""
|
||||
installlib=""
|
||||
installman=""
|
||||
installschemename="scheme"
|
||||
installpetitename="petite"
|
||||
installscriptname="scheme-script"
|
||||
|
||||
case `uname` in
|
||||
Linux)
|
||||
|
@ -46,8 +52,7 @@ case `uname` in
|
|||
tm64=""
|
||||
fi
|
||||
installprefix=/usr
|
||||
installlib=$installprefix/lib
|
||||
installman=$installprefix/share/man
|
||||
installmansuffix=share/man
|
||||
;;
|
||||
QNX)
|
||||
if uname -a | egrep 'x86' > /dev/null 2>&1 ; then
|
||||
|
@ -55,8 +60,7 @@ case `uname` in
|
|||
tm32=ti3qnx
|
||||
fi
|
||||
installprefix=/usr/local
|
||||
installlib=$installprefix/lib
|
||||
installman=$installprefix/man
|
||||
installmansuffix=man
|
||||
;;
|
||||
FreeBSD)
|
||||
if uname -a | egrep 'i386|i686|amd64|athlon|x86_64' > /dev/null 2>&1 ; then
|
||||
|
@ -66,8 +70,7 @@ case `uname` in
|
|||
tm64=ta6fb
|
||||
fi
|
||||
installprefix=/usr/local
|
||||
installlib=$installprefix/lib
|
||||
installman=$installprefix/man
|
||||
installmansuffix=man
|
||||
;;
|
||||
OpenBSD)
|
||||
if uname -a | egrep 'i386|i686|amd64|athlon|x86_64' > /dev/null 2>&1 ; then
|
||||
|
@ -77,8 +80,7 @@ case `uname` in
|
|||
tm64=ta6ob
|
||||
fi
|
||||
installprefix=/usr/local
|
||||
installlib=$installprefix/lib
|
||||
installman=$installprefix/man
|
||||
installmansuffix=man
|
||||
;;
|
||||
NetBSD)
|
||||
if uname -a | egrep 'i386|i686|amd64|athlon|x86_64' > /dev/null 2>&1 ; then
|
||||
|
@ -88,8 +90,7 @@ case `uname` in
|
|||
tm64=ta6nb
|
||||
fi
|
||||
installprefix=/usr
|
||||
installlib=$installprefix/lib
|
||||
installman=$installprefix/share/man
|
||||
installmansuffix=share/man
|
||||
gzipmanpages=no
|
||||
;;
|
||||
Darwin)
|
||||
|
@ -100,8 +101,7 @@ case `uname` in
|
|||
tm64=ta6osx
|
||||
fi
|
||||
installprefix=/usr/local
|
||||
installlib=$installprefix/lib
|
||||
installman=$installprefix/share/man
|
||||
installmansuffix=share/man
|
||||
;;
|
||||
SunOS)
|
||||
if uname -a | egrep 'i386|i686|amd64|athlon|x86_64' > /dev/null 2>&1 ; then
|
||||
|
@ -110,8 +110,7 @@ case `uname` in
|
|||
tm32=ti3s2
|
||||
tm64=ta6s2
|
||||
installprefix=/usr
|
||||
installlib=$installprefix/lib
|
||||
installman=$installprefix/share/man
|
||||
installmansuffix=share/man
|
||||
gzipmanpages=no
|
||||
fi
|
||||
;;
|
||||
|
@ -143,6 +142,9 @@ while [ $# != 0 ] ; do
|
|||
--installlib=*)
|
||||
installlib=`echo $1 | sed -e 's/^--installlib=//'`
|
||||
;;
|
||||
--installbin=*)
|
||||
installbin=`echo $1 | sed -e 's/^--installbin=//'`
|
||||
;;
|
||||
--installman=*)
|
||||
installman=`echo $1 | sed -e 's/^--installman=//'`
|
||||
;;
|
||||
|
@ -152,6 +154,15 @@ while [ $# != 0 ] ; do
|
|||
--installgroup=*)
|
||||
installgroup=`echo $1 | sed -e 's/^--installgroup=//'`
|
||||
;;
|
||||
--installschemename=*)
|
||||
installschemename=`echo $1 | sed -e 's/^--installschemename=//'`
|
||||
;;
|
||||
--installpetitename=*)
|
||||
installpetitename=`echo $1 | sed -e 's/^--installpetitename=//'`
|
||||
;;
|
||||
--installscriptname=*)
|
||||
installscriptname=`echo $1 | sed -e 's/^--installscriptname=//'`
|
||||
;;
|
||||
--gzip-man-pages)
|
||||
gzipmanpages=yes
|
||||
;;
|
||||
|
@ -188,7 +199,7 @@ if [ "$threads" = "" ] ; then
|
|||
fi
|
||||
|
||||
if [ "$m" = "" ] ; then
|
||||
if [ $bits = 64 ] ; then
|
||||
if [ $bits = 64 ] ; then
|
||||
if [ $threads = yes ] ; then m=$tm64 ; else m=$m64 ; fi
|
||||
else
|
||||
if [ $threads = yes ] ; then m=$tm32 ; else m=$m32 ; fi
|
||||
|
@ -199,24 +210,40 @@ if [ "$w" = "" ] ; then
|
|||
w=$m
|
||||
fi
|
||||
|
||||
if [ "$installbin" = "" ] ; then
|
||||
installbin=$installprefix/bin
|
||||
fi
|
||||
|
||||
if [ "$installlib" = "" ] ; then
|
||||
installlib=$installprefix/lib
|
||||
fi
|
||||
|
||||
if [ "$installman" = "" ] ; then
|
||||
installman=$installprefix/$installmansuffix
|
||||
fi
|
||||
|
||||
if [ "$help" = "yes" ]; then
|
||||
echo "Purpose:"
|
||||
echo " $0 determines the machine type and constructs a custom Makefile"
|
||||
echo " and Mf-install, taking into account the options below."
|
||||
echo ""
|
||||
echo "Options (defaults shown in parens):"
|
||||
echo " --machine=<machine type> explicitly specify machine type ($m)"
|
||||
echo " -m=<machine type> same as --machine <machine type> ($m)"
|
||||
echo " --threads specify threaded version ($threads)"
|
||||
echo " --32|--64 specify 32/64-bit version ($bits)"
|
||||
echo " --installprefix=<pathname> final installation root ($installprefix)"
|
||||
echo " --installlib=<pathname> lib directory ($installlib)"
|
||||
echo " --installman=<pathname> manpage directory ($installman)"
|
||||
echo " --temproot=<pathname> staging root ($temproot)"
|
||||
echo " --installowner=<ownername> install with owner ($installowner)"
|
||||
echo " --installgroup=<groupname> install with group ($installgroup)"
|
||||
echo " --[no]gzip-man-pages compress manual pages ($gzipmanpages)"
|
||||
echo " --workarea=<pathname> build directory ($w)"
|
||||
echo " --machine=<machine type> explicitly specify machine type ($m)"
|
||||
echo " -m=<machine type> same as --machine <machine type> ($m)"
|
||||
echo " --threads specify threaded version ($threads)"
|
||||
echo " --32|--64 specify 32/64-bit version ($bits)"
|
||||
echo " --installprefix=<pathname> final installation root ($installprefix)"
|
||||
echo " --installbin=<pathname> lib directory ($installbin)"
|
||||
echo " --installlib=<pathname> lib directory ($installlib)"
|
||||
echo " --installman=<pathname> manpage directory ($installman)"
|
||||
echo " --temproot=<pathname> staging root ($temproot)"
|
||||
echo " --installowner=<ownername> install with owner ($installowner)"
|
||||
echo " --installgroup=<groupname> install with group ($installgroup)"
|
||||
echo " --installschemename=<schemename> install with group ($installschemename)"
|
||||
echo " --installpetitename=<petitename> install with group ($installpetitename)"
|
||||
echo " --installscriptname=<scriptname> install with group ($installscriptname)"
|
||||
echo " --[no]gzip-man-pages compress manual pages ($gzipmanpages)"
|
||||
echo " --workarea=<pathname> build directory ($w)"
|
||||
echo ""
|
||||
echo "Available machine types: $machs"
|
||||
echo ""
|
||||
|
@ -262,13 +289,19 @@ sed -e 's/$(m)/'$m'/g'\
|
|||
|
||||
sed -e "s;^m=none\$;m=$m;"\
|
||||
-e "s;^InstallPrefix=.*\$;InstallPrefix=$installprefix;"\
|
||||
-e "s;^InstallLib=.*\$;InstallLib=$installlib/csv9.4;"\
|
||||
-e "s;^InstallBin=.*\$;InstallBin=$installbin;"\
|
||||
-e "s;^InstallLib=.*\$;InstallLib=$installlib;"\
|
||||
-e "s;^InstallMan=.*\$;InstallMan=$installman/man1;"\
|
||||
-e "s;^InstallOwner=.*\$;InstallOwner=$installowner;"\
|
||||
-e "s;^InstallGroup=.*\$;InstallGroup=$installgroup;"\
|
||||
-e "s;^TempRoot=.*;TempRoot=$temproot;"\
|
||||
-e "s;^GzipManPages=.*$;GzipManPages=$gzipmanpages;"\
|
||||
-e "s;^InstallSchemeName=.*$;InstallSchemeName=$installschemename;"\
|
||||
-e "s;^InstallPetiteName=.*$;InstallPetiteName=$installpetitename;"\
|
||||
-e "s;^InstallScriptName=.*$;InstallScriptName=$installscriptname;"\
|
||||
makefiles/Mf-install.in > $w/Mf-install
|
||||
|
||||
sed -e "s;\#define defaultsystemheappath \"/usr/lib/csv%v/%m:.*\$;\#define defaultsystemheappath \"$installlib/csv%v/%m\";"\
|
||||
c/heappath.h.in > $w/c/heappath.h
|
||||
cat > $w/c/config.h << END
|
||||
#define SCHEME_SCRIPT "$installscriptname"
|
||||
#define DEFAULT_HEAP_PATH "$installlib/csv%v/%m"
|
||||
END
|
||||
|
|
|
@ -2,6 +2,7 @@ m = a6le
|
|||
Scheme=../$m/bin/$m/scheme -b ../$m/boot/$m/petite.boot -b ../$m/boot/$m/scheme.boot
|
||||
STEXLIB=../stex
|
||||
installdir=/tmp/csug9
|
||||
INSTALL=../$m/installsh
|
||||
|
||||
x = csug
|
||||
latex = pdflatex
|
||||
|
@ -14,14 +15,14 @@ DIR=$(shell basename `pwd`)
|
|||
target: logcheck1 logcheck2 checklibs $(x).html
|
||||
|
||||
install: target
|
||||
installsh -m 2755 -d $(installdir)
|
||||
installsh -m 0644 --ifdiff *.html *.css $(installdir)
|
||||
installsh -m 2755 -d $(installdir)/canned
|
||||
installsh -m 0644 --ifdiff canned/* $(installdir)/canned
|
||||
installsh -m 2755 -d $(installdir)/gifs
|
||||
installsh -m 0644 --ifdiff gifs/*.gif $(installdir)/gifs
|
||||
installsh -m 2755 -d $(installdir)/$(mathdir)
|
||||
installsh -m 0644 --ifdiff $(mathdir)/*.gif $(installdir)/$(mathdir)
|
||||
$(INSTALL) -m 2755 -d $(installdir)
|
||||
$(INSTALL) -m 0644 --ifdiff *.html *.css $(installdir)
|
||||
$(INSTALL) -m 2755 -d $(installdir)/canned
|
||||
$(INSTALL) -m 0644 --ifdiff canned/* $(installdir)/canned
|
||||
$(INSTALL) -m 2755 -d $(installdir)/gifs
|
||||
$(INSTALL) -m 0644 --ifdiff gifs/*.gif $(installdir)/gifs
|
||||
$(INSTALL) -m 2755 -d $(installdir)/$(mathdir)
|
||||
$(INSTALL) -m 0644 --ifdiff $(mathdir)/*.gif $(installdir)/$(mathdir)
|
||||
(cd $(installdir); ln -s -f $(x).html index.html)
|
||||
|
||||
# thrice is not enough when starting from scratch
|
||||
|
|
|
@ -1793,7 +1793,7 @@ arguments for which search tracing is desired.
|
|||
|
||||
Ordinarily, the search for
|
||||
boot files is limited to a set of
|
||||
default installation directories, but this may be overridden by setting
|
||||
installation directories, but this may be overridden by setting
|
||||
the environment variable \index{\scheme{SCHEMEHEAPDIRS}}\scheme{SCHEMEHEAPDIRS}.
|
||||
\scheme{SCHEMEHEAPDIRS} should be a colon-separated list of directories, listed in
|
||||
the order in which they should be searched.
|
||||
|
@ -1810,7 +1810,8 @@ searched after those in \scheme{SCHEMEHEAPDIRS}; otherwise, only those listed in
|
|||
Under Windows, semi-colons are used in place of colons, and one additional
|
||||
escape is recognized: ``\scheme{%x},'' which is replaced by the directory in
|
||||
which the executable file resides.
|
||||
The default search path under Windows consists only of ``\scheme{%x}.''
|
||||
The default search path under Windows consists of ``\scheme{%x}''
|
||||
and ``\scheme{%x\..\..\boot\%m}.''
|
||||
The registry key \scheme{HeapSearchPath} in
|
||||
\scheme{HKLM\SOFTWARE\Chez Scheme\csv\var{version}}, where
|
||||
\var{version} is the {\ChezScheme} version number, e.g.,
|
||||
|
|
|
@ -31,6 +31,7 @@ bootfiles: build
|
|||
$(MAKE) -f Mf-boot
|
||||
|
||||
clean:
|
||||
rm -f petite.1 scheme.1
|
||||
(cd s ; $(MAKE) clean)
|
||||
(cd c ; $(MAKE) clean)
|
||||
(cd mats ; $(MAKE) clean)
|
||||
|
|
|
@ -35,8 +35,8 @@ clean:
|
|||
(cd $(workarea) && $(MAKE) clean)
|
||||
|
||||
distclean:
|
||||
rm -rf $(workarea)
|
||||
(cd csug ; make reallyreallyclean)
|
||||
(cd release_notes ; make reallyreallyclean)
|
||||
rm -rf $(workarea)
|
||||
rm -f Makefile
|
||||
rm -f Make.out
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Mf-boot.in
|
||||
# Mf-install.in
|
||||
# Copyright 1984-2016 Cisco Systems, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -13,6 +13,10 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
###############################################################################
|
||||
# the following variables are set up by configure #
|
||||
###############################################################################
|
||||
|
||||
m=none
|
||||
|
||||
# The following variables determine where the executables, boot files,
|
||||
|
@ -22,56 +26,50 @@ m=none
|
|||
# in the generated manual page
|
||||
InstallPrefix=/usr
|
||||
|
||||
# executable directory
|
||||
InstallBin=${InstallPrefix}/bin
|
||||
|
||||
# library directory
|
||||
InstallLib=${InstallPrefix}/lib
|
||||
|
||||
# man page directory
|
||||
InstallMan=${InstallPrefix}/man/man1
|
||||
|
||||
# installation owner
|
||||
InstallOwner=
|
||||
|
||||
# installation group
|
||||
InstallGroup=
|
||||
|
||||
# executable directory
|
||||
InstallBin=${InstallPrefix}/bin
|
||||
|
||||
# library directory
|
||||
InstallLib=${InstallPrefix}/lib/csv9.4
|
||||
|
||||
# example program directory
|
||||
InstallLibLib=${InstallLib}/lib
|
||||
|
||||
# base executable and heap file directory
|
||||
InstallLibBin=${InstallLib}/$m
|
||||
|
||||
# man page directory
|
||||
InstallMan=${InstallPrefix}/man/man1
|
||||
|
||||
# compress man pages?
|
||||
GzipManPages=yes
|
||||
|
||||
# executable names
|
||||
InstallPetiteName=petite
|
||||
InstallSchemeName=scheme
|
||||
# the name "scheme-script" is hardwired in custom.c, so if
|
||||
# InstallScriptName is changed, the executable may have to be
|
||||
# rebuilt with a modified custom.c that looks for the new name
|
||||
InstallScriptName=scheme-script
|
||||
|
||||
# Files are actually installed at ${TempRoot}${InstallPrefix}
|
||||
# This useful for testing the install process and for building
|
||||
# installation scripts
|
||||
TempRoot=
|
||||
|
||||
# compress man pages?
|
||||
GzipManPages=yes
|
||||
|
||||
# executable names
|
||||
InstallSchemeName=scheme
|
||||
InstallPetiteName=petite
|
||||
InstallScriptName=scheme-script
|
||||
|
||||
###############################################################################
|
||||
# no changes should be needed below this point #
|
||||
###############################################################################
|
||||
|
||||
Version=csv9.4
|
||||
Include=boot/$m
|
||||
PetiteBoot=boot/$m/petite.boot
|
||||
SchemeBoot=boot/$m/scheme.boot
|
||||
Scheme=bin/$m/scheme
|
||||
Petite=bin/$m/petite
|
||||
InstallLibExamples=${InstallLib}/${Version}/examples
|
||||
InstallLibBin=${InstallLib}/${Version}/$m
|
||||
|
||||
Bin=${TempRoot}${InstallBin}
|
||||
Lib=${TempRoot}${InstallLib}
|
||||
LibLib=${TempRoot}${InstallLibLib}
|
||||
Lib=${TempRoot}${InstallLib}/${Version}
|
||||
LibExamples=${TempRoot}${InstallLibExamples}
|
||||
LibBin=${TempRoot}${InstallLibBin}
|
||||
Man=${TempRoot}${InstallMan}
|
||||
PetitePath=${Bin}/${InstallPetiteName}
|
||||
|
@ -95,8 +93,7 @@ uninstall:
|
|||
|
||||
scheme.1 petite.1: scheme.1.in
|
||||
sed -e "s;{InstallBin};${InstallBin};g" \
|
||||
-e "s;{InstallLib};${InstallLib};g" \
|
||||
-e "s;{InstallLibLib};${InstallLibLib};g" \
|
||||
-e "s;{InstallLibExamples};${InstallLibExamples};g" \
|
||||
-e "s;{InstallLibBin};${InstallLibBin};g" \
|
||||
-e "s;{InstallPetiteName};${InstallPetiteName};g" \
|
||||
-e "s;{InstallSchemeName};${InstallSchemeName};g" \
|
||||
|
@ -134,8 +131,8 @@ maninstall: scheme.1 petite.1 ${Man}
|
|||
$I -m 444 petite.1 ${Man}/${InstallPetiteName}.1
|
||||
if [ ${GzipManPages} = yes ] ; then gzip -f ${Man}/${InstallPetiteName}.1 ; fi
|
||||
|
||||
liblibinstall: ${LibLib}
|
||||
$I -m 444 ../examples/* ${LibLib}
|
||||
liblibinstall: ${LibExamples}
|
||||
$I -m 444 ../examples/* ${LibExamples}
|
||||
|
||||
${Lib}:
|
||||
$I -d -m 755 ${Lib}
|
||||
|
@ -143,8 +140,8 @@ ${Lib}:
|
|||
${LibBin}: ${Lib}
|
||||
$I -d -m 755 ${LibBin}
|
||||
|
||||
${LibLib}: ${Lib}
|
||||
$I -d -m 755 ${LibLib}
|
||||
${LibExamples}: ${Lib}
|
||||
$I -d -m 755 ${LibExamples}
|
||||
|
||||
${Bin}:
|
||||
$I -d -m 755 ${Bin}
|
||||
|
|
|
@ -6,6 +6,7 @@ fi
|
|||
|
||||
while ${TRUE} ; do
|
||||
mkdirs=0
|
||||
ifdiff=0
|
||||
|
||||
while [ $# -ge 0 ] ; do
|
||||
case $1 in
|
||||
|
@ -13,27 +14,27 @@ while ${TRUE} ; do
|
|||
-o) shift; owner=$1 ;;
|
||||
-g) shift; group=$1 ;;
|
||||
-m) shift; mode=$1 ;;
|
||||
--ifdiff) ifdiff=1 ;;
|
||||
-*) break 2 ;;
|
||||
*) break ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ $mkdirs -eq 1 ] && [ $ifdiff -eq 1 ] ; then
|
||||
break
|
||||
fi
|
||||
|
||||
if [ $mkdirs -eq 1 ] ; then
|
||||
dirs=$*
|
||||
|
||||
for dir in $dirs ; do
|
||||
case $dir in
|
||||
/*) ;;
|
||||
*) echo "directory name must begin with /; $dir does not" ; exit 1 ;;
|
||||
esac
|
||||
|
||||
stack=""
|
||||
while [ "$dir" != "/" ] ; do
|
||||
while [ "$dir" != "/" -a "$dir" != "." -a "$dir" != ".." ] ; do
|
||||
stack="$dir $stack"
|
||||
dir=`dirname $dir`
|
||||
done
|
||||
|
||||
|
||||
for dir in $stack ; do
|
||||
if [ ! -d $dir ] ; then
|
||||
if mkdir $dir ; then
|
||||
|
@ -60,7 +61,7 @@ while ${TRUE} ; do
|
|||
for file in $files ; do
|
||||
destfile=$dest
|
||||
if [ -d $destfile ] ; then destfile=$destfile/`basename $file` ; fi
|
||||
if cp -f -p $file $destfile ; then
|
||||
if [ $ifdiff == 1 ] && cmp -s $file $destfile || cp -f -p $file $destfile ; then
|
||||
if [ "$owner" != "" ] ; then chown $owner $destfile ; fi
|
||||
if [ "$group" != "" ] ; then chgrp $group $destfile ; fi
|
||||
if [ "$mode" != "" ] ; then chmod $mode $destfile ; fi
|
||||
|
@ -71,7 +72,7 @@ while ${TRUE} ; do
|
|||
exit 0
|
||||
done
|
||||
|
||||
echo "usage: $0 [ -o owner] [ -g group ] [ -m mode ] file dest"
|
||||
echo " $0 [ -o owner] [ -g group ] [ -m mode ] file file ... dir"
|
||||
echo "usage: $0 [ -o owner] [ -g group ] [ -m mode ] [ --ifdiff] file dest"
|
||||
echo " $0 [ -o owner] [ -g group ] [ -m mode ] [ --ifdiff] file file ... dir"
|
||||
echo " $0 -d [ -o owner] [ -g group ] [ -m mode ] dir dir ..."
|
||||
exit 1
|
||||
|
|
|
@ -87,10 +87,6 @@ sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \
|
|||
../NOTICE > NOTICE
|
||||
set updatedfiles = ($updatedfiles NOTICE)
|
||||
|
||||
sed -e "s/csv[0-9]\.[0-9]\(\.[0-9]\)\?/csv$R/" ../configure > configure
|
||||
chmod +x configure
|
||||
set updatedfiles = ($updatedfiles configure)
|
||||
|
||||
mkdir makefiles
|
||||
sed -e "s/csv[0-9]\.[0-9]\(\.[0-9]\)\?/csv$R/" ../makefiles/Mf-install.in > makefiles/Mf-install.in
|
||||
set updatedfiles = ($updatedfiles makefiles/Mf-install.in)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
.if t .ds c caf\o'\'e'
|
||||
.if n .ds c cafe
|
||||
.ds ]W
|
||||
.TH SCHEME 1 "April 2016 Cisco Systems, Inc."
|
||||
.TH SCHEME 1 "May 2016 Cisco Systems, Inc."
|
||||
.SH NAME
|
||||
\fIChez Scheme\fP
|
||||
.br
|
||||
|
@ -741,14 +741,14 @@ to a colon-separated (semi-colon under Windows) list of directories
|
|||
in which to search for boot files.
|
||||
.SH FILES
|
||||
.if 0 COMMENT: put the longest path from below in the tab computation:
|
||||
.ta \w'{InstallLibBin}'u+.25i
|
||||
.ta \w'{InstallLibExamples}'u+.25i
|
||||
{InstallBin}/{InstallSchemeName} executable file
|
||||
.br
|
||||
{InstallBin}/{InstallPetiteName} executable file
|
||||
.br
|
||||
{InstallBin}/{InstallScriptName} executable file
|
||||
.br
|
||||
{InstallLibLib} example program library
|
||||
{InstallLibExamples} example program library
|
||||
.br
|
||||
{InstallLibBin} boot and include files
|
||||
.sp
|
||||
|
|
Loading…
Reference in New Issue
Block a user