Subversion Repositories QNX 8.QNX8 IFS tool

Rev

Blame | Last modification | View Log | Download | RSS feed

  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
  48.