#!/bin/sh
CXX="${CXX-gcc}"
NM="${NM-nm -p}"
cat >tmp.h <<'EOF'
#ifdef __GNUC__
#pragma interface
#endif
class MyVClass {
  public:
  virtual int fmethod() { return 10; }
};
EOF
cat >tmp.C <<'EOF'
#include "tmp.h"
MyVClass vc;
EOF

${CXX} -c tmp.C
vtab_name=`${NM} tmp.o | grep -v fmethod | \
  sed -n -e 's/^.*[ 	]\([^ 	]*MyVClass.*$\)/\1/p'`
echo '/* A class named MyVClass has vtable labeled "'"${vtab_name}"'". */'
case "${vtab_name}" in
  *8MyVClass) echo '#define VTABLE_LABEL_HAS_LENGTH 1' ;;
  *) echo '#define VTABLE_LABEL_HAS_LENGTH 0' ;;
esac
vtab_prefix=`echo $vtab_name | sed -e 's/8*MyVClass//'`
echo "#define VTABLE_LABEL_PREFIX" '"'"${vtab_prefix}"'"'
