diff --git a/README.html b/README.html index 173b04a..983f128 100644 --- a/README.html +++ b/README.html @@ -30,8 +30,7 @@
_If you cannot find a libplist-2.x package that installs on your older distribution, and you don’t wish to upgrade, see the instructions below (in the macOS section) on building libplist from source (you need autoconf, automake, libtool, and may need to also install some libpython*-dev package) but (unlike the statically-linked macOS case) do not uninstall the libplist library after building uxplay; it must remain installed. It is in /usr/local/lib. If uxplay fails to find libplist when you run it, this is probably because /usr/local/lib is not in the library path (by default, this is the case in ubuntu). To fix this, run “sudo ldconfig” (you might also need to create a file /etc/ld.so.conf.d/libplist.conf containing the text “/usr/local/lib” before running ldconfig) to permanently add /usr/local/lib to the library path._
Red Hat, Fedora, CentOS: (sudo yum install) openssl-devel libplist-devel avahi-compat-libdns_sd-devel (+libX11-devel for ZOOMFIX). The required GStreamer packages are: gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-libav gstreamer1-plugins-bad-free ( + gstreamer1-vaapi for intel graphics).
OpenSUSE: (sudo zypper install) libopenssl-devel libplist-devel avahi-compat-mDNSResponder-devel (+ libX11-devel for ZOOMFIX). The required GStreamer packages are: gstreamer-devel gstreamer-plugins-base-devel gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel graphics).
-FreeBSD: (sudo pkg install) libplist gstreamer1, gstreamer1-libav, gstreamer1-plugins, gstreamer1-plugins-* (* = core, good, bad, x, gtk, gl, vulkan, pulse …), (+ gstreamer1-vaapi for Intel graphics). Also install avahi-libdns unless you are using an alternative such as mDNSResponder for mdns-dnssd service (in that case, if dns_sd.h is not found, you may need to specify its location (e.g “export CPATH=/usr/local/include” if that is where it is) before running cmake.
-OpenSSL is already installed. “ZOOMFIX” is untested; don’t try to use it unless you need it.
+FreeBSD: (sudo pkg install) libplist gstreamer1, gstreamer1-libav, gstreamer1-plugins, gstreamer1-plugins-* (* = core, good, bad, x, gtk, gl, vulkan, pulse …), (+ gstreamer1-vaapi for Intel graphics). Either avahi-libdns or mDNSResponder must also be installed to provide the dns_sd library. OpenSSL is already installed as a System Library. “ZOOMFIX” is untested; don’t try to use it on FreeBSD unless you need it.
(Only tested on Intel X86_64 Macs)
Note: A native AirPlay Server feature is included in upcoming macOS 12 Monterey, but UxPlay can run on older macOS systems that will not be able to run Monterey.
diff --git a/README.md b/README.md index 879e5b5..0b07b5e 100644 --- a/README.md +++ b/README.md @@ -123,11 +123,9 @@ GStreamer packages are: gstreamer-devel gstreamer-plugins-base-devel gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel graphics). **FreeBSD:** (sudo pkg install) libplist gstreamer1, gstreamer1-libav, gstreamer1-plugins, gstreamer1-plugins-* -(\* = core, good, bad, x, gtk, gl, vulkan, pulse ...), (+ gstreamer1-vaapi for Intel graphics). Also install avahi-libdns unless you are using an alternative such -as mDNSResponder for mdns-dnssd service (in that case, if dns_sd.h is not found, you may need to specify its location (e.g "export CPATH=/usr/local/include" -if that is where it is) before running cmake. - -OpenSSL is already installed. "ZOOMFIX" is untested; don't try to use it unless you need it. +(\* = core, good, bad, x, gtk, gl, vulkan, pulse ...), (+ gstreamer1-vaapi for Intel graphics). +Either avahi-libdns or mDNSResponder must also be installed to provide the dns_sd library. +OpenSSL is already installed as a System Library. "ZOOMFIX" is untested; don't try to use it on FreeBSD unless you need it. # Building this version (macOS): diff --git a/README.txt b/README.txt index 9615034..962ea24 100644 --- a/README.txt +++ b/README.txt @@ -155,14 +155,11 @@ gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel graphics). **FreeBSD:** (sudo pkg install) libplist gstreamer1, gstreamer1-libav, gstreamer1-plugins, gstreamer1-plugins-\* (\* = core, good, bad, x, gtk, -gl, vulkan, pulse ...), (+ gstreamer1-vaapi for Intel graphics). Also -install avahi-libdns unless you are using an alternative such as -mDNSResponder for mdns-dnssd service (in that case, if dns\_sd.h is not -found, you may need to specify its location (e.g "export -CPATH=/usr/local/include" if that is where it is) before running cmake. - -OpenSSL is already installed. "ZOOMFIX" is untested; don't try to use it -unless you need it. +gl, vulkan, pulse ...), (+ gstreamer1-vaapi for Intel graphics). Either +avahi-libdns or mDNSResponder must also be installed to provide the +dns\_sd library. OpenSSL is already installed as a System Library. +"ZOOMFIX" is untested; don't try to use it on FreeBSD unless you need +it. Building this version (macOS): ============================== diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index c0a4b0f..22ed3d8 100755 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -80,13 +80,20 @@ if ( UNIX AND NOT APPLE ) if (AVAHI_DNSSD_FOUND) target_include_directories( airplay PUBLIC ${AVAHI_DNSSD_INCLUDE_DIRS} ) target_link_libraries( airplay ${AVAHI_DNSSD_LIBRARIES} ) - else() # this might still work if mdnsd (mDNSResponder) is present instead of avahi - find_library( DNS_SD dns_sd ) - if( NOT DNS_SD ) - message( FATAL_ERROR "libdns_sd not found: install avahi_compat-libdns_sd" ) - else() - target_link_libraries(airplay dns_sd ) + else() # UxPlay can also build if mDNSResponder or another implementation of dns_sd is present instead of Avahi + find_library( DNSSD dns_sd ) + if( NOT DNSSD ) + message( FATAL_ERROR "libdns_sd missing; can be provided by avahi_compat-libdns_sd or mDNSResponder." ) + else() + message( STATUS "dns_sd: found" ${DNSSD} ) endif() - endif() + find_path(DNSSD_INCLUDE_DIR dns_sd.h HINTS ${CMAKE_INSTALL_INCLUDEDIR} ) + if ( NOT DNSSD_INCLUDE_DIR ) + message( FATAL_ERROR " dns_sd.h not found ") + else() + message( STATUS "found dns_sd.h in " ${DNSSD_INCLUDE_DIR} ) + endif() + target_include_directories( airplay PUBLIC ${DNSSD_INCLUDE_DIR} ) + target_link_libraries(airplay dns_sd ) + endif() endif() -