Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 33340 - (hide annotations) (download)
Wed Jul 12 20:17:40 2023 UTC (10 months, 1 week ago) by niro
File size: 2682 byte(s)
-support variable ABIS
1 niro 29548 # $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 33340 if [[ ${ARCH} = x86_64 ]]
24 niro 29548 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 32910 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 33340 if [[ ${ARCH} = x86_64 ]]
39 niro 32910 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 29548 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 33306 # 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 29548 # multilib as well
74 niro 33340 if [[ $(ARCH=x86_64 mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/$(ARCH=x86_64 mlibdir) ]]
75 niro 29548 then
76 niro 33340 zapmost ${BINDIR}/usr/$(ARCH=x86_64 mlibdir) "${libs}" || die
77 niro 29548 fi
78 niro 33340 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 niro 29548
83     # cleanup the rest, keep only libs
84 niro 33340 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 niro 29548 }
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 niro 33306 # 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 niro 29548 # multilib as well
103 niro 33340 if [[ $(ARCH=x86_64 mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/$(ARCH=x86_64 mlibdir) ]]
104 niro 29548 then
105 niro 33340 rm ${BINDIR}/usr/$(ARCH=x86_64 mlibdir)/${i} || die
106 niro 29548 fi
107 niro 33340 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 niro 29548 done
112     }