Magellan Linux

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

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

trunk/include/multilib.sminc revision 13972 by niro, Fri Nov 2 10:45:29 2012 UTC branches/R11-unstable/include/multilib.sminc revision 32899 by niro, Mon Apr 29 14:06:55 2019 UTC
# Line 7  export MULTILIB_BUILD="true" Line 7  export MULTILIB_BUILD="true"
7  # be verbose or nor (true|false}  # be verbose or nor (true|false}
8  : ${MULTILIB_VERBOSE="true"}  : ${MULTILIB_VERBOSE="true"}
9    
10    # enter the abi srcdir as default setting
11    : ${MULTILIB_ENTER_SRCDIR="true"}
12    
13  # multilib should call all dependant includes, which gets overridden  # multilib should call all dependant includes, which gets overridden
14  sminclude mtools  sminclude mtools
15    
# Line 42  then Line 45  then
45   # the var ist decided with our common eval+echo magic   # the var ist decided with our common eval+echo magic
46   if [[ -z ${SDEPEND} ]]   if [[ -z ${SDEPEND} ]]
47   then   then
48   SDEPEND="\$(eval echo \\\$EMUL_LINUX_32_SDEPEND_\${ARCH/i*86/x86} | tr ';' '\n')"   SDEPEND="$(marchsdepend EMUL_LINUX_32_SDEPEND)"
49   else   else
50   SDEPEND="${SDEPEND}   SDEPEND="${SDEPEND}
51   \$(eval echo \\\$EMUL_LINUX_32_SDEPEND_\${ARCH/i*86/x86} | tr ';' '\n')"   $(marchsdepend EMUL_LINUX_32_SDEPEND)"
52   fi   fi
53  fi  fi
54    
# Line 79  abi-m32() Line 82  abi-m32()
82   local orig_pkg_config_path="${PKG_CONFIG_PATH}"   local orig_pkg_config_path="${PKG_CONFIG_PATH}"
83   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"
84    
85     # honor rust
86     case ${ARCH} in
87     # use native abi as RUST_TARGET
88     i686) export RUST_TARGET="${ARCH}-unknown-linux-gnu" ;;
89     # use i686 as RUST_TARGET for i{3,4,5}86 targets and on multilib-x86_64 target too
90     i*86|x86_64) export RUST_TARGET="i686-unknown-linux-gnu" ;;
91     *)  die "unknown RUST_TARGET '${ARCH}'" ;;
92     esac
93    
94   if [[ ${MULTILIB_VERBOSE} = true ]]   if [[ ${MULTILIB_VERBOSE} = true ]]
95   then   then
96   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
# Line 93  abi-m32() Line 105  abi-m32()
105   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
106   fi   fi
107   echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
108     echo -e "${COLBLUE}*** ${COLGREEN}  RUST_TARGET${COLDEFAULT}='${RUST_TARGET}'"
109   echo -e "${COLBLUE}*** ${COLGREEN}  SRCDIR${COLDEFAULT}='${SRCDIR}/${SRCSUBDIR}'"   echo -e "${COLBLUE}*** ${COLGREEN}  SRCDIR${COLDEFAULT}='${SRCDIR}/${SRCSUBDIR}'"
110   echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"   echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
111   fi   fi
112    
113   # configure a linux32 emulated build   # configure a linux32 emulated build
  local linux32  
114   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
115   then   then
116   if [[ ${MULTILIB_VERBOSE} = true ]]   if [[ ${MULTILIB_VERBOSE} = true ]]
# Line 107  abi-m32() Line 119  abi-m32()
119   fi   fi
120   uname(){ linux32 uname $@; } && export -f uname   uname(){ linux32 uname $@; } && export -f uname
121   local orig_chost="${CHOST}" && export CHOST="i686-pc-linux-gnu"   local orig_chost="${CHOST}" && export CHOST="i686-pc-linux-gnu"
  linux32="linux32"  
122   fi   fi
123   if [[ ${MULTILIB_VERBOSE} = true ]]   if [[ ${MULTILIB_VERBOSE} = true ]]
124   then   then
# Line 115  abi-m32() Line 126  abi-m32()
126   fi   fi
127    
128   # run any given command   # run any given command
129   eval ${linux32} $@ || die   if [[ ${MULTILIB_VERBOSE} = true ]]
130     then
131     echo -e "${COLGREEN}Executing:${COLDEFAULT} '$@'"
132     fi
133     eval $@ || die
134    
135   unset ABI CC CXX ABI_LIBDIR   unset ABI CC CXX ABI_LIBDIR RUST_TARGET
136   # keep pkgconfig clean   # keep pkgconfig clean
137   export PKG_CONFIG_PATH="${orig_pkg_config_path}"   export PKG_CONFIG_PATH="${orig_pkg_config_path}"
138   export LDFLAGS="${saved_ldflags}"   export LDFLAGS="${saved_ldflags}"
# Line 127  abi-m32() Line 142  abi-m32()
142   then   then
143   unset uname   unset uname
144   export CHOST="${orig_chost}" && unset orig_chost   export CHOST="${orig_chost}" && unset orig_chost
  unset linux32  
