Skip to content

Commit 182e708

Browse files
committed
use pkg-config style versioning for ease of use
1 parent 4656089 commit 182e708

16 files changed

+76
-548
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ m4/ltsugar.m4
2626
m4/ltversion.m4
2727
m4/lt~obsolete.m4
2828
libtool
29+
libvalhalla_odin.pc
2930

3031
# built objects
3132
valhalla/proto

Makefile.am

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ ACLOCAL_AMFLAGS = -I m4
22
AM_LDFLAGS = @BOOST_LDFLAGS@ @COVERAGE_LDFLAGS@
33
AM_CPPFLAGS = -Ivalhalla -Ivalhalla/proto @BOOST_CPPFLAGS@
44
AM_CXXFLAGS = -Ivalhalla -Ivalhalla/proto @COVERAGE_CXXFLAGS@
5-
VALHALLA_LDFLAGS = @VALHALLA_MIDGARD_LDFLAGS@ @VALHALLA_MIDGARD_LIB@ @VALHALLA_BALDR_LDFLAGS@ @VALHALLA_BALDR_LIB@
6-
VALHALLA_CPPFLAGS = @VALHALLA_MIDGARD_CPPFLAGS@ @VALHALLA_BALDR_CPPFLAGS@
75
LIBTOOL_DEPS = @LIBTOOL_DEPS@
86
libtool: $(LIBTOOL_DEPS)
97
$(SHELL) ./config.status libtool
108

9+
# things for versioning
10+
pkgconfig_DATA = libvalhalla_odin.pc
11+
EXTRA_DIST = version.sh
12+
1113
# conditional test coverage
1214
if ENABLE_COVERAGE
1315
.PHONY: clean-coverage
@@ -84,14 +86,14 @@ libvalhalla_odin_la_SOURCES = \
8486
src/odin/transitrouteinfo.cc \
8587
src/odin/transitstop.cc \
8688
src/odin/locales.h
87-
libvalhalla_odin_la_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_CPPFLAGS) @BOOST_CPPFLAGS@
88-
libvalhalla_odin_la_LIBADD = $(DEPS_LIBS) $(VALHALLA_LDFLAGS) $(BOOST_SYSTEM_LIB) $(BOOST_THREAD_LIB)
89+
libvalhalla_odin_la_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_DEPS_CFLAGS) @BOOST_CPPFLAGS@
90+
libvalhalla_odin_la_LIBADD = $(DEPS_LIBS) $(VALHALLA_DEPS_LIBS) $(BOOST_SYSTEM_LIB) $(BOOST_THREAD_LIB)
8991

9092
#distributed executables
9193
bin_PROGRAMS = odin_service
9294
odin_service_SOURCES = src/odin/odin_service.cc
93-
odin_service_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_CPPFLAGS) @BOOST_CPPFLAGS@
94-
odin_service_LDADD = $(DEPS_LIBS) $(VALHALLA_LDFLAGS) @BOOST_LDFLAGS@ $(BOOST_SYSTEM_LIB) $(BOOST_THREAD_LIB) @PROTOC_LIBS@ -lz libvalhalla_odin.la
95+
odin_service_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_DEPS_CFLAGS) @BOOST_CPPFLAGS@
96+
odin_service_LDADD = $(DEPS_LIBS) $(VALHALLA_DEPS_LIBS) @BOOST_LDFLAGS@ $(BOOST_SYSTEM_LIB) $(BOOST_THREAD_LIB) @PROTOC_LIBS@ -lz libvalhalla_odin.la
9597

