From 3dd758b36eb790578481f1ae8522911b41288aac Mon Sep 17 00:00:00 2001
From: Jim Ursetto <jim@3e8.org>
Date: Tue, 16 Jul 2013 16:25:16 -0500
Subject: [PATCH] Only generate a versioned .so if USES_SONAME
Fixes a problem on OS X and Solaris, which do not currently
use SONAME, where a versioned dynamic library was generated
but there was no way for the linker to find it.
Bug was introduced in commit 53128c23; prior to that, both
worked but Solaris was generating an unused versioned .so.
Note that OS X does support SONAME (via -install_name) but
names should look like libchicken.7.dylib, whereas we only
currently support names like libchicken.dylib.7. Also, some
code in csc assumes libchicken.dylib is unversioned.
---
rules.make | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/rules.make b/rules.make
index c0bbda1..30c53fd 100644
a
|
b
|
ifdef DLLSINPATH |
306 | 306 | $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) "$(DESTDIR)$(IBINDIR)" |
307 | 307 | $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(IBINDIR)" |
308 | 308 | else |
309 | | $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(ILIBDIR)$(SEP)$(LIBCHICKEN_SO_FILE).$(BINARYVERSION)" |
310 | | endif |
311 | 309 | ifdef USES_SONAME |
| 310 | $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(ILIBDIR)$(SEP)$(LIBCHICKEN_SO_FILE).$(BINARYVERSION)" |
312 | 311 | cd "$(DESTDIR)$(ILIBDIR)" && ln -sf $(LIBCHICKEN_SO_FILE).$(BINARYVERSION) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) |
| 312 | else |
| 313 | $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(ILIBDIR)$(SEP)$(LIBCHICKEN_SO_FILE)" |
| 314 | endif |
313 | 315 | endif |
314 | 316 | endif |
315 | 317 | |