[FFmpeg-devel] [PATCH] configure: add intial Windows platform install files for debug with .pdb symbols

2025-10-18 Thread Roger Johnson via ffmpeg-devel
configure: add intial Windows platform install files for debug with .pdb 
symbols


adding symbols installation to Mingw32/64 & Windows x86/x64 windows targets
with variable added to config.mak and additional install step for this 
in library.mak,
resulting in shared library symbol files being installed for easy 
consumption

in debug installs.

Signed-off-by: Roger Johnson 
---
 configure   | 3 +++
 ffbuild/library.mak | 9 -
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 399b1ce128..d60a3842f9 100755
--- a/configure
+++ b/configure
@@ -6040,6 +6040,7 @@ case $target_os in
 SLIB_INSTALL_LINKS=
 SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)'
 SLIB_INSTALL_EXTRA_LIB='lib$(SLIBNAME:$(SLIBSUF)=.dll.a) 
$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)'

+SLIB_INSTALL_EXTRA_SYM='$(SLIBNAME:$(SLIBSUF)=.pdb)'
 SLIB_CREATE_DEF_CMD='EXTERN_PREFIX="$(EXTERN_PREFIX)" 
AR="$(AR_CMD)" NM="$(NM_CMD)" $(SRC_PATH)/compat/windows/makedef 
$(SUBDIR)lib$(NAME).ver $(OBJS) > $$(@:$(SLIBSUF)=.def)'
 SHFLAGS='-shared 
-Wl,--out-implib,$(SUBDIR)lib$(SLIBNAME:$(SLIBSUF)=.dll.a) 
-Wl,--disable-auto-image-base $$(@:$(SLIBSUF)=.def)'

 enabled x86_64 && objformat="win64" || objformat="win32"
@@ -6083,6 +6084,7 @@ case $target_os in
 SLIB_INSTALL_LINKS=
 SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)'
 SLIB_INSTALL_EXTRA_LIB='$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)'
+SLIB_INSTALL_EXTRA_SYM='$(SLIBNAME:$(SLIBSUF)=.pdb)'
 if test $ld_type = "clang"; then
 SHFLAGS='-Wl,-dll -Wl,-def:$$(@:$(SLIBSUF)=.def) 
-Wl,-implib:$(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)'

 else
@@ -8460,6 +8462,7 @@ SLIB_INSTALL_NAME=${SLIB_INSTALL_NAME}
 SLIB_INSTALL_LINKS=${SLIB_INSTALL_LINKS}
 SLIB_INSTALL_EXTRA_LIB=${SLIB_INSTALL_EXTRA_LIB}
 SLIB_INSTALL_EXTRA_SHLIB=${SLIB_INSTALL_EXTRA_SHLIB}
+SLIB_INSTALL_EXTRA_SYM=${SLIB_INSTALL_EXTRA_SYM}
 VERSION_SCRIPT_POSTPROCESS_CMD=${VERSION_SCRIPT_POSTPROCESS_CMD}
 SAMPLES:=${samples:-\$(FATE_SAMPLES)}
 NOREDZONE_FLAGS=$noredzone_flags
diff --git a/ffbuild/library.mak b/ffbuild/library.mak
index 91daa9c25f..cf54615253 100644
--- a/ffbuild/library.mak
+++ b/ffbuild/library.mak
@@ -17,6 +17,8 @@ all-$(CONFIG_SHARED): $(SUBDIR)$(SLIBNAME) 
$(SUBDIR)lib$(FULLNAME).pc

 LIBOBJS := $(OBJS) $(SHLIBOBJS) $(STLIBOBJS) $(SUBDIR)%.h.o $(TESTOBJS)
 $(LIBOBJS) $(LIBOBJS:.o=.s) $(LIBOBJS:.o=.i):   CPPFLAGS += 
-DHAVE_AV_CONFIG_H
 +ISDEBUG := $(if $(findstring 
--enable-debug,$(FFMPEG_CONFIGURATION)),yes,)

+
 ifdef CONFIG_SHARED
 # In case both shared libs and static libs are enabled, it can happen
 # that a user might want to link e.g. libavformat statically, but
