#!/bin/sh ##-Global-defines-########################################### sName="pthreads-2.9.0.0" D1="pthreads" 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 "" 64) _lf=${c_ld_flags} _idir=${_prx}/$(get_arch_triplet 64)/include _ldir=${_prx}/$(get_arch_triplet 64)/lib _tag_dir=${_prx}/$(get_arch_triplet 64) _tag_file=${D1}.tag _pth1="$kWrkToolchain/.patches/pthreads-2.9.0.0.patch64.diff" _pth1_fl="PATCH1.FLAG" _pth2="$kWrkToolchain/.patches/pthreads-2.9.0.0.patch64.opt1.diff" _pth2_fl="PATCH2.FLAG" ##-Define-build-API-:)####################################### ##-Prepare-to-build-######################################### function __int_prepare() { cd $kWrkToolchain [[ ! -d $kWrkToolchain/$D1 ]] && mkdir -p $kWrkToolchain/$D1 [[ -d $kWrkToolchain/$D2 ]] && rm -rf $kWrkToolchain/$D2 mkdir -p $kWrkToolchain/$D2 cp -rf $kSources/$sName/* $kWrkToolchain/$D2 patch_checked "$kWrkToolchain/$D2" "${_pth1}" "${_pth1_fl}" patch_checked "$kWrkToolchain/$D2" "${_pth2}" "${_pth2_fl}" } ##-Configure-################################################ function __int_config() { printf "configure for pthreads not supported" } ##-Make-##################################################### function __int_make() { cd $kWrkToolchain/$D2 make \ KOPT="${_cf}" \ CROSS="$(make_cross '' 64)" \ clean GC-static } ##-Install-################################################## function __int_install() { cd $kWrkToolchain/$D2 ss1="config.h" ss2="ptconfig.h" ss0="s/$ss1/$ss2/" cp -f libpthreadGC2.a ${_ldir}/ cp -f sched.h semaphore.h ${_idir}/ cat pthread.h | sed -e "$ss0" >${_idir}/pthread.h } ##-Post-Install-steps-####################################### function __int_post_install() { # maybe strip... # ...tagging [[ ! -d ${_tag_dir} ]] && mkdir -p ${_tag_dir} _fl=${_tag_dir}/${_tag_file} echo "VER: ${sName}" >>${_fl} echo "PATCH1: `basename ${_pth1}`" >>${_fl} echo "PATCH2: `basename ${_pth2}`" >>${_fl} # echo "CFLAGS: ${_cf}" >>${_fl} } ##-Cleanup-################################################## function __int_clean() { cd $kWrkToolchain [[ -d $kWrkToolchain/$D2 ]] && patch_revert "$kWrkToolchain/$D2" "${_pth2}" "${_pth2_fl}" [[ -d $kWrkToolchain/$D2 ]] && patch_revert "$kWrkToolchain/$D2" "${_pth1}" "${_pth1_fl}" [[ -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