configure: keep the fxc path

We need to add it to the PATH when calling qsb which assumes it's in the PATH.
qsb doesn't have an option to tell it where to look (in contribs). So if it's
not in the PATH it will never find it.

Then we can use the one from contribs.
This commit is contained in:
Steve Lhomme 2024-04-19 12:40:33 +02:00
parent 9c80a115fb
commit 0df47ad72a
2 changed files with 16 additions and 2 deletions

View File

@ -3959,6 +3959,7 @@ have_qt_quick_test="no"
have_qt_declarative_private="no"
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!
QT_MINIMUM_VERSION=6.2
@ -4048,6 +4049,13 @@ AS_IF([test "${enable_qt}" != "no"], [
],[
])
AC_PATH_PROGS(FXC, [fxc], [no], [${CONTRIB_DIR}/bin])
AS_IF([test "$FXC" != "no"],[
have_fxc="yes"
FXC_PATH=$(echo $FXC | head -c-5)
AC_SUBST([FXC_PATH])
])
dnl Check private headers availability
VLC_SAVE_FLAGS
CPPFLAGS="${CPPFLAGS} ${QT_CFLAGS}"
@ -4127,6 +4135,7 @@ 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"])
dnl
dnl detect kde4-config patch (used for kde solids).

View File

@ -1130,11 +1130,16 @@ if HAVE_DARWIN
QSB_PARAMS += --msl=12
endif
QSB_EXTRA_PATH =
if HAVE_FXC
QSB_EXTRA_PATH += $(FXC_PATH):
endif
%.frag.qsb: %.frag
$(AM_V_GEN) $(QSB) $(QSB_PARAMS) -o $@ $<
$(AM_V_GEN) PATH="$(QSB_EXTRA_PATH)$$PATH" $(QSB) $(QSB_PARAMS) -o $@ $<
%.vert.qsb: %.vert
$(AM_V_GEN) $(QSB) $(QSB_PARAMS) -o $@ $<
$(AM_V_GEN) PATH="$(QSB_EXTRA_PATH)$$PATH" $(QSB) $(QSB_PARAMS) -o $@ $<
shaders/shaders.cpp: $(srcdir)/shaders/shaders.qrc $(libqt_plugin_la_SHADER:.frag=.frag.qsb) $(libqt_plugin_la_SHADER:.vert=.vert.qsb)
$(AM_V_GEN) cp -f $(filter %.qrc, $^) $(builddir)/shaders/shaders.qrc || true