Xprint cancer has infected libXaw

Mike A. Harris mharris at www.linux.org.uk
Thu Aug 12 11:12:44 PDT 2004


In previous releases, Xprint could be disabled easily without any 
problems, however in current CVS, libXaw has a hard dependancy on libXp.
This causes the build to fail when "BuildXprintLib NO" is set, since Xaw 
unconditionally links to libXp.

As such, if you want to disable libXp, you have to disable libXaw, and a 
bunch of the Xaw using apps that come with the monolithic build, which 
isn't really acceptable, especially considering many 3rd party things 
use libXaw.

Before hard coded dependancies like this make it into the tree, I think 
there should be some level of public discussion about them.  If there 
was and I missed it, my apologies.  I didn't notice this problem until 
just a few hours ago when I initiated a build with
"BuildXprint NO, BuildXprintLib NO" set, so I'd not have know about this 
earlier, or I would have brought it up far earlier in the devel cycle.

BuildXprint itself is broken also, however I filed a bug and attached a 
patch to fix that.

The Xprint apps aren't wrapped in any define that I can see, however 
I'll whip up a BuildXprintClients Imake flag patch and submit it in 
bugzilla soon.

For the Xaw issue, there are a few solutions:

1) We could remove Xprint support from Xaw outright

2) We could conditionalize Xprint support in Xaw with BuildXprintLib
    wrapped around it, or some new BuildXawXprintSupport macro triggered
    from BuildXprintLib.

3) We could statically link Xaw to libXp.a if BuildXprintLib is set to
    NO, and then not ship the libXp headers, .a, or .so's

4) We could add stubs for the Xprint support in Xaw that return failure
    when called.

5) It could be changed to a new libXawXprint library which doesn't get
    built if Xprint isn't being built, so it isn't part of Xaw itself.


Personally I favour leaving Xaw as it was in 6.7.0, with no new 
features.  It is an ancient library that should just slowly die over 
time.  Adding new features (that nobody seems to want), and forcing 
people to ship it doesn't seem to be very popular in my discussions with 
a few people today.

Second to that, I'd go for the #5 solution of moving it to a new 
library, so the functionality is there for the few people out there who 
want Xprint support in Xaw apps.   It doesn't force people building Xaw 
to have to build and ship libXp also then.





More information about the release-wranglers mailing list