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 >