summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorSergey Avseyev <sergey.avseyev@gmail.com>2016-07-20 22:31:24 +0300
committerSergey Avseyev <sergey.avseyev@gmail.com>2016-07-21 00:08:49 +0300
commit1492ff33ce98f71a987fd26180346896c0538428 (patch)
treeed62ab2bed40e49c37a94178f527691dbc646f37
parent5f623ea9ef7fcd35fb6a5ae44074b8c66cb20fcf (diff)
downloadNim-1492ff33ce98f71a987fd26180346896c0538428.tar.gz
define sparc64 platform
-rw-r--r--compiler/installer.ini2
-rw-r--r--compiler/platform.nim5
-rw-r--r--tools/niminst/buildsh.tmpl6
-rw-r--r--tools/niminst/niminst.nim2
4 files changed, 10 insertions, 5 deletions
diff --git a/compiler/installer.ini b/compiler/installer.ini
index 07fdb13b5..b802f08f1 100644
--- a/compiler/installer.ini
+++ b/compiler/installer.ini
@@ -8,7 +8,7 @@ Platforms: """
   windows: i386;amd64
   linux: i386;amd64;powerpc64;arm;sparc;mips;mipsel;powerpc;powerpc64el;arm64
   macosx: i386;amd64;powerpc64
-  solaris: i386;amd64;sparc
+  solaris: i386;amd64;sparc;sparc64
   freebsd: i386;amd64
   netbsd: i386;amd64
   openbsd: i386;amd64
diff --git a/compiler/platform.nim b/compiler/platform.nim
index dc414bfeb..36ec10477 100644
--- a/compiler/platform.nim
+++ b/compiler/platform.nim
@@ -159,7 +159,7 @@ type
                      # alias conditionals to condsyms (end of module).
     cpuNone, cpuI386, cpuM68k, cpuAlpha, cpuPowerpc, cpuPowerpc64,
     cpuPowerpc64el, cpuSparc, cpuVm, cpuIa64, cpuAmd64, cpuMips, cpuMipsel,
-    cpuArm, cpuArm64, cpuJS, cpuNimrodVM, cpuAVR, cpuMSP430
+    cpuArm, cpuArm64, cpuJS, cpuNimrodVM, cpuAVR, cpuMSP430, cpuSparc64
 
 type
   TEndian* = enum
@@ -187,7 +187,8 @@ const
     (name: "js", intSize: 32, endian: bigEndian,floatSize: 64,bit: 32),
     (name: "nimrodvm", intSize: 32, endian: bigEndian, floatSize: 64, bit: 32),
     (name: "avr", intSize: 16, endian: littleEndian, floatSize: 32, bit: 16),
-    (name: "msp430", intSize: 16, endian: littleEndian, floatSize: 32, bit: 16)]
+    (name: "msp430", intSize: 16, endian: littleEndian, floatSize: 32, bit: 16),
+    (name: "sparc64", intSize: 64, endian: bigEndian, floatSize: 64, bit: 64)]
 
 var
   targetCPU*, hostCPU*: TSystemCPU
diff --git a/tools/niminst/buildsh.tmpl b/tools/niminst/buildsh.tmpl
index 2c66ea493..13dfe5226 100644
--- a/tools/niminst/buildsh.tmpl
+++ b/tools/niminst/buildsh.tmpl
@@ -105,7 +105,11 @@ case $ucpu in
   *amd*64* | *x86-64* | *x86_64* )
     mycpu="amd64" ;;
   *sparc*|*sun* )
-    mycpu="sparc" ;;
+    mycpu="sparc"
+    if [ "$(isainfo -b)" = "64" ]; then
+      mycpu="sparc64"
+    fi
+    ;;
   *ppc64* )
     if [ "$myos" = "linux" ] ; then
       COMP_FLAGS="$COMP_FLAGS -m64"
diff --git a/tools/niminst/niminst.nim b/tools/niminst/niminst.nim
index b4f9c3687..4c8dfcddf 100644
--- a/tools/niminst/niminst.nim
+++ b/tools/niminst/niminst.nim
@@ -18,7 +18,7 @@ import
 
 const
   maxOS = 20 # max number of OSes
-  maxCPU = 10 # max number of CPUs
+  maxCPU = 20 # max number of CPUs
   buildShFile = "build.sh"
   buildBatFile32 = "build.bat"
   buildBatFile64 = "build64.bat"