[vte] build: libtoolectomy
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vte] build: libtoolectomy
- Date: Sat, 13 Feb 2016 18:59:59 +0000 (UTC)
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]