Additional boost removal from scripts, project files, etc.

This commit is contained in:
casey langen 2022-12-04 13:57:56 -08:00
parent e31169eb25
commit d46115951b
9 changed files with 21 additions and 83 deletions

View File

@ -6,5 +6,3 @@ set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG")
# set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3 -fsanitize=address,undefined") # set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3 -fsanitize=address,undefined")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -frtti -fexceptions -Wno-psabi") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -frtti -fexceptions -Wno-psabi")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -Wno-psabi") set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -Wno-psabi")
add_definitions(-DHAVE_BOOST -D_FILE_OFFSET_BITS=64 -DSIGSLOT_USE_POSIX_THREADS)

View File

@ -1,12 +1,6 @@
if (${BUILD_STANDALONE} MATCHES "true") if (${BUILD_STANDALONE} MATCHES "true")
message(STATUS "${BoldGreen}[standalone-build] ENABLED!${ColorReset}") message(STATUS "${BoldGreen}[standalone-build] ENABLED!${ColorReset}")
set(BOOST_ROOT "/build/musikcube/vendor/bin")
set(BOOST_INCLUDEDIR "${CMAKE_CURRENT_SOURCE_DIR}/vendor/bin/include")
set(BOOST_LIBRARYDIR "${CMAKE_CURRENT_SOURCE_DIR}/vendor/bin/lib")
set(Boost_NO_SYSTEM_PATHS ON)
set(Boost_NO_BOOST_CMAKE ON)
list( list(
APPEND APPEND
VENDOR_INCLUDE_DIRECTORIES VENDOR_INCLUDE_DIRECTORIES

View File

@ -2,7 +2,6 @@ if (${GENERATE_DEB} MATCHES "true" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
if (${BUILD_STANDALONE} MATCHES "true") if (${BUILD_STANDALONE} MATCHES "true")
set(CPACK_PACKAGE_FILE_NAME "musikcube_standalone_${musikcube_VERSION}_${DEB_ARCHITECTURE}") set(CPACK_PACKAGE_FILE_NAME "musikcube_standalone_${musikcube_VERSION}_${DEB_ARCHITECTURE}")
else() else()
set(DEB_BOOST_VERSION "1.55.0")
set(DEB_MICROHTTPD_VERSION "10") set(DEB_MICROHTTPD_VERSION "10")
set(DEB_LIBCURL_VERSION "3") set(DEB_LIBCURL_VERSION "3")
set(DEB_AVUTIL_VERSION "55") set(DEB_AVUTIL_VERSION "55")
@ -10,18 +9,15 @@ if (${GENERATE_DEB} MATCHES "true" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
set(DEB_SWRESAMPLE_VERSION "2") set(DEB_SWRESAMPLE_VERSION "2")
set(DEB_NCURSES_VERSION "5") set(DEB_NCURSES_VERSION "5")
if (DEB_DISTRO MATCHES "buster") if (DEB_DISTRO MATCHES "buster")
set(DEB_BOOST_VERSION "1.67.0")
set(DEB_MICROHTTPD_VERSION "12") set(DEB_MICROHTTPD_VERSION "12")
set(DEB_LIBCURL_VERSION "4") set(DEB_LIBCURL_VERSION "4")
set(DEB_AVUTIL_VERSION "56") set(DEB_AVUTIL_VERSION "56")
set(DEB_AVFORMAT_VERSION "58") set(DEB_AVFORMAT_VERSION "58")
set(DEB_SWRESAMPLE_VERSION "3") set(DEB_SWRESAMPLE_VERSION "3")
elseif (DEB_DISTRO MATCHES "bionic") elseif (DEB_DISTRO MATCHES "bionic")
set(DEB_BOOST_VERSION "1.65.1")
set(DEB_MICROHTTPD_VERSION "12") set(DEB_MICROHTTPD_VERSION "12")
set(DEB_LIBCURL_VERSION "4") set(DEB_LIBCURL_VERSION "4")
elseif (DEB_DISTRO MATCHES "focal" OR DEB_DISTRO MATCHES "una") elseif (DEB_DISTRO MATCHES "focal" OR DEB_DISTRO MATCHES "una")
set(DEB_BOOST_VERSION "1.71.0")
set(DEB_MICROHTTPD_VERSION "12") set(DEB_MICROHTTPD_VERSION "12")
set(DEB_LIBCURL_VERSION "4") set(DEB_LIBCURL_VERSION "4")
set(DEB_AVUTIL_VERSION "56") set(DEB_AVUTIL_VERSION "56")
@ -29,7 +25,6 @@ if (${GENERATE_DEB} MATCHES "true" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
set(DEB_SWRESAMPLE_VERSION "3") set(DEB_SWRESAMPLE_VERSION "3")
set(DEB_NCURSES_VERSION "6") set(DEB_NCURSES_VERSION "6")
elseif (DEB_DISTRO MATCHES "hirsute") elseif (DEB_DISTRO MATCHES "hirsute")
set(DEB_BOOST_VERSION "1.71.0")
set(DEB_MICROHTTPD_VERSION "12") set(DEB_MICROHTTPD_VERSION "12")
set(DEB_LIBCURL_VERSION "4") set(DEB_LIBCURL_VERSION "4")
set(DEB_AVUTIL_VERSION "56") set(DEB_AVUTIL_VERSION "56")
@ -37,7 +32,6 @@ if (${GENERATE_DEB} MATCHES "true" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
set(DEB_SWRESAMPLE_VERSION "3") set(DEB_SWRESAMPLE_VERSION "3")
set(DEB_NCURSES_VERSION "6") set(DEB_NCURSES_VERSION "6")
elseif (DEB_DISTRO MATCHES "impish" OR DEB_DISTRO MATCHES "bullseye") elseif (DEB_DISTRO MATCHES "impish" OR DEB_DISTRO MATCHES "bullseye")
set(DEB_BOOST_VERSION "1.74.0")
set(DEB_MICROHTTPD_VERSION "12") set(DEB_MICROHTTPD_VERSION "12")
set(DEB_LIBCURL_VERSION "4") set(DEB_LIBCURL_VERSION "4")
set(DEB_AVUTIL_VERSION "56") set(DEB_AVUTIL_VERSION "56")
@ -46,7 +40,7 @@ if (${GENERATE_DEB} MATCHES "true" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
set(DEB_NCURSES_VERSION "6") set(DEB_NCURSES_VERSION "6")
endif() endif()
set(DEPENDENCIES "libboost-thread${DEB_BOOST_VERSION}, libboost-system${DEB_BOOST_VERSION}, libboost-chrono${DEB_BOOST_VERSION}, libboost-filesystem${DEB_BOOST_VERSION}, libboost-date-time${DEB_BOOST_VERSION}, libmicrohttpd${DEB_MICROHTTPD_VERSION}, libcurl${DEB_LIBCURL_VERSION}, libogg0, libvorbis0a, libvorbisfile3, libncursesw${DEB_NCURSES_VERSION}, libasound2, libpulse0, pulseaudio, libmp3lame0, libev4, libopenmpt0, libssl1.1") set(DEPENDENCIES "libmicrohttpd${DEB_MICROHTTPD_VERSION}, libcurl${DEB_LIBCURL_VERSION}, libogg0, libvorbis0a, libvorbisfile3, libncursesw${DEB_NCURSES_VERSION}, libasound2, libpulse0, pulseaudio, libmp3lame0, libev4, libopenmpt0, libssl1.1")
set(DEPENDENCIES "${DEPENDENCIES}, libavcodec-extra, libavutil${DEB_AVUTIL_VERSION}, libavformat${DEB_AVFORMAT_VERSION}, libswresample${DEB_SWRESAMPLE_VERSION}") set(DEPENDENCIES "${DEPENDENCIES}, libavcodec-extra, libavutil${DEB_AVUTIL_VERSION}, libavformat${DEB_AVFORMAT_VERSION}, libswresample${DEB_SWRESAMPLE_VERSION}")
if (${ENABLE_BUNDLED_TAGLIB} MATCHES "false") if (${ENABLE_BUNDLED_TAGLIB} MATCHES "false")
@ -56,7 +50,7 @@ if (${GENERATE_DEB} MATCHES "true" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
set(CPACK_PACKAGE_FILE_NAME "musikcube_${musikcube_VERSION}_${DEB_PLATFORM}_${DEB_DISTRO}_${DEB_ARCHITECTURE}") set(CPACK_PACKAGE_FILE_NAME "musikcube_${musikcube_VERSION}_${DEB_PLATFORM}_${DEB_DISTRO}_${DEB_ARCHITECTURE}")
set(CPACK_DEBIAN_PACKAGE_DEPENDS ${DEPENDENCIES}) set(CPACK_DEBIAN_PACKAGE_DEPENDS ${DEPENDENCIES})
set(CPACK_RPM_PACKAGE_REQUIRES "boost, libogg, libvorbis, ffmpeg-libs, ncurses, zlib, alsa-lib, pulseaudio-libs, openssl, libcurl, libmicrohttpd, lame, libev, taglib, libopenmpt") set(CPACK_RPM_PACKAGE_REQUIRES "libogg, libvorbis, ffmpeg-libs, ncurses, zlib, alsa-lib, pulseaudio-libs, openssl, libcurl, libmicrohttpd, lame, libev, taglib, libopenmpt")
endif() endif()
set(CPACK_GENERATOR "DEB" "RPM") set(CPACK_GENERATOR "DEB" "RPM")

View File

@ -8,8 +8,8 @@ Summary: A cross-platform, terminal-based audio engine, library, player and serv
Source0: https://github.com/clangen/musikcube/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz Source0: https://github.com/clangen/musikcube/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
License: BSD-3-Clause License: BSD-3-Clause
Packager: David Muckle <dvdmuckle@dvdmuckle.xyz> Packager: David Muckle <dvdmuckle@dvdmuckle.xyz>
BuildRequires: gcc-c++ cmake boost-devel libogg-devel libvorbis-devel ffmpeg-devel ncurses-devel zlib-devel alsa-lib-devel pulseaudio-libs-devel openssl-devel libcurl-devel libmicrohttpd-devel lame-devel libev-devel taglib-devel systemd-devel make libopenmpt-devel BuildRequires: gcc-c++ cmake libogg-devel libvorbis-devel ffmpeg-devel ncurses-devel zlib-devel alsa-lib-devel pulseaudio-libs-devel openssl-devel libcurl-devel libmicrohttpd-devel lame-devel libev-devel taglib-devel systemd-devel make libopenmpt-devel
Requires: boost libogg libvorbis ffmpeg-libs ncurses zlib alsa-lib pulseaudio-libs openssl libcurl libmicrohttpd lame libev taglib libopenmpt Requires: libogg libvorbis ffmpeg-libs ncurses zlib alsa-lib pulseaudio-libs openssl libcurl libmicrohttpd lame libev taglib libopenmpt
%description %description

View File

@ -11,7 +11,7 @@
# the script will create a "vendor" subdirectory in the current path, and stage # the script will create a "vendor" subdirectory in the current path, and stage
# all final files in "vendor/lib". # all final files in "vendor/lib".
# #
# dependencies: boost, openssl, curl, libmicrohttpd, ffmpeg, lame, libopenmpt # dependencies: openssl, curl, libmicrohttpd, ffmpeg, lame, libopenmpt
# set -x # set -x
@ -27,8 +27,6 @@ RPATH="@rpath"
OS=$(uname) OS=$(uname)
ARCH=$(uname -m) ARCH=$(uname -m)
SCRIPTDIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) SCRIPTDIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
BOOST_VERSION_URL_PATH="1.80.0"
BOOST_VERSION="1_80_0"
OPENSSL_VERSION="1.1.1q" OPENSSL_VERSION="1.1.1q"
CURL_VERSION="7.85.0" CURL_VERSION="7.85.0"
LIBMICROHTTPD_VERSION="0.9.75" LIBMICROHTTPD_VERSION="0.9.75"
@ -59,11 +57,10 @@ if [[ $CROSSCOMPILE == "rpi" ]]; then
OPENSSL_CROSSCOMPILE_PREFIX="--cross-compile-prefix=arm-linux-gnueabihf-" OPENSSL_CROSSCOMPILE_PREFIX="--cross-compile-prefix=arm-linux-gnueabihf-"
GENERIC_CONFIGURE_FLAGS="--build=x86_64-pc-linux-gnu --host=arm-linux-gnueabihf --with-sysroot=${ARM_ROOT}" GENERIC_CONFIGURE_FLAGS="--build=x86_64-pc-linux-gnu --host=arm-linux-gnueabihf --with-sysroot=${ARM_ROOT}"
FFMPEG_CONFIGURE_FLAGS="--arch=${ARCH} --target-os=linux --cross-prefix=arm-linux-gnueabihf-" FFMPEG_CONFIGURE_FLAGS="--arch=${ARCH} --target-os=linux --cross-prefix=arm-linux-gnueabihf-"
BOOST_TOOLSET="toolset=gcc-arm"
PKG_CONFIG_PATH="${LIBDIR}/pkgconfig/:${ARM_ROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig/" PKG_CONFIG_PATH="${LIBDIR}/pkgconfig/:${ARM_ROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig/"
printf "\n\ndetected CROSSCOMPILE=${CROSSCOMPILE}\n" printf "\n\ndetected CROSSCOMPILE=${CROSSCOMPILE}\n"
printf " CFLAGS=${CFLAGS}\n CXXFLAGS=${CXXFLAGS}\n LDFLAGS=${LDFLAGS}\n GENERIC_CONFIGURE_FLAGS=${GENERIC_CONFIGURE_FLAGS}\n" printf " CFLAGS=${CFLAGS}\n CXXFLAGS=${CXXFLAGS}\n LDFLAGS=${LDFLAGS}\n GENERIC_CONFIGURE_FLAGS=${GENERIC_CONFIGURE_FLAGS}\n"
printf " BOOST_TOOLSET=${BOOST_TOOLSET}\n OPENSSL_TYPE=${OPENSSL_TYPE}\n OPENSSL_CROSSCOMPILE_PREFIX=${OPENSSL_CROSSCOMPILE_PREFIX}\n" printf " OPENSSL_TYPE=${OPENSSL_TYPE}\n OPENSSL_CROSSCOMPILE_PREFIX=${OPENSSL_CROSSCOMPILE_PREFIX}\n"
printf " FFMPEG_CONFIGURE_FLAGS=${FFMPEG_CONFIGURE_FLAGS}\n PKG_CONFIG_PATH=${PKG_CONFIG_PATH}\n\n" printf " FFMPEG_CONFIGURE_FLAGS=${FFMPEG_CONFIGURE_FLAGS}\n PKG_CONFIG_PATH=${PKG_CONFIG_PATH}\n\n"
sleep 3 sleep 3
fi fi
@ -92,7 +89,6 @@ function copy_or_download {
function fetch_packages() { function fetch_packages() {
# no trailing slash on url dirs! # no trailing slash on url dirs!
copy_or_download https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION_URL_PATH}/source boost_${BOOST_VERSION}.tar.bz2
copy_or_download https://www.openssl.org/source openssl-${OPENSSL_VERSION}.tar.gz copy_or_download https://www.openssl.org/source openssl-${OPENSSL_VERSION}.tar.gz
copy_or_download https://curl.se/download curl-${CURL_VERSION}.tar.gz copy_or_download https://curl.se/download curl-${CURL_VERSION}.tar.gz
copy_or_download https://ftp.gnu.org/gnu/libmicrohttpd libmicrohttpd-${LIBMICROHTTPD_VERSION}.tar.gz copy_or_download https://ftp.gnu.org/gnu/libmicrohttpd libmicrohttpd-${LIBMICROHTTPD_VERSION}.tar.gz
@ -101,33 +97,6 @@ function fetch_packages() {
copy_or_download https://lib.openmpt.org/files/libopenmpt/src libopenmpt-${LIBOPENMPT_VERSION}+release.autotools.tar.gz copy_or_download https://lib.openmpt.org/files/libopenmpt/src libopenmpt-${LIBOPENMPT_VERSION}+release.autotools.tar.gz
} }
#
# boost
#
function build_boost() {
BOOST_CXX_FLAGS="-fPIC -std=c++17"
if [[ $OS == "Darwin" ]]; then
BOOST_CXX_FLAGS="-fPIC -std=c++17 -stdlib=libc++"
fi
tar xvfj boost_${BOOST_VERSION}.tar.bz2
cd boost_${BOOST_VERSION}
if [[ $CROSSCOMPILE == "rpi" ]]; then
printf "creating ~/user-config.jam with arm compiler\n"
echo "using gcc : arm : arm-linux-gnueabihf-g++ ;" > ~/user-config.jam
else
printf "removing ~/user-config.jam\n"
rm ~/user-config.jam 2> /dev/null
fi
./bootstrap.sh --with-libraries=atomic,chrono,date_time,filesystem,system,thread || exit $?
./b2 headers || exit $?
./b2 -d ${JOBS} -sNO_LZMA=1 -sNO_ZSTD=1 ${BOOST_TOOLSET} cxxstd=17 threading=multi link=shared cxxflags="${BOOST_CXX_FLAGS}" --prefix=${OUTDIR} install || exit $?
cd ..
}
# #
# openssl # openssl
# #
@ -495,7 +464,6 @@ cd vendor
stage_prebuilt_libraries stage_prebuilt_libraries
fetch_packages fetch_packages
build_boost
build_openssl build_openssl
build_curl build_curl
build_libmicrohttpd build_libmicrohttpd

View File

@ -7,28 +7,28 @@ if [ $OS == "Linux" ]; then
echo "detected ${DISTRO}" echo "detected ${DISTRO}"
case $DISTRO in case $DISTRO in
"impish") "impish")
sudo apt-get install build-essential clang cmake libboost-thread1.74-dev libboost-system1.74-dev libboost-filesystem1.74-dev libboost-date-time1.74-dev libboost-atomic1.74-dev libboost-chrono1.74-dev libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncurses-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev libspa-0.2-dev libpipewire-0.3-dev pipewire pipewire-bin pipewire-audio-client-libraries sudo apt-get install build-essential clang cmake libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncurses-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev libspa-0.2-dev libpipewire-0.3-dev pipewire pipewire-bin pipewire-audio-client-libraries
;; ;;
"hirsute") "hirsute")
sudo apt-get install build-essential clang cmake libboost-thread1.74-dev libboost-system1.71-dev libboost-filesystem1.71-dev libboost-date-time1.71-dev libboost-atomic1.71-dev libboost-chrono1.71-dev libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncurses-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev libspa-0.2-dev libpipewire-0.3-dev pipewire pipewire-bin pipewire-audio-client-libraries sudo apt-get install build-essential clang cmake libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncurses-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev libspa-0.2-dev libpipewire-0.3-dev pipewire pipewire-bin pipewire-audio-client-libraries
;; ;;
"focal" | "groovy" | "ulyssa") "focal" | "groovy" | "ulyssa")
sudo apt-get install build-essential clang cmake libboost-thread1.71-dev libboost-system1.71-dev libboost-filesystem1.71-dev libboost-date-time1.71-dev libboost-atomic1.71-dev libboost-chrono1.71-dev libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncurses-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev sudo apt-get install build-essential clang cmake libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncurses-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev
;; ;;
"buster") "buster")
sudo apt-get install build-essential clang cmake libboost-thread1.67-dev libboost-system1.67-dev libboost-filesystem1.67-dev libboost-date-time1.67-dev libboost-atomic1.67-dev libboost-chrono1.67-dev libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev sudo apt-get install build-essential clang cmake libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev
;; ;;
"bullseye") "bullseye")
sudo apt-get install build-essential clang cmake libboost-thread1.74-dev libboost-system1.74-dev libboost-filesystem1.74-dev libboost-date-time1.74-dev libboost-atomic1.74-dev libboost-chrono1.74-dev libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra58 libopenmpt-dev libssl-dev sudo apt-get install build-essential clang cmake libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra58 libopenmpt-dev libssl-dev
;; ;;
"cosmic" | "disco" | "eoan") "cosmic" | "disco" | "eoan")
sudo apt-get install build-essential clang cmake libboost-thread1.67-dev libboost-system1.67-dev libboost-filesystem1.67-dev libboost-date-time1.67-dev libboost-atomic1.67-dev libboost-chrono1.67-dev libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev sudo apt-get install build-essential clang cmake libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev
;; ;;
"bionic") "bionic")
sudo apt-get install build-essential clang cmake libboost-thread1.65-dev libboost-system1.65-dev libboost-filesystem1.65-dev libboost-date-time1.65-dev libboost-atomic1.65-dev libboost-chrono1.65-dev libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev sudo apt-get install build-essential clang cmake libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev
;; ;;
"artful") "artful")
sudo apt-get install build-essential clang cmake libboost-thread1.63-dev libboost-system1.63-dev libboost-filesystem1.63-dev libboost-date-time1.63-dev libboost-atomic1.63-dev libboost-chrono1.63-dev libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev sudo apt-get install build-essential clang cmake libogg-dev libvorbis-dev libavutil-dev libavformat-dev libswresample-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev libtag1-dev libsystemd-dev libavcodec-extra libopenmpt-dev libssl-dev
;; ;;
esac esac
fi fi
@ -37,7 +37,7 @@ if [ $OS == "Linux" ]; then
VERSION=$(cat /etc/fedora-release | awk '{ print $3 }') VERSION=$(cat /etc/fedora-release | awk '{ print $3 }')
echo "detected ${DISTRO} (version=${VERSION})" echo "detected ${DISTRO} (version=${VERSION})"
sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm rpm-build rpmdevtools 'dnf-command(builddep)' sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm rpm-build rpmdevtools 'dnf-command(builddep)'
sudo dnf install gcc-c++ make cmake boost-devel libogg-devel libvorbis-devel ffmpeg-devel ncurses-devel zlib-devel alsa-lib-devel pulseaudio-libs-devel libcurl-devel libmicrohttpd-devel lame-devel libev-devel openssl-devel taglib-devel systemd-devel libopenmpt-devel sudo dnf install gcc-c++ make cmake libogg-devel libvorbis-devel ffmpeg-devel ncurses-devel zlib-devel alsa-lib-devel pulseaudio-libs-devel libcurl-devel libmicrohttpd-devel lame-devel libev-devel openssl-devel taglib-devel systemd-devel libopenmpt-devel
case $VERSION in case $VERSION in
"34" | "35") "34" | "35")
sudo dnf install pipewire-devel pipewire-utils pipewire-libs sudo dnf install pipewire-devel pipewire-utils pipewire-libs
@ -45,20 +45,20 @@ if [ $OS == "Linux" ]; then
esac esac
fi fi
if [ -f "/etc/arch-release" ] || [ -f "/etc/manjaro-release" ]; then if [ -f "/etc/arch-release" ] || [ -f "/etc/manjaro-release" ]; then
sudo pacman -S libogg libvorbis libmicrohttpd ffmpeg lame cmake ncurses boost pulseaudio libpulse alsa-lib curl libev taglib libopenmpt sudo pacman -S libogg libvorbis libmicrohttpd ffmpeg lame cmake ncurses pulseaudio libpulse alsa-lib curl libev taglib libopenmpt
fi fi
if [ -f "/etc/SUSE-brand" ]; then if [ -f "/etc/SUSE-brand" ]; then
echo "detected SUSE" echo "detected SUSE"
sudo zypper install libcurl-devel libmicrohttpd-devel libboost_thread1_71_0-devel libboost_system1_71_0-devel libboost_filesystem1_71_0-devel libboost_date_time1_71_0-devel libboost_atomic1_71_0-devel libboost_chrono1_71_0-devel cmake ncurses-devel libogg-devel libvorbis-devel ffmpeg-3-libavcodec-devel ffmpeg-3-libswresample-devel ffmpeg-3-libavformat-devel ffmpeg-3-libavutil-devel libmp3lame-devel pulseaudio libpulse-devel alsa-devel zlib-devel libressl-devel libev-devel libtag-devel systemd-devel libopenmpt-devel sudo zypper install libcurl-devel libmicrohttpd-devel cmake ncurses-devel libogg-devel libvorbis-devel ffmpeg-3-libavcodec-devel ffmpeg-3-libswresample-devel ffmpeg-3-libavformat-devel ffmpeg-3-libavutil-devel libmp3lame-devel pulseaudio libpulse-devel alsa-devel zlib-devel libressl-devel libev-devel libtag-devel systemd-devel libopenmpt-devel
fi fi
fi fi
if [ $OS == "Darwin" ]; then if [ $OS == "Darwin" ]; then
echo "detected macos" echo "detected macos"
brew install cmake boost libogg libvorbis ffmpeg libmicrohttpd lame libev taglib libopenmpt brew install cmake libogg libvorbis ffmpeg libmicrohttpd lame libev taglib libopenmpt
fi fi
if [ $OS == "FreeBSD" ]; then if [ $OS == "FreeBSD" ]; then
echo "detected freebsd" echo "detected freebsd"
pkg install boost-all ncurses curl libvorbis libogg libmicrohttpd ffmpeg alsa-lib cmake sndio libev taglib bash libopenmpt pkg install ncurses curl libvorbis libogg libmicrohttpd ffmpeg alsa-lib cmake sndio libev taglib bash libopenmpt
portsnap fetch portsnap fetch
portsnap extract portsnap extract
cd /usr/ports/audio/lame cd /usr/ports/audio/lame
@ -66,5 +66,5 @@ if [ $OS == "FreeBSD" ]; then
fi fi
if [ $OS == "OpenBSD" ]; then if [ $OS == "OpenBSD" ]; then
echo "detected openbsd" echo "detected openbsd"
pkg_add git cmake ffmpeg boost sndio libev libmicrohttpd taglib libopenmpt pkg_add git cmake ffmpeg sndio libev libmicrohttpd taglib libopenmpt
fi fi

