Magellan Linux

Contents of /smage/trunk/include/gcc-toolchain.sminc

Parent Directory Parent Directory | Revision Log 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)
-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 }