build.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/bin/bash
  2. set -exo pipefail
  3. export CFLAGS="${CFLAGS} -O3 -fPIC"
  4. # Fix undefined clock_gettime (Is this needed? See above)
  5. if [[ ${target_platform} =~ linux.* ]]; then
  6. export LDFLAGS="${LDFLAGS} -lrt"
  7. fi
  8. make -j$CPU_COUNT -C contrib/pzstd all
  9. declare -a _CMAKE_EXTRA_CONFIG
  10. # Is this needed with more recent releases?
  11. #if [[ ${HOST} =~ .*darwin.* ]]; then
  12. # unset MACOSX_DEPLOYMENT_TARGET
  13. # export MACOSX_DEPLOYMENT_TARGET
  14. # _CMAKE_EXTRA_CONFIG+=(-DCMAKE_AR=${AR})
  15. # _CMAKE_EXTRA_CONFIG+=(-DCMAKE_RANLIB=${RANLIB})
  16. # _CMAKE_EXTRA_CONFIG+=(-DCMAKE_LINKER=${LD})
  17. #fi
  18. if [[ ${HOST} =~ .*linux.* ]]; then
  19. # I hate you so much CMake.
  20. LIBPTHREAD=$(find ${PREFIX} -name "libpthread.so")
  21. _CMAKE_EXTRA_CONFIG+=(-DPTHREAD_LIBRARY=${LIBPTHREAD})
  22. LIBRT=$(find ${PREFIX} -name "librt.so")
  23. _CMAKE_EXTRA_CONFIG+=(-DRT_LIBRARIES=${LIBRT})
  24. fi
  25. pushd build/cmake
  26. FULL_AR=`which ${AR}`
  27. cmake -GNinja \
  28. -DCMAKE_INSTALL_PREFIX="${PREFIX}" \
  29. -DCMAKE_INSTALL_LIBDIR="lib" \
  30. -DCMAKE_PREFIX_PATH="${PREFIX}" \
  31. -DCMAKE_AR=${FULL_AR} \
  32. -DZSTD_BUILD_STATIC=ON \
  33. -DZSTD_PROGRAMS_LINK_SHARED=ON \
  34. -DZSTD_ZLIB_SUPPORT=ON \
  35. -DZSTD_LZ4_SUPPORT=ON \
  36. -DZSTD_LZMA_SUPPORT=ON \
  37. "${_CMAKE_EXTRA_CONFIG[@]}"
  38. ninja install
  39. popd