* [FFmpeg-devel] [PATCH] configure: add intial Windows platform install files for debug with .pdb symbols
@ 2025-10-03 22:57 Roger Johnson via ffmpeg-devel
0 siblings, 0 replies; 2+ messages in thread
From: Roger Johnson via ffmpeg-devel @ 2025-10-03 22:57 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Roger Johnson
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 <roger@oneibus.com>
---
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 -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 2+ messages in thread
* [FFmpeg-devel] [PATCH] configure: add intial Windows platform install files for debug with .pdb symbols
@ 2025-10-04 6:25 Roger Johnson via ffmpeg-devel
0 siblings, 0 replies; 2+ messages in thread
From: Roger Johnson via ffmpeg-devel @ 2025-10-04 6:25 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Roger Johnson
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 <roger@oneibus.com>
---
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 -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-10-04 6:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-03 22:57 [FFmpeg-devel] [PATCH] configure: add intial Windows platform install files for debug with .pdb symbols Roger Johnson via ffmpeg-devel
2025-10-04 6:25 Roger Johnson via ffmpeg-devel
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ http://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git