vlc | branch: master | Rafaël Carré <[email protected]> | Tue Nov 8 01:26:12 2011 -0500| [68ca19470221c8561fdf3de015c857c667c39426] | committer: Rafaël Carré
contrib: add qt4 win64 only for now, win32 support shouldn't be hard to add > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=68ca19470221c8561fdf3de015c857c667c39426 --- contrib/src/qt4/QtCore.pc.in | 10 ++++ contrib/src/qt4/QtGui.pc.in | 10 ++++ contrib/src/qt4/SHA512SUMS | 1 + contrib/src/qt4/cross-x64.diff | 91 ++++++++++++++++++++++++++++++++++++++++ contrib/src/qt4/fix_header.sh | 5 ++ contrib/src/qt4/rules.mak | 49 +++++++++++++++++++++ 6 files changed, 166 insertions(+), 0 deletions(-) diff --git a/contrib/src/qt4/QtCore.pc.in b/contrib/src/qt4/QtCore.pc.in new file mode 100644 index 0000000..df717770 --- /dev/null +++ b/contrib/src/qt4/QtCore.pc.in @@ -0,0 +1,10 @@ +prefix=@@PREFIX@@ +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include/qt4/QtCore + +Name: Qtcore +Description: Qtcore Library +Version: @@VERSION@@ +Libs: -Wl,--subsystem,windows -mwindows -L${libdir} -lQtCore -lqcncodecs -lqjpcodecs -lqkrcodecs -lqtwcodecs -lrpcrt4 -loleaut32 -lole32 -luuid -lwinspool -lwinmm -lshell32 -lcomctl32 -ladvapi32 -lgdi32 -limm32 -lwsock32 +Cflags: -I${prefix}/include/qt4 -I${includedir} -DQT_NODLL diff --git a/contrib/src/qt4/QtGui.pc.in b/contrib/src/qt4/QtGui.pc.in new file mode 100644 index 0000000..d46603b --- /dev/null +++ b/contrib/src/qt4/QtGui.pc.in @@ -0,0 +1,10 @@ +prefix=@@PREFIX@@ +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include/qt4/QtGui + +Name: Qtgui +Description: Qtgui Library +Version: @@VERSION@@ +Libs: -Wl,--subsystem,windows -mwindows -L${libdir} -lqjpeg -lqtaccessiblewidgets -lQtGui -lQtCore -lqcncodecs -lqjpcodecs -lqkrcodecs -lqtwcodecs -lrpcrt4 -loleaut32 -lole32 -luuid -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -ladvapi32 -lgdi32 -limm32 -lwsock32 +Cflags: -I${prefix}/include/qt4 -I${includedir} -DQT_NODLL diff --git a/contrib/src/qt4/SHA512SUMS b/contrib/src/qt4/SHA512SUMS new file mode 100644 index 0000000..02026d8 --- /dev/null +++ b/contrib/src/qt4/SHA512SUMS @@ -0,0 +1 @@ +8dcb7d2e9069205bd80eeecbeb62a6ab727f9e327cbfc03003fe4f1caea364771d3c7e3a12347644aef1c51898680c08693cc76e2950ea8f7487223404b6581c qt-4.7.4.tar.gz diff --git a/contrib/src/qt4/cross-x64.diff b/contrib/src/qt4/cross-x64.diff new file mode 100644 index 0000000..8cc48e7 --- /dev/null +++ b/contrib/src/qt4/cross-x64.diff @@ -0,0 +1,91 @@ +--- qt-everywhere-opensource-src-4.7.4/configure.orig 2011-09-28 14:31:35.039958884 -0400 ++++ qt-everywhere-opensource-src-4.7.4/configure 2011-09-28 14:31:48.649958702 -0400 +@@ -4568,7 +4568,7 @@ + } + + # build qmake +-if true; then ###[ '!' -f "$outpath/bin/qmake" ]; ++if [ '!' -f "$outpath/bin/qmake" ]; then + echo "Creating qmake. Please wait..." + + OLD_QCONFIG_H= +--- qt-everywhere-opensource-src-4.7.4/src/tools/tools.pro.orig 2011-09-28 14:33:24.119957315 -0400 ++++ qt-everywhere-opensource-src-4.7.4/src/tools/tools.pro 2011-09-28 14:33:56.619956845 -0400 +@@ -1,11 +1,6 @@ + TEMPLATE = subdirs + +-TOOLS_SUBDIRS = src_tools_bootstrap src_tools_moc src_tools_rcc +-!contains(QT_CONFIG, no-gui): TOOLS_SUBDIRS += src_tools_uic +-!cross_compile { +- contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_tools_uic3 +- win32:!wince*: SRC_SUBDIRS += src_tools_idc +-} ++TOOLS_SUBDIRS = src_tools_bootstrap + + # Set subdir and respective target name + src_tools_bootstrap.subdir = $$QT_SOURCE_TREE/src/tools/bootstrap +--- qt-everywhere-opensource-src-4.7.4/mkspecs/win32-g++/qmake.conf.orig 2011-09-28 14:32:02.709958498 -0400 ++++ qt-everywhere-opensource-src-4.7.4/mkspecs/win32-g++/qmake.conf 2011-09-28 14:36:32.529954583 -0400 +@@ -1,5 +1,5 @@ + # +-# qmake configuration for win32-g++ ++# qmake configuration for win32-x86_64-w64-mingw32-g++ + # + # Written for MinGW + # +@@ -14,7 +14,7 @@ + QMAKE_EXT_OBJ = .o + QMAKE_EXT_RES = _res.o + +-QMAKE_CC = gcc ++QMAKE_CC = x86_64-w64-mingw32-gcc + QMAKE_LEX = flex + QMAKE_LEXFLAGS = + QMAKE_YACC = byacc +@@ -23,11 +23,11 @@ + QMAKE_CFLAGS_DEPS = -M + QMAKE_CFLAGS_WARN_ON = -Wall + QMAKE_CFLAGS_WARN_OFF = -w +-QMAKE_CFLAGS_RELEASE = -O2 ++QMAKE_CFLAGS_RELEASE = -O3 + QMAKE_CFLAGS_DEBUG = -g + QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses + +-QMAKE_CXX = g++ ++QMAKE_CXX = x86_64-w64-mingw32-g++ + QMAKE_CXXFLAGS = $$QMAKE_CFLAGS + QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS + QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON +@@ -50,8 +50,8 @@ + QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src + QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< + +-QMAKE_LINK = g++ +-QMAKE_LINK_C = gcc ++QMAKE_LINK = x86_64-w64-mingw32-g++ ++QMAKE_LINK_C = x86_64-w64-mingw32-gcc + QMAKE_LFLAGS = + QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads + QMAKE_LFLAGS_EXCEPTIONS_OFF = +@@ -95,15 +95,15 @@ + QMAKE_CHK_DIR_EXISTS = if not exist + } + +-QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe +-QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe +-QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe ++QMAKE_MOC = moc ++QMAKE_UIC = uic ++QMAKE_IDC = idc + + QMAKE_IDL = midl +-QMAKE_LIB = ar -ru +-QMAKE_RC = windres ++QMAKE_LIB = x86_64-w64-mingw32-ar -ru ++QMAKE_RC = x86_64-w64-mingw32-windres + QMAKE_ZIP = zip -r -9 + +-QMAKE_STRIP = strip ++QMAKE_STRIP = x86_64-w64-mingw32-strip + QMAKE_STRIPFLAGS_LIB += --strip-unneeded + load(qt_config) diff --git a/contrib/src/qt4/fix_header.sh b/contrib/src/qt4/fix_header.sh new file mode 100755 index 0000000..79f7dd9 --- /dev/null +++ b/contrib/src/qt4/fix_header.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +mv "$1" "$1.tmp" +sed 's,../../src,../src,' "$1.tmp" > "$1" +rm -f "$1.tmp" diff --git a/contrib/src/qt4/rules.mak b/contrib/src/qt4/rules.mak new file mode 100644 index 0000000..b19c351 --- /dev/null +++ b/contrib/src/qt4/rules.mak @@ -0,0 +1,49 @@ +# qt4 + +QT4_VERSION = 4.7.4 +QT4_URL := http://download.qt.nokia.com/qt/source/qt-everywhere-opensource-src-$(QT4_VERSION).tar.gz + +# FIXME : OSX and win32 build +ifdef HAVE_WIN64 +PKGS += qt4 +endif + +ifeq ($(call need_pkg,"QtCore QtGui"),) +PKGS_FOUND += qt4 +endif + +$(TARBALLS)/qt-$(QT4_VERSION).tar.gz: + $(call download,$(QT4_URL)) + +.sum-qt4: qt-$(QT4_VERSION).tar.gz + +qt4: qt-$(QT4_VERSION).tar.gz .sum-qt4 + $(UNPACK) + patch -p0 < $(SRC)/qt4/cross-x64.diff # FIXME : add new target, fix/add mingw32 target + mv qt-everywhere-opensource-src-4.7.4 $@ && touch $@ + +.qt4: qt4 + 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 + 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 + cd $< && make sub-src + cd $</src/plugins/imageformats/jpeg && make # FIXME + # INSTALLING LIBRARIES + for lib in QtGui QtCore; \ + do install -D -- $</lib/lib$${lib}.a "$(PREFIX)/lib/lib$${lib}.a"; \ + done + # INSTALLING PLUGINS + install -D -- $</plugins/imageformats/libqjpeg.a "$(PREFIX)/lib/libqjpeg.a" + install -D -- $</plugins/accessible/libqtaccessiblewidgets.a "$(PREFIX)/lib/libqtaccessiblewidgets.a" + for codec in cn jp kr tw; \ + do install -D -- $</plugins/codecs/libq$${codec}codecs.a "$(PREFIX)/lib/libq${codec}codecs.a"; \ + done + # INSTALLING CORE HEADERS + cd $</src/corelib; find . -type f -name '*.h' -exec install -D -- "{}" "$(PREFIX)/include/qt4/src/corelib/{}" \; + 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/{}" \; + # INSTALLING GUI HEADERS + cd $</src/gui; find . -type f -name '*.h' -exec install -D -- "{}" "$(PREFIX)/include/qt4/src/gui/{}" \; + 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/{}" \; + # INSTALLING PKGCONFIG FILES + cat $(SRC)/qt4/QtCore.pc.in | sed -e s/@@VERSION@@/$(QT4_VERSION)/ | sed -e 's|@@PREFIX@@|$(PREFIX)|' > "$(PREFIX)/lib/pkgconfig/QtCore.pc" + cat $(SRC)/qt4/QtGui.pc.in | sed -e s/@@VERSION@@/$(QT4_VERSION)/ | sed -e 's|@@PREFIX@@|$(PREFIX)|' > "$(PREFIX)/lib/pkgconfig/QtGui.pc" + touch $@ _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
