~ 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 endifTrap