50-openmpt.sh 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #!/bin/bash
  2. SCRIPT_REPO="https://source.openmpt.org/svn/openmpt/trunk/OpenMPT"
  3. SCRIPT_REV="22979"
  4. ffbuild_enabled() {
  5. [[ $TARGET == winarm64 ]] && return -1
  6. return 0
  7. }
  8. ffbuild_dockerdl() {
  9. echo "retry-tool sh -c \"rm -rf openmpt && svn checkout '${SCRIPT_REPO}@${SCRIPT_REV}' openmpt\" && cd openmpt"
  10. }
  11. ffbuild_dockerbuild() {
  12. local myconf=(
  13. PREFIX="$FFBUILD_PREFIX"
  14. CXXSTDLIB_PCLIBSPRIVATE="-lstdc++"
  15. VERBOSE=2
  16. STATIC_LIB=1
  17. SHARED_LIB=0
  18. DYNLINK=0
  19. EXAMPLES=0
  20. OPENMPT123=0
  21. IN_OPENMPT=0
  22. XMP_OPENMPT=0
  23. DEBUG=0
  24. OPTIMIZE=1
  25. TEST=0
  26. MODERN=1
  27. FORCE_DEPS=1
  28. NO_MINIMP3=0
  29. NO_ZLIB=0
  30. NO_OGG=0
  31. NO_VORBIS=0
  32. NO_VORBISFILE=0
  33. NO_MPG123=1
  34. NO_SDL2=1
  35. NO_PULSEAUDIO=1
  36. NO_SNDFILE=1
  37. NO_PORTAUDIO=1
  38. NO_PORTAUDIOCPP=1
  39. NO_FLAC=1
  40. )
  41. if [[ $TARGET == winarm64 ]]; then
  42. myconf+=(
  43. CONFIG=mingw64-win64
  44. WINDOWS_ARCH=arm64
  45. )
  46. export CPPFLAGS="$CPPFLAGS -DMPT_WITH_MINGWSTDTHREADS"
  47. elif [[ $TARGET == win* ]]; then
  48. myconf+=(
  49. CONFIG=mingw64-"$TARGET"
  50. )
  51. export CPPFLAGS="$CPPFLAGS -DMPT_WITH_MINGWSTDTHREADS"
  52. elif [[ $TARGET == linux* ]]; then
  53. myconf+=(
  54. CONFIG=gcc
  55. TOOLCHAIN_PREFIX="$FFBUILD_CROSS_PREFIX"
  56. )
  57. else
  58. echo "Unknown target"
  59. return -1
  60. fi
  61. make -j$(nproc) "${myconf[@]}" all install
  62. rm -r "$FFBUILD_PREFIX"/share/doc/libopenmpt
  63. }
  64. ffbuild_configure() {
  65. echo --enable-libopenmpt
  66. }
  67. ffbuild_unconfigure() {
  68. echo --disable-libopenmpt
  69. }