In 21.2 there has been a fair amount of effort to make sure that your
run-of-the-mill lib-src binary is not linked with any X stuff, and
that gnuserv is linked with those X libs, and only those X libs,
required for its `xauth' feature.
It seems to me that 21.2 is working exactly as designed. A quick look
at 21.1 suggests that it is doing the same thing. I vaguely remember
having implemented this stuff years ago.
Please let me know exactly what is broken for you.
>>>> "KMH" == Karl M Hegbloom
<karlheg(a)bittersweet.inetarena.com> writes:
KMH> Is there any system for which the following change to
KMH> "lib-src/Makefile.in.in" will not work?
KMH> Index: Makefile.in.in
KMH> ===================================================================
KMH> RCS file: /usr/CVSroot/XEmacs/xemacs/lib-src/Makefile.in.in,v
KMH> retrieving revision 1.36.2.15
KMH> diff -u -r1.36.2.15 Makefile.in.in
KMH> --- Makefile.in.in 2000/07/08 09:14:03 1.36.2.15
KMH> +++ Makefile.in.in 2000/10/07 05:26:20
KMH> @@ -150,7 +150,7 @@
KMH> c_switch_all=@c_switch_all@
KMH> ld_switch_general=@ld_switch_general@
KMH> ld_switch_all=@ld_switch_all@
KMH> -ld_libs_general=@ld_libs_general@
KMH> +# ld_libs_general=@ld_libs_general@
KMH> ## We need to #define emacs to get the right versions of some files.
KMH> It seems to work fine on my Linux machine... and eliminates a bunch
KMH> of extraneous link dependancies from the `lib-src' binaries. That is
KMH> very helpful when creating packages (eg: *.deb or *.rpm) since the
KMH> `lib-src' utils can be shipped as a separate package from the editor
KMH> binary, and can depend on a least subset of shared libraries. (There
KMH> is more than one editor binary package, to support mule, nomule,
KMH> mule+canna, etc.)
KMH> Also, do `gnuserv' and `gnuclient' need _all_ of those X libraries,
KMH> or really only some of them? (I've never tried to learn X
KMH> programming... I'd look for myself but it would take all day at this
KMH> point.)
Xauth requires Xau, which requires Xt, which requires X11, which
requires ICE and SM... (maybe). Check out the dependencies using ldd
(I haven't).
KMH> A question about `ld' now... Is there a reason why, other than
"it's
KMH> just not implemented" that `ld' cannot or does not remove depends on
KMH> libs that are not actually used by any particular binary?
Computer programmers are idiots. (Actually, that's not true.
Computer programmers are selfish. Why should they invest X units of
effort to save future programmers 10X of effort, especially when they
have a manager breathing down their necks? This is one of the main
reasons free software has a chance - we *care*.)