Fix buildsystem: * Prevent pollution of python site-packages root dir * Fix underlinking in modules * Remove broken AX_* macros * Add workaround for parallel install issue with automake --- a/body/Makefile.am +++ b/body/Makefile.am @@ -21,6 +21,10 @@ Tire.cc \ Transmission.cc \ Wheel.cc +libvamos_body_la_LIBADD = \ + -l$(BOOST_PYTHON_LIB) \ + ../geometry/libvamos-geometry.la \ + ../media/libvamos-media.la pkginclude_HEADERS = \ Aerodynamic_Device.h \ @@ -46,24 +50,23 @@ EXTRA_DIST = $(pkginclude_HEADERS) -AM_CXXFLAGS = -fPIC -Wall -pedantic +AM_CXXFLAGS = -Wall -pedantic +AM_CPPFLAGS = $(PYTHON_CPPFLAGS) # Python Module if HAVE_PYTHON -pyexec_LTLIBRARIES = body.la +pkgpyexec_LTLIBRARIES = body.la else -pyexec_LTLIBRARIES = +pkgpyexec_LTLIBRARIES = endif body_la_SOURCES = bp-body.cc -body_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR) body_la_LDFLAGS = -avoid-version -module body_la_LIBADD = \ - $(top_srcdir)/body/libvamos-body.la \ - $(top_srcdir)/geometry/libvamos-geometry.la \ - $(top_srcdir)/media/libvamos-media.la \ - -l$(PYTHON_LIB) \ - -l$(BOOST_PYTHON_LIB) + libvamos-body.la \ + ../geometry/libvamos-geometry.la \ + ../media/libvamos-media.la \ + $(PYTHON_LIBS) if DO_UNIT_TESTS UNIT_TESTS = \ @@ -81,7 +84,7 @@ test_Aerodynamic_Device_SOURCES = test_Aerodynamic_Device.cc test_Aerodynamic_Device_CXXFLAGS = -DBOOST_TEST_DYN_LINK test_Aerodynamic_Device_LDADD = \ - $(top_srcdir)/geometry/libvamos-geometry.la \ + ../geometry/libvamos-geometry.la \ Frame.lo \ Particle.lo \ Aerodynamic_Device.lo \ @@ -89,35 +92,35 @@ test_Car_SOURCES = test_Car.cc test_Car_CXXFLAGS = -DBOOST_TEST_DYN_LINK test_Car_LDADD = \ - $(top_srcdir)/geometry/libvamos-geometry.la \ - $(top_srcdir)/media/libvamos-media.la \ - $(top_srcdir)/body/libvamos-body.la \ + ../geometry/libvamos-geometry.la \ + ../media/libvamos-media.la \ + ../body/libvamos-body.la \ -lboost_unit_test_framework test_Frame_SOURCES = test_Frame.cc test_Frame_CXXFLAGS = -DBOOST_TEST_DYN_LINK test_Frame_LDADD = \ - $(top_srcdir)/geometry/libvamos-geometry.la \ + ../geometry/libvamos-geometry.la \ Frame.lo \ -lboost_unit_test_framework test_Particle_SOURCES = test_Particle.cc test_Particle_CXXFLAGS = -DBOOST_TEST_DYN_LINK test_Particle_LDADD = \ - $(top_srcdir)/geometry/libvamos-geometry.la \ + ../geometry/libvamos-geometry.la \ Frame.lo \ Particle.lo \ -lboost_unit_test_framework test_Rigid_Body_SOURCES = test_Rigid_Body.cc test_Rigid_Body_CXXFLAGS = -DBOOST_TEST_DYN_LINK test_Rigid_Body_LDADD = \ - $(top_srcdir)/geometry/libvamos-geometry.la \ - $(top_srcdir)/media/libvamos-media.la \ - $(top_srcdir)/body/libvamos-body.la \ + ../geometry/libvamos-geometry.la \ + ../media/libvamos-media.la \ + ../body/libvamos-body.la \ -lboost_unit_test_framework if DO_UNIT_TESTS check-local: $(UNIT_TESTS) for test in $(UNIT_TESTS); do \ echo $$test; \ - $(top_srcdir)/body/$$test; \ + ../body/$$test; \ done endif --- a/configure.ac +++ b/configure.ac @@ -19,7 +19,7 @@ AC_PROG_INSTALL AC_PROG_MAKE_SET -AC_PROG_LIBTOOL +LT_INIT AC_PATH_X @@ -28,9 +28,6 @@ AC_CONFIG_FILES([vamos/vamos], [chmod +x vamos/vamos]) -dnl Python -AX_PYTHON - dnl Boost AX_BOOST_BASE([1.46.0],, AC_MSG_ERROR([Boost >= v1.46.0 is required.])) AX_BOOST_PYTHON([1.46.0]) --- a/geometry/Makefile.am +++ b/geometry/Makefile.am @@ -15,6 +15,7 @@ Three_Vector.cc \ Two_Vector.cc \ Parameter.cc +libvamos_geometry_la_LIBADD = -l$(BOOST_PYTHON_LIB) pkginclude_HEADERS = \ Calculations.h \ @@ -39,22 +40,21 @@ EXTRA_DIST = $(pkginclude_HEADERS) -AM_CXXFLAGS = -fPIC -Wall -pedantic +AM_CXXFLAGS = -Wall -pedantic +AM_CPPFLAGS = $(PYTHON_CPPFLAGS) # Python Module if HAVE_PYTHON -pyexec_LTLIBRARIES = geometry.la +pkgpyexec_LTLIBRARIES = geometry.la else -pyexec_LTLIBRARIES = +pkgpyexec_LTLIBRARIES = endif geometry_la_SOURCES = bp-geometry.cc -geometry_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR) geometry_la_LDFLAGS = -avoid-version -module geometry_la_LIBADD = \ - $(top_srcdir)/geometry/libvamos-geometry.la \ - -l$(PYTHON_LIB) \ - -l$(BOOST_PYTHON_LIB) + libvamos-geometry.la \ + $(PYTHON_LIBS) # Unit Tests if DO_UNIT_TESTS @@ -110,6 +110,6 @@ check-local: $(UNIT_TESTS) for test in $(UNIT_TESTS); do \ echo $$test; \ - $(top_srcdir)/geometry/$$test; \ + ../geometry/$$test; \ done endif --- a/media/Makefile.am +++ b/media/Makefile.am @@ -7,6 +7,7 @@ Texture_Image.cc \ Two_D.cc \ XML_Parser.cc +libvamos_media_la_LIBADD = ../geometry/libvamos-geometry.la pkginclude_HEADERS = \ Ac3d.h \ @@ -19,23 +20,27 @@ EXTRA_DIST = $(pkginclude_HEADERS) -AM_CXXFLAGS = -fPIC -Wall -pedantic +AM_CXXFLAGS = -Wall -pedantic +AM_CPPFLAGS = $(PYTHON_CPPFLAGS) # Python Module if HAVE_PYTHON -pyexec_LTLIBRARIES = media.la +pkgpyexec_LTLIBRARIES = media.la else -pyexec_LTLIBRARIES = +pkgpyexec_LTLIBRARIES = endif media_la_SOURCES = bp-media.cc -media_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR) media_la_LDFLAGS = -avoid-version -module media_la_LIBADD = \ - $(top_srcdir)/geometry/libvamos-geometry.la \ - $(top_srcdir)/media/libvamos-media.la \ - -l$(PYTHON_LIB) \ - -l$(BOOST_PYTHON_LIB) + ../geometry/libvamos-geometry.la \ + libvamos-media.la \ + $(PYTHON_LIBS) + +# workaround for broken parallel install support in automake with LTLIBRARIES +# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328 +install_pkgpyexecLTLIBRARIES = install-pkgpyexecLTLIBRARIES +$(install_pkgpyexecLTLIBRARIES): install-libLTLIBRARIES # Unit Tests if DO_UNIT_TESTS @@ -54,6 +59,6 @@ check-local: $(UNIT_TESTS) for test in $(UNIT_TESTS); do \ echo $$test; \ - $(top_srcdir)/media/$$test; \ + ../media/$$test; \ done endif --- a/track/Makefile.am +++ b/track/Makefile.am @@ -6,6 +6,9 @@ Road_Segment.cc \ Strip_Track.cc \ Strip_Track_Reader.cc +libvamos_track_la_LIBADD = \ + ../geometry/libvamos-geometry.la \ + ../media/libvamos-media.la pkginclude_HEADERS = \ Gl_Road_Segment.h \ @@ -17,24 +20,23 @@ EXTRA_DIST = $(pkginclude_HEADERS) -AM_CXXFLAGS = -fPIC -Wall -pedantic +AM_CXXFLAGS = -Wall -pedantic +AM_CPPFLAGS = $(PYTHON_CPPFLAGS) # Python Module if HAVE_PYTHON -pyexec_LTLIBRARIES = track.la +pkgpyexec_LTLIBRARIES = track.la else -pyexec_LTLIBRARIES = +pkgpyexec_LTLIBRARIES = endif track_la_SOURCES = bp-track.cc -track_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR) track_la_LDFLAGS = -avoid-version -module track_la_LIBADD = \ - $(top_srcdir)/geometry/libvamos-geometry.la \ - $(top_srcdir)/media/libvamos-media.la \ - $(top_srcdir)/track/libvamos-track.la \ - -l$(PYTHON_LIB) \ - -l$(BOOST_PYTHON_LIB) + ../geometry/libvamos-geometry.la \ + ../media/libvamos-media.la \ + libvamos-track.la \ + $(PYTHON_LIBS) # Unit Tests if DO_UNIT_TESTS @@ -50,14 +52,14 @@ test_Road_Segment_SOURCES = test_Road_Segment.cc test_Road_Segment_CXXFLAGS = -DBOOST_TEST_DYN_LINK test_Road_Segment_LDADD = \ - $(top_srcdir)/geometry/libvamos-geometry.la \ + ../geometry/libvamos-geometry.la \ Road_Segment.lo \ -lboost_unit_test_framework test_Strip_Track_SOURCES = test_Strip_Track.cc test_Strip_Track_CXXFLAGS = -DBOOST_TEST_DYN_LINK test_Strip_Track_LDADD = \ - $(top_srcdir)/geometry/libvamos-geometry.la \ - $(top_srcdir)/media/libvamos-media.la \ + ../geometry/libvamos-geometry.la \ + ../media/libvamos-media.la \ Road_Segment.lo \ Gl_Road_Segment.lo \ Strip_Track.lo \ @@ -68,6 +70,6 @@ check-local: $(UNIT_TESTS) for test in $(UNIT_TESTS); do \ echo $$test; \ - $(top_srcdir)/track/$$test; \ + ../track/$$test; \ done endif --- a/vamos/Makefile.am +++ b/vamos/Makefile.am @@ -9,12 +9,12 @@ EXTRA_DIST = Options.h cvamos_LDADD = \ - $(top_srcdir)/world/libvamos-world.la \ - $(top_srcdir)/body/libvamos-body.la \ - $(top_srcdir)/track/libvamos-track.la \ - $(top_srcdir)/geometry/libvamos-geometry.la \ - $(top_srcdir)/media/libvamos-media.la \ + ../world/libvamos-world.la \ + ../body/libvamos-body.la \ + ../track/libvamos-track.la \ + ../geometry/libvamos-geometry.la \ + ../media/libvamos-media.la \ -lboost_system \ -lboost_filesystem -AM_CXXFLAGS = -fPIC -Wall -pedantic -DDATADIR=\"$(pkgdatadir)\" +AM_CXXFLAGS = -Wall -pedantic -DDATADIR=\"$(pkgdatadir)\" --- a/world/Makefile.am +++ b/world/Makefile.am @@ -10,6 +10,10 @@ Sounds.cc \ Timing_Info.cc \ World.cc +libvamos_world_la_LIBADD = \ + ../geometry/libvamos-geometry.la \ + ../track/libvamos-track.la \ + ../body/libvamos-body.la pkginclude_HEADERS = \ Atmosphere.h \ @@ -26,26 +30,25 @@ EXTRA_DIST = $(pkginclude_HEADERS) -AM_CXXFLAGS = -fPIC -Wall -pedantic +AM_CXXFLAGS = -Wall -pedantic +AM_CPPFLAGS = $(PYTHON_CPPFLAGS) # Python Module if HAVE_PYTHON -pyexec_LTLIBRARIES = world.la +pkgpyexec_LTLIBRARIES = world.la else -pyexec_LTLIBRARIES = +pkgpyexec_LTLIBRARIES = endif world_la_SOURCES = bp-world.cc -world_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR) world_la_LDFLAGS = -avoid-version -module world_la_LIBADD = \ - $(top_srcdir)/body/libvamos-body.la \ - $(top_srcdir)/geometry/libvamos-geometry.la \ - $(top_srcdir)/media/libvamos-media.la \ - $(top_srcdir)/track/libvamos-track.la \ - $(top_srcdir)/world/libvamos-world.la \ - -l$(PYTHON_LIB) \ - -l$(BOOST_PYTHON_LIB) + ../body/libvamos-body.la \ + ../geometry/libvamos-geometry.la \ + ../media/libvamos-media.la \ + ../track/libvamos-track.la \ + libvamos-world.la \ + $(PYTHON_LIBS) # Unit Tests if DO_UNIT_TESTS @@ -67,6 +70,6 @@ check-local: $(UNIT_TESTS) for test in $(UNIT_TESTS); do \ echo $$test; \ - $(top_srcdir)/world/$$test; \ + ../world/$$test; \ done endif