Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/origin/Krypton-vs2017' int…
Browse files Browse the repository at this point in the history
…o Krypton
  • Loading branch information
djp952 committed Apr 16, 2017
2 parents 0b26ea9 + fc257b2 commit ca109f9
Show file tree
Hide file tree
Showing 11 changed files with 67 additions and 27 deletions.
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ Copyright (C)2017 Michael G. Brehm

**BUILD ENVIRONMENT**
* Windows 10 x64 15063
* 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 @@ -25,6 +26,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 @@ -62,7 +64,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 Krypton
cd pvr.hdhomerundvr
Expand All @@ -79,6 +81,7 @@ msbuild msbuild.proj
> out\zuki.pvr.hdhomerundvr-android-arm-krypton-x.x.x.x.zip (android-arm)
> out\zuki.pvr.hdhomerundvr-android-aarch64-krypton-x.x.x.x.zip (android-aarch64)
> out\zuki.pvr.hdhomerundvr-android-x86-krypton-x.x.x.x.zip (android-x86)
> out\zuki.pvr.hdhomerundvr-raspbian-armhf-krypton-x.x.x.x.zip (raspbian-armhf)
```

**BUILD AND GENERATE MODIFIED KODI ANDROID APKS**
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
9 changes: 9 additions & 0 deletions manifest/raspbian-armhf.manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?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\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\icon.png" source="pvr.hdhomerundvr\resources\icon.png"/>
<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>
31 changes: 30 additions & 1 deletion msbuild.proj
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,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 @@ -208,6 +209,32 @@
<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/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/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/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-aarch64 -->
<!-- android-x86 -->
Expand All @@ -226,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-aarch64>out\zuki.pvr.hdhomerundvr-android-aarch64-$(KodiBaseline)-$(PackageVersion).zip</PackageFile-android-aarch64>
<PackageFile-android-x86>out\zuki.pvr.hdhomerundvr-android-x86-$(KodiBaseline)-$(PackageVersion).zip</PackageFile-android-x86>
Expand All @@ -238,6 +266,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-aarch64)&quot; manifest\android-aarch64.manifest" ContinueOnError="false"/>
<Exec Command="&quot;$(ZipperExe)&quot; create &quot;$(PackageFile-android-x86)&quot; manifest\android-x86.manifest" ContinueOnError="false"/>
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 @@ -50,6 +50,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
manifest\windows-x64.manifest = manifest\windows-x64.manifest
EndProjectSection
Expand Down
Loading

0 comments on commit ca109f9

Please sign in to comment.