zoukankan      html  css  js  c++  java
  • linux手动编译llvm/clang

    • centos 7 安装前置依赖
    sudo yum install git python-devel libffi-devel graphviz-devel elfutils-libelf-devel 
      readline-devel libedit-devel libxml2-devel protobuf-devel gtext-devel doxygen swig
    sudo yum install -y centos-release-scl scl-utils-build
    sudo yum install -y devtoolset-9 
    source /opt/rh/devtoolset-9/enable
    export CC=/opt/rh/devtoolset-9/root/bin/gcc
    export CXX=/opt/rh/devtoolset-9/root/bin/g++
    
    wget https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0.tar.gz
    tar xzvf cmake-3.20.0.tar.gz
    cd cmake-3.20.0
    ./bootstrap --prefix=/usr/local
    make -j8
    sudo make install
    
    • ubuntu 18.04+ 安装前置依赖
    sudo apt install git build-essential cmake python3-dev libncurses5-dev libxml2-dev 
      libedit-dev swig doxygen graphviz xz-utils
    
    • 下载&编译
    git clone git@github.com:llvm/llvm-project.git -b release/11.x
    cd llvm-project && mkdir build && cd build
    cmake -G "Unix Makefiles" ../llvm -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local 
      -DLLVM_ENABLE_PROJECTS="clang;" -DLLVM_TARGETS_TO_BUILD="AArch64;X86;"
    make -j8
    sudo make install
    

    如果只要编译clang,在cmake命令添加定义 -DLLVM_ENABLE_PROJECTS=clang;
    LLVM_ENABLE_PROJECTS可用的项目有
    clang;clang-tools-extra;compiler-rt;debuginfo-tests;libc;libclc;libcxx;libcxxabi;libunwind;lld;lldb;mlir;openmp;parallel-libs;polly;pstl

    默认会编译所有平台,可以通过LLVM_TARGETS_TO_BUILD指定平台,可用平台有AArch64, AMDGPU, ARM, BPF, Hexagon, Mips, MSP430, NVPTX, PowerPC, Sparc, SystemZ, X86, XCore

    我最擅长从零开始创造世界,所以从来不怕失败,它最多也就让我一无所有。
  • 相关阅读:
    前言
    上传图片
    创建数据库
    HttpPostedFile类的使用方法
    C#中virtual和abstract的区别
    C#中new的用法,及与override的区别
    jQuery使用clone克隆元素
    JavaScript使用delete删除属性
    Docker的简单使用
    低版本SqlServer将查询结果转成JSON字符串
  • 原文地址:https://www.cnblogs.com/flying_bat/p/14588564.html
Copyright © 2011-2022 走看看