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