~ 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