Skip to content

Commit

Permalink
Use gcc/g++ 4.9 for Linux builds
Browse files Browse the repository at this point in the history
Not all current Linux systems have support for the gcc/g++ 5.x shared
libraries; this should provide better compatibility
  • Loading branch information
djp952 committed Feb 16, 2017
1 parent 217fcbc commit f1a2c9d
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 29 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Open "Bash on Ubuntu on Windows"
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install gcc g++ gcc-multilib g++-multilib libssl-dev libssl-dev:i386
sudo apt-get install gcc-4.9 g++-4.9 gcc-4.9-multilib g++-4.9-multilib
```

**BUILD**
Expand Down
44 changes: 22 additions & 22 deletions msbuild.proj
Original file line number Diff line number Diff line change
Expand Up @@ -33,31 +33,31 @@

<!-- Linux/i686 -->
<MakeDir Directories="out\i686" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;gcc $(CPPFLAGS) $(CFLAGS) -m32 -DSQLITE_THREADSAFE=2 -DSQLITE_ENABLE_JSON1 -c ../external-sqlite/sqlite3.c -o out/i686/sqlite3.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/addoncallbacks.cpp -o out/i686/addoncallbacks.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/database.cpp -o out/i686/database.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/dbextension.cpp -o out/i686/dbextension.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/livestream.cpp -o out/i686/livestream.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/pvr.cpp -o out/i686/pvr.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/pvrcallbacks.cpp -o out/i686/pvrcallbacks.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/scheduler.cpp -o out/i686/scheduler.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/sqlite_exception.cpp -o out/i686/sqlite_exception.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ -m32 -shared out/i686/addoncallbacks.o out/i686/database.o out/i686/dbextension.o out/i686/livestream.o out/i686/pvr.o out/i686/pvrcallbacks.o out/i686/scheduler.o out/i686/sqlite3.o out/i686/sqlite_exception.o ../prebuilt-libcurl/lib/linux-i686/libcurl.a ../prebuilt-libuuid/lib/linux-i686/libuuid.a -ldl -lpthread -lssl -lcrypto -lz -o out/i686/zuki.pvr.hdhomerundvr.so&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;gcc -I../external-sqlite -m32 -DSQLITE_ENABLE_JSON1 ../external-sqlite/sqlite3.c ../external-sqlite/shell.c -o out/i686/sqlite3 -ldl -lpthread&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;gcc-4.9 $(CPPFLAGS) $(CFLAGS) -m32 -DSQLITE_THREADSAFE=2 -DSQLITE_ENABLE_JSON1 -c ../external-sqlite/sqlite3.c -o out/i686/sqlite3.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/addoncallbacks.cpp -o out/i686/addoncallbacks.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/database.cpp -o out/i686/database.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/dbextension.cpp -o out/i686/dbextension.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/livestream.cpp -o out/i686/livestream.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/pvr.cpp -o out/i686/pvr.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/pvrcallbacks.cpp -o out/i686/pvrcallbacks.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/scheduler.cpp -o out/i686/scheduler.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -m32 -c src/sqlite_exception.cpp -o out/i686/sqlite_exception.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 -m32 -shared out/i686/addoncallbacks.o out/i686/database.o out/i686/dbextension.o out/i686/livestream.o out/i686/pvr.o out/i686/pvrcallbacks.o out/i686/scheduler.o out/i686/sqlite3.o out/i686/sqlite_exception.o ../prebuilt-libcurl/lib/linux-i686/libcurl.a ../prebuilt-libuuid/lib/linux-i686/libuuid.a -ldl -lpthread -lssl -lcrypto -lz -o out/i686/zuki.pvr.hdhomerundvr.so&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;gcc-4.9 -I../external-sqlite -m32 -DSQLITE_ENABLE_JSON1 ../external-sqlite/sqlite3.c ../external-sqlite/shell.c -o out/i686/sqlite3 -ldl -lpthread&quot;" ContinueOnError="false"/>

<!-- Linux/x86_64 -->
<MakeDir Directories="out\x86_64" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;gcc $(CPPFLAGS) $(CFLAGS) -DSQLITE_THREADSAFE=2 -DSQLITE_ENABLE_JSON1 -c ../external-sqlite/sqlite3.c -o out/x86_64/sqlite3.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -c src/addoncallbacks.cpp -o out/x86_64/addoncallbacks.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -c src/database.cpp -o out/x86_64/database.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -c src/dbextension.cpp -o out/x86_64/dbextension.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -c src/livestream.cpp -o out/x86_64/livestream.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -c src/pvr.cpp -o out/x86_64/pvr.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -c src/pvrcallbacks.cpp -o out/x86_64/pvrcallbacks.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -c src/scheduler.cpp -o out/x86_64/scheduler.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ $(CPPFLAGS) $(CXXFLAGS) -c src/sqlite_exception.cpp -o out/x86_64/sqlite_exception.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++ -shared out/x86_64/addoncallbacks.o out/x86_64/database.o out/x86_64/dbextension.o out/x86_64/livestream.o out/x86_64/pvr.o out/x86_64/pvrcallbacks.o out/x86_64/scheduler.o out/x86_64/sqlite3.o out/x86_64/sqlite_exception.o ../prebuilt-libcurl/lib/linux-x86_64/libcurl.a ../prebuilt-libuuid/lib/linux-x86_64/libuuid.a -ldl -lpthread -lssl -lcrypto -lz -o out/x86_64/zuki.pvr.hdhomerundvr.so&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;gcc -I../external-sqlite -DSQLITE_ENABLE_JSON1 ../external-sqlite/sqlite3.c ../external-sqlite/shell.c -o out/x86_64/sqlite3 -ldl -lpthread&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;gcc-4.9 $(CPPFLAGS) $(CFLAGS) -DSQLITE_THREADSAFE=2 -DSQLITE_ENABLE_JSON1 -c ../external-sqlite/sqlite3.c -o out/x86_64/sqlite3.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -c src/addoncallbacks.cpp -o out/x86_64/addoncallbacks.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -c src/database.cpp -o out/x86_64/database.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -c src/dbextension.cpp -o out/x86_64/dbextension.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -c src/livestream.cpp -o out/x86_64/livestream.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -c src/pvr.cpp -o out/x86_64/pvr.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -c src/pvrcallbacks.cpp -o out/x86_64/pvrcallbacks.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -c src/scheduler.cpp -o out/x86_64/scheduler.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 $(CPPFLAGS) $(CXXFLAGS) -c src/sqlite_exception.cpp -o out/x86_64/sqlite_exception.o&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;g++-4.9 -shared out/x86_64/addoncallbacks.o out/x86_64/database.o out/x86_64/dbextension.o out/x86_64/livestream.o out/x86_64/pvr.o out/x86_64/pvrcallbacks.o out/x86_64/scheduler.o out/x86_64/sqlite3.o out/x86_64/sqlite_exception.o ../prebuilt-libcurl/lib/linux-x86_64/libcurl.a ../prebuilt-libuuid/lib/linux-x86_64/libuuid.a -ldl -lpthread -lssl -lcrypto -lz -o out/x86_64/zuki.pvr.hdhomerundvr.so&quot;" ContinueOnError="false"/>
<Exec Command="$(BashExe) -c &quot;gcc-4.9 -I../external-sqlite -DSQLITE_ENABLE_JSON1 ../external-sqlite/sqlite3.c ../external-sqlite/shell.c -o out/x86_64/sqlite3 -ldl -lpthread&quot;" ContinueOnError="false"/>

</Target>

Expand Down
10 changes: 7 additions & 3 deletions pvr.hdhomerundvr/addon-linux.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<addon id="pvr.hdhomerundvr" version="1.0.0" name="HDHomeRun DVR PVR Client" provider-name="Michael Brehm (djp952)">
<addon id="pvr.hdhomerundvr" version="1.0.1" name="HDHomeRun DVR PVR Client" provider-name="Michael Brehm (djp952)">
<requires>
<import addon="xbmc.pvr" version="5.2.1"/>
</requires>
Expand All @@ -8,8 +8,12 @@
<summary lang="en_GB">HDHomeRun DVR PVR Client</summary>
<description lang="en_GB">HDHomeRun DVR frontend. Supports streaming Live TV, Recordings, Electronic Program Guide (EPG) and Timers. Requires a SiliconDust HDHomeRun DVR Service subscription (https://www.silicondust.com/dvr-service) and an active HDHomeRun RECORD device on the local network.</description>
<news>
v1.0.0
- Initial release
v1.0.1
- Fix minor problem with one database table not being truncated at startup
- (Linux) Use older GNU C++ Compiler (g++ 4.9) for better system compatibility

v1.0.0
- Initial release
</news>
<license>MIT License (https://opensource.org/licenses/MIT)</license>
<website>https://github.com/djp952/pvr.hdhomerundvr/wiki</website>
Expand Down
12 changes: 9 additions & 3 deletions pvr.hdhomerundvr/addon-windows.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<addon id="pvr.hdhomerundvr" version="1.0.0" name="HDHomeRun DVR PVR Client" provider-name="Michael Brehm (djp952)">
<addon id="pvr.hdhomerundvr" version="1.0.1" name="HDHomeRun DVR PVR Client" provider-name="Michael Brehm (djp952)">
<requires>
<import addon="xbmc.pvr" version="5.2.1"/>
</requires>
<extension point="xbmc.pvrclient" needs_configuration="false" library_windx="zuki.pvr.hdhomerundvr.dll"/>
<extension point="xbmc.addon.metadata">
<summary lang="en_GB">HDHomeRun DVR PVR Client</summary>
<description lang="en_GB">HDHomeRun DVR frontend. Supports streaming Live TV, Recordings, Electronic Program Guide (EPG) and Timers. Requires a SiliconDust HDHomeRun DVR Service subscription (https://www.silicondust.com/dvr-service) and an active HDHomeRun RECORD device on the local network.</description>
<news>v1.0.0
- Initial release</news>
<news>
v1.0.1
- Fix minor problem with one database table not being truncated at startup
- (Linux) Use older GNU C++ Compiler (g++ 4.9) for better system compatibility

v1.0.0
- Initial release
</news>
<license>MIT License (https://opensource.org/licenses/MIT)</license>
<website>https://github.com/djp952/pvr.hdhomerundvr/wiki</website>
<source>https://github.com/djp952/pvr.hdhomerundvr</source>
Expand Down
2 changes: 1 addition & 1 deletion src/version.ini
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@
Company=Michael G. Brehm
Copyright=
Product=zuki.pvr.hdhomerundvr
Version=1.0.0
Version=1.0.1

0 comments on commit f1a2c9d

Please sign in to comment.