diff --git a/CMakeLists.txt b/CMakeLists.txt index 544ae0df..09755dde 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,8 @@ project(lttoolbox LANGUAGES CXX C ) set(VERSION ${PROJECT_VERSION}) -set(API_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}") +set(VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) +set(VERSION_API "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}") set(SOVERSION 1.0.0) set(PACKAGE_BUGREPORT "apertium-stuff@lists.sourceforge.net") @@ -82,9 +83,9 @@ else() # Generate pkg-config file set(prefix ${CMAKE_INSTALL_PREFIX}) - set(exec_prefix ${CMAKE_INSTALL_PREFIX}) - set(libdir ${CMAKE_INSTALL_LIBDIR}) - set(includedir ${CMAKE_INSTALL_INCLUDEDIR}) + set(exec_prefix "\${prefix}") + set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") + set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") configure_file(lttoolbox.pc.in lttoolbox.pc @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lttoolbox.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig/") endif() diff --git a/Makefile.am b/Makefile.am index 93b9ce2e..e07e6204 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ ACLOCAL_AMFLAGS=-I m4 -SUBDIRS = $(GENERIC_LIBRARY_NAME) -DIST_SUBDIRS = $(GENERIC_LIBRARY_NAME) +SUBDIRS = $(PACKAGE_NAME) +DIST_SUBDIRS = $(PACKAGE_NAME) if HAVE_PYTHON_BINDINGS SUBDIRS += python diff --git a/configure.ac b/configure.ac index eb7f5ed8..471772bf 100644 --- a/configure.ac +++ b/configure.ac @@ -1,35 +1,23 @@ AC_PREREQ(2.52) -AC_INIT([lttoolbox/lttoolbox.h], [3.5.2], [apertium-stuff@lists.sourceforge.net]) -AC_CANONICAL_SYSTEM +m4_define([PKG_VERSION_MAJOR], [3]) +m4_define([PKG_VERSION_MINOR], [5]) +m4_define([PKG_VERSION_PATCH], [2]) -GENERIC_LIBRARY_NAME=lttoolbox +AC_INIT([lttoolbox], [PKG_VERSION_MAJOR.PKG_VERSION_MINOR.PKG_VERSION_PATCH], [apertium-stuff@lists.sourceforge.net], [lttoolbox], [https://wiki.apertium.org/wiki/Lttoolbox]) -# Release versioning -GENERIC_MAJOR_VERSION=3 -GENERIC_MINOR_VERSION=5 -GENERIC_MICRO_VERSION=2 +VERSION=$PACKAGE_VERSION +VERSION_MAJOR=PKG_VERSION_MAJOR +VERSION_API=PKG_VERSION_MAJOR.PKG_VERSION_MINOR +SOVERSION=1:0:0 -# API version (often = GENERIC_MAJOR_VERSION.GENERIC_MINOR_VERSION) -GENERIC_API_VERSION=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION -AC_SUBST(GENERIC_API_VERSION) -AC_SUBST(GENERIC_MAJOR_VERSION) +AC_SUBST(PACKAGE_NAME) +AC_SUBST(PACKAGE_VERSION) +AC_SUBST(VERSION_MAJOR) +AC_SUBST(VERSION_API) +AC_SUBST(SOVERSION) -# Shared library versioning -GENERIC_LIBRARY_VERSION=1:0:0 - -AC_SUBST(GENERIC_LIBRARY_VERSION) -PACKAGE=$GENERIC_LIBRARY_NAME -AC_SUBST(GENERIC_LIBRARY_NAME) - -GENERIC_VERSION=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION.$GENERIC_MICRO_VERSION -GENERIC_RELEASE=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION -AC_SUBST(GENERIC_RELEASE) -AC_SUBST(GENERIC_VERSION) - -VERSION=$GENERIC_VERSION - -AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) +AM_INIT_AUTOMAKE AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_HOST diff --git a/lttoolbox.pc.in b/lttoolbox.pc.in index b22edbe0..9ecf8f51 100644 --- a/lttoolbox.pc.in +++ b/lttoolbox.pc.in @@ -6,5 +6,5 @@ includedir=@includedir@ Name: lttoolbox Description: Augmented letter transducer tools for natural language processing Version: @VERSION@ -Libs: -L${libdir} -l@GENERIC_LIBRARY_NAME@@GENERIC_MAJOR_VERSION@ @LTTOOLBOX_LIBS@ -Cflags: -I${includedir}/@GENERIC_LIBRARY_NAME@-@GENERIC_API_VERSION@ -I${libdir}/@GENERIC_LIBRARY_NAME@-@GENERIC_API_VERSION@/include @LTTOOLBOX_CFLAGS@ +Libs: -L${libdir} -llttoolbox@VERSION_MAJOR@ +Cflags: -I${includedir}/lttoolbox-@VERSION_API@ diff --git a/lttoolbox/CMakeLists.txt b/lttoolbox/CMakeLists.txt index a5d6e0e0..8a8aa0e2 100644 --- a/lttoolbox/CMakeLists.txt +++ b/lttoolbox/CMakeLists.txt @@ -71,10 +71,10 @@ else() set(GETOPT) endif() -set(LibLttoolbox "lttoolbox${PROJECT_VERSION_MAJOR}-${API_VERSION}") +set(LibLttoolbox "lttoolbox${PROJECT_VERSION_MAJOR}-${VERSION_API}") add_library(${LibLttoolbox} ${LIBLTTOOLBOX_SOURCES}) target_compile_definitions(${LibLttoolbox} PRIVATE LTTOOLBOX_EXPORTS) -set_target_properties(${LibLttoolbox} PROPERTIES SOVERSION ${SOVERSION}) +set_target_properties(${LibLttoolbox} PROPERTIES SOVERSION ${SOVERSION} VERSION ${VERSION}) target_link_libraries(${LibLttoolbox} ${LIBXML2_LIBRARIES}) add_executable(lt-print lt_print.cc) @@ -106,7 +106,7 @@ endif() install(TARGETS ${LibLttoolbox} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES ${LIBLTTOOLBOX_HEADERS} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lttoolbox-${API_VERSION}/lttoolbox) + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lttoolbox-${VERSION_API}/lttoolbox) install(TARGETS lt-print lt-trim lt-comp lt-proc lt-expand lt-tmxcomp lt-tmxproc RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/lttoolbox/Makefile.am b/lttoolbox/Makefile.am index 6500f1de..fb44eebf 100644 --- a/lttoolbox/Makefile.am +++ b/lttoolbox/Makefile.am @@ -11,7 +11,7 @@ cc_sources = alphabet.cc att_compiler.cc compiler.cc compression.cc entry_token. regexp_compiler.cc sorted_vector.cc state.cc transducer.cc \ trans_exe.cc xml_parse_util.cc tmx_compiler.cc -library_includedir = $(includedir)/$(GENERIC_LIBRARY_NAME)-$(GENERIC_API_VERSION)/$(GENERIC_LIBRARY_NAME) +library_includedir = $(includedir)/$(PACKAGE_NAME)-$(VERSION_API)/$(PACKAGE_NAME) library_include_HEADERS = $(h_sources) bin_PROGRAMS = lt-comp lt-proc lt-expand lt-tmxcomp lt-tmxproc lt-print lt-trim @@ -19,7 +19,7 @@ instdir = lttoolbox lib_LTLIBRARIES= liblttoolbox3.la liblttoolbox3_la_SOURCES= $(h_sources) $(cc_sources) -liblttoolbox3_la_LDFLAGS= -version-info $(GENERIC_LIBRARY_VERSION) -release $(GENERIC_RELEASE) +liblttoolbox3_la_LDFLAGS= -version-info $(SOVERSION) -release $(VERSION_API) lttoolboxdir = $(prefix)/share/lttoolbox lttoolboxinclude = $(prefix)/include @@ -28,32 +28,32 @@ lttoolboxlib = $(prefix)/lib lttoolbox_DATA = dix.dtd dix.rng dix.rnc acx.rng xsd/dix.xsd xsd/acx.xsd lt_print_SOURCES = lt_print.cc -lt_print_LDADD = liblttoolbox$(GENERIC_MAJOR_VERSION).la -lt_print_LDFLAGS = -llttoolbox$(GENERIC_MAJOR_VERSION) $(LTTOOLBOX_LIBS) +lt_print_LDADD = liblttoolbox$(VERSION_MAJOR).la +lt_print_LDFLAGS = -llttoolbox$(VERSION_MAJOR) $(LTTOOLBOX_LIBS) lt_trim_SOURCES = lt_trim.cc -lt_trim_LDADD = liblttoolbox$(GENERIC_MAJOR_VERSION).la -lt_trim_LDFLAGS = -llttoolbox$(GENERIC_MAJOR_VERSION) $(LTTOOLBOX_LIBS) +lt_trim_LDADD = liblttoolbox$(VERSION_MAJOR).la +lt_trim_LDFLAGS = -llttoolbox$(VERSION_MAJOR) $(LTTOOLBOX_LIBS) lt_comp_SOURCES = lt_comp.cc -lt_comp_LDADD = liblttoolbox$(GENERIC_MAJOR_VERSION).la -lt_comp_LDFLAGS = -llttoolbox$(GENERIC_MAJOR_VERSION) $(LTTOOLBOX_LIBS) +lt_comp_LDADD = liblttoolbox$(VERSION_MAJOR).la +lt_comp_LDFLAGS = -llttoolbox$(VERSION_MAJOR) $(LTTOOLBOX_LIBS) lt_proc_SOURCES = lt_proc.cc -lt_proc_LDADD = liblttoolbox$(GENERIC_MAJOR_VERSION).la -lt_proc_LDFLAGS = -llttoolbox$(GENERIC_MAJOR_VERSION) $(LTTOOLBOX_LIBS) +lt_proc_LDADD = liblttoolbox$(VERSION_MAJOR).la +lt_proc_LDFLAGS = -llttoolbox$(VERSION_MAJOR) $(LTTOOLBOX_LIBS) lt_expand_SOURCES = lt_expand.cc -lt_expand_LDADD = liblttoolbox$(GENERIC_MAJOR_VERSION).la -lt_expand_LDFLAGS = -llttoolbox$(GENERIC_MAJOR_VERSION) $(LTTOOLBOX_LIBS) +lt_expand_LDADD = liblttoolbox$(VERSION_MAJOR).la +lt_expand_LDFLAGS = -llttoolbox$(VERSION_MAJOR) $(LTTOOLBOX_LIBS) lt_tmxcomp_SOURCES = lt_tmxcomp.cc -lt_tmxcomp_LDADD = liblttoolbox$(GENERIC_MAJOR_VERSION).la -lt_tmxcomp_LDFLAGS = -llttoolbox$(GENERIC_MAJOR_VERSION) $(LTTOOLBOX_LIBS) +lt_tmxcomp_LDADD = liblttoolbox$(VERSION_MAJOR).la +lt_tmxcomp_LDFLAGS = -llttoolbox$(VERSION_MAJOR) $(LTTOOLBOX_LIBS) lt_tmxproc_SOURCES = lt_tmxproc.cc -lt_tmxproc_LDADD = liblttoolbox$(GENERIC_MAJOR_VERSION).la -lt_tmxproc_LDFLAGS = -llttoolbox$(GENERIC_MAJOR_VERSION) $(LTTOOLBOX_LIBS) +lt_tmxproc_LDADD = liblttoolbox$(VERSION_MAJOR).la +lt_tmxproc_LDFLAGS = -llttoolbox$(VERSION_MAJOR) $(LTTOOLBOX_LIBS) #lt-validate-dictionary: Makefile.am validate-header.sh # @echo "Creating lt-validate-dictionary script" diff --git a/python/lttoolbox.i.in b/python/lttoolbox.i.in index 7fbdaf26..d7362e1b 100644 --- a/python/lttoolbox.i.in +++ b/python/lttoolbox.i.in @@ -34,7 +34,6 @@ %inline%{ #define SWIG_FILE_WITH_INIT #include -#include #include #include