]> git.sesse.net Git - vlc/blob - contrib/src/qt4/rules.mak
contrib: qt4: win32 rules
[vlc] / contrib / src / qt4 / rules.mak
1 # qt4
2
3 QT4_VERSION = 4.7.4
4 QT4_URL := http://download.qt.nokia.com/qt/source/qt-everywhere-opensource-src-$(QT4_VERSION).tar.gz
5
6 # FIXME : OSX build
7 ifdef HAVE_WIN32
8 PKGS += qt4
9 endif
10
11 ifeq ($(call need_pkg,"QtCore QtGui"),)
12 PKGS_FOUND += qt4
13 endif
14
15 $(TARBALLS)/qt-$(QT4_VERSION).tar.gz:
16         $(call download,$(QT4_URL))
17
18 .sum-qt4: qt-$(QT4_VERSION).tar.gz
19
20 qt4: qt-$(QT4_VERSION).tar.gz .sum-qt4
21         $(UNPACK)
22         patch -p0 < $(SRC)/qt4/tools.diff
23 ifdef HAVE_WIN32
24 ifdef HAVE_WIN64
25         patch -p0 < $(SRC)/qt4/cross-win64.diff
26 else
27         patch -p0 < $(SRC)/qt4/cross-win32.diff
28 endif
29 endif
30         mv qt-everywhere-opensource-src-4.7.4 $@ && touch $@
31
32 .qt4: qt4
33         for i in qmake moc uic rcc; do ln -sf `which $$i` $</bin/; done # FIXME : we probably need the exact same version of those tools on the host
34         cd $< && ./configure -platform win32-g++ -static -release -fast -no-exceptions -no-stl -no-sql-sqlite -no-qt3support -no-gif -no-libmng -qt-libjpeg -no-libtiff -no-qdbus -no-openssl -no-webkit -sse -no-script -no-multimedia -opensource -no-scripttools -no-opengl -no-script -no-scripttools -no-declarative -no-declarative-debug -opensource -no-s60 -host-little-endian -confirm-license
35         cd $< && make sub-src
36         cd $</src/plugins/imageformats/jpeg && make # FIXME
37         # INSTALLING LIBRARIES
38         for lib in QtGui QtCore; \
39                 do install -D -- $</lib/lib$${lib}.a "$(PREFIX)/lib/lib$${lib}.a"; \
40         done
41         # INSTALLING PLUGINS
42         install -D -- $</plugins/imageformats/libqjpeg.a "$(PREFIX)/lib/libqjpeg.a"
43         install -D -- $</plugins/accessible/libqtaccessiblewidgets.a "$(PREFIX)/lib/libqtaccessiblewidgets.a"
44         for codec in cn jp kr tw; \
45                 do install -D -- $</plugins/codecs/libq$${codec}codecs.a "$(PREFIX)/lib/libq$${codec}codecs.a"; \
46         done
47         # INSTALLING CORE HEADERS
48         cd $</src/corelib;    find . -type f -name '*.h' -exec install -D -- "{}" "$(PREFIX)/include/qt4/src/corelib/{}" \;
49         cd $</include/QtCore; find . -maxdepth 1 -type f \( -name '*.h' -o -name 'Q*' \) -exec install -D -s --strip-program="$(abspath $(SRC)/qt4/fix_header.sh)" -- "{}" "$(PREFIX)/include/qt4/QtCore/{}" \;
50         # INSTALLING GUI HEADERS
51         cd $</src/gui; find . -type f -name '*.h' -exec install -D -- "{}" "$(PREFIX)/include/qt4/src/gui/{}" \;
52         cd $</include/QtGui; find . -maxdepth 1 -type f \( -name '*.h' -o -name 'Q*' \) -exec install -D -s --strip-program="$(abspath $(SRC)/qt4/fix_header.sh)" -- "{}" "$(PREFIX)/include/qt4/QtGui/{}" \;
53         # INSTALLING PKGCONFIG FILES
54         cat $(SRC)/qt4/QtCore.pc.in | sed -e s/@@VERSION@@/$(QT4_VERSION)/ | sed -e 's|@@PREFIX@@|$(PREFIX)|' > "$(PREFIX)/lib/pkgconfig/QtCore.pc"
55         cat $(SRC)/qt4/QtGui.pc.in | sed -e s/@@VERSION@@/$(QT4_VERSION)/ | sed -e 's|@@PREFIX@@|$(PREFIX)|' > "$(PREFIX)/lib/pkgconfig/QtGui.pc"
56         touch $@