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
  • djain/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
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
  • abdsaber000/vlc
  • falbrechtskirchinger/vlc
  • b.sullender/vlc
  • hulxv/vlc
  • zyad-ayad/vlc
  • shocknovaa/vlc
  • gremlinflat/vlc
  • Pratham24D/vlc
  • hmaarrfk/vlc
412 results
Show changes
Commits on Source (7)
......@@ -3992,9 +3992,7 @@ AC_ARG_ENABLE([qt],
have_qt_gtk="no"
have_qt_qtest="no"
have_qt_quick_test="no"
have_qt_declarative_private="no"
have_qt_gui_private="no"
have_qt_core_private="no"
have_qt65="no"
have_qt_zstd="no"
have_fxc="no"
......@@ -4054,33 +4052,36 @@ AS_IF([test "${enable_qt}" != "no"], [
], [])
QT_BIN_DIRECTORY="$(${QT_PATHS} -query QT_HOST_BINS 2>/dev/null)"
QMAKE="${QT_PATHS}"
AC_MSG_NOTICE([using ${QMAKE}])
AC_MSG_NOTICE([using ${QT_PATHS}])
AC_CHECK_PROGS(PYTHON3, [python3], [no])
AS_IF([test "$PYTHON3" == "no"], [
AC_MSG_WARN([python is required to detect Qt libraries/flags])
have_qt="no"
],[
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)
srcdir_abs=`(cd ${srcdir} && pwd -P)`
QT_PKG_ERRORS=$(${PYTHON3} ${srcdir}/modules/gui/qt/scripts/static_dirs.py \
--qmake "${QMAKE6}" --qtconf "${with_qtconf}" \
--pro ${srcdir_abs}/modules/gui/qt/qt6.pro \
--builddir ${ac_pwd}/modules/gui/qt \
--libs)
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-common.mk
echo ' $(info $(DEFINES) $(INCPATH))' >> ${ac_pwd}/modules/gui/qt/qmake-common.mk
echo "get_libs:" >> ${ac_pwd}/modules/gui/qt/qmake-common.mk
dnl transform /foo/bar/libbaz.so arguments to -L/foo/bar -lbaz
dnl RS: each arguments (space separated) are treated as a new line
dnl FS: split fields using /[^/]* to extract the file basepath ($1)
dnl /lib.*\.so/ lines (arguments) will add -Lxxx if this is not the current path (p), then transform into a -lxxx argument
dnl other arguments are kept as-is
echo ' echo $(LIBS) | awk '\''BEGIN{FS="/[[^/]]*$$";RS=" ";ORS=" "}{if($$0 ~ /\/lib.*\.so/){ if(p != $$1){ print "-L" $$1; p=$$1}; sub(/.*\/lib/, "-l"); sub(/\.so.*/, "")}; print $$0}'\' >> ${ac_pwd}/modules/gui/qt/qmake-common.mk
echo 'get_ldflags:' >> ${ac_pwd}/modules/gui/qt/qmake-common.mk
echo ' echo $(LFLAGS)' >> ${ac_pwd}/modules/gui/qt/qmake-common.mk
echo "include ${ac_pwd}/modules/gui/qt/qmake-common.mk" >> ${ac_pwd}/modules/gui/qt/qmake-qt
AS_IF([test $ac_status = 0],[
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)
QT_LDFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-qt get_ldflags)
QT_LIBS=${QT_PKG_ERRORS}
QT_CFLAGS=$(${PYTHON3} ${srcdir}/modules/gui/qt/scripts/static_dirs.py \
--qmake "${QMAKE6}" --qtconf "${with_qtconf}" \
--pro ${srcdir_abs}/modules/gui/qt/qt6.pro \
--builddir ${ac_pwd}/modules/gui/qt \
--cflags)
QT_LDFLAGS=$(${PYTHON3} ${srcdir}/modules/gui/qt/scripts/static_dirs.py \
--qmake "${QMAKE6}" --qtconf "${with_qtconf}" \
--pro ${srcdir_abs}/modules/gui/qt/qt6.pro \
--builddir ${ac_pwd}/modules/gui/qt \
--ldflags)
AC_SUBST([QT_LIBS])
AC_SUBST([QT_CFLAGS])
AC_SUBST([QT_LDFLAGS])
......@@ -4099,7 +4100,6 @@ AS_IF([test "${enable_qt}" != "no"], [
AC_MSG_WARN([qmlcachegen not found])
])
AC_CHECK_PROGS(PYTHON3, [python3], [no])
AC_MSG_CHECKING([if required Qt plugins are installed with ${QMAKE6} and conf ${with_qtconf}])
AS_IF([test "${have_qt65}" = "yes"], [
......@@ -4107,7 +4107,7 @@ AS_IF([test "${enable_qt}" != "no"], [
], [
qt_qml_effects_module="Qt5Compat.GraphicalEffects"
])
AS_IF([test "$PYTHON3" != "no" && ${PYTHON3} ${srcdir}/buildsystem/check_qml_module.py \
AS_IF([${PYTHON3} ${srcdir}/buildsystem/check_qml_module.py \
--qmake "${QMAKE6}" \
--qtconf "${with_qtconf}" \
--modules \
......@@ -4142,14 +4142,25 @@ AS_IF([test "${enable_qt}" != "no"], [
VLC_RESTORE_FLAGS
AC_MSG_CHECKING([for Qt QTest])
(${QMAKE} ${srcdir}/modules/gui/qt/qtest.pro -o ${ac_pwd}/modules/gui/qt/qmake-qtest) 2>/dev/null
_QT_QTEST_LIBS=$(${PYTHON3} ${srcdir}/modules/gui/qt/scripts/static_dirs.py \
--qmake "${QMAKE6}" --qtconf "${with_qtconf}" \
--pro ${srcdir_abs}/modules/gui/qt/qtest.pro \
--builddir ${ac_pwd}/modules/gui/qt \
--libs) 2>/dev/null
ac_status=$?
AS_IF([test $ac_status = 0 && test -f ${ac_pwd}/modules/gui/qt/qmake-qtest],[
echo "include ${ac_pwd}/modules/gui/qt/qmake-common.mk" >> ${ac_pwd}/modules/gui/qt/qmake-qtest
AS_IF([test $ac_status = 0],[
AC_MSG_RESULT([yes])
QT_QTEST_LIBS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-qtest get_libs)
QT_QTEST_CFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-qtest get_cflags)
QT_QTEST_LDFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-qtest get_cflags)
QT_QTEST_LIBS=${_QT_QTEST_LIBS}
QT_QTEST_CFLAGS=$(${PYTHON3} ${srcdir}/modules/gui/qt/scripts/static_dirs.py \
--qmake "${QMAKE6}" --qtconf "${with_qtconf}" \
--pro ${srcdir_abs}/modules/gui/qt/qtest.pro \
--builddir ${ac_pwd}/modules/gui/qt \
--cflags)
QT_QTEST_LDFLAGS=$(${PYTHON3} ${srcdir}/modules/gui/qt/scripts/static_dirs.py \
--qmake "${QMAKE6}" --qtconf "${with_qtconf}" \
--pro ${srcdir_abs}/modules/gui/qt/qtest.pro \
--builddir ${ac_pwd}/modules/gui/qt \
--ldflags)
AC_SUBST([QT_QTEST_LIBS])
AC_SUBST([QT_QTEST_CFLAGS])
AC_SUBST([QT_QTEST_LDFLAGS])
......@@ -4157,22 +4168,32 @@ AS_IF([test "${enable_qt}" != "no"], [
],[
AC_MSG_RESULT([no])
])
rm -f ${ac_pwd}/modules/gui/qt/qmake-qtest
AC_MSG_CHECKING([for QuickTest])
(${QMAKE} ${srcdir}/modules/gui/qt/quicktest.pro -o ${ac_pwd}/modules/gui/qt/qmake-quicktest) 2>/dev/null
_QT_QUICK_TEST_LIBS=$(${PYTHON3} ${srcdir}/modules/gui/qt/scripts/static_dirs.py \
--qmake "${QMAKE6}" --qtconf "${with_qtconf}" \
--pro ${srcdir_abs}/modules/gui/qt/quicktest.pro \
--builddir ${ac_pwd}/modules/gui/qt \
--libs) 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 \
AS_IF([test $ac_status = 0],[
AS_IF([${PYTHON3} ${srcdir}/buildsystem/check_qml_module.py \
--qmake "${QMAKE6}" \
--qtconf "${with_qtconf}" \
--modules QtTest="" \
>&AS_MESSAGE_FD ], [
echo "include ${ac_pwd}/modules/gui/qt/qmake-common.mk" >> ${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)
QT_QUICK_TEST_LDFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-quicktest get_ldflags)
QT_QUICK_TEST_LIBS=${_QT_QUICK_TEST_LIBS}
QT_QUICK_TEST_CFLAGS=$(${PYTHON3} ${srcdir}/modules/gui/qt/scripts/static_dirs.py \
--qmake "${QMAKE6}" --qtconf "${with_qtconf}" \
--pro ${srcdir_abs}/modules/gui/qt/quicktest.pro \
--builddir ${ac_pwd}/modules/gui/qt \
--cflags)
QT_QUICK_TEST_LDFLAGS=$(${PYTHON3} ${srcdir}/modules/gui/qt/scripts/static_dirs.py \
--qmake "${QMAKE6}" --qtconf "${with_qtconf}" \
--pro ${srcdir_abs}/modules/gui/qt/quicktest.pro \
--builddir ${ac_pwd}/modules/gui/qt \
--ldflags)
AC_SUBST([QT_QUICK_TEST_LIBS])
AC_SUBST([QT_QUICK_TEST_CFLAGS])
AC_SUBST([QT_QUICK_TEST_LDFLAGS])
......@@ -4183,7 +4204,6 @@ AS_IF([test "${enable_qt}" != "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"],[
......@@ -4192,48 +4212,16 @@ AS_IF([test "${enable_qt}" != "no"], [
AC_SUBST([FXC_PATH])
])
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 "include ${ac_pwd}/modules/gui/qt/qmake-common.mk" >> ${ac_pwd}/modules/gui/qt/qmake-private-core
AC_MSG_RESULT([yes])
QT_CORE_PRIVATE_CFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-private-core get_cflags)
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_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 "include ${ac_pwd}/modules/gui/qt/qmake-common.mk" >> ${ac_pwd}/modules/gui/qt/qmake-private-gui
AC_MSG_RESULT([yes])
QT_GUI_PRIVATE_CFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-private-gui get_cflags)
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
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 "include ${ac_pwd}/modules/gui/qt/qmake-common.mk" >> ${ac_pwd}/modules/gui/qt/qmake-private-quick
AC_MSG_RESULT([yes])
QT_QUICK_PRIVATE_CFLAGS=$(cd ${ac_pwd}/modules/gui/qt && make -s -f qmake-private-quick get_cflags)
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
case $QT_CFLAGS in
*-DQT_GUI_PRIVATE\ *)
AC_MSG_RESULT([yes])
have_qt_gui_private="yes"
;;
*)
AC_MSG_RESULT([no])
;;
esac
dnl gtk theme provider
PKG_CHECK_MODULES([GTK3], [gtk+-3.0 >= 3.20], [
......@@ -4244,9 +4232,8 @@ AS_IF([test "${enable_qt}" != "no"], [
have_qt="no"
])
])
rm -f ${ac_pwd}/modules/gui/qt/qmake-common.mk
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.])
......@@ -4274,9 +4261,7 @@ AM_CONDITIONAL([ENABLE_QT], [test "$enable_qt" != "no"])
AM_CONDITIONAL([HAVE_QT_GTK], [test "${have_qt_gtk}" = "yes"])
AM_CONDITIONAL([HAVE_QT_QTEST], [test "${have_qt_qtest}" = "yes"])
AM_CONDITIONAL([HAVE_QT_QUICK_TEST], [test "${have_qt_quick_test}" = "yes"])
AM_CONDITIONAL([HAVE_QT_DECLARATIVE_PRIVATE], [test "${have_qt_declarative_private}" = "yes"])
AM_CONDITIONAL([HAVE_QT_GUI_PRIVATE], [test "${have_qt_gui_private}" = "yes"])
AM_CONDITIONAL([HAVE_QT_CORE_PRIVATE], [test "${have_qt_core_private}" = "yes"])
AM_CONDITIONAL([HAVE_FXC], [test "${have_fxc}" = "yes"])
AM_CONDITIONAL([HAVE_QT67], [test "${QT_VERSION_MAJ:-0}" -gt "6" || (test "${QT_VERSION_MAJ:-0}" = "6" && test "${QT_VERSION_MIN:-0}" -ge "7")])
AM_CONDITIONAL([HAVE_QT65], [test "${have_qt65}" = "yes"])
......
......@@ -16,7 +16,7 @@ guidir = $(pluginsdir)/gui
gui_LTLIBRARIES =
SUFFIXES += .ui .h .hpp .moc.cpp .qml .js .mjs .moc
TEST_EXTENSIONS = .qml
EXTRA_DIST = qt6.pro private-core.pro private-gui.pro private-quick.pro quicktest.pro scripts
EXTRA_DIST = qt6.pro qtest.pro quicktest.pro scripts
vlc_qt_libs = $(QT_LIBS)
RCC_EXTRA_PARAMS =
......@@ -78,18 +78,6 @@ if HAVE_QT_GTK
libqt_plugin_la_CPPFLAGS += -DQT_HAS_GTK
endif
if HAVE_QT_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 $(QT_GUI_PRIVATE_CFLAGS)
endif
if HAVE_QT_DECLARATIVE_PRIVATE
libqt_plugin_la_CPPFLAGS += -DQT_DECLARATIVE_PRIVATE $(QT_QUICK_PRIVATE_CFLAGS)
endif
libqt_plugin_la_SOURCES = \
qt.cpp qt.hpp plugins.hpp \
dialogs/bookmarks/bookmarks.cpp dialogs/bookmarks/bookmarks.hpp \
......@@ -1607,7 +1595,7 @@ QT_QTEST_COMMON_ldflags = $(AM_LDFLAGS) $(QT_LDFLAGS) $(QT_QTEST_LDFLAGS)
# test_ml_model
test_ml_model_SOURCES = \
tests/vlc_stub_modules.cpp \
tests/vlc_stub_modules.cpp tests/vlc_stub_modules.hpp \
tests/test_ml_model.cpp \
util/base_model.hpp util/base_model_p.hpp util/base_model.cpp \
util/listcache.hpp \
......@@ -1643,7 +1631,7 @@ TESTS += test_ml_model
# test_renderer_manager_model
test_renderer_manager_model_SOURCES = \
tests/vlc_stub_modules.cpp \
tests/vlc_stub_modules.cpp tests/vlc_stub_modules.hpp \
tests/test_renderer_manager_model.cpp \
util/renderer_manager.hpp util/renderer_manager.cpp
......@@ -1663,7 +1651,7 @@ TESTS += test_renderer_manager_model
# test_vlc_dialog_model
test_vlc_dialog_model_SOURCES = \
tests/vlc_stub_modules.cpp \
tests/vlc_stub_modules.cpp tests/vlc_stub_modules.hpp \
tests/test_vlc_dialog_model.cpp \
dialogs/dialogs/dialogmodel.cpp
......
......@@ -961,6 +961,50 @@ if qt6_dep.found()
dependencies: qt6_dep)
endforeach
qt_static_check = '''
#include <qconfig.h>
#ifndef QT_STATIC
# error Qt using shared libraries
#endif
'''
if cpp.compiles(qt_static_check, dependencies: qt6_dep, name: 'Qt6 compiled with static libraries')
qt_install_bin_directory = qt6_dep.get_variable(pkgconfig: 'bindir', configtool: '-query QT_INSTALL_BINS')
qmake6 = find_program(qt_install_bin_directory + '/qmake6', required: true)
if qmake6.found()
qtcflags = run_command(
prog_python,
meson.current_source_dir() / 'scripts/static_dirs.py',
'--qmake', qmake6.full_path(),
'--pro', meson.current_source_dir() / 'qt6.pro',
'--builddir', meson.current_build_dir(),
'--cflags',
check: false,
)
if qtcflags.returncode() == 0
qt_extra_flags += qtcflags.stdout().split()
else
warning('Failed to get static Qt compilation flags: ' + qtcflags.stderr())
endif
qtlflags = run_command(
prog_python,
meson.current_source_dir() / 'scripts/static_dirs.py',
'--qmake', qmake6.full_path(),
'--pro', meson.current_source_dir() / 'qt6.pro',
'--builddir', meson.current_build_dir(),
'--libs', '--ldflags',
check: false,
)
if qtlflags.returncode() == 0
qt_link_args += qtlflags.stdout().split()
else
warning('Failed to get static Qt link flags: ' + qtlflags.stderr())
endif
else
warning('Failed to find qmake6 to get static Qt variables')
endif
endif
qt6pre_qrc = qt6.preprocess(
qresources: qrc_files,
include_directories: qt_include_dir,
......
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
......@@ -29,3 +29,18 @@ QTPLUGIN += qcocoa qmacstyle
emscripten {
QTPLUGIN += qwasm
}
qtHaveModule(gui-private) {
QT += gui-private
DEFINES += QT_GUI_PRIVATE
}
qtHaveModule(core-private) {
QT += core-private
DEFINES += QT_CORE_PRIVATE
}
qtHaveModule(quick-private) {
QT += quick-private
DEFINES += QT_DECLARATIVE_PRIVATE
}
#!/usr/bin/env python3
# SPDX-License-Identifier: ISC
# Copyright © 2025 VideoLabs, VLC authors and VideoLAN
#
# Authors: Steve Lhomme <robux4@videolabs.io>
import argparse
import os
import pathlib
import re
import subprocess
import sys
def call_qmake(qmake:str, qtconf, builddir, pro) -> str:
if builddir and builddir != '' and not os.path.exists(builddir):
os.makedirs(builddir)
qmake_cmd = [ qmake ]
if qtconf and qtconf != '':
qmake_cmd += [ '-qtconf', qtconf ]
qmake_cmd += [pro, '-o', '-' ]
call = subprocess.Popen(qmake_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=builddir)
stdout_bin, stderr_bin = call.communicate()
errcode = call.wait()
if errcode != 0:
sys.stderr.write(stderr_bin.decode('utf-8'))
sys.exit(errcode)
return stdout_bin.decode('utf-8')
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="This program provides the list of directories/defines to use with Qt static"
)
parser.add_argument("--qmake",
type=pathlib.Path, required=True,
help="native qmake path")
parser.add_argument("--qtconf",
type=str, required=False,
help="qmake qtconf path")
parser.add_argument("--pro",
type=pathlib.Path, required=True,
help=".pro file to use as base")
parser.add_argument("--builddir",
type=str, required=True,
help="build directory path")
parser.add_argument("--cflags",
required=False, action='store_true',
help="get the list of compiler flags")
parser.add_argument("--libs",
required=False, action='store_true',
help="get the list of libraries")
parser.add_argument("--ldflags",
required=False, action='store_true',
help="get the list of linker flags")
args = parser.parse_args()
result = ''
sources = [ os.path.join(args.builddir, '.qmake.stash') ]
in_sources = False
makefile = call_qmake(args.qmake, args.qtconf, args.builddir, args.pro)
for line in makefile.splitlines():
if in_sources:
l = line.strip()
in_sources = l.endswith('\\')
if in_sources:
l = l[:-1].strip()
sources += l.split(' ')
elif line.startswith('SOURCES '):
l = re.sub(r'SOURCES[\W]+=', ' ', line).strip()
in_sources = l.endswith(' \\')
if in_sources:
l = l[:-1].strip()
sources += l.split(' ')
elif line.startswith('DEFINES '):
if args.cflags:
l = re.sub(r'DEFINES[\W]+=', ' ', line)
for i in l.strip().split(' '):
result += ' ' + i
elif line.startswith('INCPATH '):
if args.cflags:
l = re.sub(r'INCPATH[\W]+=', ' ', line)
for i in l.strip().split(' '):
result += ' ' + i
elif line.startswith('LFLAGS '):
if args.ldflags:
l = re.sub(r'LFLAGS[\W]+=', ' ', line)
for i in l.strip().split(' '):
result += ' ' + i
elif line.startswith('LIBS '):
if args.libs:
l = re.sub(r'LIBS[\W]+=', ' ', line).split(' ')
for lib in l:
if lib == '':
continue
if lib.startswith('-l'):
result += ' ' + lib
elif lib.endswith('.so') or lib.endswith('.a'):
libname = os.path.splitext(os.path.basename(lib))[0]
if libname.startswith('lib'):
libdir = os.path.dirname(lib)
result += ' -L' + libdir
result += ' -l' + libname[3:]
else:
result += ' ' + lib
for generated in sources:
if os.path.exists(generated):
os.remove(generated)
sys.stdout.write(result)