Package: xfree86 Version: 4.2.1-1 Severity: normal This patch defines a SharedDepCplusplusLibraryTarget for FreeBSD and NetBSD. While the ELF section in bsdLib.rules is noted as having been copied from the Linux version, this clearly predated the addition of C++ code and support, and the target appears to have never been added to the BSD ruleset, making it impossible to compile cleanly using GCC 3.x (libGLU is linked without a dependancy on libstdc++, and any attempt to compile a normal C program which calls libGLU will fail).
Patch authored by Joel Baker <[EMAIL PROTECTED]>, based on the rules already present in lnxLib.rules. -- *************************************************************************** Joel Baker System Administrator - lightbearer.com [EMAIL PROTECTED] http://users.lightbearer.com/lucifer/
This patch defines a SharedDepCplusplusLibraryTarget for FreeBSD and NetBSD. While the ELF section in bsdLib.rules is noted as having been copied from the Linux version, this clearly predated the addition of C++ code and support, and the target appears to have never been added to the BSD ruleset, making it impossible to compile cleanly using GCC 3.x (libGLU is linked without a dependancy on libstdc++, and any attempt to compile a normal C program which calls libGLU will fail). Patch authored by Joel Baker <[EMAIL PROTECTED]>, based on the rules already present in lnxLib.rules. diff -ur xc-dist/config/cf/bsdLib.rules xc/config/cf/bsdLib.rules --- xc-dist/config/cf/bsdLib.rules 2002-01-17 23:29:05.000000000 +0000 +++ xc/config/cf/bsdLib.rules 2002-10-09 01:26:13.000000000 +0000 @@ -306,6 +306,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 @@\ + $(RM) $@~ @@\ + @SONAME=`echo $@ | sed 's/\.[^\.]*$$//'`; set -x; \ @@\ + (cd down; $(CXX) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist +$(REQUIREDLIBS) BaseShLibReqs); \ @@\ + $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\ + LinkBuildSonameLibrary($$SONAME) @@\ + $(RM) $@ @@\ + $(MV) $@~ $@ @@\ + $(RM) Concat(lib,libname.so) @@\ + $(LN) $@ Concat(lib,libname.so) @@\ + LinkBuildLibrary($@) @@\ + LinkBuildLibrary(Concat(lib,libname.so)) @@\ + @@\ +clean:: @@\ + @SONAME=`echo Concat(lib,libname.so.rev) | sed 's/\.[^\.]*$$//'`; \ @@\ + set -x; $(RM) $$SONAME @@\ + $(RM) Concat(lib,libname.so) @@\ + $(RM) Concat(lib,libname.so.rev) + +#endif /* SharedDepCplusplusLibraryTarget */ + #ifndef SharedDepModuleTarget #define SharedDepModuleTarget(name,deps,solist) @@\ AllTarget(name) @@\