Building mozart 1.3.0 with gcc 3 under Windows

Kevin Glynn glynn at info.ucl.ac.be
Fri Sep 19 15:00:01 CEST 2003



Dear all,

I have been (somewhat) successful building mozart with gcc 3 under
cygwin! Below I describe what I had to do.  I am hoping that someone
can comment and improve on the hacks I have made.  I attach a diff
that you can apply to the current development branch in CVS.

I built against the pre-built packages available from

http://www.mozart-oz.org/documentation/install/node8.html#section.cygwin.packages

1. c++ doesn't like putting an attribute on the OZ_Extension
   destructor in platform/emulator/extension.cc.  It looks like this
   is because it is a virtual destructor.  I (eventually) discovered
   that I could put ozdeclspec on the class definition in extension.hh
   and the delete methods and get the right symbols exported.

   This fix needs improving, I probably don't need ozdeclspec
   everywhere I have it and redefining ozdeclspec in extension.hh
   gives warnings, and may well be unnecessary.

2. Another cause of undefined symbols in emulator.dll is that
   windows.hh from cygwin defines the INTERFACE symbol which we use to
   control "#pragma interface". (This took a looong time to track
   down). I have hacked that with a bit of #ifdeffery   that unsets it
   where necessary.

3. We need to run make new-scanner in platform/emulator.  It seems
   that the latest flex in cygwin (2.5.31-1, released 5 days ago)
   breaks our scanner.  I built with the previous version (2.5.4-2).

4. To build text2pickle we need to link with $CXX, not $LD (else we get
   undefined new/delete symbols).

5. oztool.cc won't work if c++ is a symbolic link to g++ (a problem
   with CreateProcess).  I hacked this by copying g++.exe to c++.exe

I am having trouble running make boot-all (emacs doesn't like the path
it is being fed, advice anyone?) but everything I have tried seems to
have worked OK.  I can use the gdbm contrib for example.

phew!

k




-------------- next part --------------
A non-text attachment was scrubbed...
Name: kk
Type: application/octet-stream
Size: 8085 bytes
Desc: not available
Url : http://lists.gforge.info.ucl.ac.be/pipermail/mozart-hackers/attachments/20030919/e281b8c7/kk.obj


More information about the mozart-hackers mailing list