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 5486 by niro, Tue Jun 29 23:17:45 2010 UTC trunk/include/multilib.sminc revision 11522 by niro, Mon Mar 12 15:02:20 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 63  abi-m32() Line 69  abi-m32()
69   export ABI_LIBDIR="lib"   export ABI_LIBDIR="lib"
70   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
71   then   then
72   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"   local saved_ldflags="${LDFLAGS}"
73     export LDFLAGS="${LDFLAGS} -L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
74   fi   fi
75   # keep pkgconfig clean   # keep pkgconfig clean
76   local orig_pkg_config_path="${PKG_CONFIG_PATH}"   local orig_pkg_config_path="${PKG_CONFIG_PATH}"
77   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"
78    
79   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 ]]  
80   then   then
81   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
82   else   echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"
83   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CC${COLDEFAULT}='${CC}'"
84     echo -e "${COLBLUE}*** ${COLGREEN}  CXX${COLDEFAULT}='${CXX}'"
85     echo -e "${COLBLUE}*** ${COLGREEN}  ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"
86     if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
87     then
88     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"
89     else
90     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
91     fi
92     echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
93   fi   fi
  echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"  
94    
95   # configure a linux32 emulated build   # configure a linux32 emulated build
96   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
97   then   then
98   echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"   if [[ ${MULTILIB_VERBOSE} = true ]]
99     then
100     echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"
101     fi
102   uname(){ linux32 uname $@; } && export -f uname   uname(){ linux32 uname $@; } && export -f uname
103   ORIG_CHOST="${CHOST}" && export CHOST="i686-pc-linux-gnu"   ORIG_CHOST="${CHOST}" && export CHOST="i686-pc-linux-gnu"
104   fi   fi
105   echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"   if [[ ${MULTILIB_VERBOSE} = true ]]
106     then
107     echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
108     fi
109    
110   # run any given command   # run any given command
111   eval $@ || die   eval $@ || die
112    
113   unset ABI CC CXX ABI_LIBDIR LDFLAGS   unset ABI CC CXX ABI_LIBDIR
114   # keep pkgconfig clean   # keep pkgconfig clean
115   export PKG_CONFIG_PATH="${orig_pkg_config_path}"   export PKG_CONFIG_PATH="${orig_pkg_config_path}"
116     export LDFLAGS="${saved_ldflags}"
117    
118   # restore original settings   # restore original settings
119   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
# Line 114  abi-m64() Line 131  abi-m64()
131   export ABI_LIBDIR="lib64"   export ABI_LIBDIR="lib64"
132   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
133   then   then
134     local saved_ldflags="${LDFLAGS}"
135   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
136   fi   fi
137   # keep pkgconfig clean   # keep pkgconfig clean
138   local orig_pkg_config_path="${PKG_CONFIG_PATH}"   local orig_pkg_config_path="${PKG_CONFIG_PATH}"
139   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"
140    
141   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 ]]  
142   then   then
143   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
144   else   echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"
145   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CC${COLDEFAULT}='${CC}'"
146     echo -e "${COLBLUE}*** ${COLGREEN}  CXX${COLDEFAULT}='${CXX}'"
147     echo -e "${COLBLUE}*** ${COLGREEN}  ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"
148     if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
149     then
150     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"
151     else
152     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
153     fi
154     echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
155     echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
156   fi   fi
  echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"  
  echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"  
