#5179: the 'official' 32-bit mingw compiler is now the one from the mingw-w64 project, packaged in Cygwin (as supported by flexdll 0.27).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11300 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02master
parent
e707c41543
commit
5f8ff42f10
|
@ -110,9 +110,9 @@ OPTOBJS=$(OPTUTILS) $(PARSING) $(TYPING) $(COMP) $(ASMCOMP) $(OPTDRIVER)
|
|||
EXPUNGEOBJS=utils/misc.cmo utils/tbl.cmo \
|
||||
utils/config.cmo utils/clflags.cmo \
|
||||
typing/ident.cmo typing/path.cmo typing/types.cmo typing/btype.cmo \
|
||||
utils/warnings.cmo parsing/location.cmo \
|
||||
typing/predef.cmo bytecomp/runtimedef.cmo bytecomp/bytesections.cmo \
|
||||
bytecomp/dll.cmo \
|
||||
bytecomp/symtable.cmo toplevel/expunge.cmo
|
||||
bytecomp/dll.cmo bytecomp/meta.cmo bytecomp/symtable.cmo toplevel/expunge.cmo
|
||||
|
||||
PERVASIVES=$(STDLIB_MODULES) topdirs toploop outcometree
|
||||
|
||||
|
|
49
README.win32
49
README.win32
|
@ -3,7 +3,9 @@
|
|||
|
||||
There are no less than four ports of OCaml for MS Windows available:
|
||||
- a native Win32 port, built with the Microsoft development tools;
|
||||
- a native Win32 port, built with the Cygwin/MinGW development tools;
|
||||
- a native Win32 port, built with the 32-bit version of the gcc
|
||||
compiler from the mingw-w64 project, packaged in Cygwin
|
||||
(under the name mingw64-i686);
|
||||
- a port consisting of the Unix sources compiled under the Cygwin
|
||||
Unix-like environment for Windows;
|
||||
- a native Win64 port (64-bit Windows), built with the Microsoft
|
||||
|
@ -183,10 +185,6 @@ by Jacob Navia, then significantly improved by Christopher A. Watford.
|
|||
The native Win32 port built with Mingw
|
||||
--------------------------------------
|
||||
|
||||
NOTE: Due to changes in cygwin's compilers, this port is not available
|
||||
in OCaml 3.12.1. A patch will be made available soon after the release
|
||||
of 3.12.1.
|
||||
|
||||
REQUIREMENTS:
|
||||
|
||||
This port runs under MS Windows Vista, XP, and 2000.
|
||||
|
@ -202,11 +200,27 @@ and the flexdll tool, available at
|
|||
http://alain.frisch.fr/flexdll.html
|
||||
You will need to install at least the following Cygwin packages (use
|
||||
the Setup tool from Cygwin):
|
||||
binutils, gcc-core, gcc-mingw-core, mingw-runtime, w32api.
|
||||
|
||||
Do *not* install the Mingw/MSYS development tools from www.mingw.org:
|
||||
these are not compatible with this Caml port (@responsefile not
|
||||
recognized on the command line).
|
||||
mingw64-i686-binutils
|
||||
mingw64-i686-gcc
|
||||
mingw64-i686-runtime
|
||||
|
||||
|
||||
NOTE:
|
||||
- There is another 32-bit gcc compiler, from the MinGW.org
|
||||
project, packaged in Cygwin under the name mingw-gcc.
|
||||
It is not currently supported by flexdll and OCaml.
|
||||
|
||||
- The standard gcc compiler shipped with Cygwin used to
|
||||
support a "-mno-cygwin" option, which turned the compiler
|
||||
into a mingw compiler. This option was used
|
||||
by previous versions of flexdll and OCaml, but it is no
|
||||
longer available in recent version, hence the switch
|
||||
to another toolchain packaged in Cygwin.
|
||||
|
||||
- The standalone mingw toolchain from the MinGW-w64 project
|
||||
(http://mingw-w64.sourceforge.net/) is not supported.
|
||||
Please use the version packaged in Cygwin instead.
|
||||
|
||||
The LablTk GUI requires Tcl/Tk 8.5. Windows binaries are available
|
||||
as part of the ActiveTCL distribution at
|
||||
|
@ -235,14 +249,19 @@ RECOMPILATION FROM THE SOURCES:
|
|||
You will need the following software components to perform the recompilation:
|
||||
- Windows NT, 2000, XP, or Vista.
|
||||
- Cygwin: http://sourceware.cygnus.com/cygwin/
|
||||
Install at least the following packages: binutils, diffutils,
|
||||
gcc-core, gcc-mingw-core, make, mingw-runtime, ncurses, w32api.
|
||||
Install at least the following packages:
|
||||
mingw64-i686-binutils
|
||||
mingw64-i686-gcc
|
||||
mingw64-i686-runtime
|
||||
diffutils
|
||||
make
|
||||
ncurses
|
||||
- TCL/TK version 8.5 (see above).
|
||||
- The flexdll tool (see above).
|
||||
|
||||
Do *not* install the standalone distribution of MinGW, nor the
|
||||
companion MSYS tools: these have problems with long command lines.
|
||||
Instead, use the version of MinGW provided by Cygwin.
|
||||
The standalone mingw toolchain from the MinGW-w64 project
|
||||
(http://mingw-w64.sourceforge.net/) is not supported. Please use the
|
||||
version packaged in Cygwin instead.
|
||||
|
||||
Start a Cygwin shell and unpack the source distribution
|
||||
(ocaml-X.YY.Z.tar.gz) with "tar xzf". Change to the top-level
|
||||
|
@ -345,7 +364,7 @@ THIRD-PARTY SOFTWARE:
|
|||
http://www.microsoft.com/downloads/en/default.aspx
|
||||
under the name "Microsoft Windows 7 SDK".
|
||||
|
||||
[2] flexdll version 0.23 or later.
|
||||
[2] flexdll version 0.27 or later.
|
||||
Can be downloaded from http://alain.frisch.fr/flexdll.html
|
||||
|
||||
|
||||
|
|
|
@ -37,6 +37,10 @@ MANDIR=$(PREFIX)/man
|
|||
########## Toolchain and OS dependencies
|
||||
|
||||
TOOLCHAIN=mingw
|
||||
|
||||
### Toolchain prefix
|
||||
TOOLPREF=i686-w64-mingw32-
|
||||
|
||||
CCOMPTYPE=cc
|
||||
O=o
|
||||
A=a
|
||||
|
@ -61,7 +65,7 @@ SHAREDCCCOMPOPTS=
|
|||
MKSHAREDLIBRPATH=
|
||||
NATIVECCPROFOPTS=
|
||||
NATIVECCRPATH=
|
||||
ASM=as
|
||||
ASM=$(TOOLPREF)as
|
||||
ASPP=gcc
|
||||
ASPPPROFFLAGS=
|
||||
PROFILING=noprof
|
||||
|
@ -77,7 +81,7 @@ CMXS=cmxs
|
|||
########## Configuration for the bytecode compiler
|
||||
|
||||
### Which C compiler to use for the bytecode interpreter.
|
||||
BYTECC=gcc -mno-cygwin
|
||||
BYTECC=$(TOOLPREF)gcc
|
||||
|
||||
### Additional compile-time options for $(BYTECC). (For static linking.)
|
||||
BYTECCCOMPOPTS=-O -mms-bitfields -Wall -Wno-unused
|
||||
|
@ -104,16 +108,16 @@ MKEXE=$(FLEXLINK) -exe
|
|||
MKMAINDLL=$(FLEXLINK) -maindll
|
||||
|
||||
### How to build a static library
|
||||
MKLIB=rm -f $(1); ar rcs $(1) $(2)
|
||||
#ml let mklib out files opts = Printf.sprintf "rm -f %s && ar rcs %s %s %s" out opts out files;;
|
||||
MKLIB=rm -f $(1); $(TOOLPREF)ar rc $(1) $(2); $(RANLIB) $(1)
|
||||
#ml let mklib out files opts = Printf.sprintf "rm -f %s && %sar rcs %s %s %s" out toolpref opts out files;;
|
||||
|
||||
### Canonicalize the name of a system library
|
||||
SYSLIB=-l$(1)
|
||||
#ml let syslib x = "-l"^x;;
|
||||
|
||||
### The ranlib command
|
||||
RANLIB=ranlib
|
||||
RANLIBCMD=ranlib
|
||||
RANLIB=$(TOOLPREF)ranlib
|
||||
RANLIBCMD=$(TOOLPREF)ranlib
|
||||
|
||||
############# Configuration for the native-code compiler
|
||||
|
||||
|
@ -136,7 +140,7 @@ NATIVECCCOMPOPTS=-O -mms-bitfields -Wall -Wno-unused
|
|||
NATIVECCLINKOPTS=
|
||||
|
||||
### Build partially-linked object file
|
||||
PACKLD=ld -r $(NATIVECCLINKOPTS) -o #there must be a space after this '-o'
|
||||
PACKLD=$(TOOLPREF)ld -r $(NATIVECCLINKOPTS) -o #there must be a space after this '-o'
|
||||
|
||||
############# Configuration for the contributed libraries
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ endif
|
|||
rm -f ocaml.res
|
||||
endif
|
||||
ifeq ($(TOOLCHAIN),mingw)
|
||||
windres -i ocaml.rc -o $@
|
||||
$(TOOLPREF)windres -i ocaml.rc -o $@
|
||||
endif
|
||||
|
||||
$(OBJS): inria.h inriares.h history.h editbuffer.h
|
||||
|
|
Loading…
Reference in New Issue