7 messages in com.perforce.jammingshared/DLL library support?
FromSent OnAttachments
Xiao...@aero.gla.ac.uk27 May 1997 03:53 
Xiao...@aero.gla.ac.uk27 May 1997 05:09 
C.Co...@slh0633.wins.icl.co.uk C.Coles@slh0633.wins.icl.co.uk27 May 1997 05:45 
Laur...@sybase.com27 May 1997 18:28 
Xiao...@aero.gla.ac.uk28 May 1997 06:48 
Xiao...@aero.gla.ac.uk28 May 1997 08:31 
Laur...@sybase.com28 May 1997 17:00 
Subject:shared/DLL library support?
From:Xiao...@aero.gla.ac.uk (Xiao@aero.gla.ac.uk)
Date:05/27/1997 05:09:01 AM
List:com.perforce.jamming

Colin Peters wrote:

<xiao@aero.gla.ac.uk> wrote:

I'm new in jam and try to use jam to build some big application (Named wx-1.66). I have to find the way to build shared library or DLL library (in Win95).

Does anyone have wroten this sort of rule and action and can share with me ? Thanks in advance!

Since you mentioned earlier you had downloaded Jam for the Minimalist GNU-Win32 you could check out the Dll and modified Link rules in the jambase that comes with that. Of course that only works with GNU-Win32. Actually there's even more to it since there are changes in the "specs" file (the -dll option to gcc) which these rules make use of. You could download Mingw32 from one of my web pages

http://www.geocities.com/Tokyo/Towers/6162/gcc-extra.html

or

http://www.fu.is.saga-u.ac.jp/~colin/gcc-extra.html

(it's only 60KB, so it shouldn't be too hard). Check the contents of the "specs" file included with that package and see if you can match them up to what you need in your setup (I believe you said normal GNU- Win32 right?). I might be able to help you out with the details.

I'm no Jam wizard either, in fact I think my jambase for Mingw32 is not good at all, but it might be a place to start.

Thanks for prompt answer ;-)

Actually I'm not read the "specs" file and only read all your Jambase.

On a different point, you mentioned a bug you found in the Mingw32 version of Jam in another mail to the Jamming list. Could you tell me the specific symptoms so I can try and track it down? Did you say that this bug went away when you recompiled under ordinary GNU-Win32?

Yes, when I use ordinary GNU-Win32, it went away. But I change the file from filent.c to fileunix.c. I can not compile filent.c use gcc.

I find the bug (?) when I use java.jam which have the following directory structure.

\1 | +---+-----+ java classes | | ex1 ex1 | | Test1.java Test1.class

I run jam from \1\java\ex1. The Jamfile have rule Package (Simlar with SubDIR) and the byte code go into \1\classes\ex1\Test1.class. I guess Package set LOCATE_TARGET (I have not read java.jam for confirm this).

The jam -d5 reports the bind \1 miss every time ;-( so it recompile Test1.java

I have not try reproducing the bug from a simple c example. Sorry about that. When I get the bug gone I turn my way to the MSDOS port which use your execcmd and change WIN32's CreateProcess() into DJGPP's system(). It works for me ;-) Thanks!

I guess it is fast to use the CreateProcess than the original batch approach.

cheers!

Anyway, later,

Colin.

--- +-------------------------------------------------------------+ | Dr Xiaokun Zhu E-Mail: xiao@aero.gla.ac.uk | | Department of Aerospace, University of Glasgow, G12 8QQ, UK | | Tel : +44 141 3304068 FAX: +44 141 3305560 |