Bug#295472: [patch] xc/config/cf/gnuLib.{tmpl,rules} updates
reassign 295472 xorg-x11
retitle 295472 [patch] xc/config/cf/gnuLib.{tmpl,rules} updates
thanks
xc/config/cf/gnuLib.{tmpl,rules} need a serious update, the current
version does not work at all and the patch in #295472 did not get
applied AFAICT.
Attached is a new version of the patch, based on the Linux ones, for
X.org.
thanks,
Michael
--
Michael Banck
Debian Developer
mbanck@debian.org
http://www.advogato.org/person/mbanck/diary.html
--- xc/config/cf/gnuLib.tmpl.orig 2005-09-03 13:36:55.100752192 +0200
+++ xc/config/cf/gnuLib.tmpl 2005-09-03 13:37:03.559466272 +0200
@@ -1,8 +1,9 @@
-XCOMM
-XCOMM GNU Hurd shared library template
-XCOMM
-XCOMM $XFree86: xc/config/cf/gnuLib.tmpl,v 1.5 2003/05/29 21:56:57 herrb Exp $
-XCOMM
+XCOMM $Xorg: lnxLib.tmpl,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+XCOMM $XFree86: xc/config/cf/lnxLib.tmpl,v 3.19 2003/10/15 22:47:48 herrb Exp $
+
+/*
+ * GNU/Hurd shared library template
+ */
#ifndef FixupLibReferences
#define FixupLibReferences() @@\
@@ -14,17 +15,71 @@
#define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
#endif
-#define SharedX11Reqs
+#if ThreadedX
+# ifndef SharedThreadReqs
+# define SharedThreadReqs -lpthread
+# endif
+#else
+# ifndef SharedThreadReqs
+# define SharedThreadReqs
+# endif
+#endif
+
+#define SharedX11Reqs SharedThreadReqs
#define SharedXlibi18nReqs $(LDPRELIB) $(XONLYLIB)
#define SharedOldXReqs $(LDPRELIB) $(XONLYLIB)
-#define SharedXtReqs $(LDPRELIB) $(XONLYLIB) $(SMLIB) $(ICELIB)
+#define SharedXtReqs $(LDPRELIB) $(XONLYLIB) $(SMLIB) $(ICELIB) SharedThreadReqs
#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
#define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
#define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB)
#define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXmuuReqs $(LDPRELIB) $(XONLYLIB)
#define SharedXextReqs $(LDPRELIB) $(XONLYLIB)
#define SharedXiReqs $(LDPRELIB) $(XLIB)
-#define SharedPexReqs $(LDPRELIB) $(XONLYLIB) MathLibrary
+#define SharedXpReqs $(LDPRELIB) $(XLIB)
+#define SharedXpmReqs $(LDPRELIB) $(XLIB)
+#define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXrenderReqs $(LDPRELIB) $(XLIB)
#define SharedXtstReqs $(LDPRELIB) $(XLIB)
-#define SharedXieReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXvReqs $(LDPRELIB) $(XLIB)
#define SharedSMReqs $(LDPRELIB) $(ICELIB)
+#define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedFontencReqs $(LDPRELIB) GzipLibrary
+
+#if GlxUseBuiltInDRIDriver
+#define ExtraSharedGLReqs /**/
+#else
+#define ExtraSharedGLReqs -ldl
+#endif
+#define SharedGLReqs $(LDPRELIB) $(XLIB) ExtraSharedGLReqs
+#ifndef SharedGLUReqs
+#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
+#endif
+#define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIB)
+#define SharedpsresReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+
+#define SharedXResReqs $(LDPRELIB) $(XLIB)
+#define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
+#define SharedXineramaReqs $(LDPRELIB) $(XLIB)
+#define SharedXssReqs $(LDPRELIB) $(XLIB)
+#define SharedXvMCReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86miscReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86vmReqs $(LDPRELIB) $(XLIB)
+#define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB)
+
+#ifndef SharedXReqs
+# define SharedXReqs $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs
+#endif
+
+#ifndef SharedXmReqs
+# define SharedXmReqs $(LDPRELIBS) SharedXReqs -lc
+#endif
+
+#ifndef SharedTtReqs
+# define SharedTtReqs $(LDPRELIBS) SharedXReqs $(CXXLIB) SharedThreadReqs
+#endif
+
+#define NoMessageCatalog
--- xc/config/cf/gnuLib.rules.orig 2005-09-03 13:36:58.351258040 +0200
+++ xc/config/cf/gnuLib.rules 2005-09-03 13:37:03.559466272 +0200
@@ -17,7 +17,6 @@
#define ForceNormalLib NO
#endif
-XCOMM XXX To rpath or not to rpath...
#ifndef UseRpath
#define UseRpath NO
#endif
@@ -26,10 +25,13 @@
#define SharedOldX NO
#endif
-#undef SpecialMalloc
+#ifndef SpecialMalloc
#define SpecialMalloc NO
+#endif
+# ifndef BaseShLibReqs
#define BaseShLibReqs -lc
+# endif
#ifndef SharedDataSeparation
#define SharedDataSeparation NO
@@ -45,7 +47,7 @@
#endif
#ifndef RpathLoadFlags
#if UseRpath
-#define RpathLoadFlags -Wl,-rpath=$(USRLIBDIRPATH)
+#define RpathLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
#else
#define RpathLoadFlags /**/
#endif
@@ -54,7 +56,7 @@
#define LibraryRpathLoadFlags RpathLoadFlags
#endif
#ifndef SharedLibraryLoadFlags
-#define SharedLibraryLoadFlags -shared LibraryRpathLoadFlags
+# define SharedLibraryLoadFlags -shared
#endif
#ifndef PositionIndependentCFlags
#define PositionIndependentCFlags -fPIC
@@ -63,12 +65,13 @@
#define PositionIndependentCplusplusFlags -fPIC
#endif
#ifndef ExtraLoadFlags
-#ifdef UseInstalled
-XCOMM XXX Maybe superfluous.
-#define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link=$(USRLIBDIRPATH)
-#else
-#define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link=$(BUILDLIBDIR)
+# define ExtraLoadFlags RpathLoadFlags
+# endif
+# ifndef HardCodeLibdirFlag
+# define HardCodeLibdirFlag RpathLoadFlags
#endif
+# if !defined(ShlibGlobalsFlags)
+# define ShlibGlobalsFlags -Wl,-Bsymbolic
#endif
/*
@@ -87,6 +90,26 @@
$(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so)); fi
#endif /* InstallSharedLibrary */
+# ifndef InstallSharedLibtoolLibrary
+
+# define SetRevisions(rev) V=`expr rev : '\([^:]*\)'`; \ @@\
+ R=`expr rev : '.*:\([^:]*\):'`; \ @@\
+ A=`expr rev : '.*:\([^:]*\)'`; \ @@\
+ MAJ=`expr $$V - $$A`; \ @@\
+ MIN=$$A.$$R
+
+# define InstallSharedLibtoolLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ @set +e; SetRevisions(rev); \ @@\
+ set -xe; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.$$MAJ.$$MIN) $(DESTDIR)dest; \ @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so.$$MAJ); \ @@\
+ $(LN) Concat(lib,libname.so.$$MAJ.$$MIN) Concat($(DESTDIR)dest/lib,libname.so.$$MAJ); \ @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
+ $(LN) Concat(lib,libname.so.$$MAJ.$$MIN) Concat($(DESTDIR)dest/lib,libname.so)
+# endif /* InstallSharedLibrary */
+
/*
* InstallSharedLibraryData - generate rules to install the shared library data
*/
@@ -106,9 +129,9 @@
@@\
Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
$(RM) $@~ @@\
- @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
- (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
- $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; (set -x; \ @@\
+ cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs) || exit 1; \ @@\
+ (set -x; $(RM) $$SONAME; $(LN) $@ $$SONAME); \ @@\
LinkBuildSonameLibrary($$SONAME) @@\
$(RM) $@ @@\
$(MV) $@~ $@ @@\
@@ -125,6 +148,38 @@
#endif /* SharedLibraryTarget */
+
+# ifndef SharedLibtoolLibraryTarget
+# define SharedLibtoolLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so)) @@\
+ @@\
+Concat(lib,libname.so): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @set +e; SetRevisions(rev); set -e; \ @@\
+ SONAME=$@.$$MAJ; \ @@\
+ (set -x; \ @@\
+ $(RM) $@.$$MAJ.$$MIN~; \ @@\
+ cd down; $(CC) -o up/$@.$$MAJ.$$MIN~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs) || exit 1; \ @@\
+ (set -x; \ @@\
+ $(RM) $$SONAME; $(LN) $@.$$MAJ.$$MIN $$SONAME); \ @@\
+ LinkBuildSonameLibrary($$SONAME); \ @@\
+ (set -x; \ @@\
+ $(RM) $@.$$MAJ.$$MIN; \ @@\
+ $(MV) $@.$$MAJ.$$MIN~ $@.$$MAJ.$$MIN; \ @@\
+ $(RM) $@; \ @@\
+ $(LN) $@.$$MAJ.$$MIN $@); \ @@\
+ LinkBuildLibraryInline($@.$$MAJ.$$MIN); \ @@\
+ LinkBuildLibraryInline($@) @@\
+ @@\
+clean:: @@\
+ @set +e; SetRevisions(rev); \ @@\
+ set -xe; \ @@\
+ $(RM) Concat(lib,libname.so.$$MAJ); \ @@\
+ $(RM) Concat(lib,libname.so.$$MAJ.$$MIN) @@\
+ $(RM) Concat(lib,libname.so)
+
+# endif /* SharedLibtoolLibraryTarget */
+
/*
* SharedDepLibraryTarget - generate rules to create a shared library.
*/
@@ -153,6 +208,34 @@
#endif /* SharedDepLibraryTarget */
+/*
+ * SharedDepCplusplusLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepCplusplusLibraryTarget
+#define SharedDepCplusplusLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
+ (cd down; $(CXX) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedDepCplusplusLibraryTarget */
+
#ifndef SharedDepModuleTarget
#define SharedDepModuleTarget(name,deps,solist) @@\
AllTarget(name) @@\
@@ -168,6 +251,23 @@
#endif /* SharedDepModuleTarget */
+# ifndef SharedDriModuleTarget
+# define SharedDriModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ $@.map @@\
+ @(echo 'DRI_MODULE { global: __dri*; local: *; };' > $@.map) @@\
+ $(CC) -o $@~ -Wl,--version-script=$@.map $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\
+ $(RM) $@ $@.map @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name @@\
+ $(RM) name.map
+
+# endif /* SharedDriModuleTarget */
+
/*
* SharedLibraryDataTarget - generate rules to create shlib data file;
*/
Reply to: