winamp/Src/Plugins/DSP/sc_serv3
2024-09-24 14:54:57 +02:00
..
aolxml Initial community commit 2024-09-24 14:54:57 +02:00
deps/win32/include Initial community commit 2024-09-24 14:54:57 +02:00
GeoIP Initial community commit 2024-09-24 14:54:57 +02:00
libs/Aol_XML Initial community commit 2024-09-24 14:54:57 +02:00
nmrCommon Initial community commit 2024-09-24 14:54:57 +02:00
webNet Initial community commit 2024-09-24 14:54:57 +02:00
adminList.cpp Initial community commit 2024-09-24 14:54:57 +02:00
adminList.h Initial community commit 2024-09-24 14:54:57 +02:00
ADTSHeader.cpp Initial community commit 2024-09-24 14:54:57 +02:00
ADTSHeader.h Initial community commit 2024-09-24 14:54:57 +02:00
agentList.cpp Initial community commit 2024-09-24 14:54:57 +02:00
agentList.h Initial community commit 2024-09-24 14:54:57 +02:00
amf.cpp Initial community commit 2024-09-24 14:54:57 +02:00
amf.h Initial community commit 2024-09-24 14:54:57 +02:00
auth.cpp Initial community commit 2024-09-24 14:54:57 +02:00
auth.h Initial community commit 2024-09-24 14:54:57 +02:00
bandwidth.cpp Initial community commit 2024-09-24 14:54:57 +02:00
bandwidth.h Initial community commit 2024-09-24 14:54:57 +02:00
banList.cpp Initial community commit 2024-09-24 14:54:57 +02:00
banList.h Initial community commit 2024-09-24 14:54:57 +02:00
base64.cpp Initial community commit 2024-09-24 14:54:57 +02:00
base64.h Initial community commit 2024-09-24 14:54:57 +02:00
cache.cpp Initial community commit 2024-09-24 14:54:57 +02:00
cache.h Initial community commit 2024-09-24 14:54:57 +02:00
config.cpp Initial community commit 2024-09-24 14:54:57 +02:00
config.h Initial community commit 2024-09-24 14:54:57 +02:00
cpucount.cpp Initial community commit 2024-09-24 14:54:57 +02:00
cpucount.h Initial community commit 2024-09-24 14:54:57 +02:00
filenameMetadata.cpp Initial community commit 2024-09-24 14:54:57 +02:00
filenameMetadata.h Initial community commit 2024-09-24 14:54:57 +02:00
FLV.cpp Initial community commit 2024-09-24 14:54:57 +02:00
FLV.h Initial community commit 2024-09-24 14:54:57 +02:00
global.cpp Initial community commit 2024-09-24 14:54:57 +02:00
global.h Initial community commit 2024-09-24 14:54:57 +02:00
GNUmakefile Initial community commit 2024-09-24 14:54:57 +02:00
icy.ico Initial community commit 2024-09-24 14:54:57 +02:00
ID3miniParsers.cpp Initial community commit 2024-09-24 14:54:57 +02:00
ID3miniParsers.h Initial community commit 2024-09-24 14:54:57 +02:00
libcurl_building.txt Initial community commit 2024-09-24 14:54:57 +02:00
main.cpp Initial community commit 2024-09-24 14:54:57 +02:00
manifest.xml Initial community commit 2024-09-24 14:54:57 +02:00
manifest64.xml Initial community commit 2024-09-24 14:54:57 +02:00
messagefile.h Initial community commit 2024-09-24 14:54:57 +02:00
messagefile.mc Initial community commit 2024-09-24 14:54:57 +02:00
metadata.cpp Initial community commit 2024-09-24 14:54:57 +02:00
metadata.h Initial community commit 2024-09-24 14:54:57 +02:00
metrics.cpp Initial community commit 2024-09-24 14:54:57 +02:00
metrics.h Initial community commit 2024-09-24 14:54:57 +02:00
MP3Header.cpp Initial community commit 2024-09-24 14:54:57 +02:00
MP3Header.h Initial community commit 2024-09-24 14:54:57 +02:00
MSG00001.bin Initial community commit 2024-09-24 14:54:57 +02:00
protocol_admincgi.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_admincgi.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_backup.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_backup.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_FlashPolicyServer.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_FlashPolicyServer.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_flvClient.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_flvClient.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_HTTPClient.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_HTTPClient.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_HTTPSource.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_HTTPSource.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_HTTPStyle.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_HTTPStyle.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_m4aClient.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_m4aClient.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_relay.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_relay.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_relay_shoutcast.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_relay_shoutcast.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_relay_uvox.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_relay_uvox.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_RTMPClient.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_RTMPClient.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_shoutcast1Client.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_shoutcast1Client.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_shoutcast2Client.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_shoutcast2Client.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_shoutcastClient.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_shoutcastClient.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_shoutcastSource.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_shoutcastSource.h Initial community commit 2024-09-24 14:54:57 +02:00
protocol_uvox2Source.cpp Initial community commit 2024-09-24 14:54:57 +02:00
protocol_uvox2Source.h Initial community commit 2024-09-24 14:54:57 +02:00
readme.txt Initial community commit 2024-09-24 14:54:57 +02:00
resource.h Initial community commit 2024-09-24 14:54:57 +02:00
ripList.cpp Initial community commit 2024-09-24 14:54:57 +02:00
ripList.h Initial community commit 2024-09-24 14:54:57 +02:00
sc_serv.rc Initial community commit 2024-09-24 14:54:57 +02:00
sc_serv.vcxproj Initial community commit 2024-09-24 14:54:57 +02:00
sc_serv.vcxproj.filters Initial community commit 2024-09-24 14:54:57 +02:00
stats.cpp Initial community commit 2024-09-24 14:54:57 +02:00
stats.h Initial community commit 2024-09-24 14:54:57 +02:00
streamData.cpp Initial community commit 2024-09-24 14:54:57 +02:00
streamData.h Initial community commit 2024-09-24 14:54:57 +02:00
threadedRunner.cpp Initial community commit 2024-09-24 14:54:57 +02:00
threadedRunner.h Initial community commit 2024-09-24 14:54:57 +02:00
updater.cpp Initial community commit 2024-09-24 14:54:57 +02:00
updater.h Initial community commit 2024-09-24 14:54:57 +02:00
uvox2Common.cpp Initial community commit 2024-09-24 14:54:57 +02:00
uvox2Common.h Initial community commit 2024-09-24 14:54:57 +02:00
versions.h Initial community commit 2024-09-24 14:54:57 +02:00
w3cLog.cpp Initial community commit 2024-09-24 14:54:57 +02:00
w3cLog.h Initial community commit 2024-09-24 14:54:57 +02:00
webClient.cpp Initial community commit 2024-09-24 14:54:57 +02:00
webClient.h Initial community commit 2024-09-24 14:54:57 +02:00
yp2.cpp Initial community commit 2024-09-24 14:54:57 +02:00
yp2.h Initial community commit 2024-09-24 14:54:57 +02:00

