[SimGear/f16] new upstream release

Fabrice Bellet bellet at fedoraproject.org
Tue Sep 6 19:19:33 UTC 2011


commit 5eb393836c4fac6f09c59ccd5a52d5f60f7e3343
Author: Fabrice Bellet <fabrice at bellet.info>
Date:   Tue Sep 6 13:50:18 2011 +0200

    new upstream release

 .gitignore                                         |    1 +
 SimGear-1.9.0-headers.patch                        |   14 -
 SimGear-2.0.0-shared.patch                         | 1012 -------------------
 SimGear-2.0.0-untangle-cloudfield.patch            |   39 -
 SimGear-2.0.0-untangle-sg_path.patch               |  457 ---------
 SimGear-2.0.0-untangle-timestamp.patch             |  187 ----
 SimGear-2.4.0-dependencies.patch                   |  214 ++++
 SimGear-2.4.0-dont-build-noinst-programs.patch     |  336 +++++++
 ...-2.0.0-expat.patch => SimGear-2.4.0-expat.patch |   40 +-
 SimGear-2.4.0-shared.patch                         | 1038 ++++++++++++++++++++
 SimGear.spec                                       |   44 +-
 sources                                            |    2 +-
 12 files changed, 1637 insertions(+), 1747 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index fd5ba1d..e8b6c72 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 SimGear-2.0.0.tar.gz
+/simgear-2.4.0.tar.bz2
diff --git a/SimGear-1.9.0-headers.patch b/SimGear-1.9.0-headers.patch
index 8c29856..e1ebfb1 100644
--- a/SimGear-1.9.0-headers.patch
+++ b/SimGear-1.9.0-headers.patch
@@ -23,17 +23,3 @@
  #ifndef SampleHistogram_h
  #ifdef __GNUG__
  #pragma interface
