[mercury-users] Building Mercury library DLLs with grade IL?

Eric Taucher gluon at earthlink.net
Sun Jun 10 21:07:33 AEST 2007


Thanks

I tracked my problem down to extra shift commands I added in mmake.in when
capturing the temporary recursively made makefiles. This was causing the
parameters to be removed before being passed to make and thus choosing the
default grade. By using a new set of source files with Mmake.parms, the
problem became more obvious.

-----Original Message-----
From: owner-mercury-users at csse.unimelb.edu.au
[mailto:owner-mercury-users at csse.unimelb.edu.au] On Behalf Of Jonathan
Morgan
Sent: Friday, June 08, 2007 1:23 AM
To: mercury-users at csse.unimelb.edu.au
Subject: Re: [mercury-users] Building Mercury library DLLs with grade IL?

On 6/8/07, Peter Ross <pro at missioncriticalit.com> wrote:
> On 6/7/07, Eric Taucher <gluon at earthlink.net> wrote:
> > I am curios to know if it is possible to install only the asm_fast.gc
grade
> > of the compiler and then using only the built in Makefiles, generate the
> > Mercury libraries as DLLs with grade=IL. So far, all my attempts at this
> > have failed to some extent. Is this even a reasonable expectation given
the
> > current state of the IL grade for the Mercury make process?

It's possible that the DLL is set to only be linked during the install
process.  It looks to me like both the install and the mercury_std
rules depend on mercury.dll, but from your description it sounds like
it is only built on install.  If so, then you will need to make
mercury.dll in the library directory be required at some stage in the
library building process.

> > If so, how is it done?
> >
> This is what I do when trying to debug these sort of problems.
>
> Build a compiler in one directory in the grade asm_fast.gc.decldebug,
> this will allow you to debug what is going on.  To do this add the
> following line to Mmake.params (you will need to create the file in
> the root directory of the check-out)
> GRADE=asm_fast.gc.decldebug
>
> The check-out a fresh compiler.
> Create a file called Mmake.params, in this file add at least the line
> GRADE=il
>
> then use
> MERCURY_COMPILER=path_to_your_debug_compiler/compiler/mercury_compile
> mmake library
>
> and the build process should build the library in the il grade.

This process will work, but using a compiler built in debug mode will
be both slow and take up a lot of space (often >500MB all up).

> See http://www.mercury.cs.mu.oz.au/information/developers/remote_cvs.html
> for how to get remote CVS access.

Additionally, if you are using a released compiler (as I know you have
been), you will need to checkout from branch `version-0_13-branch'.

Jon
--------------------------------------------------------------------------
mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------


--------------------------------------------------------------------------
mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the users mailing list