Skip site navigation (1)Skip section navigation (2)
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>