diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 2006-05-09 16:02:09 +0000 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 2006-05-09 16:02:09 +0000 |
commit | ee015227d99c26e4d26cb56f0eb76aa912146606 (patch) | |
tree | 2da12c54cd24457aab6979ed948217b7c0c23502 | |
parent | 355687746ea015edd58b20db2a138742f84b09dd (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.msvc64 | 121 | ||||
-rw-r--r-- | config/m-nt.h | 11 |
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 |