harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Deakin <oliver.dea...@googlemail.com>
Subject Re: [classlib] Modularising the native code - it begins!
Date Wed, 14 Jun 2006 15:45:49 GMT
Mark Hindess wrote:
<snip>
> On 14 June 2006 at 7:24, Geir Magnusson Jr <geir@pobox.com> wrote:
>   
>> Oliver Deakin wrote:
>>     
>>> 2) The makefiles for each native component include two files
>>> (defines.mak and rules.mak on windows and makefile.include
>>> and rules.mk on linux) that are generic across all components.
>>>
>>> The question is: where should these common files be located once
>>> the natives are moved into the modules?
>>>
>>> At the moment, I can't really see an obvious location where all modules
>>> could access them.
>>> The only option I've thought of so far is to have one copy of the files in
>>> each module that contains native code (so that would be one copy in
>>> each of archive, auth, luni, prefs and text). The files would be located
>>> under
>>> /modules/<modulename>/src/main/native, and shared by all the
>>> native components under that module.
>>> Any preferences/ideas about this?
>>>       
>> I think that works.  I've been having similar thoughts about this re
>> drlvm, and have been using the classlib make config as a reference.  I'm
>> trying to limit the amount of duplicated things because I'm slothful and
>> lazy and don't want to maintain them.
>>     
>
> I'd rather not maintain lots of copies.  Could we not keep the shared
> parts in the deploy (I was tempted to say hdk) somehow?  It's might
> sound a little crazy but actually given that we want modules to be
> consistent with other compiled artifacts it's actually quite useful to
> have common structure, variable and compile flag settings.
>   

I would also prefer if we could find a good central place to keep these 
rather than many copies -
do you have any suggestions?

If we copy them into deploy at build time (similar to how we copy in the 
headers) then we
just need to pick a place for them to live before they are copied.
Putting them under depends didn't quite feel right to me at first - I 
thought the depends directory
was intended to contain external dependencies, but now that I look at it 
I see that the
depends/files dir contains the Harmony properties files, so maybe I'm 
wrong. If that's the case,
then perhaps they could go in a separate directory under depends?
Alternatively, they could go into a subdir of /make, but I like that less.

Thoughts?

Regards,
Oliver

> (Aside: The linux kernel used to do something like this with a 
> Rules.make file that you included.  Now they do it slightly differently
> where you set a variable pointing to your module source and use the
> standard kernel Makefile from the built source tree like:
>
>   make -C <kernel-source-dir> M=$PWD modules modules_install
>
> I quite like this since it ensures consistency.)
>
> Regards,
>  Mark.
>
>
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>
>
>   

-- 
Oliver Deakin
IBM United Kingdom Limited


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message