View File

@ -22,12 +22,6 @@ if [[ "$PLATFORM" == 'Darwin' ]]; then
cp vendor/bin/lib/libogg.0.dylib ./bin/lib cp vendor/bin/lib/libogg.0.dylib ./bin/lib
cp vendor/bin/lib/libvorbis.0.dylib ./bin/lib cp vendor/bin/lib/libvorbis.0.dylib ./bin/lib
cp vendor/bin/lib/libvorbisenc.2.dylib ./bin/lib cp vendor/bin/lib/libvorbisenc.2.dylib ./bin/lib
cp vendor/bin/lib/libboost_atomic.dylib ./bin/lib
cp vendor/bin/lib/libboost_chrono.dylib ./bin/lib
cp vendor/bin/lib/libboost_date_time.dylib ./bin/lib
cp vendor/bin/lib/libboost_filesystem.dylib ./bin/lib
cp vendor/bin/lib/libboost_system.dylib ./bin/lib
cp vendor/bin/lib/libboost_thread.dylib ./bin/lib
cp vendor/bin/lib/libcrypto.1.1.dylib ./bin/lib cp vendor/bin/lib/libcrypto.1.1.dylib ./bin/lib
cp vendor/bin/lib/libssl.1.1.dylib ./bin/lib cp vendor/bin/lib/libssl.1.1.dylib ./bin/lib
cp vendor/bin/lib/libcurl.4.dylib ./bin/lib cp vendor/bin/lib/libcurl.4.dylib ./bin/lib
@ -45,12 +39,6 @@ elif [[ "$PLATFORM" == 'Linux' ]]; then
cp vendor/bin/lib/libavformat-musikcube.so.59 ./bin/lib cp vendor/bin/lib/libavformat-musikcube.so.59 ./bin/lib
cp vendor/bin/lib/libavutil-musikcube.so.57 ./bin/lib cp vendor/bin/lib/libavutil-musikcube.so.57 ./bin/lib
cp vendor/bin/lib/libswresample-musikcube.so.4 ./bin/lib cp vendor/bin/lib/libswresample-musikcube.so.4 ./bin/lib
cp vendor/bin/lib/libboost_atomic.so.1.80.0 ./bin/lib
cp vendor/bin/lib/libboost_chrono.so.1.80.0 ./bin/lib
cp vendor/bin/lib/libboost_date_time.so.1.80.0 ./bin/lib
cp vendor/bin/lib/libboost_filesystem.so.1.80.0 ./bin/lib
cp vendor/bin/lib/libboost_system.so.1.80.0 ./bin/lib
cp vendor/bin/lib/libboost_thread.so.1.80.0 ./bin/lib
cp vendor/bin/lib/libcrypto.so.1.1 ./bin/lib cp vendor/bin/lib/libcrypto.so.1.1 ./bin/lib
cp vendor/bin/lib/libssl.so.1.1 ./bin/lib cp vendor/bin/lib/libssl.so.1.1 ./bin/lib
cp vendor/bin/lib/libcurl.so.4 ./bin/lib cp vendor/bin/lib/libcurl.so.4 ./bin/lib

View File

@ -149,10 +149,6 @@
Filter="h;hpp;hxx;hm;inl;inc;xsd" Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
> >
<Filter
Name="boost"
>
</Filter>
<Filter <Filter
Name="sqlite" Name="sqlite"
> >

View File

@ -87,7 +87,7 @@ class WaveOut : public IOutput {
/* note we apparently use a std::list<> here, and not std::set<> because /* note we apparently use a std::list<> here, and not std::set<> because
when we need to do a lookup we have a WaveOutBuffer*, and not a shared_ptr. when we need to do a lookup we have a WaveOutBuffer*, and not a shared_ptr.
we could fix this up by using boost::enable_shared_from_this */ we could fix this up by using std::enable_shared_from_this */
typedef std::deque<WaveOutBufferPtr> BufferList; typedef std::deque<WaveOutBufferPtr> BufferList;
/* instance state relating to output device, including the thread that /* instance state relating to output device, including the thread that