octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SONAME clarification


From: Marco Atzeri
Subject: Re: SONAME clarification
Date: Wed, 28 Jan 2009 17:54:33 +0100 (CET)

--- "John W. Eaton"  ha scritto:

> On 28-Jan-2009, Marco Atzeri wrote:
> | *********************************
> | 
> | the installed lib files will be
> | 
> | usr/bin/cygcruft.dll
> | usr/bin/cygoctave.dll
> | usr/bin/cygoctinterp.dll
> | 
> | usr/lib/octave-3.0.4/libcruft.dll.a
> | usr/lib/octave-3.0.4/libcruft.dll.a.3.0.4
> | usr/lib/octave-3.0.4/liboctave.dll.a
> | usr/lib/octave-3.0.4/liboctave.dll.a.3.0.4
> | usr/lib/octave-3.0.4/liboctinterp.dll.a
> | usr/lib/octave-3.0.4/liboctinterp.dll.a.3.0.4
> 
> Yes, but in your current patch the install rules are
> still using
> $(SOPRE) as a prefix for static libraries.  That
> doesn't seem correct,
> or the name SOPRE is not the best choice.  Which is
> it?
> 

No idea, I chosen SOPRE as it was needed to 
change SONAME, but any other name is fine.

> I'm guessing that you are not building static
> libraries.  Is that
> correct?
> 

Yes, so I have never crossed the problem.
The attached patch avoid the change of STATIC_LIBS 

> jwe
> 

Thanks 
Marco


      
--- origsrc/octave-3.0.3/Makeconf.in    2008-09-24 09:13:46.000000000 +0200
+++ src/octave-3.0.3/Makeconf.in        2009-01-23 12:10:57.460227300 +0100
@@ -97,6 +97,7 @@
 
 LIBEXT = a
 LIBPRE = @LIBPRE@
+SOPRE = @SOPRE@
 
 # Fortran to C translator and associated flags.
 
--- origsrc/octave-3.0.3/configure.in   2008-09-24 09:13:46.000000000 +0200
+++ src/octave-3.0.3/configure.in       2009-01-23 13:47:33.121962700 +0100
@@ -950,6 +950,7 @@
 SHLBIN_VER='$(SHLBIN).$(version)'
 SHLLINKEXT=
 LIBPRE=lib
+SOPRE=lib
 SH_LD='$(CXX)'
 SH_LDFLAGS=-shared
 DL_LD='$(SH_LD)'
@@ -1002,7 +1003,7 @@
     SONAME_FLAGS='-install_name $(octlibdir)/$@'
     library_path_var=DYLD_LIBRARY_PATH 
   ;;
-  *-*-cygwin* | *-*-mingw*)
+  *-*-mingw*)
     DL_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import 
-Wl,--enable-runtime-pseudo-reloc"
     CXXPICFLAG=
     CPICFLAG=
@@ -1015,6 +1016,22 @@
     SONAME_FLAGS='-Wl,address@hidden'
     library_path_var=PATH
   ;;
+  *-*-cygwin*)
+    DL_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import 
-Wl,--enable-runtime-pseudo-reloc"
+    CXXPICFLAG=
+    CPICFLAG=
+    FPICFLAG=
+    LIBPRE=cyg
+    SOPRE=lib
+    SHLEXT=dll
+    SHLLIB=dll.a
+    SHLBIN=dll
+    SH_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import 
-Wl,--enable-auto-image-base"
+    SHLLINKEXT=
+    SONAME_FLAGS='-Wl,--out-implib=$(patsubst $(LIBPRE)%,$(SOPRE)%,$@).a'
+    library_path_var=PATH
+  ;;
+
   *-*-msdosmsvc)
     DL_LDFLAGS="-shared"
     CPICFLAG=
@@ -1024,6 +1041,7 @@
     SHLLIB=lib
     SHLBIN=dll
     LIBPRE=
+    SOPRE=
     SH_LDFLAGS="-shared"
       if test -n "`echo $CFLAGS | grep -e '-g'`" -o -n "`echo $CXXFLAGS | grep 
