# Copyright (C)  Futurewei Technologies, Inc. All rights reverved. # # Licensed under the Mulan Permissive Software License v2. # You can use this software according to the terms and conditions of the MulanPSL - 2.0. # You may obtain a copy of MulanPSL - 2.0 at: # # https://opensource.org/licenses/MulanPSL-2.0 # # THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR # FIT FOR A PARTICULAR PURPOSE. # See the MulanPSL - 2.0 for more details.
Let MAPLE_ROOT be the top directory for mapleall repository.
The directory structure as follows:
$MAPLE_ROOT README.md : this file Copyright : Copyright file license : Mulan license file doc : MapleIR documentation : tutorial & FAQ mapleall : maple compiler source maple_engine : maple engine opcode header file bin/ast2mpl : C frontend: clangAST to MapleIR tools : ninja, gn and clangfe for C frontend : downloaded by setup_tools.sh Makefile : makefile build : environment set up and build files BUILD.gn : gn build file bin : maple executables during make install out : created during make
source envsetup.shTARGET VERSION
source envsetup.sh arm release
source envsetup.sh engine release
source envsetup.sh ark release
source envsetup.sh riscv release
maple excutables are in $MAPLE_ROOT/bin directory
refer to examples/ for C language examples
refer to maple_engine git repository for java2asm.sh and asm2so.sh scripts
Please find step by step instructions to build Maple and run examples in the tutorial.md.
If we want to build Maple for RISC-V, please follow the instructions to prepare QEMU cross-compilation and execution environment.
You might need to install required packages like:
sudo apt-get install clang sudo apt-get install libelf-dev sudo apt-get install libssl-dev
Please refer to the FAQ page for anwswers to more questions and issues.
：Code submit frequency
：React/respond to issue & PR etc.
：Well-balanced team members and collaboration
：Recent popularity of project
：Star counts, download counts etc.