Craig Mohrman wrote:
> There are a source files (*.h and *.c) under the architecture specific
> directories of the major components:
> 
> usr/src/lib/libast:
>         amd64/include/ast/ast_limits.h
>         i386/include/ast/ast_limits.h
>         sparc/include/ast/ast_limits.h
>         sparcv9/include/ast/ast_limits.h
> for example.

Yes, this is why these autogenerated sources are not in common/ - these
are headers and sources created by "iffe" during the normal AST build
and then copied over into the OS/Net tree into the ISA/platform-specific
subdirs. This was intentional done by design.

BTW: The "public" includes are handled by a mechanism which folds these
includes into a unified version, see
usr/src/lib/libast/Makefile.astinclude which is a Makefile fragment
which post-processes the includes and folds them into one version where
the content is #ifdef'ed per platform/+ISA.

> Some of these files contain values from the underlying OS headers and
> if those values change then these sources would not detect that because they
> are now hard coded and not autogenerated.

Correct - but see below...

> Don and I believe these files need to be autogenerated at build time
> and not hardcoded the way they are.
> Can you change this please?

Not really. We've looked at the problem in the past multiple times and
doing that would open a whole new "can of worms".
Some problems:
- We can only generate these files when the OS/Net build is complete and
we can't rely on the underlying build system since it may not be in sync
with the OS/Net tree.
- Updating the files for each build is dangerous since this may cause
bugs to appear and disappear "randomly" based on the build environment.
We would get lots of "heisenbugs" and increase the test matrix by at
least another dimension of unknown size.
- We would have to develop our own version of the "iffe" tool with
extended capabilities such as probing the proto area (which the original
does not have) - this would more or less result in a rewrite/adjustments
of the whole probe/test machinery (short: at least four months/person of
work would be required and each update from upstream will require lots
of manhours to adust our probes for each update)
- We would have to explain and convince gatekeepers that having a
autoconf-style feature-probing system is a good idea (AFAIK the current
response goes into the direction of "only over our dead remains"...)

AFAIK it is much better to follow the current design and just "update"
the autogenerated files for each update from upstream - that would
"catch" all changes in OS/Net propperly (and it would reduce the test
matrix since the matching autogenerated headers and sources only change
at these updates and not "randomly" for each build).

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)

Reply via email to