---- timing/timestamp.hxx.BAD	2008-01-07 11:03:49.000000000 +0100
-+++ timing/timestamp.hxx	2008-01-07 21:47:15.000000000 +0100
-@@ -32,9 +32,8 @@
- # error This library requires C++
- #endif
- 
--#ifdef HAVE_CONFIG_H
--#  include <simgear_config.h>
--#endif
-+#define HAVE_GETTIMEOFDAY 1
-+#define HAVE_SYS_TIME_H 1
- 
- #include <simgear/compiler.h>
- 
diff --git a/SimGear-2.4.0-dependencies.patch b/SimGear-2.4.0-dependencies.patch
new file mode 100644
index 0000000..ce37e16
--- /dev/null
+++ b/SimGear-2.4.0-dependencies.patch
@@ -0,0 +1,214 @@
+commit 82ef804c77176e7eb5454146a600d53c708d40b6
+Author: Fabrice Bellet <fabrice at bellet.info>
+Date:   Thu Jul 7 22:32:16 2011 +0200
+
+    Add a minimal set of dependencies to allow building FlightGear, Atlas
+    and fgrun without having to modify their respective makefiles due to the
+    move from static to shared libs.
+
+diff --git a/simgear/Makefile.am b/simgear/Makefile.am
+index fc9c7b0..715f95b 100644
+--- a/simgear/Makefile.am
++++ b/simgear/Makefile.am
+@@ -13,7 +13,7 @@ if WANT_HEADLESS
+ SG_EXTRA_DIRS =
+ METAR_DIRS = 
+ else
+-SG_EXTRA_DIRS = scene sound screen
++SG_EXTRA_DIRS = screen scene sound
+ METAR_DIRS = environment
+ endif
+ 
+@@ -26,24 +26,24 @@ endif
+ SUBDIRS_ALWAYS = \
+ 	xml \
+ 	debug \
+-	misc \
++	props \
++	timing \
++	math \
+ 	structure \
++	misc \
+ 	bucket \
+ 	ephemeris \
+ 	$(HLA_DIR) \
++	serial \
+ 	io \
+ 	magvar \
+-	math \
+ 	nasal \
+-	props \
+-	route \
+-	serial \
+-	timing
++	route
+ 
+ SUBDIRS = $(SUBDIRS_ALWAYS) \
+ 	$(compatibility_DIR) \
+-	$(METAR_DIRS) \
+ 	$(SG_EXTRA_DIRS) \
++	$(METAR_DIRS) \
+ 	$(SGTHREAD_DIR)
+ 
+ DIST_SUBDIRS = $(SUBDIRS_ALWAYS) compatibility scene sound screen environment threads
+diff --git a/simgear/environment/Makefile.am b/simgear/environment/Makefile.am
+index 7e5a1c1..8b65d23 100644
+--- a/simgear/environment/Makefile.am
++++ b/simgear/environment/Makefile.am
+@@ -6,5 +6,8 @@ include_HEADERS = metar.hxx precipitation.hxx visual_enviro.hxx
+ 
+ libsgenvironment_la_SOURCES = metar.cxx precipitation.cxx
+ libsgenvironment_la_LDFLAGS = -release @VERSION@ -module
++libsgenvironment_la_LIBADD = \
++	$(top_builddir)/simgear/scene/sky/libsgsky.la \
++	$(top_builddir)/simgear/sound/libsgsound.la
+ 
+ INCLUDES = -I$(top_srcdir)
+diff --git a/simgear/io/Makefile.am b/simgear/io/Makefile.am
+index d2fd584..fd05655 100644
+--- a/simgear/io/Makefile.am
++++ b/simgear/io/Makefile.am
+@@ -30,4 +30,8 @@ libsgio_la_SOURCES = \
+ 
+ libsgio_la_LDFLAGS = -release @VERSION@ -module
+ 
++libsgio_la_LIBADD = \
++	$(top_builddir)/simgear/serial/libsgserial.la \
++	$(top_builddir)/simgear/bucket/libsgbucket.la
++
+ INCLUDES = -I$(top_srcdir)
+diff --git a/simgear/math/Makefile.am b/simgear/math/Makefile.am
+index 493c114..0875c0a 100644
+--- a/simgear/math/Makefile.am
++++ b/simgear/math/Makefile.am
+@@ -44,4 +44,8 @@ libsgmath_la_SOURCES = \
+ 
+ libsgmath_la_LDFLAGS = -release @VERSION@ -module
+ 
++libsgmath_la_LIBADD = \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la
++
+ INCLUDES = -I$(top_srcdir)
+diff --git a/simgear/misc/Makefile.am b/simgear/misc/Makefile.am
+index a65bea4..e136a4f 100644
+--- a/simgear/misc/Makefile.am
++++ b/simgear/misc/Makefile.am
+@@ -30,6 +30,9 @@ libsgmisc_la_SOURCES = \
+ 	ResourceManager.cxx \
+ 	sg_sleep.cxx
+ 
+-libsgmisc_la_LDFLAGS = -release @VERSION@ -module
++libsgmisc_la_LDFLAGS = -release @VERSION@ -module -losg -losgDB -lz
++
++libsgmisc_la_LIBADD = \
++	$(top_builddir)/simgear/structure/libsgstructure.la
+ 
+ INCLUDES = -I$(top_srcdir)
+diff --git a/simgear/props/Makefile.am b/simgear/props/Makefile.am
+index 43ab633..8e13301 100644
+--- a/simgear/props/Makefile.am
++++ b/simgear/props/Makefile.am
+@@ -20,4 +20,7 @@ libsgprops_la_SOURCES = \
+ 
+ libsgprops_la_LDFLAGS = -release @VERSION@ -module
+ 
++libsgprops_la_LIBADD = \
++	$(top_builddir)/simgear/xml/libsgxml.la
++
+ INCLUDES = -I$(top_srcdir)
+diff --git a/simgear/scene/Makefile.am b/simgear/scene/Makefile.am
+index 9d26da4..3cecafe 100644
+--- a/simgear/scene/Makefile.am
++++ b/simgear/scene/Makefile.am
+@@ -1,6 +1,6 @@
+ includedir = @includedir@/scene
+ 
+-SUBDIRS = bvh material model sky tgdb util tsync
++SUBDIRS = bvh tgdb material model util sky tsync
+ 
+ # lib_LIBRARIES = libsgscene.a
+ 
+diff --git a/simgear/scene/material/Makefile.am b/simgear/scene/material/Makefile.am
+index 1032f9f..808ca77 100644
+--- a/simgear/scene/material/Makefile.am
++++ b/simgear/scene/material/Makefile.am
+@@ -36,4 +36,7 @@ libsgmaterial_la_SOURCES = \
+ 
+ libsgmaterial_la_LDFLAGS = -release @VERSION@ -module
+ 
++libsgmaterial_la_LIBADD = \
++	$(top_builddir)/simgear/scene/tgdb/libsgtgdb.la
++
+ INCLUDES = -I$(top_srcdir)
+diff --git a/simgear/scene/model/Makefile.am b/simgear/scene/model/Makefile.am
+index e9a3b3b..6246c31 100644
+--- a/simgear/scene/model/Makefile.am
++++ b/simgear/scene/model/Makefile.am
+@@ -51,4 +51,8 @@ libsgmodel_la_SOURCES = \
+ 
+ libsgmodel_la_LDFLAGS = -release @VERSION@ -module
+ 
++libsgmodel_la_LIBADD = \
++	$(top_builddir)/simgear/scene/material/libsgmaterial.la \
++	$(top_builddir)/simgear/scene/bvh/libsgbvh.la
++
+ INCLUDES = -I$(top_srcdir)
+diff --git a/simgear/scene/sky/Makefile.am b/simgear/scene/sky/Makefile.am
+index dd16a7d..c2314a9 100644
+--- a/simgear/scene/sky/Makefile.am
++++ b/simgear/scene/sky/Makefile.am
+@@ -28,4 +28,9 @@ libsgsky_la_SOURCES = \
+ 
+ libsgsky_la_LDFLAGS = -release @VERSION@ -module
+ 
++libsgsky_la_LIBADD = \
++	$(top_builddir)/simgear/screen/libsgscreen.la \
++	$(top_builddir)/simgear/scene/util/libsgutil.la \
++	$(top_builddir)/simgear/scene/model/libsgmodel.la
++
+ INCLUDES = -I$(top_srcdir)
+diff --git a/simgear/screen/Makefile.am b/simgear/screen/Makefile.am
+index 7a46676..01a3fe8 100644
+--- a/simgear/screen/Makefile.am
++++ b/simgear/screen/Makefile.am
+@@ -26,6 +26,12 @@ libsgscreen_la_SOURCES = \
+ 	extensions.cxx
+ 	
+ libsgscreen_la_LDFLAGS = -release @VERSION@ -module
++if ENABLE_JPEG_SERVER
++libsgscreen_la_LDFLAGS += -ljpeg
++endif
++
++libsgscreen_la_LIBADD = \
++	$(top_builddir)/simgear/misc/libsgmisc.la
+ 
+ INCLUDES = -I$(top_srcdir) -I$(top_builddir) 
+ 
+diff --git a/simgear/sound/Makefile.am b/simgear/sound/Makefile.am
+index af1e1ce..50556bd 100644
+--- a/simgear/sound/Makefile.am
++++ b/simgear/sound/Makefile.am
+@@ -20,6 +20,6 @@ libsgsound_la_SOURCES = \
+ 	sample_queue.cxx \
+ 	xmlsound.cxx
+ 
+-libsgsound_la_LDFLAGS = -release @VERSION@ -module
++libsgsound_la_LDFLAGS = -release @VERSION@ -module -lopenal -lalut
+ 
+ INCLUDES = -I$(top_srcdir) -DSRC_DIR=\"$(top_srcdir)/simgear/sound\"
+diff --git a/simgear/structure/Makefile.am b/simgear/structure/Makefile.am
+index c94ab43..99844b8 100644
+--- a/simgear/structure/Makefile.am
++++ b/simgear/structure/Makefile.am
+@@ -38,5 +38,10 @@ libsgstructure_la_SOURCES = \
+ 
+ libsgstructure_la_LDFLAGS = -release @VERSION@ -module
+ 
++libsgstructure_la_LIBADD = \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/timing/libsgtiming.la \
++	$(top_builddir)/simgear/math/libsgmath.la
++
+ INCLUDES = -I$(top_srcdir)
+ 
diff --git a/SimGear-2.4.0-dont-build-noinst-programs.patch b/SimGear-2.4.0-dont-build-noinst-programs.patch
new file mode 100644
index 0000000..1e6a421
--- /dev/null
+++ b/SimGear-2.4.0-dont-build-noinst-programs.patch
@@ -0,0 +1,336 @@
+commit 2155d5079a17409c3f7f9699877df3c6602fd6a0
+Author: Fabrice Bellet <fabrice at bellet.info>
+Date:   Thu Jul 7 22:31:59 2011 +0200
+
+    Don't build programs that won't be installed
+
+diff --git a/simgear/bucket/Makefile.am b/simgear/bucket/Makefile.am
+index df5d29f..c37c45c 100644
+--- a/simgear/bucket/Makefile.am
++++ b/simgear/bucket/Makefile.am
+@@ -7,12 +7,4 @@ include_HEADERS = newbucket.hxx
+ libsgbucket_la_SOURCES = newbucket.cxx
+ libsgbucket_la_LDFLAGS = -release @VERSION@ -module
+ 
+-# noinst_PROGRAMS = testbucket
+-
+-# testbucket_SOURCES = testbucket.cxx
+-
+-# testbucket_LDADD = \
+-# 	libsgbucket.a \
+-# 	$(top_builddir)/misc/libsgmisc.a
+-
+ INCLUDES = -I$(top_srcdir)
+diff --git a/simgear/io/Makefile.am b/simgear/io/Makefile.am
+index db72183..d2fd584 100644
+--- a/simgear/io/Makefile.am
++++ b/simgear/io/Makefile.am
+@@ -31,70 +31,3 @@ libsgio_la_SOURCES = \
+ 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 = \
+-	$(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 = \
+-	$(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 = \
+-	$(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 = \
+-	$(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 = \
+-	$(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 7d3121e..7fdae01 100644
+--- a/simgear/magvar/Makefile.am
++++ b/simgear/magvar/Makefile.am
+@@ -8,14 +8,4 @@ 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 = \
+-	$(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 c534813..493c114 100644
+--- a/simgear/math/Makefile.am
++++ b/simgear/math/Makefile.am
+@@ -1,28 +1,5 @@
+ includedir = @includedir@/math
+ 
+-check_PROGRAMS  = SGMathTest SGGeometryTest
+-TESTS           = $(check_PROGRAMS)
+-
+-SGMathTest_SOURCES = SGMathTest.cxx
+-
+-SGMathTest_LDFLAGS = -Wl,--allow-shlib-undefined
+-
+-SGMathTest_LDADD = \
+-	$(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 = \
+-	$(top_builddir)/simgear/math/libsgmath.la \
+-	$(top_builddir)/simgear/debug/libsgdebug.la \
+-	$(top_builddir)/simgear/structure/libsgstructure.la \
+-	$(base_LIBS)
+-
+ lib_LTLIBRARIES = libsgmath.la
+ 
+ include_HEADERS = \
+diff --git a/simgear/misc/Makefile.am b/simgear/misc/Makefile.am
+index 9e24efe..a65bea4 100644
+--- a/simgear/misc/Makefile.am
++++ b/simgear/misc/Makefile.am
+@@ -32,14 +32,4 @@ libsgmisc_la_SOURCES = \
+ 
+ libsgmisc_la_LDFLAGS = -release @VERSION@ -module
+ 
+-#noinst_PROGRAMS = tabbed_value_test swap_test
+-
+-#tabbed_value_test_SOURCES = tabbed_values_test.cxx
+-#tabbed_value_test_LDADD = \
+-#	libsgmisc.a \
+-#	$(top_builddir)/simgear/xml/libsgxml.a \
+-#	$(top_builddir)/simgear/debug/libsgdebug.a
+-
+-#swap_test_SOURCES = swap_test.cpp
+-
+ INCLUDES = -I$(top_srcdir)
+diff --git a/simgear/props/Makefile.am b/simgear/props/Makefile.am
+index dc0b50c..43ab633 100644
+--- a/simgear/props/Makefile.am
++++ b/simgear/props/Makefile.am
+@@ -20,31 +20,4 @@ libsgprops_la_SOURCES = \
+ 
+ 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 = \
+-	$(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 = \
+-	$(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_LDADD += $(openthreads_FRAMEWORK)
+-else
+-props_test_LDADD += -lOpenThreads
+-endif
+-
+ INCLUDES = -I$(top_srcdir)
+diff --git a/simgear/route/Makefile.am b/simgear/route/Makefile.am
+index 2aaa176..6e5614b 100644
+--- a/simgear/route/Makefile.am
++++ b/simgear/route/Makefile.am
+@@ -11,31 +11,3 @@ libsgroute_la_SOURCES = \
+ 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 = \
+-	$(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 = \
+-	$(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 6464632..398f706 100644
+--- a/simgear/scene/bvh/Makefile.am
++++ b/simgear/scene/bvh/Makefile.am
+@@ -1,19 +1,5 @@
+ includedir = @includedir@/scene/bvh
+ 
+-check_PROGRAMS  = bvhtest
+-TESTS           = $(check_PROGRAMS)
+-
+-bvhtest_SOURCES = bvhtest.cxx
+-
+-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_LTLIBRARIES = libsgbvh.la
+ 
+ noinst_HEADERS =
+diff --git a/simgear/serial/Makefile.am b/simgear/serial/Makefile.am
+index 1899ce2..09d0ad4 100644
+--- a/simgear/serial/Makefile.am
++++ b/simgear/serial/Makefile.am
+@@ -8,14 +8,4 @@ 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 = \
+-	$(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 a492534..af1e1ce 100644
+--- a/simgear/sound/Makefile.am
++++ b/simgear/sound/Makefile.am
+@@ -22,47 +22,4 @@ libsgsound_la_SOURCES = \
+ 
+ libsgsound_la_LDFLAGS = -release @VERSION@ -module
+ 
+-check_PROGRAMS = openal_test1 openal_test2 openal_test3 openal_test4
+-
+-openal_test1_SOURCES = openal_test1.cxx
+-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/sound/libsgdebug.la \
+-	$(openal_LIBS)
+-
+-openal_test2_LDADD = \
+-	$(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 = \
+-	$(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 = \
+-	$(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-2.0.0-expat.patch b/SimGear-2.4.0-expat.patch
similarity index 52%
rename from SimGear-2.0.0-expat.patch
rename to SimGear-2.4.0-expat.patch
index 3197d5f..f63c1d4 100644
--- a/SimGear-2.0.0-expat.patch
+++ b/SimGear-2.4.0-expat.patch
@@ -1,7 +1,14 @@
-diff -up SimGear-2.0.0/configure.ac.expat SimGear-2.0.0/configure.ac
---- SimGear-2.0.0/configure.ac.expat	2011-04-20 14:57:01.357414861 -0400
-+++ SimGear-2.0.0/configure.ac	2011-04-20 14:57:43.666878328 -0400
-@@ -295,6 +295,16 @@ AM_CONDITIONAL(HAVE_GLUT, test "x$have_g
+commit cf857a531d34d697a66e356c16b51570a467c9cf
+Author: Fabrice Bellet <fabrice at bellet.info>
+Date:   Thu Jul 7 22:32:38 2011 +0200
+
+    nuke old bundled copy of expat, use system expat
+
+diff --git a/configure.ac b/configure.ac
+index 35c5b0d..fbf7c30 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -311,6 +311,16 @@ esac
  opengl_LIBS="$LIBS"
  LIBS="$base_LIBS"
  
@@ -18,7 +25,7 @@ diff -up SimGear-2.0.0/configure.ac.expat SimGear-2.0.0/configure.ac
  dnl check for OpenAL libraries
  OPENAL_OK="no"
  ALUT_OK="no"
-@@ -408,6 +418,7 @@ fi
+@@ -423,6 +433,7 @@ fi
  LIBS="$base_LIBS"
  
  AC_SUBST(base_LIBS)
@@ -26,10 +33,11 @@ diff -up SimGear-2.0.0/configure.ac.expat SimGear-2.0.0/configure.ac
  AC_SUBST(openal_LIBS)
  AC_SUBST(opengl_LIBS)
  AC_SUBST(thread_LIBS)
-diff -up SimGear-2.0.0/simgear/xml/Makefile.am.expat SimGear-2.0.0/simgear/xml/Makefile.am
---- SimGear-2.0.0/simgear/xml/Makefile.am.expat	2011-04-20 14:57:01.367414734 -0400
-+++ SimGear-2.0.0/simgear/xml/Makefile.am	2011-04-20 14:57:01.388414468 -0400
-@@ -5,22 +5,13 @@ lib_LTLIBRARIES = libsgxml.la
+diff --git a/simgear/xml/Makefile.am b/simgear/xml/Makefile.am
+index 9d754e9..0fee317 100644
+--- a/simgear/xml/Makefile.am
++++ b/simgear/xml/Makefile.am
+@@ -5,19 +5,12 @@ lib_LTLIBRARIES = libsgxml.la
  include_HEADERS = \
  	easyxml.hxx
  
@@ -49,14 +57,14 @@ diff -up SimGear-2.0.0/simgear/xml/Makefile.am.expat SimGear-2.0.0/simgear/xml/M
  
  libsgxml_la_LDFLAGS = -release @VERSION@ -module
  
- libsgxml_la_LIBADD = \
-+	$(expat_LIBS) \
- 	$(top_builddir)/simgear/structure/libsgstructure.la
- 
++libsgxml_la_LIBADD = \
++	$(expat_LIBS)
++
  INCLUDES = -I$(top_srcdir)
-diff -up SimGear-2.0.0/simgear/xml/easyxml.cxx.expat SimGear-2.0.0/simgear/xml/easyxml.cxx
---- SimGear-2.0.0/simgear/xml/easyxml.cxx.expat	2011-04-20 14:59:57.673181770 -0400
-+++ SimGear-2.0.0/simgear/xml/easyxml.cxx	2011-04-20 15:00:05.680080530 -0400
+diff --git a/simgear/xml/easyxml.cxx b/simgear/xml/easyxml.cxx
+index 65a3551..0a5b617 100644
+--- a/simgear/xml/easyxml.cxx
++++ b/simgear/xml/easyxml.cxx
 @@ -9,7 +9,7 @@
  #include <string.h>		// strcmp()
  
diff --git a/SimGear-2.4.0-shared.patch b/SimGear-2.4.0-shared.patch
new file mode 100644
index 0000000..b65802a
--- /dev/null
+++ b/SimGear-2.4.0-shared.patch
@@ -0,0 +1,1038 @@
+commit cddd55cee11a854f84db7257db73318a5c181f7f
+Author: Fabrice Bellet <fabrice at 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)
diff --git a/SimGear.spec b/SimGear.spec
index d494b3f..9da26b5 100644
--- a/SimGear.spec
+++ b/SimGear.spec
@@ -1,18 +1,17 @@
 Name:		SimGear
-Version:	2.0.0
-Release:	6%{?dist}
+Version:	2.4.0
+Release:	1%{?dist}
 License:	GPLv2+
 Group:		System Environment/Libraries
 Summary:	Simulation library components
-URL:		http://www.simgear.org
-Source0:	http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/SimGear-%{version}.tar.gz
+URL:		http://simgear.sourceforge.net
+Source0:	http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/simgear-%{version}.tar.bz2
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Patch0:		SimGear-2.0.0-shared.patch
-Patch1:		SimGear-2.0.0-untangle-sg_path.patch
-Patch2:		SimGear-2.0.0-untangle-cloudfield.patch
-Patch3:		SimGear-2.0.0-untangle-timestamp.patch
+Patch0:		SimGear-2.4.0-shared.patch
+Patch1:		SimGear-2.4.0-dont-build-noinst-programs.patch
+Patch2:		SimGear-2.4.0-dependencies.patch
 Patch4:		SimGear-2.0.0-more-archs.patch
-Patch5:		SimGear-2.0.0-expat.patch
+Patch5:		SimGear-2.4.0-expat.patch
 Patch100:	SimGear-1.9.0-headers.patch
 BuildRequires:	openal-soft-devel, plib-devel >= 1.8.5
 BuildRequires:	OpenSceneGraph-devel >= 2.8.0
@@ -21,7 +20,7 @@ BuildRequires:	libXt-devel, libXext-devel
 BuildRequires:	libXi-devel, libXmu-devel, freeglut-devel, freealut-devel
 BuildRequires:	zlib-devel, libjpeg-devel
 BuildRequires:	automake autoconf intltool libtool
-BuildRequires:	expat-devel
+BuildRequires:	expat-devel, apr-devel
 
 %description
 SimGear is a set of open-source libraries designed to be used as building
@@ -40,27 +39,27 @@ Development headers and libraries for building applications against
 SimGear.
 
 %prep
-%setup -q
+%setup -q -n simgear-%{version}
 # automake / autoconf input file changes
 %patch0 -p1
-# Some circular dependcy fixing, see bz 208678
-%patch1 -p1 -b .sg_path
-%patch2 -p1 -b .cloudfield
-%patch3 -p1 -b .timestamp
+# dont build programs that won't be installed
+# (as a side effect, this allows parallel build to work)
+%patch1 -p1
+# add a minimal set of dependencies between shared libs
+%patch2 -p1
 # Fix compiling on pcc and alpha
 %patch4 -p1
 # Use expat
 %patch5 -p1 -b .expat
 
-chmod -x simgear/screen/GLBitmaps.cxx \
-	simgear/scene/model/persparam.?xx \
-	simgear/scene/sky/CloudShaderGeometry.?xx \
-	simgear/scene/tgdb/SGModelBin.hxx
+# makes rpmlint happy
+find -name \*.cxx -o -name \*.hxx | xargs chmod -x
 
 # expat covers most of the files in simgear/xml, except for the custom ones (easyxml.*))
 rm -rf simgear/xml/*.h simgear/xml/*.c
 
 %build
+mkdir m4
 autoreconf -i
 %configure --with-jpeg-factory --disable-static
 # Don't use rpath!   
@@ -68,9 +67,8 @@ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
 # We do not want -lm by default!
 sed -i 's/ -lm / /g' libtool
-# This application doesn't build with smp_mflags. :/
 # The libs override are to avoid unnecessary linking with -lm
-make base_LIBS= openal_LIBS="-lalut -lopenal" \
+make %{?_smp_mflags} base_LIBS= openal_LIBS="-lalut -lopenal" \
   opengl_LIBS="-lglut -lGLU -lGL -lXmu -lXt -lSM -lICE -lXi -lXext -lX11" expat_LIBS="-lexpat"
 
 %install
@@ -119,12 +117,16 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libsgsound.so
 %{_libdir}/libsgstructure.so
 %{_libdir}/libsgtgdb.so
+%{_libdir}/libsgtsync.so
 %{_libdir}/libsgthreads.so
 %{_libdir}/libsgtiming.so
 %{_libdir}/libsgutil.so
 %{_libdir}/libsgxml.so
 
 %changelog
+* Mon Sep 05 2011 Fabrice Bellet <fabrice at bellet.info> 2.4.0-1
+- new upstream release
+
 * Tue Jun 14 2011 Ralf Corsépius <corsepiu at fedoraproject.org> 2.0.0-6
 - Rebuild against OSG-2.8.5.
 
diff --git a/sources b/sources
index 6d8ce8c..6778b49 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-414bea545ea1e8ce17e4aa0809159cec  SimGear-2.0.0.tar.gz
+31f4ce7254a43229f050a8f86d6966ef  simgear-2.4.0.tar.bz2


More information about the scm-commits mailing list