[illumos-Developer] Review 693

Igor Kozhukhov ikozhukhov at gmail.com
Wed Jul 13 08:37:09 PDT 2011


Hi Richard,

Thanks for your comments - will fix.
I was interested in integration comments.

Bets regards,
Igor


> From: Richard Lowe <richlowe at richlowe.net>
> Date: Wed, 13 Jul 2011 11:18:37 -0400
> To: Igor Kozhukhov <ikozhukhov at gmail.com>
> Cc: Alexander Eremin <alexander.eremin at nexenta.com>,
> "developer at lists.illumos.org" <developer at lists.illumos.org>
> Subject: Re: [illumos-Developer] Review 693
> 
>> At this moment it is first integration and we can change what we need later
>> - maybe update to new versions, maybe restructure if needed.
>> 
> 
> No, we need to get it right the first time.  90% of the really
> terrible parts of our source tree are from the integration of formally
> separate projects to be "fixed up later", it almost always goes
> horribly wrong (look at usr/src/man and the lp sources, if you want
> examples)
> 
> - I'm generally concerned by the need to add -I$(ROOT)/usr/include and
> variations to Makefiles.  Were all these components previously broken,
> and not using the proto includes?  In general, if something does
> "CPPFLAGS =" the bug is that they're not appending to CPPFLAGS, rather
> than anything specific about the contents.
> 
>   Using just $(ROOT)/... means that these components will ignore
> ENVCPPFLAGS even after you're done.
> 
>   In a couple of cases you seem to be adding $(ROOT)/usr/include even
> though CPPFLAGS _is_ being appended to.  What am I missing?
> 
> - Remove the SCCS keywords throughout (the #pragma ident, #ident, etc, lines)
> 
> usr/src/lib/Makefile:
> 
>   I'd far prefer that rather than using .WAIT after libm, that you
> call out the dependencies explicitly (I'm assuming there are few
> enough of them that this is worthwhile, if there aren't, do let me
> know).  The use of .WAIT in there is almost entirely historical and
> buggy (libc is a special case, obviously).
> 
> usr/src/lib/libm/amd64/Makefile:
> 
>  The presence of any mention of sparc in here is deeply suspicious.
> Should a bunch of this be deleted?  In a Makefile.com (it certainly
> looks like a bunch of it should be in a Makefile.com)
> 
>   34:
>     Don't use SUNW_ISA (and an :sh) rule, just use $(MACH64) or
> $(MACH) as appropriate.
> 
>   40,42:  Remove commented code
> 
>   70,75: All of this should be removed, and Makefile.master allowed to
> do the same thing.
> 
>   138: Almost certainly shouldn't be there.
> 
>   145: I can't immediately tell what the libm folks were doing there,
> but I'd vastly prefer that they didn't.
> 
>   154,155: Remove commented code
> 
>   169: Should be available from the make structure described in lib/README*
> 
>   441: Remove commented objects
> 
>   925: Remove commented rule
> 
>   943,1033: More libm crazyness.  Do we actually make use of these rules?
> 
> usr/src/lib/libm/amd64/mapfiles/*-sparc, v9a, v9b, etc.
> 
>   Why are there sparc mapfiles in this amd64 directory?
> 
> usr/src/lib/libm/i386/Integration.log:  Delete
> 
> usr/src/lib/libm/i386/Makefile:
> 
>   A bunch of (most) of this is duplicated with amd64/Makefile.  Put
> the common pieces in usr/src/lib/libm/Makefile.com and include them.
> (otherwise, all my comments from the amd64 Makefile apply here too).
> 
> usr/src/lib/libm/i386/llib-lm:  This looks the same as the amd64 copy,
> if it is, it should be common, not duplicated.
> 
> usr/src/lib/libm/i386/mapfiles/*:  Same comments as for amd64, but if
> these are all duplicated, make them common, don't have two copies.
> 
> I can't tell if the weird libm source organization is too well baked
> in to change to be conventional (common sources in common/ platform
> specifics in the i386/ and sparc/ top-level directories, etc.), if it
> turns out after fixing the Makefile comments above that this is easy,
> it'd be great if you did it.
> 
> I haven' looked at any of the libm sources, just the build
> infrastructure.  I'll read through your diffs as compared to the libm
> tarball in a while (or, hopefully, someone else will beat me to it)
> 
> Thanks for doing this,
> 
> -- Rich





More information about the Developer mailing list