A few comments on read-through (but without checking out-of-mail
context):

br...@apache.org wrote on Fri, Aug 17, 2012 at 16:58:22 -0000:
> Author: brane
> Date: Fri Aug 17 16:58:22 2012
> New Revision: 1374357
> 
> URL: http://svn.apache.org/viewvc?rev=1374357&view=rev
> Log:
> Followup to r1374198: Introduce a new build.conf predicate "when", which names
> the post-configure substituted variable that controls the building and linking
> of a module. Since the makefiles are generated before configure, "when" cannot
> control the dependencies, but it can control the build/link commands.
> 

Could you document 'when' somewhere in the tree itself, please?  In
build.conf comments, or build/generator/, I don't care, but not just in
the log message please. :-)

> @@ -396,7 +397,8 @@ class Generator(gen_base.GeneratorBase):
>  
>          # ### TODO: This is a hack.  See discussion here:
>          # ### http://mid.gmane.org/20120316191639.GA28451@daniel3.local

Is this comment still applicable?

> -        apache_files = [t.filename for t in inst_targets
> +        apache_files = [gen_base.FileInfo(t.filename, t.when)
> +                        for t in inst_targets
>                          if isinstance(t, gen_base.TargetApacheMod)]
>  
>          files = [f for f in files if f not in apache_files]
> +++ subversion/trunk/build/generator/templates/makefile.ezt Fri Aug 17 
> 16:58:22 2012
> @@ -112,7 +112,7 @@ $([target.varname]_OBJECTS): $([target.v
>  [else][target.varname]_DEPS = [target.add_deps][for target.objects] 
> [target.objects][end][for target.deps] [target.deps][end]
>  [target.varname]_OBJECTS =[for target.objnames] [target.objnames][end]
>  [target.filename]: $([target.varname]_DEPS)
> -     cd [target.path] && [target.link_cmd] $([target.varname]_LDFLAGS) -o 
> [target.basename] [target.undefined_flag] $([target.varname]_OBJECTS)[for 
> target.libs] [target.libs][end] $(LIBS)
> +     [if-any target.when]if $([target.when]) ; then [else][end]cd 
> [target.path] && [target.link_cmd] $([target.varname]_LDFLAGS) -o 
> [target.basename] [target.undefined_flag] $([target.varname]_OBJECTS)[for 
> target.libs] [target.libs][end] $(LIBS)[if-any target.when] ; else echo 
> "fake" > [target.filename] ; fi[else][end]

Suggest:

  if [if-any target.when]$([target.when])[else]true[endif] ; then ...

This avoids the need for another if-any at the end of the line.

Reply via email to