Annotation of /smage/trunk/include/gcc-toolchain.sminc
Parent Directory | Revision Log
Revision 16200 -
(hide annotations)
(download)
Tue Sep 19 11:27:04 2023 UTC (7 months, 3 weeks ago) by niro
File size: 3176 byte(s)
Tue Sep 19 11:27:04 2023 UTC (7 months, 3 weeks ago) by niro
File size: 3176 byte(s)
-sync with upstream
1 | niro | 9533 | # $Id$ |
2 | # gcc toolchain functions | ||
3 | |||
4 | # helper functions | ||
5 | lang_enabled() | ||
6 | { | ||
7 | local lang="$1" | ||
8 | |||
9 | if [[ ${MyLanguages//${lang}} != ${MyLanguages} ]] | ||
10 | then | ||
11 | return 0 | ||
12 | else | ||
13 | return 1 | ||
14 | fi | ||
15 | } | ||
16 | |||
17 | install_gcc_library() | ||
18 | { | ||
19 | local library="$1" | ||
20 | |||
21 | cd ${SRCDIR}/build | ||
22 | mmake -C ${CHOST}/${library} DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die | ||
23 | niro | 16200 | if [[ ${ARCH} = x86_64 ]] |
24 | niro | 9533 | then |
25 | if [ -d ${CHOST}/32/${library} ] | ||
26 | then | ||
27 | mmake -C ${CHOST}/32/${library} DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die | ||
28 | fi | ||
29 | fi | ||
30 | } | ||
31 | |||
32 | niro | 13738 | uninstall_gcc_library() |
33 | { | ||
34 | local library="$1" | ||
35 | |||
36 | cd ${SRCDIR}/build | ||
37 | mmake -C ${CHOST}/${library} DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die | ||
38 | niro | 16200 | if [[ ${ARCH} = x86_64 ]] |
39 | niro | 13738 | then |
40 | if [ -d ${CHOST}/32/${library} ] | ||
41 | then | ||
42 | mmake -C ${CHOST}/32/${library} DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die | ||
43 | fi | ||
44 | fi | ||
45 | } | ||
46 | |||
47 | niro | 9533 | versionize_all_bins() |
48 | { | ||
49 | local bin | ||
50 | |||
51 | for bin in $(find ${BINDIR}/usr/bin -type f) | ||
52 | do | ||
53 | # only rename unversionized bins | ||
54 | if [[ ${bin//${PVER}} = ${bin} ]] && [[ ! -e ${bin}-${PVER} ]] | ||
55 | then | ||
56 | echo ${bin} | ||
57 | mv ${bin} ${bin}-${PVER} || die | ||
58 | ln -snf $(basename ${bin}-${PVER}) ${bin} || die | ||
59 | fi | ||
60 | done | ||
61 | } | ||
62 | |||
63 | keep_dev_package_libs() | ||
64 | { | ||
65 | local libs="$@" | ||
66 | |||
67 | niro | 13765 | # run zapmost only if the directories exists, which fixes empy libvtv issues |
68 | if [[ -d ${BINDIR}/usr/$(mlibdir) ]] | ||
69 | then | ||
70 | # cleanup, only keep the libs, everything else get provided by the dev-package | ||
71 | zapmost ${BINDIR}/usr/$(mlibdir) "${libs}" || die | ||
72 | fi | ||
73 | niro | 9533 | # multilib as well |
74 | niro | 16200 | if [[ $(ARCH=x86_64 mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/$(ARCH=x86_64 mlibdir) ]] |
75 | niro | 9533 | then |
76 | niro | 16200 | zapmost ${BINDIR}/usr/$(ARCH=x86_64 mlibdir) "${libs}" || die |
77 | niro | 9533 | fi |
78 | niro | 16200 | if [[ $(ARCH=i686 mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/$(ARCH=i686 mlibdir) ]] && [[ ${MAGE_LIB32_SPLIT} != true ]] |
79 | then | ||
80 | zapmost ${BINDIR}/usr/$(ARCH=i686 mlibdir) "${libs}" || die | ||
81 | fi | ||
82 | niro | 9533 | |
83 | # cleanup the rest, keep only libs | ||
84 | niro | 16200 | zapmost ${BINDIR} usr/$(mlibdir) \ |
85 | $([[ $(ARCH=x86_64 mlibdir) != lib ]] && echo "usr/$(ARCH=x86_64 mlibdir)") \ | ||
86 | $([[ $(ARCH=i686 mlibdir) != lib ]] && [[ ${MAGE_LIB32_SPLIT} != true ]] && echo "usr/$(ARCH=i686 mlibdir)") || die | ||
87 | niro | 9533 | } |
88 | |||
89 | niro | 16200 | keep_dev_package_libs_only32() |
90 | { | ||
91 | local libs="$@" | ||
92 | |||
93 | if [[ $(ARCH=i686 mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/$(ARCH=i686 mlibdir) ]] && [[ ${MAGE_LIB32_SPLIT} = true ]] | ||
94 | then | ||
95 | zapmost ${BINDIR}/usr/$(ARCH=i686 mlibdir) "${libs}" || die | ||
96 | fi | ||
97 | |||
98 | # cleanup the rest, keep only libs | ||
99 | zapmost ${BINDIR} \ | ||
100 | $([[ $(ARCH=i686 mlibdir) != lib ]] && [[ ${MAGE_LIB32_SPLIT} = true ]] && echo "usr/$(ARCH=i686 mlibdir)") || die | ||
101 | } | ||
102 | |||
103 | niro | 9533 | delete_dev_package_libs() |
104 | { | ||
105 | local libs="$@" | ||
106 | local i | ||
107 | |||
108 | # cleanup, the solibs are provided by the non-dev package | ||
109 | for i in ${libs} | ||
110 | do | ||
111 | niro | 13765 | # run cleanup only if the directories exists, which fixes empy libvtv issues |
112 | if [[ -d ${BINDIR}/usr/$(mlibdir) ]] | ||
113 | then | ||
114 | rm ${BINDIR}/usr/$(mlibdir)/${i} || die | ||
115 | fi | ||
116 | niro | 9533 | # multilib as well |
117 | niro | 16200 | if [[ $(ARCH=x86_64 mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/$(ARCH=x86_64 mlibdir) ]] |
118 | niro | 9533 | then |
119 | niro | 16200 | rm ${BINDIR}/usr/$(ARCH=x86_64 mlibdir)/${i} || die |
120 | niro | 9533 | fi |
121 | niro | 16200 | if [[ $(ARCH=i686 mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/$(ARCH=i686 mlibdir) ]] |
122 | then | ||
123 | rm ${BINDIR}/usr/$(ARCH=i686 mlibdir)/${i} || die | ||
124 | fi | ||
125 | niro | 9533 | done |
126 | } |