Magellan Linux

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

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

branches/magellan-next/include/multilib.sminc revision 6654 by niro, Tue Sep 14 16:46:32 2010 UTC trunk/include/multilib.sminc revision 11531 by niro, Mon Mar 12 18:32:58 2012 UTC
# Line 1  Line 1 
1  # $Id$  # $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_SDEPEND_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_SDEPEND_x86_64"   SPECIAL_VARS="${SPECIAL_VARS} EMUL_LINUX_32_SDEPEND_x86_64"
25   fi   fi
26   ;;   ;;
# 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}  CHOST${COLDEFAULT}='${CHOST}'"
93     echo -e "${COLBLUE}*** ${COLGREEN}  SRCDIR${COLDEFAULT}='${SRCDIR}/${SRCSUBDIR}'"
94     echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
95   fi   fi
  echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"  
96    
97   # configure a linux32 emulated build   # configure a linux32 emulated build
98   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
99   then   then
100   echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"   if [[ ${MULTILIB_VERBOSE} = true ]]
101     then
102     echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"
103     fi
104   uname(){ linux32 uname $@; } && export -f uname   uname(){ linux32 uname $@; } && export -f uname
105   ORIG_CHOST="${CHOST}" && export CHOST="i686-pc-linux-gnu"   ORIG_CHOST="${CHOST}" && export CHOST="i686-pc-linux-gnu"
106   fi   fi
107   echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"   if [[ ${MULTILIB_VERBOSE} = true ]]
108     then
109     echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
110     fi
111    
112   # run any given command   # run any given command
113   eval $@ || die   eval $@ || die
114    
115   unset ABI CC CXX ABI_LIBDIR LDFLAGS   unset ABI CC CXX ABI_LIBDIR
116   # keep pkgconfig clean   # keep pkgconfig clean
117   export PKG_CONFIG_PATH="${orig_pkg_config_path}"   export PKG_CONFIG_PATH="${orig_pkg_config_path}"
118     export LDFLAGS="${saved_ldflags}"
119    
120   # restore original settings   # restore original settings
121   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
# Line 114  abi-m64() Line 133  abi-m64()
133   export ABI_LIBDIR="lib64"   export ABI_LIBDIR="lib64"
134   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
135   then   then
136     local saved_ldflags="${LDFLAGS}"
137   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
138   fi   fi
139   # keep pkgconfig clean   # keep pkgconfig clean
140   local orig_pkg_config_path="${PKG_CONFIG_PATH}"   local orig_pkg_config_path="${PKG_CONFIG_PATH}"
141   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig:${PKG_CONFIG_PATH}"
142    
143   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 ]]  
144   then   then
145   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
146   else   echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"
147   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CC${COLDEFAULT}='${CC}'"
148     echo -e "${COLBLUE}*** ${COLGREEN}  CXX${COLDEFAULT}='${CXX}'"
149     echo -e "${COLBLUE}*** ${COLGREEN}  ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"
150     if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
151     then
152     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"
153     else
154     echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
155     fi
156     echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
157     echo -e "${COLBLUE}*** ${COLGREEN}  SRCDIR${COLDEFAULT}='${SRCDIR}/${SRCSUBDIR}'"
158     echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
159   fi   fi
  echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"  
  echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"  
