blob: 37d3fbd902116afca150d56a23230f51bb1107f4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
TOP = $(shell readlink -f .)
ARCH = x86-mingw64
LOCAL_BUILD_PATH = $(TOP)/build.$(ARCH)
LOCAL_INST_PATH = $(TOP)/install.$(ARCH)
VERSION_SHORT = 5.14
VERSION_RELEASE = 2
VERSION = $(VERSION_SHORT).$(VERSION_RELEASE)
SSL_VERSION = 1.0.2r
SSL_ARCHIVE = openssl-$(SSL_VERSION).tar.gz
QT_BUILD_PATH = c:/tmp
QT_INST_PATH = $(QT_BUILD_PATH)/qt
QT_SRC_PATH = $(QT_BUILD_PATH)/qt-src
GCC = $(shell which g++)
GCC_PATH = $(shell dirname $(GCC))
7ZIP = $(TOP)/wintools/7za.exe
RESERVE_INSTDIR = 0
PACKAGE_NAME = qt-$(VERSION)-$(ARCH)
test:
echo $(ProgramW6432)
echo $(7ZIP)
all: download ssl qt
ssl: ssl.$(ARCH)
qt: qt.$(ARCH)
download:
$(MAKE) -C ./SOURCE qtzip
$(MAKE) -C ./SOURCE ssltgz
ssl.$(ARCH):
rm -Rf $(LOCAL_BUILD_PATH)/openssl-$(SSL_VERSION)
mkdir -p $(LOCAL_BUILD_PATH)/
cd $(LOCAL_BUILD_PATH) && \
tar -xzf $(TOP)/SOURCE/$(SSL_ARCHIVE)
cd $(LOCAL_BUILD_PATH)/openssl-$(SSL_VERSION) && \
export CFLAGS="-m64 -fpic" && \
./Configure --prefix=$(QT_INST_PATH) -m64 -static-libgcc -static-libstdc++ shared mingw64 && \
make clean && \
make && \
make install
qt.$(ARCH):
mkdir -p $(LOCAL_BUILD_PATH)
if [ -d $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) ]; then \
rm -Rf $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) ; \
fi
cd $(LOCAL_BUILD_PATH); \
$(7ZIP) x $(TOP)/SOURCE/qt-everywhere-src-$(VERSION).zip
cd $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) ;\
patch -p1 < $(TOP)/SOURCE/qt-5.12.3-cross-static-gcc-libs.patch
rm -Rf $(QT_SRC_PATH)
mv $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) $(QT_SRC_PATH)
# be sure, that python, msys-tools and gcc are in PATH
cd $(QT_SRC_PATH) && \
rm -f config.cache && \
./configure \
-platform win32-g++ \
-prefix $(QT_INST_PATH) \
-recheck-all \
-shared \
-release \
-strip \
-silent \
-no-rpath \
-no-pch \
-ssl \
-nomake examples \
-nomake tests \
-skip activeqt \
-skip qtwebengine \
-skip qtwebglplugin \
-skip qtwebchannel \
-skip qtwayland \
-skip qtlocation \
-skip qtdoc \
-skip qtgamepad \
-skip qtsensors \
-skip qtmultimedia \
-qt-zlib \
-qt-libjpeg \
-qt-libpng \
-qt-pcre \
-qt-freetype \
-qt-doubleconversion \
-opengl desktop \
-openssl \
-I$(QT_INST_PATH)/include \
-L$(QT_INST_PATH)/lib \
-opensource \
-confirm-license && \
make && \
make install
mv -f $(QT_INST_PATH)/bin/openssl.exe \
$(QT_INST_PATH)/bin/qt-openssl.exe
cp -f $(GCC_PATH)/../x86_64-w64-mingw32/bin/libwinpthread-1.dll $(QT_INST_PATH)/bin/
cp -f $(GCC_PATH)/../lib/gcc/x86_64-w64-mingw32/libgcc_s_seh-1.dll $(QT_INST_PATH)/bin/
cp -f $(GCC_PATH)/bin/*.dll $(QT_INST_PATH)/bin/
cd $(QT_INST_PATH)/ && \
tar -czf $(TOP)/$(PACKAGE_NAME).tgz .
ifeq ($(RESERVE_INSTDIR),0)
rm -Rf $(QT_INST_PATH)
endif
rm -Rf $(QT_SRC_PATH)
clean:
rm -Rf build.$(ARCH)
rm -Rf install.$(ARCH)
|