Skip to content

Commit 8d2ffe8

Browse files
committed
Update Windows cross-build to rtlsdr-2.0.2 (closes #3349)
1 parent dcb09a2 commit 8d2ffe8

File tree

3 files changed

+34
-20
lines changed

3 files changed

+34
-20
lines changed

.ci/scripts/do_sysroot.sh

Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
set -e
44

5-
libusb_ver=1.0.25
6-
rtlsdr_ver=0.6.0
5+
libusb_ver=1.0.29
6+
rtlsdr_ver=2.0.2
77
pothos_ver=2021.07.25-vc16
88

99
[ "$(uname)" = "Darwin" ] && export tools=/opt/local
@@ -15,7 +15,7 @@ sed=$(command -v gsed || :)
1515
sed="${sed:-sed}"
1616

1717
# from https://libusb.info/
18-
if [ ! -e libusb/include/libusb-1.0/libusb.h ]
18+
if [ ! -e libusb/include/libusb.h ]
1919
then
2020
[ -e libusb-${libusb_ver}.7z ] || curl -L -O https://github.com/libusb/libusb/releases/download/v${libusb_ver}/libusb-${libusb_ver}.7z
2121
mkdir -p libusb
@@ -31,23 +31,23 @@ sysroot64static=$(pwd)/sysroot64static
3131

3232
mkdir -p sysroot{32,64}{,static}/usr/{include,lib,bin}
3333

34-
cp libusb/include/libusb-1.0/libusb.h $sysroot32/usr/include
35-
cp libusb/include/libusb-1.0/libusb.h $sysroot64/usr/include
36-
cp libusb/include/libusb-1.0/libusb.h $sysroot32static/usr/include
37-
cp libusb/include/libusb-1.0/libusb.h $sysroot64static/usr/include
34+
cp libusb/include/libusb.h $sysroot32/usr/include
35+
cp libusb/include/libusb.h $sysroot64/usr/include
36+
cp libusb/include/libusb.h $sysroot32static/usr/include
37+
cp libusb/include/libusb.h $sysroot64static/usr/include
3838

3939
cp libusb/MinGW32/static/libusb-1.0.a $sysroot32static/usr/lib
4040
cp libusb/MinGW64/static/libusb-1.0.a $sysroot64static/usr/lib
4141

4242
cp libusb/MinGW32/dll/libusb-1.0.dll $sysroot32/usr/bin
43-
cp libusb/MinGW32/dll/libusb-1.0.dll.a $sysroot32/usr/lib
43+
cp libusb/MinGW32/static/libusb-1.0.dll.a $sysroot32/usr/lib
4444
cp libusb/MinGW64/dll/libusb-1.0.dll $sysroot64/usr/bin
45-
cp libusb/MinGW64/dll/libusb-1.0.dll.a $sysroot64/usr/lib
45+
cp libusb/MinGW64/static/libusb-1.0.dll.a $sysroot64/usr/lib
4646

4747
if [ ! -d rtl-sdr-${rtlsdr_ver} ]
4848
then
4949
# or git clone https://github.com/osmocom/rtl-sdr.git
50-
[ -e rtl-sdr-${rtlsdr_ver}.tar.gz ] || curl -L -o rtl-sdr-${rtlsdr_ver}.tar.gz https://github.com/osmocom/rtl-sdr/archive/${rtlsdr_ver}.tar.gz
50+
[ -e rtl-sdr-${rtlsdr_ver}.tar.gz ] || curl -L -o rtl-sdr-${rtlsdr_ver}.tar.gz https://github.com/osmocom/rtl-sdr/archive/v${rtlsdr_ver}.tar.gz
5151
tar xzf rtl-sdr-${rtlsdr_ver}.tar.gz
5252
fi
5353

@@ -56,15 +56,22 @@ cd rtl-sdr-${rtlsdr_ver}
5656
if [ ! -e $sysroot32/usr/lib/librtlsdr.a ]
5757
then
5858
export CMAKE_SYSROOT=$sysroot32 ; echo $CMAKE_SYSROOT
59-
mkdir build-tmp ; cd build-tmp ; cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-i686.cmake .. && make && make install ; cd ..
59+
cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-i686.cmake \
60+
-DLIBUSB_LIBRARIES=$sysroot32/usr/lib/libusb-1.0.dll.a \
61+
-DLIBUSB_INCLUDE_DIRS=$sysroot32/usr/include \
62+
-B build-tmp && cmake --build build-tmp && cmake --install build-tmp
6063
rm -rf build-tmp
6164
mv $sysroot32/usr/lib/librtlsdr_static.a $sysroot32/usr/lib/librtlsdr.a
6265
fi
6366

6467
if [ ! -e $sysroot32static/usr/lib/librtlsdr.a ]
6568
then
6669
export CMAKE_SYSROOT=$sysroot32static ; echo $CMAKE_SYSROOT
67-
mkdir build-tmp ; cd build-tmp ; cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-i686.cmake -DBUILD_SHARED_LIBS:BOOL=OFF .. && make && make install ; cd ..
70+
cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-i686.cmake \
71+
-DLIBUSB_LIBRARIES=$sysroot32static/usr/lib/libusb-1.0.a \
72+
-DLIBUSB_INCLUDE_DIRS=$sysroot32static/usr/include \
73+
-DBUILD_SHARED_LIBS:BOOL=OFF \
74+
-B build-tmp && cmake --build build-tmp && cmake --install build-tmp
6875
rm -rf build-tmp
6976
mv $sysroot32static/usr/lib/librtlsdr_static.a $sysroot32static/usr/lib/librtlsdr.a
7077
rm $sysroot32static/usr/lib/librtlsdr.dll.a
@@ -74,15 +81,22 @@ fi
7481
if [ ! -e $sysroot64/usr/lib/librtlsdr.a ]
7582
then
7683
export CMAKE_SYSROOT=$sysroot64 ; echo $CMAKE_SYSROOT
77-
mkdir build-tmp ; cd build-tmp ; cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-x86-64.cmake .. && make && make install ; cd ..
84+
cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-x86-64.cmake \
85+
-DLIBUSB_LIBRARIES=$sysroot64/usr/lib/libusb-1.0.dll.a \
86+
-DLIBUSB_INCLUDE_DIRS=$sysroot64/usr/include \
87+
-B build-tmp && cmake --build build-tmp && cmake --install build-tmp
7888
rm -rf build-tmp
7989
mv $sysroot64/usr/lib/librtlsdr_static.a $sysroot64/usr/lib/librtlsdr.a
8090
fi
8191

8292
if [ ! -e $sysroot64static/usr/lib/librtlsdr.a ]
8393
then
8494
export CMAKE_SYSROOT=$sysroot64static ; echo $CMAKE_SYSROOT
85-
mkdir build-tmp ; cd build-tmp ; cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-x86-64.cmake -DBUILD_SHARED_LIBS:BOOL=OFF .. && make && make install ; cd ..
95+
cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-x86-64.cmake \
96+
-DLIBUSB_LIBRARIES=$sysroot64static/usr/lib/libusb-1.0.a \
97+
-DLIBUSB_INCLUDE_DIRS=$sysroot64static/usr/include \
98+
-DBUILD_SHARED_LIBS:BOOL=OFF \
99+
-B build-tmp && cmake --build build-tmp && cmake --install build-tmp
86100
rm -rf build-tmp
87101
mv $sysroot64static/usr/lib/librtlsdr_static.a $sysroot64static/usr/lib/librtlsdr.a
88102
rm $sysroot64static/usr/lib/librtlsdr.dll.a
@@ -109,7 +123,7 @@ fi
109123
# build rtl_433
110124

111125
export CMAKE_SYSROOT=$sysroot32 ; echo $CMAKE_SYSROOT
112-
mkdir build-tmp ; cd build-tmp ; cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-i686.cmake $source_dir && make && make install ; cd ..
126+
cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-i686.cmake -S $source_dir -B build-tmp && cmake --build build-tmp && cmake --install build-tmp
113127
rm -rf build-tmp
114128
# Non-static 32-bit binary from w64 compiler is broken with
115129
# missing libgcc_s_sjlj-1.dll, libwinpthread-1.dll
@@ -119,16 +133,16 @@ rm -rf build-tmp
119133
mv $sysroot32/usr/bin/rtl_433.exe $sysroot32/usr/bin/rtl_433_32bit_nonstatic_broken.exe
120134

121135
export CMAKE_SYSROOT=$sysroot32static ; echo $CMAKE_SYSROOT
122-
mkdir build-tmp ; cd build-tmp ; cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-i686.cmake $source_dir && make && make install ; cd ..
136+
cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-i686.cmake -S $source_dir -B build-tmp && cmake --build build-tmp && cmake --install build-tmp
123137
rm -rf build-tmp
124138
mv $sysroot32static/usr/bin/rtl_433.exe $sysroot32static/usr/bin/rtl_433_32bit_static.exe
125139

126140
export CMAKE_SYSROOT=$sysroot64 ; echo $CMAKE_SYSROOT
127-
mkdir build-tmp ; cd build-tmp ; cmake -DENABLE_SOAPYSDR=ON -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-x86-64.cmake $source_dir && make && make install ; cd ..
141+
cmake -DENABLE_SOAPYSDR=ON -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-x86-64.cmake -S $source_dir -B build-tmp && cmake --build build-tmp && cmake --install build-tmp
128142
rm -rf build-tmp
129143

130144
export CMAKE_SYSROOT=$sysroot64static ; echo $CMAKE_SYSROOT
131-
mkdir build-tmp ; cd build-tmp ; cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-x86-64.cmake $source_dir && make && make install ; cd ..
145+
cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-x86-64.cmake -S $source_dir -B build-tmp && cmake --build build-tmp && cmake --install build-tmp
132146
rm -rf build-tmp
133147
mv $sysroot64static/usr/bin/rtl_433.exe $sysroot64static/usr/bin/rtl_433_64bit_static.exe
134148

cmake/Toolchain-gcc-mingw-w64-i686.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# CMAKE_SYSROOT and CMAKE_STAGING_PREFIX need 3.0
2-
cmake_minimum_required(VERSION 3.0)
2+
cmake_minimum_required(VERSION 3.10)
33

44
# Linux, Windows, or Darwin
55
SET(CMAKE_SYSTEM_NAME Windows)

cmake/Toolchain-gcc-mingw-w64-x86-64.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# CMAKE_SYSROOT and CMAKE_STAGING_PREFIX need 3.0
2-
cmake_minimum_required(VERSION 3.0)
2+
cmake_minimum_required(VERSION 3.10)
33

44
# Linux, Windows, or Darwin
55
SET(CMAKE_SYSTEM_NAME Windows)

0 commit comments

Comments
 (0)