summaryrefslogtreecommitdiffstats
path: root/config.tests/unix/endian.test
blob: 9f5c5661dcefc637d55cc4977a93f26f9687ea33 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh

QMKSPEC=$1
VERBOSE=$2
SRCDIR=$3
OUTDIR=$4

# debuggery
[ "$VERBOSE" = "yes" ] && echo "Determining machine byte-order... ($*)"

# build and run a test program
test -d $OUTDIR/config.tests/unix/endian || mkdir -p $OUTDIR/config.tests/unix/endian
$OUTDIR/bin/qmake -nocache -spec "$QMKSPEC" $SRCDIR/config.tests/unix/endian/endiantest.pro -o $OUTDIR/config.tests/unix/endian/Makefile >/dev/null 2>&1
cd $OUTDIR/config.tests/unix/endian

if [ "$VERBOSE" = "yes" ]; then
  (make && ./endiantest)
else
  (make && ./endiantest) >/dev/null 2>&1
fi
ENDIAN=$?

# done
if [ "$ENDIAN" -eq 0 ]; then
    [ "$VERBOSE" = "yes" ] && echo "Using big endian."
    exit 1
else
    [ "$VERBOSE" = "yes" ] && echo "Using little endian."
    exit 0
fi