[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: