diff options
author | Ludovic Court`es | 2005-06-15 13:00:39 +0000 |
---|---|---|
committer | Ludovic Court`es | 2005-06-15 13:00:39 +0000 |
commit | fc42fe56a57eace2dbdb31574c2e161f0eacf839 (patch) | |
tree | 18111570156cb0e3df0d81c8d104517a2263fd2c /skribe/etc/bigloo | |
download | skribilo-fc42fe56a57eace2dbdb31574c2e161f0eacf839.tar.gz skribilo-fc42fe56a57eace2dbdb31574c2e161f0eacf839.tar.lz skribilo-fc42fe56a57eace2dbdb31574c2e161f0eacf839.zip |
Initial import of Skribe 1.2d.
Initial import of Skribe 1.2d.
git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--base-0
Diffstat (limited to 'skribe/etc/bigloo')
-rw-r--r-- | skribe/etc/bigloo/Makefile | 114 | ||||
-rw-r--r-- | skribe/etc/bigloo/Makefile.tpl | 200 | ||||
-rw-r--r-- | skribe/etc/bigloo/autoconf/Makefile | 53 | ||||
-rwxr-xr-x | skribe/etc/bigloo/autoconf/bfildir | 36 | ||||
-rwxr-xr-x | skribe/etc/bigloo/autoconf/blibdir | 36 | ||||
-rwxr-xr-x | skribe/etc/bigloo/autoconf/bversion | 42 | ||||
-rwxr-xr-x | skribe/etc/bigloo/autoconf/getbversion | 36 | ||||
-rwxr-xr-x | skribe/etc/bigloo/autoconf/gmaketest | 38 | ||||
-rwxr-xr-x | skribe/etc/bigloo/configure | 552 |
9 files changed, 1107 insertions, 0 deletions
diff --git a/skribe/etc/bigloo/Makefile b/skribe/etc/bigloo/Makefile new file mode 100644 index 0000000..82ffceb --- /dev/null +++ b/skribe/etc/bigloo/Makefile @@ -0,0 +1,114 @@ +#*=====================================================================*/ +#* serrano/prgm/project/skribe/etc/bigloo/Makefile */ +#* ------------------------------------------------------------- */ +#* Author : Manuel Serrano */ +#* Creation : Thu Oct 23 08:58:55 2003 */ +#* Last change : Wed Nov 17 10:51:50 2004 (serrano) */ +#* Copyright : 2003-04 Manuel Serrano */ +#* ------------------------------------------------------------- */ +#* The Bigloo etc Makefile */ +#*=====================================================================*/ +include Makefile.skb +include ../Makefile.config + +#*---------------------------------------------------------------------*/ +#* TMPDIR */ +#*---------------------------------------------------------------------*/ +DISTRIBTMPDIR = /tmp +DISTRIBDIR = $$HOME/prgm/distrib + +#*---------------------------------------------------------------------*/ +#* POPULATION */ +#*---------------------------------------------------------------------*/ +POPULATION = configure Makefile Makefile.tpl + +#*---------------------------------------------------------------------*/ +#* distrib */ +#* ------------------------------------------------------------- */ +#* This rule must be executed in the main SKribe directory */ +#* (i.e. ../..). They must be run with a command such as: */ +#* "cd skribe; make -f etc/bigloo/Makefile distrib". */ +#*---------------------------------------------------------------------*/ +.PHONY: distrib distrib-src distrib-jvm + +distrib: distrib-src # distrib-jvm + +#*--- distrib-src -----------------------------------------------------*/ +distrib-src: + @ echo "[0m[1;31m>>> distrib-src[0m"; \ + (skribedir=`pwd` \ + && /bin/rm -rf $(DISTRIBTMPDIR)/skribe \ + && mkdir -p $(DISTRIBTMPDIR)/skribe \ + && cd $(DISTRIBTMPDIR)/skribe \ + && $(MAKE) -f $$skribedir/Makefile -I $$skribedir checkout \ + && /bin/rm -rf contribs \ + && $(MAKE) -f $$skribedir/etc/bigloo/Makefile -I $$skribedir/etc/bigloo do-distrib-src \ + && $(RM) -rf $(DISTRIBTMPDIR)/skribe$(SKRIBERELEASE)) + +.PHONY: do-distrib-src +do-distrib-src: + (cd .. && \ + mv skribe skribe$(SKRIBERELEASE) && \ + tar cvfz $(DISTRIBDIR)/skribe$(SKRIBERELEASE).tar.gz skribe$(SKRIBERELEASE)) + +#*--- distrib-jvm -----------------------------------------------------*/ +distrib-jvm: + @ echo "[0m[1;32m>>> distrib-jvm[0m"; \ + (skribedir=`pwd` \ + && /bin/rm -rf $(DISTRIBTMPDIR)/skribe \ + && mkdir -p $(DISTRIBTMPDIR)/skribe \ + && cd $(DISTRIBTMPDIR)/skribe \ + && $(MAKE) -f $$skribedir/Makefile -I $$skribedir checkout \ + && /bin/rm -rf contribs \ + && $(MAKE) -f $$skribedir/etc/bigloo/Makefile -I $$skribedir/etc/bigloo do-distrib-jvm \ + && $(RM) -rf $(DISTRIBTMPDIR)/skribe) + +.PHONY: do-distrib-jvm +do-distrib-jvm: lib bin lib/bigloo_s.zip + $(RM) -f $(DISTRIBDIR)/skribe$(SKRIBERELEASE).zip + (./configure --with-bigloo --jvm \ + && $(MAKE) \ + && cd .. \ + && zip -qr $(ZFLAGS) $(DISTRIBDIR)/skribe$(SKRIBERELEASE).zip \ + skribe \ + -x "*~" \ + -x "*/bin/*-bigloo" \ + -x "*.class" \ + -x "*.o") + +#*--- bigloo_s.zip ----------------------------------------------------*/ +lib/bigloo_s.zip: lib + cp $(FILDIR)/bigloo_s.zip $@ + +#*--- lib -------------------------------------------------------------*/ +lib: + mkdir -p lib + +#*--- bin -------------------------------------------------------------*/ +bin: + mkdir -p bin + +#*---------------------------------------------------------------------*/ +#* pop */ +#*---------------------------------------------------------------------*/ +.PHONY: pop + +pop: + @ echo $(POPULATION:%=etc/bigloo/%) + @ (cd autoconf && $(MAKE) -s pop) + +#*---------------------------------------------------------------------*/ +#* clean */ +#*---------------------------------------------------------------------*/ +.PHONY: clean distclean + +clean: + /bin/rm -f ../../lib/bigloo_s.zip + +#*--- distclean -------------------------------------------------------*/ +distclean: + /bin/rm -f Makefile.skb + /bin/rm -f ../../src/common/configure.scm + + + diff --git a/skribe/etc/bigloo/Makefile.tpl b/skribe/etc/bigloo/Makefile.tpl new file mode 100644 index 0000000..24326c1 --- /dev/null +++ b/skribe/etc/bigloo/Makefile.tpl @@ -0,0 +1,200 @@ +#*=====================================================================*/ +#* serrano/prgm/project/skribe/etc/bigloo/Makefile.tpl */ +#* ------------------------------------------------------------- */ +#* Author : Manuel Serrano */ +#* Creation : Wed Nov 7 09:20:47 2001 */ +#* Last change : Wed Feb 18 11:23:12 2004 (serrano) */ +#* Copyright : 2001-04 Manuel Serrano */ +#* ------------------------------------------------------------- */ +#* Standard Skribe makefile to build various libraries. */ +#*=====================================================================*/ + +#*---------------------------------------------------------------------*/ +#* Compilers, Tools and Destinations */ +#*---------------------------------------------------------------------*/ +# The heap file +HEAP_FILE = $(LIB)/$(TARGETNAME).heap +HEAPJVM_FILE = $(LIB)/$(TARGETNAME).jheap +# Where to store the library class files +PBASE = bigloo.skribe.$(TARGETNAME) +CLASS_DIR = o/class_s/bigloo/skribe/$(TARGETNAME) +O_DIR = o + +BUNSAFEFLAGS = -unsafe + +#*---------------------------------------------------------------------*/ +#* Suffixes */ +#*---------------------------------------------------------------------*/ +.SUFFIXES: +.SUFFIXES: .scm .class .o + +#*---------------------------------------------------------------------*/ +#* The implicit rules */ +#*---------------------------------------------------------------------*/ +$(O_DIR)/%.o: %.scm + $(BIGLOO) $(BUNSAFEFLAGS) $(BCFLAGS) $(BCOMMONFLAGS) -c $< -o $@ + +$(CLASS_DIR)/%.class: %.scm + $(BIGLOO) $(BUNSAFEFLAGS) $(BJVMFLAGS) $(BCOMMONFLAGS) -c $< -o $@ + +#*---------------------------------------------------------------------*/ +#* bin */ +#*---------------------------------------------------------------------*/ +.PHONY: bin-c bin-jvm + +#*--- bin-c -----------------------------------------------------------*/ +bin-c: $(TAGS) .afile .etags $(O_DIR) $(SKRIBEBINDIR)/$(TARGETNAME).bigloo + +$(SKRIBEBINDIR)/$(TARGETNAME).bigloo: $(OBJECTS) + $(BIGLOO) $(BUNSAFEFLAGS) $(BLINKFLAGS) $(BCOMMONFLAGS) $(OBJECTS) -o $(SKRIBEBINDIR)/$(TARGETNAME).bigloo + @ echo "$(SKRIBEBINDIR)/$(TARGETNAME).bigloo done..." + @ echo "-------------------------------" + +#*--- bin-jvm ---------------------------------------------------------*/ +bin-jvm: $(TAGS) .afile .etags .jfile $(CLASS_DIR) $(SKRIBEBINDIR)/$(TARGETNAME).zip + +$(SKRIBEBINDIR)/$(TARGETNAME).zip: $(CLASSES) + @ /bin/rm -f $(SKRIBEBINDIR)/$(TARGETNAME).zip + @ (cd $(O_DIR)/class_s; \ + $(ZIP) -q $(ZFLAGS) $(SKRIBEBINDIR)/$(TARGETNAME).zip -r .) + @ echo "$(SKRIBEBINDIR)/$(TARGETNAME).zip done..." + @ echo "-------------------------------" + +#*---------------------------------------------------------------------*/ +#* Directories */ +#*---------------------------------------------------------------------*/ +$(O_DIR): + mkdir -p $(O_DIR) + +$(CLASS_DIR): + mkdir -p $(CLASS_DIR) + +#*---------------------------------------------------------------------*/ +#* The heap construction */ +#*---------------------------------------------------------------------*/ +.PHONY: heap heap-c heap-jvm + +heap-c: $(HEAP_FILE) +heap-jvm: $(HEAPJVM_FILE) + +$(HEAP_FILE): .afile make-lib.scm + @ \rm -f $(HEAP_FILE) + @ $(BIGLOO) $(BHEAPFLAGS) make-lib.scm -addheap $(HEAP_FILE) + @ echo "Heap Done..." + @ echo "-------------------------------" + +$(HEAPJVM_FILE): .jfile .afile make-lib.scm + @ \rm -f $(HEAPJVM_FILE) + @ $(BIGLOO) -jvm $(BHEAPFLAGS) make-lib.scm -addheap $(HEAPJVM_FILE) + @ echo "Heap JVM Done..." + @ echo "-------------------------------" + +#*---------------------------------------------------------------------*/ +#* lib */ +#*---------------------------------------------------------------------*/ +.PHONY: lib-c lib-jvm + +#*--- lib-c -----------------------------------------------------------*/ +lib-c: $(TAGS) .afile lib.$(SHAREDSUFFIX) lib.a + +lib.$(SHAREDSUFFIX): $(LIB)/lib$(TARGETNAME)_s.$(SHAREDSUFFIX) $(LIB)/lib$(TARGETNAME)_u.$(SHAREDSUFFIX) +lib.a: $(LIB)/lib$(TARGETNAME)_s.a $(LIB)/lib$(TARGETNAME)_u.a + +$(LIB)/lib$(TARGETNAME)_u.$(SHAREDSUFFIX): $(LIB)/lib$(TARGETNAME)_s.$(SHAREDSUFFIX) + cd $(LIB); \ + /bin/rm -f lib$(TARGETNAME)_u.$(SHAREDSUFFIX); \ + ln -s lib$(TARGETNAME)_s.$(SHAREDSUFFIX) lib$(TARGETNAME)_u.$(SHAREDSUFFIX) + +$(LIB)/lib$(TARGETNAME)_s.$(SHAREDSUFFIX): .afile $(OBJECTS) + @ /bin/rm -f $(LIB)/lib$(TARGETNAME)_s.$(SHAREDSUFFIX) + @ $(LD) -o $(LIB)/lib$(TARGETNAME)_s.$(SHAREDSUFFIX) $(OBJECTS) -lm -lc + @ echo "lib$(TARGETNAME)_s.$(SHAREDSUFFIX) Done..." + @ echo "-------------------------------" + +$(LIB)/lib$(TARGETNAME)_u.a: $(LIB)/lib$(TARGETNAME)_s.a + cd $(LIB); \ + /bin/rm -f lib$(TARGETNAME)_u.a; \ + ln -s lib$(TARGETNAME)_s.a lib$(TARGETNAME)_u.a + +$(LIB)/lib$(TARGETNAME)_s.a: .afile $(OBJECTS) + @ /bin/rm -f $(LIB)/lib$(TARGETNAME)_s.a + @ $(AR) $(ARFLAGS) $(LIB)/lib$(TARGETNAME)_s.a $(OBJECTS) + @ $(RANLIB) $(LIB)/lib$(TARGETNAME)_s.a + @ echo "lib$(TARGETNAME)_s.a Done..." + @ echo "-------------------------------" + +#*--- lib-jvm ---------------------------------------------------------*/ +lib-jvm: $(TAGS) $(CLASS_DIR) lib.zip + +lib.zip: .afile .jfile $(CLASSES) + @ /bin/rm -f $(LIB)/$(TARGETNAME).zip + @ (cd $(O_DIR)/class_s; \ + $(ZIP) -q $(ZFLAGS) \ + $(LIB)/$(TARGETNAME)_s.zip \ + $(CLASS_DIR:$(O_DIR)/class_s/%=%)/*.class) + @ echo "lib$(TARGETNAME)_s.zip done..." + @ echo "-------------------------------" + +#*---------------------------------------------------------------------*/ +#* ude */ +#*---------------------------------------------------------------------*/ +.PHONY: ude +ude: + @ $(MAKE) -f Makefile .afile .etags + +.afile: $(SOURCES) + @ $(AFILE) -o .afile $(_BGL_SOURCES) + +.jfile: $(SOURCES) + @ $(JFILE) -o .jfile -pbase $(PBASE) $(SOURCES) + +.etags: $(SOURCES) + @ $(BTAGS) -o .etags $(_BGL_SOURCES) + +#*---------------------------------------------------------------------*/ +#* stdclean */ +#*---------------------------------------------------------------------*/ +stdclean: + /bin/rm -f $(OBJECTS) $(_BGL_OBJECTS:%=%.c) + /bin/rm -f $(SKRIBEBINDIR)/$(TARGETNAME).bigloo + /bin/rm -f $(SKRIBEBINDIR)/$(TARGETNAME).zip + /bin/rm -f $(LIB)/lib$(TARGETNAME)_s.$(SHAREDSUFFIX) + /bin/rm -f $(LIB)/lib$(TARGETNAME)_u.$(SHAREDSUFFIX) + /bin/rm -f .afile .etags .jfile + /bin/rm -rf $(O_DIR) + /bin/rm -f *~ + /bin/rm -f *.mco + +#*---------------------------------------------------------------------*/ +#* install/uninstall */ +#*---------------------------------------------------------------------*/ +install: + $(MAKE) install-$(TARGET) + +uninstall: + $(MAKE) uninstall-$(TARGET) + +install-c: $(DESTDIR)$(INSTALL_BINDIR) + cp $(SKRIBEBINDIR)/$(TARGETNAME).bigloo $(DESTDIR)$(INSTALL_BINDIR)/$(TARGETNAME).bigloo \ + && chmod $(BMASK) $(DESTDIR)$(INSTALL_BINDIR)/$(TARGETNAME).bigloo + /bin/rm -f $(DESTDIR)$(INSTALL_BINDIR)/$(TARGETNAME) + ln -s $(TARGETNAME).bigloo $(DESTDIR)$(INSTALL_BINDIR)/$(TARGETNAME) + +uninstall-c: + /bin/rm $(DESTDIR)$(INSTALL_BINDIR)/$(TARGETNAME).bigloo + /bin/rm $(DESTDIR)$(INSTALL_BINDIR)/$(TARGETNAME) + +install-jvm: $(DESTDIR)$(INSTALL_FILDIR) + cp $(SKRIBEBINDIR)/$(TARGETNAME).zip $(DESTDIR)$(INSTALL_FILDIR)/$(TARGETNAME).zip + cp $(FILDIR)/bigloo_s.zip $(DESTDIR)$(INSTALL_FILDIR) + +uninstall-jvm: + /bin/rm $(DESTDIR)$(INSTALL_FILDIR)/$(TARGETNAME).zip + /bin/rm -f $(DESTDIR)$(INSTALL_FILDIR)/bigloo_s.zip + +$(DESTDIR)$(INSTALL_BINDIR): + mkdir -p $(DESTDIR)$(INSTALL_BINDIR) && chmod $(BMASK) $(DESTDIR)$(INSTALL_BINDIR) + +$(FILDIR): + mkdir -p $(FILDIR) && chmod $(BMASK) $(DESTDIR)$(INSTALL_BINDIR) + diff --git a/skribe/etc/bigloo/autoconf/Makefile b/skribe/etc/bigloo/autoconf/Makefile new file mode 100644 index 0000000..c077107 --- /dev/null +++ b/skribe/etc/bigloo/autoconf/Makefile @@ -0,0 +1,53 @@ +#*=====================================================================*/ +#* serrano/prgm/project/skribe/etc/bigloo/autoconf/Makefile */ +#* ------------------------------------------------------------- */ +#* Author : Manuel Serrano */ +#* Creation : Thu Jun 19 20:48:50 1997 */ +#* Last change : Sat Oct 25 08:34:37 2003 (serrano) */ +#* Copyright : 1997-2003 Manuel Serrano, see LICENSE file */ +#* ------------------------------------------------------------- */ +#* The global autoconf Makefile (mainly for backuping). */ +#*=====================================================================*/ + +#*---------------------------------------------------------------------*/ +#* Flags */ +#*---------------------------------------------------------------------*/ +POPULATION = Makefile bversion getbversion blibdir gmaketest \ + blstlen bfildir + +#*---------------------------------------------------------------------*/ +#* pop ... */ +#*---------------------------------------------------------------------*/ +pop: + @ echo $(POPULATION:%=etc/bigloo/autoconf/%) + +#*---------------------------------------------------------------------*/ +#* clean */ +#*---------------------------------------------------------------------*/ +.PHONY: clean cleanall distclean + +clean: + @ find . \( -name '*[~%]' \ + -o -name '.??*[~%]' \ + -o -name '#*#' \ + -o -name '?*#' \ + -o -name \*core \) \ + -type f -exec rm {} \; + @ echo "cleanup done..." + @ echo "-------------------------------" + +cleanall: clean +distclean: cleanall + +#*---------------------------------------------------------------------*/ +#* distrib */ +#*---------------------------------------------------------------------*/ +distrib: $(POPULATION) + @ if [ `pwd` = $$HOME/prgm/project/bglk/autoconf ]; then \ + echo "*** ERROR:Illegal dir to make a distrib `pwd`"; \ + exit 1; \ + fi + @ $(MAKE) clean + @ chmod a+rx $(POPULATION) + + diff --git a/skribe/etc/bigloo/autoconf/bfildir b/skribe/etc/bigloo/autoconf/bfildir new file mode 100755 index 0000000..128d5c7 --- /dev/null +++ b/skribe/etc/bigloo/autoconf/bfildir @@ -0,0 +1,36 @@ +#!/bin/sh +#*=====================================================================*/ +#* serrano/prgm/project/scribe/autoconf/bfildir */ +#* ------------------------------------------------------------- */ +#* Author : Manuel Serrano */ +#* Creation : Tue Jan 12 14:53:33 1999 */ +#* Last change : Wed Aug 7 21:41:06 2002 (serrano) */ +#* ------------------------------------------------------------- */ +#* Find out the directory where Bigloo is installed */ +#*=====================================================================*/ +bigloo=bigloo + +#*---------------------------------------------------------------------*/ +#* We parse the arguments */ +#*---------------------------------------------------------------------*/ +while : ; do + case $1 in + "") + break;; + --bigloo=*|-bigloo=*) + bigloo="`echo $1 | sed 's/^[-a-z]*=//'`";; + + -*) + echo "Unknown option \"$1\", ignored" >&2;; + esac + shift +done + +#*---------------------------------------------------------------------*/ +#* We spawn a bigloo process to check its version number */ +#*---------------------------------------------------------------------*/ +$bigloo -q -eval "(begin (print *default-lib-dir*) (exit 0))" + +exit 0 + + diff --git a/skribe/etc/bigloo/autoconf/blibdir b/skribe/etc/bigloo/autoconf/blibdir new file mode 100755 index 0000000..603d484 --- /dev/null +++ b/skribe/etc/bigloo/autoconf/blibdir @@ -0,0 +1,36 @@ +#!/bin/sh +#*=====================================================================*/ +#* serrano/prgm/project/scribe/autoconf/blibdir */ +#* ------------------------------------------------------------- */ +#* Author : Manuel Serrano */ +#* Creation : Tue Jan 12 14:53:33 1999 */ +#* Last change : Wed Aug 7 21:41:48 2002 (serrano) */ +#* ------------------------------------------------------------- */ +#* Find out the directory where Bigloo library is read. */ +#*=====================================================================*/ +bigloo=bigloo + +#*---------------------------------------------------------------------*/ +#* We parse the arguments */ +#*---------------------------------------------------------------------*/ +while : ; do + case $1 in + "") + break;; + --bigloo=*|-bigloo=*) + bigloo="`echo $1 | sed 's/^[-a-z]*=//'`";; + + -*) + echo "Unknown option \"$1\", ignored" >&2;; + esac + shift +done + +#*---------------------------------------------------------------------*/ +#* We spawn a bigloo process to check its version number */ +#*---------------------------------------------------------------------*/ +$bigloo -q -eval "(begin (print *ld-library-dir*) (exit 0))" + +exit 0 + + diff --git a/skribe/etc/bigloo/autoconf/bversion b/skribe/etc/bigloo/autoconf/bversion new file mode 100755 index 0000000..1f24c86 --- /dev/null +++ b/skribe/etc/bigloo/autoconf/bversion @@ -0,0 +1,42 @@ +#!/bin/sh +#*=====================================================================*/ +#* serrano/prgm/project/scribe/autoconf/bversion */ +#* ------------------------------------------------------------- */ +#* Author : Manuel Serrano */ +#* Creation : Tue Jan 12 14:33:21 1999 */ +#* Last change : Sun Jan 13 07:30:21 2002 (serrano) */ +#* ------------------------------------------------------------- */ +#* Check the current bigloo version */ +#*=====================================================================*/ + +bigloo=bigloo +version=2.4b + +#*---------------------------------------------------------------------*/ +#* We parse the arguments */ +#*---------------------------------------------------------------------*/ +while : ; do + case $1 in + "") + break;; + --bigloo=*|-bigloo=*) + bigloo="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --version=*|-version=*) + version="`echo $1 | sed 's/^[-a-z]*=//'`";; + + -*) + echo "Unknown option \"$1\", ignored" >&2;; + esac + shift +done + +#*---------------------------------------------------------------------*/ +#* We spawn a bigloo process to check its version number */ +#*---------------------------------------------------------------------*/ +bver=`$bigloo -q -eval "(exit (print *bigloo-version*))"` +echo $bver + +$bigloo -q -eval "(exit (if (string>=? *bigloo-version* \"$version\") 0 1))" + +exit $? diff --git a/skribe/etc/bigloo/autoconf/getbversion b/skribe/etc/bigloo/autoconf/getbversion new file mode 100755 index 0000000..ff83b1c --- /dev/null +++ b/skribe/etc/bigloo/autoconf/getbversion @@ -0,0 +1,36 @@ +#!/bin/sh +#*=====================================================================*/ +#* serrano/prgm/project/bglk/autoconf/getbversion */ +#* ------------------------------------------------------------- */ +#* Author : Manuel Serrano */ +#* Creation : Tue Jan 12 14:33:21 1999 */ +#* Last change : Mon May 22 10:47:46 2000 (serrano) */ +#* ------------------------------------------------------------- */ +#* Get the current bigloo version (with the level) */ +#*=====================================================================*/ + +bigloo=bigloo + +#*---------------------------------------------------------------------*/ +#* We parse the arguments */ +#*---------------------------------------------------------------------*/ +while : ; do + case $1 in + "") + break;; + --bigloo=*|-bigloo=*) + bigloo="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --version=*|-version=*) + version="`echo $1 | sed 's/^[-a-z]*=//'`";; + + -*) + echo "Unknown option \"$1\", ignored" >&2;; + esac + shift +done + +#*---------------------------------------------------------------------*/ +#* We spawn a bigloo process to check its version number */ +#*---------------------------------------------------------------------*/ +$bigloo -q -eval "(begin (print *bigloo-version*) (exit 0))" diff --git a/skribe/etc/bigloo/autoconf/gmaketest b/skribe/etc/bigloo/autoconf/gmaketest new file mode 100755 index 0000000..1bedd72 --- /dev/null +++ b/skribe/etc/bigloo/autoconf/gmaketest @@ -0,0 +1,38 @@ +#!/bin/sh +#*=====================================================================*/ +#* serrano/prgm/project/bigloo/autoconf/gmaketest */ +#* ------------------------------------------------------------- */ +#* Author : Manuel Serrano */ +#* Creation : Thu Jan 14 10:31:33 1999 */ +#* Last change : Thu May 18 07:19:28 2000 (serrano) */ +#* ------------------------------------------------------------- */ +#* Checsk that Make is GNU make */ +#*=====================================================================*/ + +#*---------------------------------------------------------------------*/ +#* flags */ +#*---------------------------------------------------------------------*/ +make=make + +#*---------------------------------------------------------------------*/ +#* We parse the arguments */ +#*---------------------------------------------------------------------*/ +while : ; do + case $1 in + "") + break;; + + --make=*) + make="`echo $1 | sed 's/^[-a-z]*=//'`";; + + -*) + echo "Unknown option \"$1\", ignored" >&2;; + esac + shift +done + +# Check the make version number +$make -v --version | grep -i "gnu make" > /dev/null + +# Return the grep result +exit $? diff --git a/skribe/etc/bigloo/configure b/skribe/etc/bigloo/configure new file mode 100755 index 0000000..9215911 --- /dev/null +++ b/skribe/etc/bigloo/configure @@ -0,0 +1,552 @@ +#!/bin/sh +#*=====================================================================*/ +#* serrano/prgm/project/skribe/etc/bigloo/configure */ +#* ------------------------------------------------------------- */ +#* Author : Manuel Serrano */ +#* Creation : Tue Jan 25 16:05:10 1994 */ +#* Last change : Tue Aug 24 10:31:53 2004 (serrano) */ +#* Copyright : 1994-2004 Manuel Serrano, see LICENSE file */ +#* ------------------------------------------------------------- */ +#* The skribe configuration file */ +#*=====================================================================*/ + +# the name of the current bigloo compiler +bigloo=bigloo +target=c + +# bigloo compilation flags +bcommonflags="-no-hello -fno-reflection" +blinkflags="-no-hello -ld-relative -O3" +boptflags="$bcommonflags -O3" +bsafeflags="$bcommonflags -g" +bflags="$boptflags" +bheapflags="-unsafe -q -mkaddheap -mkaddlib" +bcflags="-copt \"$""(CPICFLAGS)\"" +bjvmflags="-jvm -jvm-purify -saw -jvm-env SKRIBEPATH" +prcs=/usr/bin/prcs + +# the afile, jfile and btags binaries +afile=afile +jfile= +btags=btags +bdepend=bdepend + +# C compilation (left blank for automatic configuration (from Bigloo setup)) +cc= +cflags= +ldopt= + +# path (left blank for automatic configuration (from Bigloo setup)) +bgllibdir= +bglbindir= +bgllddir= +bgldocdir= +skribebindir= +skribelibdir= +skribefildir= +skribeskrdir= +skribeextdir= +skribedocdir= +skribemandir= + +# mask of Skribe intalled files +smask=755 + +#*---------------------------------------------------------------------*/ +#* !!! DON'T EDIT AFTER THIS COMMENT !!! */ +#*---------------------------------------------------------------------*/ +if [ "x$DISTRIBDIR" = "x" ]; then + distribdir=$HOME/prgm/distrib +else + distribdir=$DISTRIBDIR +fi + +if [ "x$SKRIBERELEASE" = "x" ]; then + echo "*** ERROR:configure:release. Aborting" + echo "Variable \"SKRIBERELEASE\" is unset." + exit 1; +else + release=$SKRIBERELEASE +fi + +if [ "x$SKRIBEBETARELEASE" = "x" ]; then + if [ -f $prcs ]; then + beta=`$prcs info skribe 2>&1 /dev/null | tail --lines=1 | awk '{ print $2 }' | sed 's/[0-9]*[.][0-9]*[a-z]*/&-beta/'` + elif [ -f /usr/local/bin/prcs ]; then + beta=`/usr/local/bin/prcs info skribe 2>&1 /dev/null | tail --lines=1 | awk '{ print $2 }' | sed 's/[0-9]*[.][0-9]*[a-z]*/&-beta/'` + else + beta=no + fi +else + beta=$SKRIBEBETARELEASE +fi + +if [ "x$SKRIBEURL" = "x" ]; then + skribeurl="http://www.inria.fr/mimosa/fp/Skribe" +else + skribeurl=$SKRIBEURL +fi + +requiredbigloo=2.6c + +action=all +makefile_config=Makefile.skb +skribe_config=../../src/common/configure.scm +summary=yes + +http="www-sop.inria.fr/mimosa/fp" +autoconfdir=`dirname $0 2> /dev/null`/autoconf +bootconfig=false; + +if [ $? != "0" ]; then + autoconfdir="autoconf" +fi + +# Argument parsing +while : ; do + case $1 in + "") + break;; + + -c) + target=c;; + + -j|--jvm) + target=jvm;; + + -|--dotnet) + target=dotnet;; + + --skribe_config=*) + action="skribe_config"; + skribe_config="`echo $1 | sed 's/^[-a-z_.]*=//'`";; + + --makefile.skb=*) + action="makefile.skb"; + makefile_config="`echo $1 | sed 's/^[-Da-z.]*=//'`";; + + --bglbindir=*) + bglbindir="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --bgllibdir=*) + bgllibdir="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --bgllddir=*) + bgllddir="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --bgldocdir=*) + bgldocdir="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --bindir=*) + skribebindir="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --libdir=*) + skribelibdir="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --fildir=*) + skribefildir="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --skrdir=*) + skribeskrdir="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --extdir=*) + skribeextdir="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --docdir=*) + skribedocdir="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --mandir=*) + skribemandir="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --bigloo=*) + bigloo="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --afile=*) + afile="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --jfile=*) + jfile="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --btags=*) + btags="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --mask=*) + smask="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --cc=*) + cc="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --cflags=*) + cflags="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --ldopt=*) + ldopt="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --backends=*) + backends="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --no-summary) + summary=no;; + + --debug) + bflags="-g -cg $bsafeflags";; + + --debug2) + bflags="-g2 -cg $bsafeflags";; + + --debug3) + bflags="-g3 -cg $bsafeflags";; + + --optimize) + bflags=$boptflags;; + + --bjvmflags=*) + bjvmflags="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --bcflags=*) + bcflags="`echo $1 | sed 's/^[-a-z]*=//'`";; + + --prefix=*) + prefix="`echo $1 | sed 's/^[^=]*=//'`"; + skribebindir=$prefix/bin; + skribeskrdir=$prefix/share/skribe/$release/skr; + skribeextdir=$prefix/share/skribe/extensions; + skribelibdir=$prefix/lib + skribefildir=$skribelibdir/skribe/$release; + skribemandir=$prefix/man/man1; + skribedocdir=$prefix/doc/skribe-$release;; + + --bootconfig) + bootconfig=true;; + + -*) + echo "*** Configure error, unknown option $1" >&2; + echo >&2; + echo "Usage: configure --with-bigloo [options]" >&2; + echo " -c.................... uses the Bigloo C back-end" >&2; + echo " -j|--jvm.............. uses the Bigloo JVM back-end" >&2; + echo " -d|--dotnet........... uses the Bigloo .NET back-end" >&2; + echo " --skribe_config=file.. sets the name of the skribe-config file" >&2; + echo " --makefile.skb=file... sets the name of the Makefile.skb file" >&2; + echo " --prefix=dir.......... prefix to Skribe install" >&2; + echo " --bindir=file......... alternative Skribe bin directory" >&2; + echo " --libdir=file......... alternative Skribe lib directory" >&2; + echo " --fildir=file......... alternative Skribe file directory" >&2; + echo " --skrdir=file......... Skribe skr directory" >&2; + echo " --bglbindir=file...... Bigloo bin directory" >&2; + echo " --bgllibdir=file...... Bigloo lib directory" >&2; + echo " --bglfildir=file...... Bigloo file directory" >&2; + echo " --bgldocdir=file...... Bigloo doc directory" >&2; + echo " --docdir=file......... Documentation directory" >&2; + echo " --mandir=file......... Manual pages directory" >&2; + echo " --bigloo=comp......... The Bigloo compiler" >&2; + echo " --afile=afile......... The Bigloo afile tool" >&2; + echo " --jfile=jfile......... The Bigloo jfile tool" >&2; + echo " --btags=btags......... The Bigloo btags tool" >&2; + echo " --cc=comp............. The C compiler (for C back-end)" >&2; + echo " --cflags=args......... The C compilation options" >&2; + echo " --ldopt=args.......... The C link options" >&2; + echo " --smask=mask.......... The installation mask" >&2; + echo " --no-summary.......... Private option" >&2; + echo " --debug............... Enables Bigloo debug mode" >&2; + echo " --optimize............ Enables Bigloo optimization mode (default)" >&2; + echo " --bootconfig.......... Private option" >&2; + exit -1; + esac + shift +done + +#*---------------------------------------------------------------------*/ +#* First check if bigloo exists and if it is recent enough */ +#*---------------------------------------------------------------------*/ +if [ ! -f $bigloo ]; then + which $bigloo > /dev/null 2> /dev/null + if [ "$?" != "0" ]; then + echo "*** ERROR:configure:bigloo. Aborting" + echo "Can't find bigloo." + exit 1; + fi +fi + +installedbigloo=`$autoconfdir/bversion --bigloo=$bigloo --version=$requiredbigloo` + +if [ $? != "0" ]; then + echo "*** ERROR:configure:bigloo. Aborting" + echo "Your version ($installedbigloo) of Bigloo is too old." + echo "Release $requiredbigloo or more recent is required." + echo "Bigloo may be downloaded from $http" + exit 1; +fi + +#*---------------------------------------------------------------------*/ +#* The binary directory */ +#*---------------------------------------------------------------------*/ +if [ "$bglbindir " = " " ]; then + if [ "$bigloo " = " " ]; then + bgl=`which bigloo`; + else + bgl=`which $bigloo`; + fi + bglbindir=`dirname $bgl` +fi +if [ "$skribebindir " = " " ]; then + skribebindir=$prefix/bin; +fi + +#*---------------------------------------------------------------------*/ +#* The Bigloo library directory */ +#*---------------------------------------------------------------------*/ +if [ "$bgllibdir " = " " ]; then + bgllibdir=`$autoconfdir/blibdir --bigloo="$bigloo"` +fi +if [ "$bglfildir " = " " ]; then + bglfildir=`$autoconfdir/bfildir --bigloo="$bigloo"` +fi + +#*---------------------------------------------------------------------*/ +#* We check the installed Bigloo Makefile.config file */ +#*---------------------------------------------------------------------*/ +if [ ! -f $bglfildir/Makefile.config ]; then + echo "*** ERROR:configure:Can't find Makefile.config file" + echo "Should be $bglfildir/Makefile.config." + exit 1; +fi + +#*---------------------------------------------------------------------*/ +#* jfile */ +#*---------------------------------------------------------------------*/ +if [ "$jfile " = " " ]; then + if [ ! -f $bigloo ]; then + which jfile > /dev/null 2> /dev/null + if [ "$?" != "0" ]; then + jfile=true; + else + jfile=jfile; + fi + fi +fi + +#*---------------------------------------------------------------------*/ +#* We are now able to set the correct value for cc since we know */ +#* what Bigloo is. */ +#*---------------------------------------------------------------------*/ +if [ "$cc " = " " ]; then + cc=`$bigloo -eval '(begin (print *cc*) (exit 0))'` +fi + +if [ "$cflags " = " " ]; then + cflags=`grep '^CFLAGS=' $bglfildir/Makefile.config | sed 's/^[A-Z]*=//'` +fi + +ldflags=`grep '^EXTRALIBS=' $bglfildir/Makefile.config | sed 's/^[A-Z]*=//'` +cpicflags=`grep '^CPICFLAGS=' $bglfildir/Makefile.config | sed 's/^[A-Z]*=//'` + +#*---------------------------------------------------------------------*/ +#* Completing dirs */ +#*---------------------------------------------------------------------*/ +if [ "$skribelibdir " = " " ]; then + skribelibdir=$prefix/lib; +fi +if [ "$skribefildir " = " " ]; then + skribefildir=$skribelibdir/skribe/$release; +fi +if [ "$skribeskrdir " = " " ]; then + skribeskrdir=$prefix/share/skribe/$release/skr; +fi +if [ "$skribeextdir " = " " ]; then + skribeextdir=$prefix/share/skribe/extensions; +fi +if [ "$bgldocdir " = " " ]; then + bgldocdir=`grep '^DOCDIR=' $bglfildir/Makefile.config | sed 's/^[A-Z]*=//' | sed 's/[$][(][^)]*[)]//'` +fi +if [ "$skribedocdir " = " " ]; then + skribedocdir=`dirname $bgldocdir`/skribe-$release +fi +if [ "$skribemandir " = " " ]; then + skribemandir=`grep '^MANDIR=' $bglfildir/Makefile.config | sed 's/^[A-Z]*=//'` +fi +if [ "$skribeemacsdir " = " " ]; then + skribeemacsdir=`grep '^EMACSDIR=' $bglfildir/Makefile.config | sed 's/^[A-Z]*=//'` +fi + +#*---------------------------------------------------------------------*/ +#* emacs/skribe.el */ +#*---------------------------------------------------------------------*/ +cat ../../emacs/skribe.el \ + | sed "s|@SKRIBE_EMACSDIR@|$skribeemacsdir|" \ + | sed "s|@SKRIBE_HOSTSCHEMEDOCDIR@|$bgldocdir|" \ + > ../../emacs/skribe.el.aux \ + && mv ../../emacs/skribe.el.aux ../../emacs/skribe.el + +#*---------------------------------------------------------------------*/ +#* etc/skribe-config */ +#*---------------------------------------------------------------------*/ +cat ../skribe-config \ + | sed "s|@SKRIBE_EMACS_DIR@|$skribeemacsdir|" \ + > ../skribe-config.aux \ + && mv ../skribe-config.aux ../skribe-config + +#*---------------------------------------------------------------------*/ +#* makefile.skb */ +#* ------------------------------------------------------------- */ +#* This part of the configure script produces the file */ +#* makefile.skb. This file contains machine dependant */ +#* informations and location where Bigloo is to be installed. */ +#*---------------------------------------------------------------------*/ +if [ $action = "all" -o $action = "makefile.skb" ]; then + + # We create an unexisting temporary file name + name=foo + while( test -f "$name.c" -o -f "$name.o" ); do + name="$name"x; + done + + # We check the C compiler + cat > $name.c <<EOF + int foobar( int x ) { + return x; + } +EOF + + if $cc $cflags -c $name.c >/dev/null 2>&1 + then + true + else + echo "***ERROR:configure:$cc:Can't compile c file -- $cc $cflags -c $name.c"; + /bin/rm -f $name.c $name.o $name.a; + exit 1 + fi + /bin/rm -f $name.c $name.o $name.a; + + # We first cleanup the general Makefile config + rm -f ../Makefile.config 2> /dev/null + echo "## Skribe ($release) configure" > ../Makefile.config + echo "## Don't edit, file generated by etc/bigloo/configure" >> ../Makefile.config + echo "SKRIBERELEASE=$release" >> ../Makefile.config + echo "SKRIBEBETARELEASE=$beta" >> ../Makefile.config + echo >> ../Makefile.config + echo "SYSTEM=bigloo" >> ../Makefile.config + case $target in + jvm) + echo 'SKRIBE=java -classpath $(BINDIR)/skribe.zip:$(ZIPDIR)/bigloo_s.zip:$(LIBDIR)/bigloo_s.zip bigloo.skribe.main' >> ../Makefile.config; + echo 'SKRIBEINFO=java -classpath $(BINDIR)/skribeinfo.zip:$(ZIPDIR)/bigloo_s.zip:$(LIBDIR)/bigloo_s.zip bigloo.skribe.skribeinfo.main' >> ../Makefile.config; + echo 'SKRIBEBIBTEX=java -classpath $(BINDIR)/skribebibtex.zip:$(ZIPDIR)/bigloo_s.zip:$(LIBDIR)/bigloo_s.zip bigloo.skribe.skribebibtex.main' >> ../Makefile.config;; + *) + echo 'SKRIBE=$'"(BINDIR)/skribe.bigloo" >> ../Makefile.config; + echo 'SKRIBEINFO=$'"(BINDIR)/skribeinfo.bigloo" >> ../Makefile.config; + echo 'SKRIBEBIBTEX=$'"(BINDIR)/skribebibtex.bigloo" >> ../Makefile.config;; + esac + + # We first cleanup the file + rm -f $makefile_config 2> /dev/null + touch $makefile_config + echo "## Skribe ($release) configure" >> $makefile_config + echo "## Don't edit, file generated by etc/bigloo/configure" >> $makefile_config + echo >> $makefile_config + + # The Bigloo target (c, jvm, dotnet) + echo "TARGET=$target" >> $makefile_config + echo >> $makefile_config + + # The boot directories + echo "SKRIBEDIR=`pwd`/../.." >> $makefile_config + echo 'SKRIBEBINDIR=$'"(SKRIBEDIR)/bin" >> $makefile_config; + echo 'SKRIBELIBDIR=$'"(SKRIBEDIR)/lib" >> $makefile_config; + echo 'SKRIBEFILDIR=$'"(SKRIBEDIR)/lib" >> $makefile_config; + echo >> $makefile_config + + # The distribution directory + echo "DISTRIBDIR=$distribdir" >> $makefile_config + echo >> $makefile_config + + # The installation directories + echo "INSTALL_BINDIR=$skribebindir" >> $makefile_config + echo "INSTALL_LIBDIR=$skribelibdir" >> $makefile_config + echo "INSTALL_FILDIR=$skribefildir" >> $makefile_config + echo "INSTALL_SKRDIR=$skribeskrdir" >> $makefile_config + echo "INSTALL_EXTDIR=$skribeextdir" >> $makefile_config + if [ ! "$skribedocdir " = " " ]; then + echo "INSTALL_DOCDIR=$skribedocdir" >> $makefile_config; + fi + if [ ! "$skribemandir " = " " ]; then + echo "INSTALL_MANDIR=$skribemandir" >> $makefile_config; + fi + echo "INSTALL_HOSTHTTP=$skribehttphost" >> $makefile_config + echo "INSTALL_MASK=$smask" >> $makefile_config + echo >> $makefile_config + + # The bigloo configuration + cat $bglfildir/Makefile.config >> $makefile_config + echo >> $makefile_config + + # The bigloo compiler + echo "BIGLOO=$bigloo" >> $makefile_config + echo "BIGLOO_FILDIR=$bglfildir" >> $makefile_config + echo "BIGLOO_LIBDIR=$bgllibdir" >> $makefile_config + echo >> $makefile_config + + # The bigloo compiler options + echo "BLINKFLAGS=$blinkflags -ldopt '$ldopt'" >> $makefile_config + echo "BSAFEFLAGS=$bsafeflags" >> $makefile_config + echo "BHEAPFLAGS=$bheapflags" >> $makefile_config + echo "BCOMMONFLAGS=$bflags" >> $makefile_config + echo "BCFLAGS=$bcflags" >> $makefile_config + echo "BJVMFLAGS=$bjvmflags" >> $makefile_config + echo >> $makefile_config + + # Bigloo bde + echo "AFILE=$afile" >> $makefile_config + echo "JFILE=$jfile" >> $makefile_config + echo "BTAGS=$btags" >> $makefile_config + echo "BDEPEND=$bdepend" >> $makefile_config + echo "SKRIBEINDENT=bpp" >> $makefile_config + echo >> $makefile_config + + # Misc + echo "RM=/bin/rm" >> $makefile_config + echo >> $makefile_config +fi + +#*---------------------------------------------------------------------*/ +#* Ok, we are done now */ +#*---------------------------------------------------------------------*/ +if [ "$summary" = "yes" ]; then + echo + echo + echo "** Configuration summary **" + echo + echo "Release number:" + echo " Skribe release number................. $release" + echo " Skribe beta number.................... $beta" + echo " Minimum Bigloo version required....... $requiredbigloo" + echo " Installed Bigloo version.............. $installedbigloo" + echo + echo "Compilers:" + echo " Bigloo................................ $bigloo" + echo " Bigloo link flags..................... $blinkflags" + echo " Bigloo compilation flags.............. $bflags" + echo " Bigloo heap flags..................... $bheapflags" + echo " afile................................. $afile" + echo " jfile................................. $jfile" + echo " btags................................. $btags" + echo " cc.................................... $cc" + echo " cc compilation flags.................. $cflags" + echo " link options.......................... $ldopt" + echo + echo "Path:" + echo " Binary directory...................... $skribebindir" + echo " Skr directory......................... $skribeskrdir" + echo " Extensions directory.................. $skribeextdir" + echo " File directory........................ $skribefildir" + echo " Library directory..................... $skribelibdir" + echo " Documentation directory............... $skribedocdir" + echo " Man pages directory................... $skribemandir" + echo " Home page............................. $skribeurl" + echo + echo "Misc configuration:" + echo " mask for installed files.............. $smask" + echo + echo "Emacs:" + echo " Emacs Lisp files directory............ $skribeemacsdir" + echo +fi |