Date: Sun, 30 Jun 2002 00:46:44 +0200 From: Jeremy Lea <reg@FreeBSD.ORG> To: Sheldon Hearn <sheldonh@starjuice.net> Cc: Szilveszter Adam <sziszi@bsd.hu>, current@FreeBSD.ORG, taguchi@tohoku.iij.ad.jp Subject: Re: What's the right way to build XFree86-4 now? Message-ID: <20020630004644.A92462@shale.csir.co.za> In-Reply-To: <40690.1025103465@axl.seasidesoftware.co.za>; from sheldonh@starjuice.net on Wed, Jun 26, 2002 at 04:57:45PM %2B0200 References: <20020626112557.GA958@starjuice.net> <40690.1025103465@axl.seasidesoftware.co.za>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, On Wed, Jun 26, 2002 at 04:57:45PM +0200, Sheldon Hearn wrote: > Note that this isn't quite right, because the linking gets done with > cc as a front-end, not c++. But the job gets done, all the same, > and I'm not writing a SharedDepCplusplusLibraryTarget rule myself. > :-) How about: --- config/cf/bsdLib.rules.orig Sun Jun 30 00:30:05 2002 +++ config/cf/bsdLib.rules Sun Jun 30 00:31:06 2002 @@ -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) @@\ Just copied from the SharedDepLibraryTarget above it, and replaced the CC with CXX... I built libGLU.so.1 with this, and it seemed to fix the glxinfo linking problem. I'm currently testing... Regards, -Jeremy -- FreeBSD - Because the best things in life are free... http://www.freebsd.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020630004644.A92462>