|
| 1 | +#!/bin/bash |
| 2 | +echo "Automated SFML Installer from source..." |
| 3 | +platform='unknown' ; |
| 4 | +unamestr=`uname` ; |
| 5 | +if [[ "$unamestr" == 'Linux' ]] ; then |
| 6 | + platform='linux' ; |
| 7 | +elif [["$unamestr" == 'FreeBSD']]; then |
| 8 | + platform='freebsd' ; |
| 9 | +elif [["$unamestr" == 'Darwin']]; then |
| 10 | + platform='darwin' ; |
| 11 | +fi |
| 12 | +echo "OS: $platform" |
| 13 | +#not used for now |
| 14 | +processor='unknown' ; |
| 15 | +unamestr=`uname -m` |
| 16 | +if [[ "$unamestr" == 'i686' ]] ; then |
| 17 | + processor='x86' ; |
| 18 | +elif [["$unamestr" == 'x86_64']] ; then |
| 19 | + processor='x86_64' ; |
| 20 | +fi |
| 21 | +echo "PROCESSOR: $processor" |
| 22 | + |
| 23 | +if [ ! -x "./deps" ] ; then |
| 24 | + echo "Making deps directory..." |
| 25 | + mkdir "deps" |
| 26 | +fi |
| 27 | +cd deps |
| 28 | +if [[ ! "$platform" == 'darwin' ]] ; then |
| 29 | + #openal |
| 30 | + if [ ! -x "./openalsoft" ] ; then |
| 31 | + echo "Downloading OpenALSoft source" |
| 32 | + curl -o "openalsoft.tar.bz2" "http://kcat.strangesoft.net/openal-releases/openal-soft-1.12.854.tar.bz2" &> /dev/null |
| 33 | + tar -xvf "openalsoft.tar.bz2" &> /dev/null |
| 34 | + rm ./*.tar.bz2 |
| 35 | + mv openal-soft*/ openalsoft |
| 36 | + |
| 37 | + cd openalsoft/build |
| 38 | + echo "Making OpenALSoft" |
| 39 | + cmake .. &> /dev/null |
| 40 | + make &> /dev/null |
| 41 | + echo "Installing OpenALSoft" |
| 42 | + sudo make install &> /dev/null |
| 43 | + cd ../.. |
| 44 | + else |
| 45 | + echo "OpenALSoft already exists, remove directory for a fresh compile" |
| 46 | + fi |
| 47 | + #libsndfile |
| 48 | + if [ ! -x "./libsndfile" ] ; then |
| 49 | + echo "Downloading libsndfile source" |
| 50 | + curl -o "libsndfile.tar.gz" "http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.21.tar.gz" &> /dev/null |
| 51 | + tar -xvf "libsndfile.tar.gz" &> /dev/null |
| 52 | + rm ./*.tar.gz |
| 53 | + mv libsndfile*/ libsndfile |
| 54 | + |
| 55 | + cd libsndfile |
| 56 | + echo "Making libsndfile" |
| 57 | + ./configure &> /dev/null |
| 58 | + make &> /dev/null |
| 59 | + echo "Installing libsndfile" |
| 60 | + sudo make install &> /dev/null |
| 61 | + cd .. |
| 62 | + else |
| 63 | + echo "libsndfile already exists, remove directory for a fresh compile" |
| 64 | + fi |
| 65 | +fi |
| 66 | +#SFML |
| 67 | +if [ ! -x "./sfml" ] ; then |
| 68 | + echo "Downloading SFML source" |
| 69 | + svn checkout "http://sfml.svn.sourceforge.net/svnroot/sfml/tags/1.6" "sfml" &> /dev/null |
| 70 | + cd sfml |
| 71 | + |
| 72 | + |
| 73 | + if [[ "$platform" == 'darwin' ]] ; then |
| 74 | + echo "Installing External Frameworks" |
| 75 | + if [[ "$processor" == 'x86_64' ]] ; then |
| 76 | + sudo cp extlibs/bin/x86_64/* /Library/Frameworks |
| 77 | + else |
| 78 | + sudo cp extlibs/bin/OpenAL.framework /Library/Frameworks |
| 79 | + sudo cp extlibs/bin/libsndfile.framework /Library/Frameworks |
| 80 | + fi |
| 81 | + fi |
| 82 | + |
| 83 | + echo "Making SFML" |
| 84 | + make &> /dev/null |
| 85 | + |
| 86 | + if [[ "$platform" == 'darwin' ]] ; then |
| 87 | + echo "Installing SFML Frameworks" |
| 88 | + if [[ "$processor" == 'x86_64' ]] ; then |
| 89 | + sudo cp lib64/* /Library/Frameworks |
| 90 | + else |
| 91 | + sudo cp lib/* /Library/Frameworks |
| 92 | + fi |
| 93 | + else |
| 94 | + echo "Installing SFML" |
| 95 | + sudo make install &> /dev/null |
| 96 | + fi |
| 97 | + cd ../.. |
| 98 | +else |
| 99 | + echo "sfml already exists, remove directory for a fresh compile" |
| 100 | +fi |
| 101 | +./compile |
0 commit comments