@@ -47,7 +49,7 @@ endif
 install-headers: install-lib$(NAME)-headers install-lib$(NAME)-pkgconfig
  install-libs-$(CONFIG_STATIC): install-lib$(NAME)-static
-install-libs-$(CONFIG_SHARED): install-lib$(NAME)-shared
+install-libs-$(CONFIG_SHARED): install-lib$(NAME)-shared 
install-lib$(NAME)-symbols

  define RULES
 $(TOOLS): THISLIB = $(FULLNAME:%=$(LD_LIB))
@@ -102,6 +104,10 @@ install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME)
$(if $(SLIB_INSTALL_EXTRA_LIB),$(Q)mkdir -p "$(LIBDIR)")
 	$(if $(SLIB_INSTALL_EXTRA_LIB),$$(INSTALL) -m 644 
$(SLIB_INSTALL_EXTRA_LIB:%=$(SUBDIR)%) "$(LIBDIR)")

 +install-lib$(NAME)-symbols: $(SUBDIR)$(SLIBNAME)
+   $(Q)mkdir -p "$(SHLIBDIR)"
+	$(if $(ISDEBUG),$(if $(SLIB_INSTALL_EXTRA_SYM),$$(INSTALL) -m 644 $$< 
"$(SHLIBDIR)/$(SLIB_INSTALL_EXTRA_SYM)"))

+
 install-lib$(NAME)-static: $(SUBDIR)$(LIBNAME)
$(Q)mkdir -p "$(LIBDIR)"
$$(INSTALL) -m 644 $$< "$(LIBDIR)"
@@ -119,6 +125,7 @@ uninstall-libs::
-$(RM) "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \
   "$(SHLIBDIR)/$(SLIBNAME)"\
   "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
+   -$(RM)  $(SLIB_INSTALL_EXTRA_SYM:%="$(SHLIBDIR)/%")
-$(RM)  $(SLIB_INSTALL_EXTRA_SHLIB:%="$(SHLIBDIR)/%")
-$(RM)  $(SLIB_INSTALL_EXTRA_LIB:%="$(LIBDIR)/%")
-$(RM) "$(LIBDIR)/$(LIBNAME)"
--
2.51.0.windows.1

___
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]


[FFmpeg-devel] [PATCH] configure: add intial Windows platform install files for debug with .pdb symbols

2025-10-17 Thread Roger Johnson via ffmpeg-devel
configure: add intial Windows platform install files for debug with .pdb 
symbols


adding symbols installation to Mingw32/64 & Windows x86/x64 windows 
targets with variable added to config.mak and additional install step 
for this in library.mak, resulting in shared library symbol files being 
installed for easy consumption in debug installs.


Signed-off-by: Roger Johnson 
---
 configure   | 3 +++
 ffbuild/library.mak | 9 -
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 399b1ce128..6a5b2793e3 100755
--- a/configure
+++ b/configure
@@ -6040,6 +6040,7 @@ case $target_os in
 SLIB_INSTALL_LINKS=
 SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)'
 SLIB_INSTALL_EXTRA_LIB='lib$(SLIBNAME:$(SLIBSUF)=.dll.a) 
$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)'

+SLIB_INSTALL_EXTRA_SYM='$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.pdb)'
 SLIB_CREATE_DEF_CMD='EXTERN_PREFIX="$(EXTERN_PREFIX)" 
AR="$(AR_CMD)" NM="$(NM_CMD)" $(SRC_PATH)/compat/windows/makedef 
$(SUBDIR)lib$(NAME).ver $(OBJS) > $$(@:$(SLIBSUF)=.def)'
 SHFLAGS='-shared 
-Wl,--out-implib,$(SUBDIR)lib$(SLIBNAME:$(SLIBSUF)=.dll.a) 
-Wl,--disable-auto-image-base $$(@:$(SLIBSUF)=.def)'

 enabled x86_64 && objformat="win64" || objformat="win32"
@@ -6083,6 +6084,7 @@ case $target_os in
 SLIB_INSTALL_LINKS=
 SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)'
 SLIB_INSTALL_EXTRA_LIB='$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)'
+SLIB_INSTALL_EXTRA_SYM='$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.pdb)'
 if test $ld_type = "clang"; then
 SHFLAGS='-Wl,-dll -Wl,-def:$$(@:$(SLIBSUF)=.def) 
