llvm/flang
2018-05-03 14:54:53 +02:00
..
documentation [flang] Add copyright notices. 2018-05-01 12:50:34 -07:00
include/flang [flang] Add copyright notices. 2018-05-01 12:50:34 -07:00
lib [flang] Manual backport of sch_llvm branch 2018-05-03 14:54:53 +02:00
test/semantics [flang] Add copyright notices. 2018-05-01 12:50:34 -07:00
tools [flang] Manual backport of sch_llvm branch 2018-05-03 14:54:53 +02:00
.clang-format [flang] Improve include file sorting. 2018-04-12 12:23:20 -07:00
.gitignore [flang] Add MinSizeRel to .gitignore. 2018-03-29 11:19:37 -07:00
CMakeLists.txt [flang] Manual backport of sch_llvm branch 2018-05-03 14:54:53 +02:00
README.md [flang] Manual backport of sch_llvm branch 2018-05-03 14:54:53 +02:00

f18

Selection of the C/C++ compiler

F18 requires a C++17 compiler. As of today, the code was only tested with g++ 7.2.0 and g++ 7.3.0

For a proper installation, we assume that the PATH and LD_LIBRARY_PATH environment variables are properly set to use gcc, g++ and the associated libraries.

cmake will require that the environement variables CC and CXX are properly set (else it will search for use the 'cc' and 'c++' program which are likely /usr/bin/cc and /usr/bin/c++) that can be done now or while calling cmake

export CC=gcc
export CXX=g++

Installation of LLVM 6.0

############ Extract LLVM and Clang from git in current directory. 
############ 

ROOT=$(pwd)
REL=release_60

# To build LLVM and Clang, we only need the head of the requested branch. 
# Remove --single-branch --depth=1 if you want access to the whole git history. 

git clone --branch $REL --single-branch --depth=1 https://git.llvm.org/git/llvm.git/       llvm
git clone --branch $REL --single-branch --depth=1 https://git.llvm.org/git/clang.git/      llvm/tools/clang
git clone --branch $REL --single-branch --depth=1 https://git.llvm.org/git/openmp.git/     llvm/projects/openmp
git clone --branch $REL --single-branch --depth=1 https://git.llvm.org/git/libcxx.git/     llvm/projects/libcxx
git clone --branch $REL --single-branch --depth=1 https://git.llvm.org/git/libcxxabi.git/  llvm/projects/libcxxabi

###########  Build LLVM & CLANG in $LLVM_PREFIX 

LLVM_PREFIX=... 
mkdir $LLVM_PREFIX

mkdir $ROOT/llvm/build
cd  $ROOT/llvm/build 
CC=gcc CXX+g++ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$LLVM_PREFIX ..
make -j 4
make install

Installation of F18

######## Choose the installation directory

F18_PREFIX=...   

######## Get Flang sources in $ROOT/f18
cd $ROOT
git clone https://github.com/ThePortlandGroup/f18.git

######## And build it in a dedicated directory
######## Reminder: If LLVM & Clang where not installed in a standard 
########           location then you may also have to define
########           CMAKE_MODULE_PATH=$LLVM_PREFIX  
mkdir $ROOT/f18-build
cd $ROOT/f18-build   
CC=gcc CXX=g++ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$F18_PREFIX $ROOT/f18
make -j 4
make install