[SimGear/f15] Revert "new upstream release"

Fabrice Bellet bellet at fedoraproject.org
Thu Sep 8 08:43:06 UTC 2011


commit b352c10fe8faa6634d58903cdebf5168a0c59158
Author: Fabrice Bellet <fabrice at bellet.info>
Date:   Thu Sep 8 10:27:54 2011 +0200

    Revert "new upstream release"
    
    This reverts commit 4690a672036d5344ef1e7576d6be03b7e097b604.

 .gitignore                                         |    1 -
 SimGear-1.9.0-headers.patch                        |   14 +
 ...-2.4.0-expat.patch => SimGear-2.0.0-expat.patch |   40 +-
 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 -------
 SimGear-2.4.0-shared.patch                         | 1038 --------------------
 SimGear.spec                                       |   44 +-
 sources                                            |    2 +-
 12 files changed, 1747 insertions(+), 1637 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e8b6c72..fd5ba1d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1 @@
 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 e1ebfb1..8c29856 100644
--- a/SimGear-1.9.0-headers.patch
+++ b/SimGear-1.9.0-headers.patch
@@ -23,3 +23,17 @@
  #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-expat.patch b/SimGear-2.0.0-expat.patch
similarity index 52%
rename from SimGear-2.4.0-expat.patch
rename to SimGear-2.0.0-expat.patch
index f63c1d4..3197d5f 100644
--- a/SimGear-2.4.0-expat.patch
+++ b/SimGear-2.0.0-expat.patch
@@ -1,14 +1,7 @@
-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
+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
  opengl_LIBS="$LIBS"
  LIBS="$base_LIBS"
  
@@ -25,7 +18,7 @@ index 35c5b0d..fbf7c30 100644
  dnl check for OpenAL libraries
  OPENAL_OK="no"
  ALUT_OK="no"
-@@ -423,6 +433,7 @@ fi
+@@ -408,6 +418,7 @@ fi
  LIBS="$base_LIBS"
  
  AC_SUBST(base_LIBS)
@@ -33,11 +26,10 @@ index 35c5b0d..fbf7c30 100644
  AC_SUBST(openal_LIBS)
  AC_SUBST(opengl_LIBS)
  AC_SUBST(thread_LIBS)
-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
+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
  include_HEADERS = \
  	easyxml.hxx
  
@@ -57,14 +49,14 @@ index 9d754e9..0fee317 100644
  
  libsgxml_la_LDFLAGS = -release @VERSION@ -module
  
-+libsgxml_la_LIBADD = \
-+	$(expat_LIBS)
-+
+ libsgxml_la_LIBADD = \
++	$(expat_LIBS) \
+ 	$(top_builddir)/simgear/structure/libsgstructure.la
+ 
  INCLUDES = -I$(top_srcdir)
-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
+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
 @@ -9,7 +9,7 @@
  #include <string.h>		// strcmp()
  
