Fix memory leak.
[openssl.git] / util / mk1mf.pl
index d3379d2a1647fe51b3f0c2f7d62baa0612ff952b..5161c170b49b08c309a139ec5a9635c9e7a5b57c 100755 (executable)
@@ -139,7 +139,6 @@ and [options] can be one of
        no-ssl3                                 - Skip this version of SSL
        just-ssl                                - remove all non-ssl keys/digest
        no-asm                                  - No x86 asm
-       no-krb5                                 - No KRB5
        no-srp                                  - No SRP
        no-ec                                   - No EC
        no-engine                               - No engine
@@ -290,11 +289,9 @@ $cflags.=" -DOPENSSL_NO_DH"   if $no_dh;
 $cflags.=" -DOPENSSL_NO_WHIRLPOOL"   if $no_whirlpool;
 $cflags.=" -DOPENSSL_NO_SOCK" if $no_sock;
 $cflags.=" -DOPENSSL_NO_SSL3" if $no_ssl3;
-$cflags.=" -DOPENSSL_NO_TLSEXT" if $no_tlsext;
 $cflags.=" -DOPENSSL_NO_SRP" if $no_srp;
 $cflags.=" -DOPENSSL_NO_CMS" if $no_cms;
 $cflags.=" -DOPENSSL_NO_ERR"  if $no_err;
-$cflags.=" -DOPENSSL_NO_KRB5" if $no_krb5;
 $cflags.=" -DOPENSSL_NO_EC"   if $no_ec;
 $cflags.=" -DOPENSSL_NO_GOST" if $no_gost;
 $cflags.=" -DOPENSSL_NO_ENGINE"   if $no_engine;
@@ -381,22 +378,26 @@ for (;;)
                $dir=$val;
                }
 
-       if ($key eq "KRB5_INCLUDES")
-               { $cflags .= " $val";}
-
        if ($key eq "ZLIB_INCLUDE")
                { $cflags .= " $val" if $val ne "";}
 
        if ($key eq "LIBZLIB")
                { $zlib_lib = "$val" if $val ne "";}
 
-       if ($key eq "LIBKRB5")
+       if ($key eq "EX_LIBS")
                { $ex_libs .= " $val" if $val ne "";}
 
-       if ($key eq "TEST" && (!$fipscanisteronly || $dir =~ /^fips/ ))
-               { $test.=&var_add($dir,$val, 0); }
+       # There was a condition here before:
+       #       !$fipscanisteronly || $dir =~ /^fips/
+       # It currently fills no function and needs to be rewritten anyway, so
+       # removed for now.
+       if ($dir eq "test" && $key eq "EXE")
+               {
+               foreach my $t (split /\s+/, $val) {
+                       $test.=&var_add($dir,$t, 0) if $t; }
+               }
 
-       if (($key eq "PROGS") || ($key eq "E_OBJ"))
+       if ($key eq "EXE_OBJ")
                { $e_exe.=&var_add($dir,$val, 0); }
 
        if ($key eq "LIB")
@@ -411,9 +412,6 @@ for (;;)
                $otherlibs .= " $lib";
                }
 
-       if ($key eq "EXHEADER")
-               { $exheader.=&var_add($dir,$val, 1); }
-
        if ($key eq "HEADER")
                { $header.=&var_add($dir,$val, 1); }
 
@@ -451,7 +449,6 @@ if ($orig_platform eq 'copy')
        {
        # Remove opensslconf.h so it doesn't get updated if we configure a
        # different branch.
-       $exheader =~ s/[^ ]+\/opensslconf.h//;
        $header =~ s/[^ ]+\/opensslconf.h//;
        }
 
@@ -565,7 +562,7 @@ if ($fipscanisteronly)
 $cp2 = $cp unless defined $cp2;
 
 $extra_install= <<"EOF";
