#!/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 ##-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 } ##-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} } ##-Cleanup-################################################## function __int_clean() { cd $kWrkToolchain [[ -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