Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 662722
Collapse All | Expand All

(-)a/sys-devel/llvm/files/7.1.0/gen-llvm-config-sh (+93 lines)
Line 0 Link Here
1
#!/bin/bash -e
2
3
build_var() {
4
	cpp -P -Iinclude -include llvm/Config/config.h -include tools/llvm-config/BuildVariables.inc - <<< "$1"
5
}
6
7
build_yes_no() {
8
	if [[ $(build_var "$1") = 1 ]]; then
9
		echo YES
10
	else
11
		echo NO
12
	fi
13
}
14
15
build_on_off() {
16
	if [[ $(build_var "$1") = 1 ]]; then
17
		echo ON
18
	else
19
		echo OFF
20
	fi
21
}
22
23
: ${CBUILD:-${CHOST}}
24
25
if [[ -n ${CBUILD} ]]; then
26
	CXX=${CBUILD}-c++
27
else
28
	CXX=c++
29
fi
30
31
TEMP_EXE=$(mktemp)
32
trap 'rm -f "${TEMP_EXE}"' EXIT
33
34
${CXX} -o "${TEMP_EXE}" -x c++ - <<EOF
35
#include <cstdio>
36
#include "tools/llvm-config/LibraryDependencies.inc"
37
38
int main(int argc, char** argv) {
39
	unsigned int i, total;
40
	struct AvailableComponent *component;
41
	const char *library;
42
43
	total = sizeof(AvailableComponents) / sizeof(AvailableComponents[0]);
44
45
	for (i = 0; i < total; i++) {
46
		component = &AvailableComponents[i];
47
		library = component->Library;
48
		if (library == NULL) library = "";
49
		if (component->IsInstalled) printf("\t\"%s %s\"\n", component->Name, library);
50
	}
51
52
	return 0;
53
}
54
EOF
55
56
cat <<EOF
57
#!/bin/bash -e
58
59
PREFIX=\${0%/*/*/*}
60
61
COMPONENTS=(
62
$("${TEMP_EXE}")
63
)
64
65
handle_arg() {
66
	case "\${1}" in
67
		--version) echo $(build_var PACKAGE_VERSION) ;;
68
		--prefix) echo "\${PREFIX}" ;;
69
		--bindir) echo "\${PREFIX}"/bin ;;
70
		--includedir) echo "\${PREFIX}"/include ;;
71
		--libdir) echo "\${PREFIX}"/lib$(build_var LLVM_LIBDIR_SUFFIX) ;;
72
		--cppflags) echo "-I\$(handle_arg --includedir) "$(build_var LLVM_CPPFLAGS) ;;
73
		--cflags) echo "-I\$(handle_arg --includedir) "$(build_var LLVM_CFLAGS) ;;
74
		--cxxflags) echo "-I\$(handle_arg --includedir) "$(build_var LLVM_CXXFLAGS) ;;
75
		--ldflags) echo "-L\$(handle_arg --libdir) "$(build_var LLVM_LDFLAGS) ;;
76
		--libs) LIBS=(\${COMPONENTS[@]#* }); echo "\${LIBS[@]/#/-l}" ;;
77
		--libnames) LIBS=(\${COMPONENTS[@]#* }); LIBS=(\${LIBS[@]/%/$(build_var LTDL_SHLIB_EXT)}); echo "\${LIBS[@]/#/lib}" ;;
78
		--libfiles) LIBS=(\${COMPONENTS[@]#* }); LIBS=(\${LIBS[@]/%/$(build_var LTDL_SHLIB_EXT)}); echo "\${LIBS[@]/#/\${PREFIX}/lib$(build_var LLVM_LIBDIR_SUFFIX)/lib}" ;;
79
		--components) echo "\${COMPONENTS[@]% *}" ;;
80
		--targets-built) echo $(build_var LLVM_TARGETS_BUILT) ;;
81
		--host-target) echo $(build_var LLVM_HOST_TRIPLE) ;;
82
		--build-mode) echo $(build_var LLVM_BUILDMODE) ;;
83
		--build-system) echo $(build_var LLVM_BUILD_SYSTEM) ;;
84
		--has-rtti) echo $(build_yes_no LLVM_HAS_RTTI) ;;
85
		--has-global-isel) echo $(build_on_off LLVM_HAS_GLOBAL_ISEL) ;;
86
		--shared-mode) echo shared ;;
87
	esac
88
}
89
90
for ARG in "\${@}"; do
91
	handle_arg "\${ARG}"
