Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Roger Johnson via ffmpeg-devel <ffmpeg-devel@ffmpeg.org>
To: ffmpeg-devel@ffmpeg.org
Cc: Roger Johnson <roger@oneibus.com>
Subject: [FFmpeg-devel] [PATCH] configure: add intial Windows platform install files for debug with .pdb symbols
Date: Fri, 3 Oct 2025 15:57:39 -0700
Message-ID: <ac149877-b7c3-4725-97dd-0e1c388a1be6@oneibus.com> (raw)

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

             reply	other threads:[~2025-10-03 22:58 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-03 22:57 Roger Johnson via ffmpeg-devel [this message]
2025-10-04  6:25 Roger Johnson via ffmpeg-devel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ac149877-b7c3-4725-97dd-0e1c388a1be6@oneibus.com \
    --to=ffmpeg-devel@ffmpeg.org \
    --cc=roger@oneibus.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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