Switch to side-by-side view

--- a/ohbuild.sh
+++ b/ohbuild.sh
@@ -52,9 +52,32 @@
     dir=ohNet
     echo building $dir
     cd  $dir
-    # Apr 29 2015
-    git checkout 5118af2acce9a25123336b9d3526cc87cdb96386
-    make ohNetCore proxies devices TestFramework bundle || exit 1
+    # Nov 30 2015. Commits from early december broke ohNetGenerated
+    git checkout 0e22566e3da0eb9b40f4183e76254c6f2a3c2909 || exit 1
+
+    git checkout Makefile
+    # Note: the 'make: o: Command not found' errors originate in
+    # common.mak and are due to variable t4 being undefined. t4 is
+    # normally defined as 'mono' in T4Linux.mak, included in Makefile
+    # only if 'uset4' is set (which it is not by default). Common.mak
+    # should heed uset4, but it does not. This does not seem to have
+    # consequences, and the errors are suppressed by defining t4 as 'echo'
+    patch -p1 <<EOF
+diff --git a/Makefile b/Makefile
+index 7c0dae8..ddc4477 100644
+--- a/Makefile
++++ b/Makefile
+@@ -412,6 +412,7 @@ ifeq (\$(uset4), yes)
+ build_targets = \$(build_targets_base) tt
+ else
+ build_targets = \$(build_targets_base)
++t4 = echo
+ endif
+ default : all
+ 
+EOF
+
+    make native_only=yes || exit 1
 
     cd ..
 }
@@ -64,8 +87,24 @@
     dir=ohNetGenerated
     echo building $dir
     cd  $dir
-    # Apr 29 2015
-    git checkout 8deb7ffd2f8e99fdc56449dadcd7d4fbc96cb829
+    # Jul 30 2015
+    git checkout 92294ce514dbe38fa569fce8b58588f40bf09cdb || exit 1
+    git checkout Makefile
+    patch -p1 <<EOF
+diff --git a/Makefile b/Makefile
+index a7b84e3..9c335f8 100644
+--- a/Makefile
++++ b/Makefile
+@@ -359,6 +359,7 @@ ifeq (\$(uset4), yes)
+ build_targets = \$(build_targets_base) tt
+ else
+ build_targets = \$(build_targets_base)
++t4 = echo
+ endif
+ default : all
+
+EOF
+
     # e.g. Linux-x64, Linux-armhf
     arch=`basename $topdir/ohNet/Build/Bundles/ohNet-*-*.tar.gz | \
         sed -e s/ohNet-//  -e s/-[A-Z][a-z][a-z]*\.tar\.gz$//`
@@ -79,8 +118,8 @@
         tar xvzf $topdir/ohNet/Build/Bundles/ohNet-${arch}-${debug}.tar.gz
     ) || exit 1
 
-    # This should fail looking for some dll (csharp again), but that's ok
-    make
+
+    make native_only=yes
 
     # Copy the includes from here to the ohNet dir where ohTopology
     # will want them
@@ -95,26 +134,37 @@
     dir=ohdevtools
     echo building $dir
     cd  $dir
-    git checkout 52445477e4201b35b4ee5174bf90d25543cd1849
+
+    # Dec 9 2015
+    git checkout 77f4f971e2c62e84a7eab2a1bcf4aa3dc3590840 || exit 1
     # Nothing to build
     cd ..
 }
 
 
+# It appears that nothing compiled in topology is needed for Receivers
+# or Senders, only managers of those. Some of the include files are
+# needed (or at least used) though.
 build_ohTopology()
 {
     cd $topdir
     dir=ohTopology
     echo building $dir
     cd  $dir
-    # Apr 29 2015
-    git checkout 18f004621a7b0dc3add6ddfeec781bd3878ae42e
+
+    # Mar 17 2015
+    git checkout 18f004621a7b0dc3add6ddfeec781bd3878ae42e || exit 1
 	
-    ./go fetch --all --clean 
-
-    ./waf configure --ohnet=../ohNet --dest-platform=Linux-x86
-    # This fails, but it creates what we need.
-    ./waf build
+    #./go fetch --all --clean 
+    #./waf configure --ohnet=../ohNet --dest-platform=Linux-x86
+
+    # The build fails because of mono issues (trying to generate
+    # include files from templates, this is probably fixable as the e
+    # actual includes may exist somewhere).
+    #./waf build
+
+    mkdir -p build/Include/OpenHome/Av
+    cp -p OpenHome/Av/*.h build/Include/OpenHome/Av/
 
     cd ..
 }
@@ -126,26 +176,29 @@
     echo building $dir
     cd  $dir
 
-    # Apr 29 2015.
-    git checkout d3f6017a1ef133525f75f4d78e399e6fd6b70ce6
-
-    # This (used to?) fails because the link options are wrong
-    # (-lpthread should be at the end of the link line), but it builds
-    # the objs we need.
+    # Aug 19 2015
+    git checkout fe9b8a80080118f3bff9b44328975d10bc2c230b || exit 1
+
     make release=1 Receiver
+    # make release=1 WavSender
 }
 
 official_way()
 {
-# from README, actually Does not work, for reference
+    # from README, actually Does not work, for reference. Issues probably have
+    # something to do with lacking mono or wrong version
     cd ohNet
     make ohNetCore proxies devices TestFramework
     cd ../ohNetGenerated
+    ./go fetch --all
     make
     cd ../ohNetmon
-    make
+    ./go fetch --all
+    ./waf configure --ohnet=../ohNet
+    ./waf build
     cd ../ohTopology
-    ./waf configure --ohnet=../ohNet --debug --dest-platform=[Windows-x86|Mac-x86|Linux-x86]
+    ./go fetch --all
+    ./waf configure --ohnet=../ohNet
     ./waf build
     cd ../ohSongcast
     make release=1