prepare version for next release: 0.8

* removed version defines in rtl-sdr.h
version is now from single source: rtl_app_ver.h.in
* output version information with usage() - in all tools:
- of their build
- and the utilized library (.so)
* unified usage() messages over all tools

Signed-off-by: hayati ayguen <h_ayguen@web.de>
development
hayati ayguen 2020-08-21 05:18:01 -07:00
parent 7396271f26
commit 76ee57b74b
21 changed files with 167 additions and 121 deletions

View File

@ -24,6 +24,10 @@
cmake_minimum_required(VERSION 2.6)
project(rtlsdr C)
# quite old cmake version - probably for compatibility with old OS versions?
# see https://cmake.org/cmake/help/cmake2.6docs.html
#select the release build type by default to get optimization flags
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
@ -45,10 +49,20 @@ OPTION(WITH_RPC "RPC for non-Windows" OFF)
# Set the version information here
set(VERSION_INFO_MAJOR_VERSION 0) # increment major on api compatibility changes
set(VERSION_INFO_MINOR_VERSION 7) # increment minor on feature-level changes
set(VERSION_INFO_MINOR_VERSION 8) # increment minor on feature-level changes
set(VERSION_INFO_PATCH_VERSION git) # increment patch for bug fixes and docs
include(Version) # setup version info
########################################################################
# Version defines to include in library and tools
########################################################################
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/src/rtl_app_ver.h.in
${CMAKE_CURRENT_BINARY_DIR}/src/rtl_app_ver.h
@ONLY )
if(PROVIDE_UDP_SERVER AND WIN32)
add_definitions(-DWITH_UDP_SERVER)
endif()
@ -116,6 +130,7 @@ endif()
include_directories(
${CMAKE_SOURCE_DIR}/include
${LIBUSB_INCLUDE_DIR}
${CMAKE_CURRENT_BINARY_DIR}/src
${THREADS_PTHREADS_INCLUDE_DIR}
)

View File

@ -75,7 +75,7 @@ against librtlsdr's development branch (same date)
## Tools
* added rtl_ir:
print received IR signals.
display received IR signals.
* requires the IR diode of an RTL-SDR - which might not exist!
* added rtl_rpcd:

View File