-       \$(CP) \"\$(INCO_D)${o}*.\[ch\]\" \"\$(INSTALLTOP)${o}include${o}openssl\"
+       \$(CP) \"include${o}openssl${o}*.\[ch\]\" \"\$(INSTALLTOP)${o}include${o}openssl\"
        \$(CP) \"\$(BIN_D)$o\$(E_EXE)$exep \$(INSTALLTOP)${o}bin\"
        \$(MKDIR) \"\$(OPENSSLDIR)\"
        \$(CP) apps${o}openssl.cnf \"\$(OPENSSLDIR)\"
@@ -578,8 +575,8 @@ if ($fipscanisteronly)
        \$(CP) \"\$(O_FIPSCANISTER).sha1\" \"\$(INSTALLTOP)${o}lib\"
        \$(CP2) \"fips${o}fips_premain.c\" \"\$(INSTALLTOP)${o}lib\"
        \$(CP) \"fips${o}fips_premain.c.sha1\" \"\$(INSTALLTOP)${o}lib\"
-       \$(CP) \"\$(INCO_D)${o}fips.h\" \"\$(INSTALLTOP)${o}include${o}openssl\"
-       \$(CP) \"\$(INCO_D)${o}fips_rand.h\" \"\$(INSTALLTOP)${o}include${o}openssl\"
+       \$(CP) \"include${o}openssl${o}fips.h\" \"\$(INSTALLTOP)${o}include${o}openssl\"
+       \$(CP) \"include${o}openssl${o}fips_rand.h\" \"\$(INSTALLTOP)${o}include${o}openssl\"
        \$(CP) "\$(BIN_D)${o}fips_standalone_sha1$exep" \"\$(INSTALLTOP)${o}bin\"
        \$(CP) \"util${o}fipslink.pl\" \"\$(INSTALLTOP)${o}bin\"
 EOF
@@ -659,9 +656,6 @@ FIPSLINK=\$(PERL) util${o}fipslink.pl
 OUT_D=$out_dir
 # The output directory for all the temporary muck
 TMP_D=$tmp_dir
-# The output directory for the header files
-INC_D=$inc_dir
-INCO_D=$inc_dir${o}openssl
 
 PERL=$perl
 PERLASM_SCHEME=$mf_perlasm_scheme
@@ -723,7 +717,7 @@ L_LIBS= \$(L_SSL) \$(L_CRYPTO) $ex_l_libs
 # Don't touch anything below this point
 ######################################################
 
-INC=-I\$(INC_D) -I\$(INCL_D) -I\$(SRC_D)${o}crypto${o}include
+INC=-I\$(SRC_D)${o}include -I\$(INCL_D) -I\$(SRC_D)${o}crypto${o}include
 APP_CFLAGS=\$(INC) \$(CFLAG) \$(APP_CFLAG)
 LIB_CFLAGS=\$(INC) \$(CFLAG) \$(LIB_CFLAG)
 SHLIB_CFLAGS=\$(INC) \$(CFLAG) \$(LIB_CFLAG) \$(SHLIB_CFLAG)
@@ -733,7 +727,7 @@ LIBS_DEP=$libs_dep
 EOF
 
 $rules=<<"EOF";
-all: banner \$(TMP_D) \$(BIN_D) \$(TEST_D) \$(LIB_D) \$(INCO_D) headers \$(FIPS_SHA1_EXE) $build_targets
+all: banner \$(TMP_D) \$(BIN_D) \$(TEST_D) \$(LIB_D) headers \$(FIPS_SHA1_EXE) $build_targets
 
 banner:
 $banner
@@ -750,18 +744,11 @@ $banner
 \$(LIB_D):
        \$(MKDIR) \"\$(LIB_D)\"
 
-\$(INCO_D): \$(INC_D)
-       \$(MKDIR) \"\$(INCO_D)\"
-
-\$(INC_D):
-       \$(MKDIR) \"\$(INC_D)\"
-
 # This needs to be invoked once, when the makefile is first constructed, or
 # after cleaning.
