Magellan Linux

Diff of /branches/R11-unstable/include/multilib.sminc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/core/include/multilib.sminc revision 307 by niro, Mon Dec 22 11:33:39 2008 UTC trunk/include/multilib.sminc revision 29788 by niro, Thu Oct 12 08:49:24 2017 UTC
# Line 1  Line 1 
1  # $Header: /magellan-cvs/smage/include/multilib.sminc,v 1.33 2007-11-13 15:49:09 niro Exp $  # $Id$
2  # multilib abis  # 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    # multilib should call all dependant includes, which gets overridden
11    sminclude mtools
12    
13  # do not define EMUL_LINUX_32 after inherit of multlib !!  # do not define EMUL_LINUX_32 after inherit of multlib !!
14  # it may break i*86 builds  # it may break i*86 builds
15    
# Line 14  case ${ARCH} in Line 23  case ${ARCH} in
23   # add linux32 to the dependencies   # add linux32 to the dependencies
24   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
25   then   then
26   EMUL_LINUX_32_SDEPENDS_x86_64=">= dev-util/linux32-1"   EMUL_LINUX_32_SDEPEND_x86_64=">= sys-apps/util-linux-2.19"
27   SPECIAL_VARS="${SPECIAL_VARS} EMUL_LINUX_32_SDEPENDS_x86_64"   SPECIAL_VARS="${SPECIAL_VARS} EMUL_LINUX_32_SDEPEND_x86_64"
28   fi   fi
29   ;;   ;;
30   i*86)   i*86)
# Line 33  then Line 42  then
42   # the var ist decided with our common eval+echo magic   # the var ist decided with our common eval+echo magic
43   if [[ -z ${SDEPEND} ]]   if [[ -z ${SDEPEND} ]]
44   then   then
45   SDEPEND="\$(eval echo \\\$EMUL_LINUX_32_SDEPENDS_\${ARCH/i*86/x86} | tr ';' '\n')"   SDEPEND="$(marchsdepend EMUL_LINUX_32_SDEPEND)"
46   else   else
47   SDEPEND="${SDEPEND}   SDEPEND="${SDEPEND}
48   \$(eval echo \\\$EMUL_LINUX_32_SDEPENDS_\${ARCH/i*86/x86} | tr ';' '\n')"   $(marchsdepend EMUL_LINUX_32_SDEPEND)"
49   fi   fi
50  fi  fi
51    
# Line 63  abi-m32() Line 72  abi-m32()
72   export ABI_LIBDIR="lib"   export ABI_LIBDIR="lib"
73   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
74   then   then
75   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"   local saved_ldflags="${LDFLAGS}"
76     export LDFLAGS="${LDFLAGS} -L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
77   fi   fi
78   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig"   # 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    
82   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"   if [[ ${MULTILIB_VERBOSE} = true ]]
  echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"  
  echo -e "${COLBLUE}*** ${COLGREEN}  CC${COLDEFAULT}='${CC}'"  
  echo -e "${COLBLUE}*** ${COLGREEN}  CXX${COLDEFAULT}='${CXX}'"  
  echo -e "${COLBLUE}*** ${COLGREEN}  ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"  
  if [[ ${EXPORT_ABI_LDFLAGS} != false ]]  
83   then   then
84   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
85   else   echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"
86   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   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     echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
96     echo -e "${COLBLUE}*** ${COLGREEN}  SRCDIR${COLDEFAULT}='${SRCDIR}/${SRCSUBDIR}'"
97     echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
98   fi   fi
  echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"  
99    
100   # configure a linux32 emulated build   # configure a linux32 emulated build
101   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
102   then   then
103   echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"   if [[ ${MULTILIB_VERBOSE} = true ]]
104     then
105     echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"
106     fi
107   uname(){ linux32 uname $@; } && export -f uname   uname(){ linux32 uname $@; } && export -f uname
108   ORIG_CHOST="${CHOST}" && export CHOST="i686-pc-linux-gnu"   local orig_chost="${CHOST}" && export CHOST="i686-pc-linux-gnu"
109     fi
110     if [[ ${MULTILIB_VERBOSE} = true ]]
111     then
112     echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
113   fi   fi
  echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"  
