openoffice-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From janI <j...@apache.org>
Subject Re: [proposal] replace build.pl with a central Makefile.
Date Fri, 18 Oct 2013 12:02:07 GMT
sd


On 18 October 2013 13:36, Andre Fischer <awf.aoo@gmail.com> wrote:

> On 18.10.2013 11:32, janI wrote:
>
>> Hi.
>>
>> due to the discussion in thread "Mentor a new build system", I have made a
>> proposal for a central Makefile located in main.
>>
> Hi Jan,
>
> it is great that you are going to improve this part of the build system.
>  But I think that we need more details about how the proposed build system
> works.  Without them I can not really evaluate the proposal.
>

First of all, I agree with juergens remarks that this should be discussed
before implemented, hence the wiki page.

Secondly this has nothing directly to do with the proposed build system,
its a simple replacement of build.pl in the current system.

I know that build.pl works, but having a Makefile in main, would make us
one step closer on being compatible with the distros. To me this job is a
simple cleanup, not something we deadly need, but nice to have.


>
> Some remarks regarding the missing options:
>
> --from <module>
>    This is one of the more important options and one that I use frequently
> (also in the form --all:<module>).
>    Note that if you are in <moduleA> and call 'make --from <moduleB>' then
> all modules are built
>    a) which <moduleA> depends on
>    b) but not those that <moduleB> depends on
>    c) Both <moduleA> and <moduleB> are built.
>

I have changed the documentation.

I use the --all:<module> myself very often, and have changed the
documentation, because it is of course supported.

The difference is that you do the call in main, but that is a minor detail
that can be easily corrected (have <module>/Makefile calling main/Makefile.

I have also changed documentation on --html due to juergens comments.


> --prepare
>    Also one option that is important for our every day work.  Use case:
> You make changes in <module> and are not sure if these changes are
> compatible/incompatible.  To be on the safe side you discard the output of
> all depending modules.  To save time you keep the output of all other
> modules.
>
>    Often used together with '--from' like 'make --prepare --from svx' to
> prepare a build after making changes in svx.
>

Documentation changed, funny thing is that svx does not clear correctly on
my ubuntu build.


>
> --since <module>
>    A variant of '--from'.  The only difference is that <module> itself is
> not built.
>
>    If your proposed approach is similar to what my script produces then it
> is not too difficult to support --from/--since.  I made some experiments in
> this direction but was to lazy to finish them.
>

My approach is very similar, but I failed to see how --since is supported.
And question is if its real important.


>
> --job
> --pre_job
> --post_job
>   These are sometimes handy to run a non-standard command for all modules.
>

I have added them, they are by the way a good example why we need a
discussion I have never used them.

However maybe the real discussion is "do we want to replace build and have
a main/Makefile instead?"



>
> - I have not used the rest of the unsupported options and would not miss
> them.  Others may have other sets of options that are important to them.
>
>
> Some general remarks:
>
> - Why keep one makefile per module?  Why not put all the inter-module
> dependencies into one file (like my script does)?
>

Ups, I did not explain that correctly, I propose 1 Makefile "main/Makefile"
with all inter-module and 1 Makefile "<module>/Makefile" that today just
will call the old makefiles as described in prj/build.lst

- Why not use the oportunity to move (a part of) the build environment out
> of the way to, say, build/ ?
>
You have guessed my next step.


>
> - How are dependencies between modules handled (just the manual
> dependencies from prj/build.lst or also the file dependencies introduced by
> gmake).
>

See doc. on --from. Its done with <module>.done files


> - How is the output of the individual calls to dmake or GNU make
> handled/made accessible.  Ie. if there is a build error, how can I look up
> the corresponding build output?
>

see doc. script make_log

>
> - Are the gmake makefiles included (run in the same process) or is GNU
> make started for them it its own process?
>

For a start they would be called (own process), but its something where I
have no strong opinions.

Please (just to be sure), this proposal has nothing to do with the students
work, its simply because I saw a positive discussion on removing build.pl,
and spent a couple of hours looking at it. If there is a preference not to
remove build.pl I will simply forget it.

rgds
jan I.




>
>
> Regards,
> Andre
>
>
>
>> It has been roughly tested it, thanks to a clever utility from andre.
>>
>> As discussed build.pl contains a lot of options, which need to be
>> considered in a makefile.
>>
>> My suggestion is on
>> http://wiki.openoffice.org/**wiki/Build_System_Analysis:**
>> build.pl_versus_makefile<http://wiki.openoffice.org/wiki/Build_System_Analysis:build.pl_versus_makefile>
>>
>> Please feel free to edit/comment on the page. I have reduced to options a
>> lot, and some of them might be in use.
>>
>> thanks in advance for your comments.
>>
>>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: dev-unsubscribe@openoffice.**apache.org<dev-unsubscribe@openoffice.apache.org>
> For additional commands, e-mail: dev-help@openoffice.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message