Magellan Linux

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

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

revision 11300 by niro, Fri Mar 2 15:27:45 2012 UTC revision 29801 by niro, Thu Oct 12 13:30:10 2017 UTC
# Line 1  Line 1 
1  # $Id$  # $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}  # be verbose or nor (true|false}
8  : ${MULTILIB_VERBOSE="true"}  : ${MULTILIB_VERBOSE="true"}
9    
# Line 39  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_SDEPEND_\${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_SDEPEND_\${ARCH/i*86/x86} | tr ';' '\n')"   $(marchsdepend EMUL_LINUX_32_SDEPEND)"
49   fi   fi
50  fi  fi
51    
# Line 89  abi-m32() Line 92  abi-m32()
92   else   else
93   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
94   fi   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}'"   echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
98   fi   fi
99    
# Line 100  abi-m32() Line 105  abi-m32()
105   echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"   echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"
106   fi   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   fi
110   if [[ ${MULTILIB_VERBOSE} = true ]]   if [[ ${MULTILIB_VERBOSE} = true ]]
111   then   then
# Line 108  abi-m32() Line 113  abi-m32()
113   fi   fi
114    
115   # run any given command   # run any given command
116     if [[ ${MULTILIB_VERBOSE} = true ]]
117     then
118     echo -e "${COLGREEN}Executing:${COLDEFAULT} '$@'"
119     fi
120   eval $@ || die   eval $@ || die
121    
122   unset ABI CC CXX ABI_LIBDIR   unset ABI CC CXX ABI_LIBDIR
# Line 119  abi-m32() Line 128  abi-m32()
128   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
129   then   then
130   unset uname   unset uname
131   export CHOST="${ORIG_CHOST}" && unset ORIG_CHOST   export CHOST="${orig_chost}" && unset orig_chost
132   fi   fi
133  }  }
134    
# Line 152  abi-m64() Line 161  abi-m64()
161   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
162   fi   fi
163   echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
164     echo -e "${COLBLUE}*** ${COLGREEN}  SRCDIR${COLDEFAULT}='${SRCDIR}/${SRCSUBDIR}'"
165   echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"   echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
166   fi   fi
167    
168   # run any given command   # run any given command
169     if [[ ${MULTILIB_VERBOSE} = true ]]
170     then
171     echo -e "${COLGREEN}Executing:${COLDEFAULT} '$@'"
172     fi
173   eval $@ || die   eval $@ || die
174    
175   unset ABI CC CXX ABI_LIBDIR   unset ABI CC CXX ABI_LIBDIR
# Line 176  only-m32() Line 190  only-m32()
190   # export this for mpatch etc (to repect only-${abi})   # export this for mpatch etc (to repect only-${abi})
191   export MULTILIB_ONLY_ABI=${abi}   export MULTILIB_ONLY_ABI=${abi}
192    
193   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
194   abi-${abi} $@ || die   abi-${abi} $@ || die
195    
196   # unset this is very important   # unset this is very important
# Line 197  only-m64() Line 211  only-m64()
211   # export this for mpatch etc (to repect only-${abi})   # export this for mpatch etc (to repect only-${abi})
212   export MULTILIB_ONLY_ABI=${abi}   export MULTILIB_ONLY_ABI=${abi}
213    
214   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
215   abi-${abi} $@ || die   abi-${abi} $@ || die
216    
217   # unset this is very important   # unset this is very important
# Line 211  all-abis() Line 225  all-abis()
225   local abi   local abi
226   for abi in ${MULTILIB_ABIS}   for abi in ${MULTILIB_ABIS}
227   do   do
228   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
229   abi-${abi} $@ || die   abi-${abi} $@ || die
230   done   done
231  }  }
# Line 221  mabi() Line 235  mabi()
235   echo \${ABI}   echo \${ABI}
236  }  }
237    
238    mabi-cc()
239    {
240     echo "gcc -\${ABI}"
241    }
242    
243    mabi-cxx()
244    {
245     echo "g++ -\${ABI}"
246    }
247    
248    mabi-cflags()
249    {
250     echo "\${CFLAGS}"
251    }
252    
253    mabi-cxxflags()
254    {
255     echo "\${CXXFLAGS}"
256    }
257    
258    mabi-ldflags()
259    {
260     echo "\${LDFLAGS}"
261    }
262    
263  ##  ##
264  # multilib compile functions  # multilib compile functions
265  ##  ##
# Line 230  then Line 269  then
269   # rename the old one   # rename the old one
270   old_mconfigure=old$(typeset -f mconfigure)   old_mconfigure=old$(typeset -f mconfigure)
271   eval "${old_mconfigure}"   eval "${old_mconfigure}"
272  fi  
273  mconfigure()  mconfigure()
274  {  {
275   local abi   local abi
# Line 241  mconfigure() Line 280  mconfigure()
280    
281   for abi in ${abis_to_run}   for abi in ${abis_to_run}
282   do   do
283   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
284   abi-${abi} oldmconfigure $@ || die   abi-${abi} oldmconfigure $@ || die
285   done   done
286  }  }
   
 if [[ ! -z $(typeset -f cmake_configure) ]]  
 then  
  # rename the old one  
  old_cmake_configure=old$(typeset -f cmake_configure)  
  eval "${old_cmake_configure}"  
