Ticket #1022: 0001-Only-generate-a-versioned-.so-if-USES_SONAME.patch

File 0001-Only-generate-a-versioned-.so-if-USES_SONAME.patch, 1.7 KB (added by Jim Ursetto, 11 years ago)

only generate a versioned .so when USES_SONAME is set

  • rules.make

    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 
    306306        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) "$(DESTDIR)$(IBINDIR)"
    307307        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(IBINDIR)"
    308308else
    309         $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(ILIBDIR)$(SEP)$(LIBCHICKEN_SO_FILE).$(BINARYVERSION)"
    310 endif
    311309ifdef USES_SONAME
     310        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(ILIBDIR)$(SEP)$(LIBCHICKEN_SO_FILE).$(BINARYVERSION)"
    312311        cd "$(DESTDIR)$(ILIBDIR)" && ln -sf $(LIBCHICKEN_SO_FILE).$(BINARYVERSION) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO)
     312else
     313        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(ILIBDIR)$(SEP)$(LIBCHICKEN_SO_FILE)"
     314endif
    313315endif
    314316endif
    315317