-Wl,-implib:$(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)'

 else
@@ -8460,6 +8462,7 @@ SLIB_INSTALL_NAME=${SLIB_INSTALL_NAME}
 SLIB_INSTALL_LINKS=${SLIB_INSTALL_LINKS}
 SLIB_INSTALL_EXTRA_LIB=${SLIB_INSTALL_EXTRA_LIB}
 SLIB_INSTALL_EXTRA_SHLIB=${SLIB_INSTALL_EXTRA_SHLIB}
+SLIB_INSTALL_EXTRA_SYM=${SLIB_INSTALL_EXTRA_SYM}
 VERSION_SCRIPT_POSTPROCESS_CMD=${VERSION_SCRIPT_POSTPROCESS_CMD}
 SAMPLES:=${samples:-\$(FATE_SAMPLES)}
 NOREDZONE_FLAGS=$noredzone_flags
diff --git a/ffbuild/library.mak b/ffbuild/library.mak
index 91daa9c25f..211793fedb 100644
--- a/ffbuild/library.mak
+++ b/ffbuild/library.mak
@@ -17,6 +17,8 @@ all-$(CONFIG_SHARED): $(SUBDIR)$(SLIBNAME) 
$(SUBDIR)lib$(FULLNAME).pc

 LIBOBJS := $(OBJS) $(SHLIBOBJS) $(STLIBOBJS) $(SUBDIR)%.h.o $(TESTOBJS)
 $(LIBOBJS) $(LIBOBJS:.o=.s) $(LIBOBJS:.o=.i):   CPPFLAGS += 
-DHAVE_AV_CONFIG_H
 +ISDEBUG := $(if $(findstring 
--enable-debug,$(FFMPEG_CONFIGURATION)),yes,)

+
 ifdef CONFIG_SHARED
 # In case both shared libs and static libs are enabled, it can happen
 # that a user might want to link e.g. libavformat statically, but
@@ -47,7 +49,7 @@ endif
 install-headers: install-lib$(NAME)-headers install-lib$(NAME)-pkgconfig
  install-libs-$(CONFIG_STATIC): install-lib$(NAME)-static
-install-libs-$(CONFIG_SHARED): install-lib$(NAME)-shared
+install-libs-$(CONFIG_SHARED): install-lib$(NAME)-shared 
install-lib$(NAME)-symbols

  define RULES
 $(TOOLS): THISLIB = $(FULLNAME:%=$(LD_LIB))
@@ -102,6 +104,10 @@ install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME)
$(if $(SLIB_INSTALL_EXTRA_LIB),$(Q)mkdir -p "$(LIBDIR)")
 	$(if $(SLIB_INSTALL_EXTRA_LIB),$$(INSTALL) -m 644 
$(SLIB_INSTALL_EXTRA_LIB:%=$(SUBDIR)%) "$(LIBDIR)")

 +install-lib$(NAME)-symbols: $(SUBDIR)$(SLIB_INSTALL_EXTRA_SYM)
+   $(Q)mkdir -p "$(SHLIBDIR)"
+	$(if $(ISDEBUG),$(if $(SLIB_INSTALL_EXTRA_SYM),$$(INSTALL) -m 644 
$(SLIB_INSTALL_EXTRA_SYM:%=$(SUBDIR)%) "$(SHLIBDIR)"))

+
 install-lib$(NAME)-static: $(SUBDIR)$(LIBNAME)
$(Q)mkdir -p "$(LIBDIR)"
$$(INSTALL) -m 644 $$< "$(LIBDIR)"
@@ -119,6 +125,7 @@ uninstall-libs::
-$(RM) "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \
   "$(SHLIBDIR)/$(SLIBNAME)"\
   "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
+   -$(RM)  $(SLIB_INSTALL_EXTRA_SYM:%="$(SHLIBDIR)/%")
-$(RM)  $(SLIB_INSTALL_EXTRA_SHLIB:%="$(SHLIBDIR)/%")
-$(RM)  $(SLIB_INSTALL_EXTRA_LIB:%="$(LIBDIR)/%")
-$(RM) "$(LIBDIR)/$(LIBNAME)"
--
2.51.0.windows.1

___
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]