templates.sh 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # Templates to be used with copy/paste in the bash source files.
  2. # Build xxx library.
  3. function do_xxx()
  4. {
  5. # XXX_VERSION="1.1"
  6. XXX_SRC_FOLDER_NAME="xxx-${XXX_VERSION}"
  7. XXX_FOLDER_NAME="${XXX_SRC_FOLDER_NAME}"
  8. local xxx_archive="${XXX_SRC_FOLDER_NAME}.tar.gz"
  9. local xxx_url="http://.../${xxx_archive}"
  10. local xxx_stamp_file_path="${STAMPS_FOLDER_PATH}/stamp-xxx-installed"
  11. if [ ! -f "${xxx_stamp_file_path}" ]
  12. then
  13. cd "${WORK_FOLDER_PATH}"
  14. download_and_extract "${xxx_url}" "${xxx_archive}" \
  15. "${XXX_SRC_FOLDER_NAME}"
  16. (
  17. mkdir -pv "${BUILD_FOLDER_PATH}/${XXX_FOLDER_NAME}"
  18. cd "${BUILD_FOLDER_PATH}/${XXX_FOLDER_NAME}"
  19. xbb_activate
  20. export CFLAGS="${XBB_CFLAGS}"
  21. export CPPFLAGS="${XBB_CPPFLAGS}"
  22. export LDFLAGS="${XBB_LDFLAGS}"
  23. if [ ! -f "config.status" ]
  24. then
  25. echo
  26. echo "Running xxx configure..."
  27. (
  28. bash "${WORK_FOLDER_PATH}/${XXX_SRC_FOLDER_NAME}/configure" --help
  29. bash "${WORK_FOLDER_PATH}/${XXX_SRC_FOLDER_NAME}/configure" \
  30. --prefix="${INSTALL_FOLDER_PATH}" \
  31. \
  32. --build=${BUILD} \
  33. --host=${HOST} \
  34. --target=${TARGET} \
  35. \
  36. --disable-shared \
  37. --enable-static
  38. ) 2>&1 | tee "${INSTALL_FOLDER_PATH}/configure-xxx-output.txt"
  39. cp "config.log" "${INSTALL_FOLDER_PATH}"/config-xxx-log.txt
  40. fi
  41. echo
  42. echo "Running xxx make..."
  43. (
  44. # Build.
  45. make -j ${JOBS}
  46. if [ "${WITH_STRIP}" == "y" ]
  47. then
  48. make install-strip
  49. else
  50. make install
  51. fi
  52. ) 2>&1 | tee "${INSTALL_FOLDER_PATH}/make-xxx-output.txt"
  53. )
  54. touch "${xxx_stamp_file_path}"
  55. else
  56. echo "Library xxx already installed."
  57. fi
  58. }