On Sun, 10 Sep 2000 10:51:19 +0200 Guus Leeuw <[EMAIL PROTECTED]> wrote:

>So it's up to the developer building M for A, B, or C?

???  I'm not sure what you're asking.

Perhaps I'm not explaining it well.  If the build system, during
configuration, detects that $src/foo/bar/A is present, it enables the
"#define A" that causes the module to be used (and a Makefile variable
that causes the module to be compiled).

>In that case, you cannot do more then [sic - "than"?]
>1) Ask at the beginning of the build, what subs to include, if none have
>   been detected (if this is a valid rule :)

No, all submodules are optional.  And it's detected by a configure script,
so no questions are asked.

>2) Move the subs (A, B, C) when they are detected to the correct place
>   and build away.

I think you are saying that if the configure script detects a ../A (relative
to the source directory) it should move it to foo/bar/A.  But then, when the
user does a `cvs -d ... checkout A' again, it will re-fetch the files...  
That isn't what I'd want to happen; I'd want the module updated in-place.

And I don't think using the modules at the same level as M would work.  At
least one of the submodules delivers its library to its parent directory,
and the  build system expects all the libraries to be in one place.

I keep hoping there's a magical solution.  I don't have a place to test
(other than the live system, and I'm loathe to break it), but I wonder about
some lines in the modules file like this:
        A       -a foo/bar/A
        foo/bar/A A
That is, A acts as if foo/bar/A had been specified, but foo/bar/A fetches
its files from A.  (Can a module name have slashes?)

There's also a mysterious '-d dir' option for specifying a module.  Does
this identify the server directory (useless for my purposes) or the client
directory (which is probably very close to what I'm trying to do)?

Would either of those do what I want?  I can't tell, and I can't try it
without the potential of breaking the production system.  That's why I came
to this mailing list; I'm hoping someone can just tell me the answer.

Hope this helps,
-- Greg Noel, retired UNIX guru

Reply via email to