[716] in Release_7.7_team

home help back first fref pref prev next nref lref last post

xmkmf and the /mit/x11 glue

daemon@ATHENA.MIT.EDU (Greg Hudson)
Sat Sep 14 04:03:02 1996

Date: Sat, 14 Sep 1996 04:02:57 -0400
From: Greg Hudson <ghudson@MIT.EDU>
To: release-team@MIT.EDU

On all Athena platforms prior to the SGI, we supported a convention
whereby the user could attach one of several different lockers (x11,
x11r4, x11r5, openwin) which all mounted themselves on /mit/x11.
/usr/athena/include/X11 and various libraries in /usr/athena/lib were
symlinks into /mit/x11, and /usr/athena/bin/xmkmf would generate a
Makefile which looked in /usr/athena/include and /usr/athena/lib for X
headers and libraries.

In the 7.7 release, this convention didn't really work on the Suns
because running "xmkmf" and then "make" would immediately try to run
cc, which would spew a message about how cc didn't exists on the suns
and fail.  Users could try to get things working by doing an "add -f
sunsoft."  It worked fine under Ultrix and AIX.

In the 8.0 release, the convention works on Suns (the imake templates
used by xmkmf use /usr/gcc/bin/gcc -DSOLARIS as the compiler), but
fails miserably under Irix, where we don't make symlinks to /mit/x11
at all.  Under Irix, users who try to use "xmkmf" generally fail at
link time and have to ask the consultants or -i help, at which point
they are told to run /usr/bin/X11/xmkmf instead.

Complicating the matter, we've traditionally used the same X-style
imake templates for building selected parts of the Athena release
(which is the reason I didn't just blow away /usr/athena/bin/xmkmf for
Irix).  Fortunately, that doesn't need to be a consideration for the
8.1 release.  We will probably always need a set of our own imake
templates for building third-party software which uses X-style
Imakefiles (the vendor ones will always introduce too much hair), but
there's no reason they need to be installed in
/usr/athena/lib/X11/config.

Anyway, for the 8.1 release, we have a couple of options regarding the
X11 glue:

	* We can desupport the /mit/x11 glue for the Solaris release
	  altogether and eliminate /usr/athena/bin/xmkmf on both
	  platforms.  (/usr/athena/bin/imake will stick around on the
	  Suns until every last piece of Athena software uses the new
	  Athena build system, but that doesn't cause any
	  compatibility problems.)

	* We can continue to support the /mit/x11 glue, relegating it
	  to packs/glue/platform/sun.

I prefer the first option.  It's very clear to me that anyone who was
trying to use the /mit/x11 dispatch mechanism has either given up
several years ago or gone utterly insane trying to keep up with the
manifold ways in which we've broken it.  If we continue to support the
/mit/x11 glue on Suns, developers will continue to get confused
because they won't know to type "attach x11r5" before running xmkmf
and make.

Also, there's no particular value in supporting the /mit/x11 glue when
the vendor provides X11 libraries which work at least as well as the
ones we build.

Anyway, this is really a decision for the release team, not the
release engineer, so I'd like to know if there are any objections to
desupporting the /mit/x11 glue on the Suns.

home help back first fref pref prev next nref lref last post