hacl: build system for 32 bits architecture
This commit is contained in:
parent
e1cdd69b8b
commit
3ff99dfba3
1
vendors/ocaml-hacl/readme.md
vendored
1
vendors/ocaml-hacl/readme.md
vendored
@ -1,2 +1,3 @@
|
||||
Tezos binding for Hacl*
|
||||
https://github.com/mitls/hacl-star/tree/master/snapshots/tezos
|
||||
commit b69319a0d3b71af8042f487d6a5bac8101edf2d0
|
||||
|
11
vendors/ocaml-hacl/src/config/discover.ml
vendored
Normal file
11
vendors/ocaml-hacl/src/config/discover.ml
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
let () =
|
||||
(* inspired by https://github.com/vbmithr/ocaml-secp256k1-internal/blob/master/config/discover.ml *)
|
||||
let ccopts = "-Ofast -march=native -mtune=native -m64 -fwrapv -fomit-frame-pointer -funroll-loops -Wall -Werror -Wfatal-errors" in
|
||||
(* the important bit is -DKRML_NOUINT128 which enables the verified (but slow) implementation of UInt128 in FStar.c rather than the builtin __int128 which is only available on 64-bit platforms. *)
|
||||
let ccopts32 = "-Ofast -fwrapv -fomit-frame-pointer -funroll-loops -DKRML_NOUINT128 -Wall -Werror -Wfatal-errors" in
|
||||
|
||||
let oc = open_out "c_flags.sexp" in
|
||||
let sixtyfour = Sys.word_size = 64 in
|
||||
let flags = if sixtyfour then ccopts else ccopts32 in
|
||||
Printf.fprintf oc "(%s)%!" flags ;
|
||||
close_out oc
|
5
vendors/ocaml-hacl/src/config/jbuild
vendored
Normal file
5
vendors/ocaml-hacl/src/config/jbuild
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
(jbuild_version 1)
|
||||
|
||||
(executable
|
||||
((name discover)
|
||||
(libraries (base stdio))))
|
8
vendors/ocaml-hacl/src/jbuild
vendored
8
vendors/ocaml-hacl/src/jbuild
vendored
@ -22,5 +22,11 @@
|
||||
Hacl_Salsa20
|
||||
NaCl
|
||||
Hacl_Unverified_Random))
|
||||
(c_flags (-O3 -Wall -Werror -Wfatal-errors))
|
||||
(c_flags (:include c_flags.sexp))
|
||||
))
|
||||
|
||||
; sets flags for 32/64 bits architectures
|
||||
(rule
|
||||
((targets (c_flags.sexp))
|
||||
(deps (config/discover.exe))
|
||||
(action (run ${<} -ocamlc ${OCAMLC}))))
|
||||
|
Loading…
Reference in New Issue
Block a user