Subversion Repositories QNX 8.QNX8 IFS tool

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
36 pmbaty 1
#!/bin/sh
2
# *NATIVE* build script for POSIX systems by Pierre-Marie Baty <pm@pmbaty.com>
3
 
4
THISDIR="$(pwd)"
5
cd ../qnx800
6
. ./qnxsdp-env.sh > /dev/null || exit 1
7
cd "${THISDIR}"
8
 
9
# figure out the target triple
10
if [ "$(uname)" = "QNX" ]; then
11
        # host is native QNX8. Neutrino has its own ABI.
12
        TRIPLE="$(uname -p)-$(test "$(uname -m)" = "x86pc" && echo "pc" || echo "unknown")-nto-qnx800"
13
        SYSROOT="../qnx800/host/qnx8/$(uname -p)"
14
elif [ "$(uname)" = "FreeBSD" ] || [ "$(uname)" = "NetBSD" ] || [ "$(uname)" = "OpenBSD" ]; then
15
        # host is a BSD. BSDs have their own ABI.
16
        TRIPLE="$(uname -m)-unknown-$(uname|tr '[:upper:]' '[:lower:]')"
17
elif [ "$(uname)" = "Linux" ]; then
18
        # host is Linux. Linux uses the GNU ABI (same as Hurd)
19
        TRIPLE="$(uname -m)-unknown-linux-gnu"
20
        SYSROOT="../qnx800/host/linux/$(uname -m)"
21
elif [ "$(uname)" = "Darwin" ]; then
22
        # host is Apple. May be macOS or even a mobile platform (heh, why not?) - they use the Mach-O ABI
23
        TRIPLE="$(uname -m)-apple-$(uname|tr '[:upper:]' '[:lower:]')"
24
else
25
        # best guess... assume a GNU ABI
26
        TRIPLE="$(uname -m)-unknown-$(uname|tr '[:upper:]' '[:lower:]')-gnu"
27
fi
28
 
29
CPPFLAGS="-D_QNX_SOURCE -Ilibucl/include -Ilibucl/src -Ilibucl -Iliblzo"
30
LDFLAGS=""
31
# for debug CPPFLAGS add: -fsanitize=address -g
32
# for debug LDFLAGS add: -static-libasan
33
 
34
rm -f ifstool.$(uname) > /dev/null 2>&1
35
rm -rf .build > /dev/null 2>&1
36
mkdir .build > /dev/null 2>&1
37
 
38
echo "Building ifstool for ${TRIPLE}..."
39
cc ${CPPFLAGS} $(grep 'ClCompile Include' ifstool.vcxproj|awk -F'"' '{print $2}'|tr '\\' '/') ${LDFLAGS} -o "${TRIPLE}-ifstool" || exit 1
40
 
41
if [ -d "${SYSROOT}/usr/bin" ]; then
42
        echo Deploying ifstool to QNX8 $(uname) host toolchain...
43
        cp "${TRIPLE}-ifstool" "${SYSROOT}/usr/bin/ifstool" || exit 1
44
fi
45
 
46
echo "Done"
47
exit 0