mirror of
https://github.com/hinto-janai/cuprate.git
synced 2024-12-23 12:09:57 +00:00
2ac90420c6
* cryptonight: include homebrew directories * test-utils: add arm macos to `monerod` downloader * ci: install windows-gnu
52 lines
1.8 KiB
Rust
52 lines
1.8 KiB
Rust
extern crate cc;
|
||
|
||
use std::env;
|
||
|
||
use cc::Build;
|
||
|
||
fn main() {
|
||
let mut cfg = Build::new();
|
||
cfg.include("c")
|
||
.file("c/aesb.c")
|
||
.file("c/blake256.c")
|
||
.file("c/groestl.c")
|
||
.file("c/hash-extra-blake.c")
|
||
.file("c/hash-extra-groestl.c")
|
||
.file("c/hash-extra-jh.c")
|
||
.file("c/hash-extra-skein.c")
|
||
.file("c/hash.c")
|
||
.file("c/jh.c")
|
||
.file("c/keccak.c")
|
||
.file("c/oaes_lib.c")
|
||
.file("c/skein.c")
|
||
.file("c/memwipe.c")
|
||
.file("c/slow-hash.c")
|
||
.file("c/CryptonightR_JIT.c")
|
||
.flag_if_supported("-fexceptions")
|
||
// c/oaes_lib.c: In function ‘oaes_get_seed’:
|
||
// c/oaes_lib.c:515:9: warning: ‘ftime’ is deprecated: Use gettimeofday or clock_gettime instead [-Wdeprecated-declarations]
|
||
// 515 | ftime (&timer);
|
||
// | ^~~~~
|
||
// In file included from c/oaes_lib.c:45:
|
||
// /usr/include/sys/timeb.h:29:12: note: declared here
|
||
// 29 | extern int ftime (struct timeb *__timebuf)
|
||
// | ^~~~~
|
||
// This flag doesn't work on MSVC and breaks CI.
|
||
.flag_if_supported("-Wno-deprecated-declarations")
|
||
// `#include <boost>` isn't found without this in macOS CI.
|
||
// <https://github.com/Cuprate/cuprate/pull/116>
|
||
.flag_if_supported("-I/opt/homebrew/include");
|
||
|
||
// Optimization flags are automatically added.
|
||
// https://docs.rs/cc/latest/cc/struct.Build.html#method.opt_level
|
||
|
||
let target = env::var("TARGET").unwrap();
|
||
if target.contains("x86_64") {
|
||
// FIXME: what are the equivalent flags for MSVC?
|
||
cfg.file("c/CryptonightR_template.S")
|
||
.flag_if_supported("-maes")
|
||
.flag_if_supported("-msse2");
|
||
}
|
||
|
||
cfg.compile("cryptonight")
|
||
}
|