|
|
@@ -0,0 +1,338 @@ |
|
|
|
#!/bin/bash |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# stop on error |
|
|
|
|
|
|
|
set -e |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# cd to correct path |
|
|
|
|
|
|
|
if [ -f Makefile ]; then |
|
|
|
cd data/linux |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# Use gcc 4.8 |
|
|
|
|
|
|
|
export CC=gcc-4.8 |
|
|
|
export CXX=g++-4.8 |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# function to build base libs |
|
|
|
|
|
|
|
build_base() |
|
|
|
{ |
|
|
|
|
|
|
|
export CFLAGS="-O2 -mtune=generic -msse -msse2 -m$ARCH -fPIC -DPIC" |
|
|
|
export CXXFLAGS=$CFLAGS |
|
|
|
export LDFLAGS="-m$ARCH" |
|
|
|
|
|
|
|
export PREFIX=/opt/carla$ARCH |
|
|
|
export PATH=$PREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin |
|
|
|
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# pkgconfig |
|
|
|
|
|
|
|
if [ ! -d pkg-config-0.28 ]; then |
|
|
|
aria2c http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz |
|
|
|
tar -xf pkg-config-0.28.tar.gz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f pkg-config-0.28_$ARCH/build-done ]; then |
|
|
|
cp -r pkg-config-0.28 pkg-config-0.28_$ARCH |
|
|
|
cd pkg-config-0.28_$ARCH |
|
|
|
./configure --enable-indirect-deps --with-internal-glib --with-pc-path=$PKG_CONFIG_PATH --prefix=$PREFIX |
|
|
|
make |
|
|
|
sudo make install |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# zlib |
|
|
|
|
|
|
|
if [ ! -d zlib-1.2.8 ]; then |
|
|
|
aria2c http://zlib.net/zlib-1.2.8.tar.gz |
|
|
|
tar -xf zlib-1.2.8.tar.gz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f zlib-1.2.8_$ARCH/build-done ]; then |
|
|
|
cp -r zlib-1.2.8 zlib-1.2.8_$ARCH |
|
|
|
cd zlib-1.2.8_$ARCH |
|
|
|
./configure --static --prefix=$PREFIX |
|
|
|
make |
|
|
|
sudo make install |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# liblo |
|
|
|
|
|
|
|
if [ ! -d liblo-0.28 ]; then |
|
|
|
aria2c http://download.sourceforge.net/liblo/liblo-0.28.tar.gz |
|
|
|
tar -xf liblo-0.28.tar.gz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f liblo-0.28_$ARCH/build-done ]; then |
|
|
|
cp -r liblo-0.28 liblo-0.28_$ARCH |
|
|
|
cd liblo-0.28_$ARCH |
|
|
|
./configure --enable-static --disable-shared --prefix=$PREFIX |
|
|
|
make |
|
|
|
sudo make install |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# mxml |
|
|
|
|
|
|
|
if [ ! -d mxml-2.8 ]; then |
|
|
|
aria2c http://www.msweet.org/files/project3/mxml-2.8.tar.gz |
|
|
|
tar -xf mxml-2.8.tar.gz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f mxml-2.8_$ARCH/build-done ]; then |
|
|
|
cp -r mxml-2.8 mxml-2.8_$ARCH |
|
|
|
cd mxml-2.8_$ARCH |
|
|
|
./configure --enable-static --disable-shared --prefix=$PREFIX |
|
|
|
make |
|
|
|
sudo cp *.a $PREFIX/lib/ |
|
|
|
sudo cp *.pc $PREFIX/lib/pkgconfig/ |
|
|
|
sudo cp mxml.h $PREFIX/include/ |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# fftw3 |
|
|
|
|
|
|
|
if [ ! -d fftw-3.3.4 ]; then |
|
|
|
aria2c http://www.fftw.org/fftw-3.3.4.tar.gz |
|
|
|
tar -xf fftw-3.3.4.tar.gz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f fftw-3.3.4_$ARCH/build-done ]; then |
|
|
|
export CFLAGS="-O2 -mtune=generic -msse -msse2 -ffast-math -mfpmath=sse -m$ARCH -fPIC -DPIC" |
|
|
|
export CXXFLAGS=$CFLAGS |
|
|
|
cp -r fftw-3.3.4 fftw-3.3.4_$ARCH |
|
|
|
cd fftw-3.3.4_$ARCH |
|
|
|
./configure --enable-static --enable-sse2 --disable-shared --disable-debug --prefix=$PREFIX |
|
|
|
make |
|
|
|
sudo make install |
|
|
|
make clean |
|
|
|
./configure --enable-static --enable-sse --enable-sse2 --enable-single --disable-shared --disable-debug --prefix=$PREFIX |
|
|
|
make |
|
|
|
sudo make install |
|
|
|
make clean |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# build base libs |
|
|
|
|
|
|
|
export ARCH=32 |
|
|
|
build_base |
|
|
|
|
|
|
|
export ARCH=64 |
|
|
|
build_base |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# qt5-base download |
|
|
|
|
|
|
|
if [ ! -d qtbase-opensource-src-5.3.0 ]; then |
|
|
|
aria2c http://download.qt-project.org/official_releases/qt/5.3/5.3.0/submodules/qtbase-opensource-src-5.3.0.tar.xz |
|
|
|
tar -xf qtbase-opensource-src-5.3.0.tar.xz |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# qt5-base 32bit (minimal, static) |
|
|
|
|
|
|
|
if [ ! -f qtbase-opensource-src-5.3.0_32/build-done ]; then |
|
|
|
export CFLAGS="-O2 -mtune=generic -msse -msse2 -m32 -fPIC -DPIC" |
|
|
|
export CXXFLAGS=$CFLAGS |
|
|
|
export LDFLAGS="-m32" |
|
|
|
export PREFIX=/opt/carla32 |
|
|
|
export PATH=$PREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin |
|
|
|
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig |
|
|
|
cp -r qtbase-opensource-src-5.3.0 qtbase-opensource-src-5.3.0_32 |
|
|
|
cd qtbase-opensource-src-5.3.0_32 |
|
|
|
export CFG_ARCH=i386 |
|
|
|
export QMAKESPEC=linux-g++-32 |
|
|
|
./configure -release -static -opensource -confirm-license -force-pkg-config -platform linux-g++-32 \ |
|
|
|
-prefix $PREFIX -plugindir $PREFIX/lib/qt5/plugins -headerdir $PREFIX/include/qt5 \ |
|
|
|
-qt-freetype -qt-libjpeg -qt-libpng -qt-pcre -qt-sql-sqlite -qt-zlib -opengl no \ |
|
|
|
-no-directfb -no-eglfs -no-kms -no-linuxfb -no-mtdev -no-xcb -no-xcb-xlib \ |
|
|
|
-no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-mips_dsp -no-mips_dspr2 \ |
|
|
|
-no-cups -no-dbus -no-evdev -no-fontconfig -no-harfbuzz -no-iconv -no-icu -no-gif -no-glib -no-nis -no-openssl -no-pch -no-sql-ibase -no-sql-odbc \ |
|
|
|
-no-audio-backend -no-qml-debug -no-separate-debug-info \ |
|
|
|
-no-compile-examples -no-gui -no-widgets -nomake examples -nomake tests -nomake tools -make libs |
|
|
|
make -j 8 |
|
|
|
sudo make install |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# qt5-base 64bit (minimal, static) |
|
|
|
|
|
|
|
if [ ! -f qtbase-opensource-src-5.3.0_64/build-done ]; then |
|
|
|
export CFLAGS="-O2 -mtune=generic -msse -msse2 -m64 -fPIC -DPIC" |
|
|
|
export CXXFLAGS=$CFLAGS |
|
|
|
export LDFLAGS="-m64" |
|
|
|
export PREFIX=/opt/carla64 |
|
|
|
export PATH=$PREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin |
|
|
|
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig |
|
|
|
cp -r qtbase-opensource-src-5.3.0 qtbase-opensource-src-5.3.0_64 |
|
|
|
cd qtbase-opensource-src-5.3.0_64 |
|
|
|
export CFG_ARCH=x86_64 |
|
|
|
export QMAKESPEC=linux-g++-64 |
|
|
|
./configure -release -static -opensource -confirm-license -force-pkg-config -platform linux-g++-64 \ |
|
|
|
-prefix $PREFIX -plugindir $PREFIX/lib/qt5/plugins -headerdir $PREFIX/include/qt5 \ |
|
|
|
-qt-freetype -qt-libjpeg -qt-libpng -qt-pcre -qt-sql-sqlite -qt-zlib -opengl no \ |
|
|
|
-no-directfb -no-eglfs -no-kms -no-linuxfb -no-mtdev -no-xcb -no-xcb-xlib \ |
|
|
|
-no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-mips_dsp -no-mips_dspr2 \ |
|
|
|
-no-cups -no-dbus -no-evdev -no-fontconfig -no-harfbuzz -no-iconv -no-icu -no-gif -no-glib -no-nis -no-openssl -no-pch -no-sql-ibase -no-sql-odbc \ |
|
|
|
-no-audio-backend -no-qml-debug -no-separate-debug-info \ |
|
|
|
-no-compile-examples -no-gui -no-widgets -nomake examples -nomake tests -nomake tools -make libs |
|
|
|
make -j 8 |
|
|
|
sudo make install |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# set flags for qt stuff |
|
|
|
|
|
|
|
export CFLAGS="-O2 -mtune=generic -msse -msse2 -fPIC -DPIC" |
|
|
|
export CXXFLAGS=$CFLAGS |
|
|
|
export LDFLAGS="" |
|
|
|
|
|
|
|
export PREFIX=/opt/carla |
|
|
|
export PATH=$PREFIX/bin:/usr/bin:/bin:/usr/sbin:/sbin |
|
|
|
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig |
|
|
|
|
|
|
|
export CFG_ARCH=x86_64 |
|
|
|
export QMAKESPEC=linux-g++ |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# qt5-base download (5.2.1 for now) |
|
|
|
|
|
|
|
if [ ! -d qtbase-opensource-src-5.2.1 ]; then |
|
|
|
aria2c http://download.qt-project.org/official_releases/qt/5.2/5.2.1/submodules/qtbase-opensource-src-5.2.1.tar.xz |
|
|
|
tar -xf qtbase-opensource-src-5.2.1.tar.xz |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# qt5-base (regular, shared) |
|
|
|
|
|
|
|
if [ ! -f qtbase-opensource-src-5.2.1/build-done ]; then |
|
|
|
cd qtbase-opensource-src-5.2.1 |
|
|
|
./configure -release -shared -opensource -confirm-license -force-pkg-config -platform linux-g++ \ |
|
|
|
-prefix $PREFIX -plugindir $PREFIX/lib/qt5/plugins -headerdir $PREFIX/include/qt5 \ |
|
|
|
-qt-freetype -qt-libjpeg -qt-libpng -qt-pcre -qt-sql-sqlite -qt-xcb -qt-xkbcommon -qt-zlib -opengl desktop -qpa xcb \ |
|
|
|
-no-directfb -no-eglfs -no-kms -no-linuxfb -no-mtdev \ |
|
|
|
-no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-neon -no-mips_dsp -no-mips_dspr2 \ |
|
|
|
-no-cups -no-dbus -no-evdev -no-fontconfig -no-harfbuzz -no-iconv -no-icu -no-gif -no-glib -no-nis -no-openssl -no-pch -no-sql-ibase -no-sql-odbc \ |
|
|
|
-no-audio-backend -no-javascript-jit -no-qml-debug -no-rpath -no-separate-debug-info \ |
|
|
|
-no-compile-examples -nomake examples -nomake tests -make libs -make tools |
|
|
|
make -j 8 |
|
|
|
sudo make install |
|
|
|
# sudo cp src/plugins/platforms/xcb/xcb-static/libxcb-static.a $PREFIX/lib/qt5/plugins/platforms/ |
|
|
|
# sudo sed "s?`pwd`/src/plugins/platforms/xcb/xcb-static?$PREFIX/lib/qt5/plugins/platforms?" -i $PREFIX/lib/qt5/plugins/platforms/libqxcb.prl |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# qt5-svg |
|
|
|
|
|
|
|
if [ ! -d qtsvg-opensource-src-5.2.1 ]; then |
|
|
|
aria2c http://download.qt-project.org/official_releases/qt/5.2/5.2.1/submodules/qtsvg-opensource-src-5.2.1.tar.gz |
|
|
|
tar -xf qtsvg-opensource-src-5.2.1.tar.gz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f qtsvg-opensource-src-5.2.1/build-done ]; then |
|
|
|
cd qtsvg-opensource-src-5.2.1 |
|
|
|
qmake |
|
|
|
make -j 8 |
|
|
|
sudo make install |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# python |
|
|
|
|
|
|
|
if [ ! -d Python-3.3.5 ]; then |
|
|
|
aria2c https://www.python.org/ftp/python/3.3.5/Python-3.3.5.tgz |
|
|
|
tar -xf Python-3.3.5.tgz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f Python-3.3.5/build-done ]; then |
|
|
|
cd Python-3.3.5 |
|
|
|
./configure --prefix=$PREFIX |
|
|
|
make |
|
|
|
sudo make install |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# sip |
|
|
|
|
|
|
|
if [ ! -d sip-4.15.5 ]; then |
|
|
|
aria2c http://sourceforge.net/projects/pyqt/files/sip/sip-4.15.5/sip-4.15.5.tar.gz |
|
|
|
tar -xf sip-4.15.5.tar.gz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f sip-4.15.5/build-done ]; then |
|
|
|
cd sip-4.15.5 |
|
|
|
python3 configure.py |
|
|
|
make |
|
|
|
sudo make install |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# pyqt5 |
|
|
|
|
|
|
|
if [ ! -d PyQt-gpl-5.2.1 ]; then |
|
|
|
aria2c http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.2.1/PyQt-gpl-5.2.1.tar.gz |
|
|
|
tar -xf PyQt-gpl-5.2.1.tar.gz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f PyQt-gpl-5.2.1/build-done ]; then |
|
|
|
cd PyQt-gpl-5.2.1 |
|
|
|
python3 configure.py --confirm-license |
|
|
|
make |
|
|
|
sudo make install |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |
|
|
|
# cxfreeze |
|
|
|
|
|
|
|
if [ ! -d cx_Freeze-4.3.3 ]; then |
|
|
|
aria2c http://download.sourceforge.net/cx-freeze/cx_Freeze-4.3.3.tar.gz |
|
|
|
tar -xf cx_Freeze-4.3.3.tar.gz |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -f cx_Freeze-4.3.3/build-done ]; then |
|
|
|
cd cx_Freeze-4.3.3 |
|
|
|
sed -i -e 's/"python%s.%s"/"python%s.%sm"/' setup.py |
|
|
|
sed -i -e 's/not vars.get("Py_ENABLE_SHARED", 0)/True/' setup.py |
|
|
|
python3 setup.py build |
|
|
|
sudo python3 setup.py install --prefix=$PREFIX |
|
|
|
touch build-done |
|
|
|
cd .. |
|
|
|
fi |
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------------ |