Building sc_serv2
-----------------

The build dependencies for sc_serv2 are expat and zlib and these already have a pre-built
library stored in the 'libs' folder. Otherwise everything else is built from the contents
of the sc_serv3 folder so the libs only need to be updated rarely.

It is assumed in all cases that there is a valid gcc + g++ tool chain in place along with
all standard libraries for building tools on the platform being used.


Win32 / Win64
-------------

The MSVC 2008 project builds straight from here with it using the pre-built libraries.

As from DNAS v2.6, additional libcurl, libssl & libcrypto .lib files are required.
External zip files can be downloaded from the Nullsoft github repo:
https://github.com/Radionomy/Nullsoft/blob/master/Shoutcast/sc_serv3/deps/win32.7z
https://github.com/Radionomy/Nullsoft/blob/master/Shoutcast/sc_serv3/deps/win64.7z

Extract locally to Shoutcast\sc_serv3\deps


BSD / Mac OS X / Linux
----------------------

The following is only needed if there is an update of the dependency library current
setup requires building expat before you can build sc_serv2 itself (not ideal but as it
is usually a build once event on the dependencies then it isn't too much of an issue...).

EXPAT
-----

In most cases just running ./unix_build_expat in the aolxml folder will build it.


ZLIB
----

./configure --static && make

May also need to set (or applicable):

    export CC="/usr/bin/gcc44"

in order to get it using the desired version of GCC on the system used to build this.


-----------

Once all of the dependencies have been built then you just need to do "(g)make release"
to get a build. The make stage accepts the following modes:

    clean
    release
    fire
    debug


Building on Centos 7 (on x64)
-----------------------------
Packages to install to enable compilation
    sudo yum install gcc-c++
    sudo yum install openssl-devel
    sudo yum install libstdc++-static
    
    curl http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/libcurl-devel-7.61.1-22.el8.x86_64.rpm > libcurl-devel.rpm
    sudo rpm install libcur-devel.rpm

If the directory deps/x86_64/lib does not exists create it
    mkdir -p deps/x86_64/lib
Copy the static dependencies to this directory
    cp libs/Aol_XML/Linux_x86_64/libexpat.a deps/x86_64/lib/
    cp libs/zlib/Linux_x86_64/libz.a deps/x86_64/lib/

Notes
-----

Building assumes that both the C and C++ compilers are correctly setup on the machine.
When doing the linux build on ubuntu 10.10 the g++ compiler was not available leading to
"error trying to exec 'cc1plus' execvp" errors during building. The fix is:

    sudo apt-get install g++

When doing the linux build on Centos 5.5 the g++ compiler was not available leading to
"gcc: error trying to exec 'cc1plus': execvp: No such file or directory". The fix is:

    yum install gcc-c++