Subject: Re: Circular symlink created when only SHLIB_MAJOR is defined
To: matthew green <mrg@eterna.com.au>
From: Jeremie Le Hen <jeremie@le-hen.org>
List: tech-misc
Date: 01/29/2007 23:10:54
On Tue, Jan 30, 2007 at 06:52:58AM +1100, matthew green wrote:
>
> On Sun, Jan 28, 2007 at 06:59:04AM +0100, Jeremie Le Hen wrote:
> > Hi list,
> >
> > (Please Cc: in your reply, I'm not subscribed.)
> >
> > I've already sent this e-mail to tech-toolchain@ but got no answer.
> > I dare to resend it here to reach a larger audience.
>
> The audience dares to point out that a shared library with only a major
> number is not supported.
>
> "Unix gives you enough rope..."
>
>
> hmmm, our bsd.lib.mk has a fragment that seems to imply that it is supposed
> to be supported:
>
> .if defined(SHLIB_MAJOR) && !empty(SHLIB_MAJOR)
> .if defined(SHLIB_MINOR) && !empty(SHLIB_MINOR)
> .if defined(SHLIB_TEENY) && !empty(SHLIB_TEENY)
> SHLIB_FULLVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR}.${SHLIB_TEENY}
> .else
> SHLIB_FULLVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR}
> .endif
> .else
> --> SHLIB_FULLVERSION=${SHLIB_MAJOR}
> .endif
> .endif
>
> either this should be removed or the rest of the makefile fixed.
This is indeed what tickled me when I first read bsd.lib.mk, thus
my initial question. Thanks to Jachym I can provide a patch
for this. I've tested the fix and it works, I hope this is the
correct one:
Index: bsd.lib.mk
===================================================================
RCS file: /pub/NetBSD-CVS/src/share/mk/bsd.lib.mk,v
retrieving revision 1.270
diff -u -r1.270 bsd.lib.mk
--- bsd.lib.mk 23 Nov 2006 12:05:26 -0000 1.270
+++ bsd.lib.mk 29 Jan 2007 22:05:13 -0000
@@ -87,6 +87,9 @@
.endif
.else
SHLIB_FULLVERSION=${SHLIB_MAJOR}
+.BEGIN:
+ @echo "Sorry, shared library with only a major number is not supported."
+ @exit 1
.endif
.endif # }
Thank you.
Regards,
--
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >