Recognize zlib and krb5 options in mk1mf.pl
[openssl.git] / util / mk1mf.pl
index 3f4ffadc5c40666a7425e7ac4130da059e3c48f9..ba2e2a4f52bda90b2fc83039f9449ed915f29cbc 100755 (executable)
@@ -45,6 +45,7 @@ $infile="MINFO";
        );
 
 $platform="";
+my $xcflags="";
 foreach (@ARGV)
        {
        if (!&read_options && !defined($ops{$_}))
@@ -120,6 +121,7 @@ $bin_dir=(defined($VARS{'BIN'}))?$VARS{'BIN'}:'';
 
 # $bin_dir.=$o causes a core dump on my sparc :-(
 
+
 $NT=0;
 
 push(@INC,"util/pl","pl");
@@ -221,6 +223,10 @@ $inc_dir=(defined($VARS{'INC'}))?$VARS{'INC'}:$inc_def;
 
 $bin_dir=$bin_dir.$o unless ((substr($bin_dir,-1,1) eq $o) || ($bin_dir eq ''));
 
+print STDERR "XCFLAGS is $xcflags\n";
+
+$cflags= "$xcflags$cflags" if $xcflags ne "";
+
 $cflags.=" -DOPENSSL_NO_IDEA" if $no_idea;
 $cflags.=" -DOPENSSL_NO_AES"  if $no_aes;
 $cflags.=" -DOPENSSL_NO_RC2"  if $no_rc2;
@@ -997,6 +1003,11 @@ sub read_options
                                }
                        }
                }
+       elsif (/^enable-zlib$/) { $xcflags = "-DZLIB $xcflags"; }
+       elsif (/^enable-zlib-dynamic$/)
+               {
+               $xcflags = "-DZLIB_SHARED -DZLIB $xcflags";
+               }
        # There are also enable-xxx options which correspond to
        # the no-xxx. Since the scalars are enabled by default
        # these can be ignored.
@@ -1008,6 +1019,22 @@ sub read_options
                        {return 1;}
                return 0;
                }
+       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/) && (!/^-\?/) && /^-.*$/)