version0.7.10

This commit is contained in:
Andreas Rumpf 2009-06-08 08:06:25 +02:00
commit 4d4b3b1c04
193 changed files with 9099 additions and 17637 deletions

View file

@ -1,97 +1,105 @@
#subsChar ?
#proc GenerateInstallScript(c: TConfigData): string =
# result = "#! /bin/sh\n# Generated by niminst\n"
CC="gcc"
LINKER="gcc"
COMP_FLAGS="-w"
LINK_FLAGS=""
# add(result, "# platform detection\n")
ucpu=`uname -m`
uos=`uname`
# var proj = c.name.toLower
# add(result, "# convert to lower case:\n")
upcu=`echo $ucpu | tr "[:upper:]" "[:lower:]"`
uos=`echo $uos | tr "[:upper:]" "[:lower:]"`
case $uos in
*linux* )
myos="linux"
LINK_FLAGS="$LINK_FLAGS -ldl -lm"
;;
*freebsd* )
myos="freebsd"
LINK_FLAGS="$LINK_FLAGS -lm"
;;
*openbsd* )
myos="openbsd"
LINK_FLAGS="$LINK_FLAGS -lm"
;;
*netbsd* )
myos="netbsd"
LINK_FLAGS="$LINK_FLAGS -lm"
;;
*darwin* )
myos="macosx"
LINK_FLAGS="$LINK_FLAGS -ldl -lm"
;;
*aix* )
myos="aix"
LINK_FLAGS="$LINK_FLAGS -ldl -lm"
;;
*solaris* | *sun* )
myos="solaris"
LINK_FLAGS="$LINK_FLAGS -ldl -lm"
;;
*)
echo "Error: unknown operating system: $uos"
if [ $# -eq 1 ] ; then
# if c.cat[fcUnixBin].len > 0:
if test -f ?{c.cat[fcUnixBin][0]}
then
echo "?c.name build detected"
else
echo "Please build ?c.name before installing it"
exit 1
;;
esac
case $ucpu in
*i386* | *i486* | *i586* | *i686* )
mycpu="i386" ;;
*amd*64* | *x86-64* | *x86_64* )
mycpu="amd64" ;;
*sparc*|*sun* )
mycpu="sparc" ;;
*power* )
mycpu="powerpc" ;;
*mips* )
mycpu="mips" ;;
*)
echo "Error: unknown processor: $ucpu"
exit 1
;;
esac
# add(result, "# write ``build/platdef.c`` file\n")
cat >build/platdef.c <<EOF
char* nimOS(void) { return "$myos"; }
char* nimCPU(void) { return "$mycpu"; }
EOF
# add(result, "# call the compiler:\n")
case $myos in
# for osA in 1..c.oses.len:
?{c.oses[osA-1]})
case $mycpu in
# for cpuA in 1..c.cpus.len:
?{c.cpus[cpuA-1]})
# var linkCmd = "build/platdef.o"
# for f in items(c.cfiles[osA][cpuA]):
echo "$CC $COMP_FLAGS -Ibuild -c ?{f} -o ?{changeFileExt(f, "o")}"
$CC $COMP_FLAGS -Ibuild -c ?{f} -o ?{changeFileExt(f, "o")} || exit 1
# add(linkCmd, " \\\n" & changeFileExt(f, "o"))
# end for
$CC $COMP_FLAGS -Ibuild -c build/platdef.c -o build/platdef.o || exit 1
echo "$LINKER $LINK_FLAGS -o ?{c.binPaths[0]}/?{toLower(c.name)} ?linkCmd"
$LINKER $LINK_FLAGS -o ?{c.binPaths[0]}/?{toLower(c.name)} ?linkCmd || exit 1
;;
# end for
fi
# end if
case $1 in
"--help"|"-h"|"help"|"h")
echo "?c.name installation script"
echo "Usage: [sudo] sh install.sh DIR"
echo "Where DIR may be:"
echo " /usr/bin"
echo " /usr/local/bin"
echo " /opt"
echo " <some other dir> (treated like '/opt')"
echo "To deinstall, use the command:"
echo "sh deinstall.sh DIR"
exit 1
;;
"/usr/bin")
bindir=/usr/bin
configdir=/etc
libdir=/usr/lib/?proj
docdir=/usr/share/?proj/doc
datadir=/usr/share/?proj/data
;;
"/usr/local/bin")
bindir=/usr/local/bin
configdir=/etc
libdir=/usr/local/lib/?proj
docdir=/usr/local/share/?proj/doc
datadir=/usr/local/share/?proj/data
;;
*)
bindir="$1/?proj/bin"
configdir="$1/?proj/config"
libdir="$1/?proj/lib"
docdir="$1/?proj/doc"
datadir="$1/?proj/data"
mkdir -p $1/?proj
mkdir -p $bindir
mkdir -p $configdir
;;
esac
;;
mkdir -p $libdir
mkdir -p $docdir
echo "copying files..."
#var createdDirs = newStringTable()
#for cat in fcConfig..fcLib:
# for f in items(c.cat[cat]):
# var mk = extractDir(f.skipRoot)
# if mk.len > 0:
# mk = unixDirVars[cat] & "/" & mk
# if not createdDirs.hasKey(mk):
# createdDirs[mk] = "true"
mkdir -p ?mk
# end if
# end if
# end for
esac
#end for
echo "SUCCESS"
#for f in items(c.cat[fcUnixBin]):
cp ?f $bindir/?f.skipRoot
chmod 755 $bindir/?f.skipRoot
#end for
#for f in items(c.cat[fcConfig]):
cp ?f $configdir/?f.skipRoot
chmod 644 $configdir/?f.skipRoot
#end for
#for f in items(c.cat[fcData]):
cp ?f $datadir/?f.skipRoot
chmod 644 $datadir/?f.skipRoot
#end for
#for f in items(c.cat[fcDoc]):
cp ?f $docdir/?f.skipRoot
chmod 644 $docdir/?f.skipRoot
#end for
#for f in items(c.cat[fcLib]):
cp ?f $libdir/?f.skipRoot
chmod 644 $libdir/?f.skipRoot
#end for
echo "installation successful"
else
echo "?c.name installation script"
echo "Usage: [sudo] sh install.sh DIR"
echo "Where DIR may be:"
echo " /usr/bin"
echo " /usr/local/bin"
echo " /opt"
echo " <some other dir> (treated like '/opt')"
echo "To deinstall, use the command:"
echo "sh deinstall.sh DIR"
exit 1
fi