[mercury-users] mmc --make and -I option
Ian MacLarty
maclarty at cs.mu.OZ.AU
Fri Feb 24 00:01:56 AEDT 2006
On Thu, Feb 23, 2006 at 02:00:34PM +1100, Julien Fischer wrote:
>
> On Thu, 23 Feb 2006, Ian MacLarty wrote:
>
> > Hello,
> >
> > In the mmc help message the -I option has the following description:
> >
> > -I <dir>, --search-directory <dir>
> > Append <dir> to the list of directories to be searched for
> > imported modules.
> >
> > However if I have the following program:
> >
> > :- module test.
> > :- interface.
> > :- import_module io.
> > :- pred main(io::di, io::uo) is det.
> > :- implementation.
> > :- import_module test2.
> > main(!IO) :-
> > test2.print(!IO),
> > nl(!IO).
> >
> > which includes the following module:
> >
> > :- module test2.
> > :- interface.
> > :- import_module io.
> > :- pred print(io::di, io::uo) is det.
> > :- implementation.
> > print(!IO) :- io.write_string("hello\n", !IO).
> >
> > and I put test2.m in a subdirectory of the directory test.m is in,
> > named test2, and then I try and compile test.m with the following
> > command:
> >
> > mmc --make test -I test2
> >
> > I get the following error:
> > ** Error: error reading file `test2.m' to generate dependencies.
> > ** Module `test2' is imported or included by module `test'.
> > mercury_compile: can't find source for module `test2'.
> >
> > Why doesn't mmc find test2.m in the test2 directory? I think it should
> > because of the value of the -I option I gave.
> >
> > Is this a bug or do I need to compile the file in the test2 directory first?
>
> I'm pretty sure that you need to compile it first - at least that's the
> way we use '-I' in the compiler. I take it you are trying to distribute
> your source tree over several directories or something? If you want to
> do that you can just use the source file renaming facility, i.e. the
> '-f' option to mmc; that works fine with 'mmc --make'.
>
Yes, that's exactly what I'm looking for. Thanks.
Ian.
--------------------------------------------------------------------------
mercury-users mailing list
post: mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the users
mailing list