2006-05-09 09:02:09 -07:00
#########################################################################
# #
# 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)
2007-02-23 06:03:30 -08:00
### Where to install the man pages
MANDIR = $( PREFIX) /man
2006-05-09 09:02:09 -07:00
########## 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
2007-02-07 02:31:36 -08:00
EXT_DLL = .dll
EXT_OBJ = .$( O)
EXT_LIB = .$( A)
EXT_ASM = .$( S)
MANEXT = 1
SHARPBANGSCRIPTS = false
PTHREAD_LINK =
X11_INCLUDES =
X11_LINK =
DBM_INCLUDES =
DBM_LINK =
BYTECCRPATH =
SUPPORTS_SHARED_LIBRARIES = true
SHAREDCCCOMPOPTS =
NATIVECCPROFOPTS =
NATIVECCRPATH =
2007-10-30 05:37:16 -07:00
ASM = ml64 /nologo /Cp /c /Fo
2007-02-07 02:31:36 -08:00
ASPP =
ASPPPROFFLAGS =
PROFILING = noprof
DYNLINKOPTS =
DEBUGGER =
CC_PROFILE =
SYSTHREAD_SUPPORT = true
2006-05-09 09:02:09 -07:00
########## Configuration for the bytecode compiler
### Which C compiler to use for the bytecode interpreter.
2006-09-23 01:51:31 -07:00
BYTECC = cl /nologo -D_CRT_SECURE_NO_DEPRECATE
2006-05-09 09:02:09 -07:00
### 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
2006-09-23 01:51:31 -07:00
### How to merge a .manifest (if any) in a .exe or .dll
2007-03-01 01:50:58 -08:00
MERGEMANIFEST = test ! -f $( 1) .manifest || mt -nologo -outputresource:$( 1) -manifest $( 1) .manifest && rm -f $( 1) .manifest
#ml let mergemanifest out = Printf.sprintf "test ! -f %s.manifest || mt -nologo -outputresource:%s -manifest %s.manifest && rm -f %s.manifest" out out out out;;
2006-09-23 01:51:31 -07:00
### How to build an EXE
MKEXE = $( BYTECC) /Fe$( 1) $( 2) && ( $( MERGEMANIFEST) )
2007-03-01 01:50:58 -08:00
#ml let mkexe out files opts = Printf.sprintf "%s /Fe%s %s %s && (%s)" bytecc out opts files (mergemanifest out);;
2006-09-23 01:51:31 -07:00
2006-05-09 09:02:09 -07:00
### How to build a DLL
2006-09-23 01:51:31 -07:00
MKDLL = link /nologo /dll /machine:AMD64 /out:$( 1) /implib:$( 2) $( 3) $( EXTRALIBS) && ( $( MERGEMANIFEST) )
2007-03-01 01:50:58 -08:00
#ml let mkdll out implib files opts = Printf.sprintf "link /nologo /dll /machine:AMD64 /out:%s /implib:%s %s %s && (%s)" out implib opts files (mergemanifest out);;
2006-05-09 09:02:09 -07:00
### How to build a static library
MKLIB = link /lib /nologo /machine:AMD64 /out:$( 1) $( 2)
2007-03-01 01:50:58 -08:00
#ml let mklib out files opts = Printf.sprintf "link /lib /nologo /machine:AMD64 /out:%s %s %s" out opts files;;
MKSHAREDLIBRPATH =
2006-05-09 09:02:09 -07:00
### Canonicalize the name of a system library
SYSLIB = $( 1) .lib
2007-03-01 01:50:58 -08:00
#ml let syslib x = x ^ ".lib";;
2006-05-09 09:02:09 -07:00
### The ranlib command
2007-03-01 01:50:58 -08:00
RANLIB =
2006-05-09 09:02:09 -07:00
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
2006-09-23 01:53:29 -07:00
PARTIALLD = link /lib /nologo /machine:AMD64
2007-03-01 01:50:58 -08:00
PACKLD = link /lib /nologo /machine:AMD64 /out:# there must be no space after this '/out:'
2006-05-09 09:02:09 -07:00
############# 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
2007-03-01 01:50:58 -08:00
### Configuration for LablTk (not supported)
TK_DEFS =
TK_LINK =
2006-05-09 09:02:09 -07:00
############# Aliases for common commands
MAKEREC = $( MAKE) -f Makefile.nt
MAKECMD = $( MAKE)