[vte] build: libtoolectomy



commit d604a3d9a7ba29717ab479af927fecc71bf4c47b
Author: Christian Persch <chpe gnome org>
Date:   Sat Feb 13 19:59:50 2016 +0100

    build: libtoolectomy
    
    https://bugzilla.gnome.org/show_bug.cgi?id=761444

 configure.ac              |   23 ++++++++++-------------
 doc/reference/Makefile.am |    2 +-
 src/Makefile.am           |   45 ++++++++++++++++++++++++++++++---------------
 3 files changed, 41 insertions(+), 29 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index c1f772c..24cfca3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,15 +23,16 @@ fi
 AM_MAINTAINER_MODE([enable])
 
 ################################################################################
-# Libtool versioning
+# Library versioning
 ################################################################################
-m4_define([lt_revision], m4_if(m4_eval(version_minor%2),1,0,version_micro))
-m4_define([lt_age], m4_eval(version_minor*100+version_micro-lt_revision))
-m4_define([lt_current], m4_eval(version_major+lt_age))
-m4_define([lt_triplet],lt_current:lt_revision:lt_age)
 
-LT_VERSION_INFO="lt_triplet()"
-AC_SUBST([LT_VERSION_INFO])
+m4_define([so_revision], m4_if(m4_eval(version_minor%2),1,0,version_micro))
+m4_define([so_version_major],version_major)
+m4_define([so_version_minor],m4_eval(version_minor*100+version_micro-so_revision))
+
+AC_SUBST([VTE_SO_MAJOR],so_version_major)
+AC_SUBST([VTE_SO_MINOR],so_version_minor)
+AC_SUBST([VTE_SO_REVISION],so_revision)
 
 ################################################################################
 # GTK+
@@ -60,17 +61,13 @@ AC_USE_SYSTEM_EXTENSIONS
 AC_HEADER_STDC
 AM_PROG_CC_C_O
 AC_PROG_SED
+AC_PROG_LN_S
+AC_PROG_RANLIB
 
 AX_CXX_COMPILE_STDCXX([11])
 
 AC_SYS_LARGEFILE
 
-# Initialize libtool
-LT_PREREQ([2.2])
-LT_INIT
-LT_LANG([C])
-LT_LANG([C++])
-
 AM_CONDITIONAL([HAVE_GCC],[test "$GCC" = "yes"])
 AM_CONDITIONAL([HAVE_GXX],[test "$GXX" = "yes"])
 
diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am
index 4f759e9..6a3e781 100644
--- a/doc/reference/Makefile.am
+++ b/doc/reference/Makefile.am
@@ -133,7 +133,7 @@ GTKDOC_CFLAGS = \
        $(VTE_CFLAGS)
 
 GTKDOC_LIBS = \
-       $(top_builddir)/src/libvte- VTE_API_VERSION@.la \
+       $(top_builddir)/src/libvte-$(VTE_API_VERSION).so.$(VTE_SO_MAJOR).$(VTE_SO_MINOR).$(VTE_SO_REVISION) \
        $(VTE_LIBS)
 
 # This includes the standard gtk-doc make rules, copied by gtkdocize.
diff --git a/src/Makefile.am b/src/Makefile.am
index 8dcf170..986d889 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -25,9 +25,10 @@ nodist_header_HEADERS = \
        vte/vteversion.h \
        $(NULL)
 
-lib_LTLIBRARIES = libvte- VTE_API_MAJOR_VERSION@  VTE_API_MINOR_VERSION@.la
+shlibdir = $(libdir)
+shlib_PROGRAMS = libvte- VTE_API_MAJOR_VERSION@  VTE_API_MINOR_VERSION@ so  VTE_SO_MAJOR@  VTE_SO_MINOR@  
VTE_SO_REVISION@
 
-EXTRA_libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_la_SOURCES = \
+EXTRA_libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_so_ VTE_SO_MAJOR@_ VTE_SO_MINOR@_ 
VTE_SO_REVISION@_SOURCES = \
        box_drawing_generate.sh \
        marshal.list \
        vteseq-n.gperf \
@@ -36,7 +37,7 @@ EXTRA_libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_la_SOURCES = \
        vtetypebuiltins.h.template \
        $(NULL)
 
-libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_la_SOURCES = \
+libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_so_ VTE_SO_MAJOR@_ VTE_SO_MINOR@_ 
VTE_SO_REVISION@_SOURCES = \
        vte/vte.h \
        vte/vtedeprecated.h \
        vte/vteenums.h \
@@ -94,7 +95,7 @@ libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_la_SOURCES = \
        vteutils.h \
        $(NULL)
 
-nodist_libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_la_SOURCES = \
+nodist_libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_so_ VTE_SO_MAJOR@_ VTE_SO_MINOR@_ 
VTE_SO_REVISION@_SOURCES = \
        box_drawing.h \
        marshal.cc \
        marshal.h \
@@ -104,7 +105,7 @@ nodist_libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_la_SOURCES = \
        vte/vteversion.h \
        $(NULL)
 
-libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_la_CPPFLAGS = \
+libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_so_ VTE_SO_MAJOR@_ VTE_SO_MINOR@_ 
VTE_SO_REVISION@_CPPFLAGS = \
        -DG_LOG_DOMAIN=\"Vte\" \
        -DVTE_API_VERSION=\"$(VTE_API_VERSION)\" \
        -DDATADIR='"$(datadir)"' \
@@ -116,16 +117,17 @@ libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_la_CPPFLAGS = \
        -I$(builddir)/vte \
        $(AM_CPPFLAGS)
 
-libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_la_CXXFLAGS = \
+libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_so_ VTE_SO_MAJOR@_ VTE_SO_MINOR@_ 
VTE_SO_REVISION@_CXXFLAGS = \
        $(VTE_CFLAGS) \