114    
115   # run any given command   # run any given command
116   eval $@ || die   eval $@ || die
117    
118   unset ABI CC CXX ABI_LIBDIR LDFLAGS PKG_CONFIG_PATH   unset ABI CC CXX ABI_LIBDIR
119     # keep pkgconfig clean
120     export PKG_CONFIG_PATH="${orig_pkg_config_path}"
121     export LDFLAGS="${saved_ldflags}"
122    
123   # restore original settings   # restore original settings
124   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
125   then   then
126   unset uname   unset uname
127   export CHOST="${ORIG_CHOST}" && unset ORIG_CHOST   export CHOST="${orig_chost}" && unset orig_chost
128   fi   fi
129  }  }
130    
# Line 110  abi-m64() Line 136  abi-m64()
136   export ABI_LIBDIR="lib64"   export ABI_LIBDIR="lib64"
137   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
138   then   then
139     local saved_ldflags="${LDFLAGS}"
140   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
141   fi   fi
142   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig"   # 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    
146   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"   if [[ ${MULTILIB_VERBOSE} = true ]]
  echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"  
  echo -e "${COLBLUE}*** ${COLGREEN}  CC${COLDEFAULT}='${CC}'"  
  echo -e "${COLBLUE}*** ${COLGREEN}  CXX${COLDEFAULT}='${CXX}'"  
  echo -e "${COLBLUE}*** ${COLGREEN}  ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"  
  if [[ ${EXPORT_ABI_LDFLAGS} != false ]]  
147   then   then
148   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
149   else   echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"
150   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   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     echo -e "${COLBLUE}*** ${COLGREEN}  SRCDIR${COLDEFAULT}='${SRCDIR}/${SRCSUBDIR}'"
161     echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
162   fi   fi
  echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"  
  echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"  
163    
164   # run any given command   # run any given command
165   eval $@ || die   eval $@ || die
166    
167   unset ABI CC CXX ABI_LIBDIR LDFLAGS PKG_CONFIG_PATH   unset ABI CC CXX ABI_LIBDIR
168     # keep pkgconfig clean
169     export PKG_CONFIG_PATH="${orig_pkg_config_path}"
170     export LDFLAGS="${saved_ldflags}"
171  }  }
172    
173  only-m32()  only-m32()
# Line 146  only-m32() Line 182  only-m32()
182   # export this for mpatch etc (to repect only-${abi})   # export this for mpatch etc (to repect only-${abi})
183   export MULTILIB_ONLY_ABI=${abi}   export MULTILIB_ONLY_ABI=${abi}
184    
185   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
186   abi-${abi} $@ || die   abi-${abi} $@ || die
187    
188   # unset this is very important   # unset this is very important
# Line 167  only-m64() Line 203  only-m64()
203   # export this for mpatch etc (to repect only-${abi})   # export this for mpatch etc (to repect only-${abi})
204   export MULTILIB_ONLY_ABI=${abi}   export MULTILIB_ONLY_ABI=${abi}
205    
206   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
207   abi-${abi} $@ || die   abi-${abi} $@ || die
208    
209   # unset this is very important   # unset this is very important
# Line 181  all-abis() Line 217  all-abis()
217   local abi   local abi
218   for abi in ${MULTILIB_ABIS}   for abi in ${MULTILIB_ABIS}
219   do   do
220   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
221   abi-${abi} $@ || die   abi-${abi} $@ || die
222   done   done
223  }  }
224    
225    mabi()
226    {
227     echo \${ABI}
228    }
229    
230    mabi-cc()
231    {
232     echo "gcc -\${ABI}"
233    }
234    
235    mabi-cxx()
236    {
237     echo "g++ -\${ABI}"
238    }
239    
240    mabi-cflags()
241    {
242     echo "\${CFLAGS}"
243    }
244    
245    mabi-cxxflags()
246    {
247     echo "\${CXXFLAGS}"
248    }
249    
250    mabi-ldflags()
251    {
252     echo "\${LDFLAGS}"
253    }
254    
255  ##  ##
256  # multilib compile functions  # multilib compile functions
257  ##  ##
258    
259  # rename the old one  if [[ ! -z $(typeset -f mconfigure) ]]
260  old_mconfigure=old$(typeset -f mconfigure)  then
261  eval ${old_mconfigure}   # rename the old one
262     old_mconfigure=old$(typeset -f mconfigure)
263     eval "${old_mconfigure}"
264    
265  mconfigure()  mconfigure()
266  {  {
267   local abi   local abi
# Line 203  mconfigure() Line 272  mconfigure()
272    
273   for abi in ${abis_to_run}   for abi in ${abis_to_run}
274   do   do
275   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
276   abi-${abi} oldmconfigure $@ || die   abi-${abi} oldmconfigure $@ || die
277   done   done
278  }  }
279    fi
280    
281    if [[ ! -z $(typeset -f cmake_configure) ]]
282    then
283     # rename the old one
284     old_cmake_configure=old$(typeset -f cmake_configure)
285     eval "${old_cmake_configure}"
286    
287    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     # honor inside and outside build-dir builds
300     if [ -d ${BUILDDIR}/build-${abi} ]
301     then
302     cd ${BUILDDIR}/build-${abi}
303     else
304     cd ${SRCDIR}
305     fi
306     abi-${abi} oldcmake_configure $@ || die
307     done
308     # restore SRCDIR
309     SRCDIR="${saved_SRCDIR}"
310    }
311    fi
312    
313    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    
319    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    fi
346    
347    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    
353    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     # honor inside and outside build-dir builds
364     if [ -d ${BUILDDIR}/build-${abi} ]
365     then
366     cd ${BUILDDIR}/build-${abi}
367     else
368     cd ${SRCDIR}-${abi}
369     fi
370     mmake -j1 -k check || die
371     done
372    }
373    fi
374    
375    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    
381    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     # honor inside and outside build-dir builds
392     if [ -d ${BUILDDIR}/build-${abi} ]
393     then
394     cd ${BUILDDIR}/build-${abi}
395     else
396     cd ${SRCDIR}-${abi}
397     fi
398     abi-${abi} oldmmake DESTDIR=${BINDIR} $@ install || die
399     done
400    }
401    fi
402    
403    if [[ ! -z $(typeset -f mninja) ]]
404    then
405     # rename the old one
406     old_mninja=old$(typeset -f mninja)
407     eval "${old_mninja}"
408    
409    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    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     abi-${abi} oldmninja $@ || die
488     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     abi-${abi} DESTDIR=${BINDIR} oldmninja $@ install || die
544     done
545    }
546    fi
547    
548    if [[ ! -z $(typeset -f munpack) ]]
549    then
550     # rename the old one
551     old_munpack=old$(typeset -f munpack)
552     eval "${old_munpack}"
553    
 # rename the old one  
 old_munpack=old$(typeset -f munpack)  
 eval "${old_munpack}"  