287  fi  fi
 cmake_configure()  
 {  
  local abi  
  local abis_to_run="${MULTILIB_ABIS}"  
   
  # respect MULTILIB_ONLY_ABI variable  
  [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"  
   
  local saved_SRCDIR="${SRCDIR}"  
  for abi in ${abis_to_run}  
  do  
  SRCDIR="${saved_SRCDIR}-${abi}"  
  cd ${SRCDIR}  
  abi-${abi} oldcmake_configure $@ || die  
  done  
  # restore SRCDIR  
  SRCDIR="${saved_SRCDIR}"  
 }  
288    
289  if [[ ! -z $(typeset -f munpack) ]]  if [[ ! -z $(typeset -f munpack) ]]
290  then  then
291   # rename the old one   # rename the old one
292   old_munpack=old$(typeset -f munpack)   old_munpack=old$(typeset -f munpack)
293   eval "${old_munpack}"   eval "${old_munpack}"
294  fi  
295  munpack()  munpack()
296  {  {
297   local abi   local abi
# Line 288  munpack() Line 303  munpack()
303   for abi in ${abis_to_run}   for abi in ${abis_to_run}
304   do   do
305   echo -e "${COLBLUE}*** ${COLGREEN}unpacking for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}unpacking for ABI -${abi}${COLDEFAULT}"
306   oldmunpack ${SRCFILE} || die   oldmunpack $@ || die
307   mv ${SRCDIR} ${SRCDIR}-${abi} || die   mv ${SRCDIR} ${SRCDIR}-${abi} || die
308   done   done
309  }  }
310    fi
311    
312  if [[ ! -z $(typeset -f mmake) ]]  if [[ ! -z $(typeset -f mmake) ]]
313  then  then
314   # rename the old one   # rename the old one
315   old_mmake=old$(typeset -f mmake)   old_mmake=old$(typeset -f mmake)
316   eval "${old_mmake}"   eval "${old_mmake}"
317  fi  
318  mmake()  mmake()
319  {  {
320   local abi   local abi
# Line 310  mmake() Line 326  mmake()
326   for abi in ${abis_to_run}   for abi in ${abis_to_run}
327   do   do
328   echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"
329   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
330   abi-${abi} oldmmake $@ || die   abi-${abi} oldmmake $@ || die
331   done   done
332  }  }
333    fi
334    
335  if [[ ! -z $(typeset -f minstall) ]]  if [[ ! -z $(typeset -f minstall) ]]
336  then  then
337   # rename the old one   # rename the old one
338   old_minstall=old$(typeset -f minstall)   old_minstall=old$(typeset -f minstall)
339   eval "${old_minstall}"   eval "${old_minstall}"
340  fi  
341  minstall()  minstall()
342  {  {
343   local abi   local abi
# Line 332  minstall() Line 349  minstall()
349   for abi in ${abis_to_run}   for abi in ${abis_to_run}
350   do   do
351   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
352   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
353   abi-${abi} oldminstall $@ || die   abi-${abi} oldminstall $@ || die
354   done   done
355  }  }
356    fi
357    
358  minstall_destdir()  minstall_destdir()
359  {  {
# Line 348  minstall_destdir() Line 366  minstall_destdir()
366   for abi in ${abis_to_run}   for abi in ${abis_to_run}
367   do   do
368   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
369   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
370   make DESTDIR=${BINDIR} $@ install || die   make DESTDIR=${BINDIR} $@ install || die
371   done   done
372  }  }
# Line 358  then Line 376  then
376   # rename the old one   # rename the old one
377   old_mpatch=old$(typeset -f mpatch)   old_mpatch=old$(typeset -f mpatch)
378   eval "${old_mpatch}"   eval "${old_mpatch}"
379  fi  
380  mpatch()  mpatch()
381  {  {
382   local abi   local abi
# Line 370  mpatch() Line 388  mpatch()
388   for abi in ${abis_to_run}   for abi in ${abis_to_run}
389   do   do
390   echo -e "${COLBLUE}*** ${COLGREEN}appling patch for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}appling patch for ABI -${abi}${COLDEFAULT}"
391   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
392   oldmpatch $@ || die   oldmpatch $@ || die
393   done   done
394  }  }
395    fi
396    
397  if [[ ! -z $(typeset -f mlibtoolize) ]]  if [[ ! -z $(typeset -f mlibtoolize) ]]
398  then  then
399   # rename the old one   # rename the old one
400   old_mlibtoolize=old$(typeset -f mlibtoolize)   old_mlibtoolize=old$(typeset -f mlibtoolize)
401   eval "${old_mlibtoolize}"   eval "${old_mlibtoolize}"
402  fi  
403  mlibtoolize()  mlibtoolize()
404  {  {
405   local abi   local abi
# Line 392  mlibtoolize() Line 411  mlibtoolize()
411   for abi in ${abis_to_run}   for abi in ${abis_to_run}
412   do   do
413   echo -e "${COLBLUE}*** ${COLGREEN}running mlibtoolize for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}running mlibtoolize for ABI -${abi}${COLDEFAULT}"
414   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
415   oldmlibtoolize $@ || die   oldmlibtoolize $@ || die
416   done   done
417  }  }
418    fi
419    
420  if [[ ! -z $(typeset -f mautoreconf) ]]  if [[ ! -z $(typeset -f mautoreconf) ]]
421  then  then
422   # rename the old one   # rename the old one
423   old_mautoreconf=old$(typeset -f mautoreconf)   old_mautoreconf=old$(typeset -f mautoreconf)
424   eval "${old_mautoreconf}"   eval "${old_mautoreconf}"
425  fi  
426  mautoreconf()  mautoreconf()
427  {  {
428   local abi   local abi
# Line 414  mautoreconf() Line 434  mautoreconf()
434   for abi in ${abis_to_run}   for abi in ${abis_to_run}
435   do   do
436   echo -e "${COLBLUE}*** ${COLGREEN}running mautoreconf for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}running mautoreconf for ABI -${abi}${COLDEFAULT}"
437   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
438   oldmautoreconf $@ || die   oldmautoreconf $@ || die
439   done   done
440  }  }
441    fi
442    
443  if [[ ! -z $(typeset -f minstalldocs) ]]  if [[ ! -z $(typeset -f minstalldocs) ]]
444  then  then
445   # rename the old one   # rename the old one
446   old_minstalldocs=old$(typeset -f minstalldocs)   old_minstalldocs=old$(typeset -f minstalldocs)
447   eval "${old_minstalldocs}"   eval "${old_minstalldocs}"
448  fi  
449  minstalldocs()  minstalldocs()
450  {  {
451   local abi   local abi
# Line 437  minstalldocs() Line 458  minstalldocs()
458    
459   for abi in ${abis_to_run}   for abi in ${abis_to_run}
460   do   do
461   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
462   oldminstalldocs $@ || die   oldminstalldocs $@ || die
463   done   done
464  }  }
465    fi
 ##  
 # multilib mbuild wrappers  
 ##  
 multilib_src_prepare()  
 {  
  munpack  
 }  
   
 multilib_src_compile()  
 {  
  mconfigure  
  mmake  
 }  
   
 multilib_src_check()  
 {  
  mmake -j1 -k check || die  
 }  
   
 multilib_src_install()  
 {  
  minstall_destdir  
   
  local i  
  for abi in ${MULTILIB_ABIS}  
  do  
  cd ${SRCDIR}-${abi}  
  for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \  
  FAQ LICENSE NEWS README TODO  
  do  
  if [ -f ${SRCDIR}-${abi}/${i} ]  
  then  
  minstalldocs ${i} || die  
  fi  
  done  
  done  
 }  
   
 export_inherits multilib src_prepare src_compile src_check src_install  

Legend:
Removed from v.11300  
changed lines
  Added in v.29801