Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
462ba4f6
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
10 个月 前同步成功
通知
8
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
462ba4f6
编写于
4月 24, 1999
作者:
U
Ulf Möller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
New Configure option --openssldir to replace util/ssldir.pl.
上级
5460ffdf
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
121 addition
and
83 deletion
+121
-83
Configure
Configure
+78
-36
INSTALL
INSTALL
+34
-35
Makefile.org
Makefile.org
+8
-7
config
config
+1
-5
未找到文件。
Configure
浏览文件 @
462ba4f6
...
@@ -9,11 +9,14 @@ require 5.000;
...
@@ -9,11 +9,14 @@ require 5.000;
use strict;
use strict;
# see INSTALL for instructions.
# see INSTALL for instructions.
#
# Usage: Configure [-Dxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-asm] [rsaref]
my $usage="Usage: Configure [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-asm] [rsaref] [--openssldir=OPENSSLDIR] [--prefix=DIR] os/compiler\n";
# [386] platform[:flags]
#
# Options:
# Options:
# --openssldir install OpenSSL in OPENSSLDIR (Default: DIR/ssl if the
# --prefix option is given; /usr/local/ssl otherwise)
# --prefix prefix for the OpenSSL include, lib and bin directories
# (Default: the OPENSSLDIR directory)
# rsaref use RSAref
# rsaref use RSAref
# no-asm do not use assembler
# no-asm do not use assembler
# 386 generate 80386 code
# 386 generate 80386 code
...
@@ -113,8 +116,8 @@ my %table=(
...
@@ -113,8 +116,8 @@ my %table=(
"solaris-usparc-sc4","cc:-xtarget=ultra -xarch=v8plus -Xa -xO5 -DB_ENDIAN:\
"solaris-usparc-sc4","cc:-xtarget=ultra -xarch=v8plus -Xa -xO5 -DB_ENDIAN:\
-lsocket -lnsl:\
-lsocket -lnsl:\
BN_LLONG RC4_CHAR DES_PTR DES_RISC1 DES_UNROLL BF_PTR:asm/sparcv8.o::",
BN_LLONG RC4_CHAR DES_PTR DES_RISC1 DES_UNROLL BF_PTR:asm/sparcv8.o::",
"solaris-sparc-sc4-pic","cc:-xO5 -Xa -DB_ENDIAN -KPIC:-lsocket -lnsl:\
#
"solaris-sparc-sc4-pic","cc:-xO5 -Xa -DB_ENDIAN -KPIC:-lsocket -lnsl:\
BN_LLONG RC4_CHAR DES_PTR DES_RISC1 DES_UNROLL BF_PTR:::",
#
BN_LLONG RC4_CHAR DES_PTR DES_RISC1 DES_UNROLL BF_PTR:::",
# Sunos configs, assuming sparc for the gcc one.
# Sunos configs, assuming sparc for the gcc one.
##"sunos-cc", "cc:-O4 -DNOPROTO -DNOCONST::DES_UNROLL:::",
##"sunos-cc", "cc:-O4 -DNOPROTO -DNOCONST::DES_UNROLL:::",
...
@@ -249,6 +252,8 @@ my %table=(
...
@@ -249,6 +252,8 @@ my %table=(
my @WinTargets=qw(VC-NT VC-WIN32 VC-WIN16 VC-W31-16 VC-W31-32 VC-MSDOS BC-32
my @WinTargets=qw(VC-NT VC-WIN32 VC-WIN16 VC-W31-16 VC-W31-32 VC-MSDOS BC-32
BC-16 CygWin32);
BC-16 CygWin32);
my $installprefix="";
my $openssldir="";
my $no_asm=0;
my $no_asm=0;
my $Makefile="Makefile.ssl";
my $Makefile="Makefile.ssl";
my $des_locl="crypto/des/des_locl.h";
my $des_locl="crypto/des/des_locl.h";
...
@@ -276,43 +281,43 @@ my $perl;
...
@@ -276,43 +281,43 @@ my $perl;
$ranlib=&which("ranlib") or $ranlib="true";
$ranlib=&which("ranlib") or $ranlib="true";
$perl=&which("perl5") or $perl=&which("perl");
$perl=&which("perl5") or $perl=&which("perl");
if ($#ARGV < 0)
&usage if ($#ARGV < 0);
{
&bad_target;
exit(1);
}
my $flags="";
my $flags="";
my $libs="";
my $libs="";
my $target="";
my $target="";
foreach (@ARGV)
foreach (@ARGV)
{
{
if (
$_ =~
/^no-asm$/)
if (/^no-asm$/)
{ $no_asm=1; }
{ $no_asm=1; }
elsif (
$_ =~
/^386$/)
elsif (/^386$/)
{ $processor=386; }
{ $processor=386; }
elsif (
$_ =~
/^rsaref$/)
elsif (/^rsaref$/)
{
{
$libs.= "-lRSAglue -lrsaref ";
$libs.= "-lRSAglue -lrsaref ";
$flags.= "-DRSAref ";
$flags.= "-DRSAref ";
}
}
elsif (
$_ =~
/^-/)
elsif (/^-/)
{
{
if (
$_ =~
/^-[lL](.*)$/)
if (/^-[lL](.*)$/)
{
{
$libs.=$_." ";
$libs.=$_." ";
}
}
elsif (
$_ =~ /^-D
(.*)$/)
elsif (
/^-[DfK]
(.*)$/)
{
{
$flags.=$_." ";
$flags.=$_." ";
}
}
elsif (
$_ =~ /^-[fK]
(.*)$/)
elsif (
/^--prefix=
(.*)$/)
{
{
$flags.=$_." ";
$installprefix=$1;
}
elsif (/^--openssldir=(.*)$/)
{
$openssldir=$1;
}
}
else
else
{
{
die "unknown options, only -Dxxx, -Lxxx, -lxxx, -fxxx and -Kxxx are supported\n"
;
print STDERR $usage
;
}
}
}
}
elsif ($_ =~ /^([^:]+):(.+)$/) {
elsif ($_ =~ /^([^:]+):(.+)$/) {
...
@@ -323,19 +328,19 @@ foreach (@ARGV)
...
@@ -323,19 +328,19 @@ foreach (@ARGV)
{
{
die "target already defined - $target\n" if ($target ne "");
die "target already defined - $target\n" if ($target ne "");
$target=$_;
$target=$_;
if (!defined($table{$target}))
{
&bad_target;
exit(1);
}
}
}
}
}
if (!defined($table{$target}))
&usage if (!defined($table{$target}));
{
&bad_target;
$openssldir="/usr/local/ssl" if ($openssldir eq "" and $installprefix eq "");
exit(1);
$installprefix=$openssldir if $installprefix eq "";
}
chop $openssldir if $openssldir =~ /\/$/;
chop $installprefix if $installprefix =~ /\/$/;
$openssldir=$installprefix . "/ssl" if $openssldir eq "";
$openssldir=$installprefix . "/" . $openssldir if $openssldir !~ /^\//;
my $IsWindows=scalar grep /^$target$/,@WinTargets;
my $IsWindows=scalar grep /^$target$/,@WinTargets;
...
@@ -386,6 +391,8 @@ open(OUT,">$Makefile") || die "unable to create $Makefile:$!\n";
...
@@ -386,6 +391,8 @@ open(OUT,">$Makefile") || die "unable to create $Makefile:$!\n";
while (<IN>)
while (<IN>)
{
{
chop;
chop;
s/^INSTALLTOP=.*$/INSTALLTOP=$installprefix/;
s/^OPENSSLDIR=.*$/OPENSSLDIR=$openssldir/;
s/^PLATFORM=.*$/PLATFORM=$target/;
s/^PLATFORM=.*$/PLATFORM=$target/;
s/^CC=.*$/CC= $cc/;
s/^CC=.*$/CC= $cc/;
s/^CFLAG=.*$/CFLAG= $cflags/;
s/^CFLAG=.*$/CFLAG= $cflags/;
...
@@ -470,7 +477,9 @@ open(IN,'<crypto/opensslconf.h.in') || die "unable to read crypto/opensslconf.h.
...
@@ -470,7 +477,9 @@ open(IN,'<crypto/opensslconf.h.in') || die "unable to read crypto/opensslconf.h.
open(OUT,'>crypto/opensslconf.h') || die "unable to create crypto/opensslconf.h:$!\n";
open(OUT,'>crypto/opensslconf.h') || die "unable to create crypto/opensslconf.h:$!\n";
while (<IN>)
while (<IN>)
{
{
if (/^#((define)|(undef))\s+SIXTY_FOUR_BIT_LONG/)
if (/^#defined\s+OPENSSLDIR/)
{ print OUT "#define OPENSSLDIR $openssldir\n"; }
elsif (/^#((define)|(undef))\s+SIXTY_FOUR_BIT_LONG/)
{ printf OUT "#%s SIXTY_FOUR_BIT_LONG\n",($b64l)?"define":"undef"; }
{ printf OUT "#%s SIXTY_FOUR_BIT_LONG\n",($b64l)?"define":"undef"; }
elsif (/^#((define)|(undef))\s+SIXTY_FOUR_BIT/)
elsif (/^#((define)|(undef))\s+SIXTY_FOUR_BIT/)
{ printf OUT "#%s SIXTY_FOUR_BIT\n",($b64)?"define":"undef"; }
{ printf OUT "#%s SIXTY_FOUR_BIT\n",($b64)?"define":"undef"; }
...
@@ -540,7 +549,13 @@ if($IsWindows) {
...
@@ -540,7 +549,13 @@ if($IsWindows) {
close(OUT);
close(OUT);
}
}
system 'make -f Makefile.ssl links' if !$IsWindows;
if (!$IsWindows)
{
(system 'make -f Makefile.ssl links') == 0 or exit $?;
}
&dofile("tools/c_rehash",$openssldir,'^DIR=', 'DIR=%s',);
&dofile("util/mk1mf.pl",$openssldir,('^\$INSTALLTOP=','$INSTALLTOP="%s";',));
my $pwd=`pwd`;
my $pwd=`pwd`;
chop($pwd);
chop($pwd);
...
@@ -557,7 +572,7 @@ conflicts with other libraries.
...
@@ -557,7 +572,7 @@ conflicts with other libraries.
To compile programs that use the old form <foo.h>,
To compile programs that use the old form <foo.h>,
usually an additional compiler option will suffice: E.g., add
usually an additional compiler option will suffice: E.g., add
-I
/usr/local/ssl
/include/openssl
-I
$installprefix
/include/openssl
or
or
-I$pwd/include/openssl
-I$pwd/include/openssl
to the CFLAGS in the Makefile of the program that you want to compile
to the CFLAGS in the Makefile of the program that you want to compile
...
@@ -570,18 +585,26 @@ EOF
...
@@ -570,18 +585,26 @@ EOF
exit(0);
exit(0);
sub
bad_target
sub
usage
{
{
print STDERR
"Usage: Configure [-Dxxx] [-Lxxx] [-lxxx] [no-asm] [rsaref] os/compiler\n"
;
print STDERR
$usage
;
print STDERR "pick os/compiler from:";
print STDERR "pick os/compiler from:";
my $j=0;
my $j=0;
my $i;
my $i;
foreach $i (sort keys %table)
foreach $i (sort keys %table)
{
{
next if $i =~ /^debug/;
print STDERR "\n" if ($j++ % 4) == 0;
printf(STDERR "%-18s ",$i);
}
foreach $i (sort keys %table)
{
next if $i !~ /^debug/;
print STDERR "\n" if ($j++ % 4) == 0;
print STDERR "\n" if ($j++ % 4) == 0;
printf(STDERR "%-18s ",$i);
printf(STDERR "%-18s ",$i);
}
}
print STDERR "\n";
print STDERR "\n";
exit(1);
}
}
sub which
sub which
...
@@ -598,3 +621,22 @@ sub which
...
@@ -598,3 +621,22 @@ sub which
}
}
}
}
sub dofile
{
my $f; my $p; my %m; my @a; my $k; my $ff;
($f,$p,%m)=@_;
open(IN,"<$f") || die "unable to open $f:$!\n";
@a=<IN>;
close(IN);
foreach $k (keys %m)
{
grep(/$k/ && ($_=sprintf($m{$k}."\n",$p)),@a);
}
($ff=$f) =~ s/\..*$//;
open(OUT,">$ff.new") || die "unable to open $f:$!\n";
print OUT @a;
close(OUT);
rename($f,"$ff.bak") || die "unable to rename $f\n";
rename("$ff.new",$f) || die "unable to rename $ff.new\n";
}
INSTALL
浏览文件 @
462ba4f6
...
@@ -23,16 +23,25 @@
...
@@ -23,16 +23,25 @@
This will build and install OpenSSL in the default location, which is (for
This will build and install OpenSSL in the default location, which is (for
historical reasons) /usr/local/ssl. If you want to install it anywhere else,
historical reasons) /usr/local/ssl. If you want to install it anywhere else,
do this after running `./config'
:
run config like this
:
$
perl util/ssldir.pl /new/install/path
$
./config --prefix=/usr/local --openssldir=/usr/local/openssl
There are several options to ./config to customize the build:
There are several options to ./config to customize the build:
rsaref Build with RSADSI's RSAREF toolkit.
--prefix=DIR Install in DIR/bin, DIR/lib, DIR/include. Configuration
no-asm Build with no assembler code.
files used by OpenSSL will be in DIR/ssl or the directory
386 Use the 80386 instruction set only (the default x86 code is
specified by --openssldir.
more efficient, but requires at least a 486).
--openssldir=DIR Directory for OpenSSL files. If no prefix is specified,
the library files and binaries are also installed there.
rsaref Build with RSADSI's RSAREF toolkit.
no-asm Build with no assembler code.
386 Use the 80386 instruction set only (the default x86 code is
more efficient, but requires at least a 486).
If anything goes wrong, follow the detailed instructions below. If your
If anything goes wrong, follow the detailed instructions below. If your
operating system is not (yet) supported by OpenSSL, see the section on
operating system is not (yet) supported by OpenSSL, see the section on
...
@@ -46,8 +55,8 @@
...
@@ -46,8 +55,8 @@
$ ./config
$ ./config
This guesses at your operating system (and compiler, if necessary) and
This guesses at your operating system (and compiler, if necessary) and
configures OpenSSL based on this guess.
Check the first line of output to
configures OpenSSL based on this guess.
Run ./config -t -v to see
see
if it guessed correctly. If it did not get it correct or you want to
if it guessed correctly. If it did not get it correct or you want to
use a different compiler then go to step 1b. Otherwise go to step 2.
use a different compiler then go to step 1b. Otherwise go to step 2.
1b. Configure OpenSSL for your operating system manually
1b. Configure OpenSSL for your operating system manually
...
@@ -63,7 +72,7 @@
...
@@ -63,7 +72,7 @@
as the argument to ./Configure. For example, a "linux-elf" user would
as the argument to ./Configure. For example, a "linux-elf" user would
run:
run:
$ ./Configure linux-elf
$ ./Configure linux-elf
[--prefix=DIR] [--openssldir=OPENSSLDIR]
If your system is not available, you will have to edit the Configure
If your system is not available, you will have to edit the Configure
program and add the correct configuration for your system.
program and add the correct configuration for your system.
...
@@ -72,20 +81,7 @@
...
@@ -72,20 +81,7 @@
various macros in crypto/opensslconf.h (generated from
various macros in crypto/opensslconf.h (generated from
crypto/opensslconf.h.in).
crypto/opensslconf.h.in).
2. Set the install directory
2. Build OpenSSL by running:
If the install directory will be the default of /usr/local/ssl, skip to
the next stage. Otherwise, run
$ perl util/ssldir.pl /new/install/path
This configures the installation location into the "install" target of
the top-level Makefile, and also updates some defines in an include file
so that the default certificate directory is under the proper
installation directory. It also updates a few utility files used in the
build process.
3. Build OpenSSL by running:
$ make
$ make
...
@@ -93,7 +89,7 @@
...
@@ -93,7 +89,7 @@
OpenSSL binary ("openssl"). The libraries will be built in the top-level
OpenSSL binary ("openssl"). The libraries will be built in the top-level
directory, and the binary will be in the "apps" directory.
directory, and the binary will be in the "apps" directory.
4
. After a successful build, the libraries should be tested. Run:
3
. After a successful build, the libraries should be tested. Run:
$ make rehash
$ make rehash
$ make test
$ make test
...
@@ -101,24 +97,27 @@
...
@@ -101,24 +97,27 @@
(The first line makes the test certificates in the "certs" directory
(The first line makes the test certificates in the "certs" directory
accessable via an hash name, which is required for some of the tests).
accessable via an hash name, which is required for some of the tests).
5
. If everything tests ok, install OpenSSL with
4
. If everything tests ok, install OpenSSL with
$ make install
$ make install
This will create the installation directory (if it does not exist) and
This will create the installation directory (if it does not exist) and
then create the following subdirectories:
then create the following subdirectories:
bin Contains the openssl binary and a few other
certs Initially empty, this is the default location
utility programs.
for certificate files.
include Contains the header files needed if you want to
private Initially empty, this is the default location
compile programs with libcrypto or libssl.
for private key files.
lib Contains the library files themselves and the
lib Contains the OpenSSL configuration file "openssl.cnf".
OpenSSL configuration file "openssl.cnf".
certs Initially empty, this is the default location
If you didn't chose a different installation prefix, lib also contains
for certificate files.
the library files themselves, and the following additional subdirectories
private Initially empty, this is the default location
will be created:
for private key files.
bin Contains the openssl binary and a few other
utility programs.
include/openssl Contains the header files needed if you want to
compile programs with libcrypto or libssl.
NOTE: The header files used to reside directly in the include
NOTE: The header files used to reside directly in the include
directory, but have now been moved to include/openssl so that
directory, but have now been moved to include/openssl so that
...
...
Makefile.org
浏览文件 @
462ba4f6
...
@@ -4,6 +4,10 @@
...
@@ -4,6 +4,10 @@
VERSION
=
0.9.2b
VERSION
=
0.9.2b
PLATFORM
=
dist
PLATFORM
=
dist
INSTALLTOP
=
/usr/local/ssl
# Do not edit this manually. Use Configure --openssldir=DIR do change this!
OPENSSLDIR
=
/usr/local/ssl
# RSAref - Define if we are to link with RSAref.
# RSAref - Define if we are to link with RSAref.
# NO_IDEA - Define to build without the IDEA algorithm
# NO_IDEA - Define to build without the IDEA algorithm
...
@@ -139,9 +143,6 @@ SDIRS= \
...
@@ -139,9 +143,6 @@ SDIRS= \
buffer bio stack lhash rand err objects
\
buffer bio stack lhash rand err objects
\
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp
# Do not edit this manually. Use util/ssldir.pl do change this!
INSTALLTOP
=
/usr/local/ssl
MAKEFILE
=
Makefile.ssl
MAKEFILE
=
Makefile.ssl
MAKE
=
make
-f
Makefile.ssl
MAKE
=
make
-f
Makefile.ssl
...
@@ -286,14 +287,14 @@ dist_pem_h:
...
@@ -286,14 +287,14 @@ dist_pem_h:
install
:
all
install
:
all
@
-mkdir
-p
$(INSTALLTOP)
/bin 2>/dev/null
@
-mkdir
-p
$(INSTALLTOP)
/bin 2>/dev/null
@
-mkdir
-p
$(INSTALLTOP)
/lib 2>/dev/null
@
-mkdir
-p
$(INSTALLTOP)
/lib 2>/dev/null
@
-mkdir
-p
$(INSTALLTOP)
/include 2>/dev/null
@
-mkdir
-p
$(INSTALLTOP)
/include/openssl 2>/dev/null
@
-mkdir
-p
$(INSTALLTOP)
/include/openssl 2>/dev/null
@
-mkdir
-p
$(INSTALLTOP)
/certs 2>/dev/null
@
-mkdir
-p
$(OPENSSLDIR)
/certs 2>/dev/null
@
-mkdir
-p
$(INSTALLTOP)
/private 2>/dev/null
@
-mkdir
-p
$(OPENSSLDIR)
/private 2>/dev/null
@
-mkdir
-p
$(OPENSSLDIR)
/lib 2>/dev/null
@
for
i
in
$(DIRS)
;
\
@
for
i
in
$(DIRS)
;
\
do
\
do
\
(
cd
$$
i
;
echo
"installing
$$
i..."
;
\
(
cd
$$
i
;
echo
"installing
$$
i..."
;
\
$(MAKE)
CC
=
'
${CC}
'
CFLAG
=
'
${CFLAG}
'
INSTALLTOP
=
'
${INSTALLTOP}
'
EX_LIBS
=
'
${EX_LIBS}
'
SDIRS
=
'
${SDIRS}
'
install
)
;
\
$(MAKE)
CC
=
'
${CC}
'
CFLAG
=
'
${CFLAG}
'
INSTALLTOP
=
'
${INSTALLTOP}
'
OPENSSLDIR
=
'
${OPENSSLDIR}
'
EX_LIBS
=
'
${EX_LIBS}
'
SDIRS
=
'
${SDIRS}
'
install
)
;
\
done
done
@
for
i
in
$(LIBS)
;
\
@
for
i
in
$(LIBS)
;
\
do
\
do
\
...
...
config
浏览文件 @
462ba4f6
...
@@ -268,11 +268,7 @@ Usage: config [options]
...
@@ -268,11 +268,7 @@ Usage: config [options]
-h This help.
-h This help.
Any other text will be passed to the Configure perl script.
Any other text will be passed to the Configure perl script.
Useful options include
See INSTALL for instructions.
no-asm Build with no assember code.
-Dxxx Add xxx define to compilation.
-Lxxx Add xxx library include path to build.
-lxxx Add xxx library to build.
EOF
EOF
;;
;;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录