554  munpack()  munpack()
555  {  {
556   local abi   local abi
# Line 222  munpack() Line 562  munpack()
562   for abi in ${abis_to_run}   for abi in ${abis_to_run}
563   do   do
564   echo -e "${COLBLUE}*** ${COLGREEN}unpacking for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}unpacking for ABI -${abi}${COLDEFAULT}"
565   oldmunpack ${SRCFILE} || die   oldmunpack $@ || die
566   mv ${SRCDIR} ${SRCDIR}-${abi} || die   mv ${SRCDIR} ${SRCDIR}-${abi} || die
567   done   done
568  }  }
569    fi
570    
571    if [[ ! -z $(typeset -f mmake) ]]
572    then
573     # rename the old one
574     old_mmake=old$(typeset -f mmake)
575     eval "${old_mmake}"
576    
 # rename the old one  
 old_mmake=old$(typeset -f mmake)  
 eval "${old_mmake}"  
577  mmake()  mmake()
578  {  {
579   local abi   local abi
# Line 241  mmake() Line 585  mmake()
585   for abi in ${abis_to_run}   for abi in ${abis_to_run}
586   do   do
587   echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"
588   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
589   abi-${abi} oldmmake $@ || die   abi-${abi} oldmmake $@ || die
590   done   done
591  }  }
592    fi
593    
594    if [[ ! -z $(typeset -f minstall) ]]
595    then
596     # rename the old one
597     old_minstall=old$(typeset -f minstall)
598     eval "${old_minstall}"
599    
 # rename the old one  
 old_minstall=old$(typeset -f minstall)  
 eval "${old_minstall}"  
600  minstall()  minstall()
601  {  {
602   local abi   local abi
# Line 260  minstall() Line 608  minstall()
608   for abi in ${abis_to_run}   for abi in ${abis_to_run}
609   do   do
610   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
611   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
612   abi-${abi} oldminstall $@ || die   abi-${abi} oldminstall $@ || die
613   done   done
614  }  }
615    fi
616    
617  minstall_destdir()  minstall_destdir()
618  {  {
# Line 276  minstall_destdir() Line 625  minstall_destdir()
625   for abi in ${abis_to_run}   for abi in ${abis_to_run}
626   do   do
627   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
628   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
629   make DESTDIR=${BINDIR} $@ install || die   make DESTDIR=${BINDIR} $@ install || die
630   done   done
631  }  }
632    
633  # rename the old one  if [[ ! -z $(typeset -f mpatch) ]]
634  old_mpatch=old$(typeset -f mpatch)  then
635  eval "${old_mpatch}"   # rename the old one
636     old_mpatch=old$(typeset -f mpatch)
637     eval "${old_mpatch}"
638    
639  mpatch()  mpatch()
640  {  {
641   local abi   local abi
# Line 295  mpatch() Line 647  mpatch()
647   for abi in ${abis_to_run}   for abi in ${abis_to_run}
648   do   do
649   echo -e "${COLBLUE}*** ${COLGREEN}appling patch for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}appling patch for ABI -${abi}${COLDEFAULT}"
650   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
651   oldmpatch $@ || die   oldmpatch $@ || die
652   done   done
653  }  }
654    fi
655    
656    if [[ ! -z $(typeset -f mlibtoolize) ]]
657    then
658     # rename the old one
659     old_mlibtoolize=old$(typeset -f mlibtoolize)
660     eval "${old_mlibtoolize}"
661    
 # rename the old one  
 old_mlibtoolize=old$(typeset -f mlibtoolize)  
 eval "${old_mlibtoolize}"  
