~ chicken-core (chicken-5) 40a4bb37b893c07398c263b823ae135566042c46
commit 40a4bb37b893c07398c263b823ae135566042c46
Author: Jim Ursetto <jim@3e8.org>
AuthorDate: Tue Jul 16 16:25:16 2013 -0500
Commit: Mario Domenech Goulart <mario.goulart@gmail.com>
CommitDate: Thu Jul 18 19:54:03 2013 -0300
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.
Signed-off-by: Mario Domenech Goulart <mario.goulart@gmail.com>
diff --git a/rules.make b/rules.make
index c0bbda1b..30c53fdd 100644
--- a/rules.make
+++ b/rules.make
@@ -306,10 +306,12 @@ ifdef DLLSINPATH
$(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) "$(DESTDIR)$(IBINDIR)"
$(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(IBINDIR)"
else
- $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(ILIBDIR)$(SEP)$(LIBCHICKEN_SO_FILE).$(BINARYVERSION)"
-endif
ifdef USES_SONAME
+ $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(ILIBDIR)$(SEP)$(LIBCHICKEN_SO_FILE).$(BINARYVERSION)"
cd "$(DESTDIR)$(ILIBDIR)" && ln -sf $(LIBCHICKEN_SO_FILE).$(BINARYVERSION) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO)
+else
+ $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(ILIBDIR)$(SEP)$(LIBCHICKEN_SO_FILE)"
+endif
endif
endif
Trap