mk1mf.pl, when building in FIPS mode.
Note: UNTESTED!
$rules.= &do_lib_rule("\$(SSLOBJ)","\$(O_SSL)",$ssl,$shlib,"\$(SO_SSL)");
$rules.= &do_lib_rule("\$(CRYPTOOBJ)","\$(O_CRYPTO)",$crypto,$shlib,"\$(SO_CRYPTO)");
-$rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");
-
+if ($fips)
+ {
+ $rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)","\$(BIN_D)$o.sha1","\$(BIN_D)$o\$(E_EXE)$exep");
+ }
+else
+ {
+ $rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)");
+ }
print $defs;
if ($platform eq "linux-elf") {
sub do_link_rule
{
- local($target,$files,$dep_libs,$libs)=@_;
+ local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
local($ret,$f,$_,@f);
-
+
$file =~ s/\//$o/g if $o ne '/';
- $n=&bname($targer);
+ $n=&bname($target);
$ret.="$target: $files $dep_libs\n";
$ret.=" \$(LINK) @&&|";
}
else
{ $ret.="\n $r \$(APP_EX_OBJ) $files\n"; }
- $ret.=" $target\n\n $libs\n\n|\n\n";
+ $ret.=" $target\n\n $libs\n\n|\n";
+ if (defined $sha1file)
+ {
+ $ret.=" $openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
+ }
+ $ret.="\n";
return($ret);
}
sub do_link_rule
{
- local($target,$files,$dep_libs,$libs)=@_;
+ local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
local($ret,$_);
-
+
$file =~ s/\//$o/g if $o ne '/';
$n=&bname($targer);
$ret.="$target: $files $dep_libs\n";
- $ret.="\t\$(LINK) \$(LFLAGS) $files \$(APP_EX_OBJ), $target,, $libs\n\n";
+ $ret.="\t\$(LINK) \$(LFLAGS) $files \$(APP_EX_OBJ), $target,, $libs\n";
+ if (defined $sha1file)
+ {
+ $ret.="\t$openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
+ }
+ $ret.="\n";
return($ret);
}
sub do_link_rule
{
- local($target,$files,$dep_libs,$libs)=@_;
+ local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
local($ret,$_);
$file =~ s/\//$o/g if $o ne '/';
$n=&bname($target);
$ret.="$target: $files $dep_libs\n";
- $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n";
+ $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n";
+ if (defined $sha1file)
+ {
+ $ret.="\t$openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
+ }
+ $ret.="\n";
return($ret);
}
1;
sub do_link_rule
{
- local($target,$files,$dep_libs,$libs)=@_;
+ local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
local($ret,$_);
$file =~ s/\//$o/g if $o ne '/';
$n=&bname($target);
$ret.="$target: $files $dep_libs\n";
- $ret.="\t\$(LINK) ${efile}$target \$(CFLAG) \$(LFLAGS) $files $libs\n\n";
+ $ret.="\t\$(LINK) ${efile}$target \$(CFLAG) \$(LFLAGS) $files $libs\n";
+ if (defined $sha1file)
+ {
+ $ret.="\t$openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
+ }
+ $ret.="\n";
return($ret);
}
sub do_link_rule
{
- local($target,$files,$dep_libs,$libs)=@_;
+ local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
local($ret,$f,$_,@f);
$file =~ s/\//$o/g if $o ne '/';
}
else
{ $ret.=" \$(APP_EX_OBJ) $files"; }
- $ret.="\n $target\n\n $libs\n\n<<\n\n";
+ $ret.="\n $target\n\n $libs\n\n<<\n";
+ if (defined $sha1file)
+ {
+ $ret.=" $openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
+ }
+ $ret.="\n";
return($ret);
}
sub do_link_rule
{
- local($target,$files,$dep_libs,$libs)=@_;
+ local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
local($ret,$_);
$file =~ s/\//$o/g if $o ne '/';
$n=&bname($targer);
$ret.="$target: $files $dep_libs\n";
$ret.=" \$(LINK) \$(LFLAGS) $efile$target @<<\n";
- $ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n\n";
+ $ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n";
+ if (defined $sha1file)
+ {
+ $ret.=" $openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
+ }
+ $ret.="\n";
return($ret);
}
sub do_link_rule
{
- local($target,$files,$dep_libs,$libs)=@_;
+ local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
local($ret,$_);
$file =~ s/\//$o/g if $o ne '/';
$n=&bname($targer);
$ret.="$target: $files $dep_libs\n";
$ret.=" \$(LINK) \$(LFLAGS) $efile$target @<<\n";
- $ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n\n";
+ $ret.=" \$(APP_EX_OBJ) $files $libs\n<<\n";
+ if (defined $sha1file)
+ {
+ $ret.=" $openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
+ }
+ $ret.="\n";
return($ret);
}
sub do_link_rule
{
- local($target,$files,$dep_libs,$libs)=@_;
+ local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
local($ret,$_);
$file =~ s/\//$o/g if $o ne '/';
$n=&bname($target);
$ret.="$target: $files $dep_libs\n";
- $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n";
+ $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n";
+ if (defined $sha1file)
+ {
+ $ret.="\t$openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
+ }
+ $ret.="\n";
return($ret);
}
sub do_link_rule
{
- local($target,$files,$dep_libs,$libs)=@_;
+ local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
local($ret,$_);
$file =~ s/\//$o/g if $o ne '/';
$n=&bname($target);
$ret.="$target: $files $dep_libs\n";
- $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n";
+ $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n";
+ if (defined $sha1file)
+ {
+ $ret.="\t$openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
+ }
+ $ret.="\n";
return($ret);
}
sub do_link_rule
{
- local($target,$files,$dep_libs,$libs)=@_;
+ local($target,$files,$dep_libs,$libs,$sha1file,$openssl)=@_;
local($ret,$_);
$file =~ s/\//$o/g if $o ne '/';
$n=&bname($target);
$ret.="$target: $files $dep_libs\n";
- $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n";
+ $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n";
+ if (defined $sha1file)
+ {
+ $ret.="\t$openssl sha1 -hmac etaonrishdlcupfm -binary $target > $sha1file";
+ }
+ $ret.="\n";
return($ret);
}