Skip to content

Commit a796732

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

File tree

3 files changed

+38
-20
lines changed

3 files changed

+38
-20
lines changed

.ci/scripts/do_sysroot.sh

Lines changed: 36 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,24 @@ 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_FOUND=1 \
61+
-DLIBUSB_LIBRARIES=$CMAKE_SYSROOT/usr/lib/libusb-1.0.dll.a \
62+
-DLIBUSB_INCLUDE_DIRS=$CMAKE_SYSROOT/usr/include \
63+
-B build-tmp && cmake --build build-tmp && cmake --install build-tmp
6064
rm -rf build-tmp
6165
mv $sysroot32/usr/lib/librtlsdr_static.a $sysroot32/usr/lib/librtlsdr.a
6266
fi
6367

6468
if [ ! -e $sysroot32static/usr/lib/librtlsdr.a ]
6569
then
6670
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 ..
71+
cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-i686.cmake \
72+
-DLIBUSB_FOUND=1 \
73+
-DLIBUSB_LIBRARIES=$CMAKE_SYSROOT/usr/lib/libusb-1.0.a \
74+
-DLIBUSB_INCLUDE_DIRS=$CMAKE_SYSROOT/usr/include \
75+
-DBUILD_SHARED_LIBS:BOOL=OFF \
76+
-B build-tmp && cmake --build build-tmp && cmake --install build-tmp
6877
rm -rf build-tmp
6978
mv $sysroot32static/usr/lib/librtlsdr_static.a $sysroot32static/usr/lib/librtlsdr.a
7079
rm $sysroot32static/usr/lib/librtlsdr.dll.a
@@ -74,15 +83,24 @@ fi
7483
if [ ! -e $sysroot64/usr/lib/librtlsdr.a ]
7584
then
7685
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 ..
86+
cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-x86-64.cmake \
87+
-DLIBUSB_FOUND=1 \
88+
-DLIBUSB_LIBRARIES=$CMAKE_SYSROOT/usr/lib/libusb-1.0.dll.a \
89+
-DLIBUSB_INCLUDE_DIRS=$CMAKE_SYSROOT/usr/include \
90+
-B build-tmp && cmake --build build-tmp && cmake --install build-tmp
7891
rm -rf build-tmp
7992
mv $sysroot64/usr/lib/librtlsdr_static.a $sysroot64/usr/lib/librtlsdr.a
8093
fi
8194

8295
if [ ! -e $sysroot64static/usr/lib/librtlsdr.a ]
8396
then
8497
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 ..
98+
cmake -DCMAKE_TOOLCHAIN_FILE=$source_dir/cmake/Toolchain-gcc-mingw-w64-x86-64.cmake \
99+
-DLIBUSB_FOUND=1 \
100+
-DLIBUSB_LIBRARIES=$CMAKE_SYSROOT/usr/lib/libusb-1.0.a \
101+
-DLIBUSB_INCLUDE_DIRS=$CMAKE_SYSROOT/usr/include \
102+
-DBUILD_SHARED_LIBS:BOOL=OFF \
103+
-B build-tmp && cmake --build build-tmp && cmake --install build-tmp
86104
rm -rf build-tmp
87105
mv $sysroot64static/usr/lib/librtlsdr_static.a $sysroot64static/usr/lib/librtlsdr.a
88106
rm $sysroot64static/usr/lib/librtlsdr.dll.a
@@ -109,7 +127,7 @@ fi
109127
# build rtl_433
110128

111129
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 ..
130+
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
113131
rm -rf build-tmp
114132
# Non-static 32-bit binary from w64 compiler is broken with
115133
# missing libgcc_s_sjlj-1.dll, libwinpthread-1.dll
@@ -119,16 +137,16 @@ rm -rf build-tmp
119137
mv $sysroot32/usr/bin/rtl_433.exe $sysroot32/usr/bin/rtl_433_32bit_nonstatic_broken.exe
120138

121139
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 ..
140+
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
123141
rm -rf build-tmp
124142
mv $sysroot32static/usr/bin/rtl_433.exe $sysroot32static/usr/bin/rtl_433_32bit_static.exe
125143

126144
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 ..
145+
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
128146
rm -rf build-tmp
129147

130148
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 ..
149+
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
132150
rm -rf build-tmp
133151
mv $sysroot64static/usr/bin/rtl_433.exe $sysroot64static/usr/bin/rtl_433_64bit_static.exe
134152

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)