-init: \$(TMP_D) \$(LIB_D) \$(INC_D) \$(INCO_D) \$(BIN_D) \$(TEST_D) headers
-       \$(PERL) \$(SRC_D)/util/copy-if-different.pl "\$(SRC_D)/crypto/opensslconf.h" "\$(INCO_D)/opensslconf.h"
+init: \$(TMP_D) \$(LIB_D) \$(BIN_D) \$(TEST_D) headers
 
-headers: \$(HEADER) \$(EXHEADER)
+headers: \$(HEADER)
 
 lib: \$(LIBS_DEP) \$(E_SHLIB)
 
@@ -787,7 +774,6 @@ reallyclean:
        \$(RM) -rf \$(BIN_D)
        \$(RM) -rf \$(TEST_D)
        \$(RM) -rf \$(LIB_D)
-       \$(RM) -rf \$(INC_D)
 
 EOF
 
@@ -841,20 +827,11 @@ close(OUT);
 foreach (keys %lib_obj) { $lib_obj{$_}=&clean_up_ws($lib_obj{$_}); }
 $test=&clean_up_ws($test);
 $e_exe=&clean_up_ws($e_exe);
-$exheader=&clean_up_ws($exheader);
 $header=&clean_up_ws($header);
 
-# First we strip the exheaders from the headers list
-foreach (split(/\s+/,$exheader)){ $h{$_}=1; }
-foreach (split(/\s+/,$header)) { $h.=$_." " unless $h{$_}; }
-chop($h); $header=$h;
-
 $defs.=&do_defs("HEADER",$header,"\$(INCL_D)","");
 $rules.=&do_copy_rule("\$(INCL_D)",$header,"");
 
-$defs.=&do_defs("EXHEADER",$exheader,"\$(INCO_D)","");
-$rules.=&do_copy_rule("\$(INCO_D)",$exheader,"");
-
 $defs.=&do_defs("T_OBJ",$test,"\$(OBJ_D)",$obj);
 $rules.=&do_compile_rule("\$(OBJ_D)",$test,"\$(APP_CFLAGS)");
 
@@ -1413,7 +1390,6 @@ sub read_options
                "gaswin" => \$gaswin,
                "no-ssl3" => \$no_ssl3,
                "no-ssl3-method" => 0,
-               "no-tlsext" => \$no_tlsext,
                "no-srp" => \$no_srp,
                "no-cms" => \$no_cms,
                "no-jpake" => \$no_jpake,
@@ -1421,7 +1397,6 @@ sub read_options
                "no-ec_nistp_64_gcc_128" => 0,
                "no-err" => \$no_err,
                "no-sock" => \$no_sock,
-               "no-krb5" => \$no_krb5,
                "no-ec" => \$no_ec,
                "no-gost" => \$no_gost,
                "no-engine" => \$no_engine,
@@ -1508,22 +1483,6 @@ sub read_options
                $xcflags="-DOPENSSL_EXPERIMENTAL_$ALGO $xcflags";
                
                }
-       elsif (/^--with-krb5-flavor=(.*)$/)
-               {
-               my $krb5_flavor = $1;
-               if ($krb5_flavor =~ /^force-[Hh]eimdal$/)
-                       {
-                       $xcflags="-DKRB5_HEIMDAL $xcflags";
-                       }
-               elsif ($krb5_flavor =~ /^MIT/i)
-                       {
-                       $xcflags="-DKRB5_MIT $xcflags";
-                       if ($krb5_flavor =~ /^MIT[._-]*1[._-]*[01]/i)
-                               {
-                               $xcflags="-DKRB5_MIT_OLD11 $xcflags"
-                               }
-                       }
-               }
        elsif (/^([^=]*)=(.*)$/){ $VARS{$1}=$2; }
        elsif (/^-[lL].*$/)     { $l_flags.="$_ "; }
        elsif ((!/^-help/) && (!/^-h/) && (!/^-\?/) && /^-.*$/)