Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • Thrillseekr/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
393 results
Show changes
Commits on Source (22)
Showing
with 202 additions and 257 deletions
......@@ -3971,54 +3971,79 @@ have_qt_gui_private="no"
have_qt_core_private="no"
have_fxc="no"
AS_IF([test "${enable_qt}" != "no"], [
dnl Note that Qt < 6.2.5 does not provide pc files!
have_qt="yes"
AC_PATH_PROGS(QTPATHS6, [qtpaths6], qtpaths6, ["${CONTRIB_DIR}/../bin:$PATH"])
QT_PATHS=${QTPATHS6}
AC_MSG_CHECKING([if contribs provide target_qt.conf])
AS_IF([test -e "${CONTRIB_DIR}/bin/target_qt.conf"], [
QT_CONF=${CONTRIB_DIR}/bin/target_qt.conf
QT_PATHS="${QT_PATHS} --qtconf ${QT_CONF}"
AC_MSG_RESULT([yes])
],[
AC_MSG_RESULT([no])
])
QT_MINIMUM_VERSION=6.2
PKG_CHECK_MODULES([QT], m4_foreach([pkg], [
Qt6Core Qt6Widgets Qt6Gui Qt6Qml Qt6QmlModels Qt6QmlWorkerScript
Qt6Quick Qt6QuickControls2 Qt6QuickLayouts Qt6QuickTemplates2
Qt6Svg
], [pkg >= ${QT_MINIMUM_VERSION}]), [
QT_PREFIX_PATH="$(eval $PKG_CONFIG --variable=prefix Qt6Core)"
QT_PLUGINS_PATH="${QT_PREFIX_PATH}/plugins"
PKG_CHECK_MODULES([QT_WAYLAND], [Qt6WaylandClient >= ${QT_MINIMUM_VERSION}], [
have_qt_wayland="yes"
],[:])
QT_INCLUDE_DIRECTORY="$(eval $PKG_CONFIG --variable=includedir Qt6Core)"
QT_LIB_DIRECTORY="$(eval $PKG_CONFIG --variable=libdir Qt6Core)"
QT_VERSION_CORE="$(eval $PKG_CONFIG --modversion Qt6Core)"
QT_VERSION_GUI="$(eval $PKG_CONFIG --modversion Qt6Gui)"
QT_VERSION_QML="$(eval $PKG_CONFIG --modversion Qt6Qml)"
QT_VERSION_QUICK="$(eval $PKG_CONFIG --modversion Qt6Quick)"
AS_IF([test "${host}" = "${build}"],[
dnl native build, we can use the exectuables of the Qt6 target
QT_BIN_DIRECTORY="$(eval $PKG_CONFIG --variable=bindir Qt6Core)"
QT_LIBEXEC_DIRECTORY="$(eval $PKG_CONFIG --variable=libexecdir Qt6Core)"
QT_QML_LIBEXEC_DIRECTORY="$(eval $PKG_CONFIG --variable=libexecdir Qt6Qml)"
QT_SHADERTOOLS_BIN_DIRECTORY="$(eval $PKG_CONFIG --variable=bindir Qt6ShaderTools)"
],[
dnl cross compilation, use Qt6 native tools from contribs
AS_IF([test -n "${CONTRIB_DIR}"], [
QT_BIN_DIRECTORY=${CONTRIB_DIR}/../bin
QT_LIBEXEC_DIRECTORY=${CONTRIB_DIR}/../libexec
QT_QML_LIBEXEC_DIRECTORY=${QT_LIBEXEC_DIRECTORY}
QT_SHADERTOOLS_BIN_DIRECTORY=${QT_BIN_DIRECTORY}
])
])
AC_MSG_CHECKING([Qt is at least ${QT_MINIMUM_VERSION}])
QT_VERSION_CORE="$(${QT_PATHS} --query QT_VERSION 2>/dev/null)"
QT_MINIMUM_MAJ=$(echo ${QT_MINIMUM_VERSION} | cut -d "." -f -1)
QT_MINIMUM_MIN=$(echo ${QT_MINIMUM_VERSION} | cut -d "." -f 2-2)
QT_VERSION_MAJ=$(echo ${QT_VERSION_CORE} | cut -d "." -f -1)
QT_VERSION_MIN=$(echo ${QT_VERSION_CORE} | cut -d "." -f 2-2)
AS_IF([ test "${QT_VERSION_MAJ}" -lt "${QT_MINIMUM_MAJ}" || (test "${QT_VERSION_MAJ}" = "${QT_MINIMUM_MAJ}" && test "${QT_VERSION_MIN}" -lt "${QT_MINIMUM_MIN}") ], [
AC_MSG_RESULT([(${QT_VERSION_CORE}) no])
have_qt="no"
],[
AC_MSG_RESULT([(${QT_VERSION_CORE}) yes])
QT_BIN_DIRECTORY="$(${QT_PATHS} --query QT_HOST_BINS 2>/dev/null)"
QMAKE="${QT_BIN_DIRECTORY}/qmake"
AS_IF([test -n "${QT_CONF}"],[
QMAKE="${QMAKE} -qtconf ${QT_CONF}"
])
AC_MSG_NOTICE([using ${QMAKE}])
AC_MSG_CHECKING([for Qt libraries])
mkdir -p ${ac_pwd}/modules/gui/qt
touch ${ac_pwd}/modules/gui/qt/.qmake.stash
QT_PKG_ERRORS=$(${QMAKE} ${srcdir}/modules/gui/qt/qt6.pro -o ${ac_pwd}/modules/gui/qt/qmake-qt 2>&1)
ac_status=$?
AS_IF([test $ac_status = 0 && test -f ${ac_pwd}/modules/gui/qt/qmake-qt],[
echo "get_cflags:" >> ${ac_pwd}/modules/gui/qt/qmake-qt
echo ' $(info $(DEFINES) $(INCPATH))' >> ${ac_pwd}/modules/gui/qt/qmake-qt
echo "get_libs:" >> ${ac_pwd}/modules/gui/qt/qmake-qt
echo ' echo $(LIBS) | sed -e "s@/[[^ ]]*/lib\([[^ ]]*\)\.so@-l\1@g"' >> ${ac_pwd}/modules/gui/qt/qmake-qt
AC_MSG_RESULT([yes])
QT_LIBS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-qt get_libs)
QT_CFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-qt get_cflags)
AC_SUBST([QT_LIBS])
AC_SUBST([QT_CFLAGS])
AC_MSG_CHECKING([if contribs provide target_qt.conf])
AS_IF([test -e "${CONTRIB_DIR}/bin/target_qt.conf"], [
QT_CONF=${CONTRIB_DIR}/bin/target_qt.conf
AC_MSG_CHECKING([for Qt6WaylandClient])
(${QMAKE} ${srcdir}/modules/gui/qt/wayland.pro -o ${ac_pwd}/modules/gui/qt/qmake-wayland) 2>/dev/null
ac_status=$?
AS_IF([test $ac_status = 0 && test -f ${ac_pwd}/modules/gui/qt/qmake-wayland],[
echo 'get_cflags:' >> ${ac_pwd}/modules/gui/qt/qmake-wayland
echo ' $(info $(DEFINES) $(INCPATH))' >> ${ac_pwd}/modules/gui/qt/qmake-wayland
echo 'get_libs:' >> ${ac_pwd}/modules/gui/qt/qmake-wayland
echo ' echo $(LIBS) | sed -e "s@/[[^ ]]*/lib\([[^ ]]*\)\.so@-l\1@g"' >> ${ac_pwd}/modules/gui/qt/qmake-wayland
AC_MSG_RESULT([yes])
QT_WAYLAND_LIBS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-wayland get_libs)
QT_WAYLAND_CFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-wayland get_cflags)
AC_SUBST([QT_WAYLAND_LIBS])
AC_SUBST([QT_WAYLAND_CFLAGS])
have_qt_wayland="yes"
],[
AC_MSG_RESULT([no])
])
rm -f ${ac_pwd}/modules/gui/qt/qmake-wayland
QT_LIBEXEC_DIRECTORY="$(${QT_PATHS} --query QT_HOST_LIBEXECS 2>/dev/null)"
QT_QML_LIBEXEC_DIRECTORY=${QT_LIBEXEC_DIRECTORY}
QT_SHADERTOOLS_BIN_DIRECTORY=${QT_BIN_DIRECTORY}
dnl check native in contribs and keep the full path if found there
AC_PATH_PROGS(QTPATHS6, [qtpaths6], qtpaths6, ["${QT_BIN_DIRECTORY}"])
AC_PATH_PROGS(MOC, [moc], moc, ["${QT_LIBEXEC_DIRECTORY}"])
AC_PATH_PROGS(RCC, [rcc], rcc, ["${QT_LIBEXEC_DIRECTORY}"])
AC_PATH_PROGS(UIC, [uic], uic, ["${QT_LIBEXEC_DIRECTORY}"])
......@@ -4045,19 +4070,35 @@ AS_IF([test "${enable_qt}" != "no"], [
],[
AC_MSG_RESULT([no])
AC_MSG_WARN([qt runtime dependencies are missing, disabling qt interface])
enable_qt="no"
have_qt="no"
])
PKG_CHECK_MODULES([QT_QUICK_TEST], [Qt6QuickTest >= ${QT_MINIMUM_VERSION}], [
AS_IF([test "$PYTHON3" != "no" && ${PYTHON3} ${srcdir}/buildsystem/check_qml_module.py \
--qtpaths "${QTPATHS6}" \
--qtconf "${QT_CONF}" \
--modules QtTest="" \
>&AS_MESSAGE_FD ], [
have_qt_quick_test="yes"
], [])
AC_MSG_CHECKING([for QuickTest])
(${QMAKE} ${srcdir}/modules/gui/qt/quicktest.pro -o ${ac_pwd}/modules/gui/qt/qmake-quicktest) 2>/dev/null
ac_status=$?
AS_IF([test $ac_status = 0 && test -f ${ac_pwd}/modules/gui/qt/qmake-quicktest],[
AS_IF([test "$PYTHON3" != "no" && ${PYTHON3} ${srcdir}/buildsystem/check_qml_module.py \
--qtpaths "${QTPATHS6}" \
--qtconf "${QT_CONF}" \
--modules QtTest="" \
>&AS_MESSAGE_FD ], [
echo 'get_cflags:' >> ${ac_pwd}/modules/gui/qt/qmake-quicktest
echo ' $(info $(DEFINES) $(INCPATH))' >> ${ac_pwd}/modules/gui/qt/qmake-quicktest
echo 'get_libs:' >> ${ac_pwd}/modules/gui/qt/qmake-quicktest
echo ' echo $(LIBS) | sed -e "s@/[[^ ]]*/lib\([[^ ]]*\)\.so@-l\1@g"' >> ${ac_pwd}/modules/gui/qt/qmake-quicktest
AC_MSG_RESULT([yes])
QT_QUICK_TEST_LIBS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-quicktest get_libs)
QT_QUICK_TEST_CFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-quicktest get_cflags)
AC_SUBST([QT_QUICK_TEST_LIBS])
AC_SUBST([QT_QUICK_TEST_CFLAGS])
have_qt_quick_test="yes"
], [
AC_MSG_RESULT([no])
])
],[
AC_MSG_RESULT([no])
])
rm -f ${ac_pwd}/modules/gui/qt/qmake-quicktest
AC_PATH_PROGS(FXC, [fxc], [no], [${CONTRIB_DIR}/bin])
AS_IF([test "$FXC" != "no"],[
......@@ -4066,50 +4107,75 @@ AS_IF([test "${enable_qt}" != "no"], [
AC_SUBST([FXC_PATH])
])
dnl Check private headers availability
VLC_SAVE_FLAGS
CPPFLAGS="${CPPFLAGS} ${QT_CFLAGS}"
CPPFLAGS="${CPPFLAGS} -I${QT_INCLUDE_DIRECTORY}/QtCore/${QT_VERSION_CORE}"
CPPFLAGS="${CPPFLAGS} -I${QT_INCLUDE_DIRECTORY}/QtCore/${QT_VERSION_CORE}/QtCore"
CPPFLAGS="${CPPFLAGS} -I${QT_INCLUDE_DIRECTORY}/QtGui/${QT_VERSION_GUI}"
CPPFLAGS="${CPPFLAGS} -I${QT_INCLUDE_DIRECTORY}/QtGui/${QT_VERSION_GUI}/QtGui"
CPPFLAGS="${CPPFLAGS} -I${QT_INCLUDE_DIRECTORY}/QtQml/${QT_VERSION_QML}"
CPPFLAGS="${CPPFLAGS} -I${QT_INCLUDE_DIRECTORY}/QtQml/${QT_VERSION_QML}/QtQml"
CPPFLAGS="${CPPFLAGS} -I${QT_INCLUDE_DIRECTORY}/QtQuick/${QT_VERSION_QUICK}"
CPPFLAGS="${CPPFLAGS} -I${QT_INCLUDE_DIRECTORY}/QtQuick/${QT_VERSION_QUICK}/QtQuick"
AS_IF([test "${SYS}" != "mingw32"], [
CPPFLAGS="${CPPFLAGS} -fPIC"
AC_MSG_CHECKING([for Qt Core private])
(${QMAKE} ${srcdir}/modules/gui/qt/private-core.pro -o ${ac_pwd}/modules/gui/qt/qmake-private-core) 2>/dev/null
ac_status=$?
AS_IF([test $ac_status = 0 && test -f ${ac_pwd}/modules/gui/qt/qmake-private-core],[
echo 'get_cflags:' >> ${ac_pwd}/modules/gui/qt/qmake-private-core
echo ' $(info $(DEFINES) $(INCPATH))' >> ${ac_pwd}/modules/gui/qt/qmake-private-core
echo 'get_libs:' >> ${ac_pwd}/modules/gui/qt/qmake-private-core
echo ' echo $(LIBS) | sed -e "s@/[[^ ]]*/lib\([[^ ]]*\)\.so@-l\1@g"' >> ${ac_pwd}/modules/gui/qt/qmake-private-core
AC_MSG_RESULT([yes])
QT_CORE_PRIVATE_LIBS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-private-core get_libs)
QT_CORE_PRIVATE_CFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-private-core get_cflags)
AC_SUBST([QT_CORE_PRIVATE_LIBS])
AC_SUBST([QT_CORE_PRIVATE_CFLAGS])
have_qt_core_private="yes"
],[
AC_MSG_RESULT([no])
])
rm -f ${ac_pwd}/modules/gui/qt/qmake-private-core
AC_LANG_PUSH([C++])
AC_CHECK_HEADERS([private/qobject_p.h],
[have_qt_core_private="yes"], [])
AC_CHECK_HEADERS([private/qquickitem_p.h private/qquickwindow_p.h],
[have_qt_declarative_private="yes"], [])
AC_CHECK_HEADERS([QtGui/qpa/qplatformnativeinterface.h],
[have_qt_gui_private="yes"], [])
AC_LANG_POP([C++])
VLC_RESTORE_FLAGS
VLC_SAVE_FLAGS
CPPFLAGS="${CPPFLAGS} ${QT_CFLAGS}"
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <qconfig.h>]],[[QT_STATIC]])],
[have_qt_static=yes],[have_qt_static=no])
VLC_RESTORE_FLAGS
AC_MSG_CHECKING([for Qt GUI private])
(${QMAKE} ${srcdir}/modules/gui/qt/private-gui.pro -o ${ac_pwd}/modules/gui/qt/qmake-private-gui) 2>/dev/null
ac_status=$?
AS_IF([test $ac_status = 0 && test -f ${ac_pwd}/modules/gui/qt/qmake-private-gui],[
echo 'get_cflags:' >> ${ac_pwd}/modules/gui/qt/qmake-private-gui
echo ' $(info $(DEFINES) $(INCPATH))' >> ${ac_pwd}/modules/gui/qt/qmake-private-gui
echo 'get_libs:' >> ${ac_pwd}/modules/gui/qt/qmake-private-gui
echo ' echo $(LIBS) | sed -e "s@/[[^ ]]*/lib\([[^ ]]*\)\.so@-l\1@g"' >> ${ac_pwd}/modules/gui/qt/qmake-private-gui
AC_MSG_RESULT([yes])
QT_GUI_PRIVATE_LIBS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-private-gui get_libs)
QT_GUI_PRIVATE_CFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-private-gui get_cflags)
AC_SUBST([QT_GUI_PRIVATE_LIBS])
AC_SUBST([QT_GUI_PRIVATE_CFLAGS])
have_qt_gui_private="yes"
],[
AC_MSG_RESULT([no])
])
rm -f ${ac_pwd}/modules/gui/qt/qmake-private-gui
AS_IF([test "${have_qt_static}" = "yes"],[
PKG_CHECK_MODULES([VLCQTDEPS], [qtvlcdeps], [], [
enable_qt="no"
])
AC_MSG_CHECKING([for Qt Quick private])
(${QMAKE} ${srcdir}/modules/gui/qt/private-quick.pro -o ${ac_pwd}/modules/gui/qt/qmake-private-quick) 2>/dev/null
ac_status=$?
AS_IF([test $ac_status = 0 && test -f ${ac_pwd}/modules/gui/qt/qmake-private-quick],[
echo 'get_cflags:' >> ${ac_pwd}/modules/gui/qt/qmake-private-quick
echo ' $(info $(DEFINES) $(INCPATH))' >> ${ac_pwd}/modules/gui/qt/qmake-private-quick
echo 'get_libs:' >> ${ac_pwd}/modules/gui/qt/qmake-private-quick
echo ' echo $(LIBS) | sed -e "s@/[[^ ]]*/lib\([[^ ]]*\)\.so@-l\1@g"' >> ${ac_pwd}/modules/gui/qt/qmake-private-quick
AC_MSG_RESULT([yes])
QT_QUICK_PRIVATE_LIBS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-private-quick get_libs)
QT_QUICK_PRIVATE_CFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-private-quick get_cflags)
AC_SUBST([QT_QUICK_PRIVATE_LIBS])
AC_SUBST([QT_QUICK_PRIVATE_CFLAGS])
have_qt_declarative_private="yes"
],[
AC_MSG_RESULT([no])
])
rm -f ${ac_pwd}/modules/gui/qt/qmake-private-quick
dnl gtk theme provider
PKG_CHECK_MODULES([GTK3], [gtk+-3.0 >= 3.20], [
have_qt_gtk="yes"
], [:])
], [
AC_MSG_RESULT([no])
have_qt="no"
])
])
rm -f ${ac_pwd}/modules/gui/qt/qmake-qt
rm -f ${ac_pwd}/modules/gui/qt/.qmake.stash
AS_IF([test "${have_qt}" = "no"],[
AS_IF([test -n "${enable_qt}"],[
AC_MSG_ERROR([${QT_PKG_ERRORS}. If you want to build VLC without GUI, pass --disable-qt.])
],[
......@@ -4131,14 +4197,8 @@ AM_CONDITIONAL(QT_QML_DEBUG, [test "${enable_qt_qml_debug}" = "yes"])
AS_IF([test "${enable_qt}" != "no"], [
ALIASES="${ALIASES} qvlc"
])
AC_SUBST([QT_VERSION_CORE])
AC_SUBST([QT_VERSION_GUI])
AC_SUBST([QT_VERSION_QML])
AC_SUBST([QT_VERSION_QUICK])
AC_SUBST([QT_INCLUDE_DIRECTORY])
AC_SUBST([QT_INDIRECT_LIBS])
AM_CONDITIONAL([ENABLE_QT], [test "$enable_qt" != "no"])
AM_CONDITIONAL([QT_STATIC], [test "${have_qt_static}" = "yes"])
AM_CONDITIONAL([HAVE_QT_WAYLAND], [test "${have_qt_wayland}" = "yes"])
AM_CONDITIONAL([HAVE_QT_GTK], [test "${have_qt_gtk}" = "yes"])
AM_CONDITIONAL([HAVE_QT_QUICK_TEST], [test "${have_qt_quick_test}" = "yes"])
......
From 25f81e4e301efa03c4b72eda8ea10249f2779b55 Mon Sep 17 00:00:00 2001
From: Fatih Uzunoglu <fuzun54@outlook.com>
Date: Mon, 8 Jan 2024 21:52:41 +0200
Subject: [PATCH 2/7] Try to generate pkgconfig pc files in static build
---
cmake/QtPkgConfigHelpers.cmake | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/cmake/QtPkgConfigHelpers.cmake b/cmake/QtPkgConfigHelpers.cmake
index dbe736c438..caacd4e8ed 100644
--- a/cmake/QtPkgConfigHelpers.cmake
+++ b/cmake/QtPkgConfigHelpers.cmake
@@ -26,9 +26,10 @@ function(qt_internal_generate_pkg_config_file module)
AND NOT MINGW OR CMAKE_VERSION VERSION_LESS "3.20" OR ANDROID)
return()
endif()
- if(NOT BUILD_SHARED_LIBS)
- return()
- endif()
+ # Try to generate pc files also in static build
+ #if(NOT BUILD_SHARED_LIBS)
+ # return()
+ #endif()
set(pkgconfig_file "${QT_CMAKE_EXPORT_NAMESPACE}${module}")
set(pkgconfig_name "${QT_CMAKE_EXPORT_NAMESPACE} ${module}")
--
2.44.0
......@@ -44,7 +44,6 @@ $(TARBALLS)/qtbase-everywhere-src-$(QTBASE_VERSION_FULL).tar.xz:
qt: qtbase-everywhere-src-$(QTBASE_VERSION_FULL).tar.xz .sum-qt
$(UNPACK)
$(APPLY) $(SRC)/qt/0001-Windows-Tray-Icon-Set-NOSOUND.patch
$(APPLY) $(SRC)/qt/0002-Try-to-generate-pkgconfig-pc-files-in-static-build.patch
$(APPLY) $(SRC)/qt/0003-Revert-QMutex-remove-qmutex_win.cpp.patch
$(APPLY) $(SRC)/qt/0004-Expose-QRhiImplementation-in-QRhi.patch
$(APPLY) $(SRC)/qt/0005-Do-not-include-D3D12MemAlloc.h-in-header-file.patch
......@@ -79,7 +78,7 @@ QTBASE_CONFIG += -static -opensource -confirm-license -no-pkg-config -no-openssl
-no-feature-movie -no-feature-pdf -no-feature-whatsthis -no-feature-lcdnumber \
-no-feature-syntaxhighlighter -no-feature-undoview -no-feature-splashscreen \
-no-feature-dockwidget -no-feature-mdiarea -no-feature-statusbar -no-feature-statustip \
-no-feature-keysequenceedit \
-no-feature-keysequenceedit -no-feature-pkg-config \
-nomake examples -prefix $(PREFIX) -qt-host-path $(BUILDPREFIX) \
-- -DCMAKE_TOOLCHAIN_FILE=$(abspath toolchain.cmake)
......
cmake_minimum_required(VERSION 3.16)
project(qtvlcdeps VERSION 0.1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 6.2 REQUIRED COMPONENTS Core Gui Qml Svg Quick Widgets QuickControls2)
qt_standard_project_setup(REQUIRES 6.2)
qt_add_executable(qtvlcdeps)
qt_add_qml_module(qtvlcdeps
URI qtvlcdeps
RESOURCE_PREFIX qtvlcdeps
QML_FILES
Imports.qml
)
qt_import_plugins(qtvlcdeps
INCLUDE Qt::QSvgIconPlugin Qt::QSvgPlugin Qt::QJpegPlugin Qt::QICOPlugin
)
if (WIN32)
qt_import_plugins(qtvlcdeps
INCLUDE Qt::QWindowsIntegrationPlugin Qt::QModernWindowsStylePlugin
)
endif (WIN32)
if (UNIX)
qt_import_plugins(qtvlcdeps
INCLUDE Qt::QXcbGlxIntegrationPlugin Qt::QXcbEglIntegrationPlugin Qt::QXcbIntegrationPlugin Qt::QWaylandIntegrationPlugin Qt::QWaylandEglPlatformIntegrationPlugin Qt::QGtk3ThemePlugin Qt::QXdgDesktopPortalThemePlugin Qt::QWaylandXdgShellPlatformIntegrationPlugin
)
endif (UNIX)
if (APPLE)
qt_import_plugins(qtvlcdeps
INCLUDE Qt::QCocoaIntegrationPlugin Qt::QMacStylePlugin
)
endif (APPLE)
set_target_properties(qtvlcdeps PROPERTIES
WIN32_EXECUTABLE TRUE
qt_no_entrypoint TRUE
)
target_link_libraries(qtvlcdeps
PRIVATE Qt6::Core Qt6::Gui Qt6::Qml Qt6::Svg Qt6::Quick Qt6::Widgets Qt6::QuickControls2
)
import QtQml
import QtQml.Models
import QtQuick
import QtQuick.Templates
import QtQuick.Controls
import QtQuick.Layouts
import QtQuick.Window
import Qt5Compat.GraphicalEffects
QtObject { }
prefix=@@CONTRIB_PREFIX@@
exec_prefix=${prefix}
libdir=${prefix}/lib
pluginsdir=${prefix}/plugins
qmldir=${prefix}/qml
Name: qtvlcdeps
Description: Qt dependencies for VLC media player
Version: 0.1
Libs: %1
# qtvlcdeps
DEPS_qtvlcdeps += qt $(DEPS_qt) qtsvg $(DEPS_qtsvg) qtdeclarative $(DEPS_qtdeclarative) qt5compat $(DEPS_qt5compat)
ifdef HAVE_LINUX
DEPS_qtvlcdeps += qtwayland $(DEPS_qtwayland)
endif
ifneq ($(findstring qt,$(PKGS)),)
PKGS += qtvlcdeps
endif
ifeq ($(call need_pkg,"qtvlcdeps >= 0.1"),)
PKGS_FOUND += qtvlcdeps
endif
QT_VLC_DEP_SOURCES := Imports.qml qtvlcdeps.pc.in CMakeLists.txt
.sum-qtvlcdeps:
touch $@
qtvlcdeps: UNPACK_DIR=qtvlcdeps-unpack
qtvlcdeps:
$(RM) -R $@ && mkdir -p $(UNPACK_DIR)
for f in $(QT_VLC_DEP_SOURCES) ; do \
cp -f $(SRC)/qtvlcdeps/$$f $(UNPACK_DIR) ; \
done
$(MOVE)
.qtvlcdeps: qtvlcdeps
$(CMAKECLEAN)
$(HOSTVARS) $(CMAKE) -G Ninja -DCMAKE_TOOLCHAIN_FILE=$(PREFIX)/lib/cmake/Qt6/qt.toolchain.cmake
QT_LIBS=$$(awk -F '=' '/LINK_LIBRARIES/ {print $$2; exit}' $(BUILD_DIR)/build.ninja); \
cat $</qtvlcdeps.pc.in | \
sed "s|%1|$$QT_LIBS|" | \
sed "s|$(PREFIX)/lib/|$$\{libdir\}/|g" | \
sed "s|$(PREFIX)/plugins/|$$\{pluginsdir\}/|g" | \
sed "s|$(PREFIX)/qml/|$$\{qmldir\}/|g" | \
sed "s|$(PREFIX)/|$$\{prefix\}/|g" | \
sed "s|@@CONTRIB_PREFIX@@|$(PREFIX)|" > $</qtvlcdeps.pc
install -d $(PREFIX)/lib/pkgconfig && install $</qtvlcdeps.pc $(PREFIX)/lib/pkgconfig
touch $@
......@@ -4,6 +4,12 @@ QTWAYLAND_VERSION_MAJOR := 6.7
QTWAYLAND_VERSION := $(QTWAYLAND_VERSION_MAJOR).0
QTWAYLAND_URL := $(QT)/$(QTWAYLAND_VERSION_MAJOR)/$(QTWAYLAND_VERSION)/submodules/qtwayland-everywhere-src-$(QTWAYLAND_VERSION).tar.xz
ifdef HAVE_LINUX
ifneq ($(findstring qt,$(PKGS)),)
PKGS += qtwayland
endif
endif
DEPS_qtwayland = qtdeclarative $(DEPS_qtdeclarative)
$(TARBALLS)/qtwayland-everywhere-src-$(QTWAYLAND_VERSION).tar.xz:
......
......@@ -16,9 +16,9 @@ guidir = $(pluginsdir)/gui
gui_LTLIBRARIES =
SUFFIXES += .ui .h .hpp .moc.cpp .qml
TEST_EXTENSIONS = .qml
EXTRA_DIST =
EXTRA_DIST = qt6.pro private-core.pro private-gui.pro private-quick.pro quicktest.pro wayland.pro
vlc_qt_libs = $(QT_LIBS) $(VLCQTDEPS_LIBS)
vlc_qt_libs = $(QT_LIBS)
vlc_qt_check_SOURCES = vlc-qt-check.cpp plugins.hpp
vlc_qt_check_CXXFLAGS = $(AM_CXXFLAGS) $(QT_CFLAGS) -fPIC $(CXXFLAGS_qt)
......@@ -37,8 +37,7 @@ libqt_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_qt) \
-I$(builddir)/dialogs/podcast \
-I$(builddir)/dialogs/preferences \
-I$(builddir)/dialogs/sout \
-I$(builddir)/dialogs/vlm \
-DQPNI_HEADER=\<$(QT_VERSION_GUI)/QtGui/qpa/qplatformnativeinterface.h\>
-I$(builddir)/dialogs/vlm
libqt_plugin_la_CXXFLAGS = $(AM_CXXFLAGS) $(QT_CFLAGS) $(CXXFLAGS_qt)
libqt_plugin_la_LIBADD = $(vlc_qt_libs)
......@@ -77,28 +76,15 @@ libqt_plugin_la_CPPFLAGS += -DQT_HAS_GTK
endif
if HAVE_QT_CORE_PRIVATE
libqt_plugin_la_CPPFLAGS += -DQT_CORE_PRIVATE
libqt_plugin_la_CPPFLAGS += -DQT_CORE_PRIVATE $(QT_CORE_PRIVATE_CFLAGS)
endif
if HAVE_QT_GUI_PRIVATE
libqt_plugin_la_CPPFLAGS += -DQT_GUI_PRIVATE \
-I$(QT_INCLUDE_DIRECTORY)/QtCore/$(QT_VERSION_CORE) \
-I$(QT_INCLUDE_DIRECTORY)/QtCore/$(QT_VERSION_CORE)/QtCore \
-I$(QT_INCLUDE_DIRECTORY)/QtGui/$(QT_VERSION_GUI) \
-I$(QT_INCLUDE_DIRECTORY)/QtGui/$(QT_VERSION_GUI)/QtGui
libqt_plugin_la_CPPFLAGS += -DQT_GUI_PRIVATE $(QT_GUI_PRIVATE_CFLAGS)
endif
if HAVE_QT_DECLARATIVE_PRIVATE
libqt_plugin_la_CPPFLAGS += -DQT_DECLARATIVE_PRIVATE \
-I$(QT_INCLUDE_DIRECTORY)/QtCore/$(QT_VERSION_CORE) \
-I$(QT_INCLUDE_DIRECTORY)/QtCore/$(QT_VERSION_CORE)/QtCore \
-I$(QT_INCLUDE_DIRECTORY)/QtGui/$(QT_VERSION_GUI) \
-I$(QT_INCLUDE_DIRECTORY)/QtGui/$(QT_VERSION_GUI)/QtGui \
-I$(QT_INCLUDE_DIRECTORY)/QtQml/$(QT_VERSION_QML) \
-I$(QT_INCLUDE_DIRECTORY)/QtQml/$(QT_VERSION_QML)/QtQml \
-I$(QT_INCLUDE_DIRECTORY)/QtQuick/$(QT_VERSION_QUICK) \
-I$(QT_INCLUDE_DIRECTORY)/QtQuick/$(QT_VERSION_QUICK)/QtQuick
libqt_plugin_la_CPPFLAGS += -DQT_DECLARATIVE_PRIVATE $(QT_QUICK_PRIVATE_CFLAGS)
endif
libqt_plugin_la_SOURCES = \
......@@ -1266,7 +1252,7 @@ nodist_base_model_test_SOURCES = util/base_model.moc.cpp \
util/locallistcacheloader.moc.cpp
base_model_test_CXXFLAGS = $(AM_CXXFLAGS) $(QT_CFLAGS) -fPIC $(CXXFLAGS_qt)
base_model_test_LDADD = $(QT5_PLUGINS_LIBS) $(QT_LIBS) $(LIBS_qt)
base_model_test_LDADD = $(QT_LIBS) $(LIBS_qt)
check_PROGRAMS = base_model_test
TESTS = base_model_test
......
......@@ -619,7 +619,6 @@ if qt6_dep.found()
if host_system == 'windows'
qt_cppargs += libcom_cppflags
qt_extra_flags += '-DQPNI_HEADER=<' + qt6_dep.version() + '/QtGui/qpa/qplatformnativeinterface.h>'
endif
if not (host_system in ['windows', 'darwin'])
......
QT = core core-private
CONFIG -= debug_and_release
CONFIG += no_include_pwd
QT = gui gui-private
CONFIG -= debug_and_release
CONFIG += no_include_pwd
QT = quick quick-private
CONFIG -= debug_and_release
CONFIG += no_include_pwd
TEMPLATE = app
QT = core gui qml svg quick widgets quickcontrols2
QTPLUGIN = qsvgicon qsvg qjpeg qico
CONFIG -= entrypoint
CONFIG -= debug_and_release
CONFIG += no_include_pwd
win32 {
QTPLUGIN += qwindows qmodernwindowsstyle
}
linux {
QTPLUGIN += qxcb-glx-integration qxcb-egl-integration qxcb qwayland-generic qwayland-egl qgtk3 qxdgdesktopportal xdg-shell
}
macx {
QTPLUGIN += qcocoa qmacstyle
}
# These are not needed now, but may be required in the future:
# CONFIG += import_plugins staticlib create_pc create_prl no_install_prl link_prl
QT = qmltest
CONFIG -= debug_and_release
CONFIG += no_include_pwd
QT = waylandcompositor
CONFIG += wayland-scanner
CONFIG -= debug_and_release
CONFIG += no_include_pwd