662  mlibtoolize()  mlibtoolize()
663  {  {
664   local abi   local abi
# Line 314  mlibtoolize() Line 670  mlibtoolize()
670   for abi in ${abis_to_run}   for abi in ${abis_to_run}
671   do   do
672   echo -e "${COLBLUE}*** ${COLGREEN}running mlibtoolize for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}running mlibtoolize for ABI -${abi}${COLDEFAULT}"
673   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
674   oldmlibtoolize $@ || die   oldmlibtoolize $@ || die
675   done   done
676  }  }
677    fi
678    
679    if [[ ! -z $(typeset -f mautoreconf) ]]
680    then
681     # rename the old one
682     old_mautoreconf=old$(typeset -f mautoreconf)
683     eval "${old_mautoreconf}"
684    
685    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     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
697     oldmautoreconf $@ || die
698     done
699    }
700    fi
701    
702    if [[ ! -z $(typeset -f minstalldocs) ]]
703    then
704     # rename the old one
705     old_minstalldocs=old$(typeset -f minstalldocs)
706     eval "${old_minstalldocs}"
707    
708  minstalldocs()  minstalldocs()
709  {  {
710   local abi   local abi
711   local docfiles   local docfiles
  docfiles="$@"  
712    
713   local abis_to_run="${MULTILIB_ABIS}"   local abis_to_run="${MULTILIB_ABIS}"
714    
# Line 332  minstalldocs() Line 717  minstalldocs()
717    
718   for abi in ${abis_to_run}   for abi in ${abis_to_run}
719   do   do
720   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
721   if [ ! -d ${BINDIR}/usr/share/doc/${PNAME}-${PVER} ]   oldminstalldocs $@ || die
  then  
  install -d ${BINDIR}/usr/share/doc/${PNAME}-${PVER} || die "creating doc dirs."  
  fi  
   
  for i in ${docfiles}  
  do  
  cat ${SRCDIR}-${abi}/${i} | gzip -9c > ${SRCDIR}-${abi}/${i}.gz || die "gzipping docs."  
  install -m 0644 ${SRCDIR}-${abi}/${i}.gz \  
  ${BINDIR}/usr/share/doc/${PNAME}-${PVER} || die "coping docs."  
  done  
722   done   done
723  }  }
724    fi
725    
726  ##  ##
727  # multilib mbuild wrappers  # multilib mbuild wrappers
728  ##  ##
729  multilib_src_prepare()  multilib_src_prepare()
730  {  {
731   munpack   munpack ${SRCFILE} || die
732  }  }
733    
734  multilib_src_compile()  multilib_src_compile()
735  {  {
736   mconfigure   if [[ ! -z $(typeset -f cmake_src_compile) ]]
737   mmake   then
738     cmake_src_compile || die
739     else
740     mconfigure || die
741     mmake || die
742     fi
743    }
744    
745    multilib_src_check()
746    {
747     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  }  }
754    
755  multilib_src_install()  multilib_src_install()
756  {  {
757   minstall_destdir   if [[ ! -z $(typeset -f cmake_src_install) ]]
758     then
759     cmake_src_install || die
760     else
761     mmake DESTDIR=${BINDIR} install || die
762     fi
763    
764   local i   local i
765   for abi in ${MULTILIB_ABIS}   for abi in ${MULTILIB_ABIS}
766   do   do
767   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
768   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
769   FAQ LICENSE NEWS README TODO   FAQ LICENSE NEWS README TODO
770   do   do
# Line 380  multilib_src_install() Line 776  multilib_src_install()
776   done   done
777  }  }
778    
779  export_inherits multilib src_prepare src_compile src_install  export_inherits multilib src_prepare src_compile src_check src_install

Legend:
Removed from v.307  
changed lines
  Added in v.29788