Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/origin/Jarvis-vs2017' into…
Browse files Browse the repository at this point in the history
… Jarvis
  • Loading branch information
djp952 committed Apr 16, 2017
2 parents 8b4eb70 + 6b3802f commit 18d5cc8
Show file tree
Hide file tree
Showing 11 changed files with 64 additions and 22 deletions.
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ Copyright (C)2017 Michael G. Brehm
**BUILD ENVIRONMENT**
* Windows 10 x64 15063
* Visual Studio 2013
* Visual Studio 2015 (with Git for Windows)
* Visual Studio 2017 (with VC++ 2015.3 v140 toolset and Windows 8.1 SDK)
* Bash on Ubuntu on Windows 16.04.1 LTS
* Android NDK r12b for Windows 64-bit
* Raspberry Pi development tools
* Optional: Android SDK tools r25.2.3 for Windows
* Optional: Oracle Java SE Runtime Environment 8

Expand All @@ -26,6 +27,7 @@ sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9 libc6-dev:i386 libstdc++-4.9-dev:i386 lib32gcc-4.9-dev
sudo apt-get install gcc-4.9-arm-linux-gnueabihf g++-4.9-arm-linux-gnueabihf gcc-4.9-arm-linux-gnueabi g++-4.9-arm-linux-gnueabi gcc-4.9-aarch64-linux-gnu g++-4.9-aarch64-linux-gnu
git clone https://github.com/raspberrypi/tools.git raspberrypi --depth=1
```

**CONFIGURE ANDROID NDK**
Expand Down Expand Up @@ -63,7 +65,7 @@ Download the latest jre-8xxx-windows-x64.tar.gz from Oracle:
```

**BUILD AND GENERATE KODI ADDON PACKAGES**
Open "Developer Command Prompt for VS2015"
Open "Developer Command Prompt for VS2017"
```
git clone https://github.com/djp952/pvr.hdhomerundvr -b Jarvis
cd pvr.hdhomerundvr
Expand All @@ -78,12 +80,13 @@ msbuild msbuild.proj
> out\zuki.pvr.hdhomerundvr-linux-aarch64-jarvis-x.x.x.x.zip (linux-aarch64)
> out\zuki.pvr.hdhomerundvr-android-arm-jarvis-x.x.x.x.zip (android-arm)
> out\zuki.pvr.hdhomerundvr-android-x86-jarvis-x.x.x.x.zip (android-x86)
> out\zuki.pvr.hdhomerundvr-raspbian-armhf-jarvis-x.x.x.x.zip (raspbian-armhf)
```