9698
# tests
9799
check_PROGRAMS = \
@@ -103,26 +105,26 @@ check_PROGRAMS = \
103105
test/util \
104106
test/narrative_dictionary
105107
test_maneuversbuilder_SOURCES = test/maneuversbuilder.cc test/test.cc
106-
test_maneuversbuilder_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_CPPFLAGS) @BOOST_CPPFLAGS@
107-
test_maneuversbuilder_LDADD = $(DEPS_LIBS) $(VALHALLA_LDFLAGS) @BOOST_LDFLAGS@ libvalhalla_odin.la
108+
test_maneuversbuilder_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_DEPS_CFLAGS) @BOOST_CPPFLAGS@
109+
test_maneuversbuilder_LDADD = $(DEPS_LIBS) $(VALHALLA_DEPS_LIBS) @BOOST_LDFLAGS@ libvalhalla_odin.la
108110
test_narrativebuilder_SOURCES = test/narrativebuilder.cc test/test.cc
109-
test_narrativebuilder_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_CPPFLAGS) @BOOST_CPPFLAGS@
110-
test_narrativebuilder_LDADD = $(DEPS_LIBS) $(VALHALLA_LDFLAGS) @BOOST_LDFLAGS@ libvalhalla_odin.la
111+
test_narrativebuilder_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_DEPS_CFLAGS) @BOOST_CPPFLAGS@
112+
test_narrativebuilder_LDADD = $(DEPS_LIBS) $(VALHALLA_DEPS_LIBS) @BOOST_LDFLAGS@ libvalhalla_odin.la
111113
test_enhancedtrippath_SOURCES = test/enhancedtrippath.cc test/test.cc
112-
test_enhancedtrippath_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_CPPFLAGS) @BOOST_CPPFLAGS@
113-
test_enhancedtrippath_LDADD = $(DEPS_LIBS) $(VALHALLA_LDFLAGS) @BOOST_LDFLAGS@ libvalhalla_odin.la
114+
test_enhancedtrippath_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_DEPS_CFLAGS) @BOOST_CPPFLAGS@
115+
test_enhancedtrippath_LDADD = $(DEPS_LIBS) $(VALHALLA_DEPS_LIBS) @BOOST_LDFLAGS@ libvalhalla_odin.la
114116
test_sign_SOURCES = test/sign.cc test/test.cc
115-
test_sign_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_CPPFLAGS) @BOOST_CPPFLAGS@
116-
test_sign_LDADD = $(DEPS_LIBS) $(VALHALLA_LDFLAGS) @BOOST_LDFLAGS@ libvalhalla_odin.la
117+
test_sign_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_DEPS_CFLAGS) @BOOST_CPPFLAGS@
118+
test_sign_LDADD = $(DEPS_LIBS) $(VALHALLA_DEPS_LIBS) @BOOST_LDFLAGS@ libvalhalla_odin.la
117119
test_signs_SOURCES = test/signs.cc test/test.cc
118-
test_signs_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_CPPFLAGS) @BOOST_CPPFLAGS@
119-
test_signs_LDADD = $(DEPS_LIBS) $(VALHALLA_LDFLAGS) @BOOST_LDFLAGS@ libvalhalla_odin.la
120+
test_signs_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_DEPS_CFLAGS) @BOOST_CPPFLAGS@
121+
test_signs_LDADD = $(DEPS_LIBS) $(VALHALLA_DEPS_LIBS) @BOOST_LDFLAGS@ libvalhalla_odin.la
120122
test_util_SOURCES = test/util.cc test/test.cc
121-
test_util_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_CPPFLAGS) @BOOST_CPPFLAGS@
122-
test_util_LDADD = $(DEPS_LIBS) $(VALHALLA_LDFLAGS) @BOOST_LDFLAGS@ libvalhalla_odin.la
123+
test_util_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_DEPS_CFLAGS) @BOOST_CPPFLAGS@
124+
test_util_LDADD = $(DEPS_LIBS) $(VALHALLA_DEPS_LIBS) @BOOST_LDFLAGS@ libvalhalla_odin.la
123125
test_narrative_dictionary_SOURCES = test/narrative_dictionary.cc test/test.cc
124-
test_narrative_dictionary_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_CPPFLAGS) @BOOST_CPPFLAGS@
125-
test_narrative_dictionary_LDADD = $(DEPS_LIBS) $(VALHALLA_LDFLAGS) @BOOST_LDFLAGS@ libvalhalla_odin.la
126+
test_narrative_dictionary_CPPFLAGS = $(DEPS_CFLAGS) $(VALHALLA_DEPS_CFLAGS) @BOOST_CPPFLAGS@
127+
test_narrative_dictionary_LDADD = $(DEPS_LIBS) $(VALHALLA_DEPS_LIBS) @BOOST_LDFLAGS@ libvalhalla_odin.la
126128

