forked from iree-org/iree
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes iree-org#95 COPYBARA_INTEGRATE_REVIEW=iree-org#95 from stellaraccident:linux_quickstart f520988 PiperOrigin-RevId: 276340891
- Loading branch information
1 parent
8ec89f9
commit 9fb164c
Showing
3 changed files
with
110 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
# Getting Started on Linux | ||
|
||
There are many Linux variants. This document provides project-specific | ||
requirements for setting up your environment and should be relatively | ||
translatable. It was written for a relatively recent, Debian-derived | ||
distribution. If you have issues on other systems, we accept issues or additions | ||
to the documentation. | ||
|
||
## Pre-requisites | ||
|
||
### Install Bazel >= 1.0 | ||
|
||
*Optional if you will only be using the CMake build for runtime deps.* | ||
|
||
Follow the | ||
[install instructions](https://docs.bazel.build/versions/master/install-ubuntu.html) | ||
and verify with: `bazel --version`. | ||
|
||
### Install clang | ||
|
||
``` | ||
sudo apt install clang | ||
``` | ||
|
||
Verify version with `clang++ -v`. We have verified with the following versions: | ||
|
||
* 6.0.1 | ||
|
||
### Install python, pip and dependencies | ||
|
||
Install python (note that if, on your distribution, python3 is the only option, | ||
you may be able to drop the "3"). | ||
|
||
``` | ||
sudo apt install python3 pip3 | ||
``` | ||
|
||
Verify python version with `python3 -V`. We have tested with >= 3.6. Some | ||
optional integrations (such as TensorFlow/Python may have more stringent | ||
requirements). | ||
|
||
Install packages: | ||
|
||
``` | ||
sudo pip3 install numpy | ||
``` | ||
|
||
## Building with Bazel | ||
|
||
We support both Bazel and CMake, however, the Bazel build covers more parts of | ||
the system (tests, integrations, bindings, etc) whereas (currently) CMake is | ||
maintained for the runtime components (which will be consumed by other | ||
projects). This section covers building with Bazel. | ||
|
||
### Environment variables | ||
|
||
The following environment variables must be set. | ||
|
||
```shell | ||
export CXX=clang++ | ||
export CC=clang | ||
export PYTHON_BIN="$(which python3)" | ||
``` | ||
|
||
### Optional: Setup user config aliases | ||
|
||
You can create a `user.bazelrc` in the repository root with extra bazel configs | ||
that may be useful. We usually have something like this (make sure to make | ||
replacements as needed): | ||
|
||
``` | ||
build --disk_cache=/REPLACE/WITH/CACHE/DIR --experimental_guard_against_concurrent_changes | ||
build:debug --compilation_mode=dbg --copt=-O2 --per_file_copt=iree@-O0 --strip=never | ||
``` | ||
|
||
### Build | ||
|
||
```shell | ||
# Run all tests (as of Oct-23-2019, all tests build but some still fail in the | ||
# OSS version). | ||
bazel test -k iree/... test/... bindings/python/... | ||
|
||
# Or build with optimizations disabled (just for IREE, not for deps) and | ||
# debug symbols retained. This assumes you have an alias like above setup): | ||
bazel test --config=debug bindings/python/... | ||
``` | ||
|
||
In general, build artifacts will be under the `bazel-bin` directory at the top | ||
level. | ||
|
||
## Building with CMake | ||
|
||
TODO |