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 11030 by niro, Sat Feb 11 19:34:51 2012 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    # be verbose or nor (true|false}
5    : ${MULTILIB_VERBOSE="true"}
6    
7    # multilib should call all dependant includes, which gets overridden
8    sminclude mtools
9    
10  # do not define EMUL_LINUX_32 after inherit of multlib !!  # do not define EMUL_LINUX_32 after inherit of multlib !!
11  # it may break i*86 builds  # it may break i*86 builds
12    
# Line 14  case ${ARCH} in Line 20  case ${ARCH} in
20   # add linux32 to the dependencies   # add linux32 to the dependencies
21   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
22   then   then
23   EMUL_LINUX_32_SDEPENDS_x86_64=">= dev-util/linux32-1"   EMUL_LINUX_32_SDEPEND_x86_64=">= sys-apps/util-linux-2.19"
24   SPECIAL_VARS="${SPECIAL_VARS} EMUL_LINUX_32_SDEPENDS_x86_64"   SPECIAL_VARS="${SPECIAL_VARS} EMUL_LINUX_32_SDEPEND_x86_64"
25   fi   fi
26   ;;   ;;
27   i*86)   i*86)
# Line 33  then Line 39  then
39   # the var ist decided with our common eval+echo magic   # the var ist decided with our common eval+echo magic
40   if [[ -z ${SDEPEND} ]]   if [[ -z ${SDEPEND} ]]
41   then   then
42   SDEPEND="\$(eval echo \\\$EMUL_LINUX_32_SDEPENDS_\${ARCH/i*86/x86} | tr ';' '\n')"   SDEPEND="\$(eval echo \\\$EMUL_LINUX_32_SDEPEND_\${ARCH/i*86/x86} | tr ';' '\n')"
43   else   else
44   SDEPEND="${SDEPEND}   SDEPEND="${SDEPEND}
45   \$(eval echo \\\$EMUL_LINUX_32_SDEPENDS_\${ARCH/i*86/x86} | tr ';' '\n')"   \$(eval echo \\\$EMUL_LINUX_32_SDEPEND_\${ARCH/i*86/x86} | tr ';' '\n')"
46   fi   fi
47  fi  fi
48    
# Line 65  abi-m32() Line 71  abi-m32()
71   then   then
72   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
73   fi   fi
74   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig"   # keep pkgconfig clean
75     local orig_pkg_config_path="${PKG_CONFIG_PATH}"
76     export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"
77    
78   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 ]]  
79   then   then
80   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
81   else   echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"
82   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CC${COLDEFAULT}='${CC}'"
83     echo -e "${COLBLUE}*** ${COLGREEN}  CXX${COLDEFAULT}='${CXX}'"
84     echo -e "${COLBLUE}*** ${COLGREEN}  ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"
85     if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
86     then
87     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"
88     else
89     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
90     fi
91     echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
92   fi   fi
  echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"  
93    
94   # configure a linux32 emulated build   # configure a linux32 emulated build
95   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
96   then   then
97   echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"   if [[ ${MULTILIB_VERBOSE} = true ]]
98     then
99     echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"
100     fi
101   uname(){ linux32 uname $@; } && export -f uname   uname(){ linux32 uname $@; } && export -f uname
102   ORIG_CHOST="${CHOST}" && export CHOST="i686-pc-linux-gnu"   ORIG_CHOST="${CHOST}" && export CHOST="i686-pc-linux-gnu"
103   fi   fi
104   echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"   if [[ ${MULTILIB_VERBOSE} = true ]]
105     then
106     echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
107     fi
108    
109   # run any given command   # run any given command
110   eval $@ || die   eval $@ || die
111    
112   unset ABI CC CXX ABI_LIBDIR LDFLAGS PKG_CONFIG_PATH   unset ABI CC CXX ABI_LIBDIR LDFLAGS
113     # keep pkgconfig clean
114     export PKG_CONFIG_PATH="${orig_pkg_config_path}"
115    
116   # restore original settings   # restore original settings
117   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
# Line 112  abi-m64() Line 131  abi-m64()
131   then   then
132   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
133   fi   fi
134   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig"   # keep pkgconfig clean
135     local orig_pkg_config_path="${PKG_CONFIG_PATH}"
136     export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"
137    
138   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 ]]  
139   then   then
140   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
141   else   echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"
142   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CC${COLDEFAULT}='${CC}'"
143     echo -e "${COLBLUE}*** ${COLGREEN}  CXX${COLDEFAULT}='${CXX}'"
144     echo -e "${COLBLUE}*** ${COLGREEN}  ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"
145     if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
146     then
147     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"
148     else
149     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
150     fi
151     echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
152     echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
153   fi   fi
  echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"  
  echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"  
