Ubuntu18.04 安装方舟编译器及测试笔记
一、将方舟编译器的源码下载保存到需要安装的目录并解压文件。
下载地址:https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler/home
二、环境配置
1)、硬件推荐配置
2 GHz 双核处理器或者更高等级CPU
2 GB 系统内存及以上
200GB 可用磁盘空间
2)、开发环境推荐
您需要安装一个64位版本的Ubuntu18.04
sudo 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
LLVM下载地址:http://releases.llvm.org/download.html#8.0.0
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
*注意此处需要下载两个文件包:
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 库
下载地址如下:https://gitee.com/mirrors/java-core
在${MAPLE_ROOT}方舟编译器源码所放的根目录下mkdir创建libjava-core目录,并将下载的java-core.jar 库放到此目录下。
6)、进入samples/helloworld目录下
make 就可以了,没有报什么错误,并且在本目录下生成了一些必要的文件了。
- 点赞
- 收藏
- 关注作者
评论(0)