summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2006-05-09 16:02:09 +0000
committerXavier Leroy <xavier.leroy@inria.fr>2006-05-09 16:02:09 +0000
commitee015227d99c26e4d26cb56f0eb76aa912146606 (patch)
tree2da12c54cd24457aab6979ed948217b7c0c23502
parent355687746ea015edd58b20db2a138742f84b09dd (diff)
Suite portage Win64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7408 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r--config/Makefile.msvc64121
-rw-r--r--config/m-nt.h11
2 files changed, 132 insertions, 0 deletions
diff --git a/config/Makefile.msvc64 b/config/Makefile.msvc64
new file mode 100644
index 000000000..2ea28441a
--- /dev/null
+++ b/config/Makefile.msvc64
@@ -0,0 +1,121 @@
+#########################################################################
+# #
+# Objective Caml #
+# #
+# Xavier Leroy, projet Cristal, INRIA Rocquencourt #
+# #
+# Copyright 1999 Institut National de Recherche en Informatique et #
+# en Automatique. All rights reserved. This file is distributed #
+# under the terms of the GNU Library General Public License, with #
+# the special exception on linking described in file ../LICENSE. #
+# #
+#########################################################################
+
+# $Id$
+
+# Configuration for Windows, Visual C++ compiler
+
+######### General configuration
+
+PREFIX=C:/ocamlms64
+
+### Where to install the binaries.
+BINDIR=$(PREFIX)/bin
+
+### Where to install the standard library
+LIBDIR=$(PREFIX)/lib
+
+### Where to install the stub DLLs
+STUBLIBDIR=$(LIBDIR)/stublibs
+
+### Where to install the info files
+DISTRIB=$(PREFIX)
+
+########## Toolchain and OS dependencies
+
+TOOLCHAIN=msvc
+CCOMPTYPE=msvc
+O=obj
+A=lib
+S=asm
+SO=s.obj
+DO=d.obj
+DBGO=dbg.obj
+EXE=.exe
+
+########## Configuration for the bytecode compiler
+
+### Which C compiler to use for the bytecode interpreter.
+BYTECC=cl /nologo
+
+### Additional compile-time options for $(BYTECC). (For static linking.)
+BYTECCCOMPOPTS=/Ox /MT
+
+### Additional compile-time options for $(BYTECC). (For debug version.)
+BYTECCDBGCOMPOPTS=-DDEBUG /Zi /W3 /Wp64
+
+### Additional link-time options for $(BYTECC). (For static linking.)
+BYTECCLINKOPTS=/MT
+
+### Additional compile-time options for $(BYTECC). (For building a DLL.)
+DLLCCCOMPOPTS=/Ox /MD -DCAML_DLL
+
+### Libraries needed
+EXTRALIBS=bufferoverflowu.lib
+BYTECCLIBS=advapi32.lib $(EXTRALIBS)
+NATIVECCLIBS=advapi32.lib $(EXTRALIBS)
+
+### How to invoke the C preprocessor
+CPP=cl /nologo /EP
+
+### How to build a DLL
+MKDLL=link /nologo /dll /machine:AMD64 /out:$(1) /implib:$(2) $(3) $(EXTRALIBS)
+
+### How to build a static library
+MKLIB=link /lib /nologo /machine:AMD64 /out:$(1) $(2)
+
+### Canonicalize the name of a system library
+SYSLIB=$(1).lib
+
+### Specify the name of the generated executable when calling the C compiler
+OUTPUTEXE=/Fe$(1)
+
+### The ranlib command
+RANLIBCMD=
+
+############# Configuration for the native-code compiler
+
+### Name of architecture for the native-code compiler
+ARCH=amd64
+
+### Name of architecture model for the native-code compiler.
+MODEL=default
+
+### Name of operating system family for the native-code compiler.
+SYSTEM=win64
+
+### Which C compiler to use for the native-code compiler.
+NATIVECC=cl /nologo
+
+### Additional compile-time options for $(NATIVECC).
+NATIVECCCOMPOPTS=/Ox /MT
+
+### Additional link-time options for $(NATIVECC)
+NATIVECCLINKOPTS=/MT
+
+### Build partially-linked object file
+PARTIALLD=link /lib /nologo
+PACKLD=ld -r --oformat pe-i386
+
+############# Configuration for the contributed libraries
+
+OTHERLIBRARIES=win32unix systhreads str num win32graph dynlink bigarray
+
+### Name of the target architecture for the "num" library
+BNG_ARCH=generic
+BNG_ASM_LEVEL=0
+
+############# Aliases for common commands
+
+MAKEREC=$(MAKE) -f Makefile.nt
+MAKECMD=$(MAKE)
diff --git a/config/m-nt.h b/config/m-nt.h
index f7a3b51e0..d14376815 100644
--- a/config/m-nt.h
+++ b/config/m-nt.h
@@ -16,13 +16,23 @@
/* Machine configuration, Intel x86 processors, Win32,
Visual C++ or Mingw compiler */
+#ifdef _WIN64
+#define ARCH_SIXTYFOUR
+#else
#undef ARCH_SIXTYFOUR
+#endif
#undef ARCH_BIG_ENDIAN
#undef ARCH_ALIGN_DOUBLE
+
#define SIZEOF_INT 4
#define SIZEOF_LONG 4
+#ifdef _WIN64
+#define SIZEOF_PTR 8
+#else
#define SIZEOF_PTR 4
+#endif
#define SIZEOF_SHORT 2
+
#ifdef __MINGW32__
#define ARCH_INT64_TYPE long long
#define ARCH_UINT64_TYPE unsigned long long
@@ -31,5 +41,6 @@
#define ARCH_UINT64_TYPE unsigned __int64
#endif
#define ARCH_INT64_PRINTF_FORMAT "I64"
+
#undef NONSTANDARD_DIV_MOD