22
33set -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
77pothos_ver=2021.07.25-vc16
88
99[ " $( uname) " = " Darwin" ] && export tools=/opt/local
@@ -15,7 +15,7 @@ sed=$(command -v gsed || :)
1515sed=" ${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 ]
1919then
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
3232mkdir -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
3939cp libusb/MinGW32/static/libusb-1.0.a $sysroot32static /usr/lib
4040cp libusb/MinGW64/static/libusb-1.0.a $sysroot64static /usr/lib
4141
4242cp 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
4444cp 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
4747if [ ! -d rtl-sdr-${rtlsdr_ver} ]
4848then
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
5252fi
5353
@@ -56,15 +56,22 @@ cd rtl-sdr-${rtlsdr_ver}
5656if [ ! -e $sysroot32 /usr/lib/librtlsdr.a ]
5757then
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
6265fi
6366
6467if [ ! -e $sysroot32static /usr/lib/librtlsdr.a ]
6568then
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
7481if [ ! -e $sysroot64 /usr/lib/librtlsdr.a ]
7582then
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
8090fi
8191
8292if [ ! -e $sysroot64static /usr/lib/librtlsdr.a ]
8393then
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
109123# build rtl_433
110124
111125export 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
113127rm -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
119133mv $sysroot32 /usr/bin/rtl_433.exe $sysroot32 /usr/bin/rtl_433_32bit_nonstatic_broken.exe
120134
121135export 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
123137rm -rf build-tmp
124138mv $sysroot32static /usr/bin/rtl_433.exe $sysroot32static /usr/bin/rtl_433_32bit_static.exe
125139
126140export 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
128142rm -rf build-tmp
129143
130144export 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
132146rm -rf build-tmp
133147mv $sysroot64static /usr/bin/rtl_433.exe $sysroot64static /usr/bin/rtl_433_64bit_static.exe
134148
0 commit comments