157    
158   # run any given command   # run any given command
159   eval $@ || die   eval $@ || die
160    
161   unset ABI CC CXX ABI_LIBDIR LDFLAGS   unset ABI CC CXX ABI_LIBDIR
162   # keep pkgconfig clean   # keep pkgconfig clean
163   export PKG_CONFIG_PATH="${orig_pkg_config_path}"   export PKG_CONFIG_PATH="${orig_pkg_config_path}"
164     export LDFLAGS="${saved_ldflags}"
165  }  }
166    
167  only-m32()  only-m32()
# Line 154  only-m32() Line 176  only-m32()
176   # export this for mpatch etc (to repect only-${abi})   # export this for mpatch etc (to repect only-${abi})
177   export MULTILIB_ONLY_ABI=${abi}   export MULTILIB_ONLY_ABI=${abi}
178    
179   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
180   abi-${abi} $@ || die   abi-${abi} $@ || die
181    
182   # unset this is very important   # unset this is very important
# Line 175  only-m64() Line 197  only-m64()
197   # export this for mpatch etc (to repect only-${abi})   # export this for mpatch etc (to repect only-${abi})
198   export MULTILIB_ONLY_ABI=${abi}   export MULTILIB_ONLY_ABI=${abi}
199    
200   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
201   abi-${abi} $@ || die   abi-${abi} $@ || die
202    
203   # unset this is very important   # unset this is very important
# Line 189  all-abis() Line 211  all-abis()
211   local abi   local abi
212   for abi in ${MULTILIB_ABIS}   for abi in ${MULTILIB_ABIS}
213   do   do
214   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
215   abi-${abi} $@ || die   abi-${abi} $@ || die
216   done   done
217  }  }
218    
219    mabi()
220    {
221     echo \${ABI}
222    }
223    
224  ##  ##
225  # multilib compile functions  # multilib compile functions
226  ##  ##
# Line 214  mconfigure() Line 241  mconfigure()
241    
242   for abi in ${abis_to_run}   for abi in ${abis_to_run}
243   do   do
244   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
245   abi-${abi} oldmconfigure $@ || die   abi-${abi} oldmconfigure $@ || die
246   done   done
247  }  }
# Line 237  cmake_configure() Line 264  cmake_configure()
264   for abi in ${abis_to_run}   for abi in ${abis_to_run}
265   do   do
266   SRCDIR="${saved_SRCDIR}-${abi}"   SRCDIR="${saved_SRCDIR}-${abi}"
267   cd ${SRCDIR}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
268   abi-${abi} oldcmake_configure $@ || die   abi-${abi} oldcmake_configure $@ || die
269   done   done
270     # restore SRCDIR
271     SRCDIR="${saved_SRCDIR}"
272  }  }
273    
274  if [[ ! -z $(typeset -f munpack) ]]  if [[ ! -z $(typeset -f munpack) ]]
# Line 281  mmake() Line 310  mmake()
310   for abi in ${abis_to_run}   for abi in ${abis_to_run}
311   do   do
312   echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"
313   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
314   abi-${abi} oldmmake $@ || die   abi-${abi} oldmmake $@ || die
315   done   done
316  }  }
# Line 303  minstall() Line 332  minstall()
332   for abi in ${abis_to_run}   for abi in ${abis_to_run}
333   do   do
334   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
335   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
336   abi-${abi} oldminstall $@ || die   abi-${abi} oldminstall $@ || die
337   done   done
338  }  }
# Line 319  minstall_destdir() Line 348  minstall_destdir()
348   for abi in ${abis_to_run}   for abi in ${abis_to_run}
349   do   do
350   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
351   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
352   make DESTDIR=${BINDIR} $@ install || die   make DESTDIR=${BINDIR} $@ install || die
353   done   done
354  }  }
# Line 341  mpatch() Line 370  mpatch()
370   for abi in ${abis_to_run}   for abi in ${abis_to_run}
371   do   do
372   echo -e "${COLBLUE}*** ${COLGREEN}appling patch for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}appling patch for ABI -${abi}${COLDEFAULT}"
373   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
374   oldmpatch $@ || die   oldmpatch $@ || die
375   done   done
376  }  }
# Line 363  mlibtoolize() Line 392  mlibtoolize()
392   for abi in ${abis_to_run}   for abi in ${abis_to_run}
393   do   do
394   echo -e "${COLBLUE}*** ${COLGREEN}running mlibtoolize for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}running mlibtoolize for ABI -${abi}${COLDEFAULT}"
395   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
396   oldmlibtoolize $@ || die   oldmlibtoolize $@ || die
397   done   done
398  }  }
399    
400    if [[ ! -z $(typeset -f mautoreconf) ]]
401    then
402     # rename the old one
403     old_mautoreconf=old$(typeset -f mautoreconf)
404     eval "${old_mautoreconf}"
405    fi
406    mautoreconf()
407    {
408     local abi
409     local abis_to_run="${MULTILIB_ABIS}"
410    
411     # respect MULTILIB_ONLY_ABI variable
412     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
413    
414     for abi in ${abis_to_run}
415     do
416     echo -e "${COLBLUE}*** ${COLGREEN}running mautoreconf for ABI -${abi}${COLDEFAULT}"
417     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
418     oldmautoreconf $@ || die
419     done
420    }
421    
422    if [[ ! -z $(typeset -f minstalldocs) ]]
423    then
424     # rename the old one
425     old_minstalldocs=old$(typeset -f minstalldocs)
426     eval "${old_minstalldocs}"
427    fi
428  minstalldocs()  minstalldocs()
429  {  {
430   local abi   local abi
431   local docfiles   local docfiles
  docfiles="$@"  
432    
433   local abis_to_run="${MULTILIB_ABIS}"   local abis_to_run="${MULTILIB_ABIS}"
434    
# Line 381  minstalldocs() Line 437  minstalldocs()
437    
438   for abi in ${abis_to_run}   for abi in ${abis_to_run}
439   do   do
440   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
441   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  
442   done   done
443  }  }
444    
# Line 410  multilib_src_compile() Line 456  multilib_src_compile()
456   mmake   mmake
457  }  }
458    
459    multilib_src_check()
460    {
461     mmake -j1 -k check || die
462    }
463    
464  multilib_src_install()  multilib_src_install()
465  {  {
466   minstall_destdir   minstall_destdir
# Line 417  multilib_src_install() Line 468  multilib_src_install()
468   local i   local i
469   for abi in ${MULTILIB_ABIS}   for abi in ${MULTILIB_ABIS}
470   do   do
471   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
472   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
473   FAQ LICENSE NEWS README TODO   FAQ LICENSE NEWS README TODO
474   do   do
# Line 429  multilib_src_install() Line 480  multilib_src_install()
480   done   done
481  }  }
482    
483  export_inherits multilib src_prepare src_compile src_install  export_inherits multilib src_prepare src_compile src_check src_install

Legend:
Removed from v.5486  
changed lines
  Added in v.11522