| #!/bin/bash |
| |
| if [ $# -ne 1 ] |
| then |
| echo "usage: Ltypes filename" >&2 |
| exit 2 |
| fi |
| |
| FILE="$1" |
| #TMPFILE='mktemp "${FILE}.XXXXXX"' || exit 1 |
| TMPFILE=${FILE}.`date "+%s"` |
| touch $TMPFILE || exit 1 |
| |
| # Change all the Xilinx types to Linux types and put the result into a temp file |
| sed \ |
| -e 's/\bXTRUE\b/TRUE/g' \ |
| -e 's/\bXFALSE\b/FALSE/g' \ |
| -e 's/\bXNULL\b/NULL/g' \ |
| -e 's/"xenv.h"/<asm\/delay.h>/g' \ |
| -e 's/\bXENV_USLEEP\b/udelay/g' \ |
| -e 's/\bXuint8\b/u8/g' \ |
| -e 's/\bXuint16\b/u16/g' \ |
| -e 's/\bXuint32\b/u32/g' \ |
| -e 's/\bXint8\b/s8/g' \ |
| -e 's/\bXint16\b/s16/g' \ |
| -e 's/\bXint32\b/s32/g' \ |
| -e 's/\bXboolean\b/u32/g' \ |
| "${FILE}" > "${TMPFILE}" |
| |
| # Overlay the original file with the temp file |
| mv "${TMPFILE}" "${FILE}" |
| |
| # Are we doing xbasic_types.h? |
| if [ "${FILE##*/}" = xbasic_types.h ] |
| then |
| # Remember as you're reading this that we've already gone through the prior |
| # sed script. We need to do some other things to xbasic_types.h: |
| # 1) Add ifndefs around TRUE and FALSE defines |
| # 2) Remove definition of NULL as NULL |
| # 3) Replace most of the primitive types section with a #include |
| sed \ |
| -e '/u32 true/,/#define false/Ic\ |
| #ifndef TRUE\ |
| #define TRUE 1\ |
| #endif\ |
| #ifndef FALSE\ |
| #define FALSE 0\ |
| #endif' \ |
| -e '/#define[[:space:]][[:space:]]*NULL[[:space:]][[:space:]]*NULL/d' \ |
| -e '/typedef[[:space:]][[:space:]]*unsigned[[:space:]][[:space:]]*char[[:space:]][[:space:]]*u8/,/typedef[[:space:]][[:space:]]*unsigned[[:space:]][[:space:]]*long[[:space:]][[:space:]]*u32.*boolean/c\ |
| #include <linux/types.h>' \ |
| "${FILE}" > "${TMPFILE}" |
| |
| mv "${TMPFILE}" "${FILE}" |
| fi |