Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 33340 - (show annotations) (download)
Wed Jul 12 20:17:40 2023 UTC (9 months, 3 weeks ago) by niro
File size: 2682 byte(s)
-support variable ABIS
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) ]]
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 ]] && echo "/usr/$(ARCH=i686 mlibdir)")|| die
87 }
88
89 delete_dev_package_libs()
90 {
91 local libs="$@"
92 local i
93
94 # cleanup, the solibs are provided by the non-dev package
95 for i in ${libs}
96 do
97 # run cleanup only if the directories exists, which fixes empy libvtv issues
98 if [[ -d ${BINDIR}/usr/$(mlibdir) ]]
99 then
100 rm ${BINDIR}/usr/$(mlibdir)/${i} || die
101 fi
102 # multilib as well
103 if [[ $(ARCH=x86_64 mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/$(ARCH=x86_64 mlibdir) ]]
104 then
105 rm ${BINDIR}/usr/$(ARCH=x86_64 mlibdir)/${i} || die
106 fi
107 if [[ $(ARCH=i686 mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/$(ARCH=i686 mlibdir) ]]
108 then
109 rm ${BINDIR}/usr/$(ARCH=i686 mlibdir)/${i} || die
110 fi
111 done
112 }