|
50 | 50 | my $progs = "apps/progs.h";
|
51 | 51 | my $prov_headers = "providers/common/include/prov/der_dsa.h providers/common/include/prov/der_wrap.h providers/common/include/prov/der_rsa.h providers/common/include/prov/der_ecx.h providers/common/include/prov/der_sm2.h providers/common/include/prov/der_ec.h providers/common/include/prov/der_digests.h";
|
52 | 52 | my $fips_ld = ($arch =~ m/linux/ ? "providers/fips.ld" : "");
|
53 |
| -my $cmd1 = "cd ../openssl; make -f $makefile clean build_generated $buildinf $progs $prov_headers $fips_ld;"; |
| 53 | +my $legacy_ld = ($arch =~ m/linux/ ? "providers/legacy.ld" : ""); |
| 54 | +my $cmd1 = "cd ../openssl; make -f $makefile clean build_generated $buildinf $progs $prov_headers $fips_ld $legacy_ld;"; |
54 | 55 | system($cmd1) == 0 or die "Error in system($cmd1)";
|
55 | 56 |
|
56 | 57 | # Copy and move all arch dependent header files into config/archs
|
|
100 | 101 | copy("$src_dir/providers/common/include/prov/der_digests.h",
|
101 | 102 | "$base_dir/providers/common/include/prov/") or die "Copy failed: $!";
|
102 | 103 |
|
103 |
| -my $fips_linker_script = ""; |
| 104 | +my $version_script_dir = "\$(srcdir)/deps/openssl/config/archs/$arch/$asm/providers"; |
| 105 | +my $fips_version_script = ""; |
104 | 106 | if ($fips_ld ne "") {
|
105 |
| - $fips_linker_script = "$base_dir/providers/fips.ld"; |
| 107 | + $fips_version_script = "$version_script_dir/fips.ld"; |
106 | 108 | copy("$src_dir/providers/fips.ld",
|
107 |
| - $fips_linker_script) or die "Copy failed: $!"; |
| 109 | + "$base_dir/providers/fips.ld") or die "Copy failed: $!"; |
| 110 | +} |
| 111 | + |
| 112 | +my $legacy_version_script = ""; |
| 113 | +if ($legacy_ld ne "") { |
| 114 | + $legacy_version_script = "$version_script_dir/legacy.ld"; |
| 115 | + copy("$src_dir/providers/legacy.ld", |
| 116 | + "$base_dir/providers/legacy.ld") or die "Copy failed: $!"; |
108 | 117 | }
|
109 | 118 |
|
110 | 119 |
|
|
172 | 181 | $src =~ s\.[sS]$\.asm\ if ($is_win);
|
173 | 182 | push(@generated_srcs, $src);
|
174 | 183 | } else {
|
175 |
| - if ($src =~ m/\.c$/) { |
| 184 | + if ($src =~ m/\.c$/) { |
176 | 185 | push(@libcrypto_srcs, $src);
|
177 | 186 | }
|
178 | 187 | }
|
179 | 188 | }
|
180 | 189 |
|
| 190 | +my @liblegacy_srcs = (); |
| 191 | + |
181 | 192 | foreach my $obj (@{$unified_info{sources}->{'providers/liblegacy.a'}}) {
|
182 | 193 | my $src = ${$unified_info{sources}->{$obj}}[0];
|
183 |
| - #print("liblegacy src: $src \n"); |
| 194 | + #print("providers/liblegacy.a obj: $obj src: $src \n"); |
184 | 195 | # .S files should be preprocessed into .s
|
185 | 196 | if ($unified_info{generate}->{$src}) {
|
186 | 197 | # .S or .s files should be preprocessed into .asm for WIN
|
187 |
| - $src =~ s\.[sS]$\.asm\ if ($is_win); |
188 |
| - push(@generated_srcs, $src); |
| 198 | + #$src =~ s\.[sS]$\.asm\ if ($is_win); |
| 199 | + #push(@generated_srcs, $src); |
189 | 200 | } else {
|
190 |
| - if ($src =~ m/\.c$/) { |
191 |
| - push(@libcrypto_srcs, $src); |
| 201 | + if ($src =~ m/\.c$/) { |
| 202 | + push(@liblegacy_srcs, $src); |
| 203 | + } |
| 204 | + } |
| 205 | +} |
| 206 | + |
| 207 | +foreach my $obj (@{$unified_info{sources}->{'providers/legacy'}}) { |
| 208 | + if ($obj eq 'providers/legacy.ld') { |
| 209 | + push(@generated_srcs, $obj); |
| 210 | + } else { |
| 211 | + my $src = ${$unified_info{sources}->{$obj}}[0]; |
| 212 | + #print("providers/fips obj: $obj, src: $src\n"); |
| 213 | + if ($src =~ m/\.c$/) { |
| 214 | + push(@liblegacy_srcs, $src); |
192 | 215 | }
|
193 | 216 | }
|
194 | 217 | }
|
195 | 218 |
|
| 219 | +my @liblegacy_defines = (); |
| 220 | +foreach my $df (@{$unified_info{defines}->{'providers/liblegacy.a'}}) { |
| 221 | + #print("liblegacy defines: $df\n"); |
| 222 | + push(@liblegacy_defines, $df); |
| 223 | +} |
| 224 | + |
| 225 | +foreach my $df (@{$unified_info{defines}->{'providers/legacy'}}) { |
| 226 | + #print("liblegacy defines: $df\n"); |
| 227 | + push(@liblegacy_srcs, $df); |
| 228 | +} |
| 229 | + |
196 | 230 | my @libfips_srcs = ();
|
197 | 231 | foreach my $obj (@{$unified_info{sources}->{'providers/libfips.a'}}) {
|
198 | 232 | my $src = ${$unified_info{sources}->{$obj}}[0];
|
|
316 | 350 | arch => \$arch,
|
317 | 351 | lib_cppflags => \@lib_cppflags,
|
318 | 352 | is_win => \$is_win,
|
319 |
| - linker_script => \rel2abs($fips_linker_script), |
| 353 | + version_script => $fips_version_script, |
320 | 354 | });
|
321 | 355 |
|
322 | 356 | open(FIPSGYPI, "> ./archs/$arch/$asm/openssl-fips.gypi");
|
323 | 357 | print FIPSGYPI "$fipsgypi";
|
324 | 358 | close(FIPSGYPI);
|
| 359 | +# |
| 360 | +# Create openssl-fips.gypi |
| 361 | +my $legacytemplate = |
| 362 | + Text::Template->new(TYPE => 'FILE', |
| 363 | + SOURCE => 'openssl-legacy.gypi.tmpl', |
| 364 | + DELIMITERS => [ "%%-", "-%%" ] |
| 365 | + ); |
| 366 | +my $legacygypi = $legacytemplate->fill_in( |
| 367 | + HASH => { |
| 368 | + liblegacy_srcs => \@liblegacy_srcs, |
| 369 | + liblegacy_defines => \@liblegacy_defines, |
| 370 | + #generated_srcs => \@generated_srcs, |
| 371 | + config => \%config, |
| 372 | + target => \%target, |
| 373 | + cflags => \@cflags, |
| 374 | + asm => \$asm, |
| 375 | + arch => \$arch, |
| 376 | + lib_cppflags => \@lib_cppflags, |
| 377 | + is_win => \$is_win, |
| 378 | + version_script => $legacy_version_script, |
| 379 | + }); |
| 380 | + |
| 381 | +open(LEGACYGYPI, "> ./archs/$arch/$asm/openssl-legacy.gypi"); |
| 382 | +print LEGACYGYPI "$legacygypi"; |
| 383 | +close(LEGACYGYPI); |
325 | 384 |
|
326 | 385 | # Create openssl-cl.gypi
|
327 | 386 | my $cltemplate =
|
|
0 commit comments