]> git.sesse.net Git - vlc/blob - contrib/src/qt/rules.mak
Contribs: fix compilation for Android
[vlc] / contrib / src / qt / rules.mak
1 # qt
2
3 QT_VERSION = 5.3.0
4 QT_URL := http://download.qt-project.org/official_releases/qt/5.3/$(QT_VERSION)/submodules/qtbase-opensource-src-$(QT_VERSION).tar.xz
5
6 ifdef HAVE_MACOSX
7 #PKGS += qt
8 endif
9 ifdef HAVE_WIN32
10 PKGS += qt
11 endif
12
13 ifeq ($(call need_pkg,"QtCore QtGui"),)
14 ifeq ($(call need_pkg,"Qt5Core Qt5Gui Qt5Widgets"),)
15 PKGS_FOUND += qt
16 endif
17 endif
18
19 $(TARBALLS)/qt-$(QT_VERSION).tar.xz:
20         $(call download,$(QT_URL))
21
22 .sum-qt: qt-$(QT_VERSION).tar.xz
23
24 qt: qt-$(QT_VERSION).tar.xz .sum-qt
25         $(UNPACK)
26         mv qtbase-opensource-src-$(QT_VERSION) qt-$(QT_VERSION)
27         $(MOVE)
28
29 ifdef HAVE_MACOSX
30 QT_PLATFORM := -platform darwin-g++
31 endif
32 ifdef HAVE_WIN32
33 QT_PLATFORM := -xplatform win32-g++ -device-option CROSS_COMPILE=$(HOST)-
34 endif
35
36 .qt: qt
37         cd $< && ./configure $(QT_PLATFORM) -static -release -no-sql-sqlite -no-gif -qt-libjpeg -no-openssl -no-opengl -opensource -confirm-license
38         cd $< && $(MAKE) sub-src
39         # BUILDING QT BUILD TOOLS
40 ifdef HAVE_CROSS_COMPILE
41         cd $</src/tools; $(MAKE) clean; \
42                 for i in bootstrap uic rcc moc; \
43                         do (cd $$i; ../../../bin/qmake; $(MAKE) clean; $(MAKE)); \
44                 done
45 endif
46         # INSTALLING LIBRARIES
47         for lib in Widgets Gui Core; \
48                 do install -D -- $</lib/libQt5$${lib}.a "$(PREFIX)/lib/libQt5$${lib}.a"; \
49         done
50         # INSTALLING PLUGINS
51         install -D -- $</plugins/platforms/libqwindows.a "$(PREFIX)/lib/libqwindows.a"
52         install -D -- $</plugins/accessible/libqtaccessiblewidgets.a "$(PREFIX)/lib/libqtaccessiblewidgets.a"
53         # INSTALLING HEADERS
54         for h in corelib gui widgets; \
55                 do (cd $</src/$${h} && find . -type f -name '*.h' -exec install -D -- "{}" "$(PREFIX)/include/qt5/src/$${h}/{}" \;) ; \
56         done
57         for h in Core Gui Widgets; \
58                 do (cd $</include/Qt$${h} && find . -maxdepth 1 -type f \( -name '*.h' -o -name 'Q*' \) -exec install -D -s --strip-program="$(abspath $(SRC)/qt/fix_header.sh)" -- "{}" "$(PREFIX)/include/qt5/Qt$${h}/{}" \;) ; \
59         done
60         mkdir -p "$(PREFIX)/include/qt5/qpa"
61         echo "#include \"../src/gui/kernel/qplatformnativeinterface.h\"" > "$(PREFIX)/include/qt5/qpa/qplatformnativeinterface.h"
62         # INSTALLING PKGCONFIG FILES
63         install -d "$(PREFIX)/lib/pkgconfig"
64         for i in Core Gui Widgets; \
65                 do cat $(SRC)/qt/Qt5$${i}.pc.in | sed -e s/@@VERSION@@/$(QT_VERSION)/ | sed -e 's|@@PREFIX@@|$(PREFIX)|' > "$(PREFIX)/lib/pkgconfig/Qt5$${i}.pc"; \
66         done
67         # INSTALLING QT BUILD TOOLS
68         install -d "$(PREFIX)/bin/"
69         for i in rcc moc uic; \
70                 do cp $</bin/$$i* "$(PREFIX)/bin"; \
71         done
72         touch $@