diff --git a/LOG b/LOG index c965ac2173..d3595ccf97 100644 --- a/LOG +++ b/LOG @@ -48,3 +48,5 @@ - fixed time-utc->date test in mat time&date-printing to work regardless of what locale (and time zone) the host machine has set. date.ms +- added custom install options. + configure newrelease scheme.c heappath.h.in diff --git a/c/heappath.h.in b/c/heappath.h.in index 54638ddd3a..fe53d691f0 100644 --- a/c/heappath.h.in +++ b/c/heappath.h.in @@ -1,12 +1,32 @@ +/* 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" -#define SEARCHPATHSEP ';' #else /* not WIN32: */ + #define SEARCHPATHSEP ':' /* keep in sync with scheme.1 */ -#define defaultsystemheappath "INSTALLPREFIX/lib/csv%v/%m" +#define defaultsystemheappath "/usr/lib/csv%v/%m:/usr/local/lib/csv%v/%m" #endif - diff --git a/c/scheme.c b/c/scheme.c index e325d173ee..c013c3c1b8 100644 --- a/c/scheme.c +++ b/c/scheme.c @@ -404,8 +404,6 @@ static const char *path_last(p) const char *p; { } #include "heappath.h" - -#define SEARCHPATHMAXSIZE 8192 #ifdef WIN32 static char *get_defaultheapdirs() { diff --git a/configure b/configure index 19ac91c3f9..a889674259 100755 --- a/configure +++ b/configure @@ -46,7 +46,8 @@ case `uname` in tm64="" fi installprefix=/usr - installman=/usr/share/man + installlib=$installprefix/lib + installman=$installprefix/share/man ;; QNX) if uname -a | egrep 'x86' > /dev/null 2>&1 ; then @@ -54,7 +55,8 @@ case `uname` in tm32=ti3qnx fi installprefix=/usr/local - installman=/usr/local/man + installlib=$installprefix/lib + installman=$installprefix/man ;; FreeBSD) if uname -a | egrep 'i386|i686|amd64|athlon|x86_64' > /dev/null 2>&1 ; then @@ -64,7 +66,8 @@ case `uname` in tm64=ta6fb fi installprefix=/usr/local - installman=/usr/local/man + installlib=$installprefix/lib + installman=$installprefix/man ;; OpenBSD) if uname -a | egrep 'i386|i686|amd64|athlon|x86_64' > /dev/null 2>&1 ; then @@ -74,7 +77,8 @@ case `uname` in tm64=ta6ob fi installprefix=/usr/local - installman=/usr/local/man + installlib=$installprefix/lib + installman=$installprefix/man ;; NetBSD) if uname -a | egrep 'i386|i686|amd64|athlon|x86_64' > /dev/null 2>&1 ; then @@ -84,7 +88,8 @@ case `uname` in tm64=ta6nb fi installprefix=/usr - installman=/usr/share/man + installlib=$installprefix/lib + installman=$installprefix/share/man gzipmanpages=no ;; Darwin) @@ -95,7 +100,8 @@ case `uname` in tm64=ta6osx fi installprefix=/usr/local - installman=/usr/local/share/man + installlib=$installprefix/lib + installman=$installprefix/share/man ;; SunOS) if uname -a | egrep 'i386|i686|amd64|athlon|x86_64' > /dev/null 2>&1 ; then @@ -104,7 +110,8 @@ case `uname` in tm32=ti3s2 tm64=ta6s2 installprefix=/usr - installman=/usr/share/man + installlib=$installprefix/lib + installman=$installprefix/share/man gzipmanpages=no fi ;; @@ -133,6 +140,9 @@ while [ $# != 0 ] ; do --installprefix=*) installprefix=`echo $1 | sed -e 's/^--installprefix=//'` ;; + --installlib=*) + installlib=`echo $1 | sed -e 's/^--installlib=//'` + ;; --installman=*) installman=`echo $1 | sed -e 's/^--installman=//'` ;; @@ -200,6 +210,7 @@ if [ "$help" = "yes" ]; then echo " --threads specify threaded version ($threads)" echo " --32|--64 specify 32/64-bit version ($bits)" echo " --installprefix= final installation root ($installprefix)" + echo " --installlib= lib directory ($installlib)" echo " --installman= manpage directory ($installman)" echo " --temproot= staging root ($temproot)" echo " --installowner= install with owner ($installowner)" @@ -249,6 +260,7 @@ 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;^InstallMan=.*\$;InstallMan=$installman/man1;"\ -e "s;^InstallOwner=.*\$;InstallOwner=$installowner;"\ -e "s;^InstallGroup=.*\$;InstallGroup=$installgroup;"\ @@ -256,5 +268,5 @@ sed -e "s;^m=none\$;m=$m;"\ -e "s;^GzipManPages=.*$;GzipManPages=$gzipmanpages;"\ makefiles/Mf-install.in > $w/Mf-install -sed -e "s;INSTALLPREFIX;$installprefix;" c/heappath.h.in > $w/c/heappath.h - +sed -e "s;\#define defaultsystemheappath \"/usr/lib/csv%v/%m:.*\$;\#define defaultsystemheappath \"$installlib/csv%v/%m\";"\ + c/heappath.h.in > $w/c/heappath.h diff --git a/newrelease b/newrelease index 96b5a02952..8cedc6b694 100755 --- a/newrelease +++ b/newrelease @@ -64,7 +64,7 @@ endif # clear running list of updated files set updatedfiles = () -workarea $M $W +./workarea $M $W if ($status != 0) exit 1 cd $W @@ -87,6 +87,10 @@ 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)