Subject: Fixes to library build rules on XF4
To: None <tech-x11@netbsd.org>
From: Johnny C. Lam <lamj@stat.cmu.edu>
List: tech-x11
Date: 05/13/2001 23:22:23
I'd like to commit the following patch to xsrc/xfree to fix problems
in the library build rules on BSD systems when X11ProjectRoot is
defined.

For the patch to bsdLib.rules, if X11ProjectRoot is defined,
USRLIBDIRPATH is set to $(USRLIBDIR):$(XPROJECTROOT)/lib, which is
correct if we are linking against X11 libraries.

For the patch to bsdLib.tmpl, if X11ProjectRoot is defined, LDPRELIBS
is set to "-L$(USRLIBDIR) -L$(XPROJECTROOT)/lib", while LDPRELIB is
always only set to -L$(USRLIBDIR), which is wrong if we need to link
against X11 libraries.

These changes only affect people who define X11ProjectRoot in their
host.def file, which is what xpkgwedge does.  For all stock XFree86
users, this makes no visible change.

Are there any objections to my committing this?

	Thanks,

     -- Johnny C. Lam <lamj@stat.cmu.edu>
        Department of Statistics, Carnegie Mellon University
        http://www.stat.cmu.edu/~lamj/

--- bsdLib.rules.orig	Mon Mar 19 00:00:09 2001
+++ bsdLib.rules
@@ -185,7 +185,7 @@
 #define ShLibIncludeFile <bsdLib.tmpl>
 #endif
 #ifndef SharedLibraryLoadFlags
-#define SharedLibraryLoadFlags -shared -Wl,-rpath,$(USRLIBDIR)
+#define SharedLibraryLoadFlags -shared -Wl,-rpath,$(USRLIBDIRPATH)
 #endif
 #ifndef PositionIndependentCFlags
 #define PositionIndependentCFlags -fPIC
--- bsdLib.tmpl.orig	Mon Mar 19 00:00:09 2001
+++ bsdLib.tmpl
@@ -46,18 +46,18 @@
 #if !defined(SharedX11Reqs)
 #define SharedX11Reqs
 #endif
-#define SharedOldXReqs	$(LDPRELIB) $(XLIBONLY)
-#define SharedXtReqs	$(LDPRELIB) $(XLIBONLY) $(SMLIB) $(ICELIB)
-#define SharedXawReqs	$(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
-#define SharedXaw6Reqs	$(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
-#define SharedXmuReqs	$(LDPRELIB) $(XTOOLLIB) $(XLIB)
-#define SharedXextReqs	$(LDPRELIB) $(XLIBONLY)
-#define SharedXiReqs	$(LDPRELIB) $(XLIB)
-#define SharedPexReqs	$(LDPRELIB) $(XLIBONLY) MathLibrary
-#define SharedXtstReqs	$(LDPRELIB) $(XLIB)
-#define SharedXieReqs	$(LDPRELIB) $(XLIBONLY)
-#define SharedSMReqs	$(LDPRELIB) $(ICELIB)
-#define SharedFrescoReqs	$(LDPRELIB) $(XLIBONLY) FrescoSysLibs
-#define SharedXtfReqs	$(LDPRELIB) $(FRESCOLIB) $(XTOOLLIB) $(XLIB) FrescoSysLibs
+#define SharedOldXReqs	$(LDPRELIBS) $(XLIBONLY)
+#define SharedXtReqs	$(LDPRELIBS) $(XLIBONLY) $(SMLIB) $(ICELIB)
+#define SharedXawReqs	$(LDPRELIBS) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXaw6Reqs	$(LDPRELIBS) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedXmuReqs	$(LDPRELIBS) $(XTOOLLIB) $(XLIB)
+#define SharedXextReqs	$(LDPRELIBS) $(XLIBONLY)
+#define SharedXiReqs	$(LDPRELIBS) $(XLIB)
+#define SharedPexReqs	$(LDPRELIBS) $(XLIBONLY) MathLibrary
+#define SharedXtstReqs	$(LDPRELIBS) $(XLIB)
+#define SharedXieReqs	$(LDPRELIBS) $(XLIBONLY)
+#define SharedSMReqs	$(LDPRELIBS) $(ICELIB)
+#define SharedFrescoReqs	$(LDPRELIBS) $(XLIBONLY) FrescoSysLibs
+#define SharedXtfReqs	$(LDPRELIBS) $(FRESCOLIB) $(XTOOLLIB) $(XLIB) FrescoSysLibs
 
 #endif /* UseElfFormat */