diff options
Diffstat (limited to 'tools/niminst/buildsh.tmpl')
-rw-r--r-- | tools/niminst/buildsh.tmpl | 218 |
1 files changed, 0 insertions, 218 deletions
diff --git a/tools/niminst/buildsh.tmpl b/tools/niminst/buildsh.tmpl deleted file mode 100644 index be6d43754..000000000 --- a/tools/niminst/buildsh.tmpl +++ /dev/null @@ -1,218 +0,0 @@ -#? stdtmpl(subsChar='?') | standard -#proc generateBuildShellScript(c: ConfigData): string = -# result = "#! /bin/sh\n# Generated from niminst\n" & -# "# Template is in tools/niminst/buildsh.tmpl\n" & -# "# To regenerate run ``niminst csource`` or ``koch csource``\n" - -set -e - -while : -do - case "$1" in - --os) - optos=$2 - shift 2 - ;; - --cpu) - optcpu=$2 - shift 2 - ;; - --osname) - optosname=$2 - shift 2 - ;; - --extraBuildArgs) - extraBuildArgs=" $2" - shift 2 - ;; - --) # End of all options - shift - break; - ;; - -*) - echo 2>&1 "Error: Unknown option: $1" >&2 - exit 1 - ;; - *) # No more options - break - ;; - esac -done - -CC="${CC:-gcc}" -LINKER="${LD:-gcc}" -COMP_FLAGS="${CPPFLAGS:-} ${CFLAGS:-} ?{c.ccompiler.flags}$extraBuildArgs" -LINK_FLAGS="${LDFLAGS:-} ?{c.linker.flags}" -PS4="" -# add(result, "# platform detection\n") -ucpu=`uname -m` -uos=`uname` -uosname= -# add(result, "# bin dir detection\n") -binDir=?{firstBinPath(c).toUnix} - -if [ -s ../koch.nim ]; then - binDir="../bin" -fi - -if [ ! -d $binDir ]; then - mkdir $binDir -fi - -# add(result, "# override OS, CPU and OS Name with command-line arguments\n") -if [ -n "$optos" ]; then - uos="$optos" -fi -if [ -n "$optcpu" ]; then - ucpu="$optcpu" -fi -if [ -n "$optcpu" ]; then - uosname="$optosname" -fi - -# add(result, "# convert to lower case:\n") -ucpu=`echo $ucpu | tr "[:upper:]" "[:lower:]"` -uos=`echo $uos | tr "[:upper:]" "[:lower:]"` -uosname=`echo $uosname | tr "[:upper:]" "[:lower:]"` - -case $uos in - *linux* ) - myos="linux" - LINK_FLAGS="$LINK_FLAGS -ldl -lm -lrt" - ;; - *dragonfly* ) - myos="dragonfly" - LINK_FLAGS="$LINK_FLAGS -lm" - ;; - *freebsd* ) - myos="freebsd" - CC="clang" - LINKER="clang" - LINK_FLAGS="$LINK_FLAGS -lm" - ;; - *openbsd* ) - myos="openbsd" - LINK_FLAGS="$LINK_FLAGS -lm" - ;; - *netbsd* ) - myos="netbsd" - LINK_FLAGS="$LINK_FLAGS -lm" - ;; - *darwin* ) - myos="macosx" - CC="clang" - LINKER="clang" - LINK_FLAGS="$LINK_FLAGS -ldl -lm" - if [ "$HOSTTYPE" = "x86_64" ] ; then - ucpu="amd64" - fi - ;; - *aix* ) - myos="aix" - LINK_FLAGS="$LINK_FLAGS -ldl -lm" - ;; - *solaris* | *sun* ) - myos="solaris" - LINK_FLAGS="$LINK_FLAGS -ldl -lm -lsocket -lnsl" - ;; - *haiku* ) - myos="haiku" - LINK_FLAGS="$LINK_FLAGS -lroot -lnetwork" - ;; - *mingw* ) - myos="windows" - ;; - *android* ) - myos="android" - LINK_FLAGS="$LINK_FLAGS -ldl -lm -lrt" - LINK_FLAGS="$LINK_FLAGS -landroid-glob" - ;; - *) - echo 2>&1 "Error: unknown operating system: $uos" - exit 1 - ;; -esac - -case $ucpu in - *i386* | *i486* | *i586* | *i686* | *bepc* | *i86pc* ) - mycpu="i386" ;; - *amd*64* | *x86-64* | *x86_64* ) - mycpu="amd64" ;; - *sparc*|*sun* ) - mycpu="sparc" - if [ "$(isainfo -b)" = "64" ]; then - mycpu="sparc64" - fi - ;; - *ppc64le* ) - mycpu="powerpc64el" ;; - *ppc64* ) - if [ "$myos" = "linux" ] ; then - COMP_FLAGS="$COMP_FLAGS -m64" - LINK_FLAGS="$LINK_FLAGS -m64" - fi - mycpu="powerpc64" ;; - *power*|*ppc* ) - mycpu="powerpc" ;; - *mips* ) - mycpu="$("$CC" -dumpmachine | sed 's/-.*//')" - case $mycpu in - mips|mipsel|mips64|mips64el) - ;; - *) - echo 2>&1 "Error: unknown MIPS target: $mycpu" - exit 1 - esac - ;; - *arm*|*armv6l*|*armv71* ) - mycpu="arm" ;; - *aarch64* ) - mycpu="arm64" ;; - *) - echo 2>&1 "Error: unknown processor: $ucpu" - exit 1 - ;; -esac - -case $uosname in - *android* ) - LINK_FLAGS="$LINK_FLAGS -landroid-glob" - myosname="android" - myos="android" - ;; -esac - -# add(result, "# call the compiler:\n") -echo \# OS: $myos -echo \# CPU: $mycpu - -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]}) - set -x -# var linkCmd = "" -# for ff in items(c.cfiles[osA][cpuA]): -# let f = ff.toUnix - $CC $COMP_FLAGS -Ic_code -c ?{f} -o ?{changeFileExt(f, "o")} -# add(linkCmd, " \\\n" & changeFileExt(f, "o")) -# end for - $LINKER -o ?{"$binDir/" & toLowerAscii(c.name)} ?linkCmd $LINK_FLAGS - ;; -# end for - *) - echo 2>&1 "Error: no C code generated for: [$myos: $mycpu]" - exit 1 - ;; - esac - ;; -# end for -*) - echo 2>&1 "Error: no C code generated for: [$myos: $mycpu]" - exit 1 - ;; -esac - -: SUCCESS |