libXaw3d: optional features

Rafał Mużyło galtgendo at gmail.com
Sat Aug 27 10:35:37 PDT 2011


First a minor nitpick about "Use AM_YFLAGS and BUILT_SOURCES rather than
EXTRA_DIST" patch:
while BUILT_SOURCES is probably the correct solution there, AM_YFLAGS
are redundant, it's already handled elsewhere.

Now, for the question about optional features.
Frankly, that part isn't really working atm, I've told so much to Matt,
as I sent him those patches.

That is the lib should be correctly built, but something like the sed
hack that was in the original Imakefile is required, as those four
defines need to record their values somewhere, so that packages that
link against them get the correct values. Originally, it was done in
Xaw3dP.h.

IMHO, making API (and especially ABI) change depending on those values was a mistake in design, but I don't see any reasonable way to fix it.

The biggest problem is obviously XAW_INTERNATIONALIZATION - the other
three are in one header each and all of those are *.P.h headers.
I'm not sure if it makes any difference though, as it seems at the time
libXaw and libXaw3d were written there was no real separation between
private and public headers.

On that note, libXaw3d exports all of those LayYY* symbols - I'm not
sure if it really makes sense. On the other hand, it seems libXaw does
the same. Ah, the joys of legacy code.



More information about the xorg-devel mailing list