diff --git a/SimGear-2.0.0-shared.patch b/SimGear-2.0.0-shared.patch
new file mode 100644
index 0000000..8d0c418
--- /dev/null
+++ b/SimGear-2.0.0-shared.patch
@@ -0,0 +1,1012 @@
+diff -uNrp SimGear-2.0.0.orig/configure.ac SimGear-2.0.0/configure.ac
+--- SimGear-2.0.0.orig/configure.ac	2010-02-17 16:56:16.000000000 +0100
++++ SimGear-2.0.0/configure.ac	2010-02-26 22:35:25.640250523 +0100
+@@ -3,6 +3,7 @@ dnl script.
+ 
+ AC_INIT
+ AC_CONFIG_SRCDIR([simgear/bucket/newbucket.cxx])
++AC_PROG_LIBTOOL
+ 
+ dnl Require at least automake 2.52
+ AC_PREREQ(2.52)
+diff -uNrp SimGear-2.0.0.orig/simgear/bucket/Makefile.am SimGear-2.0.0/simgear/bucket/Makefile.am
+--- SimGear-2.0.0.orig/simgear/bucket/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/bucket/Makefile.am	2010-02-26 22:35:25.640250523 +0100
+@@ -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 -uNrp SimGear-2.0.0.orig/simgear/debug/Makefile.am SimGear-2.0.0/simgear/debug/Makefile.am
+--- SimGear-2.0.0.orig/simgear/debug/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/debug/Makefile.am	2010-02-26 22:35:25.641260714 +0100
+@@ -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 -uNrp SimGear-2.0.0.orig/simgear/environment/Makefile.am SimGear-2.0.0/simgear/environment/Makefile.am
+--- SimGear-2.0.0.orig/simgear/environment/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/environment/Makefile.am	2010-02-26 22:35:25.641260714 +0100
+@@ -1,9 +1,16 @@
+ includedir = @includedir@/environment
+ 
+-lib_LIBRARIES = libsgenvironment.a
++lib_LTLIBRARIES = libsgenvironment.la
+ 
+ include_HEADERS = metar.hxx visual_enviro.hxx precipitation.hxx
+ 
+-libsgenvironment_a_SOURCES = metar.cxx visual_enviro.cxx precipitation.cxx
++libsgenvironment_la_SOURCES = metar.cxx visual_enviro.cxx precipitation.cxx
++libsgenvironment_la_LDFLAGS = -release @VERSION@ -module -lGL -lplibssg
++libsgenvironment_la_LIBADD = \
++	$(top_builddir)/simgear/structure/libsgstructure.la \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/io/libsgio.la \
++	$(top_builddir)/simgear/sound/libsgsound.la \
++	$(top_builddir)/simgear/math/libsgmath.la
+ 
+ INCLUDES = -I$(top_srcdir)
+diff -uNrp SimGear-2.0.0.orig/simgear/ephemeris/Makefile.am SimGear-2.0.0/simgear/ephemeris/Makefile.am
+--- SimGear-2.0.0.orig/simgear/ephemeris/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/ephemeris/Makefile.am	2010-02-26 22:35:25.641260714 +0100
+@@ -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,10 @@ libsgephem_a_SOURCES = \
+ 	uranus.cxx \
+ 	venus.cxx
+ 
++libsgephem_la_LDFLAGS = -release @VERSION@ -module
++
++libsgephem_la_LIBADD = \
++	$(top_builddir)/simgear/misc/libsgmisc.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la
++
+ INCLUDES = -I$(top_srcdir)
+diff -uNrp SimGear-2.0.0.orig/simgear/io/Makefile.am SimGear-2.0.0/simgear/io/Makefile.am
+--- SimGear-2.0.0.orig/simgear/io/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/io/Makefile.am	2010-02-26 22:35:25.641260714 +0100
+@@ -1,6 +1,6 @@
+ includedir = @includedir@/io
+ 
+-lib_LIBRARIES = libsgio.a
++lib_LTLIBRARIES = libsgio.la
+ 
+ include_HEADERS = \
+ 	iochannel.hxx \
+@@ -11,7 +11,7 @@ include_HEADERS = \
+ 	sg_socket.hxx \
+ 	sg_socket_udp.hxx
+ 
+-libsgio_a_SOURCES = \
++libsgio_la_SOURCES = \
+ 	iochannel.cxx \
+ 	lowlevel.cxx \
+ 	sg_binobj.cxx \
+@@ -22,6 +22,13 @@ libsgio_a_SOURCES = \
+ 
+ INCLUDES = -I$(top_srcdir)
+ 
++libsgio_la_LDFLAGS = -release @VERSION@ -module -lplibnet -lz
++
++libsgio_la_LIBADD = \
++	$(top_builddir)/simgear/serial/libsgserial.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/bucket/libsgbucket.la
++
+ noinst_PROGRAMS = decode_binobj socktest lowtest tcp_server tcp_client
+ 
+ tcp_server_SOURCES = tcp_server.cxx
+@@ -30,16 +37,20 @@ if HAVE_FRAMEWORK_PLIB
+ tcp_server_LDFLAGS = $(plib_FRAMEWORK)
+ else
+ tcp_server_PLIB_LIBS = -lplibnet -lplibul
+-endif
+ 
+-tcp_server_LDADD = \
+-	libsgio.a \
+-	$(top_builddir)/simgear/debug/libsgdebug.a \
+-	$(top_builddir)/simgear/bucket/libsgbucket.a \
+-	$(top_builddir)/simgear/misc/libsgmisc.a \
++tcp_server_LDFLAGS = \
++	$(top_builddir)/simgear/io/libsgio.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/bucket/libsgbucket.la \
++	$(top_builddir)/simgear/misc/libsgmisc.la \
++	$(top_builddir)/simgear/serial/libsgserial.la \
++	$(top_builddir)/simgear/structure/libsgstructure.la \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/xml/libsgxml.la \
+ 	$(tcp_server_PLIB_LIBS) -lz \
+ 	$(network_LIBS) \
+ 	$(base_LIBS)
++endif
+ 
+ tcp_client_SOURCES = tcp_client.cxx
+ 
+@@ -47,16 +58,20 @@ if HAVE_FRAMEWORK_PLIB
+ tcp_client_LDFLAGS = $(plib_FRAMEWORK)
+ else
+ tcp_client_PLIB_LIBS = -lplibnet -lplibul
+-endif
+ 
+-tcp_client_LDADD = \
+-	libsgio.a \
+-	$(top_builddir)/simgear/debug/libsgdebug.a \
+-	$(top_builddir)/simgear/bucket/libsgbucket.a \
+-	$(top_builddir)/simgear/misc/libsgmisc.a \
++tcp_client_LDFLAGS = \
++	$(top_builddir)/simgear/io/libsgio.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/bucket/libsgbucket.la \
++	$(top_builddir)/simgear/misc/libsgmisc.la \
++	$(top_builddir)/simgear/serial/libsgserial.la \
++	$(top_builddir)/simgear/structure/libsgstructure.la \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/xml/libsgxml.la \
+ 	$(tcp_client_PLIB_LIBS) -lz \
+ 	$(network_LIBS) \
+ 	$(base_LIBS)
++endif
+ 
+ socktest_SOURCES = socktest.cxx
+ 
+@@ -64,31 +79,43 @@ if HAVE_FRAMEWORK_PLIB
+ socktest_LDFLAGS = $(plib_FRAMEWORK)
+ else
+ socktest_PLIB_LIBS = -lplibnet -lplibul
+-endif
+ 
+-socktest_LDADD = \
+-	libsgio.a \
+-	$(top_builddir)/simgear/debug/libsgdebug.a \
+-	$(top_builddir)/simgear/bucket/libsgbucket.a \
+-	$(top_builddir)/simgear/misc/libsgmisc.a \
++socktest_LDFLAGS = \
++	$(top_builddir)/simgear/io/libsgio.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/bucket/libsgbucket.la \
++	$(top_builddir)/simgear/misc/libsgmisc.la \
++	$(top_builddir)/simgear/serial/libsgserial.la \
++	$(top_builddir)/simgear/structure/libsgstructure.la \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/xml/libsgxml.la \
+         $(socktest_PLIB_LIBS) -lz \
+ 	$(network_LIBS) \
+ 	$(base_LIBS) 
++endif
+ 
+ lowtest_SOURCES = lowtest.cxx
+ 
+-lowtest_LDADD = \
+-	libsgio.a \
+-	$(top_builddir)/simgear/debug/libsgdebug.a \
+-	$(top_builddir)/simgear/bucket/libsgbucket.a \
+-	$(top_builddir)/simgear/misc/libsgmisc.a \
++lowtest_LDFLAGS = \
++	$(top_builddir)/simgear/io/libsgio.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/bucket/libsgbucket.la \
++	$(top_builddir)/simgear/misc/libsgmisc.la \
++	$(top_builddir)/simgear/serial/libsgserial.la \
++	$(top_builddir)/simgear/structure/libsgstructure.la \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/xml/libsgxml.la \
+ 	$(base_LIBS) -lz
+ 
+ decode_binobj_SOURCES = decode_binobj.cxx
+ 
+-decode_binobj_LDADD = \
+-	libsgio.a \
+-	$(top_builddir)/simgear/debug/libsgdebug.a \
+-	$(top_builddir)/simgear/bucket/libsgbucket.a \
+-	$(top_builddir)/simgear/misc/libsgmisc.a \
++decode_binobj_LDFLAGS = \
++	$(top_builddir)/simgear/io/libsgio.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/bucket/libsgbucket.la \
++	$(top_builddir)/simgear/misc/libsgmisc.la \
++	$(top_builddir)/simgear/serial/libsgserial.la \
++	$(top_builddir)/simgear/structure/libsgstructure.la \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/xml/libsgxml.la \
+ 	$(base_LIBS) -lz
+diff -uNrp SimGear-2.0.0.orig/simgear/magvar/Makefile.am SimGear-2.0.0/simgear/magvar/Makefile.am
+--- SimGear-2.0.0.orig/simgear/magvar/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/magvar/Makefile.am	2010-02-26 22:35:25.642240313 +0100
+@@ -1,17 +1,19 @@
+ 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_LDADD = \
+-	libsgmagvar.a \
++testmagvar_LDFLAGS = \
++	$(top_builddir)/simgear/magvar/libsgmagvar.la \
+ 	$(base_LIBS)
+ 
+ INCLUDES = -I$(top_srcdir)
+diff -uNrp SimGear-2.0.0.orig/simgear/Makefile.am SimGear-2.0.0/simgear/Makefile.am
+--- SimGear-2.0.0.orig/simgear/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/Makefile.am	2010-02-26 22:35:25.642240313 +0100
+@@ -8,23 +8,28 @@ include_HEADERS = \
+ 
+ SUBDIRS = \
+ 	$(compatibility_DIR) \
+-	xml \
+ 	debug \
+-	misc \
+ 	structure \
++	xml \
++	props \
++	misc \
+ 	bucket \
+ 	ephemeris \
++	serial \
+ 	io \
+ 	magvar \
+ 	math \
++	sound \
++	screen \
+ 	$(METAR_DIRS) \
++	scene/model \
++	scene/tgdb \
++	scene/material \
++	scene/util \
++	scene/sky \
++	scene/bvh \
+ 	nasal \
+-	props \
+ 	route \
+-	scene \
+-	screen \
+-	serial \
+-	sound \
+ 	threads \
+ 	timing
+ 
+diff -uNrp SimGear-2.0.0.orig/simgear/math/Makefile.am SimGear-2.0.0/simgear/math/Makefile.am
+--- SimGear-2.0.0.orig/simgear/math/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/math/Makefile.am	2010-02-26 22:35:25.642240313 +0100
+@@ -4,12 +4,20 @@ check_PROGRAMS  = SGMathTest SGGeometryT
+ TESTS           = $(check_PROGRAMS)
+ 
+ SGMathTest_SOURCES = SGMathTest.cxx
+-SGMathTest_LDADD = libsgmath.a -lsgstructure $(base_LIBS)
++SGMathTest_LDFLAGS = $(top_builddir)/simgear/io/libsgio.la \
++		     $(top_builddir)/simgear/debug/libsgdebug.la \
++		     $(top_builddir)/simgear/bucket/libsgbucket.la \
++		     $(top_builddir)/simgear/misc/libsgmisc.la \
++		     $(top_builddir)/simgear/serial/libsgserial.la \
++		     $(top_builddir)/simgear/structure/libsgstructure.la \
++		     $(top_builddir)/simgear/props/libsgprops.la \
++		     $(top_builddir)/simgear/xml/libsgxml.la \
++		     libsgmath.la $(base_LIBS) -lz -lplibnet -lplibul
+ 
+ SGGeometryTest_SOURCES = SGGeometryTest.cxx
+-SGGeometryTest_LDADD = libsgmath.a -lsgstructure $(base_LIBS)
++SGGeometryTest_LDFLAGS = libsgmath.la $(base_LIBS)
+ 
+-lib_LIBRARIES = libsgmath.a
++lib_LTLIBRARIES = libsgmath.la
+ 
+ include_HEADERS = \
+ 	interpolater.hxx \
+@@ -45,7 +53,7 @@ include_HEADERS = \
+ 	SGVec4.hxx \
+ 	beziercurve.hxx
+ 
+-libsgmath_a_SOURCES = \
++libsgmath_la_SOURCES = \
+ 	interpolater.cxx \
+ 	leastsqs.cxx \
+ 	sg_random.c \
+@@ -53,4 +61,11 @@ libsgmath_a_SOURCES = \
+ 	SGGeod.cxx \
+ 	SGGeodesy.cxx
+ 
++libsgmath_la_LDFLAGS = -release @VERSION@ -module
++
++libsgmath_la_LIBADD = \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/misc/libsgmisc.la \
++	$(top_builddir)/simgear/props/libsgprops.la
++
+ INCLUDES = -I$(top_srcdir)
+diff -uNrp SimGear-2.0.0.orig/simgear/misc/Makefile.am SimGear-2.0.0/simgear/misc/Makefile.am
+--- SimGear-2.0.0.orig/simgear/misc/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/misc/Makefile.am	2010-02-26 22:35:25.642240313 +0100
+@@ -1,6 +1,6 @@
+ includedir = @includedir@/misc
+ 
+-lib_LIBRARIES = libsgmisc.a
++lib_LTLIBRARIES = libsgmisc.la
+ 
+ include_HEADERS = \
+ 	sg_path.hxx \
+@@ -14,7 +14,7 @@ include_HEADERS = \
+ 	stdint.hxx \
+ 	PathOptions.hxx
+ 
+-libsgmisc_a_SOURCES = \
++libsgmisc_la_SOURCES = \
+ 	sg_path.cxx \
+ 	sgstream.cxx \
+ 	strutils.cxx \
+@@ -24,6 +24,13 @@ libsgmisc_a_SOURCES = \
+ 	interpolator.cxx \
+ 	PathOptions.cxx
+ 
++libsgmisc_la_LDFLAGS = -release @VERSION@ -module
++
++libsgmisc_la_LIBADD = \
++	$(top_builddir)/simgear/structure/libsgstructure.la \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	-losg -losgDB -lz
++
+ #noinst_PROGRAMS = tabbed_value_test swap_test
+ 
+ #tabbed_value_test_SOURCES = tabbed_values_test.cxx
+@@ -32,12 +39,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 -uNrp SimGear-2.0.0.orig/simgear/nasal/Makefile.am SimGear-2.0.0/simgear/nasal/Makefile.am
+--- SimGear-2.0.0.orig/simgear/nasal/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/nasal/Makefile.am	2010-02-26 22:35:25.643240307 +0100
+@@ -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	\
+-                       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_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 -lm -lpthread
+ 
+ INCLUDES = -I$(top_srcdir)
+diff -uNrp SimGear-2.0.0.orig/simgear/props/Makefile.am SimGear-2.0.0/simgear/props/Makefile.am
+--- SimGear-2.0.0.orig/simgear/props/Makefile.am	2010-02-17 16:56:16.000000000 +0100
++++ SimGear-2.0.0/simgear/props/Makefile.am	2010-02-26 22:37:31.973241764 +0100
+@@ -1,6 +1,6 @@
+ includedir = @includedir@/props
+ 
+-lib_LIBRARIES = libsgprops.a
++lib_LTLIBRARIES = libsgprops.la
+ 
+ include_HEADERS = \
+ 	condition.hxx \
+@@ -9,26 +9,17 @@ include_HEADERS = \
+ 	AtomicChangeListener.hxx \
+ 	ExtendedPropertyAdapter.hxx
+ 
+-libsgprops_a_SOURCES = \
++libsgprops_la_SOURCES = \
+ 	condition.cxx \
+ 	props.cxx \
+ 	props_io.cxx \
+ 	AtomicChangeListener.cxx
+ 
+-noinst_PROGRAMS = props_test
++libsgprops_la_LDFLAGS = -release @VERSION@ -module
+ 
+-props_test_SOURCES = props_test.cxx
+-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
+-
+-if HAVE_FRAMEWORK_OSG
+-props_test_LDFLAGS = $(openthreads_FRAMEWORK)
+-else
+-props_test_LDFLAGS = -lOpenThreads
+-endif
++libsgprops_la_LIBADD = \
++	$(top_builddir)/simgear/xml/libsgxml.la \
++	$(top_builddir)/simgear/structure/libsgstructure.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la
+ 
+ INCLUDES = -I$(top_srcdir)
+diff -uNrp SimGear-2.0.0.orig/simgear/route/Makefile.am SimGear-2.0.0/simgear/route/Makefile.am
+--- SimGear-2.0.0.orig/simgear/route/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/route/Makefile.am	2010-02-26 22:35:25.643240307 +0100
+@@ -1,35 +1,43 @@
+ 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
++
++libsgroute_la_LIBADD = \
++	$(top_builddir)/simgear/math/libsgmath.la
++
+ INCLUDES = -I$(top_srcdir)
+ 
+ noinst_PROGRAMS = waytest routetest
+ 
+ waytest_SOURCES = waytest.cxx
+ 
+-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 \
++waytest_LDFLAGS = \
++	$(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/structure/libsgstructure.la \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/xml/libsgxml.la \
+ 	$(base_LIBS) \
+ 	-lz
+ 
+ routetest_SOURCES = routetest.cxx
+ 
+-routetest_LDADD = \
+-	libsgroute.a \
+-	$(top_builddir)/simgear/math/libsgmath.a \
+-	$(top_builddir)/simgear/debug/libsgdebug.a \
+-	$(top_builddir)/simgear/structure/libsgstructure.a \
+-	$(base_LIBS)
++routetest_LDFLAGS = \
++	$(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/structure/libsgstructure.la \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/xml/libsgxml.la \
++	$(base_LIBS) -lz
+diff -uNrp SimGear-2.0.0.orig/simgear/scene/bvh/Makefile.am SimGear-2.0.0/simgear/scene/bvh/Makefile.am
+--- SimGear-2.0.0.orig/simgear/scene/bvh/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/scene/bvh/Makefile.am	2010-02-26 22:35:25.643240307 +0100
+@@ -4,9 +4,13 @@ check_PROGRAMS  = bvhtest
+ TESTS           = $(check_PROGRAMS)
+ 
+ bvhtest_SOURCES = bvhtest.cxx
+-bvhtest_LDADD = libsgbvh.a -lsgstructure -lsgmath $(base_LIBS)
++bvhtest_LDFLAGS = \
++	$(top_builddir)/simgear/scene/bvh/libsgbvh.la \
++	$(top_builddir)/simgear/structure/libsgstructure.la \
++	$(top_builddir)/simgear/math/libsgmath.la \
++	$(base_LIBS)
+ 
+-lib_LIBRARIES = libsgbvh.a
++lib_LTLIBRARIES = libsgbvh.la
+ 
+ noinst_HEADERS =
+ 
+@@ -30,7 +34,7 @@ include_HEADERS = \
+ 	BVHTransform.hxx \
+ 	BVHVisitor.hxx
+ 
+-libsgbvh_a_SOURCES = \
++libsgbvh_la_SOURCES = \
+ 	BVHGroup.cxx \
+ 	BVHLineGeometry.cxx \
+ 	BVHLineSegmentVisitor.cxx \
+@@ -44,4 +48,6 @@ libsgbvh_a_SOURCES = \
+ 	BVHSubTreeCollector.cxx \
+ 	BVHTransform.cxx
+ 
++libsgbvh_la_LDFLAGS = -release @VERSION@ -module
++
+ INCLUDES = -I$(top_srcdir)
+diff -uNrp SimGear-2.0.0.orig/simgear/scene/material/Makefile.am SimGear-2.0.0/simgear/scene/material/Makefile.am
+--- SimGear-2.0.0.orig/simgear/scene/material/Makefile.am	2010-02-17 17:04:42.000000000 +0100
++++ SimGear-2.0.0/simgear/scene/material/Makefile.am	2010-02-26 22:38:16.325244538 +0100
+@@ -1,6 +1,6 @@
+ includedir = @includedir@/scene/material
+ 
+-lib_LIBRARIES = libsgmaterial.a
++lib_LTLIBRARIES = libsgmaterial.la
+ 
+ noinst_HEADERS =
+ 
+@@ -17,7 +17,7 @@ include_HEADERS = \
+ 	matlib.hxx \
+ 	matmodel.hxx
+ 
+-libsgmaterial_a_SOURCES = \
++libsgmaterial_la_SOURCES = \
+ 	Effect.cxx \
+ 	EffectBuilder.cxx \
+ 	EffectCullVisitor.cxx \
+@@ -32,4 +32,14 @@ libsgmaterial_a_SOURCES = \
+ 	matmodel.cxx \
+ 	Noise.cxx Noise.hxx
+ 
++libsgmaterial_la_LDFLAGS = -release @VERSION@ -module -lplibssg -lGL
++
++libsgmaterial_la_LIBADD = \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/structure/libsgstructure.la \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/math/libsgmath.la \
++	$(top_builddir)/simgear/scene/model/libsgmodel.la \
++	$(top_builddir)/simgear/scene/tgdb/libsgtgdb.la
++
+ INCLUDES = -I$(top_srcdir)
+diff -uNrp SimGear-2.0.0.orig/simgear/scene/model/Makefile.am SimGear-2.0.0/simgear/scene/model/Makefile.am
+--- SimGear-2.0.0.orig/simgear/scene/model/Makefile.am	2010-02-17 17:05:10.000000000 +0100
++++ SimGear-2.0.0/simgear/scene/model/Makefile.am	2010-02-26 22:38:47.142241926 +0100
+@@ -1,6 +1,6 @@
+ includedir = @includedir@/scene/model
+ 
+-lib_LIBRARIES = libsgmodel.a
++lib_LTLIBRARIES = libsgmodel.la
+ 
+ noinst_HEADERS =
+ 
+@@ -25,7 +25,7 @@ include_HEADERS = \
+ 	SGTranslateTransform.hxx \
+ 	SGText.hxx
+ 
+-libsgmodel_a_SOURCES = \
++libsgmodel_la_SOURCES = \
+ 	animation.cxx \
+ 	BoundingVolumeBuildVisitor.hxx \
+ 	particles.cxx \
+@@ -47,4 +47,14 @@ libsgmodel_a_SOURCES = \
+ 	SGTranslateTransform.cxx \
+ 	SGText.cxx
+ 
++libsgmodel_la_LDFLAGS = -release @VERSION@ -module -lplibssg -lplibsg -losgParticle -lGL
++
++libsgmodel_la_LIBADD = \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/structure/libsgstructure.la \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/screen/libsgscreen.la \
++	$(top_builddir)/simgear/environment/libsgenvironment.la \
++	$(top_builddir)/simgear/math/libsgmath.la
++
+ INCLUDES = -I$(top_srcdir)
+Binary files SimGear-2.0.0.orig/simgear/scene/model/.Makefile.am.rej.swp and SimGear-2.0.0/simgear/scene/model/.Makefile.am.rej.swp differ
+diff -uNrp SimGear-2.0.0.orig/simgear/scene/sky/Makefile.am SimGear-2.0.0/simgear/scene/sky/Makefile.am
+--- SimGear-2.0.0.orig/simgear/scene/sky/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/scene/sky/Makefile.am	2010-02-26 22:35:25.644240510 +0100
+@@ -1,6 +1,6 @@
+ includedir = @includedir@/scene/sky
+ 
+-lib_LIBRARIES = libsgsky.a
++lib_LTLIBRARIES = libsgsky.la
+ 
+ include_HEADERS = \
+ 	cloud.hxx \
+@@ -15,7 +15,7 @@ include_HEADERS = \
+ 	newcloud.hxx \
+ 	CloudShaderGeometry.hxx
+ 
+-libsgsky_a_SOURCES = \
++libsgsky_la_SOURCES = \
+ 	cloud.cxx \
+ 	dome.cxx \
+ 	moon.cxx \
+@@ -28,4 +28,17 @@ libsgsky_a_SOURCES = \
+ 	newcloud.cxx \
+ 	CloudShaderGeometry.cxx
+ 
++libsgsky_la_LDFLAGS = -release @VERSION@ -module -lplibssg -lplibul -lplibsg \
++	-lGL -lGLU
++
++libsgsky_la_LIBADD = \
++	$(top_builddir)/simgear/screen/libsgscreen.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/misc/libsgmisc.la \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/math/libsgmath.la \
++	$(top_builddir)/simgear/scene/util/libsgutil.la \
++	$(top_builddir)/simgear/scene/material/libsgmaterial.la \
++	$(top_builddir)/simgear/scene/model/libsgmodel.la
++
+ INCLUDES = -I$(top_srcdir)
+diff -uNrp SimGear-2.0.0.orig/simgear/scene/tgdb/Makefile.am SimGear-2.0.0/simgear/scene/tgdb/Makefile.am
+--- SimGear-2.0.0.orig/simgear/scene/tgdb/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/scene/tgdb/Makefile.am	2010-02-26 22:35:25.645240155 +0100
+@@ -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,13 @@ libsgtgdb_a_SOURCES = \
+ 	TileEntry.cxx \
+ 	TreeBin.cxx TreeBin.hxx
+ 
++libsgtgdb_la_LDFLAGS = -release @VERSION@ -module -lplibssg -lplibul -lGL
++
++libsgtgdb_la_LIBADD = \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/bucket/libsgbucket.la \
++	$(top_builddir)/simgear/io/libsgio.la \
++	$(top_builddir)/simgear/screen/libsgscreen.la \
++	$(top_builddir)/simgear/math/libsgmath.la
++
+ INCLUDES = -I$(top_srcdir)
+diff -uNrp SimGear-2.0.0.orig/simgear/scene/util/Makefile.am SimGear-2.0.0/simgear/scene/util/Makefile.am
+--- SimGear-2.0.0.orig/simgear/scene/util/Makefile.am	2010-02-17 16:39:21.000000000 +0100
++++ SimGear-2.0.0/simgear/scene/util/Makefile.am	2010-02-26 22:35:25.645240155 +0100
+@@ -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,9 @@ libsgutil_a_SOURCES = \
+ 	QuadTreeBuilder.cxx \
+ 	UpdateOnceCallback.cxx
+ 
++libsgutil_la_LDFLAGS = -release @VERSION@ -module
++
++libsgutil_la_LIBADD = \
++	$(top_builddir)/simgear/scene/material/libsgmaterial.la
++
+ INCLUDES = -I$(top_srcdir)
+diff -uNrp SimGear-2.0.0.orig/simgear/screen/Makefile.am SimGear-2.0.0/simgear/screen/Makefile.am
+--- SimGear-2.0.0.orig/simgear/screen/Makefile.am	2010-02-17 16:39:22.000000000 +0100
++++ SimGear-2.0.0/simgear/screen/Makefile.am	2010-02-26 22:35:25.645240155 +0100
+@@ -1,6 +1,6 @@
+ includedir = @includedir@/screen
+ 
+-lib_LIBRARIES = libsgscreen.a
++lib_LTLIBRARIES = libsgscreen.la
+ 
+ EXTRA_DIST = jpgfactory.cxx jpgfactory.hxx
+ 
+@@ -23,7 +23,7 @@ include_HEADERS = \
+ 	shader.h \
+ 	tr.h
+ 
+-libsgscreen_a_SOURCES = \
++libsgscreen_la_SOURCES = \
+ 	GLBitmaps.cxx \
+ 	$(IMAGE_SERVER_SRCS) \
+ 	screen-dump.cxx \
+@@ -33,15 +33,21 @@ libsgscreen_a_SOURCES = \
+ 	shader.cpp \
+ 	win32-printer.h
+ 
++libsgscreen_la_LDFLAGS = -release @VERSION@ -module -lGL -lGLU -lX11 -lz \
++	-ldl -ljpeg -lplibssg -losgDB -lOpenThreads -losg
++
++libsgscreen_la_LIBADD = \
++	$(top_builddir)/simgear/debug/libsgdebug.la
++
+ if HAVE_GLUT
+ noinst_PROGRAMS = TestRenderTexture
+ 
+ TestRenderTexture_SOURCES = TestRenderTexture.cpp
+ 
+-TestRenderTexture_LDADD = \
+-	libsgscreen.a \
+-	$(top_builddir)/simgear/debug/libsgdebug.a \
+-	$(opengl_LIBS)
++TestRenderTexture_LDFLAGS = \
++	$(top_builddir)/simgear/screen/libsgscreen.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(opengl_LIBS) -lz -lplibssg -ljpeg
+ endif
+ 
+ INCLUDES = -I$(top_srcdir) -I$(top_builddir) -DGLX_GLXEXT_PROTOTYPES
+diff -uNrp SimGear-2.0.0.orig/simgear/serial/Makefile.am SimGear-2.0.0/simgear/serial/Makefile.am
+--- SimGear-2.0.0.orig/simgear/serial/Makefile.am	2010-02-17 16:39:22.000000000 +0100
++++ SimGear-2.0.0/simgear/serial/Makefile.am	2010-02-26 22:35:25.645240155 +0100
+@@ -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
++libsgserial_la_LIBADD = \
++	$(top_builddir)/simgear/debug/libsgdebug.la
+ 
+ noinst_PROGRAMS = testserial
+ 
+ testserial_SOURCES = testserial.cxx
+ 
+-testserial_LDADD = \
+-	libsgserial.a \
+-	$(top_builddir)/simgear/debug/libsgdebug.a
++testserial_LDFLAGS = \
++	$(top_builddir)/simgear/serial/libsgserial.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la
+ 
+ INCLUDES = -I$(top_srcdir)
+diff -uNrp SimGear-2.0.0.orig/simgear/sound/Makefile.am SimGear-2.0.0/simgear/sound/Makefile.am
+--- SimGear-2.0.0.orig/simgear/sound/Makefile.am	2010-02-17 16:39:22.000000000 +0100
++++ SimGear-2.0.0/simgear/sound/Makefile.am	2010-02-26 22:35:25.646240497 +0100
+@@ -2,7 +2,7 @@ includedir = @includedir@/sound
+ 
+ EXTRA_DIST = jet.wav
+ 
+-lib_LIBRARIES = libsgsound.a
++lib_LTLIBRARIES = libsgsound.la
+ 
+ noinst_HEADERS =
+ 
+@@ -12,38 +12,44 @@ include_HEADERS = \
+ 	soundmgr_openal.hxx \
+ 	xmlsound.hxx 
+ 
+-libsgsound_a_SOURCES = \
++libsgsound_la_SOURCES = \
+ 	sample_group.cxx \
+ 	sample_openal.cxx  \
+ 	soundmgr_openal.cxx \
+ 	xmlsound.cxx 
+ 
++libsgsound_la_LDFLAGS = -release @VERSION@ -module $(openal_LIBS)
++libsgsound_la_LIBADD = \
++	$(top_builddir)/simgear/structure/libsgstructure.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/props/libsgprops.la
++
+ check_PROGRAMS = openal_test1 openal_test2 openal_test3
+ 
+ openal_test1_SOURCES = openal_test1.cxx
+ openal_test2_SOURCES = openal_test2.cxx
+ openal_test3_SOURCES = openal_test3.cxx
+ 
+-openal_test1_LDADD = \
+-	$(top_builddir)/simgear/debug/libsgdebug.a \
++openal_test1_LDFLAGS = \
++	$(top_builddir)/simgear/debug/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 \
++openal_test2_LDFLAGS = \
++	$(top_builddir)/simgear/sound/libsgsound.la \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/misc/libsgmisc.la \
++	$(top_builddir)/simgear/structure/libsgstructure.la \
++	$(top_builddir)/simgear/props/libsgprops.la \
++	$(top_builddir)/simgear/xml/libsgxml.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 \
++openal_test3_LDFLAGS = \
++	$(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 -uNrp SimGear-2.0.0.orig/simgear/structure/Makefile.am SimGear-2.0.0/simgear/structure/Makefile.am
+--- SimGear-2.0.0.orig/simgear/structure/Makefile.am	2010-02-17 16:39:22.000000000 +0100
++++ SimGear-2.0.0/simgear/structure/Makefile.am	2010-02-26 22:35:25.646240497 +0100
+@@ -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,10 @@ libsgstructure_a_SOURCES = \
+ 	SGSmplstat.cxx \
+ 	StringTable.cxx
+ 
++libsgstructure_la_LDFLAGS = -release @VERSION@ -module
++
++libsgstructure_la_LIBADD = \
++	$(top_builddir)/simgear/debug/libsgdebug.la
++
+ INCLUDES = -I$(top_srcdir)
+ 
+diff -uNrp SimGear-2.0.0.orig/simgear/threads/Makefile.am SimGear-2.0.0/simgear/threads/Makefile.am
+--- SimGear-2.0.0.orig/simgear/threads/Makefile.am	2010-02-17 16:39:22.000000000 +0100
++++ SimGear-2.0.0/simgear/threads/Makefile.am	2010-02-26 22:35:25.646240497 +0100
+@@ -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 -uNrp SimGear-2.0.0.orig/simgear/timing/Makefile.am SimGear-2.0.0/simgear/timing/Makefile.am
+--- SimGear-2.0.0.orig/simgear/timing/Makefile.am	2010-02-17 16:39:22.000000000 +0100
++++ SimGear-2.0.0/simgear/timing/Makefile.am	2010-02-26 22:35:25.646240497 +0100
+@@ -1,6 +1,6 @@
+ includedir = @includedir@/timing
+ 
+-lib_LIBRARIES = libsgtiming.a
++lib_LTLIBRARIES = libsgtiming.la
+ 
+ include_HEADERS = \
+ 	geocoord.h \
+@@ -9,11 +9,17 @@ include_HEADERS = \
+ 	timestamp.hxx \
+ 	timezone.h
+ 
+-libsgtiming_a_SOURCES = \
++libsgtiming_la_SOURCES = \
+ 	geocoord.cxx \
+ 	lowleveltime.cxx \
+ 	sg_time.cxx \
+ 	timestamp.cxx \
+ 	timezone.cxx
+ 
++libsgtiming_la_LDFLAGS = -release @VERSION@ -module
++
++libsgtiming_la_LIBADD = \
++	$(top_builddir)/simgear/debug/libsgdebug.la \
++	$(top_builddir)/simgear/misc/libsgmisc.la
++
+ INCLUDES = -I$(top_srcdir)
+diff -uNrp SimGear-2.0.0.orig/simgear/xml/Makefile.am SimGear-2.0.0/simgear/xml/Makefile.am
+--- SimGear-2.0.0.orig/simgear/xml/Makefile.am	2010-02-17 16:39:22.000000000 +0100
++++ SimGear-2.0.0/simgear/xml/Makefile.am	2010-02-26 22:35:25.647240211 +0100
+@@ -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,9 @@ libsgxml_a_SOURCES = \
+ 	xmltok.h xmltok.c \
+ 	xmltok_impl.h
+ 
++libsgxml_la_LDFLAGS = -release @VERSION@ -module
++
++libsgxml_la_LIBADD = \
++	$(top_builddir)/simgear/structure/libsgstructure.la
++
+ INCLUDES = -I$(top_srcdir)
diff --git a/SimGear-2.0.0-untangle-cloudfield.patch b/SimGear-2.0.0-untangle-cloudfield.patch
new file mode 100644
index 0000000..d924f6c
--- /dev/null
+++ b/SimGear-2.0.0-untangle-cloudfield.patch
@@ -0,0 +1,39 @@
+--- SimGear.orig/simgear/scene/sky/cloudfield.hxx	2009-11-26 18:24:02.000000000 +0100
++++ SimGear/simgear/scene/sky/cloudfield.hxx	2010-01-31 23:41:12.835644019 +0100
+@@ -31,6 +31,7 @@
+ 
+ #include <osg/ref_ptr>
+ #include <osg/Array>
++#include <osg/Fog>
+ #include <osg/Geometry>
+ #include <osg/Group>
+ #include <osg/Switch>
+@@ -89,7 +90,11 @@
+         int reposition_count;
+         struct CloudFog : public simgear::Singleton<CloudFog>
+         {
+-                CloudFog();
++                CloudFog() {
++		    fog = new osg::Fog;
++		    fog->setMode(osg::Fog::EXP2);
++		    fog->setDataVariance(osg::Object::DYNAMIC);
++		}
+                 osg::ref_ptr<osg::Fog> fog;
+         };
+ public:
+--- SimGear.orig/simgear/scene/sky/cloudfield.cxx	2010-01-23 12:40:43.000000000 +0100
++++ SimGear/simgear/scene/sky/cloudfield.cxx	2010-01-31 23:37:42.707739218 +0100
+@@ -287,13 +287,6 @@
+     }
+ }
+ 
+-SGCloudField::CloudFog::CloudFog()
+-{
+-    fog = new osg::Fog;
+-    fog->setMode(osg::Fog::EXP2);
+-    fog->setDataVariance(osg::Object::DYNAMIC);
+-}
+-
+ void SGCloudField::updateFog(double visibility, const osg::Vec4f& color)
+ {
+     const double sqrt_m_log01 = sqrt(-log(0.01));
diff --git a/SimGear-2.0.0-untangle-sg_path.patch b/SimGear-2.0.0-untangle-sg_path.patch
new file mode 100644
index 0000000..fadf5fd
--- /dev/null
+++ b/SimGear-2.0.0-untangle-sg_path.patch
@@ -0,0 +1,457 @@
+diff -uNr SimGear.orig/simgear/misc/sg_path.cxx SimGear/simgear/misc/sg_path.cxx
+--- SimGear.orig/simgear/misc/sg_path.cxx	2010-01-23 12:40:37.000000000 +0100
++++ SimGear/simgear/misc/sg_path.cxx	2010-01-31 18:40:57.477501771 +0100
+@@ -27,50 +27,12 @@
+ #include <simgear_config.h>
+ #include <simgear/debug/logstream.hxx>
+ #include <stdio.h>
+-#include <sys/stat.h>
+-#include <sys/stat.h>
+ #ifdef _WIN32
+ #  include <direct.h>
+ #endif
+ #include "sg_path.hxx"
+ 
+ 
+-/**
+- * define directory path separators
+- */
+-
+-static const char sgDirPathSep = '/';
+-static const char sgDirPathSepBad = '\\';
+-
+-#ifdef _WIN32
+-static const char sgSearchPathSep = ';';
+-#else
+-static const char sgSearchPathSep = ':';
+-#endif
+-
+-
+-// If Unix, replace all ":" with "/".  If MacOS, replace all "/" with
+-// ":" it should go without saying that neither of these characters
+-// should be used in file or directory names.  In windoze, allow the
+-// second character to be a ":" for things like c:\foo\bar
+-
+-void
+-SGPath::fix()
+-{
+-    for ( string::size_type i = 0; i < path.size(); ++i ) {
+-#if defined( WIN32 )
+-	// for windoze, don't replace the ":" for the second character
+-	if ( i == 1 ) {
+-	    continue;
+-	}
+-#endif
+-	if ( path[i] == sgDirPathSepBad ) {
+-	    path[i] = sgDirPathSep;
+-	}
+-    }
+-}
+-
+-
+ // default constructor
+ SGPath::SGPath()
+     : path("")
+@@ -78,19 +40,6 @@
+ }
+ 
+ 
+-// create a path based on "path"
+-SGPath::SGPath( const std::string& p )
+-    : path(p)
+-{
+-    fix();
+-}
+-
+-
+-// destructor
+-SGPath::~SGPath() {
+-}
+-
+-
+ // set path
+ void SGPath::set( const string& p ) {
+     path = p;
+@@ -98,37 +47,11 @@
+ }
+ 
+ 
+-// append another piece to the existing path
+-void SGPath::append( const string& p ) {
+-    if ( path.size() == 0 ) {
+-	path = p;
+-    } else {
+-	if ( p[0] != sgDirPathSep ) {
+-	    path += sgDirPathSep;
+-	}
+-	path += p;
+-    }
+-    fix();
+-}
+-
+ //add a new path component to the existing path string
+ void SGPath::add( const string& p ) {
+     append( sgSearchPathSep+p );
+ }
+ 
+-
+-// concatenate a string to the end of the path without inserting a
+-// path separator
+-void SGPath::concat( const string& p ) {
+-    if ( path.size() == 0 ) {
+-	path = p;
+-    } else {
+-	path += p;
+-    }
+-    fix();
+-}
+-
+-
+ // Get the file part of the path (everything after the last path sep)
+ string SGPath::file() const {
+     int index = path.rfind(sgDirPathSep);
+@@ -139,17 +62,6 @@
+     }
+ }
+   
+-
+-// get the directory part of the path.
+-string SGPath::dir() const {
+-    int index = path.rfind(sgDirPathSep);
+-    if (index >= 0) {
+-	return path.substr(0, index);
+-    } else {
+-	return "";
+-    }
+-}
+-
+ // get the base part of the path (everything but the extension.)
+ string SGPath::base() const {
+     int index = path.rfind(".");
+@@ -180,91 +92,3 @@
+     fclose(fp);
+     return true;
+ }
+-
+-#ifdef _WIN32
+-#  define sgMkDir(d,m)       _mkdir(d)
+-#else
+-#  define sgMkDir(d,m)       mkdir(d,m)
+-#endif
+-
+-
+-int SGPath::create_dir( mode_t mode ) {
+-    string_list dirlist = sgPathSplit(dir());
+-    if ( dirlist.empty() )
+-        return -1;
+-    string path = dirlist[0];
+-    string_list path_elements = sgPathBranchSplit(path);
+-    bool absolute = !path.empty() && path[0] == sgDirPathSep;
+-
+-    unsigned int i = 1;
+-    SGPath dir = absolute ? string( 1, sgDirPathSep ) : "";
+-    dir.concat( path_elements[0] );
+-#ifdef _WIN32
+-    if ( dir.str().find(':') != string::npos && path_elements.size() >= 2 ) {
+-        dir.append( path_elements[1] );
+-        i = 2;
+-    }
+-#endif
+-    struct stat info;
+-    int r;
+-    for(; ( r = stat( dir.c_str(), &info ) ) == 0 && i < path_elements.size(); i++) {
+-        dir.append(path_elements[i]);
+-    }
+-    if ( r == 0 ) {
+-        return 0; // Directory already exists
+-    }
+-    if ( sgMkDir( dir.c_str(), mode) ) {
+-        SG_LOG( SG_IO, SG_ALERT, "Error creating directory: " + dir.str() );
+-        return -2;
+-    }
+-    for(; i < path_elements.size(); i++) {
+-        dir.append(path_elements[i]);
+-        if ( sgMkDir( dir.c_str(), mode) ) {
+-            SG_LOG( SG_IO, SG_ALERT, "Error creating directory: " + dir.str() );
+-            return -2;
+-        }
+-    }
+-
+-    return 0;
+-}
+-
+-string_list sgPathBranchSplit( const string &dirpath ) {
+-    string_list path_elements;
+-    string element, path = dirpath;
+-    while ( path.size() ) {
+-        size_t p = path.find( sgDirPathSep );
+-        if ( p != string::npos ) {
+-            element = path.substr( 0, p );
+-            path.erase( 0, p + 1 );
+-        } else {
+-            element = path;
+-            path = "";
+-        }
+-        if ( element.size() )
+-            path_elements.push_back( element );
+-    }
+-    return path_elements;
+-}
+-
+-
+-string_list sgPathSplit( const string &search_path ) {
+-    string tmp = search_path;
+-    string_list result;
+-    result.clear();
+-
+-    bool done = false;
+-
+-    while ( !done ) {
+-        int index = tmp.find(sgSearchPathSep);
+-        if (index >= 0) {
+-            result.push_back( tmp.substr(0, index) );
+-            tmp = tmp.substr( index + 1 );
+-        } else {
+-            if ( !tmp.empty() )
+-                result.push_back( tmp );
+-            done = true;
+-        }
+-    }
+-
+-    return result;
+-}
+diff -uNr SimGear.orig/simgear/misc/sg_path.hxx SimGear/simgear/misc/sg_path.hxx
+--- SimGear.orig/simgear/misc/sg_path.hxx	2008-07-28 09:52:14.000000000 +0200
++++ SimGear/simgear/misc/sg_path.hxx	2010-01-31 18:41:03.790503865 +0100
+@@ -29,6 +29,8 @@
+ #define _SG_PATH_HXX
+ 
+ #include <sys/types.h>
++#include <sys/stat.h>
++#include <simgear/debug/logstream.hxx>
+ 
+ #include <simgear/compiler.h>
+ #include <string>
+@@ -42,6 +44,65 @@
+ #endif
+ 
+ /**
++ * define directory path separators
++ */
++
++static const char sgDirPathSep = '/';
++static const char sgDirPathSepBad = '\\';
++
++#ifdef _WIN32
++static const char sgSearchPathSep = ';';
++#else
++static const char sgSearchPathSep = ':';
++#endif
++
++/**
++ * Split a directory string into a list of it's parent directories.
++ */
++static inline string_list sgPathBranchSplit( const string &dirpath ) {
++    string_list path_elements;
++    string element, path = dirpath;
++    while ( path.size() ) {
++        size_t p = path.find( sgDirPathSep );
++        if ( p != string::npos ) {
++            element = path.substr( 0, p );
++            path.erase( 0, p + 1 );
++        } else {
++            element = path;
++            path = "";
++        }
++        if ( element.size() )
++            path_elements.push_back( element );
++    }
++    return path_elements;
++}
++
++/**
++ * Split a directory search path into a vector of individual paths
++ */
++static inline string_list sgPathSplit( const string &search_path ) {
++    string tmp = search_path;
++    string_list result;
++    result.clear();
++
++    bool done = false;
++
++    while ( !done ) {
++        int index = tmp.find(sgSearchPathSep);
++        if (index >= 0) {
++            result.push_back( tmp.substr(0, index) );
++            tmp = tmp.substr( index + 1 );
++        } else {
++            if ( !tmp.empty() )
++                result.push_back( tmp );
++            done = true;
++        }
++    }
++
++    return result;
++}
++
++/**
+  * A class to hide path separator difference across platforms and assist
+  * in managing file system path names.
+  *
+@@ -64,10 +125,13 @@
+      * Construct a path based on the starting path provided.
+      * @param p initial path
+      */
+-    SGPath( const string& p );
++    SGPath( const string& p ) : path(p)
++    {
++        fix();
++    }
+ 
+     /** Destructor */
+-    ~SGPath();
++    ~SGPath() {}
+ 
+     /**
+      * Set path to a new value
+@@ -80,7 +144,17 @@
+      * Append another piece to the existing path.  Inserts a path
+      * separator between the existing component and the new component.
+      * @param p additional path component */
+-    void append( const string& p );
++    void append( const string& p ) {
++        if ( path.size() == 0 ) {
++	    path = p;
++        } else {
++	    if ( p[0] != sgDirPathSep ) {
++	        path += sgDirPathSep;
++	    }
++	    path += p;
++        }
++        fix();
++    }
+ 
+     /**
+      * Append a new piece to the existing path.  Inserts a search path
+@@ -93,7 +167,14 @@
+      * path separator.
+      * @param p additional path suffix
+      */
+-    void concat( const string& p );
++    void concat( const string& p ) {
++        if ( path.size() == 0 ) {
++	    path = p;
++        } else {
++	    path += p;
++        }
++        fix();
++    }
+ 
+     /**
+      * Get the file part of the path (everything after the last path sep)
+@@ -105,7 +186,14 @@
+      * Get the directory part of the path.
+      * @return directory string
+      */
+-    string dir() const;
++    string dir() const {
++        int index = path.rfind(sgDirPathSep);
++        if (index >= 0) {
++	    return path.substr(0, index);
++        } else {
++	    return "";
++        }
++    }
+   
+     /**
+      * Get the base part of the path (everything but the extension.)
+@@ -141,26 +229,76 @@
+      * Create the designated directory.
+      * @return 0 on success, or <0 on failure.
+      */
+-    int create_dir(mode_t mode);
++    int create_dir(mode_t mode) {
++        string_list dirlist = sgPathSplit(dir());
++        if ( dirlist.empty() )
++            return -1;
++        string path = dirlist[0];
++        string_list path_elements = sgPathBranchSplit(path);
++        bool absolute = !path.empty() && path[0] == sgDirPathSep;
++
++        unsigned int i = 1;
++        SGPath dir = absolute ? string( 1, sgDirPathSep ) : "";
++        dir.concat( path_elements[0] );
++#ifdef _WIN32
++        if ( dir.str().find(':') != string::npos && path_elements.size() >= 2 ) {
++            dir.append( path_elements[1] );
++            i = 2;
++        }
++#endif
++        struct stat info;
++        int r;
++        for(; ( r = stat( dir.c_str(), &info ) ) == 0 && i < path_elements.size(); i++) {
++            dir.append(path_elements[i]);
++        }
++        if ( r == 0 ) {
++            return 0; // Directory already exists
++        }
++#ifdef _WIN32
++#  define sgMkDir(d,m)       _mkdir(d)
++#else
++#  define sgMkDir(d,m)       mkdir(d,m)
++#endif
++        if ( sgMkDir( dir.c_str(), mode) ) {
++            SG_LOG( SG_IO, SG_ALERT, "Error creating directory: " + dir.str() );
++            return -2;
++        }
++        for(; i < path_elements.size(); i++) {
++            dir.append(path_elements[i]);
++            if ( sgMkDir( dir.c_str(), mode) ) {
++                SG_LOG( SG_IO, SG_ALERT, "Error creating directory: " + dir.str() );
++                return -2;
++            }
++        }
++
++        return 0;
++    }
+ 
+ private:
+ 
+-    void fix();
++    // If Unix, replace all ":" with "/".  If MacOS, replace all "/" with
++    // ":" it should go without saying that neither of these characters
++    // should be used in file or directory names.  In windoze, allow the
++    // second character to be a ":" for things like c:\foo\bar
++
++    void fix()
++    {
++        for ( string::size_type i = 0; i < path.size(); ++i ) {
++#if defined( WIN32 )
++	    // for windoze, don't replace the ":" for the second character
++	    if ( i == 1 ) {
++	        continue;
++	    }
++#endif
++	    if ( path[i] == sgDirPathSepBad ) {
++	        path[i] = sgDirPathSep;
++	    }
++        }
++    }
+ 
+ };
+ 
+ 
+-/**
+- * Split a directory string into a list of it's parent directories.
+- */
+-string_list sgPathBranchSplit( const string &path );
+-
+-/**
+- * Split a directory search path into a vector of individual paths
+- */
+-string_list sgPathSplit( const string &search_path );
+-
+-
+ #endif // _SG_PATH_HXX
+ 
+ 
diff --git a/SimGear-2.0.0-untangle-timestamp.patch b/SimGear-2.0.0-untangle-timestamp.patch
new file mode 100644
index 0000000..97f1a78
--- /dev/null
+++ b/SimGear-2.0.0-untangle-timestamp.patch
@@ -0,0 +1,187 @@
+diff -uNrp SimGear-2.0.0.orig/simgear/timing/timestamp.cxx SimGear-2.0.0/simgear/timing/timestamp.cxx
+--- SimGear-2.0.0.orig/simgear/timing/timestamp.cxx	2010-02-17 16:39:22.000000000 +0100
++++ SimGear-2.0.0/simgear/timing/timestamp.cxx	2010-02-26 23:09:15.826492455 +0100
+@@ -24,83 +24,6 @@
+ // $Id$
+ 
+ 
+-#ifdef HAVE_CONFIG_H
+-#  include <simgear_config.h>
+-#endif
+-
+-#include <simgear/compiler.h>
+-
+-#include <ctime>
+-
+-#ifdef HAVE_SYS_TIMEB_H
+-#  include <sys/timeb.h> // for ftime() and struct timeb
+-#endif
+-#ifdef HAVE_UNISTD_H
+-#  include <unistd.h>    // for gettimeofday() and the _POSIX_TIMERS define
+-#endif
+-#ifdef HAVE_SYS_TIME_H
+-#  include <sys/time.h>  // for get/setitimer, gettimeofday, struct timeval
+-#endif
+-
+-#if defined(_POSIX_TIMERS) && (0 < _POSIX_TIMERS)
+-#  include <time.h>
+-#  include <errno.h>
+-#endif
+-
+-#ifdef WIN32
+-#  include <windows.h>
+-#  if defined( __CYGWIN__ ) || defined( __CYGWIN32__ )
+-#    define NEAR /* */
+-#    define FAR  /* */
+-#  endif
+-#  include <mmsystem.h>
+-#endif
+-
+ #include "timestamp.hxx"
+ 
+-void SGTimeStamp::stamp() {
+-#ifdef _WIN32
+-    unsigned int t;
+-    t = timeGetTime();
+-    _sec = t / 1000;
+-    _nsec = ( t - ( _sec * 1000 ) ) * 1000 * 1000;
+-#elif defined(_POSIX_TIMERS) && (0 < _POSIX_TIMERS)
+-    struct timespec ts;
+-#if defined(_POSIX_MONOTONIC_CLOCK)
+-    static clockid_t clockid = CLOCK_MONOTONIC;
+-    static bool firstTime = true;
+-    if (firstTime) {
+-        firstTime = false;
+-        // For the first time test if the monotonic clock is available.
+-        // If so use this if not use the realtime clock.
+-        if (-1 == clock_gettime(clockid, &ts) && errno == EINVAL)
+-            clockid = CLOCK_REALTIME;
+-    }
+-    clock_gettime(clockid, &ts);
+-#else
+-    clock_gettime(CLOCK_REALTIME, &ts);
+-#endif
+-    _sec = ts.tv_sec;
+-    _nsec = ts.tv_nsec;
+-#elif defined( HAVE_GETTIMEOFDAY )
+-    struct timeval current;
+-    struct timezone tz;
+-    // sg_timestamp currtime;
+-    gettimeofday(&current, &tz);
+-    _sec = current.tv_sec;
+-    _nsec = current.tv_usec * 1000;
+-#elif defined( HAVE_GETLOCALTIME )
+-    SYSTEMTIME current;
+-    GetLocalTime(&current);
+-    _sec = current.wSecond;
+-    _nsec = current.wMilliseconds * 1000 * 1000;
+-#elif defined( HAVE_FTIME )
+-    struct timeb current;
+-    ftime(&current);
+-    _sec = current.time;
+-    _nsec = current.millitm * 1000 * 1000;
+-#else
+-# error Port me
+-#endif
+-}
+-
++// empty, all inline class now.
+diff -uNrp SimGear-2.0.0.orig/simgear/timing/timestamp.hxx SimGear-2.0.0/simgear/timing/timestamp.hxx
+--- SimGear-2.0.0.orig/simgear/timing/timestamp.hxx	2010-02-17 16:39:22.000000000 +0100
++++ SimGear-2.0.0/simgear/timing/timestamp.hxx	2010-02-26 23:09:23.070286905 +0100
+@@ -32,12 +32,42 @@
+ # error This library requires C++
+ #endif
+ 
++#ifdef HAVE_CONFIG_H
++#  include <simgear_config.h>
++#endif
++
+ #include <iosfwd>
+ #include <iomanip>
+ #include <sstream>
+ #include <simgear/compiler.h>
+ #include <simgear/math/SGCMath.hxx>
+ 
++#include <ctime>
++
++#ifdef HAVE_SYS_TIMEB_H
++#  include <sys/timeb.h> // for ftime() and struct timeb
++#endif
++#ifdef HAVE_UNISTD_H
++#  include <unistd.h>    // for gettimeofday() and the _POSIX_TIMERS define
++#endif
++#ifdef HAVE_SYS_TIME_H
++#  include <sys/time.h>  // for get/setitimer, gettimeofday, struct timeval
++#endif
++
++#if defined(_POSIX_TIMERS) && (0 < _POSIX_TIMERS)
++#  include <time.h>
++#  include <errno.h>
++#endif
++
++#ifdef WIN32
++#  include <windows.h>
++#  if defined( __CYGWIN__ ) || defined( __CYGWIN32__ )
++#    define NEAR /* */
++#    define FAR  /* */
++#  endif
++#  include <mmsystem.h>
++#endif
++
+ /**
+  * The SGTimeStamp class allows you to mark and compare time stamps
+  * with nanosecond accuracy (if your system has support for this
+@@ -76,7 +106,51 @@ public:
+ //     { setTime(sec); }
+ 
+     /** Update stored time to current time (seconds and nanoseconds) */
+-    void stamp();
++    void stamp() {
++#ifdef _WIN32
++        unsigned int t;
++        t = timeGetTime();
++        _sec = t / 1000;
++        _nsec = ( t - ( _sec * 1000 ) ) * 1000 * 1000;
++#elif defined(_POSIX_TIMERS) && (0 < _POSIX_TIMERS)
++        struct timespec ts;
++#if defined(_POSIX_MONOTONIC_CLOCK)
++        static clockid_t clockid = CLOCK_MONOTONIC;
++        static bool firstTime = true;
++        if (firstTime) {
++            firstTime = false;
++            // For the first time test if the monotonic clock is available.
++            // If so use this if not use the realtime clock.
++            if (-1 == clock_gettime(clockid, &ts) && errno == EINVAL)
++                clockid = CLOCK_REALTIME;
++        }
++        clock_gettime(clockid, &ts);
++#else
++        clock_gettime(CLOCK_REALTIME, &ts);
++#endif
++        _sec = ts.tv_sec;
++        _nsec = ts.tv_nsec;
++#elif defined( HAVE_GETTIMEOFDAY )
++        struct timeval current;
++        struct timezone tz;
++        // sg_timestamp currtime;
++        gettimeofday(&current, &tz);
++        _sec = current.tv_sec;
++        _nsec = current.tv_usec * 1000;
++#elif defined( HAVE_GETLOCALTIME )
++        SYSTEMTIME current;
++        GetLocalTime(&current);
++        _sec = current.wSecond;
++        _nsec = current.wMilliseconds * 1000 * 1000;
++#elif defined( HAVE_FTIME )
++        struct timeb current;
++        ftime(&current);
++        _sec = current.time;
++        _nsec = current.millitm * 1000 * 1000;
++#else
++# error Port me
++#endif
++    }
+ 
+     /** Set the time from a double value */
+     void setTime(const double& seconds)
diff --git a/SimGear.spec b/SimGear.spec
index 9da26b5..d494b3f 100644
--- a/SimGear.spec
+++ b/SimGear.spec
@@ -1,17 +1,18 @@
 Name:		SimGear
