Skip to content

Commit

Permalink
zig: fix src abspath
Browse files Browse the repository at this point in the history
closes #3
  • Loading branch information
kassane committed Feb 28, 2024
1 parent 319bfa4 commit c05b7eb
Showing 1 changed file with 102 additions and 111 deletions.
213 changes: 102 additions & 111 deletions build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ pub fn build(b: *std.Build) void {
lib.addConfigHeader(config);
lib.addIncludePath(Path.relative(config.include_path));
lib.addIncludePath(Path.relative("wolfssl"));
lib.addIncludePath(.{ .path = sdkPath("/") });
lib.addIncludePath(.{ .path = "." });
lib.addCSourceFiles(.{ .files = wolfssl_sources, .flags = cflags });
lib.addCSourceFiles(.{ .files = wolfcrypt_sources, .flags = cflags });
lib.defineCMacro("TFM_TIMING_RESISTANT", null);
Expand Down Expand Up @@ -269,121 +269,112 @@ const cflags = &.{
};

const wolfssl_sources = &.{
sdkPath("/src/bio.c"),
sdkPath("/src/conf.c"),
sdkPath("/src/crl.c"),
sdkPath("/src/dtls.c"),
sdkPath("/src/dtls13.c"),
sdkPath("/src/internal.c"),
sdkPath("/src/keys.c"),
sdkPath("/src/ocsp.c"),
sdkPath("/src/pk.c"),
sdkPath("/src/quic.c"),
sdkPath("/src/sniffer.c"),
sdkPath("/src/ssl.c"),
sdkPath("/src/ssl_asn1.c"),
sdkPath("/src/ssl_bn.c"),
sdkPath("/src/ssl_misc.c"),
sdkPath("/src/tls.c"),
sdkPath("/src/tls13.c"),
sdkPath("/src/wolfio.c"),
sdkPath("/src/x509.c"),
sdkPath("/src/x509_str.c"),
"src/bio.c",
"src/conf.c",
"src/crl.c",
"src/dtls.c",
"src/dtls13.c",
"src/internal.c",
"src/keys.c",
"src/ocsp.c",
"src/pk.c",
"src/quic.c",
"src/sniffer.c",
"src/ssl.c",
"src/ssl_asn1.c",
"src/ssl_bn.c",
"src/ssl_misc.c",
"src/tls.c",
"src/tls13.c",
"src/wolfio.c",
"src/x509.c",
"src/x509_str.c",
};

const wolfcrypt_sources = &.{
sdkPath("/wolfcrypt/src/aes.c"),
sdkPath("/wolfcrypt/src/arc4.c"),
sdkPath("/wolfcrypt/src/asm.c"),
sdkPath("/wolfcrypt/src/asn.c"),
sdkPath("/wolfcrypt/src/blake2b.c"),
sdkPath("/wolfcrypt/src/blake2s.c"),
sdkPath("/wolfcrypt/src/camellia.c"),
sdkPath("/wolfcrypt/src/chacha.c"),
sdkPath("/wolfcrypt/src/chacha20_poly1305.c"),
sdkPath("/wolfcrypt/src/cmac.c"),
sdkPath("/wolfcrypt/src/coding.c"),
sdkPath("/wolfcrypt/src/compress.c"),
sdkPath("/wolfcrypt/src/cpuid.c"),
sdkPath("/wolfcrypt/src/cryptocb.c"),
sdkPath("/wolfcrypt/src/curve25519.c"),
sdkPath("/wolfcrypt/src/curve448.c"),
sdkPath("/wolfcrypt/src/des3.c"),
sdkPath("/wolfcrypt/src/dh.c"),
sdkPath("/wolfcrypt/src/dilithium.c"),
sdkPath("/wolfcrypt/src/dsa.c"),
sdkPath("/wolfcrypt/src/ecc.c"),
sdkPath("/wolfcrypt/src/ecc_fp.c"),
sdkPath("/wolfcrypt/src/eccsi.c"),
sdkPath("/wolfcrypt/src/ed25519.c"),
sdkPath("/wolfcrypt/src/ed448.c"),
sdkPath("/wolfcrypt/src/error.c"),
sdkPath("/wolfcrypt/src/evp.c"),
sdkPath("/wolfcrypt/src/ext_kyber.c"),
sdkPath("/wolfcrypt/src/falcon.c"),
sdkPath("/wolfcrypt/src/fe_448.c"),
sdkPath("/wolfcrypt/src/fe_low_mem.c"),
sdkPath("/wolfcrypt/src/fe_operations.c"),
sdkPath("/wolfcrypt/src/ge_448.c"),
sdkPath("/wolfcrypt/src/ge_low_mem.c"),
sdkPath("/wolfcrypt/src/ge_operations.c"),
sdkPath("/wolfcrypt/src/hash.c"),
sdkPath("/wolfcrypt/src/hmac.c"),
sdkPath("/wolfcrypt/src/hpke.c"),
sdkPath("/wolfcrypt/src/integer.c"),
sdkPath("/wolfcrypt/src/kdf.c"),
sdkPath("/wolfcrypt/src/logging.c"),
sdkPath("/wolfcrypt/src/md2.c"),
sdkPath("/wolfcrypt/src/md4.c"),
sdkPath("/wolfcrypt/src/md5.c"),
sdkPath("/wolfcrypt/src/memory.c"),
sdkPath("/wolfcrypt/src/misc.c"),
sdkPath("/wolfcrypt/src/pkcs12.c"),
sdkPath("/wolfcrypt/src/pkcs7.c"),
sdkPath("/wolfcrypt/src/poly1305.c"),
sdkPath("/wolfcrypt/src/pwdbased.c"),
sdkPath("/wolfcrypt/src/random.c"),
sdkPath("/wolfcrypt/src/rc2.c"),
sdkPath("/wolfcrypt/src/ripemd.c"),
sdkPath("/wolfcrypt/src/rsa.c"),
sdkPath("/wolfcrypt/src/sakke.c"),
sdkPath("/wolfcrypt/src/sha.c"),
sdkPath("/wolfcrypt/src/sha256.c"),
sdkPath("/wolfcrypt/src/sha3.c"),
sdkPath("/wolfcrypt/src/sha512.c"),
sdkPath("/wolfcrypt/src/signature.c"),
sdkPath("/wolfcrypt/src/siphash.c"),
sdkPath("/wolfcrypt/src/sp_arm32.c"),
sdkPath("/wolfcrypt/src/sp_arm64.c"),
sdkPath("/wolfcrypt/src/sp_armthumb.c"),
sdkPath("/wolfcrypt/src/sp_c32.c"),
sdkPath("/wolfcrypt/src/sp_c64.c"),
sdkPath("/wolfcrypt/src/sp_cortexm.c"),
sdkPath("/wolfcrypt/src/sp_dsp32.c"),
sdkPath("/wolfcrypt/src/sp_int.c"),
sdkPath("/wolfcrypt/src/sp_x86_64.c"),
sdkPath("/wolfcrypt/src/sphincs.c"),
sdkPath("/wolfcrypt/src/srp.c"),
sdkPath("/wolfcrypt/src/tfm.c"),
sdkPath("/wolfcrypt/src/wc_dsp.c"),
sdkPath("/wolfcrypt/src/wc_encrypt.c"),
sdkPath("/wolfcrypt/src/wc_kyber.c"),
sdkPath("/wolfcrypt/src/wc_kyber_poly.c"),
sdkPath("/wolfcrypt/src/wc_pkcs11.c"),
sdkPath("/wolfcrypt/src/wc_port.c"),
sdkPath("/wolfcrypt/src/wolfevent.c"),
sdkPath("/wolfcrypt/src/wolfmath.c"),
"wolfcrypt/src/aes.c",
"wolfcrypt/src/arc4.c",
"wolfcrypt/src/asm.c",
"wolfcrypt/src/asn.c",
"wolfcrypt/src/blake2b.c",
"wolfcrypt/src/blake2s.c",
"wolfcrypt/src/camellia.c",
"wolfcrypt/src/chacha.c",
"wolfcrypt/src/chacha20_poly1305.c",
"wolfcrypt/src/cmac.c",
"wolfcrypt/src/coding.c",
"wolfcrypt/src/compress.c",
"wolfcrypt/src/cpuid.c",
"wolfcrypt/src/cryptocb.c",
"wolfcrypt/src/curve25519.c",
"wolfcrypt/src/curve448.c",
"wolfcrypt/src/des3.c",
"wolfcrypt/src/dh.c",
"wolfcrypt/src/dilithium.c",
"wolfcrypt/src/dsa.c",
"wolfcrypt/src/ecc.c",
"wolfcrypt/src/ecc_fp.c",
"wolfcrypt/src/eccsi.c",
"wolfcrypt/src/ed25519.c",
"wolfcrypt/src/ed448.c",
"wolfcrypt/src/error.c",
"wolfcrypt/src/evp.c",
"wolfcrypt/src/ext_kyber.c",
"wolfcrypt/src/falcon.c",
"wolfcrypt/src/fe_448.c",
"wolfcrypt/src/fe_low_mem.c",
"wolfcrypt/src/fe_operations.c",
"wolfcrypt/src/ge_448.c",
"wolfcrypt/src/ge_low_mem.c",
"wolfcrypt/src/ge_operations.c",
"wolfcrypt/src/hash.c",
"wolfcrypt/src/hmac.c",
"wolfcrypt/src/hpke.c",
"wolfcrypt/src/integer.c",
"wolfcrypt/src/kdf.c",
"wolfcrypt/src/logging.c",
"wolfcrypt/src/md2.c",
"wolfcrypt/src/md4.c",
"wolfcrypt/src/md5.c",
"wolfcrypt/src/memory.c",
"wolfcrypt/src/misc.c",
"wolfcrypt/src/pkcs12.c",
"wolfcrypt/src/pkcs7.c",
"wolfcrypt/src/poly1305.c",
"wolfcrypt/src/pwdbased.c",
"wolfcrypt/src/random.c",
"wolfcrypt/src/rc2.c",
"wolfcrypt/src/ripemd.c",
"wolfcrypt/src/rsa.c",
"wolfcrypt/src/sakke.c",
"wolfcrypt/src/sha.c",
"wolfcrypt/src/sha256.c",
"wolfcrypt/src/sha3.c",
"wolfcrypt/src/sha512.c",
"wolfcrypt/src/signature.c",
"wolfcrypt/src/siphash.c",
"wolfcrypt/src/sp_arm32.c",
"wolfcrypt/src/sp_arm64.c",
"wolfcrypt/src/sp_armthumb.c",
"wolfcrypt/src/sp_c32.c",
"wolfcrypt/src/sp_c64.c",
"wolfcrypt/src/sp_cortexm.c",
"wolfcrypt/src/sp_dsp32.c",
"wolfcrypt/src/sp_int.c",
"wolfcrypt/src/sp_x86_64.c",
"wolfcrypt/src/sphincs.c",
"wolfcrypt/src/srp.c",
"wolfcrypt/src/tfm.c",
"wolfcrypt/src/wc_dsp.c",
"wolfcrypt/src/wc_encrypt.c",
"wolfcrypt/src/wc_kyber.c",
"wolfcrypt/src/wc_kyber_poly.c",
"wolfcrypt/src/wc_pkcs11.c",
"wolfcrypt/src/wc_port.c",
"wolfcrypt/src/wolfevent.c",
"wolfcrypt/src/wolfmath.c",
};

fn sdkPath(comptime suffix: []const u8) []const u8 {
if (suffix[0] != '/') @compileError("relToPath requires an absolute path!");
return comptime blk: {
@setEvalBranchQuota(2000);
const root_dir = std.fs.path.dirname(@src().file) orelse ".";
break :blk root_dir ++ suffix;
};
}

fn isX86(target: std.Build.ResolvedTarget) bool {
return switch (target.result.cpu.arch) {
.x86, .x86_64 => true,
Expand Down

0 comments on commit c05b7eb

Please sign in to comment.