blob: eb4c66282255253a0a6fb1fe7bf15676d51d4323 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
PORTNAME= mold
DISTVERSIONPREFIX= v
DISTVERSION= 2.40.1
CATEGORIES= devel
MAINTAINER= ashish@FreeBSD.org
COMMENT= Modern Linker
WWW= https://github.com/rui314/mold
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
NOT_FOR_ARCHS= armhf armv7 i386
LIB_DEPENDS= libmimalloc.so:devel/mimalloc \
libtbb.so:devel/onetbb \
libzstd.so:archivers/zstd
TEST_DEPENDS= bash:shells/bash \
gcc${GCC_DEFAULT}:lang/gcc${GCC_DEFAULT} \
ggrep:textproc/gnugrep \
${LOCALBASE}/bin/readelf:devel/binutils
USES= cmake:testing compiler:c++20-lang localbase:ldflags shebangfix
SHEBANG_FILES= test/*.sh
USE_GITHUB= yes
GH_ACCOUNT= rui314
PLIST_FILES= bin/ld.mold \
bin/mold \
lib/mold/mold-wrapper.so \
libexec/mold/ld \
share/man/man1/ld.mold.1.gz \
share/man/man1/mold.1.gz
CMAKE_TESTING_OFF= MOLD_ENABLE_QEMU_TESTS
CMAKE_ON= MOLD_USE_MIMALLOC \
MOLD_USE_SYSTEM_MIMALLOC \
MOLD_USE_SYSTEM_TBB
CMAKE_OFF= MOLD_USE_MOLD \
MOLD_USE_TSAN \
MOLD_MOSTLY_STATIC \
BUILD_TESTING
OPTIONS_DEFINE= ASAN LTO
ASAN_DESC= Enable Address Sanitizer
ASAN_CMAKE_BOOL=MOLD_USE_ASAN
LTO_CMAKE_BOOL= MOLD_LTO
pre-test:
### BINARY_ALIAS doesn't work for tests so we need to fix it manually
@${REINPLACE_CMD} -e 's|OBJCOPY=objcopy|OBJCOPY=${PREFIX}/bin/objcopy|g' \
${PATCH_WRKSRC}/test/common.inc
@${REINPLACE_CMD} -e 's|OBJDUMP=objdump|OBJDUMP=${PREFIX}/bin/objdump|g' \
${PATCH_WRKSRC}/test/common.inc
@${REINPLACE_CMD} -e 's|$$GCC |gcc${GCC_DEFAULT} |g' \
${PATCH_WRKSRC}/test/*.sh
@${REINPLACE_CMD} -e 's|gcc |gcc${GCC_DEFAULT} |g' \
${PATCH_WRKSRC}/test/*.sh
@${REINPLACE_CMD} -e 's|grep -|${PREFIX}/bin/ggrep -|g' \
${PATCH_WRKSRC}/test/*.sh
@${REINPLACE_CMD} -e 's|readelf |${PREFIX}/bin/readelf |g' \
${PATCH_WRKSRC}/test/*.sh
### Depends on LLVMgold plugin which isn't built by binutils
@${RM} ${WRKSRC}/test/defsym-lto.sh
@${RM} ${WRKSRC}/test/lto-archive.sh
@${RM} ${WRKSRC}/test/lto-archive2.sh
@${RM} ${WRKSRC}/test/lto-dso.sh
@${RM} ${WRKSRC}/test/lto-version-script.sh
@${RM} ${WRKSRC}/test/symbol-version-lto.sh
### These tests errors out with "Unsupported relocation type 36 in non-PLT relocations"
@${RM} ${WRKSRC}/test/tlsdesc.sh
@${RM} ${WRKSRC}/test/tlsdesc-dlopen.sh
@${RM} ${WRKSRC}/test/tlsdesc-initial-exec.sh
@${RM} ${WRKSRC}/test/tlsdesc-local-dynamic.sh
@${RM} ${WRKSRC}/test/wrap-lto.sh
@${RM} ${WRKSRC}/test/x86_64_tlsdesc.sh
@${RM} ${WRKSRC}/test/x86_64_tls-module-base.sh
.include <bsd.port.mk>
|