Magellan Linux

Annotation of /trunk/include/multilib.sminc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 29788 - (hide annotations) (download)
Thu Oct 12 08:49:24 2017 UTC (6 years, 7 months ago) by niro
File size: 16597 byte(s)
-added mninja() multilib wrapper and use it
1 niro 6346 # $Id$
2 niro 2 # multilib abis
3    
4 niro 11547 # tell the buildsystem that we are doing a multilib build
5     export MULTILIB_BUILD="true"
6 niro 11544
7 niro 8334 # be verbose or nor (true|false}
8     : ${MULTILIB_VERBOSE="true"}
9    
10 niro 11029 # multilib should call all dependant includes, which gets overridden
11 niro 11030 sminclude mtools
12 niro 11029
13 niro 2 # do not define EMUL_LINUX_32 after inherit of multlib !!
14     # it may break i*86 builds
15    
16     # default ABIs to be build
17     case ${ARCH} in
18     x86_64)
19     : ${MULTILIB_ABIS="m32 m64"}
20     # default false
21     : ${EMUL_LINUX_32="false"}
22    
23     # add linux32 to the dependencies
24     if [[ ${EMUL_LINUX_32} = true ]]
25     then
26 niro 7554 EMUL_LINUX_32_SDEPEND_x86_64=">= sys-apps/util-linux-2.19"
27 niro 6406 SPECIAL_VARS="${SPECIAL_VARS} EMUL_LINUX_32_SDEPEND_x86_64"
28 niro 2 fi
29     ;;
30     i*86)
31     : ${MULTILIB_ABIS="m32"}
32     # always false
33     EMUL_LINUX_32="false"
34     ;;
35     esac
36    
37     # add linux32 to the dependencies
38     if [[ ${EMUL_LINUX_32} = true ]]
39     then
40     # very dirty trick to get the dependencies right
41     # ; is the IFS, tr replaces ; with an crlfs
42     # the var ist decided with our common eval+echo magic
43     if [[ -z ${SDEPEND} ]]
44     then
45 niro 22297 SDEPEND="$(marchsdepend EMUL_LINUX_32_SDEPEND)"
46 niro 2 else
47     SDEPEND="${SDEPEND}
48 niro 22297 $(marchsdepend EMUL_LINUX_32_SDEPEND)"
49 niro 2 fi
50     fi
51    
52     ##
53     # overide some defaults to respect ABI_LIBDIR
54     ##
55     mlibdir()
56     {
57     local libdir=lib
58     [[ ${ARCH} = x86_64 ]] && libdir=lib64
59     [[ -n ${ABI_LIBDIR} ]] && libdir="${ABI_LIBDIR}"
60    
61     echo "${libdir}"
62     }
63    
64     ##
65     # multilib abi changers
66     ##
67     abi-m32()
68     {
69     export ABI="m32"
70     export CC="gcc -${ABI}"
71     export CXX="g++ -${ABI}"
72     export ABI_LIBDIR="lib"
73 niro 307 if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
74     then
75 niro 11300 local saved_ldflags="${LDFLAGS}"
76     export LDFLAGS="${LDFLAGS} -L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
77 niro 307 fi
78 niro 5371 # keep pkgconfig clean
79     local orig_pkg_config_path="${PKG_CONFIG_PATH}"
80     export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"
81 niro 2
82 niro 8334 if [[ ${MULTILIB_VERBOSE} = true ]]
83 niro 307 then
84 niro 8334 echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
85     echo -e "${COLBLUE}*** ${COLGREEN} ABI${COLDEFAULT}='${ABI}'"
86     echo -e "${COLBLUE}*** ${COLGREEN} CC${COLDEFAULT}='${CC}'"
87     echo -e "${COLBLUE}*** ${COLGREEN} CXX${COLDEFAULT}='${CXX}'"
88     echo -e "${COLBLUE}*** ${COLGREEN} ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"
89     if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
90     then
91     echo -e "${COLBLUE}*** ${COLGREEN} LDFLAGS${COLDEFAULT}='${LDFLAGS}'"
92     else
93     echo -e "${COLBLUE}*** ${COLGREEN} LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
94     fi
95 niro 11525 echo -e "${COLBLUE}*** ${COLGREEN} CHOST${COLDEFAULT}='${CHOST}'"
96     echo -e "${COLBLUE}*** ${COLGREEN} SRCDIR${COLDEFAULT}='${SRCDIR}/${SRCSUBDIR}'"
97 niro 8334 echo -e "${COLBLUE}*** ${COLGREEN} PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
98 niro 307 fi
99 niro 2
100     # configure a linux32 emulated build
101     if [[ ${EMUL_LINUX_32} = true ]]
102     then
103 niro 8334 if [[ ${MULTILIB_VERBOSE} = true ]]
104     then
105     echo -e "${COLBLUE}*** ${COLGREEN} EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"
106     fi
107 niro 2 uname(){ linux32 uname $@; } && export -f uname
108 niro 11830 local orig_chost="${CHOST}" && export CHOST="i686-pc-linux-gnu"
109 niro 2 fi
110 niro 8334 if [[ ${MULTILIB_VERBOSE} = true ]]
111     then
112     echo -e "${COLBLUE}*** ${COLGREEN} CHOST${COLDEFAULT}='${CHOST}'"
113     fi
114 niro 2
115     # run any given command
116 niro 13974 eval $@ || die
117 niro 2
118 niro 11300 unset ABI CC CXX ABI_LIBDIR
119 niro 5371 # keep pkgconfig clean
120     export PKG_CONFIG_PATH="${orig_pkg_config_path}"
121 niro 11300 export LDFLAGS="${saved_ldflags}"
122 niro 2
123     # restore original settings
124     if [[ ${EMUL_LINUX_32} = true ]]
125     then
126     unset uname
127 niro 11830 export CHOST="${orig_chost}" && unset orig_chost
128 niro 2 fi
129     }
130    
131     abi-m64()
132     {
133     export ABI="m64"
134     export CC="gcc -${ABI}"
135     export CXX="g++ -${ABI}"
136     export ABI_LIBDIR="lib64"
137 niro 307 if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
138     then
139 niro 11300 local saved_ldflags="${LDFLAGS}"
140 niro 307 export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
141     fi
142 niro 5371 # keep pkgconfig clean
143     local orig_pkg_config_path="${PKG_CONFIG_PATH}"
144     export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"
145 niro 2
146 niro 8334 if [[ ${MULTILIB_VERBOSE} = true ]]
147 niro 307 then
148 niro 8334 echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
149     echo -e "${COLBLUE}*** ${COLGREEN} ABI${COLDEFAULT}='${ABI}'"
150     echo -e "${COLBLUE}*** ${COLGREEN} CC${COLDEFAULT}='${CC}'"
151     echo -e "${COLBLUE}*** ${COLGREEN} CXX${COLDEFAULT}='${CXX}'"
152     echo -e "${COLBLUE}*** ${COLGREEN} ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"
153     if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
154     then
155     echo -e "${COLBLUE}*** ${COLGREEN} LDFLAGS${COLDEFAULT}='${LDFLAGS}'"
156     else
157     echo -e "${COLBLUE}*** ${COLGREEN} LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
158     fi
159     echo -e "${COLBLUE}*** ${COLGREEN} CHOST${COLDEFAULT}='${CHOST}'"
160 niro 11525 echo -e "${COLBLUE}*** ${COLGREEN} SRCDIR${COLDEFAULT}='${SRCDIR}/${SRCSUBDIR}'"
161 niro 8334 echo -e "${COLBLUE}*** ${COLGREEN} PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
162 niro 307 fi
163 niro 2
164     # run any given command
165     eval $@ || die
166    
167 niro 11300 unset ABI CC CXX ABI_LIBDIR
168 niro 5371 # keep pkgconfig clean
169     export PKG_CONFIG_PATH="${orig_pkg_config_path}"
170 niro 11300 export LDFLAGS="${saved_ldflags}"
171 niro 2 }
172    
173     only-m32()
174     {
175     local abi=m32
176     local i
177    
178     for i in ${MULTILIB_ABIS}
179     do
180     if [[ ${i} = ${abi} ]]
181     then
182     # export this for mpatch etc (to repect only-${abi})
183     export MULTILIB_ONLY_ABI=${abi}
184    
185 niro 11522 cd ${SRCDIR}-${abi}/${SRCSUBDIR}
186 niro 2 abi-${abi} $@ || die
187    
188     # unset this is very important
189     unset MULTILIB_ONLY_ABI
190     fi
191     done
192     }
193    
194     only-m64()
195     {
196     local abi=m64
197     local i
198    
199     for i in ${MULTILIB_ABIS}
200     do
201     if [[ ${i} = ${abi} ]]
202     then
203     # export this for mpatch etc (to repect only-${abi})
204     export MULTILIB_ONLY_ABI=${abi}
205    
206 niro 11522 cd ${SRCDIR}-${abi}/${SRCSUBDIR}
207 niro 2 abi-${abi} $@ || die
208    
209     # unset this is very important
210     unset MULTILIB_ONLY_ABI
211     fi
212     done
213     }
214    
215     all-abis()
216     {
217     local abi
218     for abi in ${MULTILIB_ABIS}
219     do
220 niro 11522 cd ${SRCDIR}-${abi}/${SRCSUBDIR}
221 niro 2 abi-${abi} $@ || die
222     done
223     }
224    
225 niro 6346 mabi()
226     {
227     echo \${ABI}
228     }
229    
230 niro 11825 mabi-cc()
231     {
232 niro 20903 echo "gcc -\${ABI}"
233 niro 11825 }
234    
235     mabi-cxx()
236     {
237 niro 20903 echo "g++ -\${ABI}"
238 niro 11825 }
239    
240 niro 11828 mabi-cflags()
241     {
242 niro 20903 echo "\${CFLAGS}"
243 niro 11828 }
244    
245     mabi-cxxflags()
246     {
247 niro 20903 echo "\${CXXFLAGS}"
248 niro 11828 }
249    
250     mabi-ldflags()
251     {
252 niro 20903 echo "\${LDFLAGS}"
253 niro 11828 }
254    
255 niro 2 ##
256     # multilib compile functions
257     ##
258    
259 niro 3671 if [[ ! -z $(typeset -f mconfigure) ]]
260     then
261     # rename the old one
262     old_mconfigure=old$(typeset -f mconfigure)
263 niro 4783 eval "${old_mconfigure}"
264 niro 20987
265 niro 2 mconfigure()
266     {
267     local abi
268     local abis_to_run="${MULTILIB_ABIS}"
269    
270     # respect MULTILIB_ONLY_ABI variable
271     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
272    
273     for abi in ${abis_to_run}
274     do
275 niro 11522 cd ${SRCDIR}-${abi}/${SRCSUBDIR}
276 niro 2 abi-${abi} oldmconfigure $@ || die
277     done
278     }
279 niro 20987 fi
280 niro 2
281 niro 4780 if [[ ! -z $(typeset -f cmake_configure) ]]
282     then
283     # rename the old one
284     old_cmake_configure=old$(typeset -f cmake_configure)
285 niro 4783 eval "${old_cmake_configure}"
286 niro 20987
287 niro 4780 cmake_configure()
288     {
289     local abi
290     local abis_to_run="${MULTILIB_ABIS}"
291    
292     # respect MULTILIB_ONLY_ABI variable
293     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
294    
295     local saved_SRCDIR="${SRCDIR}"
296     for abi in ${abis_to_run}
297     do
298     SRCDIR="${saved_SRCDIR}-${abi}"
299 niro 21293 # honor inside and outside build-dir builds
300     if [ -d ${BUILDDIR}/build-${abi} ]
301     then
302     cd ${BUILDDIR}/build-${abi}
303     else
304 niro 22068 cd ${SRCDIR}
305 niro 21293 fi
306 niro 4780 abi-${abi} oldcmake_configure $@ || die
307     done
308 niro 9367 # restore SRCDIR
309     SRCDIR="${saved_SRCDIR}"
310 niro 4780 }
311 niro 20987 fi
312 niro 4780
313 niro 20977 if [[ ! -z $(typeset -f cmake_src_compile) ]]
314     then
315     # rename the old one
316     old_cmake_src_compile=old$(typeset -f cmake_src_compile)
317     eval "${old_cmake_src_compile}"
318 niro 20987
319 niro 20977 cmake_src_compile()
320     {
321     local abi
322     local abis_to_run="${MULTILIB_ABIS}"
323    
324     # respect MULTILIB_ONLY_ABI variable
325     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
326    
327     for abi in ${abis_to_run}
328     do
329     # remove build dir if exist
330     [[ -d ${BUILDDIR}/build-${abi} ]] && rm -rf ${BUILDDIR}/build-${abi}
331    
332     # build outside of the source dir
333     install -d ${BUILDDIR}/build-${abi} || die
334     cd ${BUILDDIR}/build-${abi}
335     done
336    
337     cmake_configure || die
338    
339     for abi in ${abis_to_run}
340     do
341     cd ${BUILDDIR}/build-${abi}
342     abi-${abi} oldmmake $@ || die
343     done
344     }
345 niro 20987 fi
346 niro 20977
347 niro 20978 if [[ ! -z $(typeset -f cmake_src_check) ]]
348     then
349     # rename the old one
350     old_cmake_src_check=old$(typeset -f cmake_src_check)
351     eval "${old_cmake_check}"
352 niro 20987
353 niro 20978 cmake_src_check()
354     {
355     local abi
356     local abis_to_run="${MULTILIB_ABIS}"
357    
358     # respect MULTILIB_ONLY_ABI variable
359     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
360    
361     for abi in ${abis_to_run}
362     do
363 niro 22066 # honor inside and outside build-dir builds
364     if [ -d ${BUILDDIR}/build-${abi} ]
365     then
366     cd ${BUILDDIR}/build-${abi}
367     else
368 niro 22067 cd ${SRCDIR}-${abi}
369 niro 22066 fi
370 niro 20978 mmake -j1 -k check || die
371     done
372     }
373 niro 20987 fi
374 niro 20978
375 niro 20977 if [[ ! -z $(typeset -f cmake_src_install) ]]
376     then
377     # rename the old one
378     old_cmake_src_install=old$(typeset -f cmake_src_install)
379     eval "${old_cmake_install}"
380 niro 20987
381 niro 20977 cmake_src_install()
382     {
383     local abi
384     local abis_to_run="${MULTILIB_ABIS}"
385    
386     # respect MULTILIB_ONLY_ABI variable
387     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
388    
389     for abi in ${abis_to_run}
390     do
391 niro 22066 # honor inside and outside build-dir builds
392     if [ -d ${BUILDDIR}/build-${abi} ]
393     then
394     cd ${BUILDDIR}/build-${abi}
395     else
396 niro 22067 cd ${SRCDIR}-${abi}
397 niro 22066 fi
398 niro 20977 abi-${abi} oldmmake DESTDIR=${BINDIR} $@ install || die
399     done
400     }
401 niro 20987 fi
402 niro 20977
403 niro 29788 if [[ ! -z $(typeset -f mninja) ]]
404     then
405     # rename the old one
406     old_mninja=old$(typeset -f mninja)
407     eval "${old_mninja}"
408 niro 29786
409 niro 29788 mninja()
410     {
411     local abi
412     local abis_to_run="${MULTILIB_ABIS}"
413    
414     # respect MULTILIB_ONLY_ABI variable
415     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
416    
417     for abi in ${abis_to_run}
418     do
419     echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"
420     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
421     abi-${abi} oldmninja $@ || die
422     done
423     }
424     fi
425    
426 niro 29786 if [[ ! -z $(typeset -f meson_configure) ]]
427     then
428     # rename the old one
429     old_meson_configure=old$(typeset -f meson_configure)
430     eval "${old_meson_configure}"
431    
432     meson_configure()
433     {
434     local abi
435     local abis_to_run="${MULTILIB_ABIS}"
436    
437     # respect MULTILIB_ONLY_ABI variable
438     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
439    
440     local saved_SRCDIR="${SRCDIR}"
441     for abi in ${abis_to_run}
442     do
443     SRCDIR="${saved_SRCDIR}-${abi}"
444     # honor inside and outside build-dir builds
445     if [ -d ${BUILDDIR}/build-${abi} ]
446     then
447     cd ${BUILDDIR}/build-${abi}
448     else
449     cd ${SRCDIR}
450     fi
451     abi-${abi} oldmeson_configure $@ || die
452     done
453     # restore SRCDIR
454     SRCDIR="${saved_SRCDIR}"
455     }
456     fi
457    
458     if [[ ! -z $(typeset -f meson_src_compile) ]]
459     then
460     # rename the old one
461     old_meson_src_compile=old$(typeset -f meson_src_compile)
462     eval "${old_meson_src_compile}"
463    
464     meson_src_compile()
465     {
466     local abi
467     local abis_to_run="${MULTILIB_ABIS}"
468    
469     # respect MULTILIB_ONLY_ABI variable
470     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
471    
472     for abi in ${abis_to_run}
473     do
474     # remove build dir if exist
475     [[ -d ${BUILDDIR}/build-${abi} ]] && rm -rf ${BUILDDIR}/build-${abi}
476    
477     # build outside of the source dir
478     install -d ${BUILDDIR}/build-${abi} || die
479     cd ${BUILDDIR}/build-${abi}
480     done
481    
482     meson_configure || die
483    
484     for abi in ${abis_to_run}
485     do
486     cd ${BUILDDIR}/build-${abi}
487 niro 29788 abi-${abi} oldmninja $@ || die
488 niro 29786 done
489     }
490     fi
491    
492     if [[ ! -z $(typeset -f meson_src_check) ]]
493     then
494     # rename the old one
495     old_meson_src_check=old$(typeset -f meson_src_check)
496     eval "${old_meson_check}"
497    
498     meson_src_check()
499     {
500     local abi
501     local abis_to_run="${MULTILIB_ABIS}"
502    
503     # respect MULTILIB_ONLY_ABI variable
504     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
505    
506     for abi in ${abis_to_run}
507     do
508     # honor inside and outside build-dir builds
509     if [ -d ${BUILDDIR}/build-${abi} ]
510     then
511     cd ${BUILDDIR}/build-${abi}
512     else
513     cd ${SRCDIR}-${abi}
514     fi
515     meson test || die
516     done
517     }
518     fi
519    
520     if [[ ! -z $(typeset -f meson_src_install) ]]
521     then
522     # rename the old one
523     old_meson_src_install=old$(typeset -f meson_src_install)
524     eval "${old_meson_install}"
525    
526     meson_src_install()
527     {
528     local abi
529     local abis_to_run="${MULTILIB_ABIS}"
530    
531     # respect MULTILIB_ONLY_ABI variable
532     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
533    
534     for abi in ${abis_to_run}
535     do
536     # honor inside and outside build-dir builds
537     if [ -d ${BUILDDIR}/build-${abi} ]
538     then
539     cd ${BUILDDIR}/build-${abi}
540     else
541     cd ${SRCDIR}-${abi}
542     fi
543 niro 29788 abi-${abi} DESTDIR=${BINDIR} oldmninja $@ install || die
544 niro 29786 done
545     }
546     fi
547    
548 niro 3671 if [[ ! -z $(typeset -f munpack) ]]
549     then
550     # rename the old one
551     old_munpack=old$(typeset -f munpack)
552     eval "${old_munpack}"
553 niro 20987
554 niro 2 munpack()
555     {
556     local abi
557     local abis_to_run="${MULTILIB_ABIS}"
558    
559     # respect MULTILIB_ONLY_ABI variable
560     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
561    
562     for abi in ${abis_to_run}
563     do
564     echo -e "${COLBLUE}*** ${COLGREEN}unpacking for ABI -${abi}${COLDEFAULT}"
565 niro 13488 oldmunpack $@ || die
566 niro 2 mv ${SRCDIR} ${SRCDIR}-${abi} || die
567     done
568     }
569 niro 20987 fi
570 niro 2
571 niro 3671 if [[ ! -z $(typeset -f mmake) ]]
572     then
573     # rename the old one
574     old_mmake=old$(typeset -f mmake)
575     eval "${old_mmake}"
576 niro 20987
577 niro 2 mmake()
578     {
579     local abi
580     local abis_to_run="${MULTILIB_ABIS}"
581    
582     # respect MULTILIB_ONLY_ABI variable
583     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
584    
585     for abi in ${abis_to_run}
586     do
587     echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"
588 niro 11522 cd ${SRCDIR}-${abi}/${SRCSUBDIR}
589 niro 2 abi-${abi} oldmmake $@ || die
590     done
591     }
592 niro 20987 fi
593 niro 2
594 niro 3671 if [[ ! -z $(typeset -f minstall) ]]
595     then
596     # rename the old one
597     old_minstall=old$(typeset -f minstall)
598     eval "${old_minstall}"
599 niro 20987
600 niro 2 minstall()
601     {
602     local abi
603     local abis_to_run="${MULTILIB_ABIS}"
604    
605     # respect MULTILIB_ONLY_ABI variable
606     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
607    
608     for abi in ${abis_to_run}
609     do
610     echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
611 niro 11522 cd ${SRCDIR}-${abi}/${SRCSUBDIR}
612 niro 2 abi-${abi} oldminstall $@ || die
613     done
614     }
615 niro 20987 fi
616 niro 2
617     minstall_destdir()
618     {
619     local abi
620     local abis_to_run="${MULTILIB_ABIS}"
621    
622     # respect MULTILIB_ONLY_ABI variable
623     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
624    
625     for abi in ${abis_to_run}
626     do
627     echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
628 niro 11522 cd ${SRCDIR}-${abi}/${SRCSUBDIR}
629 niro 2 make DESTDIR=${BINDIR} $@ install || die
630     done
631     }
632    
633 niro 3671 if [[ ! -z $(typeset -f mpatch) ]]
634     then
635     # rename the old one
636     old_mpatch=old$(typeset -f mpatch)
637     eval "${old_mpatch}"
638 niro 20987
639 niro 2 mpatch()
640     {
641     local abi
642     local abis_to_run="${MULTILIB_ABIS}"
643    
644     # respect MULTILIB_ONLY_ABI variable
645     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
646    
647     for abi in ${abis_to_run}
648     do
649     echo -e "${COLBLUE}*** ${COLGREEN}appling patch for ABI -${abi}${COLDEFAULT}"
650 niro 11522 cd ${SRCDIR}-${abi}/${SRCSUBDIR}
651 niro 2 oldmpatch $@ || die
652     done
653     }
654 niro 20987 fi
655 niro 2
656 niro 3671 if [[ ! -z $(typeset -f mlibtoolize) ]]
657     then
658     # rename the old one
659     old_mlibtoolize=old$(typeset -f mlibtoolize)
660     eval "${old_mlibtoolize}"
661 niro 20987
662 niro 2 mlibtoolize()
663     {
664     local abi
665     local abis_to_run="${MULTILIB_ABIS}"
666    
667     # respect MULTILIB_ONLY_ABI variable
668     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
669    
670     for abi in ${abis_to_run}
671     do
672     echo -e "${COLBLUE}*** ${COLGREEN}running mlibtoolize for ABI -${abi}${COLDEFAULT}"
673 niro 11522 cd ${SRCDIR}-${abi}/${SRCSUBDIR}
674 niro 2 oldmlibtoolize $@ || die
675     done
676     }
677 niro 20987 fi
678 niro 2
679 niro 9334 if [[ ! -z $(typeset -f mautoreconf) ]]
680     then
681     # rename the old one
682     old_mautoreconf=old$(typeset -f mautoreconf)
683     eval "${old_mautoreconf}"
684 niro 20987
685 niro 9334 mautoreconf()
686     {
687     local abi
688     local abis_to_run="${MULTILIB_ABIS}"
689    
690     # respect MULTILIB_ONLY_ABI variable
691     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
692    
693     for abi in ${abis_to_run}
694     do
695     echo -e "${COLBLUE}*** ${COLGREEN}running mautoreconf for ABI -${abi}${COLDEFAULT}"
696 niro 11522 cd ${SRCDIR}-${abi}/${SRCSUBDIR}
697 niro 9334 oldmautoreconf $@ || die
698     done
699     }
700 niro 20987 fi
701 niro 9334
702 niro 9333 if [[ ! -z $(typeset -f minstalldocs) ]]
703     then
704     # rename the old one
705     old_minstalldocs=old$(typeset -f minstalldocs)
706     eval "${old_minstalldocs}"
707 niro 20987
708 niro 2 minstalldocs()
709     {
710     local abi
711     local docfiles
712    
713     local abis_to_run="${MULTILIB_ABIS}"
714    
715     # respect MULTILIB_ONLY_ABI variable
716     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
717    
718     for abi in ${abis_to_run}
719     do
720 niro 11522 cd ${SRCDIR}-${abi}/${SRCSUBDIR}
721 niro 9756 oldminstalldocs $@ || die
722 niro 2 done
723     }
724 niro 20987 fi
725 niro 2
726     ##
727     # multilib mbuild wrappers
728     ##
729     multilib_src_prepare()
730     {
731 niro 20903 munpack ${SRCFILE} || die
732 niro 2 }
733    
734     multilib_src_compile()
735     {
736 niro 20977 if [[ ! -z $(typeset -f cmake_src_compile) ]]
737     then
738     cmake_src_compile || die
739     else
740     mconfigure || die
741     mmake || die
742     fi
743 niro 2 }
744    
745 niro 9902 multilib_src_check()
746     {
747 niro 20977 if [[ ! -z $(typeset -f cmake_src_check) ]]
748     then
749     cmake_src_check || die
750     else
751     mmake -j1 -k check || die
752     fi
753 niro 9902 }
754    
755 niro 2 multilib_src_install()
756     {
757 niro 20977 if [[ ! -z $(typeset -f cmake_src_install) ]]
758     then
759 niro 20980 cmake_src_install || die
760 niro 20977 else
761     mmake DESTDIR=${BINDIR} install || die
762     fi
763 niro 2
764     local i
765     for abi in ${MULTILIB_ABIS}
766     do
767 niro 11522 cd ${SRCDIR}-${abi}/${SRCSUBDIR}
768 niro 2 for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
769     FAQ LICENSE NEWS README TODO
770     do
771     if [ -f ${SRCDIR}-${abi}/${i} ]
772     then
773     minstalldocs ${i} || die
774     fi
775     done
776     done
777     }
778    
779 niro 9902 export_inherits multilib src_prepare src_compile src_check src_install