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 2 by niro, Fri Oct 10 13:29:42 2008 UTC trunk/include/multilib.sminc revision 9880 by niro, Sat Jan 14 01:48:34 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  # do not define EMUL_LINUX_32 after inherit of multlib !!  # do not define EMUL_LINUX_32 after inherit of multlib !!
8  # it may break i*86 builds  # it may break i*86 builds
9    
# Line 14  case ${ARCH} in Line 17  case ${ARCH} in
17   # add linux32 to the dependencies   # add linux32 to the dependencies
18   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
19   then   then
20   EMUL_LINUX_32_SDEPENDS_x86_64=">= dev-util/linux32-1"   EMUL_LINUX_32_SDEPEND_x86_64=">= sys-apps/util-linux-2.19"
21   SPECIAL_VARS="${SPECIAL_VARS} EMUL_LINUX_32_SDEPENDS_x86_64"   SPECIAL_VARS="${SPECIAL_VARS} EMUL_LINUX_32_SDEPEND_x86_64"
22   fi   fi
23   ;;   ;;
24   i*86)   i*86)
# Line 33  then Line 36  then
36   # the var ist decided with our common eval+echo magic   # the var ist decided with our common eval+echo magic
37   if [[ -z ${SDEPEND} ]]   if [[ -z ${SDEPEND} ]]
38   then   then
39   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')"
40   else   else
41   SDEPEND="${SDEPEND}   SDEPEND="${SDEPEND}
42   \$(eval echo \\\$EMUL_LINUX_32_SDEPENDS_\${ARCH/i*86/x86} | tr ';' '\n')"   \$(eval echo \\\$EMUL_LINUX_32_SDEPEND_\${ARCH/i*86/x86} | tr ';' '\n')"
43   fi   fi
44  fi  fi
45    
# Line 61  abi-m32() Line 64  abi-m32()
64   export CC="gcc -${ABI}"   export CC="gcc -${ABI}"
65   export CXX="g++ -${ABI}"   export CXX="g++ -${ABI}"
66   export ABI_LIBDIR="lib"   export ABI_LIBDIR="lib"
67   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
68   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig"   then
69     export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
70     fi
71     # keep pkgconfig clean
72     local orig_pkg_config_path="${PKG_CONFIG_PATH}"
73     export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"
74    
75   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"   if [[ ${MULTILIB_VERBOSE} = true ]]
76   echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"   then
77   echo -e "${COLBLUE}*** ${COLGREEN}  CC${COLDEFAULT}='${CC}'"   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
78   echo -e "${COLBLUE}*** ${COLGREEN}  CXX${COLDEFAULT}='${CXX}'"   echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"
79   echo -e "${COLBLUE}*** ${COLGREEN}  ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CC${COLDEFAULT}='${CC}'"
80   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CXX${COLDEFAULT}='${CXX}'"
81   echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"   echo -e "${COLBLUE}*** ${COLGREEN}  ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"
82     if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
83     then
84     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"
85     else
86     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
87     fi
88     echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
89     fi
90    
91   # configure a linux32 emulated build   # configure a linux32 emulated build
92   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
93   then   then
94   echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"   if [[ ${MULTILIB_VERBOSE} = true ]]
95     then
96     echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"
97     fi
98   uname(){ linux32 uname $@; } && export -f uname   uname(){ linux32 uname $@; } && export -f uname
99   ORIG_CHOST="${CHOST}" && export CHOST="i686-pc-linux-gnu"   ORIG_CHOST="${CHOST}" && export CHOST="i686-pc-linux-gnu"
100   fi   fi
101   echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"   if [[ ${MULTILIB_VERBOSE} = true ]]
102     then
103     echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
104     fi
105    
106   # run any given command   # run any given command
107   eval $@ || die   eval $@ || die
108    
109   unset ABI CC CXX ABI_LIBDIR LDFLAGS PKG_CONFIG_PATH   unset ABI CC CXX ABI_LIBDIR LDFLAGS
110     # keep pkgconfig clean
111     export PKG_CONFIG_PATH="${orig_pkg_config_path}"
112    
113   # restore original settings   # restore original settings
114   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
# Line 100  abi-m64() Line 124  abi-m64()
124   export CC="gcc -${ABI}"   export CC="gcc -${ABI}"
125   export CXX="g++ -${ABI}"   export CXX="g++ -${ABI}"
126   export ABI_LIBDIR="lib64"   export ABI_LIBDIR="lib64"
127   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
128   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig"   then
129     export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
130     fi
131     # keep pkgconfig clean
132     local orig_pkg_config_path="${PKG_CONFIG_PATH}"
133     export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"
134    
135   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"   if [[ ${MULTILIB_VERBOSE} = true ]]
136   echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"   then
137   echo -e "${COLBLUE}*** ${COLGREEN}  CC${COLDEFAULT}='${CC}'"   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
138   echo -e "${COLBLUE}*** ${COLGREEN}  CXX${COLDEFAULT}='${CXX}'"   echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"
139   echo -e "${COLBLUE}*** ${COLGREEN}  ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CC${COLDEFAULT}='${CC}'"
140   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CXX${COLDEFAULT}='${CXX}'"
141   echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"   echo -e "${COLBLUE}*** ${COLGREEN}  ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"
142   echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
143     then
144     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"
145     else
146     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
147     fi
148     echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
149     echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
150     fi
151    
152   # run any given command   # run any given command
153   eval $@ || die   eval $@ || die
154    
155   unset ABI CC CXX ABI_LIBDIR LDFLAGS PKG_CONFIG_PATH   unset ABI CC CXX ABI_LIBDIR LDFLAGS
156     # keep pkgconfig clean
157     export PKG_CONFIG_PATH="${orig_pkg_config_path}"
158  }  }
159    
160  only-m32()  only-m32()
# Line 170  all-abis() Line 209  all-abis()
209   done   done
210  }  }
211    
212    mabi()
213    {
214     echo \${ABI}
215    }
216    
217  ##  ##
218  # multilib compile functions  # multilib compile functions
219  ##  ##
220    
221  # rename the old one  if [[ ! -z $(typeset -f mconfigure) ]]
222  old_mconfigure=old$(typeset -f mconfigure)  then
223  eval ${old_mconfigure}   # rename the old one
224     old_mconfigure=old$(typeset -f mconfigure)
225     eval "${old_mconfigure}"
226    fi
227  mconfigure()  mconfigure()
228  {  {
229   local abi   local abi
# Line 192  mconfigure() Line 239  mconfigure()
239   done   done
240  }  }
241    
242  # rename the old one  if [[ ! -z $(typeset -f cmake_configure) ]]
243  old_munpack=old$(typeset -f munpack)  then
244  eval "${old_munpack}"   # rename the old one
245     old_cmake_configure=old$(typeset -f cmake_configure)
246     eval "${old_cmake_configure}"
247    fi
248    cmake_configure()
249    {
250     local abi
251     local abis_to_run="${MULTILIB_ABIS}"
252    
253     # respect MULTILIB_ONLY_ABI variable
254     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
255    
256     local saved_SRCDIR="${SRCDIR}"
257     for abi in ${abis_to_run}
258     do
259     SRCDIR="${saved_SRCDIR}-${abi}"
260     cd ${SRCDIR}
261     abi-${abi} oldcmake_configure $@ || die
262     done
263     # restore SRCDIR
264     SRCDIR="${saved_SRCDIR}"
265    }
266    
267    if [[ ! -z $(typeset -f munpack) ]]
268    then
269     # rename the old one
270     old_munpack=old$(typeset -f munpack)
271     eval "${old_munpack}"
272    fi
273  munpack()  munpack()
274  {  {
275   local abi   local abi
# Line 211  munpack() Line 286  munpack()
286   done   done
287  }  }
288    
289  # rename the old one  if [[ ! -z $(typeset -f mmake) ]]
290  old_mmake=old$(typeset -f mmake)  then
291  eval "${old_mmake}"   # rename the old one
292     old_mmake=old$(typeset -f mmake)
293     eval "${old_mmake}"
294    fi
295  mmake()  mmake()
296  {  {
297   local abi   local abi
# Line 230  mmake() Line 308  mmake()
308   done   done
309  }  }
310    
311  # rename the old one  if [[ ! -z $(typeset -f minstall) ]]
312  old_minstall=old$(typeset -f minstall)  then
313  eval "${old_minstall}"   # rename the old one
314     old_minstall=old$(typeset -f minstall)
315     eval "${old_minstall}"
316    fi
317  minstall()  minstall()
318  {  {
319   local abi   local abi
# Line 265  minstall_destdir() Line 346  minstall_destdir()
346   done   done
347  }  }
348    
349  # rename the old one  if [[ ! -z $(typeset -f mpatch) ]]
350  old_mpatch=old$(typeset -f mpatch)  then
351  eval "${old_mpatch}"   # rename the old one
352     old_mpatch=old$(typeset -f mpatch)
353     eval "${old_mpatch}"
354    fi
355  mpatch()  mpatch()
356  {  {
357   local abi   local abi
# Line 284  mpatch() Line 368  mpatch()
368   done   done
369  }  }
370    
371  # rename the old one  if [[ ! -z $(typeset -f mlibtoolize) ]]
372  old_mlibtoolize=old$(typeset -f mlibtoolize)  then
373  eval "${old_mlibtoolize}"   # rename the old one
374     old_mlibtoolize=old$(typeset -f mlibtoolize)
375     eval "${old_mlibtoolize}"
376    fi
377  mlibtoolize()  mlibtoolize()
378  {  {
379   local abi   local abi
# Line 303  mlibtoolize() Line 390  mlibtoolize()
390   done   done
391  }  }
392    
393    if [[ ! -z $(typeset -f mautoreconf) ]]
394    then
395     # rename the old one
396     old_mautoreconf=old$(typeset -f mautoreconf)
397     eval "${old_mautoreconf}"
398    fi
399    mautoreconf()
400    {
401     local abi
402     local abis_to_run="${MULTILIB_ABIS}"
403    
404     # respect MULTILIB_ONLY_ABI variable
405     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
406    
407     for abi in ${abis_to_run}
408     do
409     echo -e "${COLBLUE}*** ${COLGREEN}running mautoreconf for ABI -${abi}${COLDEFAULT}"
410     cd ${SRCDIR}-${abi}
411     oldmautoreconf $@ || die
412     done
413    }
414    
415    if [[ ! -z $(typeset -f minstalldocs) ]]
416    then
417     # rename the old one
418     old_minstalldocs=old$(typeset -f minstalldocs)
419     eval "${old_minstalldocs}"
420    fi
421  minstalldocs()  minstalldocs()
422  {  {
423   local abi   local abi
424   local docfiles   local docfiles
  docfiles="$@"  
425    
426   local abis_to_run="${MULTILIB_ABIS}"   local abis_to_run="${MULTILIB_ABIS}"
427    
# Line 317  minstalldocs() Line 431  minstalldocs()
431   for abi in ${abis_to_run}   for abi in ${abis_to_run}
432   do   do
433   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}
434   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  
435   done   done
436  }  }
437    

Legend:
Removed from v.2  
changed lines
  Added in v.9880