@ -30,11 +30,6 @@ extern "C" {
#include <rtl-sdr_export.h>
#define RTLSDRLIB_VER_MAJOR 0
#define RTLSDRLIB_VER_MINOR 7
#define RTLSDRLIB_VER_ID "github.com/hayguen"
typedef struct rtlsdr_dev rtlsdr_dev_t;
RTLSDR_API uint32_t rtlsdr_get_device_count(void);
@ -608,9 +603,9 @@ RTLSDR_API int rtlsdr_set_tuner_i2c_override(rtlsdr_dev_t *dev, unsigned i2c_reg
/*!
* request version id string to identify source of library
* request version id string to identify source and date of library
*
* \return pointer to C string, e.g. "github.com/librtlsdr" or "github.com/hayguen" or .. with build date
* \return pointer to C string, e.g. "github.com/librtlsdr" or "github.com/hayguen" or .. with build date (in parantheses)
* string keeps owned by library
*/
RTLSDR_API const char * rtlsdr_get_ver_id();

View File

@ -78,7 +78,8 @@
/* two raised to the power of n */
#define TWO_POW(n) ((double)(1ULL<<(n)))
#include "rtl-sdr.h"
#include <rtl-sdr.h>
#include <rtl_app_ver.h>
#include "tuner_e4k.h"
#include "tuner_fc0012.h"
#include "tuner_fc0013.h"
@ -4068,11 +4069,11 @@ int rtlsdr_set_opt_string(rtlsdr_dev_t *dev, const char *opts, int verbose)
const char * rtlsdr_get_ver_id() {
return RTLSDRLIB_VER_ID " (" __DATE__ ")";
return APP_VER_ID " (" __DATE__ ")";
}
uint32_t rtlsdr_get_version() {
return ((uint32_t)RTLSDRLIB_VER_MAJOR << 16 ) | ((uint32_t)RTLSDRLIB_VER_MINOR );
return ((uint32_t)APP_VER_MAJOR << 16 ) | ((uint32_t)APP_VER_MINOR );
}

View File

@ -43,7 +43,8 @@
#include <pthread.h>
#include <libusb.h>
#include "rtl-sdr.h"
#include <rtl-sdr.h>
#include <rtl_app_ver.h>
#include "convenience/convenience.h"
#include "convenience/rtl_convenience.h"
@ -91,8 +92,14 @@ int adsb_frame[14];
void usage(void)
{
fprintf(stderr,
"rtl_adsb, a simple ADS-B decoder\n\n"
"Use:\trtl_adsb [-R] [-g gain] [-p ppm] [output file]\n"
"rtl_adsb, a simple ADS-B decoder\n"
"rtl_adsb version %d.%d %s (%s)\n"
"rtl-sdr library %d.%d %s\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__,
rtlsdr_get_version() >>16, rtlsdr_get_version() & 0xFFFF,
rtlsdr_get_ver_id() );
fprintf(stderr,
"Usage:\trtl_adsb [-R] [-g gain] [-p ppm] [output file]\n"
"\t[-d device_index or serial (default: 0)]\n"
"\t[-V verbove output (default: off)]\n"
"\t[-S show short frames (default: off)]\n"

View File

@ -1,8 +0,0 @@
#ifndef __RTL_APP_VER_H
#define __RTL_APP_VER_H
#define APP_VER_MAJOR 0
#define APP_VER_MINOR 7
#define APP_VER_ID "github.com/hayguen"
#endif

View File

@ -0,0 +1,11 @@
#ifndef __RTL_APP_VER_H
#define __RTL_APP_VER_H
#define APP_VER_MAJOR @MAJOR_VERSION@
#define APP_VER_MINOR @MINOR_VERSION@
#define APP_VER_ID "github.com/librtlsdr"
#define VER_TO_STRING(x) #x
#define VAL_VER_TO_STR(x) VER_TO_STRING(x)
#endif

View File

@ -28,7 +28,8 @@
#include "getopt/getopt.h"
#endif
#include "rtl-sdr.h"
#include <rtl-sdr.h>
#include <rtl_app_ver.h>
#include "convenience/convenience.h"
#include "convenience/rtl_convenience.h"
@ -37,11 +38,17 @@ static rtlsdr_dev_t *dev = NULL;
void usage(void)
{
fprintf(stderr,
"rtl_biast, a tool for turning the RTL-SDR.com \n"
"bias tee or any GPIO ON and OFF. Example to turn on the \n"
"bias tee: rtl_biast -d 0 -b 1\n"
"Any GPIO: rtl_biast -d 0 -g 1 -b 1\n\n"
"Usage:\n"
"rtl_biast, a tool for switching the RTL-SDR.com\n"
"bias tee or any GPIO ON and OFF. Example to activate\n"
"the bias tee: rtl_biast -d 0 -b 1\n"
"Any GPIO: rtl_biast -d 0 -g 1 -b 1\n"
"rtl_biast version %d.%d %s (%s)\n"
"rtl-sdr library %d.%d %s\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__,
rtlsdr_get_version() >>16, rtlsdr_get_version() & 0xFFFF,
rtlsdr_get_ver_id() );
fprintf(stderr,
"Usage:\trtl_biast [-options]\n"
"\t[-d device_index (default: 0)]\n"
"\t[-b bias_on (default: 0)]\n"
"\t[-g GPIO select (default: 0)]\n");

View File

@ -28,7 +28,8 @@
#include "getopt/getopt.h"
#endif
#include "rtl-sdr.h"
#include <rtl-sdr.h>
#include <rtl_app_ver.h>
#define EEPROM_SIZE 256
#define MAX_STR_SIZE 256
@ -67,9 +68,14 @@ void dump_config(rtlsdr_config_t *conf)
void usage(void)
{
fprintf(stderr,
"rtl_eeprom, an EEPROM programming tool for "
"RTL2832 based DVB-T receivers\n\n"
"Usage:\n"
"rtl_eeprom, an EEPROM programming tool for RTL2832 based SDR-receivers\n"
"rtl_eeprom version %d.%d %s (%s)\n"
"rtl-sdr library %d.%d %s\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__,
rtlsdr_get_version() >>16, rtlsdr_get_version() & 0xFFFF,
rtlsdr_get_ver_id() );
fprintf(stderr,
"Usage:\trtl_eeprom [-options]\n"
"\t[-d device_index (default: 0)]\n"
"\t[-m <str> set manufacturer string]\n"
"\t[-p <str> set product string]\n"

View File

@ -81,13 +81,12 @@
#include <pthread.h>
#include <libusb.h>
#include "rtl-sdr.h"
#include <rtl-sdr.h>
#include <rtl_app_ver.h>
#include "convenience/convenience.h"
#include "convenience/rtl_convenience.h"
#include "convenience/wavewrite.h"
#include "rtl_app_ver.h"
#define DEFAULT_SAMPLE_RATE 24000
#define DEFAULT_BUF_LENGTH (1 * 16384)
#define MAXIMUM_OVERSAMPLE 16
@ -257,18 +256,15 @@ struct cmd_state cmd;
void usage(void)
{
fprintf(stderr, "rtl_fm, a simple narrow band FM demodulator for RTL2832 based receivers\n");
fprintf(stderr, "rtl_fm version %u.%u %s (%s)\n",
APP_VER_MAJOR, APP_VER_MINOR,
APP_VER_ID, __DATE__ );
fprintf(stderr, "librtlsdr version %u.%u %s\n\n",
(unsigned)(rtlsdr_get_version() >> 16),
(unsigned)(rtlsdr_get_version() & 0xFFFFU),
rtlsdr_get_ver_id()
);
fprintf(stderr,
"Use:\trtl_fm -f freq [-options] [filename]\n"
"rtl_fm, a simple demodulator for RTL2832 based SDR-receivers\n"
"rtl_fm version %d.%d %s (%s)\n"
"rtl-sdr library %d.%d %s\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__,
rtlsdr_get_version() >>16, rtlsdr_get_version() & 0xFFFF,
rtlsdr_get_ver_id() );
fprintf(stderr,
"Usage:\trtl_fm -f freq [-options] [filename]\n"
"\t-f frequency_to_tune_to [Hz]\n"
"\t use multiple -f for scanning (requires squelch)\n"
"\t ranges supported, -f 118M:137M:25k\n"

View File

@ -47,7 +47,8 @@
#include <math.h>
#include <libusb.h>
#include "rtl-sdr.h"
#include <rtl-sdr.h>
#include <rtl_app_ver.h>
#include "convenience/convenience.h"
#include "convenience/rtl_convenience.h"
@ -70,8 +71,14 @@ struct dongle_state dongle;
void usage(void)
{
fprintf(stderr,
"rtl_ir\n\n"
"Use:\trtl_ir [-options]\n"
"rtl_ir, display received IR signals\n"
"rtl_ir version %d.%d %s (%s)\n"
"rtl-sdr library %d.%d %s\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__,
rtlsdr_get_version() >>16, rtlsdr_get_version() & 0xFFFF,
rtlsdr_get_ver_id() );
fprintf(stderr,
"Usage:\trtl_ir [-options]\n"
"\t[-d device_index (default: 0)]\n"
"\t[-w wait_usec]\tDelay to wait before each iteration (10000)\n"
"\t[-c max_count]\tMaximum number of loop iterations (0)\n"

View File

@ -66,7 +66,8 @@
#include <pthread.h>
#include <libusb.h>
#include "rtl-sdr.h"
#include <rtl-sdr.h>
#include <rtl_app_ver.h>
#include "convenience/convenience.h"
#include "convenience/rtl_convenience.h"
@ -123,8 +124,14 @@ int peak_hold = 0;
void usage(void)
{
fprintf(stderr,
"rtl_power, a simple FFT logger for RTL2832 based DVB-T receivers\n\n"
"Use:\trtl_power -f freq_range [-options] [filename]\n"
"rtl_power, a simple FFT logger for RTL2832 based SDR-receivers\n"
"rtl_power version %d.%d %s (%s)\n"
"rtl-sdr library %d.%d %s\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__,
rtlsdr_get_version() >>16, rtlsdr_get_version() & 0xFFFF,
rtlsdr_get_ver_id() );
fprintf(stderr,
"Usage:\trtl_power -f freq_range [-options] [filename]\n"
"\t-f lower:upper:bin_size [Hz]\n"
"\t (bin size is a maximum, smaller more convenient bins\n"
"\t will be used. valid range 1Hz - 2.8MHz)\n"

View File

@ -42,11 +42,10 @@
#endif
#endif
#include <rtl_app_ver.h>
#include "convenience/convenience.h"
#include "convenience/wavewrite.h"
#include "rtl_app_ver.h"
static volatile int do_exit = 0;
static int verbosity = 0;
@ -54,12 +53,12 @@ static int verbosity = 0;
void usage(void)
{
fprintf(stderr, "rtl_raw2wav, a raw (binary sampledata) to wave file converter\n");
fprintf(stderr, "rtl_raw2wav version %u.%u %s (%s)\n",
APP_VER_MAJOR, APP_VER_MINOR,
APP_VER_ID, __DATE__ );
fprintf(stderr,
"Use:\trtl_raw2wav -w <output_wave_filename> [-options] [input_raw_filename]\n"
"rtl_raw2wav, a raw (binary sampledata) to wave file converter\n"
"rtl_raw2wav version %d.%d %s (%s)\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__ );
fprintf(stderr,
"Usage:\trtl_raw2wav -w <output_wave_filename> [-options] [input_raw_filename]\n"
"\t-w filename output filename\n"
"\t-f frequency frequency, to write into output filename\n"
"\t-s samplerate samplerate, of raw input\n"

View File

@ -15,7 +15,9 @@
#include <netinet/in.h>
#include <netdb.h>
#include <pthread.h>
#include <rtl-sdr.h>
#include <rtl_app_ver.h>
#include "rtlsdr_rpc_msg.h"
@ -1122,9 +1124,15 @@ static int do_rpcd(rpcd_t* rpcd)
void usage(void)
{
fprintf(stderr,
"rtl_rpcd, a Remote Procedure Call server for RTL2832 based SDR-receivers\n"
"rtl_rpcd version %d.%d %s (%s)\n"
"rtl-sdr library %d.%d %s\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__,
rtlsdr_get_version() >>16, rtlsdr_get_version() & 0xFFFF,
rtlsdr_get_ver_id() );
fprintf(stderr,
"rtl_rpcd, a Remote Procedure Call server for RTL-SDR dongles\n\n"
"Use:\trtl_rpcd [-options]\n"
"Usage:\trtl_rpcd [-options]\n"
"\t[-a address]\tAddress to listen on (default: 0.0.0.0 for all), or RTLSDR_RPC_SERV_ADDR\n"
"\t[-p port]\tPort number to listen on (default: 40000), or RTLSDR_RPC_SERV_PORT\n"
"\t[-I port_ir]\tinfrared sensor listen port (default: 0=none)\n"

View File

@ -31,13 +31,12 @@
#include "getopt/getopt.h"
#endif
#include "rtl-sdr.h"
#include <rtl-sdr.h>
#include <rtl_app_ver.h>
#include "convenience/convenience.h"
#include "convenience/rtl_convenience.h"
#include "convenience/wavewrite.h"
#include "rtl_app_ver.h"
#define DEFAULT_SAMPLE_RATE 2048000
#define DEFAULT_BANDWIDTH 0 /* automatic bandwidth */
#define DEFAULT_BUF_LENGTH (16 * 16384)
@ -51,18 +50,15 @@ static rtlsdr_dev_t *dev = NULL;
void usage(void)
{
fprintf(stderr, "rtl_sdr, an I/Q recorder for RTL2832 based receivers\n");
fprintf(stderr, "rtl_sdr version %u.%u %s (%s)\n",
APP_VER_MAJOR, APP_VER_MINOR,
APP_VER_ID, __DATE__ );
fprintf(stderr, "librtlsdr version %u.%u %s\n\n",
(unsigned)(rtlsdr_get_version() >> 16),
(unsigned)(rtlsdr_get_version() & 0xFFFFU),
rtlsdr_get_ver_id()
);
fprintf(stderr,
"Usage:\t -f frequency_to_tune_to [Hz]\n"
"rtl_sdr, an I/Q recorder for RTL2832 based SDR-receivers\n"
"rtl_sdr version %d.%d %s (%s)\n"
"rtl-sdr library %d.%d %s\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__,
rtlsdr_get_version() >>16, rtlsdr_get_version() & 0xFFFF,
rtlsdr_get_ver_id() );
fprintf(stderr,
"Usage:\trtl_sdr -f frequency_to_tune_to [Hz]\n"
"\t[-s samplerate (default: 2048000 Hz)]\n"
"\t[-w tuner_bandwidth (default: automatic)]\n"
"\t[-d device_index or serial (default: 0)]\n"

View File

@ -43,8 +43,9 @@
#endif
#include <pthread.h>
#include "rtl-sdr.h"
#include "rtl_tcp.h"
#include <rtl-sdr.h>
#include <rtl_app_ver.h>
#include <rtl_tcp.h>
#include "convenience/convenience.h"
#include "convenience/rtl_convenience.h"
@ -102,17 +103,14 @@ static volatile int do_exit = 0;
void usage(void)
{
fprintf(stderr, "rtl_tcp, an I/Q spectrum server for RTL2832 based receivers\n");
fprintf(stderr, "rtl_tcp version %u.%u %s (%s)\n",
APP_VER_MAJOR, APP_VER_MINOR,
APP_VER_ID, __DATE__ );
fprintf(stderr, "librtlsdr version %u.%u %s\n\n",
(unsigned)(rtlsdr_get_version() >> 16),
(unsigned)(rtlsdr_get_version() & 0xFFFFU),
rtlsdr_get_ver_id()
);
fprintf(stderr, "Usage:\t[-a listen address]\n"
fprintf(stderr,
"rtl_tcp, an I/Q spectrum server for RTL2832 based SDR-receivers\n"
"rtl_tcp version %d.%d %s (%s)\n"
"rtl-sdr library %d.%d %s\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__,
rtlsdr_get_version() >>16, rtlsdr_get_version() & 0xFFFF,
rtlsdr_get_ver_id() );
fprintf(stderr, "Usage:\trtl_tcp [-a listen address]\n"
"\t[-p control listen port (default: 1234)]\n"
"\t[-r response listen port: 0 = off; 1 (=default) for On at control listen port +1; or port]\n"
"\t[-I infrared sensor listen port (default: 0=none)]\n"

View File

@ -40,7 +40,8 @@
#include "getopt/getopt.h"
#endif
#include "rtl-sdr.h"
#include <rtl-sdr.h>
#include <rtl_app_ver.h>
#include "convenience/convenience.h"
#include "convenience/rtl_convenience.h"
@ -88,8 +89,14 @@ static unsigned int ppm_duration = PPM_DURATION;
void usage(void)
{
fprintf(stderr,
"rtl_test, a benchmark tool for RTL2832 based DVB-T receivers\n\n"
"Usage:\n"
"rtl_test, a benchmark tool for RTL2832 based SDR-receivers\n"
"rtl_test version %d.%d %s (%s)\n"
"rtl-sdr library %d.%d %s\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__,
rtlsdr_get_version() >>16, rtlsdr_get_version() & 0xFFFF,
rtlsdr_get_ver_id() );
fprintf(stderr,
"Usage:\trtl_test [-options]\n"
"\t[-s samplerate (default: 2048000 Hz)]\n"
"\t[-d device_index or serial (default: 0)]\n"
"%s"

View File

@ -43,13 +43,12 @@
#endif
#include <pthread.h>
#include "rtl-sdr.h"
#include "rtl_tcp.h"
#include <rtl-sdr.h>
#include <rtl_app_ver.h>
#include <rtl_tcp.h>
#include "convenience/convenience.h"
#include "convenience/rtl_convenience.h"
#include "rtl_app_ver.h"
#ifdef _WIN32
#pragma comment(lib, "ws2_32.lib")
@ -99,17 +98,14 @@ static volatile int do_exit = 0;
void usage(void)
{
fprintf(stderr, "rtl_udp, an I/Q spectrum server for RTL2832 based receivers\n");
fprintf(stderr, "rtl_udp version %u.%u %s (%s)\n",
APP_VER_MAJOR, APP_VER_MINOR,
APP_VER_ID, __DATE__ );
fprintf(stderr, "librtlsdr version %u.%u %s\n\n",
(unsigned)(rtlsdr_get_version() >> 16),
(unsigned)(rtlsdr_get_version() & 0xFFFFU),
rtlsdr_get_ver_id()
);
fprintf(stderr, "Usage:\t[-a listen address]\n"
fprintf(stderr,
"rtl_udp, an I/Q spectrum server for RTL2832 based SDR-receivers\n"
"rtl_udp version %d.%d %s (%s)\n"
"rtl-sdr library %d.%d %s\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__,
rtlsdr_get_version() >>16, rtlsdr_get_version() & 0xFFFF,
rtlsdr_get_ver_id() );
fprintf(stderr, "Usage:\trtl_udp [-a listen address]\n"
"\t[-p listen port (default: 1234)]\n"
"\t[-I infrared sensor listen port (default: 0=none)]\n"
"\t[-W infrared sensor query wait interval usec (default: 10000)]\n"

View File

@ -42,11 +42,10 @@
#endif
#endif
#include <rtl_app_ver.h>
#include "convenience/convenience.h"
#include "convenience/waveread.h"
#include "rtl_app_ver.h"
static volatile int do_exit = 0;
static int verbosity = 0;
@ -54,10 +53,10 @@ static int verbosity = 0;
void usage(void)
{
fprintf(stderr, "rtl_wavestat, display wave file meta information\n");
fprintf(stderr, "rtl_wavestat version %u.%u %s (%s)\n",
APP_VER_MAJOR, APP_VER_MINOR,
APP_VER_ID, __DATE__ );
fprintf(stderr,
"rtl_wavestat, display wave file meta information\n"
"rtl_wavestat version %d.%d %s (%s)\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__ );
fprintf(stderr,
"Use:\trtl_wavestat [-options] <input_wave_filename>\n"
"\t-a print all information\n"

View File

@ -42,11 +42,10 @@
#endif
#endif
#include <rtl_app_ver.h>
#include "convenience/convenience.h"
#include "convenience/waveread.h"
#include "rtl_app_ver.h"
static volatile int do_exit = 0;
static int verbosity = 0;
@ -60,12 +59,12 @@ static uint8_t outBuffer[BLOCKLEN * sizeof(int32_t) * sizeof(int32_t)];
void usage(void)
{
fprintf(stderr, "rtl_wavestream, stream raw data (in specified format)\n");
fprintf(stderr, "rtl_wavestream version %u.%u %s (%s)\n",
APP_VER_MAJOR, APP_VER_MINOR,
APP_VER_ID, __DATE__ );
fprintf(stderr,
"Use:\trtl_wavestream [-options] <input_wave_filename>\n"
"rtl_wavestream, stream raw data (in specified format)\n"
"rtl_wavestream version %d.%d %s (%s)\n\n",
APP_VER_MAJOR, APP_VER_MINOR, APP_VER_ID, __DATE__ );
fprintf(stderr,
"Usage:\trtl_wavestream [-options] <input_wave_filename>\n"
"\t-f <fmt> sample format for output. default = input format\n"
"\t supported formats: 'PCM16'/'PCM' or 'FLOAT32'/'FLOAT'\n"
"\t-w input file\n"

View File

@ -23,7 +23,7 @@ VS_VERSION_INFO VERSIONINFO
VALUE "InternalName", "rtl-sdr.dll"
VALUE "LegalCopyright", "Licensed under GPLv2"
VALUE "OriginalFilename", "rtl-sdr.dll"
VALUE "ProductName", "osmocom rtl-sdr"
VALUE "ProductName", "github.com/librtlsdr/librtlsdr"
VALUE "ProductVersion", "@VERSION@"
END
END