diff --git a/configure.ac b/configure.ac index f8114ff1..3740c298 100644 --- a/configure.ac +++ b/configure.ac @@ -5,6 +5,7 @@ AC_PREREQ([2.64]) AC_INIT([IPhreeqc], [2.17.0], [charlton@usgs.gov]) AC_CONFIG_AUX_DIR([config]) AC_CONFIG_MACRO_DIR([m4]) + AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects]) AC_CONFIG_SRCDIR([src/IPhreeqc.cpp]) @@ -14,6 +15,20 @@ AC_DEFINE(PHREEQC_CLASS) AC_DEFINE(USE_PHRQ_ALLOC) AC_DEFINE(NDEBUG) +# libtool versioning +# 1. Start with version information of ‘0:0:0’ for each libtool library. +# 2. Update the version information only immediately before a public release of your software. More frequent updates are unnecessary, +# and only guarantee that the current interface number gets larger faster. +# 3. If the library source code has changed at all since the last update, then increment revision (‘c:r:a’ becomes ‘c:r+1:a’). +# 4. If any interfaces have been added, removed, or changed since the last update, increment current, and set revision to 0. +# 5. If any interfaces have been added since the last public release, then increment age. +# 6. If any interfaces have been removed since the last public release, then set age to 0. +IPQ_CURRENT=0 +IPQ_REVISION=0 +IPQ_AGE=0 +IPQ_VERSION=$IPQ_CURRENT:$IPQ_REVISION:$IPQ_AGE +AC_SUBST(IPQ_VERSION) + # Checks for programs. AC_PROG_CC AC_PROG_CXX @@ -27,15 +42,15 @@ AC_ARG_ENABLE([fortran], [IPQ_FORTRAN=yes]) if test "X$IPQ_FORTRAN" = "Xyes"; then - AC_MSG_RESULT(yes) - AC_PROG_FC - AC_FC_LIBRARY_LDFLAGS - AC_FC_WRAPPERS - AC_FC_MAIN - AC_SUBST(F77, $FC) - AC_SUBST(FFLAGS, $FCFLAGS) + AC_MSG_RESULT(yes) + AC_PROG_FC + AC_FC_LIBRARY_LDFLAGS + AC_FC_WRAPPERS + AC_FC_MAIN + AC_SUBST(F77, $FC) + AC_SUBST(FFLAGS, $FCFLAGS) else - AC_MSG_RESULT(no) + AC_MSG_RESULT(no) fi AM_CONDITIONAL([BUILD_FORTRAN], [test "X$IPQ_FORTRAN" = "Xyes"]) @@ -49,6 +64,7 @@ AC_PROG_LIBTOOL # Checks for library functions. + AC_CONFIG_FILES([ Makefile src/Makefile diff --git a/src/Makefile.am b/src/Makefile.am index bb35e3d3..e8bc933f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,9 +1,9 @@ AM_CPPFLAGS=-I$(top_srcdir)/include -I$(top_srcdir)/src/phreeqcpp -I$(top_srcdir)/src/phreeqcpp/phreeqc - +# libtool libraries to build lib_LTLIBRARIES=libiphreeqc.la -# library sources +# library sources for libiphreeqc.la libiphreeqc_la_SOURCES=\ CVar.hxx\ Debug.h\ @@ -137,6 +137,10 @@ libiphreeqc_la_SOURCES=\ phreeqcpp/phreeqc/tidy.c\ phreeqcpp/phreeqc/transport.c\ phreeqcpp/phreeqc/utilities.c + +# library sources for libiphreeqc.la +libiphreeqc_la_LDFLAGS=-version-info $(IPQ_VERSION) + include_HEADERS=\ $(top_srcdir)/include/IPhreeqc.h\