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 [EMAIL PROTECTED] 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) [EMAIL PROTECTED] @@\ - @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\ - (cd down; $(CC) -o up/[EMAIL PROTECTED] $(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/[EMAIL PROTECTED] $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs) || exit 1; \ @@\ + (set -x; $(RM) $$SONAME; $(LN) $@ $$SONAME); \ @@\ LinkBuildSonameLibrary($$SONAME) @@\ $(RM) $@ @@\ $(MV) [EMAIL PROTECTED] $@ @@\ @@ -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) [EMAIL PROTECTED] @@\ + @set +e; SetRevisions(rev); set -e; \ @@\ + [EMAIL PROTECTED]; \ @@\ + (set -x; \ @@\ + $(RM) [EMAIL PROTECTED]; \ @@\ + cd down; $(CC) -o up/[EMAIL PROTECTED] $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs) || exit 1; \ @@\ + (set -x; \ @@\ + $(RM) $$SONAME; $(LN) [EMAIL PROTECTED] $$SONAME); \ @@\ + LinkBuildSonameLibrary($$SONAME); \ @@\ + (set -x; \ @@\ + $(RM) [EMAIL PROTECTED]; \ @@\ + $(MV) [EMAIL PROTECTED] [EMAIL PROTECTED]; \ @@\ + $(RM) $@; \ @@\ + $(LN) [EMAIL PROTECTED] $@); \ @@\ + LinkBuildLibraryInline([EMAIL PROTECTED]); \ @@\ + 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) [EMAIL PROTECTED] @@\ + @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\ + (cd down; $(CXX) -o up/[EMAIL PROTECTED] $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\ + $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\ + LinkBuildSonameLibrary($$SONAME) @@\ + $(RM) $@ @@\ + $(MV) [EMAIL PROTECTED] $@ @@\ + @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) [EMAIL PROTECTED] [EMAIL PROTECTED] @@\ + @(echo 'DRI_MODULE { global: __dri*; local: *; };' > [EMAIL PROTECTED]) @@\ + $(CC) -o [EMAIL PROTECTED] -Wl,[EMAIL PROTECTED] $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\ + $(RM) $@ [EMAIL PROTECTED] @@\ + $(MV) [EMAIL PROTECTED] $@ @@\ + @@\ +clean:: @@\ + $(RM) name @@\ + $(RM) name.map + +# endif /* SharedDriModuleTarget */ + /* * SharedLibraryDataTarget - generate rules to create shlib data file; */