Switch to unified view

a/ohbuild.sh b/ohbuild.sh
...
...
50
{
50
{
51
    cd $topdir
51
    cd $topdir
52
    dir=ohNet
52
    dir=ohNet
53
    echo building $dir
53
    echo building $dir
54
    cd  $dir
54
    cd  $dir
55
    # Apr 29 2015
55
    # Nov 30 2015. Commits from early december broke ohNetGenerated
56
    git checkout 5118af2acce9a25123336b9d3526cc87cdb96386
56
    git checkout 0e22566e3da0eb9b40f4183e76254c6f2a3c2909 || exit 1
57
    make ohNetCore proxies devices TestFramework bundle || exit 1
57
58
    git checkout Makefile
59
    # Note: the 'make: o: Command not found' errors originate in
60
    # common.mak and are due to variable t4 being undefined. t4 is
61
    # normally defined as 'mono' in T4Linux.mak, included in Makefile
62
    # only if 'uset4' is set (which it is not by default). Common.mak
63
    # should heed uset4, but it does not. This does not seem to have
64
    # consequences, and the errors are suppressed by defining t4 as 'echo'
65
    patch -p1 <<EOF
66
diff --git a/Makefile b/Makefile
67
index 7c0dae8..ddc4477 100644
68
--- a/Makefile
69
 b/Makefile
70
@@ -412,6 +412,7 @@ ifeq (\$(uset4), yes)
71
 build_targets = \$(build_targets_base) tt
72
 else
73
 build_targets = \$(build_targets_base)
74
t4 = echo
75
 endif
76
 default : all
77
 
78
EOF
79
80
    make native_only=yes || exit 1
58
81
59
    cd ..
82
    cd ..
60
}
83
}
61
84
62
build_ohNetGenerated()
85
build_ohNetGenerated()
63
{
86
{
64
    dir=ohNetGenerated
87
    dir=ohNetGenerated
65
    echo building $dir
88
    echo building $dir
66
    cd  $dir
89
    cd  $dir
67
    # Apr 29 2015
90
    # Jul 30 2015
68
    git checkout 8deb7ffd2f8e99fdc56449dadcd7d4fbc96cb829
91
    git checkout 92294ce514dbe38fa569fce8b58588f40bf09cdb || exit 1
92
    git checkout Makefile
93
    patch -p1 <<EOF
94
diff --git a/Makefile b/Makefile
95
index a7b84e3..9c335f8 100644
96
--- a/Makefile
97
 b/Makefile
98
@@ -359,6 +359,7 @@ ifeq (\$(uset4), yes)
99
 build_targets = \$(build_targets_base) tt
100
 else
101
 build_targets = \$(build_targets_base)
102
t4 = echo
103
 endif
104
 default : all
105
106
EOF
107
69
    # e.g. Linux-x64, Linux-armhf
108
    # e.g. Linux-x64, Linux-armhf
70
    arch=`basename $topdir/ohNet/Build/Bundles/ohNet-*-*.tar.gz | \
109
    arch=`basename $topdir/ohNet/Build/Bundles/ohNet-*-*.tar.gz | \
71
        sed -e s/ohNet-//  -e s/-[A-Z][a-z][a-z]*\.tar\.gz$//`
110
        sed -e s/ohNet-//  -e s/-[A-Z][a-z][a-z]*\.tar\.gz$//`
72
    # e.g. Debug, Release
111
    # e.g. Debug, Release
73
    debug=`basename $topdir/ohNet/Build/Bundles/ohNet-*-*.tar.gz | \
112
    debug=`basename $topdir/ohNet/Build/Bundles/ohNet-*-*.tar.gz | \
...
...
77
    mkdir -p "$sd"
116
    mkdir -p "$sd"
78
    (cd $sd;
117
    (cd $sd;
79
        tar xvzf $topdir/ohNet/Build/Bundles/ohNet-${arch}-${debug}.tar.gz
118
        tar xvzf $topdir/ohNet/Build/Bundles/ohNet-${arch}-${debug}.tar.gz
80
    ) || exit 1
119
    ) || exit 1
81
120
82
    # This should fail looking for some dll (csharp again), but that's ok
121
83
    make
122
    make native_only=yes
84
123
85
    # Copy the includes from here to the ohNet dir where ohTopology
124
    # Copy the includes from here to the ohNet dir where ohTopology
86
    # will want them
125
    # will want them
87
    tar cf - Build/Include | (cd $topdir/ohNet/;tar xvf -) || exit 1
126
    tar cf - Build/Include | (cd $topdir/ohNet/;tar xvf -) || exit 1
88
127
...
...
93
{
132
{
94
    cd $topdir
133
    cd $topdir
95
    dir=ohdevtools
134
    dir=ohdevtools
96
    echo building $dir
135
    echo building $dir
97
    cd  $dir
136
    cd  $dir
98
    git checkout 52445477e4201b35b4ee5174bf90d25543cd1849
137
138
    # Dec 9 2015
139
    git checkout 77f4f971e2c62e84a7eab2a1bcf4aa3dc3590840 || exit 1
99
    # Nothing to build
140
    # Nothing to build
100
    cd ..
141
    cd ..
101
}
142
}
102
143
103
144
145
# It appears that nothing compiled in topology is needed for Receivers
146
# or Senders, only managers of those. Some of the include files are
147
# needed (or at least used) though.
104
build_ohTopology()
148
build_ohTopology()
105
{
149
{
106
    cd $topdir
150
    cd $topdir
107
    dir=ohTopology
151
    dir=ohTopology
108
    echo building $dir
152
    echo building $dir
109
    cd  $dir
153
    cd  $dir
154
110
    # Apr 29 2015
155
    # Mar 17 2015
111
    git checkout 18f004621a7b0dc3add6ddfeec781bd3878ae42e
156
    git checkout 18f004621a7b0dc3add6ddfeec781bd3878ae42e || exit 1
112
    
157
    
113
    ./go fetch --all --clean 
158
    #./go fetch --all --clean 
114
115
    ./waf configure --ohnet=../ohNet --dest-platform=Linux-x86
159
    #./waf configure --ohnet=../ohNet --dest-platform=Linux-x86
116
    # This fails, but it creates what we need.
160
161
    # The build fails because of mono issues (trying to generate
162
    # include files from templates, this is probably fixable as the e
163
    # actual includes may exist somewhere).
117
    ./waf build
164
    #./waf build
165
166
    mkdir -p build/Include/OpenHome/Av
167
    cp -p OpenHome/Av/*.h build/Include/OpenHome/Av/
118
168
119
    cd ..
169
    cd ..
120
}
170
}
121
171
122
build_ohSongcast()
172
build_ohSongcast()
...
...
124
    cd $topdir
174
    cd $topdir
125
    dir=ohSongcast
175
    dir=ohSongcast
126
    echo building $dir
176
    echo building $dir
127
    cd  $dir
177
    cd  $dir
128
178
129
    # Apr 29 2015.
179
    # Aug 19 2015
130
    git checkout d3f6017a1ef133525f75f4d78e399e6fd6b70ce6
180
    git checkout fe9b8a80080118f3bff9b44328975d10bc2c230b || exit 1
131
181
132
    # This (used to?) fails because the link options are wrong
133
    # (-lpthread should be at the end of the link line), but it builds
134
    # the objs we need.
135
    make release=1 Receiver
182
    make release=1 Receiver
183
    # make release=1 WavSender
136
}
184
}
137
185
138
official_way()
186
official_way()
139
{
187
{
140
# from README, actually Does not work, for reference
188
    # from README, actually Does not work, for reference. Issues probably have
189
    # something to do with lacking mono or wrong version
141
    cd ohNet
190
    cd ohNet
142
    make ohNetCore proxies devices TestFramework
191
    make ohNetCore proxies devices TestFramework
143
    cd ../ohNetGenerated
192
    cd ../ohNetGenerated
193
    ./go fetch --all
144
    make
194
    make
145
    cd ../ohNetmon
195
    cd ../ohNetmon
146
    make
196
    ./go fetch --all
197
    ./waf configure --ohnet=../ohNet
198
    ./waf build
147
    cd ../ohTopology
199
    cd ../ohTopology
148
    ./waf configure --ohnet=../ohNet --debug --dest-platform=[Windows-x86|Mac-x86|Linux-x86]
200
    ./go fetch --all
201
    ./waf configure --ohnet=../ohNet
149
    ./waf build
202
    ./waf build
150
    cd ../ohSongcast
203
    cd ../ohSongcast
151
    make release=1
204
    make release=1
152
}
205
}
153
206