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 <[email protected]>
---
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]