diff --git a/Makefile.am b/Makefile.am index 33dc7ef85f252e22b59251e135b249c47f2e6ecc..b60031d7d1c3deb841c28e5900873084fd648f5f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -683,6 +683,9 @@ VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/src/.lib ## Win ## ############################################################################ win32_destdir=$(top_builddir)/vlc-$(VERSION) +win32_debugdir=$(top_builddir)/symbols-$(VERSION) +npvlc=vlc-$(VERSION)/mozilla/npvlc$(LIBEXT) +axvlc=vlc-$(VERSION)/activex/axvlc$(LIBEXT) win32_lua_destdir=$(win32_destdir)/lua win32_http_destdir=$(win32_destdir)/http @@ -896,19 +899,42 @@ endif #strip exe and main dll package-win-common-strip: package-win32-base-debug + @if test -e "$(win32_debugdir)"; then \ + echo "Error: please remove $(win32_debugdir), it is in the way"; \ + false; \ + else \ + echo "OK."; mkdir -p "$(win32_debugdir)"; \ + fi for i in "" vlc-$(VERSION)/*$(LIBEXT) ; \ - do if test -n "$$i" ; then $(STRIP) "$$i" ; fi; done + do if test -n "$$i" ; then \ + $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \ + $(OBJCOPY) --strip-debug "$$i" ; \ + $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \ + mv "$$i.dbg" "$(win32_debugdir)"; \ + fi; done + if BUILD_MOZILLA - $(STRIP) "vlc-$(VERSION)/mozilla/npvlc$(LIBEXT)" + $(OBJCOPY) --only-keep-debug "$(npvlc)" "$(npvlc).dbg" + $(OBJCOPY) --strip-debug "$(npvlc)" + $(OBJCOPY) --add-gnu-debuglink="$(npvlc).dbg" "$(npvlc)" + mv "$(npvlc).dbg" "$(win32_debugdir)" endif if BUILD_ACTIVEX - $(STRIP) "vlc-$(VERSION)/activex/axvlc$(LIBEXT)" + $(OBJCOPY) --only-keep-debug "$(axvlc)" "$(axvlc).dbg" + $(OBJCOPY) --strip-debug "$(axvlc)" + $(OBJCOPY) --add-gnu-debuglink="$(axvlc).dbg" "$(axvlc)" + mv "$(axvlc).dbg" "$(win32_debugdir)" endif #strip all plugins dll package-win32-base: package-win-common-strip for i in "" $(win32_destdir)/plugins/*$(LIBEXT) ; \ - do if test -n "$$i" ; then $(STRIP) "$$i" ; fi ; done + do if test -n "$$i" ; then \ + $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \ + $(OBJCOPY) --strip-debug "$$i" ; \ + $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \ + mv "$$i.dbg" "$(win32_debugdir)"; \ + fi ; done package-win32-base-exe: package-win32-base # Create package diff --git a/configure.ac b/configure.ac index 20d92bc8765be6411882a2eed50adca370879c4d..5f9e09bd3c351ade57c78dacded0e8168cc35b35 100644 --- a/configure.ac +++ b/configure.ac @@ -311,6 +311,7 @@ case "${host_os}" in ;; *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*) AC_CHECK_TOOL(WINDRES, windres, :) + AC_CHECK_TOOL(OBJCOPY, objcopy, :) case "${host_os}" in *wince* | *mingwce* | *mingw32ce* | *pe*)