-Version:	2.4.0
-Release:	1%{?dist}
+Version:	2.0.0
+Release:	6%{?dist}
 License:	GPLv2+
 Group:		System Environment/Libraries
 Summary:	Simulation library components
-URL:		http://simgear.sourceforge.net
-Source0:	http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/simgear-%{version}.tar.bz2
+URL:		http://www.simgear.org
+Source0:	http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/SimGear-%{version}.tar.gz
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Patch0:		SimGear-2.4.0-shared.patch
-Patch1:		SimGear-2.4.0-dont-build-noinst-programs.patch
-Patch2:		SimGear-2.4.0-dependencies.patch
+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
 Patch4:		SimGear-2.0.0-more-archs.patch
-Patch5:		SimGear-2.4.0-expat.patch
+Patch5:		SimGear-2.0.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
@@ -20,7 +21,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, apr-devel
+BuildRequires:	expat-devel
 
 %description
 SimGear is a set of open-source libraries designed to be used as building
@@ -39,27 +40,27 @@ Development headers and libraries for building applications against
 SimGear.
 
 %prep
-%setup -q -n simgear-%{version}
+%setup -q
 # automake / autoconf input file changes
 %patch0 -p1
-# 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
+# Some circular dependcy fixing, see bz 208678
+%patch1 -p1 -b .sg_path
+%patch2 -p1 -b .cloudfield
+%patch3 -p1 -b .timestamp
 # Fix compiling on pcc and alpha
 %patch4 -p1
 # Use expat
 %patch5 -p1 -b .expat
 
-# makes rpmlint happy
-find -name \*.cxx -o -name \*.hxx | xargs chmod -x
+chmod -x simgear/screen/GLBitmaps.cxx \
+	simgear/scene/model/persparam.?xx \
+	simgear/scene/sky/CloudShaderGeometry.?xx \
+	simgear/scene/tgdb/SGModelBin.hxx
 
 # 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!   
@@ -67,8 +68,9 @@ 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 %{?_smp_mflags} base_LIBS= openal_LIBS="-lalut -lopenal" \
+make base_LIBS= openal_LIBS="-lalut -lopenal" \
   opengl_LIBS="-lglut -lGLU -lGL -lXmu -lXt -lSM -lICE -lXi -lXext -lX11" expat_LIBS="-lexpat"
 
 %install
@@ -117,16 +119,12 @@ 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 6778b49..6d8ce8c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-31f4ce7254a43229f050a8f86d6966ef  simgear-2.4.0.tar.bz2
+414bea545ea1e8ce17e4aa0809159cec  SimGear-2.0.0.tar.gz


More information about the scm-commits mailing list