Package: xlibmesa-glu
Version: 4.3.0.dfsg.1-8
Severity: important
Tags: patch

Hi,

the current xlibmesa-glu hurd-i386 package on ftp.debian.org (and the
unofficial kfreebsd-gnu ones) do not link against libstdc++. This
results in failures when linking C programs against libGLU, see #269294
for an example.

The reason is that xc/config/cf/gnuLib.* has not been updated to 
reflect recent (or not so recent) build environment changes for linux.

The attached patch fixes this by resyncing lnxLib.* and gnuLib.*. It
additionally fixes build issues when building X with pthreads (though
this is not the default case yet on hurd-i386). 


cheers,

Michael
diff -Naur xc.orig/config/cf/gnuLib.rules xc/config/cf/gnuLib.rules
--- xc/config/cf/gnuLib.rules~  2002-01-16 01:39:59.000000000 +0100
+++ xc/config/cf/gnuLib.rules   2005-02-16 01:10:34.000000000 +0100
@@ -158,6 +158,45 @@
 
 #endif /* SharedDepLibraryTarget */
 
+/*
+ * SharedDepCplusplusLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepCplusplusLibraryTarget
+#ifdef UseInstalled
+#ifndef LinkBuildSonameLibrary
+#define LinkBuildSonameLibrary(lib) true
+#endif
+#else
+#ifndef LinkBuildSonameLibrary
+#define LinkBuildSonameLibrary(lib) (RemoveFile($(BUILDLIBDIR)/lib); \
+       cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/lib .)
+#endif
+#endif
+
+#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/\.[^\.]*$$//'`; 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=`expr rev : '\([^.]*\)'`; \                             @@\
+       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)                                                                
@@\
@@ -173,6 +212,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;
  */
diff -Naur xc.orig/config/cf/gnuLib.tmpl xc/config/cf/gnuLib.tmpl
--- xc/config/cf/gnuLib.tmpl~   2000-11-14 19:20:31.000000000 +0100
+++ xc/config/cf/gnuLib.tmpl    2005-02-16 01:10:34.000000000 +0100
@@ -16,15 +16,55 @@
 
 #define CplusplusLibC
 
-#define SharedX11Reqs
-#define SharedOldXReqs $(LDPRELIB) $(XLIBONLY)
-#define SharedXtReqs   $(LDPRELIB) $(XLIBONLY) $(SMLIB) $(ICELIB)
-#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
-#define SharedXawReqs  $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(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)
+#if ThreadedX
+# ifndef SharedThreadReqs
+#   define SharedThreadReqs -lpthread
+# endif
+#else
+# ifndef SharedThreadReqs
+#   define SharedThreadReqs
+# endif
+#endif
+
+#define SharedX11Reqs    SharedThreadReqs
+#define SharedOldXReqs   $(LDPRELIB) $(XLIBONLY)
+#define SharedXtReqs     $(LDPRELIB) $(XLIBONLY) $(SMLIB) $(ICELIB) 
SharedThreadReqs
+#define SharedXaw6Reqs   $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedXawReqs    $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXmuReqs    $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXextReqs   $(LDPRELIB) $(XLIBONLY)
+#define SharedXiReqs     $(LDPRELIB) $(XLIB)
+#define SharedXrenderReqs $(LDPRELIB) $(EXTENSIONLIB) $(XLIB)
+#define SharedPexReqs    $(LDPRELIB) $(XLIBONLY) MathLibrary
+#define SharedXtstReqs   $(LDPRELIB) $(XLIB)
+#define SharedXieReqs    $(LDPRELIB) $(XLIBONLY)
+#define SharedSMReqs     $(LDPRELIB) $(ICELIB)
+#define SharedGLUReqs    $(LDPRELIB) $(GLXLIB)
+#define SharedXmuuReqs   $(LDPRELIB) $(XONLYLIB)
+#define SharedXpReqs     $(LDPRELIB) $(XLIB)
+#define SharedXpmReqs    $(LDPRELIB) $(XONLYLIB)
+#define SharedXrandrReqs  $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedDPSReqs    $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedDPSTKReqs          $(LDPRELIB) $(DPSLIB) $(XLIB) MathLibrary
+#define SharedXvReqs             $(LDPRELIB) $(XLIB)
+
+#if GlxUseBuiltInDRIDriver
+#define ExtraSharedGLReqs /**/
+#else
+#define ExtraSharedGLReqs -ldl
+#endif
+#define SharedGLReqs     $(LDPRELIB) $(XLIB) ExtraSharedGLReqs
+
+#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

Reply via email to