[vlc-commits] [Git][videolan/npapi-vlc][3.0.x] 4 commits: configure: show a message about the stdole2.tlb detection

Steve Lhomme (@robUx4) gitlab at videolan.org
Mon Sep 8 07:39:27 UTC 2025



Steve Lhomme pushed to branch 3.0.x at VideoLAN / VLC Browser Plugins


Commits:
ebb71b2d by Steve Lhomme at 2025-09-08T08:33:10+02:00
configure: show a message about the stdole2.tlb detection

(cherry picked from commit 5fa334828b43d24b61ce6244b0f6983a30600d99)

- - - - -
66e7addf by Steve Lhomme at 2025-09-08T08:34:42+02:00
configure: detect if widl uses -L for TLD includes

We need to use it in some cases to include the generated stdole2.tlb.

(cherry picked from commit 4cd70f5f4b41b2c46add40ce04a90e75f75e2035) (edited)
edited:
-

- - - - -
c3523702 by Steve Lhomme at 2025-09-08T08:34:50+02:00
configure: detect WINE_SDK_PATH in configure.ac

It may be needed for the stdole2.tld detection

(cherry picked from commit 4ea810234e4be1d85404bf7e4d5c2d66e392d8b7)

- - - - -
d495415c by Steve Lhomme at 2025-09-08T08:34:54+02:00
configure: add the Debian libwine path for stdole2.tlb

(cherry picked from commit a63318004e0924a6e2e2c831b9e883cbe41399d5)

- - - - -


2 changed files:

- activex/Makefile.am
- configure.ac


Changes:

=====================================
activex/Makefile.am
=====================================
@@ -82,7 +82,7 @@ endif
 
 DATA_axvlc_rc = $(noinst_axvlc_rc_DATA)
 noinst_axvlc_rc_DATA = axvlc_rc.$(OBJEXT)
-noinst_axvlc_rcdir = 
+noinst_axvlc_rcdir =
 axvlc_rc.$(OBJEXT): axvlc_rc.rc inplace.bmp axvlc.tlb axvlc.dll.manifest
 	$(WINDRES) --include-dir $(srcdir) -i $< -o $@
 
@@ -102,17 +102,19 @@ clean-tlb:
 else
 if HAS_WIDL_COMPILER
 
-WINE_SDK_PATH ?= /usr/include/wine/windows
-
 stdole2.tlb stdole2_idl.c stdole2_idl.h: $(WINE_SDK_PATH)/stdole2.idl
-	$(WIDL) $(WIDLFLAGS) -I$(WINE_SDK_PATH) -t -u -h -T stdole2.tlb -U stdole2_idl.c -H stdole2_idl.h $<
+	$(WIDL) $(WIDLFLAGS) -t -u -h -T stdole2.tlb -U stdole2_idl.c -H stdole2_idl.h $<
 
 if HAS_STDOLE2_TLB
 axvlc.tlb axvlc_idl.c axvlc_idl.h: axvlc.idl
-	$(WIDL) $(WIDLFLAGS) -I$(WINE_SDK_PATH) -I. -t -u -h -T axvlc.tlb -U axvlc_idl.c -H axvlc_idl.h $<
+	$(WIDL) $(WIDLFLAGS) -I. -t -u -h -T axvlc.tlb -U axvlc_idl.c -H axvlc_idl.h $<
 else
 axvlc.tlb axvlc_idl.c axvlc_idl.h: axvlc.idl stdole2.tlb
-	$(WIDL) $(WIDLFLAGS) -I$(WINE_SDK_PATH) -I. -t -u -h -T axvlc.tlb -U axvlc_idl.c -H axvlc_idl.h $<
+if HAS_WIDL_DASH_L
+	$(WIDL) $(WIDLFLAGS) -I. -L. -t -u -h -T axvlc.tlb -U axvlc_idl.c -H axvlc_idl.h $<
+else
+	$(WIDL) $(WIDLFLAGS) -I. -t -u -h -T axvlc.tlb -U axvlc_idl.c -H axvlc_idl.h $<
+endif
 endif
 
 clean-tlb:


=====================================
configure.ac
=====================================
@@ -134,6 +134,30 @@ AS_IF([test "${SYS}" = "mingw32"],[
     AC_CHECK_HEADER(ole2.h,,[AC_MSG_ERROR([required OLE header ole2.h is missing from your system])])
     AC_CHECK_HEADER(olectl.h,,[AC_MSG_ERROR([required OLE header olectl.h is missing from your system])])
     AC_CHECK_HEADERS(objsafe.h,,,[#include <ole2.h>])
+
+    HAS_WIDL_DASH_L=no
+    AS_IF([test "${WIDL}" != "no"],[
+        AS_IF([test -z ${WINE_SDK_PATH}],[
+            WINE_SDK_PATH=l
+        ])
+        AC_SUBST([WINE_SDK_PATH])
+        WIDLFLAGS="${WIDLFLAGS} -I${WINE_SDK_PATH}"
+
+        AC_MSG_CHECKING([widl uses -L])
+        AS_IF([$WIDL $WIDLFLAGS -L. -t /dev/null 2>/dev/null],[
+            AC_MSG_RESULT([yes])
+            HAS_WIDL_DASH_L=yes
+
+            # path of stdole2.tlb in Debian libwine
+            AS_IF([test -d /usr/lib/${build_cpu}-${build_os}/wine/${host_cpu}-windows],[
+                WIDLFLAGS="${WIDLFLAGS} -L/usr/lib/${build_cpu}-${build_os}/wine/${host_cpu}-windows"
+            ])
+        ],[
+            AC_MSG_RESULT([no])
+        ])
+    ])
+
+    AC_MSG_CHECKING([for stdole2.tld presence])
     AS_IF([test "${WIDL}" != "no"],[
       ac_ext=idl
       ac_objext=tlb
@@ -148,8 +172,18 @@ library AXVLC
   importlib("stdole2.tlb");
 }
 _ACEOF
-AS_IF([ac_fn_cxx_try_compile "$LINENO"],[has_stdole2_tlb=yes],[has_stdole2_tlb=no])
-    ],[has_stdole2_tlb=no])
+        AS_IF([ac_fn_cxx_try_compile "$LINENO"],[
+            AC_MSG_RESULT([yes])
+            has_stdole2_tlb=yes
+        ],[
+            AC_MSG_RESULT([no])
+            has_stdole2_tlb=no
+        ])
+    ],[
+        AC_MSG_RESULT([no])
+        has_stdole2_tlb=no
+    ])
+
     AC_LANG_POP(C++)
 ],[
     MIDL="no"
@@ -161,6 +195,7 @@ AC_SUBST(WIDLFLAGS)
 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
 AM_CONDITIONAL(HAS_STDOLE2_TLB, test "${has_stdole2_tlb}" = "yes")
+AM_CONDITIONAL(HAS_WIDL_DASH_L, test "${HAS_WIDL_DASH_L}" = "yes")
 
 dnl
 dnl Buggy glibc prevention. Purposedly not cached.



View it on GitLab: https://code.videolan.org/videolan/npapi-vlc/-/compare/d07aec7070fe8aed3086b8b5a50d7030fa2d9b59...d495415c52838f407b5a1c76b7ae44c1fc5df674

-- 
View it on GitLab: https://code.videolan.org/videolan/npapi-vlc/-/compare/d07aec7070fe8aed3086b8b5a50d7030fa2d9b59...d495415c52838f407b5a1c76b7ae44c1fc5df674
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list