From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id BAA17036; Tue, 25 Sep 2001 01:40:41 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id BAA17032 for ; Tue, 25 Sep 2001 01:40:39 +0200 (MET DST) Received: from mail.genxnet.com (mail.genxnet.com [216.214.194.215]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id f8ONecX01966 for ; Tue, 25 Sep 2001 01:40:38 +0200 (MET DST) Received: from prozac-chiwawa.genxnet.com (prozac-chiwawa.genxnet.com [216.214.221.136]) by mail.genxnet.com (8.11.5/8.11.5) with ESMTP id f8ONeT325271 for ; Mon, 24 Sep 2001 18:40:29 -0500 Received: from gmvnetwork.com (uchi.genxnet.com [216.214.221.139]) by prozac-chiwawa.genxnet.com (8.9.3+Sun/8.9.3) with ESMTP id SAA27188 for ; Mon, 24 Sep 2001 18:34:24 -0500 (CDT) Message-ID: <3BAFC45D.9EAB97D9@gmvnetwork.com> Date: Mon, 24 Sep 2001 18:40:13 -0500 From: art X-Mailer: Mozilla 4.7 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: caml-list@inria.fr Subject: [Caml-list] Initial port of ocaml for mingw (long) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 1.3 (www dot roaringpenguin dot com slash mimedefang) Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Using code from the cvsnt project (just one function really), I was able to make an ocaml that does not depend on cygwin1.dll for windows. The bad news is that currently, it still depends on gcc -mno-cygwin, sh and make to build programs, etc. The good news is that it can produce programs that don't depend on cygwin1.dll as well (from ocamlc or ocamlopt). I have tested programs made with both ocamlc and ocamlopt, and used objdump to verify that they only depend on the microsoft C runtime. File needed here: http://lcc-java.sourceforge.net/ocaml-boot-mingw.tgz (New boot directory) http://lcc-java.sourceforge.net/ocaml-mingw-diffs (patch file for ocaml-3.02 distribution for MinGW. Assumptions: (You *must* have the CAMLLIB env variable set to a dos path containing your caml libraries. You have to have libcamlrun.a in this directory in order for things to work. You may wish to premake this directory and copy files as necessary) Building: With the files ocaml-3.02.tar.gz, ocaml-mingw-diffs and ocaml-boot-mingw.tgz in a directory, do the following: (sorry for breaking the build process) gzip -d < ocaml-3.02.tar.gz | tar xvf - cd ocaml-3.02 patch -p 0 < ../ocaml-mingw-diffs gzip -d < ../ocaml-boot-mingw.tgz | tar xvf - make : The build breaks here (access.c) ... builds ok next time make : Need some pre-built cmis... not sure why make otherlibs/num/int_misc.cmi \ otherlibs/num/string_misc.cmi \ otherlibs/num/arith_flags.cmi make : Everything except ocamlopt.exe and family made so far rm byterun/io.h make -C asmrun depend make -C byterun depend : byterun/io.h is replaced by byterun/_io.h due to a name conflict. make opt : Everything made make install make installopt : Installed Hopefully, this is a step in the right direction for a MinGW port. In any case, it relives the user of ocaml toplevel environments from having to have cygwin, in addition to allowing one to create executables that are free from cygwin. To complete the cycle, someone who is a bit better with mingw than I will have to change the compile line in bytelink.ml and asmlink.ml to reflect mingw, and do new makefiles (perhaps Dmitry will help with this?) Art ------------------- Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr