Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

113 lines (102 sloc) 3.151 kb
#!/bin/sh
# The make-config.sh script uses information about the target machine
# to set things up for compilation. It's vaguely like a stripped-down
# version of autoconf. It's intended to be run as part of make.sh. The
# only time you'd want to run it by itself is if you're trying to
# cross-compile the system or if you're doing some kind of
# troubleshooting.
# This software is part of the SBCL system. See the README file for
# more information.
#
# This software is derived from the CMU CL system, which was
# written at Carnegie Mellon University and released into the
# public domain. The software is in the public domain and is
# provided with absolutely no warranty. See the COPYING and CREDITS
# files for more information.
echo //entering make-config.sh
echo //ensuring the existence of output/ directory
if [ ! -d output ] ; then mkdir output; fi
ltf=`pwd`/local-target-features.lisp-expr
echo //initializing $ltf
echo ';;;; This is a machine-generated file.' > $ltf
echo ';;;; Please do not edit it by hand.' >> $ltf
echo ';;;; See make-config.sh.' >> $ltf
echo -n '(' >> $ltf
echo //guessing default target CPU architecture from host architecture
case `uname -m` in
*86) guessed_sbcl_arch=x86 ;;
[Aa]lpha) guessed_sbcl_arch=alpha ;;
*)
# If we're not building on a supported target architecture, we
# we have no guess, but it's not an error yet, since maybe
# target architecture will be specified explicitly below.
guessed_sbcl_arch=''
;;
esac
echo //setting up CPU-architecture-dependent information
sbcl_arch=${SBCL_ARCH:-$guessed_sbcl_arch}
echo sbcl_arch=\"$sbcl_arch\"
if [ "$sbcl_arch" = "" ] ; then
echo "can't guess target SBCL architecture, need SBCL_ARCH environment var"
exit 1
fi
echo -n ":$sbcl_arch" >> $ltf
for d in src/compiler src/assembly; do
echo //setting up symlink $d/target
original_dir=`pwd`
cd $d
if [ -L target ] ; then
rm target
elif [ -e target ] ; then
echo "I'm afraid to replace non-symlink $d/target with a symlink."
exit 1
fi
if [ -d $sbcl_arch ] ; then
ln -s $sbcl_arch target
else
echo "missing sbcl_arch directory $PWD/$sbcl_arch"
exit 1
fi
cd $original_dir
done
echo //setting up OS-dependent information
original_dir=`pwd`
cd src/runtime/
rm -f Config
case `uname` in
Linux)
echo -n ' :linux' >> $ltf
ln -s Config.$sbcl_arch-linux Config
;;
*BSD)
echo -n ' :bsd' >> $ltf
case `uname` in
FreeBSD)
echo -n ' :freebsd' >> $ltf
ln -s Config.$sbcl_arch-freebsd Config
;;
OpenBSD)
echo -n ' :openbsd' >> $ltf
ln -s Config.$sbcl_arch-openbsd Config
;;
*)
echo unsupported BSD variant: `uname`
exit 1
;;
esac
;;
*)
echo unsupported OS type: `uname`
exit 1
;;
esac
cd $original_dir
echo //finishing $ltf
echo ')' >> $ltf
# FIXME: The version system should probably be redone along these lines:
#
# echo //setting up version information.
# versionfile=version.txt
# cp base-version.txt $versionfile
# echo " (built `date -u` by `whoami`@`hostname`)" >> $versionfile
# echo 'This is a machine-generated file and should not be edited by hand.' >> $versionfile
Jump to Line
Something went wrong with that request. Please try again.