summaryrefslogtreecommitdiff
path: root/etc/bigloo/configure
diff options
context:
space:
mode:
Diffstat (limited to 'etc/bigloo/configure')
-rwxr-xr-xetc/bigloo/configure552
1 files changed, 552 insertions, 0 deletions
diff --git a/etc/bigloo/configure b/etc/bigloo/configure
new file mode 100755
index 0000000..9215911
--- /dev/null
+++ b/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