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 23:25:58 -0700 Message-ID: <f6a284de-b263-49d5-9645-40f241fc39c8@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..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
next reply other threads:[~2025-10-04 6:26 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2025-10-04 6:25 Roger Johnson via ffmpeg-devel [this message] -- strict thread matches above, loose matches on Subject: below -- 2025-10-03 22:57 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=f6a284de-b263-49d5-9645-40f241fc39c8@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