145   fi   fi
146  }  }
147    
# Line 146  abi-m64() Line 160  abi-m64()
160   local orig_pkg_config_path="${PKG_CONFIG_PATH}"   local orig_pkg_config_path="${PKG_CONFIG_PATH}"
161   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"
162    
163     # honor rust
164     case ${ARCH} in
165     # use native abi as RUST_TARGET
166     x86_64) export RUST_TARGET="${ARCH}-unknown-linux-gnu" ;;
167     *)  die "unknown RUST_TARGET '${ARCH}'" ;;
168     esac
169    
170   if [[ ${MULTILIB_VERBOSE} = true ]]   if [[ ${MULTILIB_VERBOSE} = true ]]
171   then   then
172   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
# Line 160  abi-m64() Line 181  abi-m64()
181   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
182   fi   fi
183   echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
184     echo -e "${COLBLUE}*** ${COLGREEN}  RUST_TARGET${COLDEFAULT}='${RUST_TARGET}'"
185   echo -e "${COLBLUE}*** ${COLGREEN}  SRCDIR${COLDEFAULT}='${SRCDIR}/${SRCSUBDIR}'"   echo -e "${COLBLUE}*** ${COLGREEN}  SRCDIR${COLDEFAULT}='${SRCDIR}/${SRCSUBDIR}'"
186   echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"   echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
187   fi   fi
188    
189   # run any given command   # run any given command
190     if [[ ${MULTILIB_VERBOSE} = true ]]
191     then
192     echo -e "${COLGREEN}Executing:${COLDEFAULT} '$@'"
193     fi
194   eval $@ || die   eval $@ || die
195    
196   unset ABI CC CXX ABI_LIBDIR   unset ABI CC CXX ABI_LIBDIR RUST_TARGET
197   # keep pkgconfig clean   # keep pkgconfig clean
198   export PKG_CONFIG_PATH="${orig_pkg_config_path}"   export PKG_CONFIG_PATH="${orig_pkg_config_path}"
199   export LDFLAGS="${saved_ldflags}"   export LDFLAGS="${saved_ldflags}"
# Line 185  only-m32() Line 211  only-m32()
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}/${SRCSUBDIR}   if [[ ${MULTILIB_ENTER_SRCDIR} = true ]]
215     then
216     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
217     fi
218   abi-${abi} $@ || die   abi-${abi} $@ || die
219    
220   # unset this is very important   # unset this is very important
# Line 206  only-m64() Line 235  only-m64()
235   # export this for mpatch etc (to repect only-${abi})   # export this for mpatch etc (to repect only-${abi})
236   export MULTILIB_ONLY_ABI=${abi}   export MULTILIB_ONLY_ABI=${abi}
237    
238   cd ${SRCDIR}-${abi}/${SRCSUBDIR}   if [[ ${MULTILIB_ENTER_SRCDIR} = true ]]
239     then
240     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
241     fi
242   abi-${abi} $@ || die   abi-${abi} $@ || die
243    
244   # unset this is very important   # unset this is very important
# Line 220  all-abis() Line 252  all-abis()
252   local abi   local abi
253   for abi in ${MULTILIB_ABIS}   for abi in ${MULTILIB_ABIS}
254   do   do
255   cd ${SRCDIR}-${abi}/${SRCSUBDIR}   if [[ ${MULTILIB_ENTER_SRCDIR} = true ]]
256     then
257     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
258     fi
259   abi-${abi} $@ || die   abi-${abi} $@ || die
260   done   done
261  }  }
# Line 232  mabi() Line 267  mabi()
267    
268  mabi-cc()  mabi-cc()
269  {  {
270   echo "\"gcc -\${ABI}\""   echo "gcc -\${ABI}"
271  }  }
272    
273  mabi-cxx()  mabi-cxx()
274  {  {
275   echo "\"g++ -\${ABI}\""   echo "g++ -\${ABI}"
276  }  }
277    
278  mabi-cflags()  mabi-cflags()
279  {  {
280   echo "\"\${CFLAGS}\""   echo "\${CFLAGS}"
281  }  }
282    
283  mabi-cxxflags()  mabi-cxxflags()
284  {  {
285   echo "\"\${CXXFLAGS}\""   echo "\${CXXFLAGS}"
286  }  }
287    
288  mabi-ldflags()  mabi-ldflags()
289  {  {
290   echo "\"\${LDFLAGS}\""   echo "\${LDFLAGS}"
291  }  }
292    
293  ##  ##
# Line 264  then Line 299  then
299   # rename the old one   # rename the old one
300   old_mconfigure=old$(typeset -f mconfigure)   old_mconfigure=old$(typeset -f mconfigure)
301   eval "${old_mconfigure}"   eval "${old_mconfigure}"
302  fi  
303  mconfigure()  mconfigure()
304  {  {
305   local abi   local abi
# Line 275  mconfigure() Line 310  mconfigure()
310    
311   for abi in ${abis_to_run}   for abi in ${abis_to_run}
312   do   do
313   cd ${SRCDIR}-${abi}/${SRCSUBDIR}   if [[ ${MULTILIB_ENTER_SRCDIR} = true ]]
314     then
315     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
316     fi
317   abi-${abi} oldmconfigure $@ || die   abi-${abi} oldmconfigure $@ || die
318   done   done
319  }  }
   
 if [[ ! -z $(typeset -f cmake_configure) ]]  
 then  
  # rename the old one  
  old_cmake_configure=old$(typeset -f cmake_configure)  
  eval "${old_cmake_configure}"  