**BUILD AND GENERATE MODIFIED KODI ANDROID APKS**
Building the modified Kodi Android APKs requires a Java keystore to be specified on the build command line in order to sign the resultant APK files. For more information about APK signing and how to generate the keystore, please see [Sign Your App](https://developer.android.com/studio/publish/app-signing.html).

Open "Developer Command Prompt for VS2015"
Open "Developer Command Prompt for VS2017"
```
git clone https://github.com/djp952/pvr.hdhomerundvr -b Jarvis
cd pvr.hdhomerundvr
Expand Down
2 changes: 1 addition & 1 deletion depends/libcurl-nossl
2 changes: 1 addition & 1 deletion depends/libuuid
2 changes: 1 addition & 1 deletion depends/libz
10 changes: 10 additions & 0 deletions manifest/raspbian-armhf.manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<zip>
<file path="pvr.hdhomerundvr\addon.xml" source="tmp\addon-linux.xml" normalize="unix"/>
<file path="pvr.hdhomerundvr\changelog.txt" source="pvr.hdhomerundvr\changelog.txt" normalize="unix"/>
<file path="pvr.hdhomerundvr\icon.png" source="pvr.hdhomerundvr\icon.png"/>
<file path="pvr.hdhomerundvr\LICENSE.txt" source="LICENSE" normalize="unix"/>
<file path="pvr.hdhomerundvr\zuki.pvr.hdhomerundvr.so" source="out\raspbian-armhf\zuki.pvr.hdhomerundvr.so"/>
<file path="pvr.hdhomerundvr\resources\settings.xml" source="pvr.hdhomerundvr\resources\settings.xml" normalize="unix"/>
<file path="pvr.hdhomerundvr\resources\language\resource.language.en_gb\strings.po" source="pvr.hdhomerundvr\resources\language\resource.language.en_gb\strings.po" normalize="unix"/>
</zip>
32 changes: 31 additions & 1 deletion msbuild.proj
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,9 @@
<CPPFLAGS-linux-armel>-Wall -Wno-unknown-pragmas -Idepends/kodi-addon-dev-kit/kodi -Idepends/libcurl-nossl/linux-armel/include/curl -Idepends/libuuid/linux-armel/include -Idepends/libhdhomerun -Idepends/sqlite -Itmp/version</CPPFLAGS-linux-armel>
<CPPFLAGS-linux-armhf>-Wall -Wno-unknown-pragmas -Idepends/kodi-addon-dev-kit/kodi -Idepends/libcurl-nossl/linux-armhf/include/curl -Idepends/libuuid/linux-armhf/include -Idepends/libhdhomerun -Idepends/sqlite -Itmp/version</CPPFLAGS-linux-armhf>
<CPPFLAGS-linux-aarch64>-Wall -Wno-unknown-pragmas -Idepends/kodi-addon-dev-kit/kodi -Idepends/libcurl-nossl/linux-aarch64/include/curl -Idepends/libuuid/linux-aarch64/include -Idepends/libhdhomerun -Idepends/sqlite -Itmp/version</CPPFLAGS-linux-aarch64>
<CPPFLAGS-raspbian-armhf>-Wall -Wno-unknown-pragmas -Idepends/kodi-addon-dev-kit/kodi -Idepends/libcurl-nossl/raspbian-armhf/include/curl -Idepends/libuuid/raspbian-armhf/include -Idepends/libhdhomerun -Idepends/sqlite -Itmp/version</CPPFLAGS-raspbian-armhf>
<CFLAGS>-fPIC</CFLAGS>
<CXXFLAGS>-fPIC -std=c++14</CXXFLAGS>
<CXXFLAGS>-fPIC -std=c++11</CXXFLAGS>
<PackageVersion>$([System.IO.File]::ReadAllText(tmp\version\version.txt))</PackageVersion>
</PropertyGroup>

Expand Down Expand Up @@ -209,6 +210,33 @@
<Exec Command="$(BashExe) -c &quot;aarch64-linux-gnu-g++-4.9 $(CPPFLAGS-linux-aarch64) -shared -Wl,--version-script=src/hdhomerundvr.map out/linux-aarch64/addoncallbacks.o out/linux-aarch64/condition_variable.o out/linux-aarch64/database.o out/linux-aarch64/dbextension.o out/linux-aarch64/hdhr.o out/linux-aarch64/hdhomerun_channels.o out/linux-aarch64/hdhomerun_channelscan.o out/linux-aarch64/hdhomerun_control.o out/linux-aarch64/hdhomerun_debug.o out/linux-aarch64/hdhomerun_device.o out/linux-aarch64/hdhomerun_device_selector.o out/linux-aarch64/hdhomerun_discover.o out/linux-aarch64/hdhomerun_os_posix.o out/linux-aarch64/hdhomerun_pkt.o out/linux-aarch64/hdhomerun_sock_posix.o out/linux-aarch64/hdhomerun_video.o out/linux-aarch64/livestream.o out/linux-aarch64/pvr.o out/linux-aarch64/pvrcallbacks.o out/linux-aarch64/scheduler.o out/linux-aarch64/sqlite3.o out/linux-aarch64/sqlite_exception.o depends/libcurl-nossl/linux-aarch64/lib/libcurl.a depends/libz/linux-aarch64/lib/libz.a depends/libuuid/linux-aarch64/lib/libuuid.a -ldl -lpthread -o out/linux-aarch64/zuki.pvr.hdhomerundvr.so&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;aarch64-linux-gnu-gcc-4.9 $(CPPFLAGS-linux-aarch64) -DSQLITE_ENABLE_JSON1=1 depends/sqlite/sqlite3.c depends/sqlite/shell.c -o out/linux-aarch64/sqlite3 -ldl -lpthread&quot;" ContinueOnError="false"/>

<!-- raspbian-armhf -->
<MakeDir Directories="out\raspbian-armhf" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc $(CPPFLAGS-raspbian-armhf) $(CFLAGS) -c depends/libhdhomerun/hdhomerun_channels.c -o out/raspbian-armhf/hdhomerun_channels.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc $(CPPFLAGS-raspbian-armhf) $(CFLAGS) -c depends/libhdhomerun/hdhomerun_channelscan.c -o out/raspbian-armhf/hdhomerun_channelscan.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc $(CPPFLAGS-raspbian-armhf) $(CFLAGS) -c depends/libhdhomerun/hdhomerun_control.c -o out/raspbian-armhf/hdhomerun_control.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc $(CPPFLAGS-raspbian-armhf) $(CFLAGS) -c depends/libhdhomerun/hdhomerun_debug.c -o out/raspbian-armhf/hdhomerun_debug.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc $(CPPFLAGS-raspbian-armhf) $(CFLAGS) -c depends/libhdhomerun/hdhomerun_device.c -o out/raspbian-armhf/hdhomerun_device.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc $(CPPFLAGS-raspbian-armhf) $(CFLAGS) -c depends/libhdhomerun/hdhomerun_device_selector.c -o out/raspbian-armhf/hdhomerun_device_selector.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc $(CPPFLAGS-raspbian-armhf) $(CFLAGS) -c depends/libhdhomerun/hdhomerun_discover.c -o out/raspbian-armhf/hdhomerun_discover.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc $(CPPFLAGS-raspbian-armhf) $(CFLAGS) -c depends/libhdhomerun/hdhomerun_os_posix.c -o out/raspbian-armhf/hdhomerun_os_posix.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc $(CPPFLAGS-raspbian-armhf) $(CFLAGS) -c depends/libhdhomerun/hdhomerun_pkt.c -o out/raspbian-armhf/hdhomerun_pkt.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc $(CPPFLAGS-raspbian-armhf) $(CFLAGS) -c depends/libhdhomerun/hdhomerun_sock_posix.c -o out/raspbian-armhf/hdhomerun_sock_posix.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc $(CPPFLAGS-raspbian-armhf) $(CFLAGS) -c depends/libhdhomerun/hdhomerun_video.c -o out/raspbian-armhf/hdhomerun_video.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc $(CPPFLAGS-raspbian-armhf) $(CFLAGS) -DSQLITE_THREADSAFE=2 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_TEMP_STORE=3 -c depends/sqlite/sqlite3.c -o out/raspbian-armhf/sqlite3.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ $(CPPFLAGS-raspbian-armhf) $(CXXFLAGS) -c src/addoncallbacks.cpp -o out/raspbian-armhf/addoncallbacks.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ $(CPPFLAGS-raspbian-armhf) $(CXXFLAGS) -c src/condition_variable.cpp -o out/raspbian-armhf/condition_variable.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ $(CPPFLAGS-raspbian-armhf) $(CXXFLAGS) -c src/database.cpp -o out/raspbian-armhf/database.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ $(CPPFLAGS-raspbian-armhf) $(CXXFLAGS) -c src/dbextension.cpp -o out/raspbian-armhf/dbextension.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ $(CPPFLAGS-raspbian-armhf) $(CXXFLAGS) -c src/hdhr.cpp -o out/raspbian-armhf/hdhr.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ $(CPPFLAGS-raspbian-armhf) $(CXXFLAGS) -c src/livestream.cpp -o out/raspbian-armhf/livestream.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ $(CPPFLAGS-raspbian-armhf) $(CXXFLAGS) -c src/pvr.cpp -o out/raspbian-armhf/pvr.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ $(CPPFLAGS-raspbian-armhf) $(CXXFLAGS) -c src/pvrcallbacks.cpp -o out/raspbian-armhf/pvrcallbacks.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ $(CPPFLAGS-raspbian-armhf) $(CXXFLAGS) -c src/scheduler.cpp -o out/raspbian-armhf/scheduler.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ $(CPPFLAGS-raspbian-armhf) $(CXXFLAGS) -c src/sqlite_exception.cpp -o out/raspbian-armhf/sqlite_exception.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ $(CPPFLAGS-raspbian-armhf) -shared -Wl,--version-script=src/hdhomerundvr.map out/raspbian-armhf/addoncallbacks.o out/raspbian-armhf/condition_variable.o out/raspbian-armhf/database.o out/raspbian-armhf/dbextension.o out/raspbian-armhf/hdhr.o out/raspbian-armhf/hdhomerun_channels.o out/raspbian-armhf/hdhomerun_channelscan.o out/raspbian-armhf/hdhomerun_control.o out/raspbian-armhf/hdhomerun_debug.o out/raspbian-armhf/hdhomerun_device.o out/raspbian-armhf/hdhomerun_device_selector.o out/raspbian-armhf/hdhomerun_discover.o out/raspbian-armhf/hdhomerun_os_posix.o out/raspbian-armhf/hdhomerun_pkt.o out/raspbian-armhf/hdhomerun_sock_posix.o out/raspbian-armhf/hdhomerun_video.o out/raspbian-armhf/livestream.o out/raspbian-armhf/pvr.o out/raspbian-armhf/pvrcallbacks.o out/raspbian-armhf/scheduler.o out/raspbian-armhf/sqlite3.o out/raspbian-armhf/sqlite_exception.o depends/libcurl-nossl/raspbian-armhf/lib/libcurl.a depends/libz/raspbian-armhf/lib/libz.a depends/libuuid/raspbian-armhf/lib/libuuid.a -ldl -lpthread -o out/raspbian-armhf/zuki.pvr.hdhomerundvr.so&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;~/raspberrypi/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc $(CPPFLAGS-raspbian-armhf) -DSQLITE_ENABLE_JSON1=1 depends/sqlite/sqlite3.c depends/sqlite/shell.c -o out/raspbian-armhf/sqlite3 -ldl -lpthread&quot;" ContinueOnError="false"/>

<!-- android-arm -->
<!-- android-x86 -->
<Exec Command="&quot;$(ANDROID_NDK_ROOT)\ndk-build.cmd&quot; NDK_APPLICATION_MK=Application.mk NDK_PROJECT_PATH=. NDK_OUT=out NDK_LIBS_OUT=out" ContinueOnError="false"/>
Expand All @@ -225,6 +253,7 @@
<PackageFile-linux-armel>out\zuki.pvr.hdhomerundvr-linux-armel-$(KodiBaseline)-$(PackageVersion).zip</PackageFile-linux-armel>
<PackageFile-linux-armhf>out\zuki.pvr.hdhomerundvr-linux-armhf-$(KodiBaseline)-$(PackageVersion).zip</PackageFile-linux-armhf>
<PackageFile-linux-aarch64>out\zuki.pvr.hdhomerundvr-linux-aarch64-$(KodiBaseline)-$(PackageVersion).zip</PackageFile-linux-aarch64>
<PackageFile-raspbian-armhf>out\zuki.pvr.hdhomerundvr-raspbian-armhf-$(KodiBaseline)-$(PackageVersion).zip</PackageFile-raspbian-armhf>
<PackageFile-android-arm>out\zuki.pvr.hdhomerundvr-android-arm-$(KodiBaseline)-$(PackageVersion).zip</PackageFile-android-arm>
<PackageFile-android-x86>out\zuki.pvr.hdhomerundvr-android-x86-$(KodiBaseline)-$(PackageVersion).zip</PackageFile-android-x86>
</PropertyGroup>
Expand All @@ -235,6 +264,7 @@
<Exec Command="&quot;$(ZipperExe)&quot; create &quot;$(PackageFile-linux-armel)&quot; manifest\linux-armel.manifest" ContinueOnError="false"/>
<Exec Command="&quot;$(ZipperExe)&quot; create &quot;$(PackageFile-linux-armhf)&quot; manifest\linux-armhf.manifest" ContinueOnError="false"/>
<Exec Command="&quot;$(ZipperExe)&quot; create &quot;$(PackageFile-linux-aarch64)&quot; manifest\linux-aarch64.manifest" ContinueOnError="false"/>
<Exec Command="&quot;$(ZipperExe)&quot; create &quot;$(PackageFile-raspbian-armhf)&quot; manifest\raspbian-armhf.manifest" ContinueOnError="false"/>
<Exec Command="&quot;$(ZipperExe)&quot; create &quot;$(PackageFile-android-arm)&quot; manifest\android-arm.manifest" ContinueOnError="false"/>
<Exec Command="&quot;$(ZipperExe)&quot; create &quot;$(PackageFile-android-x86)&quot; manifest\android-x86.manifest" ContinueOnError="false"/>
</Target>
Expand Down
5 changes: 3 additions & 2 deletions pvr.hdhomerundvr.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
# Visual Studio 15
VisualStudioVersion = 15.0.26403.3
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hdhomerundvr", "src\hdhomerundvr.vcxproj", "{5B5A17F1-4312-4A64-A796-2818CE0906B4}"
ProjectSection(ProjectDependencies) = postProject
Expand Down Expand Up @@ -49,6 +49,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "manifest", "manifest", "{03
manifest\linux-armhf.manifest = manifest\linux-armhf.manifest
manifest\linux-i686.manifest = manifest\linux-i686.manifest
manifest\linux-x86_64.manifest = manifest\linux-x86_64.manifest
manifest\raspbian-armhf.manifest = manifest\raspbian-armhf.manifest
manifest\windows-win32.manifest = manifest\windows-win32.manifest
EndProjectSection
EndProject
Expand Down
Loading

0 comments on commit 18d5cc8

Please sign in to comment.