-e '-g'`"; then
       DL_LDFLAGS="$DL_LDFLAGS -g"
@@ -1126,6 +1144,7 @@
 AC_MSG_NOTICE([defining SHLBIN_VER to be $SHLBIN_VER])
 AC_MSG_NOTICE([defining SHLLINKEXT to be $SHLLINKEXT])
 AC_MSG_NOTICE([defining LIBPRE to be $LIBPRE])
+AC_MSG_NOTICE([defining SOPRE to be $SOPRE])
 AC_MSG_NOTICE([defining SH_LD to be $SH_LD])
 AC_MSG_NOTICE([defining SH_LDFLAGS to be $SH_LDFLAGS])
 AC_MSG_NOTICE([defining DL_LD to be $DL_LD])
@@ -1151,6 +1170,7 @@
 AC_SUBST(SHLBIN_VER)
 AC_SUBST(SHLLINKEXT)
 AC_SUBST(LIBPRE)
+AC_SUBST(SOPRE)
 AC_SUBST(SH_LD)
 AC_SUBST(SH_LDFLAGS)
 AC_SUBST(DL_LD)
--- origsrc/octave-3.0.3/libcruft/Makefile.in   2008-09-24 09:13:46.000000000 
+0200
+++ src/octave-3.0.3/libcruft/Makefile.in       2009-01-23 12:10:57.460227300 
+0100
@@ -152,12 +152,12 @@
          $(RANLIB) $(DESTDIR)$(octlibdir)/$(LIBPRE)cruft.$(LIBEXT) ; \
        fi
        if $(SHARED_LIBS); then \
-         rm -f $(DESTDIR)$(octlibdir)/$(LIBPRE)cruft.$(SHLLIB_VER); \
+         rm -f $(DESTDIR)$(octlibdir)/$(SOPRE)cruft.$(SHLLIB_VER); \
          $(INSTALL) \
-           $(LIBPRE)cruft.$(SHLLIB) 
$(DESTDIR)$(octlibdir)/$(LIBPRE)cruft.$(SHLLIB_VER); \
-         rm -f $(DESTDIR)$(octlibdir)/$(LIBPRE)cruft.$(SHLLIB); \
+           $(SOPRE)cruft.$(SHLLIB) 
$(DESTDIR)$(octlibdir)/$(SOPRE)cruft.$(SHLLIB_VER); \
+         rm -f $(DESTDIR)$(octlibdir)/$(SOPRE)cruft.$(SHLLIB); \
          (cd $(DESTDIR)$(octlibdir); \
-         $(LN_S) $(LIBPRE)cruft.$(SHLLIB_VER) 
$(DESTDIR)$(octlibdir)/$(LIBPRE)cruft.$(SHLLIB)); \
+         $(LN_S) $(SOPRE)cruft.$(SHLLIB_VER) 
$(DESTDIR)$(octlibdir)/$(SOPRE)cruft.$(SHLLIB)); \
          if  test x$(SHLBIN) != x ; then \
            rm -f $(DESTDIR)$(bindir)/$(LIBPRE)cruft.$(SHLBIN); \
            $(INSTALL_PROGRAM) \
--- origsrc/octave-3.0.3/liboctave/Makefile.in  2008-09-24 09:13:47.000000000 
+0200
+++ src/octave-3.0.3/liboctave/Makefile.in      2009-01-23 12:10:57.460227300 
+0100
@@ -289,10 +289,10 @@
          $(RANLIB) $(DESTDIR)$(octlibdir)/$(LIBPRE)octave.$(LIBEXT); \
        fi
        if $(SHARED_LIBS); then \
-         rm -f $(DESTDIR)$(octlibdir)/$(LIBPRE)octave.$(SHLLIB_VER); \
+         rm -f $(DESTDIR)$(octlibdir)/$(SOPRE)octave.$(SHLLIB_VER); \
          $(INSTALL) \
-           $(LIBPRE)octave.$(SHLLIB) 
$(DESTDIR)$(octlibdir)/$(LIBPRE)octave.$(SHLLIB_VER); \
-         rm -f $(DESTDIR)$(octlibdir)/$(LIBPRE)octave.$(SHLLIB); \
-         (cd $(DESTDIR)$(octlibdir) ; $(LN_S) $(LIBPRE)octave.$(SHLLIB_VER) 
$(DESTDIR)$(octlibdir)/$(LIBPRE)octave.$(SHLLIB)); \
+           $(SOPRE)octave.$(SHLLIB) 
$(DESTDIR)$(octlibdir)/$(SOPRE)octave.$(SHLLIB_VER); \
+         rm -f $(DESTDIR)$(octlibdir)/$(SOPRE)octave.$(SHLLIB); \
+         (cd $(DESTDIR)$(octlibdir) ; $(LN_S) $(SOPRE)octave.$(SHLLIB_VER) 
$(DESTDIR)$(octlibdir)/$(SOPRE)octave.$(SHLLIB)); \
          if  test x$(SHLBIN) != x ; then \
            rm -f $(DESTDIR)$(bindir)/$(LIBPRE)octave.$(SHLBIN); \
            $(INSTALL_PROGRAM) \
--- origsrc/octave-3.0.3/src/Makefile.in        2008-09-24 09:13:49.000000000 
+0200
+++ src/octave-3.0.3/src/Makefile.in    2009-01-23 12:10:57.476100300 +0100
@@ -446,10 +446,10 @@
        fi
        if $(SHARED_LIBS); then \
          rm -f $(DESTDIR)$(octlibdir)/$(LIBPRE)octinterp.$(SHLEXT_VER); \
-         $(INSTALL) $(LIBPRE)octinterp.$(SHLLIB) \
-           $(DESTDIR)$(octlibdir)/$(LIBPRE)octinterp.$(SHLLIB_VER); \
-         rm -f $(DESTDIR)$(octlibdir)/$(LIBPRE)octinterp.$(SHLLIB); \
-         (cd $(DESTDIR)$(octlibdir) ; $(LN_S) $(LIBPRE)octinterp.$(SHLLIB_VER) 
$(DESTDIR)$(octlibdir)/$(LIBPRE)octinterp.$(SHLLIB)); \
+         $(INSTALL) $(SOPRE)octinterp.$(SHLLIB) \
+           $(DESTDIR)$(octlibdir)/$(SOPRE)octinterp.$(SHLLIB_VER); \
+         rm -f $(DESTDIR)$(octlibdir)/$(SOPRE)octinterp.$(SHLLIB); \
+         (cd $(DESTDIR)$(octlibdir) ; $(LN_S) $(SOPRE)octinterp.$(SHLLIB_VER) 
$(DESTDIR)$(octlibdir)/$(SOPRE)octinterp.$(SHLLIB)); \
          if  test x$(SHLBIN) != x ; then \
            rm -f $(DESTDIR)$(bindir)/$(LIBPRE)octinterp.$(SHLBIN); \
            $(INSTALL_PROGRAM) \

reply via email to

[Prev in Thread] Current Thread [Next in Thread]