Skip to content

Commit f1919f7

Browse files
author
John Pohl
committed
working windows toolchain
1 parent f0b8e79 commit f1919f7

File tree

2 files changed

+25
-23
lines changed

2 files changed

+25
-23
lines changed

Dockerfile

+9-13
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ENV TZ=Europe/Berlin
66

77
ADD mingw-w64-i686.cmake mingw-w64-x86_64.cmake /root/
88

9-
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
9+
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
1010
&& apt-get -qq update \
1111
&& apt-get -qq install git mingw-w64 mingw-w64-tools cmake wget p7zip-full file llvm \
1212
&& mkdir -p /result/64 && mkdir -p /result/32 \
@@ -24,13 +24,11 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
2424

2525
RUN git clone --depth 1 https://github.com/airspy/airspyone_host /airspy && cd /airspy \
2626
&& mkdir build && cd build \
27-
&& cmake -DCMAKE_TOOLCHAIN_FILE=~/mingw-w64-x86_64.cmake .. \
28-
&& make -j$(nproc) \
29-
&& cp airspy-tools/src/libairspy.dll /result/64 \
27+
&& cmake -DCMAKE_TOOLCHAIN_FILE=~/mingw-w64-x86_64.cmake -DCMAKE_INSTALL_PREFIX=/result/64 .. \
28+
&& make -j$(nproc) install \
3029
&& cd .. && mkdir build32 && cd build32 \
31-
&& cmake -DCMAKE_TOOLCHAIN_FILE=~/mingw-w64-i686.cmake .. \
32-
&& make -j$(nproc) \
33-
&& cp airspy-tools/src/libairspy.dll /result/32
30+
&& cmake -DCMAKE_TOOLCHAIN_FILE=~/mingw-w64-i686.cmake -DCMAKE_INSTALL_PREFIX=/result/32 .. \
31+
&& make -j$(nproc) install
3432

3533
RUN wget http://www.fftw.org/fftw-3.3.10.tar.gz \
3634
&& tar xf fftw-3.3.10.tar.gz \
@@ -62,13 +60,11 @@ RUN wget http://www.fftw.org/fftw-3.3.10.tar.gz \
6260

6361
RUN git clone --depth 1 https://github.com/greatscottgadgets/hackrf /hackrf && cd /hackrf/host \
6462
&& mkdir build && cd build \
65-
&& cmake -DCMAKE_TOOLCHAIN_FILE=~/mingw-w64-x86_64.cmake -DFFTW_LIBRARIES=/usr/x86_64-w64-mingw32/lib/ .. \
66-
&& make -j$(nproc) \
67-
&& cp libhackrf/src/libhackrf.dll /result/64 \
63+
&& cmake -DCMAKE_TOOLCHAIN_FILE=~/mingw-w64-x86_64.cmake -DFFTW_LIBRARIES=/usr/x86_64-w64-mingw32/lib/ -DCMAKE_INSTALL_PREFIX=/result/64 .. \
64+
&& make -j$(nproc) install \
6865
&& cd .. && mkdir build32 && cd build32 \
69-
&& cmake -DCMAKE_TOOLCHAIN_FILE=~/mingw-w64-i686.cmake -DFFTW_LIBRARIES=/usr/i686-w64-mingw32/lib/ .. \
70-
&& make -j$(nproc) \
71-
&& cp libhackrf/src/libhackrf.dll /result/32
66+
&& cmake -DCMAKE_TOOLCHAIN_FILE=~/mingw-w64-i686.cmake -DFFTW_LIBRARIES=/usr/i686-w64-mingw32/lib/ -DCMAKE_INSTALL_PREFIX=/result/32 .. \
67+
&& make -j$(nproc) install
7268

7369

7470
ADD genlib.sh /

genlib.sh

+16-10
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,27 @@
11
#!/usr/bin/env bash
22

3-
cd /result/64
3+
cd /result/64/bin
44
gendef libhackrf.dll
5-
llvm-dlltool -m i386:x86-64 -d libhackrf.def -D libhackrf.dll -l libhackrf.lib
5+
llvm-dlltool -m i386:x86-64 -d libhackrf.def -D libhackrf.dll -l hackrf.lib
66

77
gendef libairspy.dll
8-
llvm-dlltool -m i386:x86-64 -d libairspy.def -D libairspy.dll -l libairspy.lib
8+
llvm-dlltool -m i386:x86-64 -d libairspy.def -D libairspy.dll -l airspy.lib
99

10-
mkdir /out/64
11-
cp /result/64/* /out/64
10+
mkdir -p /out/64
11+
cp *.dll *.lib /out/64
12+
cd ..
13+
cp *.dll /out/64
14+
cp -r include /out/64/
1215

13-
cd /result/32
16+
cd /result/32/bin
1417
gendef libhackrf.dll
15-
llvm-dlltool -m i386 -d libhackrf.def -D libhackrf.dll -l libhackrf.lib
18+
llvm-dlltool -m i386 -d libhackrf.def -D libhackrf.dll -l hackrf.lib
1619

1720
gendef libairspy.dll
18-
llvm-dlltool -m i386 -d libairspy.def -D libairspy.dll -l libairspy.lib
21+
llvm-dlltool -m i386 -d libairspy.def -D libairspy.dll -l airspy.lib
1922

20-
mkdir /out/32
21-
cp /result/32/* /out/32
23+
mkdir -p /out/32
24+
cp *.dll *.lib /out/32
25+
cd ..
26+
cp *.dll /out/32
27+
cp -r include /out/32/

0 commit comments

Comments
 (0)