[mercury-users] mdb default settings
Peter Wang
wangp at students.csse.unimelb.edu.au
Mon Sep 11 15:04:20 AEST 2006
On 2006-09-11, Julien Fischer <juliensf at csse.unimelb.edu.au> wrote:
>
> On Sat, 9 Sep 2006, Peter Wang wrote:
>
> >Then in dirB you'd run:
> >
> > mmc -m mainmodule -I../dirA -L../dirA -R../dirA -lmoduleA \
> > --linkage static
> >
> >Wrapping that up in a normal makefile might be easier than dealing with
> >Mmake. The --linkage static should not be necessary, but there seems to
> >be a bug in mmc --make at the moment. You can also use --linkage shared.
>
> No. mmc --make is working fine. The problem is that linking Mercury
> libraries with `-l' as opposed to `--ml' as you have done above is that
> it is causing the compiler to invoke the linker in such a way that it
> uses the shared versions of the Mercury libraries. The resulting mixture
> of PIC and non-PIC code doesn't work on x86 machines because of the way
> the register %ebx is used. (It works fine on other architectures).
Ok. You'd probably want to statically link convenience libraries
anyway. In dirA you'd run:
mmc -m libmoduleA --lib-linkage static
> Note, using `--ml' probably won't work in the above example either since
> that option assumes that the Mercury library in question has been
> installed (which is not the case here).
Working with uninstalled libraries is not very convenient at the moment.
What about an option like `--mld' but for non-installed library
directories? `--search-all <dir>' (or whatever you want to call it)
would be equivalent to
--search-directory <dir> --library-directory <dir>
--init-file-directory <dir> --c-include-directory <dir>
i.e. the same as --mld. If you used the command-line above, you could
now use this command in dirB:
mmc -m mainmodule --search-all ../dirA --ml moduleA
Peter
--------------------------------------------------------------------------
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