92
done
93
EOF
(-)a/sys-devel/llvm/llvm-7.1.0.ebuild (+6 lines)
Lines 201-206 multilib_src_compile() { Link Here
201
		pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
201
		pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
202
		pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
202
		pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
203
	fi
203
	fi
204
205
	bash "${FILESDIR}"/7.1.0/gen-llvm-config-sh > "${CHOST}"-llvm-config.sh || die
204
}
206
}
205
207
206
multilib_src_test() {
208
multilib_src_test() {
Lines 220-225 src_install() { Link Here
220
222
221
	local LLVM_LDPATHS=()
223
	local LLVM_LDPATHS=()
222
	multilib-minimal_src_install
224
	multilib-minimal_src_install
225
	dosym "${CHOST}"-llvm-config /usr/lib/llvm/${SLOT}/bin/cross/llvm-config
223
226
224
	# move wrapped headers back
227
	# move wrapped headers back
225
	mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT%/*}/include || die
228
	mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT%/*}/include || die
Lines 233-238 multilib_src_install() { Link Here
233
	mv "${ED%/}"/usr/lib/llvm/${SLOT%/*}/include "${ED%/}"/usr/include || die
236
	mv "${ED%/}"/usr/lib/llvm/${SLOT%/*}/include "${ED%/}"/usr/include || die
234
237
235
	LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT%/*}/$(get_libdir)" )
238
	LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT%/*}/$(get_libdir)" )
239
240
	exeinto /usr/lib/llvm/${SLOT}/bin/cross
241
	newexe "${CHOST}"-llvm-config{.sh,}
236
}
242
}
237
243
238
multilib_src_install_all() {
244
multilib_src_install_all() {
(-)a/sys-devel/llvm/llvm-8.0.0.ebuild (+6 lines)
Lines 237-242 multilib_src_compile() { Link Here
237
		pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
237
		pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
238
		pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
238
		pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
239
	fi
239
	fi
240
241
	bash "${FILESDIR}"/7.1.0/gen-llvm-config-sh > "${CHOST}"-llvm-config.sh || die
240
}
242
}
241
243
242
multilib_src_test() {
244
multilib_src_test() {
Lines 256-261 src_install() { Link Here
256
258
257
	local LLVM_LDPATHS=()
259
	local LLVM_LDPATHS=()
258
	multilib-minimal_src_install
260
	multilib-minimal_src_install
261
	dosym "${CHOST}"-llvm-config /usr/lib/llvm/${SLOT}/bin/cross/llvm-config
259
262
260
	# move wrapped headers back
263
	# move wrapped headers back
261
	mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
264
	mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
Lines 269-274 multilib_src_install() { Link Here
269
	mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
272
	mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
270
273
271
	LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
274
	LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
275
276
	exeinto /usr/lib/llvm/${SLOT}/bin/cross
277
	newexe "${CHOST}"-llvm-config{.sh,}
272
}
278
}
273
279
274
multilib_src_install_all() {
280
multilib_src_install_all() {
(-)a/sys-devel/llvm/llvm-8.0.9999.ebuild (+6 lines)
Lines 233-238 multilib_src_compile() { Link Here
233
		pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
233
		pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
234
		pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
234
		pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
235
	fi
235
	fi
236
237
	bash "${FILESDIR}"/7.1.0/gen-llvm-config-sh > "${CHOST}"-llvm-config.sh || die
236
}
238
}
237
239
238
multilib_src_test() {
240
multilib_src_test() {
Lines 252-257 src_install() { Link Here
252
254
253
	local LLVM_LDPATHS=()
255
	local LLVM_LDPATHS=()
254
	multilib-minimal_src_install
256
	multilib-minimal_src_install
257
	dosym "${CHOST}"-llvm-config /usr/lib/llvm/${SLOT}/bin/cross/llvm-config
255
258
256
	# move wrapped headers back
259
	# move wrapped headers back
257
	mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
260
	mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
Lines 265-270 multilib_src_install() { Link Here
265
	mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
268
	mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
266
269
267
	LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
270
	LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
271
272
	exeinto /usr/lib/llvm/${SLOT}/bin/cross
273
	newexe "${CHOST}"-llvm-config{.sh,}
268
}
274
}
269
275
270
multilib_src_install_all() {
276
multilib_src_install_all() {
(-)a/sys-devel/llvm/llvm-9999.ebuild (-1 / +6 lines)
Lines 238-243 multilib_src_compile() { Link Here
238
		pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
238
		pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
239
		pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
239
		pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
240
	fi
240
	fi
241
242
	bash "${FILESDIR}"/7.1.0/gen-llvm-config-sh > "${CHOST}"-llvm-config.sh || die
241
}
243
}
242
244
243
multilib_src_test() {
245
multilib_src_test() {
Lines 257-262 src_install() { Link Here
257
259
258
	local LLVM_LDPATHS=()
260
	local LLVM_LDPATHS=()
259
	multilib-minimal_src_install
261
	multilib-minimal_src_install
262
	dosym "${CHOST}"-llvm-config /usr/lib/llvm/${SLOT}/bin/cross/llvm-config
260
263
261
	# move wrapped headers back
264
	# move wrapped headers back
262
	mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
265
	mv "${ED%/}"/usr/include "${ED%/}"/usr/lib/llvm/${SLOT}/include || die
Lines 270-275 multilib_src_install() { Link Here
270
	mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
273
	mv "${ED%/}"/usr/lib/llvm/${SLOT}/include "${ED%/}"/usr/include || die
271
274
272
	LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
275
	LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
276
277
	exeinto /usr/lib/llvm/${SLOT}/bin/cross
278
	newexe "${CHOST}"-llvm-config{.sh,}
273
}
279
}
274
280
275
multilib_src_install_all() {
281
multilib_src_install_all() {
276
- 

Return to bug 662722