• ubuntu kylin 14.04编译openjdk-7u40


    1.ubuntu kylin 14.04安装依赖

    sudo apt-get install build-essential gawk m4 libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev x11proto-print-dev binutils libmotif3 libmotif-dev

    2.下载编译软件

    1)Bootstrop JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html -->Java SE 7u55

    2)Ant: http://ant.apache.org/bindownload.cgi --> apache-ant-1.9.3-bin.zip

    3)OpenJDK:https://jdk7.java.net/source.html --> openjdk-7u40-fcs-src-b43-26_aug_2013.zip

    3.配置环境变量

    vim /etc/profile

    export JAVA_HOME=/opt/jdk1.7.0_55
    export ANT_HOME=/opt/apache-ant-1.9.3
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
    PATH=$ANT_HOME/bin:$JAVA_HOME/bin:$PATH
    export PATH CLASSPATH

    source /etc/profile

    4.准备编译脚本build.sh,并放在OpenJDK根目录下

    #!/bin/bash
    #设置语言
    export LANG=C
    export ALT_BOOTDIR=/opt/jdk1.7.0_55

    #允许自动下载依赖包
    export ALLOW_DOWNLOADS=true

    #并行编译的线程数,设置为和CPU内核数量一直即可
    export HOTSPOT_BUILD_JOBS=6
    export ALT_PARALLEL_COMPILE_JOBS=6

    #使用预编译头文件,不加这个编译会更慢
    export USE_PRECOMPILED_HEADER=true

    #要编译的内容
    export BUILD_LANGTOOLS=true
    export BUILD_JAXP=true
    export BUILD_JAXWS=true
    export BUILD_CORBA=true
    export BUILD_HOSTPOT=true
    export BUILD_JDK=true

    #要编译的版本
    export SKIP_DEBUG_BUILD=false
    export SKIP_FASTDEBUG_BUILD=true
    export DEBUG_NAME=debug

    #把它设置为FALSE可以避免javaws和浏览器Java插件之类的部分build
    BUILD_DEPLOY=false

    #把它设置为false就不会build出安装包。因为安装包里有一些奇怪的依赖
    #但即便不build出它也已经得到完整的JDK镜像,所以还是不用build它
    BUILD_INSTALL=false

    #存放编译结果
    export ALT_OUTPUTDIR=/usr/cao/openjdk/build

    unset CLASSPATH
    unset JAVA_HOME
    #make sanity && make
    make 2>&1 | tee $ALT_OUTPUTDIR/build.log

    5.修改build.sh执行权限并进行编译

    chmod +x build.sh

    ./build.sh

    最后编译结果如下,由于一开始未开启多线程编译,所以时间略长,仅供参考

    #-- Build times ----------
    Target debug_build
    Start 2014-05-05 22:30:35
    End   2014-05-05 22:44:20
    00:01:02 corba
    00:04:51 hotspot
    00:00:13 jaxp
    00:00:14 jaxws
    00:07:00 jdk
    00:00:23 langtools
    00:13:45 TOTAL

    参考资料:

    《深入理解Java虚拟机》第二版第一章

    http://blog.csdn.net/myproudcodelife/article/details/24844427

  • 相关阅读:
    C++快速排序
    C++冒泡排序
    为什么Excel创建一个新的工作簿就会初始化三个worksheet
    为什么游戏需要英雄
    2015.11.18——Lua中文教程
    [国家集训队2012]JZPFAR
    后缀数组小结?
    [BZOJ 2738]矩阵乘法
    [BZOJ 3221][Codechef FEB13] Obserbing the tree树上询问
    [BZOJ 4999]This Problem Is Too Simple!
  • 原文地址:https://www.cnblogs.com/wihi/p/3710427.html
Copyright © 2020-2023  润新知