方舟编译器编译linux,Ubuntu18.04 安装方舟编译器及测试笔记

一、将方舟编译器的源码下载保存到需要安装的目录并解压文件。

二、环境配置

1)、硬件推荐配置2 GHz 双核处理器或者更高等级CPU

2 GB 系统内存及以上

200GB 可用磁盘空间

2)、开发环境推荐

您需要安装一个64位版本的Ubuntu18.04sudo apt-get -y install openjdk-8-jdk git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip lib32z1-dev qemu g++-multilib gcc-multilib libglib2.0-dev libpixman-1-dev linux-libc-dev:i386

sudo apt-get -y install gcc-5-aarch64-linux-gnu g++-5-aarch64-linux-gnu

3)、安装Clang编译器并完成配置(用于编译方舟编译器代码)

1、下载clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04

a585fc0550a9e41539b97055fc8e3b7f.png

2、放置到openarkcompiler/tools目录,打开openarkcompiler/build/config/BUILDCONFIG.gn文件,将GN_C_COMPILER、GN_CXX_COMPILER和GN_AR_COMPILER三个变量配置为Clang编译器所在路径,例如:GN_C_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang"

GN_CXX_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang++"

GN_AR_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/llvm-ar"

其中${MAPLE_ROOT}为方舟编译器源码所放的根目录

4)、安装Ninja、GN并完成配置

1、下载Ninja(v1.9.0)及GN(Linux Version)Ninja下载地址:https://github.com/ninja-build/ninja/releases

*注意此处需要下载两个文件包:

1162fc562be18448345b7a256b0f8a2a.png

2、将资源文件解压放置到openarkcompiler/tools目录下,修改解压后的文件夹名称问:ninja_1.9.0

将GN可执行程序放置到openarkcompiler/tools/gn/目录;

将Ninja可执行程序放置到openarkcompiler/tools/ninja_1.9.0/目录;

打开openarkcompiler/Makefile文件,将GN和NINJA两个变量配置为GN和Ninja可执行程序所在路径。例如:GN := ${MAPLE_ROOT}/tools/gn/gn

NINJA := ${MAPLE_ROOT}/tools/ninja_1.9.0/ninja

*注意修改gn和ninja的可执行权限

5)、源码编译

在openarkcompiler目录下执行以下命令,编译出OpenArkCompiler,默认输出路径 openarkcompiler/out/bin。source build/envsetup.sh

make命令说明:

source build/envsetup.sh 初始化环境,将OpenArkCompiler工具链路径openarkcompiler/src/bin设置到环境变量中

make 编译OpenArkCompiler的Release版本

make BUILD_TYPE=DEBUG 编译OpenArkCompiler的Debug版本

*注:执行命令source build/envsetup.sh之前请查看envsetup.sh是否有可执行权限,若没有则需要添加可执行权限。chmod +x build/envsetup.sh

经过以上操作后,系统就编译好了maple了。

三、开始编译测试代码

要编译成功samples 下的helloworld.java  还需要做如下修改

1)、修改 build/core/java2jar.mk 为如下代码(注:修改前请先备份)$(APP_JAR): %.jar : %.java

$(JAVA2JAR) $(APP_JAR)  $(wildcard *.java)

也就是将里面的${MAPLE_ROOT}/libjava-core/java-core.jar

删除,让它不依赖于这个输入文件

2)、修改 build/core/jbc2mpl.mk 为如下代码(注:修改前请先备份)$(APP_MPL): %.mpl : %.jar $(JBC2MPL_BIN)

$(JBC2MPL_BIN) -injar ${MAPLE_ROOT}/libjava-core/java-core.jar -injar $(APP_JAR) -out $(APP)

用java-core.jar 替换 libjava-core.mplt 也就是$(LIB_MPLT)

3)、修改out/bin/java2jar 为如下代码#!/bin/bash

OUTPUT=$1

CORE_ALL_JAR=$2

JAVA_FILE=$2

shift 2

javac -g -d . ${JAVA_FILE}

#javac -g -d . -bootclasspath ${CORE_ALL_JAR} $@

jar -cvf ${OUTPUT} *.class

4)、修改src/bin/java2jar 为如下代码#!/bin/bash

OUTPUT=$1

CORE_ALL_JAR=$2

JAVA_FILE=$2

shift 2

javac -g -d . ${JAVA_FILE}

#javac -g -d . -bootclasspath ${CORE_ALL_JAR} $@

jar -cvf ${OUTPUT} *.class

5)、  最后需要下载我们一直在讨论的java-core.jar 库

在${MAPLE_ROOT}方舟编译器源码所放的根目录下mkdir创建libjava-core目录,并将下载的java-core.jar 库放到此目录下。

6)、进入samples/helloworld目录下

make 就可以了,没有报什么错误,并且在本目录下生成了一些必要的文件了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值