Magellan Linux

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

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

revision 9880 by niro, Sat Jan 14 01:48:34 2012 UTC revision 13972 by niro, Fri Nov 2 10:45:29 2012 UTC
# Line 1  Line 1 
1  # $Id$  # $Id$
2  # multilib abis  # multilib abis
3    
4    # tell the buildsystem that we are doing a multilib build
5    export MULTILIB_BUILD="true"
6    
7  # be verbose or nor (true|false}  # be verbose or nor (true|false}
8  : ${MULTILIB_VERBOSE="true"}  : ${MULTILIB_VERBOSE="true"}
9    
10    # multilib should call all dependant includes, which gets overridden
11    sminclude mtools
12    
13  # do not define EMUL_LINUX_32 after inherit of multlib !!  # do not define EMUL_LINUX_32 after inherit of multlib !!
14  # it may break i*86 builds  # it may break i*86 builds
15    
# Line 66  abi-m32() Line 72  abi-m32()
72   export ABI_LIBDIR="lib"   export ABI_LIBDIR="lib"
73   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
74   then   then
75   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"   local saved_ldflags="${LDFLAGS}"
76     export LDFLAGS="${LDFLAGS} -L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
77   fi   fi
78   # keep pkgconfig clean   # keep pkgconfig clean
79   local orig_pkg_config_path="${PKG_CONFIG_PATH}"   local orig_pkg_config_path="${PKG_CONFIG_PATH}"
# Line 85  abi-m32() Line 92  abi-m32()
92   else   else
93   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
94   fi   fi
95     echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
96     echo -e "${COLBLUE}*** ${COLGREEN}  SRCDIR${COLDEFAULT}='${SRCDIR}/${SRCSUBDIR}'"
97   echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"   echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
98   fi   fi
99    
100   # configure a linux32 emulated build   # configure a linux32 emulated build
101     local linux32
102   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
103   then   then
104   if [[ ${MULTILIB_VERBOSE} = true ]]   if [[ ${MULTILIB_VERBOSE} = true ]]
# Line 96  abi-m32() Line 106  abi-m32()
106   echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"   echo -e "${COLBLUE}*** ${COLGREEN}  EMUL_LINUX_32${COLDEFAULT}='${EMUL_LINUX_32}'"
107   fi   fi
108   uname(){ linux32 uname $@; } && export -f uname   uname(){ linux32 uname $@; } && export -f uname
109   ORIG_CHOST="${CHOST}" && export CHOST="i686-pc-linux-gnu"   local orig_chost="${CHOST}" && export CHOST="i686-pc-linux-gnu"
110     linux32="linux32"
111   fi   fi
112   if [[ ${MULTILIB_VERBOSE} = true ]]   if [[ ${MULTILIB_VERBOSE} = true ]]
113   then   then
# Line 104  abi-m32() Line 115  abi-m32()
115   fi   fi
116    
117   # run any given command   # run any given command
118   eval $@ || die   eval ${linux32} $@ || die
119    
120   unset ABI CC CXX ABI_LIBDIR LDFLAGS   unset ABI CC CXX ABI_LIBDIR
121   # keep pkgconfig clean   # keep pkgconfig clean
122   export PKG_CONFIG_PATH="${orig_pkg_config_path}"   export PKG_CONFIG_PATH="${orig_pkg_config_path}"
123     export LDFLAGS="${saved_ldflags}"
124    
125   # restore original settings   # restore original settings
126   if [[ ${EMUL_LINUX_32} = true ]]   if [[ ${EMUL_LINUX_32} = true ]]
127   then   then
128   unset uname   unset uname
129   export CHOST="${ORIG_CHOST}" && unset ORIG_CHOST   export CHOST="${orig_chost}" && unset orig_chost
130     unset linux32
131   fi   fi
132  }  }
133    
# Line 126  abi-m64() Line 139  abi-m64()
139   export ABI_LIBDIR="lib64"   export ABI_LIBDIR="lib64"
140   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]   if [[ ${EXPORT_ABI_LDFLAGS} != false ]]
141   then   then
142     local saved_ldflags="${LDFLAGS}"
143   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"   export LDFLAGS="-L/${ABI_LIBDIR} -L/usr/${ABI_LIBDIR}"
144   fi   fi
145   # keep pkgconfig clean   # keep pkgconfig clean
# Line 146  abi-m64() Line 160  abi-m64()
160   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"   echo -e "${COLBLUE}*** ${COLGREEN}  LDFLAGS${COLDEFAULT}='${COLYELLOW}not exported${COLDEFAULT}'"
161   fi   fi
162   echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"   echo -e "${COLBLUE}*** ${COLGREEN}  CHOST${COLDEFAULT}='${CHOST}'"
163     echo -e "${COLBLUE}*** ${COLGREEN}  SRCDIR${COLDEFAULT}='${SRCDIR}/${SRCSUBDIR}'"
164   echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"   echo -e "${COLBLUE}*** ${COLGREEN}  PKG_CONFIG_PATH${COLDEFAULT}='${PKG_CONFIG_PATH}'"
165   fi   fi
166    
167   # run any given command   # run any given command
168   eval $@ || die   eval $@ || die
169    
170   unset ABI CC CXX ABI_LIBDIR LDFLAGS   unset ABI CC CXX ABI_LIBDIR
171   # keep pkgconfig clean   # keep pkgconfig clean
172   export PKG_CONFIG_PATH="${orig_pkg_config_path}"   export PKG_CONFIG_PATH="${orig_pkg_config_path}"
173     export LDFLAGS="${saved_ldflags}"
174  }  }
175    
176  only-m32()  only-m32()
# Line 169  only-m32() Line 185  only-m32()
185   # export this for mpatch etc (to repect only-${abi})   # export this for mpatch etc (to repect only-${abi})
186   export MULTILIB_ONLY_ABI=${abi}   export MULTILIB_ONLY_ABI=${abi}
187    
188   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
189   abi-${abi} $@ || die   abi-${abi} $@ || die
190    
191   # unset this is very important   # unset this is very important
# Line 190  only-m64() Line 206  only-m64()
206   # export this for mpatch etc (to repect only-${abi})   # export this for mpatch etc (to repect only-${abi})
207   export MULTILIB_ONLY_ABI=${abi}   export MULTILIB_ONLY_ABI=${abi}
208    
209   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
210   abi-${abi} $@ || die   abi-${abi} $@ || die
211    
212   # unset this is very important   # unset this is very important
# Line 204  all-abis() Line 220  all-abis()
220   local abi   local abi
221   for abi in ${MULTILIB_ABIS}   for abi in ${MULTILIB_ABIS}
222   do   do
223   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
224   abi-${abi} $@ || die   abi-${abi} $@ || die
225   done   done
226  }  }
# Line 214  mabi() Line 230  mabi()
230   echo \${ABI}   echo \${ABI}
231  }  }
232    
233    mabi-cc()
234    {
235     echo "\"gcc -\${ABI}\""
236    }
237    
238    mabi-cxx()
239    {
240     echo "\"g++ -\${ABI}\""
241    }
242    
243    mabi-cflags()
244    {
245     echo "\"\${CFLAGS}\""
246    }
247    
248    mabi-cxxflags()
249    {
250     echo "\"\${CXXFLAGS}\""
251    }
252    
253    mabi-ldflags()
254    {
255     echo "\"\${LDFLAGS}\""
256    }
257    
258  ##  ##
259  # multilib compile functions  # multilib compile functions
260  ##  ##
# Line 234  mconfigure() Line 275  mconfigure()
275    
276   for abi in ${abis_to_run}   for abi in ${abis_to_run}
277   do   do
278   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
279   abi-${abi} oldmconfigure $@ || die   abi-${abi} oldmconfigure $@ || die
280   done   done
281  }  }
# Line 257  cmake_configure() Line 298  cmake_configure()
298   for abi in ${abis_to_run}   for abi in ${abis_to_run}
299   do   do
300   SRCDIR="${saved_SRCDIR}-${abi}"   SRCDIR="${saved_SRCDIR}-${abi}"
301   cd ${SRCDIR}   cd ${SRCDIR}/${SRCSUBDIR}
302   abi-${abi} oldcmake_configure $@ || die   abi-${abi} oldcmake_configure $@ || die
303   done   done
304   # restore SRCDIR   # restore SRCDIR
# Line 281  munpack() Line 322  munpack()
322   for abi in ${abis_to_run}   for abi in ${abis_to_run}
323   do   do
324   echo -e "${COLBLUE}*** ${COLGREEN}unpacking for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}unpacking for ABI -${abi}${COLDEFAULT}"
325   oldmunpack ${SRCFILE} || die   oldmunpack $@ || die
326   mv ${SRCDIR} ${SRCDIR}-${abi} || die   mv ${SRCDIR} ${SRCDIR}-${abi} || die
327   done   done
328  }  }
# Line 303  mmake() Line 344  mmake()
344   for abi in ${abis_to_run}   for abi in ${abis_to_run}
345   do   do
346   echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}compiling for ABI -${abi}${COLDEFAULT}"
347   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
348   abi-${abi} oldmmake $@ || die   abi-${abi} oldmmake $@ || die
349   done   done
350  }  }
# Line 325  minstall() Line 366  minstall()
366   for abi in ${abis_to_run}   for abi in ${abis_to_run}
367   do   do
368   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
369   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
370   abi-${abi} oldminstall $@ || die   abi-${abi} oldminstall $@ || die
371   done   done
372  }  }
# Line 341  minstall_destdir() Line 382  minstall_destdir()
382   for abi in ${abis_to_run}   for abi in ${abis_to_run}
383   do   do
384   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}installing for ABI -${abi}${COLDEFAULT}"
385   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
386   make DESTDIR=${BINDIR} $@ install || die   make DESTDIR=${BINDIR} $@ install || die
387   done   done
388  }  }
# Line 363  mpatch() Line 404  mpatch()
404   for abi in ${abis_to_run}   for abi in ${abis_to_run}
405   do   do
406   echo -e "${COLBLUE}*** ${COLGREEN}appling patch for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}appling patch for ABI -${abi}${COLDEFAULT}"
407   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
408   oldmpatch $@ || die   oldmpatch $@ || die
409   done   done
410  }  }
# Line 385  mlibtoolize() Line 426  mlibtoolize()
426   for abi in ${abis_to_run}   for abi in ${abis_to_run}
427   do   do
428   echo -e "${COLBLUE}*** ${COLGREEN}running mlibtoolize for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}running mlibtoolize for ABI -${abi}${COLDEFAULT}"
429   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
430   oldmlibtoolize $@ || die   oldmlibtoolize $@ || die
431   done   done
432  }  }
# Line 407  mautoreconf() Line 448  mautoreconf()
448   for abi in ${abis_to_run}   for abi in ${abis_to_run}
449   do   do
450   echo -e "${COLBLUE}*** ${COLGREEN}running mautoreconf for ABI -${abi}${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}running mautoreconf for ABI -${abi}${COLDEFAULT}"
451   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
452   oldmautoreconf $@ || die   oldmautoreconf $@ || die
453   done   done
454  }  }
# Line 430  minstalldocs() Line 471  minstalldocs()
471    
472   for abi in ${abis_to_run}   for abi in ${abis_to_run}
473   do   do
474   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
475   oldminstalldocs $@ || die   oldminstalldocs $@ || die
476   done   done
477  }  }
# Line 440  minstalldocs() Line 481  minstalldocs()
481  ##  ##
482  multilib_src_prepare()  multilib_src_prepare()
483  {  {
484   munpack   munpack ${SRCFILE}
485  }  }
486    
487  multilib_src_compile()  multilib_src_compile()
# Line 449  multilib_src_compile() Line 490  multilib_src_compile()
490   mmake   mmake
491  }  }
492    
493    multilib_src_check()
494    {
495     mmake -j1 -k check || die
496    }
497    
498  multilib_src_install()  multilib_src_install()
499  {  {
500   minstall_destdir   minstall_destdir
# Line 456  multilib_src_install() Line 502  multilib_src_install()
502   local i   local i
503   for abi in ${MULTILIB_ABIS}   for abi in ${MULTILIB_ABIS}
504   do   do
505   cd ${SRCDIR}-${abi}   cd ${SRCDIR}-${abi}/${SRCSUBDIR}
506   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \   for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
507   FAQ LICENSE NEWS README TODO   FAQ LICENSE NEWS README TODO
508   do   do
# Line 468  multilib_src_install() Line 514  multilib_src_install()
514   done   done
515  }  }
516    
517  export_inherits multilib src_prepare src_compile src_install  export_inherits multilib src_prepare src_compile src_check src_install

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