-       $(AM_CXXFLAGS)
+       $(AM_CXXFLAGS) \
+       -fPIC -DPIC
 
-libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_la_LDFLAGS = \
+libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_so_ VTE_SO_MAJOR@_ VTE_SO_MINOR@_ 
VTE_SO_REVISION@_LDFLAGS = \
        $(VTE_CXXLDFLAGS) \
-       -version-info $(LT_VERSION_INFO) \
+       -shared -Wl,-soname=libvte-$(VTE_API_VERSION).so.$(VTE_SO_MAJOR) \
        $(AM_LDFLAGS)
 
-libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_la_LIBADD = \
+libvte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_so_ VTE_SO_MAJOR@_ VTE_SO_MINOR@_ 
VTE_SO_REVISION@_LDADD = \
        $(VTE_LIBS)
 
 # Generated sources
@@ -170,6 +172,19 @@ vteseq-list.h: vteseq-n.gperf
 vteresources.cc: vte.gresource.xml Makefile $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies 
vte.gresource.xml)
        $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target $@ --sourcedir . --generate-source --c-name _vte $<
 
+# Library symlinks
+
+libvte-$(VTE_API_VERSION).so.$(VTE_SO_MAJOR) libvte-$(VTE_API_VERSION).so: 
libvte-$(VTE_API_VERSION).so.$(VTE_SO_MAJOR).$(VTE_SO_MINOR).$(VTE_SO_REVISION)
+       $(AM_V_GEN)$(LN_S) -f libvte-$(VTE_API_VERSION).so.$(VTE_SO_MAJOR).$(VTE_SO_MINOR).$(VTE_SO_REVISION) 
$@
+
+install-data-hook:
+       $(LN_S) -f libvte-$(VTE_API_VERSION).so.$(VTE_SO_MAJOR).$(VTE_SO_MINOR).$(VTE_SO_REVISION) 
$(DESTDIR)$(shlibdir)/libvte-$(VTE_API_VERSION).so.$(VTE_SO_MAJOR)
+       $(LN_S) -f libvte-$(VTE_API_VERSION).so.$(VTE_SO_MAJOR).$(VTE_SO_MINOR).$(VTE_SO_REVISION) 
$(DESTDIR)$(shlibdir)/libvte-$(VTE_API_VERSION).so
+
+uninstall-hook:
+       rm -f $(DESTDIR)$(shlibdir)/libvte-$(VTE_API_VERSION).so.$(VTE_SO_MAJOR)
+       rm -f $(DESTDIR)$(shlibdir)/libvte-$(VTE_API_VERSION).so
+
 # introspection
 
 INTROSPECTION_GIRS =
@@ -179,10 +194,10 @@ INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
 if HAVE_INTROSPECTION
 include $(INTROSPECTION_MAKEFILE)
 
-Vte- VTE_API_VERSION@.gir: libvte-$(VTE_API_VERSION).la
+Vte- VTE_API_VERSION@.gir: libvte-$(VTE_API_VERSION).so.$(VTE_SO_MAJOR).$(VTE_SO_MINOR).$(VTE_SO_REVISION)
 Vte_ VTE_API_VERSION_U@_gir_INCLUDES = Pango-1.0 Gdk-$(GTK_API_VERSION) Gtk-$(GTK_API_VERSION)
 Vte_ VTE_API_VERSION_U@_gir_CFLAGS = $(VTE_CFLAGS) -DVTE_COMPILATION -I$(builddir)/vte -I$(srcdir)/vte
-Vte_ VTE_API_VERSION_U@_gir_LIBS = libvte-$(VTE_API_VERSION).la
+Vte_ VTE_API_VERSION_U@_gir_LIBS = vte-$(VTE_API_VERSION)
 Vte_ VTE_API_VERSION_U@_gir_EXPORT_PACKAGES = vte-$(VTE_API_VERSION)
 Vte_ VTE_API_VERSION_U@_gir_SCANNERFLAGS = --c-include "vte/vte.h"
 Vte_ VTE_API_VERSION_U@_gir_FILES = \
@@ -249,7 +264,7 @@ testvte_CFLAGS = \
        $(AM_CFLAGS)
 
 testvte_LDADD = \
-       libvte-$(VTE_API_VERSION).la \
+       libvte-$(VTE_API_VERSION).so.$(VTE_SO_MAJOR).$(VTE_SO_MINOR).$(VTE_SO_REVISION) \
        $(VTE_LIBS)
 
 # VALA Test application
@@ -296,7 +311,7 @@ vte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_LDFLAGS = \
        $(NULL)
 
 vte_ VTE_API_MAJOR_VERSION@_ VTE_API_MINOR_VERSION@_LDADD = \
-       libvte-$(VTE_API_VERSION).la \
+       libvte-$(VTE_API_VERSION).so.$(VTE_SO_MAJOR).$(VTE_SO_MINOR).$(VTE_SO_REVISION) \
        $(VTE_LIBS) \
        $(NULL)
 
@@ -367,7 +382,7 @@ reflect_text_view_LDADD = $(VTE_LIBS)
 reflect_vte_CPPFLAGS = -DUSE_VTE  -I$(srcdir) -I $(builddir) $(AM_CPPFLAGS)
 reflect_vte_CFLAGS = $(VTE_CFLAGS) $(AM_CFLAGS)
 reflect_vte_SOURCES = reflect.c
-reflect_vte_LDADD = libvte-$(VTE_API_VERSION).la $(VTE_LIBS)
+reflect_vte_LDADD = libvte-$(VTE_API_VERSION).so.$(VTE_SO_MAJOR).$(VTE_SO_MINOR).$(VTE_SO_REVISION)
 
 interpret_SOURCES = \
        buffer.h \


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