首页 > 系统相关 >Linux编译OpenSSL.0.9.8g

Linux编译OpenSSL.0.9.8g

时间:2022-08-28 23:37:41浏览次数:81  
标签:OpenSSL.0 openssl echo 9.8 build Linux output include dir

环境:

  Linux平台:Centos Linux release 7.6.1810 (Core)、gcc 4.8.5

开始:

一、下载源码

  1. openssl-OpenSSL_0_9_8g.tar.gz          解压得到openssl-OpenSSL_0_9_8g目录

  查看openssl版本:opensslv.h                                           #define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8g 19 Oct 2007"

二、编译脚本

  build_openssl.sh

#!/usr/bin/sh

#resolve error: 'out range of signed 32bit displacement'
#use option no-asm

if [ $# -lt 2 ]; then
    echo "usage:"
    echo "    ./build_openssl.sh make    [source_dir]"
    echo "    ./build_openssl.sh install [source_dir] [output_dir]"
    echo "    ./build_openssl.sh clean   [source_dir]"
    echo "example:"
    echo "    build_openssl.sh make openssl-OpenSSL_0_9_8g"
    echo "    build_openssl.sh install openssl-OpenSSL_0_9_8g openssl-0.9.8"
    echo "    build_openssl.sh clean openssl-OpenSSL_0_9_8g"
    exit 0
fi

if [[ "$1" == "make" ]]; then
    if [ $# -ne 2 ]; then
        echo "usage:"
        echo "    ./build.sh make [source_dir]"
        exit 0
    fi
    cd $2
    ./config no-asm no-shared -fPIC
    make
    make test
elif [[ "$1" == "install" ]]; then
    if [ $# -ne 3 ]; then
        echo "usage:"
        echo "    ./build.sh install [source_dir] [output_dir]"
        exit 0
    fi
    source_dir=$2
    output_dir=$3
    #output_dir
    if [ ! -d $output_dir ];then
        mkdir $output_dir
    fi
    #output_dir/include
    if [ ! -d $output_dir/include ];then
        mkdir $output_dir/include
    fi
    #output_dir/include/openssl
    if [ ! -d $output_dir/include/openssl ];then
        mkdir $output_dir/include/openssl
    fi
    #output_dir/lib
    if [ ! -d $output_dir/lib ];then
        mkdir $output_dir/lib
    fi
    #copy include file to output_dir
    cp -f $source_dir/include/openssl/*.h $output_dir/include/openssl
    #copy library file to output_dir
    cp -f $source_dir/*.a $output_dir/lib
    mv -f $output_dir/include/openssl/opensslconf.h $output_dir/include/openssl/opensslconf_unix.h
    echo '#if WIN32' > $output_dir/include/openssl/opensslconf.h
    echo '    #include "openssl/opensslconf_windows.h"' >> $output_dir/include/openssl/opensslconf.h
    echo '#else' >> $output_dir/include/openssl/opensslconf.h
    echo '    #include "openssl/opensslconf_unix.h"' >> $output_dir/include/openssl/opensslconf.h
    echo '#endif' >> $output_dir/include/openssl/opensslconf.h
elif [[ "$1" == "clean" ]]; then
    if [ $# -ne 2 ]; then
        echo "usage:"
        echo "    ./build.sh build [source_dir]"
        exit 0
    fi
    cd $2
    make clean
fi

三、编译

usage:
    ./build_openssl.sh make    [source_dir]
    ./build_openssl.sh install [source_dir] [output_dir]
    ./build_openssl.sh clean   [source_dir]
example:
    build_openssl.sh make openssl-OpenSSL_0_9_8g
    build_openssl.sh install openssl-OpenSSL_0_9_8g openssl-0.9.8
    build_openssl.sh clean openssl-OpenSSL_0_9_8g

 

标签:OpenSSL.0,openssl,echo,9.8,build,Linux,output,include,dir
From: https://www.cnblogs.com/dongc/p/16634418.html

相关文章

  • Linux驱动开发十六.input系统——3.系统自带的input驱动
    前面两章我们通过input子系统构建了一个按键类型的输入设备的驱动,其实Linux的内核还提供了一套基于GPIO的按键驱动程序,和LED设备一样,我们只需要在编译内核的过程中进行配置......
  • Linux学习笔记3——vi和vim编辑器
    Linux学习笔记3——vi和vim编辑器一、vi和vim编辑器:vi和vim是Linux中的文本编辑器,用来在Linux中创建、查看或编辑文本文件,就好像window系统的记事本一样,但是不能查看图片......
  • Linux学习笔记2——目录结构
    Linux学习笔记2——目录结构一、Linux的目录结构:Linux只有一个根目录:/层级式的目录结构:1)root:该目录为系统管理员目录,root是具有超级权限的用户。2)bin->usr/bin:存放系......
  • Linux Kernel in a Nutshell - 7
    CustomizingaKernel原文链接我的博客以·问题·做关键字搜索,还有问题构建你自己的Linux内核版本最困难的部分,应该就是确定哪一个驱动以及配置选项是你的设备需要的......
  • Linux Kernel in a Nutshell - 8
    KernelConfigurationRecipes原文链接我的博客前面介绍了重新配置内核的机制,本章介绍制作自己的内核通常会遇到的那些问题,并给出对应指令来处理它。DisksLinux内核......
  • Linux修改主机静态IP
    通过VIM编辑器打开主机配置文件夹vim/etc/sysconfig/network-scripts/ifcfg-ens33修改IP地址为静态地址BOOTPROTO="static"添加静态IP地址和网关IP地址......
  • Linux上安装并启动tomcat
    1、下载tomcat安装包官网链接:https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.57/bin/一般选择 2、将tomcat上传到Linux服务器网上有很多文件传输工具,我使用......
  • 2.Linux相关基础操作
    1.用户操作1.添加用户useraddaaa2.指定目录useradd-d/home/aaaaaa3.删除用户userdelaa4.删除用户及目录userdel-raaa5.查看用户信息idaa6.切换用户su......
  • 3.Linux更新数据源
    在一个没有安装vim等命令的Linux环境中,没办法更新数据源,没办法软件的安装等的解决方案:编辑数据源vi/etc/apt/sources.list删除全部内容并修改为debhttp://mirrors......
  • Linux上安装jdk 1.8
    1、下载jdk1.8这里贴个oracle官网链接 https://www.oracle.com/java/technologies/downloads/ 里面的jdk版本基本都有2、将压缩包上传到Linux服务器中我使用的是wi......