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 4783 by niro, Sun Dec 27 23:35:37 2009 UTC branches/magellan-next/include/multilib.sminc revision 9756 by niro, Tue Jan 10 16:09:38 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 65  abi-m32() Line 68  abi-m32()
68   then   then
69   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
70   fi   fi
71   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig"   # 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 ]]
  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 ]]  
76   then   then
77   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
78   else   echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"
79   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CC${COLDEFAULT}='${CC}'"
80     echo -e "${COLBLUE}*** ${COLGREEN}  CXX${COLDEFAULT}='${CXX}'"
81     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   fi
  echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"  
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 112  abi-m64() Line 128  abi-m64()
128   then   then
129   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
130   fi   fi
131   export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig"   # 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 ]]
  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 ]]  
136   then   then
137   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${LDFLAGS}'"   echo -e "${COLBLUE}*** ${COLGREEN}running with -${ABI} ABI${COLDEFAULT}"
138   else   echo -e "${COLBLUE}*** ${COLGREEN}  ABI${COLDEFAULT}='${ABI}'"
139   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CC${COLDEFAULT}='${CC}'"
140     echo -e "${COLBLUE}*** ${COLGREEN}  CXX${COLDEFAULT}='${CXX}'"
141     echo -e "${COLBLUE}*** ${COLGREEN}  ABI_LIBDIR${COLDEFAULT}='${ABI_LIBDIR}'"
142     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   fi
  echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"  
  echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"  
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 186  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  ##  ##
# Line 232  cmake_configure() Line 260  cmake_configure()
260   cd ${SRCDIR}   cd ${SRCDIR}
261   abi-${abi} oldcmake_configure $@ || die   abi-${abi} oldcmake_configure $@ || die
262   done   done
263     # restore SRCDIR
264     SRCDIR="${saved_SRCDIR}"
265  }  }
266    
267  if [[ ! -z $(typeset -f munpack) ]]  if [[ ! -z $(typeset -f munpack) ]]
# Line 360  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 374  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.4783  
changed lines
  Added in v.9756