127129
TESTS = $(check_PROGRAMS)
128130
TEST_EXTENSIONS = .sh

configure.ac

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
AC_INIT([odin],
2-
[0.0.1],
2+
[m4_esyscmd([./version.sh])],
33
[https://github.com/valhalla/odin/issues],
4-
[odin-0.0.1],
4+
[valhalla_odin-[m4_esyscmd([./version.sh])]],
55
[https://github.com/valhalla/odin])
66
AC_CONFIG_AUX_DIR([.])
77
AM_INIT_AUTOMAKE([subdir-objects parallel-tests])
@@ -12,6 +12,13 @@ AM_SILENT_RULES([yes])
1212
AC_CONFIG_HEADERS([valhalla/config.h])
1313
AC_CONFIG_MACRO_DIR([m4])
1414

15+
# set pkgconfigdir, allow override
16+
AC_ARG_WITH([pkgconfigdir],
17+
AS_HELP_STRING([--with-pkgconfigdir=PATH], [Path to the pkgconfig directory [[LIBDIR/pkgconfig]]]),
18+
[pkgconfigdir="$withval"],
19+
[pkgconfigdir='${libdir}/pkgconfig'])
20+
AC_SUBST([pkgconfigdir])
21+
1522
AC_PROG_CXX
1623
AC_PROG_INSTALL
1724
AC_PROG_MAKE_SET
@@ -23,8 +30,7 @@ AC_LANG_CPLUSPLUS
2330
AX_CXX_COMPILE_STDCXX_11([noext],[mandatory])
2431

2532
# require other valhalla dependencies
26-
CHECK_VALHALLA_MIDGARD
27-
CHECK_VALHALLA_BALDR
33+
PKG_CHECK_MODULES([VALHALLA_DEPS], [libvalhalla_midgard = 1.0.0 libvalhalla_baldr = 1.0.0])
2834

2935
# check for protocol buffers compiler and libraries
3036
REQUIRE_PROTOC
@@ -42,7 +48,7 @@ PKG_CHECK_MODULES([DEPS], [protobuf >= 2.4.0 libzmq >= 4.0 libprime_server = 0.3
4248
# optionally enable coverage information
4349
CHECK_COVERAGE
4450

45-
AC_CONFIG_FILES([Makefile])
51+
AC_CONFIG_FILES([Makefile libvalhalla_odin.pc])
4652

4753
# Debian resets this to no, but this break both Spot and the libtool
4854
# test suite itself. Instead of requiring developer to install a

lib

Lines changed: 0 additions & 1 deletion
This file was deleted.

libvalhalla_odin.pc.in

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=@prefix@
2+
exec_prefix=@exec_prefix@
3+
libdir=@libdir@
4+
includedir=@includedir@
5+
6+
Name: libvalhalla_odin
7+
Description: valhalla_odin c++ library
8+
Version: @VERSION@
9+
Libs: -L${libdir} -lvalhalla_odin
10+
Cflags: -I${includedir}

m4/valhalla_baldr.m4

Lines changed: 0 additions & 58 deletions
This file was deleted.

m4/valhalla_loki.m4

Lines changed: 0 additions & 58 deletions
This file was deleted.

m4/valhalla_midgard.m4

Lines changed: 0 additions & 58 deletions
This file was deleted.

m4/valhalla_mjolnir.m4

Lines changed: 0 additions & 58 deletions
This file was deleted.

0 commit comments

Comments
 (0)