154    
155   # run any given command   # run any given command
156   eval $@ || die   eval $@ || die
157    
158   unset ABI CC CXX ABI_LIBDIR LDFLAGS PKG_CONFIG_PATH   unset ABI CC CXX ABI_LIBDIR LDFLAGS
159     # keep pkgconfig clean
160     export PKG_CONFIG_PATH="${orig_pkg_config_path}"
161  }  }
162    
163  only-m32()  only-m32()
# Line 186  all-abis() Line 212  all-abis()
212   done   done
213  }  }
214    
215    mabi()
216    {
217     echo \${ABI}
218    }
219    
220  ##  ##
221  # multilib compile functions  # multilib compile functions
222  ##  ##
223    
224  # rename the old one  if [[ ! -z $(typeset -f mconfigure) ]]
225  old_mconfigure=old$(typeset -f mconfigure)  then
226  eval ${old_mconfigure}   # rename the old one
227     old_mconfigure=old$(typeset -f mconfigure)
228     eval "${old_mconfigure}"
229    fi
230  mconfigure()  mconfigure()
231  {  {
232   local abi   local abi
# Line 208  mconfigure() Line 242  mconfigure()
242   done   done
243  }  }
244    
245  # rename the old one  if [[ ! -z $(typeset -f cmake_configure) ]]
246  old_munpack=old$(typeset -f munpack)  then
247  eval "${old_munpack}"   # rename the old one
248     old_cmake_configure=old$(typeset -f cmake_configure)
249     eval "${old_cmake_configure}"
250    fi
251    cmake_configure()
252    {
253     local abi
254     local abis_to_run="${MULTILIB_ABIS}"
255    
256     # respect MULTILIB_ONLY_ABI variable
257     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
258    
259     local saved_SRCDIR="${SRCDIR}"
260     for abi in ${abis_to_run}
261     do
262     SRCDIR="${saved_SRCDIR}-${abi}"
263     cd ${SRCDIR}
264     abi-${abi} oldcmake_configure $@ || die
265     done
266     # restore SRCDIR
267     SRCDIR="${saved_SRCDIR}"
268    }
269    
270    if [[ ! -z $(typeset -f munpack) ]]
271    then
272     # rename the old one
273     old_munpack=old$(typeset -f munpack)
274     eval "${old_munpack}"
275    fi
276  munpack()  munpack()
277  {  {
278   local abi   local abi
# Line 227  munpack() Line 289  munpack()
289   done   done
290  }  }
291    
292  # rename the old one  if [[ ! -z $(typeset -f mmake) ]]
293  old_mmake=old$(typeset -f mmake)  then
294  eval "${old_mmake}"   # rename the old one
295     old_mmake=old$(typeset -f mmake)
296     eval "${old_mmake}"
297    fi
298  mmake()  mmake()
299  {  {
300   local abi   local abi
# Line 246  mmake() Line 311  mmake()
311   done   done
312  }  }
313    
314  # rename the old one  if [[ ! -z $(typeset -f minstall) ]]
315  old_minstall=old$(typeset -f minstall)  then
316  eval "${old_minstall}"   # rename the old one
317     old_minstall=old$(typeset -f minstall)
318     eval "${old_minstall}"
319    fi
320  minstall()  minstall()
321  {  {
322   local abi   local abi
# Line 281  minstall_destdir() Line 349  minstall_destdir()
349   done   done
350  }  }
351    
352  # rename the old one  if [[ ! -z $(typeset -f mpatch) ]]
353  old_mpatch=old$(typeset -f mpatch)  then
354  eval "${old_mpatch}"   # rename the old one
355     old_mpatch=old$(typeset -f mpatch)
356     eval "${old_mpatch}"
357    fi
358  mpatch()  mpatch()
359  {  {
360   local abi   local abi
# Line 300  mpatch() Line 371  mpatch()
371   done   done
372  }  }
373    
374  # rename the old one  if [[ ! -z $(typeset -f mlibtoolize) ]]
375  old_mlibtoolize=old$(typeset -f mlibtoolize)  then
376  eval "${old_mlibtoolize}"   # rename the old one
377     old_mlibtoolize=old$(typeset -f mlibtoolize)
378     eval "${old_mlibtoolize}"
379    fi
380  mlibtoolize()  mlibtoolize()
381  {  {
382   local abi   local abi
# Line 319  mlibtoolize() Line 393  mlibtoolize()
393   done   done
394  }  }
395    
396    if [[ ! -z $(typeset -f mautoreconf) ]]
397    then
398     # rename the old one
399     old_mautoreconf=old$(typeset -f mautoreconf)
400     eval "${old_mautoreconf}"
401    fi
402    mautoreconf()
403    {
404     local abi
405     local abis_to_run="${MULTILIB_ABIS}"
406    
407     # respect MULTILIB_ONLY_ABI variable
408     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
409    
410     for abi in ${abis_to_run}
411     do
412     echo -e "${COLBLUE}*** ${COLGREEN}running mautoreconf for ABI -${abi}${COLDEFAULT}"
413     cd ${SRCDIR}-${abi}
414     oldmautoreconf $@ || die
415     done
416    }
417    
418    if [[ ! -z $(typeset -f minstalldocs) ]]
419    then
420     # rename the old one
421     old_minstalldocs=old$(typeset -f minstalldocs)
422     eval "${old_minstalldocs}"
423    fi
424  minstalldocs()  minstalldocs()
425  {  {
426   local abi   local abi
427   local docfiles   local docfiles
  docfiles="$@"  
428    
429   local abis_to_run="${MULTILIB_ABIS}"   local abis_to_run="${MULTILIB_ABIS}"
430    
# Line 333  minstalldocs() Line 434  minstalldocs()
434   for abi in ${abis_to_run}   for abi in ${abis_to_run}
435   do   do
436   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}
437   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  
438   done   done
439  }  }
440    
# Line 361  multilib_src_compile() Line 452  multilib_src_compile()
452   mmake   mmake
453  }  }
454    
455    multilib_src_check()
456    {
457     mmake -j1 -k check || die
458    }
459    
460  multilib_src_install()  multilib_src_install()
461  {  {
462   minstall_destdir   minstall_destdir
# Line 380  multilib_src_install() Line 476  multilib_src_install()
476   done   done
477  }  }
478    
479  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.11030