Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 42 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ What you need to build and install.
git
cmake (>= 3.10)
c++ 17 compatible compiler (gcc >= 8, Ubuntu: g++-8)
boost development headers (for restbed) (Ubuntu: libboost-dev)
boost development headers (for restbed) (Ubuntu: libboost-dev,
probably also libboost-system-dev and libboost-thread-dev; if not, libboost-all-dev)
libcurl (Ubuntu: libcurl4-openssl-dev)
openssl (Ubuntu: libssl-dev)
gmp (Ubuntu: libgmp-dev)
Expand All @@ -44,7 +45,7 @@ more submodules than necessary.

### Build

#### OpenSSL (only on Arch)
#### Static OpenSSL (only on Arch, or later Debian/Ubuntu versions)

As mentioned above, on Arch you may need to manually compile (static) openssl
libs:
Expand All @@ -68,6 +69,44 @@ make -j$(nproc) sel
Omit or customize `-j` if you don't want to build in parallel with the maximum
amount of threads available on your system.

### Alternative Build intructionis (WIP)

#### Other steps (WIP)

##### MIRACL

```
cd extern/ABY/extern/ENCRYPTO_utils/extern/MIRACL
cmake .
make
```

##### Force-Updating all submodules
```
git submodule update --init --force
```

```
% more scripts/init_submodules.sh
#!/bin/sh

echo Switching to repo toplevel directory
set -x -e
cd $(git rev-parse --show-toplevel)

git submodule update --init

cd extern/restbed
git submodule update --init

cd ../ABY
git submodule update --init # ENCRYPTO_utils and OTExtension
cd extern/ENCRYPTO_utils
git submodule update --init # MIRACL

```


### Running

The default server configuration logs to `../log/`, so create that directory in the
Expand Down Expand Up @@ -195,7 +234,7 @@ Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduc

## Versioning

We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://git.compbiol.bio.tu-darmstadt.de/kussel/secure_epilink/tags).
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://git.compbiol.bio.tu-darmstadt.de/kussel/secure_epilink/tags).

## Authors

Expand All @@ -211,4 +250,3 @@ This project is licensed under the AGPL License - see the [LICENSE](LICENSE) fil

* Thanks to [Lennart Braun](https://github.com/lenerd/ABY-build) for a sane ABY build process
* This work has been supported by the German Federal Ministry of Education and Research (BMBF) and by the Hessian State Ministry for Higher Education, Research and the Arts (HMWK) within the [HiGHmed Consortium](http://www.highmed.org) and [CRISP](http://www.crisp-da.de).

2 changes: 2 additions & 0 deletions extern/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ execute_process(COMMAND
"${PROJECT_SOURCE_DIR}/cmake/patch-valijson.sh"
"${PROJECT_SOURCE_DIR}/extern/valijson")

# First add all subdirectories
add_subdirectory(ABY)
add_subdirectory(fmt)
add_subdirectory(cxxopts)
Expand All @@ -22,6 +23,7 @@ add_subdirectory(restbed EXCLUDE_FROM_ALL)
add_subdirectory(curlpp EXCLUDE_FROM_ALL)
add_subdirectory(spdlog EXCLUDE_FROM_ALL)

# Then set compile options
target_compile_options(aby PRIVATE "-w")
target_compile_options(encrypto_utils PRIVATE "-w")
target_compile_options(otextension PRIVATE "-w")
Expand Down
2 changes: 1 addition & 1 deletion scripts/init_submodules.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ cd $(git rev-parse --show-toplevel)
git submodule update --init

cd extern/restbed
git submodule update --init dependency/asio dependency/catch # ignore openssl
git submodule update --init

cd ../ABY
git submodule update --init # ENCRYPTO_utils and OTExtension
Expand Down