[comp.windows.x] X11R4 include change question

dce@sony.com (David Elliott) (11/13/89)

In X11R4, the Athena Widgets include files move into a subdirectory of
/usr/include/X11 (.../Xaw, to be exact).  I have no problem with this
step being taken, but it does affect compilation.  After all, it will
be a while before the majority of sites are running R4 (some people are
just now getting R3), but it should not affect development.

Is there a macro that can be used to distinguish between systems using
the old include setup from those using the new?  I suppose pre-R4 users
can create a symbolic link in /usr/include/X11 to itself called Xaw,
but some may be uncomfortable with that.

-- 
David Elliott
dce@sony.com | ...!{uunet,mips}!sonyusa!dce
(408)944-4073
"You can lead a robot to water, but you can not make him compute."

swick@ATHENA.MIT.EDU (Ralph R. Swick) (11/14/89)

> I suppose pre-R4 users
> can create a symbolic link in /usr/include/X11 to itself called Xaw,

For applications written to the R3 include directory structure,
R4/Xaw will have a configuration option to install the Xaw headers
in such a way that those applications will build.

For applications written to R4, there's no guarantee that they will
work with R3 (bugs fixed, etc.) -- even if the names are back-translated,
so it's not clear that simply aliasing the header files is an
appropriate thing to do.  Intrinsic.h has a (new) symbol which
you could use to tell if Xt is updated or not, so you might take
this as a hint to know where to look for Xaw headers, but I'd
advise any application wanting to build under R3 to explicitly
test its own configuration symbol (e.g. '#ifdef R3') in every
place that matters.

If the application really believes that the old header files will
work as-is, then in its own build directory it can create a link
from Xaw to /usr/include/X11 and add -I. to the compile command.