commit cddd55cee11a854f84db7257db73318a5c181f7f
Author: Fabrice Bellet <fabrice@bellet.info>
Date: Thu Jul 7 22:31:19 2011 +0200
Build a shared version of simgear. Use the --allow-shlib-undefined flag
to allow linking executables with libraries containing unresolved
symbols.
diff --git a/Makefile.am b/Makefile.am
index 24cddec..fcaebb8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,3 +1,5 @@
+ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
+
EXTRA_DIST = \
acinclude.m4 \
autogen.sh \
diff --git a/autogen.sh b/autogen.sh
index 84bbd42..ae08d62 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -17,6 +17,9 @@ echo -n " automake: `automake --version | head -1 | awk '{print $4}'`"
echo " ($AUTO_MAKE_VERSION)"
echo ""
+echo "Running libtoolize --force"
+libtoolize --force
+
echo "Running aclocal"
aclocal
diff --git a/configure.ac b/configure.ac
index 28e846c..35c5b0d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,6 +7,8 @@ dnl Ensure touching the version causes autoconf to re-run
AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/version'])
AC_CONFIG_SRCDIR([simgear/bucket/newbucket.cxx])
+AC_PROG_LIBTOOL
+AC_CONFIG_MACRO_DIR([m4])
dnl Require at least automake 2.52
AC_PREREQ(2.52)
@@ -48,7 +50,6 @@ AC_PROG_CC
AC_PROG_CPP
AC_PROG_CXX
AC_PROG_CXXCPP
-AC_PROG_RANLIB
AC_PROG_INSTALL
AC_PROG_LN_S
AX_BOOST_BASE([1.37.0])
diff --git a/simgear/bucket/Makefile.am b/simgear/bucket/Makefile.am
index d1f7b69..df5d29f 100644
--- a/simgear/bucket/Makefile.am
+++ b/simgear/bucket/Makefile.am
@@ -1,10 +1,11 @@
includedir = @includedir@/bucket
-lib_LIBRARIES = libsgbucket.a
+lib_LTLIBRARIES = libsgbucket.la
include_HEADERS = newbucket.hxx
-libsgbucket_a_SOURCES = newbucket.cxx
+libsgbucket_la_SOURCES = newbucket.cxx
+libsgbucket_la_LDFLAGS = -release @VERSION@ -module
# noinst_PROGRAMS = testbucket
diff --git a/simgear/debug/Makefile.am b/simgear/debug/Makefile.am
index cdfba79..1e0d912 100644
--- a/simgear/debug/Makefile.am
+++ b/simgear/debug/Makefile.am
@@ -2,10 +2,11 @@ includedir = @includedir@/debug
EXTRA_DIST = logtest.cxx
-lib_LIBRARIES = libsgdebug.a
+lib_LTLIBRARIES = libsgdebug.la
include_HEADERS = debug_types.h logstream.hxx
-libsgdebug_a_SOURCES = logstream.cxx
+libsgdebug_la_SOURCES = logstream.cxx
+libsgdebug_la_LDFLAGS = -release @VERSION@ -module
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/environment/Makefile.am b/simgear/environment/Makefile.am
index 92f0fe0..7e5a1c1 100644
--- a/simgear/environment/Makefile.am
+++ b/simgear/environment/Makefile.am
@@ -1,9 +1,10 @@
includedir = @includedir@/environment
-lib_LIBRARIES = libsgenvironment.a
+lib_LTLIBRARIES = libsgenvironment.la
include_HEADERS = metar.hxx precipitation.hxx visual_enviro.hxx
-libsgenvironment_a_SOURCES = metar.cxx precipitation.cxx
+libsgenvironment_la_SOURCES = metar.cxx precipitation.cxx
+libsgenvironment_la_LDFLAGS = -release @VERSION@ -module
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/ephemeris/Makefile.am b/simgear/ephemeris/Makefile.am
index c6ea748..c567bd4 100644
--- a/simgear/ephemeris/Makefile.am
+++ b/simgear/ephemeris/Makefile.am
@@ -1,6 +1,6 @@
includedir = @includedir@/ephemeris
-lib_LIBRARIES = libsgephem.a
+lib_LTLIBRARIES = libsgephem.la
include_HEADERS = \
celestialBody.hxx \
@@ -16,7 +16,7 @@ include_HEADERS = \
uranus.hxx \
venus.hxx
-libsgephem_a_SOURCES = \
+libsgephem_la_SOURCES = \
celestialBody.cxx \
ephemeris.cxx \
jupiter.cxx \
@@ -31,4 +31,6 @@ libsgephem_a_SOURCES = \
uranus.cxx \
venus.cxx
+libsgephem_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/io/Makefile.am b/simgear/io/Makefile.am
index 566af47..db72183 100644
--- a/simgear/io/Makefile.am
+++ b/simgear/io/Makefile.am
@@ -1,6 +1,6 @@
includedir = @includedir@/io
-lib_LIBRARIES = libsgio.a
+lib_LTLIBRARIES = libsgio.la
include_HEADERS = \
iochannel.hxx \
@@ -15,7 +15,7 @@ include_HEADERS = \
sg_netChannel.hxx \
sg_netChat.hxx
-libsgio_a_SOURCES = \
+libsgio_la_SOURCES = \
iochannel.cxx \
lowlevel.cxx \
sg_binobj.cxx \
@@ -28,61 +28,73 @@ libsgio_a_SOURCES = \
sg_netChannel.cxx \
sg_netChat.cxx
+libsgio_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)
noinst_PROGRAMS = decode_binobj socktest lowtest tcp_server tcp_client
tcp_server_SOURCES = tcp_server.cxx
+tcp_server_LDFLAGS = -Wl,--allow-shlib-undefined
+
tcp_server_LDADD = \
- libsgio.a \
- $(top_builddir)/simgear/structure/libsgstructure.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/bucket/libsgbucket.a \
- $(top_builddir)/simgear/misc/libsgmisc.a \
+ $(top_builddir)/simgear/io/libsgio.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/bucket/libsgbucket.la \
+ $(top_builddir)/simgear/misc/libsgmisc.la \
-lz \
$(network_LIBS) \
$(base_LIBS)
tcp_client_SOURCES = tcp_client.cxx
+tcp_client_LDFLAGS = -Wl,--allow-shlib-undefined
+
tcp_client_LDADD = \
- libsgio.a \
- $(top_builddir)/simgear/structure/libsgstructure.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/bucket/libsgbucket.a \
- $(top_builddir)/simgear/misc/libsgmisc.a \
+ $(top_builddir)/simgear/io/libsgio.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/bucket/libsgbucket.la \
+ $(top_builddir)/simgear/misc/libsgmisc.la \
-lz \
$(network_LIBS) \
$(base_LIBS)
socktest_SOURCES = socktest.cxx
+socktest_LDFLAGS = -Wl,--allow-shlib-undefined
+
socktest_LDADD = \
- libsgio.a \
- $(top_builddir)/simgear/structure/libsgstructure.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/bucket/libsgbucket.a \
- $(top_builddir)/simgear/misc/libsgmisc.a \
+ $(top_builddir)/simgear/io/libsgio.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/bucket/libsgbucket.la \
+ $(top_builddir)/simgear/misc/libsgmisc.la \
-lz \
$(network_LIBS) \
$(base_LIBS)
lowtest_SOURCES = lowtest.cxx
+lowtest_LDFLAGS = -Wl,--allow-shlib-undefined
+
lowtest_LDADD = \
- libsgio.a \
- $(top_builddir)/simgear/structure/libsgstructure.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/bucket/libsgbucket.a \
- $(top_builddir)/simgear/misc/libsgmisc.a \
+ $(top_builddir)/simgear/io/libsgio.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/bucket/libsgbucket.la \
+ $(top_builddir)/simgear/misc/libsgmisc.la \
$(base_LIBS) -lz
decode_binobj_SOURCES = decode_binobj.cxx
+decode_binobj_LDFLAGS = -Wl,--allow-shlib-undefined
+
decode_binobj_LDADD = \
- libsgio.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/bucket/libsgbucket.a \
- $(top_builddir)/simgear/misc/libsgmisc.a \
+ $(top_builddir)/simgear/io/libsgio.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/bucket/libsgbucket.la \
+ $(top_builddir)/simgear/misc/libsgmisc.la \
$(base_LIBS) -lz
diff --git a/simgear/magvar/Makefile.am b/simgear/magvar/Makefile.am
index 2c78c2f..7d3121e 100644
--- a/simgear/magvar/Makefile.am
+++ b/simgear/magvar/Makefile.am
@@ -1,17 +1,21 @@
includedir = @includedir@/magvar
-lib_LIBRARIES = libsgmagvar.a
+lib_LTLIBRARIES = libsgmagvar.la
include_HEADERS = magvar.hxx coremag.hxx
-libsgmagvar_a_SOURCES = coremag.cxx magvar.cxx
+libsgmagvar_la_SOURCES = coremag.cxx magvar.cxx
+
+libsgmagvar_la_LDFLAGS = -release @VERSION@ -module
noinst_PROGRAMS = testmagvar
testmagvar_SOURCES = testmagvar.cxx
+testmagvar_LDFLAGS = -Wl,--allow-shlib-undefined
+
testmagvar_LDADD = \
- libsgmagvar.a \
+ $(top_builddir)/simgear/magvar/libsgmagvar.la \
$(base_LIBS)
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/math/Makefile.am b/simgear/math/Makefile.am
index 4418aeb..c534813 100644
--- a/simgear/math/Makefile.am
+++ b/simgear/math/Makefile.am
@@ -5,21 +5,25 @@ TESTS = $(check_PROGRAMS)
SGMathTest_SOURCES = SGMathTest.cxx
+SGMathTest_LDFLAGS = -Wl,--allow-shlib-undefined
+
SGMathTest_LDADD = \
- libsgmath.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/structure/libsgstructure.a \
+ $(top_builddir)/simgear/math/libsgmath.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la \
$(base_LIBS)
SGGeometryTest_SOURCES = SGGeometryTest.cxx
+SGGeometryTest_LDFLAGS = -Wl,--allow-shlib-undefined
+
SGGeometryTest_LDADD = \
- libsgmath.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/structure/libsgstructure.a \
+ $(top_builddir)/simgear/math/libsgmath.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la \
$(base_LIBS)
-lib_LIBRARIES = libsgmath.a
+lib_LTLIBRARIES = libsgmath.la
include_HEADERS = \
interpolater.hxx \
@@ -53,7 +57,7 @@ include_HEADERS = \
beziercurve.hxx \
project.hxx
-libsgmath_a_SOURCES = \
+libsgmath_la_SOURCES = \
interpolater.cxx \
leastsqs.cxx \
sg_random.c \
@@ -61,4 +65,6 @@ libsgmath_a_SOURCES = \
SGGeodesy.cxx \
project.cxx
+libsgmath_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/misc/Makefile.am b/simgear/misc/Makefile.am
index ae696e7..9e24efe 100644
--- a/simgear/misc/Makefile.am
+++ b/simgear/misc/Makefile.am
@@ -1,6 +1,6 @@
includedir = @includedir@/misc
-lib_LIBRARIES = libsgmisc.a
+lib_LTLIBRARIES = libsgmisc.la
include_HEADERS = \
sg_path.hxx \
@@ -17,7 +17,7 @@ include_HEADERS = \
ResourceManager.hxx \
sg_sleep.hxx
-libsgmisc_a_SOURCES = \
+libsgmisc_la_SOURCES = \
sg_path.cxx \
sgstream.cxx \
strutils.cxx \
@@ -30,6 +30,8 @@ libsgmisc_a_SOURCES = \
ResourceManager.cxx \
sg_sleep.cxx
+libsgmisc_la_LDFLAGS = -release @VERSION@ -module
+
#noinst_PROGRAMS = tabbed_value_test swap_test
#tabbed_value_test_SOURCES = tabbed_values_test.cxx
@@ -38,12 +40,6 @@ libsgmisc_a_SOURCES = \
# $(top_builddir)/simgear/xml/libsgxml.a \
# $(top_builddir)/simgear/debug/libsgdebug.a
-$(top_builddir)/simgear/xml/libsgxml.a:
- cd $(top_builddir)/simgear/xml && $(MAKE) $(AM_MAKEFLAGS) libsgxml.a
-
-$(top_builddir)/simgear/debug/libsgdebug.a:
- cd $(top_builddir)/simgear/debug && $(MAKE) $(AM_MAKEFLAGS) libsgdebug.a
-
#swap_test_SOURCES = swap_test.cpp
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/nasal/Makefile.am b/simgear/nasal/Makefile.am
index b83d473..16e4ee5 100644
--- a/simgear/nasal/Makefile.am
+++ b/simgear/nasal/Makefile.am
@@ -1,13 +1,15 @@
includedir = @includedir@/nasal
-lib_LIBRARIES = libsgnasal.a
+lib_LTLIBRARIES = libsgnasal.la
include_HEADERS = nasal.h naref.h
-libsgnasal_a_SOURCES = bitslib.c code.c code.h codegen.c data.h gc.c \
+libsgnasal_la_SOURCES = bitslib.c code.c code.h codegen.c data.h gc.c \
hash.c iolib.c iolib.h lex.c lib.c mathlib.c \
misc.c naref.h nasal.h parse.c parse.h string.c \
thread-posix.c thread-win32.c threadlib.c \
utf8lib.c vector.c
+libsgnasal_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/props/Makefile.am b/simgear/props/Makefile.am
index 7196e8a..dc0b50c 100644
--- a/simgear/props/Makefile.am
+++ b/simgear/props/Makefile.am
@@ -1,6 +1,6 @@
includedir = @includedir@/props
-lib_LIBRARIES = libsgprops.a
+lib_LTLIBRARIES = libsgprops.la
include_HEADERS = \
condition.hxx \
@@ -11,37 +11,40 @@ include_HEADERS = \
propertyObject.hxx \
tiedpropertylist.hxx
-libsgprops_a_SOURCES = \
+libsgprops_la_SOURCES = \
condition.cxx \
props.cxx \
props_io.cxx \
AtomicChangeListener.cxx \
propertyObject.cxx
+libsgprops_la_LDFLAGS = -release @VERSION@ -module
+
check_PROGRAMS = props_test propertyObject_test
TESTS = propertyObject_test
props_test_SOURCES = props_test.cxx
+props_test_LDFLAGS = -Wl,--allow-shlib-undefined
props_test_LDADD = \
- libsgprops.a \
- $(top_builddir)/simgear/xml/libsgxml.a \
- $(top_builddir)/simgear/misc/libsgmisc.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/structure/libsgstructure.a
+ $(top_builddir)/simgear/props/libsgprops.la \
+ $(top_builddir)/simgear/xml/libsgxml.la \
+ $(top_builddir)/simgear/misc/libsgmisc.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la
propertyObject_test_SOURCES = propertyObject_test.cxx
+propertyObject_test_LDFLAGS = -Wl,--allow-shlib-undefined
propertyObject_test_LDADD = \
- libsgprops.a \
- $(top_builddir)/simgear/xml/libsgxml.a \
- $(top_builddir)/simgear/misc/libsgmisc.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/structure/libsgstructure.a
-
+ $(top_builddir)/simgear/props/libsgprops.la \
+ $(top_builddir)/simgear/xml/libsgxml.la \
+ $(top_builddir)/simgear/misc/libsgmisc.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la
if HAVE_FRAMEWORK_OSG
-props_test_LDFLAGS = $(openthreads_FRAMEWORK)
+props_test_LDADD += $(openthreads_FRAMEWORK)
else
-props_test_LDFLAGS = -lOpenThreads
+props_test_LDADD += -lOpenThreads
endif
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/route/Makefile.am b/simgear/route/Makefile.am
index 80a9ea6..2aaa176 100644
--- a/simgear/route/Makefile.am
+++ b/simgear/route/Makefile.am
@@ -1,35 +1,41 @@
includedir = @includedir@/route
-lib_LIBRARIES = libsgroute.a
+lib_LTLIBRARIES = libsgroute.la
include_HEADERS = route.hxx waypoint.hxx
-libsgroute_a_SOURCES = \
+libsgroute_la_SOURCES = \
route.cxx \
waypoint.cxx
+libsgroute_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)
noinst_PROGRAMS = waytest routetest
waytest_SOURCES = waytest.cxx
+waytest_LDFLAGS = -Wl,--allow-shlib-undefined
+
waytest_LDADD = \
- libsgroute.a \
- $(top_builddir)/simgear/math/libsgmath.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/misc/libsgmisc.a \
- $(top_builddir)/simgear/props/libsgprops.a \
- $(top_builddir)/simgear/structure/libsgstructure.a \
- $(top_builddir)/simgear/xml/libsgxml.a \
+ $(top_builddir)/simgear/route/libsgroute.la \
+ $(top_builddir)/simgear/math/libsgmath.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/misc/libsgmisc.la \
+ $(top_builddir)/simgear/props/libsgprops.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la \
+ $(top_builddir)/simgear/xml/libsgxml.la \
$(base_LIBS) \
-lz
routetest_SOURCES = routetest.cxx
+routetest_LDFLAGS = -Wl,--allow-shlib-undefined
+
routetest_LDADD = \
- libsgroute.a \
- $(top_builddir)/simgear/math/libsgmath.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/structure/libsgstructure.a \
+ $(top_builddir)/simgear/route/libsgroute.la \
+ $(top_builddir)/simgear/math/libsgmath.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la \
$(base_LIBS)
diff --git a/simgear/scene/bvh/Makefile.am b/simgear/scene/bvh/Makefile.am
index 2e5389c..6464632 100644
--- a/simgear/scene/bvh/Makefile.am
+++ b/simgear/scene/bvh/Makefile.am
@@ -4,13 +4,17 @@ check_PROGRAMS = bvhtest
TESTS = $(check_PROGRAMS)
bvhtest_SOURCES = bvhtest.cxx
-bvhtest_LDADD = libsgbvh.a \
- $(top_builddir)/simgear/structure/libsgstructure.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
+
+bvhtest_LDFLAGS = -Wl,--allow-shlib-undefined
+
+bvhtest_LDADD = \
+ $(top_builddir)/simgear/scene/bvh/libsgbvh.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
$(base_LIBS)
-lib_LIBRARIES = libsgbvh.a
+lib_LTLIBRARIES = libsgbvh.la
noinst_HEADERS =
@@ -34,7 +38,7 @@ include_HEADERS = \
BVHTransform.hxx \
BVHVisitor.hxx
-libsgbvh_a_SOURCES = \
+libsgbvh_la_SOURCES = \
BVHGroup.cxx \
BVHLineGeometry.cxx \
BVHLineSegmentVisitor.cxx \
@@ -48,4 +52,6 @@ libsgbvh_a_SOURCES = \
BVHSubTreeCollector.cxx \
BVHTransform.cxx
+libsgbvh_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/scene/material/Makefile.am b/simgear/scene/material/Makefile.am
index 2d46826..1032f9f 100644
--- a/simgear/scene/material/Makefile.am
+++ b/simgear/scene/material/Makefile.am
@@ -1,37 +1,39 @@
-includedir = @includedir@/scene/material
-
-lib_LIBRARIES = libsgmaterial.a
-
-noinst_HEADERS =
-
-include_HEADERS = \
- Effect.hxx \
- EffectBuilder.hxx \
- EffectCullVisitor.hxx \
- EffectGeode.hxx \
- GLPredicate.hxx \
- Pass.hxx \
- Technique.hxx \
- TextureBuilder.hxx \
- mat.hxx \
- matlib.hxx \
- matmodel.hxx \
- mipmap.hxx
-
-libsgmaterial_a_SOURCES = \
- Effect.cxx \
- EffectBuilder.cxx \
- EffectCullVisitor.cxx \
- EffectGeode.cxx \
- GLPredicate.cxx \
- Pass.cxx \
- Technique.cxx \
- TextureBuilder.cxx \
- makeEffect.cxx \
- mat.cxx \
- matlib.cxx \
- matmodel.cxx \
- mipmap.cxx \
- Noise.cxx Noise.hxx
-
-INCLUDES = -I$(top_srcdir)
+includedir = @includedir@/scene/material
+
+lib_LTLIBRARIES = libsgmaterial.la
+
+noinst_HEADERS =
+
+include_HEADERS = \
+ Effect.hxx \
+ EffectBuilder.hxx \
+ EffectCullVisitor.hxx \
+ EffectGeode.hxx \
+ GLPredicate.hxx \
+ Pass.hxx \
+ Technique.hxx \
+ TextureBuilder.hxx \
+ mat.hxx \
+ matlib.hxx \
+ matmodel.hxx \
+ mipmap.hxx
+
+libsgmaterial_la_SOURCES = \
+ Effect.cxx \
+ EffectBuilder.cxx \
+ EffectCullVisitor.cxx \
+ EffectGeode.cxx \
+ GLPredicate.cxx \
+ Pass.cxx \
+ Technique.cxx \
+ TextureBuilder.cxx \
+ makeEffect.cxx \
+ mat.cxx \
+ matlib.cxx \
+ matmodel.cxx \
+ mipmap.cxx \
+ Noise.cxx Noise.hxx
+
+libsgmaterial_la_LDFLAGS = -release @VERSION@ -module
+
+INCLUDES = -I$(top_srcdir)
diff --git a/simgear/scene/model/Makefile.am b/simgear/scene/model/Makefile.am
index b36ab83..e9a3b3b 100644
--- a/simgear/scene/model/Makefile.am
+++ b/simgear/scene/model/Makefile.am
@@ -1,6 +1,6 @@
includedir = @includedir@/scene/model
-lib_LIBRARIES = libsgmodel.a
+lib_LTLIBRARIES = libsgmodel.la
noinst_HEADERS =
@@ -26,7 +26,7 @@ include_HEADERS = \
SGTranslateTransform.hxx \
SGText.hxx
-libsgmodel_a_SOURCES = \
+libsgmodel_la_SOURCES = \
animation.cxx \
BoundingVolumeBuildVisitor.hxx \
particles.cxx \
@@ -49,4 +49,6 @@ libsgmodel_a_SOURCES = \
SGTranslateTransform.cxx \
SGText.cxx
+libsgmodel_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/scene/sky/Makefile.am b/simgear/scene/sky/Makefile.am
index 440cfb4..dd16a7d 100644
--- a/simgear/scene/sky/Makefile.am
+++ b/simgear/scene/sky/Makefile.am
@@ -1,6 +1,6 @@
includedir = @includedir@/scene/sky
-lib_LIBRARIES = libsgsky.a
+lib_LTLIBRARIES = libsgsky.la
include_HEADERS = \
cloud.hxx \
@@ -14,7 +14,7 @@ include_HEADERS = \
newcloud.hxx \
CloudShaderGeometry.hxx
-libsgsky_a_SOURCES = \
+libsgsky_la_SOURCES = \
cloud.cxx \
dome.cxx \
moon.cxx \
@@ -26,4 +26,6 @@ libsgsky_a_SOURCES = \
newcloud.cxx \
CloudShaderGeometry.cxx
+libsgsky_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/scene/tgdb/Makefile.am b/simgear/scene/tgdb/Makefile.am
index 3d05b27..85938ac 100644
--- a/simgear/scene/tgdb/Makefile.am
+++ b/simgear/scene/tgdb/Makefile.am
@@ -1,6 +1,6 @@
includedir = @includedir@/scene/tgdb
-lib_LIBRARIES = libsgtgdb.a
+lib_LTLIBRARIES = libsgtgdb.la
noinst_HEADERS =
@@ -24,7 +24,7 @@ include_HEADERS = \
TileCache.hxx \
TileEntry.hxx
-libsgtgdb_a_SOURCES = \
+libsgtgdb_la_SOURCES = \
apt_signs.cxx \
obj.cxx \
pt_lights.cxx \
@@ -40,4 +40,6 @@ libsgtgdb_a_SOURCES = \
TileEntry.cxx \
TreeBin.cxx TreeBin.hxx
+libsgtgdb_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/scene/tsync/Makefile.am b/simgear/scene/tsync/Makefile.am
index 4f338d0..d28dcb5 100644
--- a/simgear/scene/tsync/Makefile.am
+++ b/simgear/scene/tsync/Makefile.am
@@ -2,14 +2,15 @@ includedir = @includedir@/scene/tsync
AM_CPPFLAGS = $(svn_CPPFLAGS)
-lib_LIBRARIES = libsgtsync.a
+lib_LTLIBRARIES = libsgtsync.la
noinst_HEADERS =
include_HEADERS = \
terrasync.hxx
-libsgtsync_a_SOURCES = \
+libsgtsync_la_SOURCES = \
terrasync.cxx
+libsgtsync_la_LDFLAGS = -release @VERSION@ -module
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/scene/util/Makefile.am b/simgear/scene/util/Makefile.am
index 376f72f..f3c8d5c 100644
--- a/simgear/scene/util/Makefile.am
+++ b/simgear/scene/util/Makefile.am
@@ -1,6 +1,6 @@
includedir = @includedir@/scene/util
-lib_LIBRARIES = libsgutil.a
+lib_LTLIBRARIES = libsgutil.la
noinst_HEADERS =
@@ -25,7 +25,7 @@ include_HEADERS = \
VectorArrayAdapter.hxx
-libsgutil_a_SOURCES = \
+libsgutil_la_SOURCES = \
SGEnlargeBoundingBox.cxx \
SGSceneFeatures.cxx \
SGSceneUserData.cxx \
@@ -39,4 +39,6 @@ libsgutil_a_SOURCES = \
QuadTreeBuilder.cxx \
UpdateOnceCallback.cxx
+libsgutil_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/screen/Makefile.am b/simgear/screen/Makefile.am
index 37eac01..7a46676 100644
--- a/simgear/screen/Makefile.am
+++ b/simgear/screen/Makefile.am
@@ -1,6 +1,6 @@
includedir = @includedir@/screen
-lib_LIBRARIES = libsgscreen.a
+lib_LTLIBRARIES = libsgscreen.la
EXTRA_DIST = jpgfactory.cxx jpgfactory.hxx
@@ -19,12 +19,13 @@ include_HEADERS = \
tr.h \
extensions.hxx
-libsgscreen_a_SOURCES = \
+libsgscreen_la_SOURCES = \
$(IMAGE_SERVER_SRCS) \
screen-dump.cxx \
tr.cxx \
extensions.cxx
+libsgscreen_la_LDFLAGS = -release @VERSION@ -module
INCLUDES = -I$(top_srcdir) -I$(top_builddir)
diff --git a/simgear/serial/Makefile.am b/simgear/serial/Makefile.am
index 0cace19..1899ce2 100644
--- a/simgear/serial/Makefile.am
+++ b/simgear/serial/Makefile.am
@@ -1,17 +1,21 @@
includedir = @includedir@/serial
-lib_LIBRARIES = libsgserial.a
+lib_LTLIBRARIES = libsgserial.la
include_HEADERS = serial.hxx
-libsgserial_a_SOURCES = serial.cxx
+libsgserial_la_SOURCES = serial.cxx
+
+libsgserial_la_LDFLAGS = -release @VERSION@ -module
noinst_PROGRAMS = testserial
testserial_SOURCES = testserial.cxx
+testserial_LDFLAGS = -Wl,--allow-shlib-undefined
+
testserial_LDADD = \
- libsgserial.a \
- $(top_builddir)/simgear/debug/libsgdebug.a
+ $(top_builddir)/simgear/serial/libsgserial.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/sound/Makefile.am b/simgear/sound/Makefile.am
index 7719f10..a492534 100644
--- a/simgear/sound/Makefile.am
+++ b/simgear/sound/Makefile.am
@@ -2,7 +2,7 @@ includedir = @includedir@/sound
EXTRA_DIST = jet.wav
-lib_LIBRARIES = libsgsound.a
+lib_LTLIBRARIES = libsgsound.la
noinst_HEADERS =
@@ -13,13 +13,15 @@ include_HEADERS = \
sample_queue.hxx \
xmlsound.hxx
-libsgsound_a_SOURCES = \
+libsgsound_la_SOURCES = \
soundmgr_openal.cxx \
sample_group.cxx \
sample_openal.cxx \
sample_queue.cxx \
xmlsound.cxx
+libsgsound_la_LDFLAGS = -release @VERSION@ -module
+
check_PROGRAMS = openal_test1 openal_test2 openal_test3 openal_test4
openal_test1_SOURCES = openal_test1.cxx
@@ -27,35 +29,40 @@ openal_test2_SOURCES = openal_test2.cxx
openal_test3_SOURCES = openal_test3.cxx
openal_test4_SOURCES = openal_test4.cxx
+openal_test1_LDFLAGS = -Wl,--allow-shlib-undefined
+openal_test2_LDFLAGS = -Wl,--allow-shlib-undefined
+openal_test3_LDFLAGS = -Wl,--allow-shlib-undefined
+openal_test4_LDFLAGS = -Wl,--allow-shlib-undefined
+
openal_test1_LDADD = \
- $(top_builddir)/simgear/debug/libsgdebug.a \
+ $(top_builddir)/simgear/sound/libsgdebug.la \
$(openal_LIBS)
openal_test2_LDADD = \
- libsgsound.a \
- $(top_builddir)/simgear/structure/libsgstructure.a \
- $(top_builddir)/simgear/timing/libsgtiming.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/misc/libsgmisc.a \
- $(top_builddir)/simgear/math/libsgmath.a \
+ $(top_builddir)/simgear/sound/libsgsound.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la \
+ $(top_builddir)/simgear/timing/libsgtiming.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/misc/libsgmisc.la \
+ $(top_builddir)/simgear/math/libsgmath.la \
$(openal_LIBS)
openal_test3_LDADD = \
- libsgsound.a \
- $(top_builddir)/simgear/structure/libsgstructure.a \
- $(top_builddir)/simgear/timing/libsgtiming.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/misc/libsgmisc.a \
- $(top_builddir)/simgear/math/libsgmath.a \
+ $(top_builddir)/simgear/sound/libsgsound.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la \
+ $(top_builddir)/simgear/timing/libsgtiming.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/misc/libsgmisc.la \
+ $(top_builddir)/simgear/math/libsgmath.la \
$(openal_LIBS) -lstdc++
openal_test4_LDADD = \
- libsgsound.a \
- $(top_builddir)/simgear/structure/libsgstructure.a \
- $(top_builddir)/simgear/timing/libsgtiming.a \
- $(top_builddir)/simgear/debug/libsgdebug.a \
- $(top_builddir)/simgear/misc/libsgmisc.a \
- $(top_builddir)/simgear/math/libsgmath.a \
+ $(top_builddir)/simgear/sound/libsgsound.la \
+ $(top_builddir)/simgear/structure/libsgstructure.la \
+ $(top_builddir)/simgear/timing/libsgtiming.la \
+ $(top_builddir)/simgear/debug/libsgdebug.la \
+ $(top_builddir)/simgear/misc/libsgmisc.la \
+ $(top_builddir)/simgear/math/libsgmath.la \
$(openal_LIBS) -lstdc++
INCLUDES = -I$(top_srcdir) -DSRC_DIR=\"$(top_srcdir)/simgear/sound\"
diff --git a/simgear/structure/Makefile.am b/simgear/structure/Makefile.am
index 7311a54..c94ab43 100644
--- a/simgear/structure/Makefile.am
+++ b/simgear/structure/Makefile.am
@@ -1,6 +1,6 @@
includedir = @includedir@/structure
-lib_LIBRARIES = libsgstructure.a
+lib_LTLIBRARIES = libsgstructure.la
include_HEADERS = \
callback.hxx \
@@ -23,7 +23,7 @@ include_HEADERS = \
Singleton.hxx \
StringTable.hxx
-libsgstructure_a_SOURCES = \
+libsgstructure_la_SOURCES = \
commands.cxx \
exception.cxx \
event_mgr.cxx\
@@ -36,5 +36,7 @@ libsgstructure_a_SOURCES = \
SGSmplstat.cxx \
StringTable.cxx
+libsgstructure_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/threads/Makefile.am b/simgear/threads/Makefile.am
index 86af31a..acf3f81 100644
--- a/simgear/threads/Makefile.am
+++ b/simgear/threads/Makefile.am
@@ -1,16 +1,18 @@
includedir = @includedir@/threads
if HAVE_THREADS
-lib_LIBRARIES = libsgthreads.a
+lib_LTLIBRARIES = libsgthreads.la
include_HEADERS = \
SGGuard.hxx \
SGQueue.hxx \
SGThread.hxx
-libsgthreads_a_SOURCES = \
+libsgthreads_la_SOURCES = \
SGThread.cxx
+libsgthreads_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)
else
include_HEADERS = SGQueue.hxx
diff --git a/simgear/timing/Makefile.am b/simgear/timing/Makefile.am
index 6a45c62..088db3b 100644
--- a/simgear/timing/Makefile.am
+++ b/simgear/timing/Makefile.am
@@ -1,6 +1,6 @@
includedir = @includedir@/timing
-lib_LIBRARIES = libsgtiming.a
+lib_LTLIBRARIES = libsgtiming.la
include_HEADERS = \
lowleveltime.h \
@@ -8,10 +8,12 @@ include_HEADERS = \
timestamp.hxx \
timezone.h
-libsgtiming_a_SOURCES = \
+libsgtiming_la_SOURCES = \
lowleveltime.cxx \
sg_time.cxx \
timestamp.cxx \
timezone.cxx
+libsgtiming_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)
diff --git a/simgear/xml/Makefile.am b/simgear/xml/Makefile.am
index 274f97e..9d754e9 100644
--- a/simgear/xml/Makefile.am
+++ b/simgear/xml/Makefile.am
@@ -1,6 +1,6 @@
includedir = @includedir@/xml
-lib_LIBRARIES = libsgxml.a
+lib_LTLIBRARIES = libsgxml.la
include_HEADERS = \
easyxml.hxx
@@ -8,7 +8,7 @@ include_HEADERS = \
noinst_HEADERS = \
xmltok_impl.c xmltok_ns.c
-libsgxml_a_SOURCES = \
+libsgxml_la_SOURCES = \
asciitab.h \
easyxml.cxx \
hashtable.h hashtable.c \
@@ -18,4 +18,6 @@ libsgxml_a_SOURCES = \
xmltok.h xmltok.c \
xmltok_impl.h
+libsgxml_la_LDFLAGS = -release @VERSION@ -module
+
INCLUDES = -I$(top_srcdir)