#!/bin/sh ##-Global-defines-########################################### sName="gcc_4_5_0_release" D1="gcc450" D2=$D1/wrk D3=$D1/src ##-Include-needed-configs-################################### source /etc/kInc.conf [[ ! -d $kWrkToolchain ]] && mkdir -p $kWrkToolchain source $kWrkToolchain/func.sh ##-Set-local-variables-###################################### _prx=$(get_prefix) _cf=$(get_c_flags) _lf=${c_ld_flags} _idir=${_prx}/$(get_arch_triplet)/include _ldir=${_prx}/$(get_arch_triplet)/lib _tag_dir=${_prx}/$(get_arch_triplet) _tag_file=${D1}.tag ##-Define-build-API-:)####################################### ##-Prepare-to-build-######################################### function __int_prepare() { cd $kWrkToolchain [[ ! -d $kWrkToolchain/$D1 ]] && mkdir -p $kWrkToolchain/$D1 [[ -d $kWrkToolchain/$D3 ]] && fsUnLink $kWrkToolchain/$D3 [[ -d $kWrkToolchain/$D2 ]] && rm -rf $kWrkToolchain/$D2 [[ ! -d $kWrkToolchain/$D2 ]] && mkdir -p $kWrkToolchain/$D2 mkdir -p $kWrkToolchain/$D2 fsLink $kWrkToolchain/$D3 $kSources/$sName fsUnLink $kNewMingw_dst/mingw fsLink $kNewMingw_dst/mingw $kNewMingw_dst/${c_arch_32} } ##-Configure-################################################ function __int_config() { cd $kWrkToolchain/$D2 CFLAGS="${_cf}" \ LDFLAGS="${_lf}" \ CPPFLAGS="${_cf}" \ CXXFLAGS="${_cf}" \ BOOT_CFLAGS="${_cf}" \ BOOT_LDFLAGS="${_lf}" \ BOOT_CPPFLAGS="${_cf}" \ BOOT_CXXFLAGS="${_cf}" \ CFLAGS_FOR_TARGET="${_cf}" \ LDFLAGS_FOR_TARGET="${_lf}" \ CPPFLAGS_FOR_TARGET="${_cf}" \ CXXFLAGS_FOR_TARGET="${_cf}" \ ../src/configure \ --prefix=${_prx} \ --build=${c_arch_32} \ --target=${c_arch_32} \ --with-sysroot=${_prx} \ --with-build-sysroot=${_prx} \ --infodir=${_prx}/share/info \ --mandir=${_prx}/share/man \ --with-gmp=${_prx}/sup \ --with-mpfr=${_prx}/sup \ --with-mpc=${_prx}/sup \ --with-ppl=${_prx}/sup \ --with-cloog=${_prx}/sup \ --with-host-libstdcxx='-lstdc++ -lsupc++' \ --disable-shared \ --enable-static \ --enable-threads=win32 \ --enable-languages=c,c++ \ --disable-rpath \ --disable-win32-registry \ --enable-version-specific-runtime-libs \ --with-system-zlib \ --disable-nls \ --disable-bootstrap \ --disable-debug } ##-Make-##################################################### function __int_make() { cd $kWrkToolchain/$D2 make -j6 all } ##-Install-################################################## function __int_install() { cd $kWrkToolchain/$D2 make install rm -rf ${_prx}/include rm -f ${_prx}/lib/libiberty.a } ##-Post-Install-steps-####################################### function __int_post_install() { # ...tagging [[ ! -d ${_tag_dir} ]] && mkdir -p ${_tag_dir} _fl=${_tag_dir}/${_tag_file} } ##-Cleanup-################################################## function __int_clean() { cd $kWrkToolchain [[ -f $kWrkToolchain/$D3/gcc/version.c.original ]] && mv -f $kWrkToolchain/$D3/gcc/version.c.original $kWrkToolchain/$D3/gcc/version.c [[ -d $kWrkToolchain/$D3 ]] && fsUnLink $kNewMingw_dst/mingw [[ -d $kWrkToolchain/$D3 ]] && fsUnLink $kWrkToolchain/$D3 [[ -d $kWrkToolchain/$D2 ]] && rm -rf $kWrkToolchain/$D2 } ##-Test-##################################################### function __int_test() { printf "This is a test...\n${_prx}" } ##-Batch-build-############################################## function __int_batch() { __int_prepare __int_config __int_make __int_install __int_post_install __int_clean } ############################################################# for i; do __int_${i} done