[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Tue Jun 28 13:43:57 UTC 2016


The branch master has been updated
       via  b8bbd8b1bd4a75369dba985e51a9bf726ef10536 (commit)
      from  850000aa414446b73163d7e723227d5fda5ed4ee (commit)


- Log -----------------------------------------------------------------
commit b8bbd8b1bd4a75369dba985e51a9bf726ef10536
Author: Richard Levitte <levitte at openssl.org>
Date:   Tue Jun 28 13:20:21 2016 +0200

    Windows: Make DESTDIR work
    
    DESTDIR can't be used on Windows the same way as on Unix, the device
    part of the installation paths get in the way.
    
    To remedy this, have INSTALLTOP, OPENSSLDIR and ENGINESDIR get
    different values depending on if $(DESTDIR) is empty or not, and use
    $(INSTALLTOP), $(OPENSSLDIR) and $(ENGINESDIR) alone.
    
    Reviewed-by: Andy Polyakov <appro at openssl.org>

-----------------------------------------------------------------------

Summary of changes:
 Configurations/windows-makefile.tmpl | 109 ++++++++++++++++++++---------------
 1 file changed, 64 insertions(+), 45 deletions(-)

diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl
index aabf793..b2e6cf5 100644
--- a/Configurations/windows-makefile.tmpl
+++ b/Configurations/windows-makefile.tmpl
@@ -87,32 +87,51 @@ GENERATED={- join(" ",
 
 # Do not edit these manually. Use Configure with --prefix or --openssldir
 # to change this!  Short explanation in the top comment in Configure
-INSTALLTOP={- # $prefix is used in the OPENSSLDIR perl snippet
-	      #
-	      our $prefix = $config{prefix} || "$win_installroot\\OpenSSL";
-              $prefix -}
-OPENSSLDIR={- #
-	      # The logic here is that if no --openssldir was given,
-	      # OPENSSLDIR will get the value from $prefix plus "/ssl".
-	      # If --openssldir was given and the value is an absolute
-	      # path, OPENSSLDIR will get its value without change.
-	      # If the value from --openssldir is a relative path,
-	      # OPENSSLDIR will get $prefix with the --openssldir
-	      # value appended as a subdirectory.
-	      #
-              use File::Spec::Functions;
-              our $openssldir =
-                  $config{openssldir} ?
-                      (file_name_is_absolute($config{openssldir}) ?
-                           $config{openssldir}
-                           : catdir($prefix, $config{openssldir}))
-                      : "$win_commonroot\\SSL";
-              $openssldir -}
+INSTALLTOP_dev={- # $prefix is used in the OPENSSLDIR perl snippet
+                  #
+                  use File::Spec::Functions qw(:DEFAULT splitpath);
+                  our ($prefix_dev, $prefix_dir, $prefix_file) =
+                      splitpath($config{prefix} || "$win_installroot\\OpenSSL",
+                                1);
+                  $prefix_dev -}
+INSTALLTOP_dir={- $prefix_dir -}
+OPENSSLDIR_dev={- #
+                  # The logic here is that if no --openssldir was given,
+                  # OPENSSLDIR will get the value from $prefix plus "/ssl".
+                  # If --openssldir was given and the value is an absolute
+                  # path, OPENSSLDIR will get its value without change.
+                  # If the value from --openssldir is a relative path,
+                  # OPENSSLDIR will get $prefix with the --openssldir
+                  # value appended as a subdirectory.
+                  #
+                  use File::Spec::Functions qw(:DEFAULT splitpath);
+                  my $openssldir =
+                      $config{openssldir} ?
+                          (file_name_is_absolute($config{openssldir}) ?
+                               $config{openssldir}
+                               : catdir($prefix, $config{openssldir}))
+                          : "$win_commonroot\\SSL";
+                  our ($openssldir_dev, $openssldir_dir, $openssldir_file) =
+                      splitpath($openssldir, 1);
+                  $openssldir_dev -}
+OPENSSLDIR_dir={- $openssldir_dir -}
 LIBDIR={- our $libdir = $config{libdir} || "lib";
           $libdir -}
-ENGINESDIR={- use File::Spec::Functions;
-              our $enginesdir = catdir($prefix,$libdir,"engines");
-	      $enginesdir -}
+ENGINESDIR_dev={- use File::Spec::Functions qw(:DEFAULT splitpath);
+                  my $enginesdir = catdir($prefix,$libdir,"engines");
+                  our ($enginesdir_dev, $enginesdir_dir, $enginesdir_file) =
+                      splitpath($enginesdir, 1);
+                  $enginesdir_dev -}
+ENGINESDIR_dir={- $enginesdir_dir -}
+!IF "$(DESTDIR)" != ""
+INSTALLTOP=$(DESTDIR)$(INSTALLTOP_dir)
+OPENSSLDIR=$(DESTDIR)$(OPENSSLDIR_dir)
+ENGINESDIR=$(DESTDIR)$(ENGINESDIR_dir)
+!ELSE
+INSTALLTOP=$(INSTALLTOP_dev)$(INSTALLTOP_dir)
+OPENSSLDIR=$(OPENSSLDIR_dev)$(OPENSSLDIR_dir)
+ENGINESDIR=$(ENGINESDIR_dev)$(ENGINESDIR_dir)
+!ENDIF
 
 CC={- $target{cc} -}
 CFLAGS={- join(" ",(map { "-D".$_} @{$target{defines}}, @{$config{defines}})) -} {- join(" ", quotify_l("-DENGINESDIR=\"$enginesdir\"", "-DOPENSSLDIR=\"$openssldir\"")) -} {- $target{cflags} -} {- $config{cflags} -}
@@ -221,63 +240,63 @@ install_docs: install_html_docs
 uninstall_docs: uninstall_html_docs
 
 install_ssldirs:
-	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(OPENSSLDIR)\certs"
-	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(OPENSSLDIR)\private"
-	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(OPENSSLDIR)\misc"
+	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(OPENSSLDIR)\certs"
+	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(OPENSSLDIR)\private"
+	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(OPENSSLDIR)\misc"
 	@"$(PERL)" "$(SRCDIR)\util\copy.pl" "$(SRCDIR)\apps\openssl.cnf" \
-                                       "$(DESTDIR)$(OPENSSLDIR)"
+                                       "$(OPENSSLDIR)"
 	@"$(PERL)" "$(SRCDIR)\util\copy.pl" $(MISC_SCRIPTS) \
-                                        "$(DESTDIR)$(OPENSSLDIR)\misc"
+                                        "$(OPENSSLDIR)\misc"
 
 install_dev:
 	@if "$(INSTALLTOP)"=="" ( echo INSTALLTOP should not be empty & exit 1 )
 	@echo *** Installing development files
-	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(INSTALLTOP)\include\openssl"
+	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\include\openssl"
 	@"$(PERL)" "$(SRCDIR)\util\copy.pl" "$(SRCDIR)\include\openssl\*.h" \
-				       "$(DESTDIR)$(INSTALLTOP)\include\openssl"
+				       "$(INSTALLTOP)\include\openssl"
 	@"$(PERL)" "$(SRCDIR)\util\copy.pl" $(BLDDIR)\include\openssl\*.h \
-				       "$(DESTDIR)$(INSTALLTOP)\include\openssl"
-	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(INSTALLTOP)\$(LIBDIR)"
+				       "$(INSTALLTOP)\include\openssl"
+	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\$(LIBDIR)"
 	@"$(PERL)" "$(SRCDIR)\util\copy.pl" $(LIBS) \
-				       "$(DESTDIR)$(INSTALLTOP)\$(LIBDIR)"
+				       "$(INSTALLTOP)\$(LIBDIR)"
 	@if "$(SHLIBS)"=="" \
 	 "$(PERL)" "$(SRCDIR)\util\copy.pl" ossl_static.pdb \
-                                       "$(DESTDIR)$(INSTALLTOP)\$(LIBDIR)"
+                                       "$(INSTALLTOP)\$(LIBDIR)"
 
 uninstall_dev:
 
 install_engines:
 	@if "$(INSTALLTOP)"=="" ( echo INSTALLTOP should not be empty & exit 1 )
 	@echo *** Installing engines
-	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(ENGINESDIR)"
+	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(ENGINESDIR)"
 	@if not "$(ENGINES)"=="" \
-	 "$(PERL)" "$(SRCDIR)\util\copy.pl" $(ENGINES) "$(DESTDIR)$(ENGINESDIR)"
+	 "$(PERL)" "$(SRCDIR)\util\copy.pl" $(ENGINES) "$(ENGINESDIR)"
 	@if not "$(ENGINES)"=="" \
-	 "$(PERL)" "$(SRCDIR)\util\copy.pl" $(ENGINEPDBS) "$(DESTDIR)$(ENGINESDIR)"
+	 "$(PERL)" "$(SRCDIR)\util\copy.pl" $(ENGINEPDBS) "$(ENGINESDIR)"
 
 uninstall_engines:
 
 install_runtime:
 	@if "$(INSTALLTOP)"=="" ( echo INSTALLTOP should not be empty & exit 1 )
 	@echo *** Installing runtime files
-	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(DESTDIR)$(INSTALLTOP)\bin"
+	@"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(INSTALLTOP)\bin"
 	@if not "$(SHLIBS)"=="" \
-	 "$(PERL)" "$(SRCDIR)\util\copy.pl" $(SHLIBS) "$(DESTDIR)$(INSTALLTOP)\bin"
+	 "$(PERL)" "$(SRCDIR)\util\copy.pl" $(SHLIBS) "$(INSTALLTOP)\bin"
 	@if not "$(SHLIBS)"=="" \
 	 "$(PERL)" "$(SRCDIR)\util\copy.pl" $(SHLIBPDBS) \
-                                        "$(DESTDIR)$(INSTALLTOP)\bin"
+                                        "$(INSTALLTOP)\bin"
 	@"$(PERL)" "$(SRCDIR)\util\copy.pl" $(PROGRAMS) \
-                                        "$(DESTDIR)$(INSTALLTOP)\bin"
+                                        "$(INSTALLTOP)\bin"
 	@"$(PERL)" "$(SRCDIR)\util\copy.pl" $(PROGRAMPDBS) \
-                                        "$(DESTDIR)$(INSTALLTOP)\bin"
+                                        "$(INSTALLTOP)\bin"
 	@"$(PERL)" "$(SRCDIR)\util\copy.pl" $(BIN_SCRIPTS) \
-                                        "$(DESTDIR)$(INSTALLTOP)\bin"
+                                        "$(INSTALLTOP)\bin"
 
 uninstall_runtime:
 
 install_html_docs:
         "$(PERL)" "$(SRCDIR)\util\process_docs.pl" \
-                "--destdir=$(DESTDIR)$(INSTALLTOP)\html" --type=html
+                "--destdir=$(INSTALLTOP)\html" --type=html
 
 uninstall_html_docs:
 


More information about the openssl-commits mailing list