948666dfde
Last official release is 2 years ago. Current master branch provides fixes and improvements: - fix crash with usbfs mmap with usb controler has no DMA support and kernel < 5.6 [1]. - better SDR dongle configuration This patch: - bump librtlsdr to d794155ba65796a76cd0a436f9709f4601509320 (2020/03/18) - adapt 0001-disable_shared_library_target_in_build.patch (http://lists.osmocom.org/pipermail/osmocom-sdr/2020-May/002075.html) - add option to enable/disable zerocopy buffer on non arm platform [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/usb/core?h=v5.8-rc3&id=a0e710a7def471b8eb779ff551fc27701da49599 Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
130 lines
5.1 KiB
Diff
130 lines
5.1 KiB
Diff
From c8878472bf84c656979ea1d07e7ed55b0aa2c939 Mon Sep 17 00:00:00 2001
|
|
From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
|
|
Date: Fri, 15 May 2020 16:14:48 +0200
|
|
Subject: [PATCH] disable shared library target in build
|
|
|
|
Disable shared library target if BUILD_SHARED_LIBS if OFF.
|
|
|
|
Patch retrieved from
|
|
https://git.buildroot.net/buildroot/tree/package/librtlsdr/0001-disable_shared_library_target_in_build.patch?h=2020.02.x
|
|
|
|
Patch has been updated to work with master and to be able to keep current
|
|
behavior of building shared and static version of library if
|
|
BUILD_SHARED_LIBS and BUILD_STATIC_LIBS are both set.
|
|
Moreover, if BUILD_STATIC_LIBS is OFF, only shared version of library
|
|
will be install.
|
|
|
|
[Upstream status: http://lists.osmocom.org/pipermail/osmocom-sdr/2020-May/002075.html]
|
|
|
|
Signed-off-by: Yuvaraj Patil <yuvaraj.patil@wipro.com>
|
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
|
|
---
|
|
src/CMakeLists.txt | 30 +++++++++++++++++++++---------
|
|
1 file changed, 21 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
|
index 33faee7..d82fc87 100644
|
|
--- a/src/CMakeLists.txt
|
|
+++ b/src/CMakeLists.txt
|
|
@@ -18,6 +18,8 @@
|
|
########################################################################
|
|
# Setup shared library variant
|
|
########################################################################
|
|
+option(BUILD_SHARED_LIBS "Build shared library" ON)
|
|
+if(BUILD_SHARED_LIBS)
|
|
add_library(rtlsdr SHARED librtlsdr.c
|
|
tuner_e4k.c tuner_fc0012.c tuner_fc0013.c tuner_fc2580.c tuner_r82xx.c)
|
|
target_link_libraries(rtlsdr PkgConfig::LIBUSB)
|
|
@@ -30,10 +32,14 @@ set_target_properties(rtlsdr PROPERTIES OUTPUT_NAME rtlsdr)
|
|
set_target_properties(rtlsdr PROPERTIES SOVERSION ${MAJOR_VERSION})
|
|
set_target_properties(rtlsdr PROPERTIES VERSION ${LIBVER})
|
|
generate_export_header(rtlsdr)
|
|
+list(APPEND rtlsdr_lib rtlsdr)
|
|
+endif()
|
|
|
|
########################################################################
|
|
# Setup static library variant
|
|
########################################################################
|
|
+option(BUILD_STATIC_LIBS "Build static library" ON)
|
|
+if(BUILD_STATIC_LIBS)
|
|
add_library(rtlsdr_static STATIC librtlsdr.c
|
|
tuner_e4k.c tuner_fc0012.c tuner_fc0013.c tuner_fc2580.c tuner_r82xx.c)
|
|
target_link_libraries(rtlsdr_static PkgConfig::LIBUSB)
|
|
@@ -47,6 +53,8 @@ if(NOT WIN32)
|
|
set_target_properties(rtlsdr_static PROPERTIES OUTPUT_NAME rtlsdr)
|
|
endif()
|
|
generate_export_header(rtlsdr_static)
|
|
+list(APPEND rtlsdr_lib rtlsdr_static)
|
|
+endif()
|
|
|
|
########################################################################
|
|
# Set up Windows DLL resource files
|
|
@@ -90,37 +98,37 @@ add_executable(rtl_eeprom rtl_eeprom.c)
|
|
add_executable(rtl_adsb rtl_adsb.c)
|
|
add_executable(rtl_power rtl_power.c)
|
|
add_executable(rtl_biast rtl_biast.c)
|
|
-set(INSTALL_TARGETS rtlsdr rtlsdr_static rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast)
|
|
+set(INSTALL_TARGETS ${rtlsdr_lib} rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast)
|
|
|
|
-target_link_libraries(rtl_sdr rtlsdr convenience_static
|
|
+target_link_libraries(rtl_sdr ${rtlsdr_lib} convenience_static
|
|
${LIBUSB_LIBRARIES}
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
)
|
|
-target_link_libraries(rtl_tcp rtlsdr convenience_static
|
|
+target_link_libraries(rtl_tcp ${rtlsdr_lib} convenience_static
|
|
${LIBUSB_LIBRARIES}
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
)
|
|
-target_link_libraries(rtl_test rtlsdr convenience_static
|
|
+target_link_libraries(rtl_test ${rtlsdr_lib} convenience_static
|
|
${LIBUSB_LIBRARIES}
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
)
|
|
-target_link_libraries(rtl_fm rtlsdr convenience_static
|
|
+target_link_libraries(rtl_fm ${rtlsdr_lib} convenience_static
|
|
${LIBUSB_LIBRARIES}
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
)
|
|
-target_link_libraries(rtl_eeprom rtlsdr convenience_static
|
|
+target_link_libraries(rtl_eeprom ${rtlsdr_lib} convenience_static
|
|
${LIBUSB_LIBRARIES}
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
)
|
|
-target_link_libraries(rtl_adsb rtlsdr convenience_static
|
|
+target_link_libraries(rtl_adsb ${rtlsdr_lib} convenience_static
|
|
${LIBUSB_LIBRARIES}
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
)
|
|
-target_link_libraries(rtl_power rtlsdr convenience_static
|
|
+target_link_libraries(rtl_power ${rtlsdr_lib} convenience_static
|
|
${LIBUSB_LIBRARIES}
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
)
|
|
-target_link_libraries(rtl_biast rtlsdr convenience_static
|
|
+target_link_libraries(rtl_biast ${rtlsdr_lib} convenience_static
|
|
${LIBUSB_LIBRARIES}
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
)
|
|
@@ -156,12 +164,16 @@ endif()
|
|
########################################################################
|
|
# Install built library files & utilities
|
|
########################################################################
|
|
+if(BUILD_SHARED_LIBS)
|
|
install(TARGETS rtlsdr EXPORT RTLSDR-export
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # .so/.dylib file
|
|
)
|
|
+endif()
|
|
+if(BUILD_STATIC_LIBS)
|
|
install(TARGETS rtlsdr_static EXPORT RTLSDR-export
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # .so/.dylib file
|
|
)
|
|
+endif()
|
|
install(TARGETS rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power
|
|
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
)
|
|
--
|
|
2.26.2
|
|
|