docker-build-linux.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/usr/bin/env bash
  2. # Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
  3. set -e
  4. #set -x
  5. # Set job parallelism to 1 (none) if it is not defined in the environment
  6. if [ -z "${J}" ]; then
  7. J=1
  8. fi
  9. # just in-case this is run outside Docker
  10. mkdir -p /rocksdb-local-build
  11. rm -rf /rocksdb-local-build/*
  12. cp -r /rocksdb-host/* /rocksdb-local-build
  13. cd /rocksdb-local-build
  14. # Use scl devtoolset if available
  15. if hash scl 2>/dev/null; then
  16. if scl --list | grep -q 'devtoolset-8'; then
  17. # CentOS 6+
  18. scl enable devtoolset-8 'make clean-not-downloaded'
  19. scl enable devtoolset-8 "PORTABLE=1 J=$J make -j$J rocksdbjavastatic"
  20. elif scl --list | grep -q 'devtoolset-7'; then
  21. # CentOS 6+
  22. scl enable devtoolset-7 'make clean-not-downloaded'
  23. scl enable devtoolset-7 "PORTABLE=1 J=$J make -j$J rocksdbjavastatic"
  24. elif scl --list | grep -q 'devtoolset-2'; then
  25. # CentOS 5 or 6
  26. scl enable devtoolset-2 'make clean-not-downloaded'
  27. scl enable devtoolset-2 "PORTABLE=1 J=$J make -j$J rocksdbjavastatic"
  28. else
  29. echo "Could not find devtoolset"
  30. exit 1;
  31. fi
  32. else
  33. make clean-not-downloaded
  34. PORTABLE=1 make -j$J rocksdbjavastatic
  35. fi
  36. cp java/target/librocksdbjni-linux*.so java/target/rocksdbjni-*-linux*.jar java/target/rocksdbjni-*-linux*.jar.sha1 /rocksdb-java-target