Skip to content

Commit b559064

Browse files
committed
Initial commit message
0 parents  commit b559064

40 files changed

+6159
-0
lines changed

.gitignore

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
graph-imports/data/*
2+
graph-imports/bc/*
3+
graph-imports/*.csv
4+
graph-imports/*.sql
5+
graph-imports/*.report
6+
simple_test/target
7+
.idea
8+
docker/db/*
9+
docker/db/logs/*
10+
docker/db/data/*
11+
docker/db/plugins/*
12+
13+
# Generated by Cargo
14+
# will have compiled files and executables
15+
debug/
16+
target/
17+
18+
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
19+
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
20+
Cargo.lock
21+
22+
# These are backup files generated by rustfmt
23+
**/*.rs.bk
24+
25+
# MSVC Windows builds of rustc generate these, which store debugging information
26+
*.pdb
27+
28+
scratch

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[submodule "llvm-ir-analysis"]
2+
path = llvm-ir-analysis
3+
url = https://github.com/walterhpearce/llvm-ir-analysis
4+
[submodule "llvm-ir"]
5+
path = llvm-ir
6+
url = https://github.com/walterhpearce/llvm-ir

BUILDING.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Requirements
2+
3+
- Rust nightly (2013-07-26)
4+
- Rust 1.60 toolchain
5+
- LLVM 14.x
6+
- Docker
7+
8+
# Installing Rust toolchains
9+
Note that we require using nightly for some features, *as well as* having rustc 1.60 installed for analysis. This means
10+
you'll need to install two rust toolchains.
11+
12+
```
13+
rustup toolchain install nightly
14+
rustup toolchain install 1.60
15+
```
16+
17+
# Building and using LLVM
18+
19+
Different environments will run into issues with the local version of llvm. Using painter requires llvm 14.x to be installed
20+
for the current version of `rustc` we operate with (1.60). If painter does not work with your OS version of LLVM,
21+
you may need to build a local vendored copy of LLVM to use.
22+
23+
Assumed Example Build Directory Layout
24+
```
25+
/tmp/llvm14-src
26+
/tmp/llvm14-bin
27+
/tmp/llvm14-build
28+
```
29+
30+
*Building and Installing LLVM*
31+
```
32+
cd /tmp
33+
git clone --depth=1 -b release/14.x https://github.com/llvm/llvm-project.git llvm14-src
34+
mkdir llvm14-build && mkdir llvm14-bin
35+
pushd llvm14-build
36+
cmake ../llvm14-src/llvm
37+
cmake --build .
38+
cmake -DCMAKE_INSTALL_PREFIX=../llvm14-bin -P cmake_install.cmake
39+
popd
40+
```
41+
42+
## Build Painter
43+
44+
Once you have a local built copy of LLVM, you'll need to specify the location of the installation via
45+
the `LLVM_SYS_140_PREFIX` environment variable.
46+
47+
```
48+
git clone --recurse-submodules https://github.com/rustfoundation/painter
49+
cd painter
50+
LLVM_SYS_140_PREFIX=/tmp/llvm14-bin cargo build
51+
```

CODE_OF_CONDUCT.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# [Code of Conduct](code-of-conduct)
2+
3+
The Rust Foundation has adopted a Code of Conduct that we expect project
4+
participants to adhere to. Please read
5+
[the full text][code-of-conduct]
6+
so that you can understand what actions will and will not be tolerated.
7+
8+
[code-of-conduct]: https://foundation.rust-lang.org/policies/code-of-conduct/

CONTRIBUTING.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Contributing to a Rust Foundation Project
2+
3+
Thank you for your interest in contributing to this Rust Foundation project.
4+
We are happy and excited to review and accept your pull requests.
5+
6+
## Before You Begin Contributing
7+
8+
### Licenses
9+
10+
There is no Contributor License Agreement to sign to contribute this project.
11+
Your contribution will be covered by the license(s) granted for this
12+
repository, commonly MIT, Apache, and/or CC-BY, but could be a different
13+
license. In other words, your contribution will be licensed to the Foundation
14+
and all downstream users under those licenses. You can read more in the
15+
Foundation's [intellectual property policy][ip-policy].
16+
17+
### Code of Conduct
18+
19+
Please review and adhere to the [code of conduct](CODE_OF_CONDUCT.md) before
20+
contributing any pull requests.
21+
22+
## Contribution Process
23+
24+
All submissions, including submissions by project members, require review. We
25+
use GitHub pull requests for this purpose. Consult [GitHub Help][pull-requests]
26+
for more information on using pull requests.
27+
28+
### Issues
29+
30+
Do you just want to file an issue for the project? Please do so in GitHub under
31+
the `Issues` tab.
32+
33+
[ip-policy]: https://foundation.rust-lang.org/policies/intellectual-property-policy/
34+
[pull-requests]: https://help.github.com/articles/about-pull-requests/

COPYRIGHT

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
This project is dual licensed under Apache 2.0 and MIT terms with the exception
2+
of documentation (e.g., `.md` docs in a `/docs` folder) which is licensed under
3+
Creative Commons Attribution 4.0 International.
4+
5+
Copyrights in a Rust Foundation project are retained by their contributors. No
6+
copyright assignment is required to contribute to the Rust project.
7+
8+
While not the default, some files may include explicit copyright notices
9+
and/or license notices.
10+
11+
Except as otherwise noted (e.g., with documentation), Rust is licensed under the
12+
Apache License, Version 2.0 <LICENSE-APACHE> or
13+
<http://www.apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT> or
14+
<http://opensource.org/licenses/MIT>, at your option.

0 commit comments

Comments
 (0)