Skip to content
Snippets Groups Projects
Commit d43551c9 authored by Fred Wright's avatar Fred Wright Committed by Christopher Nielsen
Browse files

fdopendir: Rework to handle variants directly in source.

This reworks the fdopendir code to directly build all the needed
variants, instead of the horrible splitandfilterandmergemultiarch
kludge in the Makefile.  Not only does it reduce code duplication, but
it also drastically improves readability.  It does not change the
underlying logic in the "guts", but merely changes the interfacing to
the different variants.

This was the only use of splitandfilterandmergemultiarch, which will
be excised in a subsequent commit.

A subtle problem that this introduced is that the empty object filter
for the static library was previously failing to filter fdopendir.o
due to the way it was constructed, but fixing that resulted in a truly
empty static library on 10.15+ platforms.  This is actually illegal,
so there's now a hack to put one dummy object into the archive in this
case.  The dummy object defines a single global symbol, thereby
avoiding the "has no symbols" warning from 'ar' and other tools.

TESTED:
Builds and passes all tests (including the new one in a subsequent
commit), on all platforms.
parent 2aad6bae
Branches
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment