common/bin/difflib.sh
changeset 13132 bd88bb8dd3af
parent 12801 948f8ad66ee7
equal deleted inserted replaced
13082:9b19b2302c28 13132:bd88bb8dd3af
    51   echo $2 does not exist
    51   echo $2 does not exist
    52   exit 10
    52   exit 10
    53 fi
    53 fi
    54 
    54 
    55 if [ "`uname`" == "SunOS" ]; then
    55 if [ "`uname`" == "SunOS" ]; then
    56     NM=gnm
    56     if [ -f "`which gnm`" ]; then
    57     STAT="gstat -c%s"
    57         NM=gnm
       
    58 # Jonas 2012-05-29: solaris native nm produces radically different output than gnm
       
    59 #                   so if using that...we need different filter than "cut -f 2-"
       
    60 #
       
    61     elif [ -f "`which nm`" ]; then
       
    62         NM=nm
       
    63     else
       
    64         echo "No nm command found"
       
    65         exit 10
       
    66     fi
    58     LDD=ldd
    67     LDD=ldd
    59 elif [ $OSTYPE == "cygwin" ]; then
    68 elif [ $OSTYPE == "cygwin" ]; then
    60     NM="$VS100COMNTOOLS/../../VC/bin/amd64/dumpbin.exe"
    69     NM="$VS100COMNTOOLS/../../VC/bin/amd64/dumpbin.exe"
    61     NM_ARGS=/exports
    70     NM_ARGS=/exports
    62     STAT="stat -c%s"
       
    63     LDD=
    71     LDD=
    64 elif [ "`uname`" == "Darwin" ]; then
    72 elif [ "`uname`" == "Darwin" ]; then
    65     NM=nm
    73     NM=nm
    66     STAT="stat -f%z"
       
    67     LDD="otool -L"
    74     LDD="otool -L"
    68 else
    75 else
    69     NM=nm
    76     NM=nm
    70     STAT="stat -c%s"
       
    71     LDD=ldd
    77     LDD=ldd
    72 fi
    78 fi
    73 
    79 
    74 # Should the differences be viewed?
    80 # Should the differences be viewed?
    75 VIEW=
    81 VIEW=
    81     DIFF=diff
    87     DIFF=diff
    82 fi
    88 fi
    83 OLD=$(cd $(dirname $1) && pwd)/$(basename $1)
    89 OLD=$(cd $(dirname $1) && pwd)/$(basename $1)
    84 NEW=$(cd $(dirname $2) && pwd)/$(basename $2)
    90 NEW=$(cd $(dirname $2) && pwd)/$(basename $2)
    85 
    91 
    86 OLD_SIZE=$($STAT "$OLD")
    92 OLD_SIZE=$(ls -l "$OLD" | awk '{ print $5 }')
    87 NEW_SIZE=$($STAT "$NEW")
    93 NEW_SIZE=$(ls -l "$NEW" | awk '{ print $5 }')
    88 
    94 
    89 if [ $# -gt 3 ]
    95 if [ $# -gt 3 ]
    90 then
    96 then
    91     ROOT1=$(cd $3 && pwd)
    97     ROOT1=$(cd $3 && pwd)
    92     ROOT2=$(cd $4 && pwd)
    98     ROOT2=$(cd $4 && pwd)
   120     # The files were bytewise identical.
   126     # The files were bytewise identical.
   121     echo Identical: $OLD_NAME
   127     echo Identical: $OLD_NAME
   122     exit 0
   128     exit 0
   123 fi
   129 fi
   124 
   130 
   125 OLD_SYMBOLS=$COMPARE_ROOT/$OLD_NAME.old
   131 OLD_SYMBOLS=$COMPARE_ROOT/nm.$OLD_NAME.old
   126 NEW_SYMBOLS=$COMPARE_ROOT/$NEW_NAME.new
   132 NEW_SYMBOLS=$COMPARE_ROOT/nm.$NEW_NAME.new
   127 
   133 
   128 mkdir -p $(dirname $OLD_SYMBOLS)
   134 mkdir -p $(dirname $OLD_SYMBOLS)
   129 mkdir -p $(dirname $NEW_SYMBOLS)
   135 mkdir -p $(dirname $NEW_SYMBOLS)
   130 
   136 
   131 if [ $OSTYPE == "cygwin" ]; then
   137 if [ $OSTYPE == "cygwin" ]; then