160    
161   # run any given command   # run any given command
162   eval $@ || die   eval $@ || die
163    
164   unset ABI CC CXX ABI_LIBDIR LDFLAGS   unset ABI CC CXX ABI_LIBDIR
165   # keep pkgconfig clean   # keep pkgconfig clean
166   export PKG_CONFIG_PATH="${orig_pkg_config_path}"   export PKG_CONFIG_PATH="${orig_pkg_config_path}"
167     export LDFLAGS="${saved_ldflags}"
168  }  }
169    
170  only-m32()  only-m32()
# Line 154  only-m32() Line 179  only-m32()
179   # export this for mpatch etc (to repect only-${abi})   # export this for mpatch etc (to repect only-${abi})
180   export MULTILIB_ONLY_ABI=${abi}   export MULTILIB_ONLY_ABI=${abi}
181    
182   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
183   abi-${abi} $@ || die   abi-${abi} $@ || die
184    
185   # unset this is very important   # unset this is very important
# Line 175  only-m64() Line 200  only-m64()
200   # export this for mpatch etc (to repect only-${abi})   # export this for mpatch etc (to repect only-${abi})
201   export MULTILIB_ONLY_ABI=${abi}   export MULTILIB_ONLY_ABI=${abi}
202    
203   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
204   abi-${abi} $@ || die   abi-${abi} $@ || die
205    
206   # unset this is very important   # unset this is very important
# Line 189  all-abis() Line 214  all-abis()
214   local abi   local abi
215   for abi in ${MULTILIB_ABIS}   for abi in ${MULTILIB_ABIS}
216   do   do
217   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
218   abi-${abi} $@ || die   abi-${abi} $@ || die
219   done   done
220  }  }
# Line 219  mconfigure() Line 244  mconfigure()
244    
245   for abi in ${abis_to_run}   for abi in ${abis_to_run}
246   do   do
247   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
248   abi-${abi} oldmconfigure $@ || die   abi-${abi} oldmconfigure $@ || die
249   done   done
250  }  }
# Line 242  cmake_configure() Line 267  cmake_configure()
267   for abi in ${abis_to_run}   for abi in ${abis_to_run}
268   do   do
269   SRCDIR="${saved_SRCDIR}-${abi}"   SRCDIR="${saved_SRCDIR}-${abi}"
270   cd ${SRCDIR}   cd ${SRCDIR}/${SRCSUBDIR}
271   abi-${abi} oldcmake_configure $@ || die   abi-${abi} oldcmake_configure $@ || die
272   done   done
273     # restore SRCDIR
274     SRCDIR="${saved_SRCDIR}"
275  }  }
276    
277  if [[ ! -z $(typeset -f munpack) ]]  if [[ ! -z $(typeset -f munpack) ]]
# Line 286  mmake() Line 313  mmake()
313   for abi in ${abis_to_run}   for abi in ${abis_to_run}
314   do   do
315   echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"
316   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
317   abi-${abi} oldmmake $@ || die   abi-${abi} oldmmake $@ || die
318   done   done
319  }  }
# Line 308  minstall() Line 335  minstall()
335   for abi in ${abis_to_run}   for abi in ${abis_to_run}
336   do   do
337   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
338   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
339   abi-${abi} oldminstall $@ || die   abi-${abi} oldminstall $@ || die
340   done   done
341  }  }
# Line 324  minstall_destdir() Line 351  minstall_destdir()
351   for abi in ${abis_to_run}   for abi in ${abis_to_run}
352   do   do
353   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
354   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
355   make DESTDIR=${BINDIR} $@ install || die   make DESTDIR=${BINDIR} $@ install || die
356   done   done
357  }  }
# Line 346  mpatch() Line 373  mpatch()
373   for abi in ${abis_to_run}   for abi in ${abis_to_run}
374   do   do
375   echo -e "${COLBLUE}*** ${COLGREEN}appling patch for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}appling patch for ABI -${abi}${COLDEFAULT}"
376   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
377   oldmpatch $@ || die   oldmpatch $@ || die
378   done   done
379  }  }
# Line 368  mlibtoolize() Line 395  mlibtoolize()
395   for abi in ${abis_to_run}   for abi in ${abis_to_run}
396   do   do
397   echo -e "${COLBLUE}*** ${COLGREEN}running mlibtoolize for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}running mlibtoolize for ABI -${abi}${COLDEFAULT}"
398   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
399   oldmlibtoolize $@ || die   oldmlibtoolize $@ || die
400   done   done
401  }  }
402    
403    if [[ ! -z $(typeset -f mautoreconf) ]]
404    then
405     # rename the old one
406     old_mautoreconf=old$(typeset -f mautoreconf)
407     eval "${old_mautoreconf}"
408    fi
409    mautoreconf()
410    {
411     local abi
412     local abis_to_run="${MULTILIB_ABIS}"
413    
414     # respect MULTILIB_ONLY_ABI variable
415     [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}"
416    
417     for abi in ${abis_to_run}
418     do
419     echo -e "${COLBLUE}*** ${COLGREEN}running mautoreconf for ABI -${abi}${COLDEFAULT}"
420     cd ${SRCDIR}-${abi}/${SRCSUBDIR}
421     oldmautoreconf $@ || die
422     done
423    }
424    
425    if [[ ! -z $(typeset -f minstalldocs) ]]
426    then
427     # rename the old one
428     old_minstalldocs=old$(typeset -f minstalldocs)
429     eval "${old_minstalldocs}"
430    fi
431  minstalldocs()  minstalldocs()
432  {  {
433   local abi   local abi
434   local docfiles   local docfiles
  docfiles="$@"  
435    
436   local abis_to_run="${MULTILIB_ABIS}"   local abis_to_run="${MULTILIB_ABIS}"
437    
# Line 386  minstalldocs() Line 440  minstalldocs()
440    
441   for abi in ${abis_to_run}   for abi in ${abis_to_run}
442   do   do
443   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
444   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  
445   done   done
446  }  }
447    
# Line 415  multilib_src_compile() Line 459  multilib_src_compile()
459   mmake   mmake
460  }  }
461    
462    multilib_src_check()
463    {
464     mmake -j1 -k check || die
465    }
466    
467  multilib_src_install()  multilib_src_install()
468  {  {
469   minstall_destdir   minstall_destdir
# Line 422  multilib_src_install() Line 471  multilib_src_install()
471   local i   local i
472   for abi in ${MULTILIB_ABIS}   for abi in ${MULTILIB_ABIS}
473   do   do
474   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
475   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
476   FAQ LICENSE NEWS README TODO   FAQ LICENSE NEWS README TODO
477   do   do
# Line 434  multilib_src_install() Line 483  multilib_src_install()
483   done   done
484  }  }
485    
486  export_inherits multilib src_prepare src_compile src_install  export_inherits multilib src_prepare src_compile src_check src_install

Legend:
Removed from v.6654  
changed lines
  Added in v.11531