Contents of /smage/trunk/include/gcc-toolchain.sminc
Parent Directory | Revision Log
Revision 16200 -
(show 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 | # $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 | if [[ ${ARCH} = x86_64 ]] |
24 | 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 | uninstall_gcc_library() |
33 | { |
34 | local library="$1" |
35 | |
36 | cd ${SRCDIR}/build |
37 | mmake -C ${CHOST}/${library} DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
38 | if [[ ${ARCH} = x86_64 ]] |
39 | 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 | 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 | # 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 | # multilib as well |
74 | if [[ $(ARCH=x86_64 mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/$(ARCH=x86_64 mlibdir) ]] |
75 | then |
76 | zapmost ${BINDIR}/usr/$(ARCH=x86_64 mlibdir) "${libs}" || die |
77 | fi |
78 | 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 | |
83 | # cleanup the rest, keep only libs |
84 | 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 | } |
88 | |
89 | 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 | 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 | # 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 | # multilib as well |
117 | if [[ $(ARCH=x86_64 mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/$(ARCH=x86_64 mlibdir) ]] |
118 | then |
119 | rm ${BINDIR}/usr/$(ARCH=x86_64 mlibdir)/${i} || die |
120 | fi |
121 | 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 | done |
126 | } |