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