1# $OpenBSD: Makefile,v 1.4 2022/12/05 14:43:06 tb Exp $ 2 3RUST_OPENSSL_TESTS = /usr/local/share/rust-openssl-tests 4CARGO = /usr/local/bin/cargo 5 6.if !exists(${RUST_OPENSSL_TESTS}) || !exists(${CARGO}) 7regress: 8 @echo packages rust-openssl-tests and rust are required for this regress 9 @echo SKIPPED 10.else 11 12REGRESS_TARGETS += rust-openssl-test 13 14WORKSPACE_LINKS = openssl openssl-errors openssl-macros openssl-sys systest 15 16_WORKSPACE_COOKIE = .workspace 17 18${_WORKSPACE_COOKIE}: 19. if ${.CURDIR} != ${.OBJDIR} 20 cp ${.CURDIR}/Cargo.toml ${.OBJDIR}/ 21. endif 22 mkdir -p .cargo 23 cp ${.CURDIR}/config .cargo/ 24 cd ${.OBJDIR} && ln -sf ${WORKSPACE_LINKS:S,^,${RUST_OPENSSL_TESTS}/,} . 25 touch $@ 26 27CLEANFILES += Cargo.lock 28 29. if ${.CURDIR} != ${.OBJDIR} 30CLEANFILES += Cargo.toml 31. endif 32 33# Force use of base-clang on sparc64 since the build with base-gcc fails with: 34# error occurred: Command "cc" "-O0" "-ffunction-sections" "-fdata-sections" [...] 35# did not execute successfully (status code exit status: 1). 36. if "${MACHINE_ARCH}" == sparc64 37CARGO_CC=/usr/bin/clang 38. else 39CARGO_CC=cc 40. endif 41 42rust-openssl-test: ${_WORKSPACE_COOKIE} 43 cd ${.OBJDIR} && env CC=${CARGO_CC} \ 44 cargo test --offline --color=never -- --color=never 45 46CLEANFILES += ${_WORKSPACE_COOKIE} ${WORKSPACE_LINKS} 47 48. if make(clean) || make(cleandir) 49. if exists(.cargo) || exists(target) 50.BEGIN: 51 rm -rf .cargo 52 rm -rf target 53. endif 54. endif 55 56.endif 57 58.include <bsd.regress.mk> 59