#!/bin/sh
win32_libid () {
  win32_libid_type="unknown"
  if eval $OBJDUMP -f $1 2>/dev/null | \
     grep -E 'file format pei+-i386(.*architecture: i386)?' >/dev/null ; then
    win32_libid_type="x86 DLL"
  else
    if eval $OBJDUMP -f $1 2>/dev/null | \
      grep -E 'file format pei*-i386(.*architecture: i386)?' >/dev/null ; then
      win32_libid_type="x86"
      if eval file $1 2>/dev/null | \
         grep -E 'ar archive' >/dev/null; then
        win32_libid_type="$win32_libid_type archive"
        if eval $NM -f posix -A $1 | awk '{print $3}' | grep "I" >/dev/null ; then
          win32_libid_type="$win32_libid_type import"
        else
          win32_libid_type="$win32_libid_type static"
        fi
      fi
    fi
  fi
  echo $win32_libid_type
}

OBJDUMP=objdump
NM=nm
win32_libid $1