320  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}/${SRCSUBDIR}  
  abi-${abi} oldcmake_configure $@ || die  
  done  
  # restore SRCDIR  
  SRCDIR="${saved_SRCDIR}"  
 }  
321    
322  if [[ ! -z $(typeset -f munpack) ]]  if [[ ! -z $(typeset -f munpack) ]]
323  then  then
324   # rename the old one   # rename the old one
325   old_munpack=old$(typeset -f munpack)   old_munpack=old$(typeset -f munpack)
326   eval "${old_munpack}"   eval "${old_munpack}"
327  fi  
328  munpack()  munpack()
329  {  {
330   local abi   local abi
# Line 326  munpack() Line 340  munpack()
340   mv ${SRCDIR} ${SRCDIR}-${abi} || die   mv ${SRCDIR} ${SRCDIR}-${abi} || die
341   done   done
342  }  }
343    fi
344    
345  if [[ ! -z $(typeset -f mmake) ]]  if [[ ! -z $(typeset -f mmake) ]]
346  then  then
347   # rename the old one   # rename the old one
348   old_mmake=old$(typeset -f mmake)   old_mmake=old$(typeset -f mmake)
349   eval "${old_mmake}"   eval "${old_mmake}"
350  fi  
351  mmake()  mmake()
352  {  {
353   local abi   local abi
# Line 344  mmake() Line 359  mmake()
359   for abi in ${abis_to_run}   for abi in ${abis_to_run}
360   do   do
361   echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"
362   cd ${SRCDIR}-${abi}/${SRCSUBDIR}   if [[ ${MULTILIB_ENTER_SRCDIR} = true ]]
363     then
364     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
365     fi
366   abi-${abi} oldmmake $@ || die   abi-${abi} oldmmake $@ || die
367   done   done
368  }  }
369    fi
370    
371  if [[ ! -z $(typeset -f minstall) ]]  if [[ ! -z $(typeset -f minstall) ]]
372  then  then
373   # rename the old one   # rename the old one
374   old_minstall=old$(typeset -f minstall)   old_minstall=old$(typeset -f minstall)
375   eval "${old_minstall}"   eval "${old_minstall}"
376  fi  
377  minstall()  minstall()
378  {  {
379   local abi   local abi
# Line 366  minstall() Line 385  minstall()
385   for abi in ${abis_to_run}   for abi in ${abis_to_run}
386   do   do
387   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
388   cd ${SRCDIR}-${abi}/${SRCSUBDIR}   if [[ ${MULTILIB_ENTER_SRCDIR} = true ]]
389     then
390     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
391     fi
392   abi-${abi} oldminstall $@ || die   abi-${abi} oldminstall $@ || die
393   done   done
394  }  }
395    fi
396    
397  minstall_destdir()  minstall_destdir()
398  {  {
# Line 382  minstall_destdir() Line 405  minstall_destdir()
405   for abi in ${abis_to_run}   for abi in ${abis_to_run}
406   do   do
407   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
408   cd ${SRCDIR}-${abi}/${SRCSUBDIR}   if [[ ${MULTILIB_ENTER_SRCDIR} = true ]]
409     then
410     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
411     fi
412   make DESTDIR=${BINDIR} $@ install || die   make DESTDIR=${BINDIR} $@ install || die
413   done   done
414  }  }
# Line 392  then Line 418  then
418   # rename the old one   # rename the old one
419   old_mpatch=old$(typeset -f mpatch)   old_mpatch=old$(typeset -f mpatch)
420   eval "${old_mpatch}"   eval "${old_mpatch}"
421  fi  
422  mpatch()  mpatch()
423  {  {
424   local abi   local abi
# Line 404  mpatch() Line 430  mpatch()
430   for abi in ${abis_to_run}   for abi in ${abis_to_run}
431   do   do
432   echo -e "${COLBLUE}*** ${COLGREEN}appling patch for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}appling patch for ABI -${abi}${COLDEFAULT}"
433   cd ${SRCDIR}-${abi}/${SRCSUBDIR}   if [[ ${MULTILIB_ENTER_SRCDIR} = true ]]
434     then
435     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
436     fi
437   oldmpatch $@ || die   oldmpatch $@ || die
438   done   done
439  }  }
440    fi
441    
442  if [[ ! -z $(typeset -f mlibtoolize) ]]  if [[ ! -z $(typeset -f mlibtoolize) ]]
443  then  then
444   # rename the old one   # rename the old one
445   old_mlibtoolize=old$(typeset -f mlibtoolize)   old_mlibtoolize=old$(typeset -f mlibtoolize)
446   eval "${old_mlibtoolize}"   eval "${old_mlibtoolize}"
447  fi  
448  mlibtoolize()  mlibtoolize()
449  {  {
450   local abi   local abi
# Line 426  mlibtoolize() Line 456  mlibtoolize()
456   for abi in ${abis_to_run}   for abi in ${abis_to_run}
457   do   do
458   echo -e "${COLBLUE}*** ${COLGREEN}running mlibtoolize for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}running mlibtoolize for ABI -${abi}${COLDEFAULT}"
459   cd ${SRCDIR}-${abi}/${SRCSUBDIR}   if [[ ${MULTILIB_ENTER_SRCDIR} = true ]]
460     then
461     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
462     fi
463   oldmlibtoolize $@ || die   oldmlibtoolize $@ || die
464   done   done
465  }  }
466    fi
467    
468  if [[ ! -z $(typeset -f mautoreconf) ]]  if [[ ! -z $(typeset -f mautoreconf) ]]
469  then  then
470   # rename the old one   # rename the old one
471   old_mautoreconf=old$(typeset -f mautoreconf)   old_mautoreconf=old$(typeset -f mautoreconf)
472   eval "${old_mautoreconf}"   eval "${old_mautoreconf}"
473  fi  
474  mautoreconf()  mautoreconf()
475  {  {
476   local abi   local abi
# Line 448  mautoreconf() Line 482  mautoreconf()
482   for abi in ${abis_to_run}   for abi in ${abis_to_run}
483   do   do
484   echo -e "${COLBLUE}*** ${COLGREEN}running mautoreconf for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}running mautoreconf for ABI -${abi}${COLDEFAULT}"
485   cd ${SRCDIR}-${abi}/${SRCSUBDIR}   if [[ ${MULTILIB_ENTER_SRCDIR} = true ]]
486     then
487     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
488     fi
489   oldmautoreconf $@ || die   oldmautoreconf $@ || die
490   done   done
491  }  }
492    fi
493    
494  if [[ ! -z $(typeset -f minstalldocs) ]]  if [[ ! -z $(typeset -f minstalldocs) ]]
495  then  then
496   # rename the old one   # rename the old one
497   old_minstalldocs=old$(typeset -f minstalldocs)   old_minstalldocs=old$(typeset -f minstalldocs)
498   eval "${old_minstalldocs}"   eval "${old_minstalldocs}"
499  fi  
500  minstalldocs()  minstalldocs()
501  {  {
502   local abi   local abi
# Line 471  minstalldocs() Line 509  minstalldocs()
509    
510   for abi in ${abis_to_run}   for abi in ${abis_to_run}
511   do   do
512   cd ${SRCDIR}-${abi}/${SRCSUBDIR}   if [[ ${MULTILIB_ENTER_SRCDIR} = true ]]
513     then
514     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
515     fi
516   oldminstalldocs $@ || die   oldminstalldocs $@ || die
517   done   done
518  }  }
519    fi
 ##  
 # multilib mbuild wrappers  
 ##  
 multilib_src_prepare()  
 {  
  munpack ${SRCFILE}  
 }  
   
 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}/${SRCSUBDIR}  
  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.13972  
changed lines
  Added in v.32899