From 3ec8a1cfd8e06e2308fc318d8071aa7b5ddda146 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Thu, 12 May 2016 18:08:21 +0200 Subject: [PATCH] Windows: When installing libraries and executables, install .pdb files as well Reviewed-by: Rich Salz --- CHANGES | 6 ++++++ Configurations/10-main.conf | 4 ++-- Configurations/windows-makefile.tmpl | 18 ++++++++++++++++-- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index ea4f515aa3..b096ec6f0f 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,12 @@ Changes between 1.0.2g and 1.1.0 [xx XXX xxxx] + *) With Windows Visual Studio builds, the .pdb files are installed + alongside the installed libraries and executables. For a static + library installation, ossl_static.pdb is the associate compiler + generated .pdb file to be used when linking programs. + [Richard Levitte] + *) Remove openssl.spec. Packaging files belong with the packagers. [Richard Levitte] diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index c708f5e5bf..f928d1f2b5 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -1247,8 +1247,8 @@ sub vms_info { coutflag => "/Fo", rc => "rc", rcoutflag => "/fo", - lib_cflags => add("/Zi /Fdlib"), - dso_cflags => "/Zi", + lib_cflags => add("/Zi /Fdossl_static"), + dso_cflags => "/Zi /Fddso", bin_cflags => "/Zi /Fdapp", lflags => add("/debug"), shared_ldflag => "/dll", diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index 3be7f768ab..408a87fc6e 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -60,8 +60,11 @@ SHLIB_VERSION_NUMBER={- $config{shlib_version_number} -} LIBS={- join(" ", map { $_.$libext } @{$unified_info{libraries}}) -} SHLIBS={- join(" ", map { shlib($_) } @{$unified_info{libraries}}) -} +SHLIBPDBS={- join(" ", map { local $shlibext = ".pdb"; shlib($_) } @{$unified_info{libraries}}) -} ENGINES={- join(" ", map { dso($_) } @{$unified_info{engines}}) -} +ENGINEPDBS={- join(" ", map { local $dsoext = ".pdb"; dso($_) } @{$unified_info{engines}}) -} PROGRAMS={- join(" ", map { $_.$exeext } grep { !m|^test\\| } @{$unified_info{programs}}) -} +PROGRAMPDBS={- join(" ", map { $_.".pdb" } grep { !m|^test\\| } @{$unified_info{programs}}) -} TESTPROGS={- join(" ", map { $_.$exeext } grep { m|^test\\| } @{$unified_info{programs}}) -} SCRIPTS={- join(" ", @{$unified_info{scripts}}) -} @@ -165,7 +168,7 @@ uninstall: uninstall_docs uninstall_sw libclean: $(PERL) -e "map { m/(.*)\.dll$$/; unlink glob """$$1.*"""; } @ARGV" $(SHLIBS) -del /Q /F $(LIBS) - -del lib.pdb + -del ossl_static.pdb clean: libclean -del /Q /F $(PROGRAMS) $(TESTPROGS) $(ENGINES) $(SCRIPTS) @@ -204,6 +207,9 @@ install_dev: @$(PERL) $(SRCDIR)\util\mkdir-p.pl "$(DESTDIR)$(INSTALLTOP)\$(LIBDIR)" @$(PERL) $(SRCDIR)\util\copy.pl $(LIBS) \ "$(DESTDIR)$(INSTALLTOP)\$(LIBDIR)" + @if "$(SHLIBS)"=="" \ + $(PERL) $(SRCDIR)\util\copy.pl ossl_static.pdb \ + "$(DESTDIR)$(INSTALLTOP)\$(LIBDIR)" uninstall_dev: @@ -213,6 +219,8 @@ install_engines: @$(PERL) $(SRCDIR)\util\mkdir-p.pl "$(DESTDIR)$(ENGINESDIR)" @if not "$(ENGINES)"=="" \ $(PERL) $(SRCDIR)\util\copy.pl $(ENGINES) "$(DESTDIR)$(ENGINESDIR)" + @if not "$(ENGINES)"=="" \ + $(PERL) $(SRCDIR)\util\copy.pl $(ENGINEPDBS) "$(DESTDIR)$(ENGINESDIR)" uninstall_engines: @@ -222,7 +230,13 @@ install_runtime: @$(PERL) $(SRCDIR)\util\mkdir-p.pl "$(DESTDIR)$(INSTALLTOP)\bin" @if not "$(SHLIBS)"=="" \ $(PERL) $(SRCDIR)\util\copy.pl $(SHLIBS) "$(DESTDIR)$(INSTALLTOP)\bin" - @$(PERL) $(SRCDIR)\util\copy.pl $(PROGRAMS) "$(DESTDIR)$(INSTALLTOP)\bin" + @if not "$(SHLIBS)"=="" \ + $(PERL) $(SRCDIR)\util\copy.pl $(SHLIBPDBS) \ + "$(DESTDIR)$(INSTALLTOP)\bin" + @$(PERL) $(SRCDIR)\util\copy.pl $(PROGRAMS) \ + "$(DESTDIR)$(INSTALLTOP)\bin" + @$(PERL) $(SRCDIR)\util\copy.pl $(PROGRAMPDBS) \ + "$(DESTDIR)$(INSTALLTOP)\bin" uninstall_runtime: -- 2.25.1