#!/bin/sh # # create specific link library for libpthread using symbols from libcygwin.a # inlib=$1; shift reflib=$1; shift outlib=$1; shift nm=$1; shift ar=$1; shift ranlib=$1; shift tmpdir=slibtmp.dir # awk script for extracing related object files SYMBOLS=`nm $reflib | grep "[TD] _" | gawk '{ print $3 }'` SCRIPT='$1 ~ /^d00/ { file = $1; gsub(":","",file); }' for i in $SYMBOLS; do SCRIPT="$SCRIPT \$3 ~ /^$i/ { print file; }" done # remove previous link library rm -f $outlib # extract related object files FILES=`$nm $PWD/$inlib | gawk "$SCRIPT"` mkdir $tmpdir cd $tmpdir $ar x $PWD/$inlib $FILES cd .. # create new link library for pthread $ar cru $PWD/$outlib $tmpdir/*.o $ranlib $PWD/$outlib # remove temporay files rm -fr $tmpdir