Browse Source

CLeanup

Signed-off-by: falkTX <falktx@falktx.com>
tags/v2.3.0-RC1
falkTX 3 years ago
parent
commit
e493ff9b14
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
11 changed files with 0 additions and 1326 deletions
  1. +0
    -49
      data/windows/Dockerfile
  2. +0
    -37
      data/windows/app-console.py
  3. +0
    -41
      data/windows/app-control.py
  4. +0
    -41
      data/windows/app-plugin-ui.py
  5. +0
    -393
      data/windows/build-deps.sh
  6. +0
    -249
      data/windows/build-pyqt.sh
  7. +0
    -52
      data/windows/build-win-all.sh
  8. +0
    -100
      data/windows/build-win.sh
  9. +0
    -19
      data/windows/common.env
  10. +0
    -34
      data/windows/create-wineprefixes.sh
  11. +0
    -311
      data/windows/pack-win.sh

+ 0
- 49
data/windows/Dockerfile View File

@@ -1,49 +0,0 @@
FROM ubuntu:18.04
MAINTAINER falkTX <falktx@falktx.com>
ENV DEBIAN_FRONTEND noninteractive

# enable i386
RUN dpkg --add-architecture i386

RUN echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse" > /etc/apt/sources.list && \
echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb [arch=amd64,i386] http://security.ubuntu.com/ubuntu bionic-security main restricted universe multiverse" >> /etc/apt/sources.list

# update and upgrade system
RUN apt-get update && apt-get upgrade -qy && apt-get clean

# install packages
RUN apt-get install -qy mingw-w64 && \
apt-get install -qy qemu-user-static libwine-development-dev wine64-development-tools && \
apt-get install -qy locales acl bash bash-completion git nano patch python3 tar wget && \
apt-get install -qy automake binutils build-essential cmake libglib2.0-dev-bin libtool-bin && \
apt-get clean

# basic setup
RUN locale-gen en_US.UTF-8
RUN echo "source /etc/bash_completion" >> $HOME/.bashrc

# user configurations
ENV USER builder
ENV HOME /home/$USER

# create user
RUN useradd -d $HOME -m -G sudo $USER

# switch user
USER $USER

# checkout scripts dir
RUN mkdir $HOME/scripts
RUN mkdir $HOME/scripts/patches
COPY common.env build-*.sh $HOME/scripts/
COPY patches/* $HOME/scripts/patches/

# build deps
WORKDIR $HOME/scripts
RUN ./build-deps.sh
RUN ./build-pyqt.sh

# CMD
CMD ["bash"]

+ 0
- 37
data/windows/app-console.py View File

@@ -1,37 +0,0 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# ------------------------------------------------------------------------------------------------------------
# Imports (cx_Freeze)

from cx_Freeze import setup, Executable

# ------------------------------------------------------------------------------------------------------------
# Imports (Custom Stuff)

from carla_host import VERSION

# ------------------------------------------------------------------------------------------------------------

options = {
"zip_include_packages": ["*"],
"zip_exclude_packages": ["PyQt5"],
"replace_paths": [["*",".\\lib\\"]],
"build_exe": ".\\Carla\\",
"optimize": True,
}

exe_options = {
"script": "..\\..\\source\\frontend\\carla",
"icon": "..\\..\\resources\\ico\\carla.ico",
"copyright": "Copyright (C) 2011-2019 Filipe Coelho",
"targetName": "CarlaDebug.exe",
}

setup(name = "Carla",
version = VERSION,
description = "Carla Plugin Host",
options = {"build_exe": options},
executables = [Executable(**exe_options)])

# ------------------------------------------------------------------------------------------------------------

+ 0
- 41
data/windows/app-control.py View File

@@ -1,41 +0,0 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# ------------------------------------------------------------------------------------------------------------
# Imports (cx_Freeze)

from cx_Freeze import setup, Executable

# ------------------------------------------------------------------------------------------------------------
# Imports (Custom Stuff)

from carla_host import VERSION
from os import getenv

# ------------------------------------------------------------------------------------------------------------

name = getenv("TARGET_NAME")

options = {
"zip_include_packages": ["*"],
"zip_exclude_packages": ["PyQt5"],
"replace_paths": [["*",".\\lib\\"]],
"build_exe": ".\\build\\CarlaControl\\",
"optimize": True,
}

exe_options = {
"script": ".\\source\\frontend\\carla-control",
"icon": ".\\resources\\ico\\carla-control.ico",
"copyright": "Copyright (C) 2011-2021 Filipe Coelho",
"base": "Win32GUI",
"targetName": "CarlaControl.exe",
}

setup(name = "CarlaControl",
version = VERSION,
description = "Carla Remote Control",
options = {"build_exe": options},
executables = [Executable(**exe_options)])

# ------------------------------------------------------------------------------------------------------------

+ 0
- 41
data/windows/app-plugin-ui.py View File

@@ -1,41 +0,0 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# ------------------------------------------------------------------------------------------------------------
# Imports (cx_Freeze)

from cx_Freeze import setup, Executable

# ------------------------------------------------------------------------------------------------------------
# Imports (Custom Stuff)

from carla_host import VERSION
from os import getenv

# ------------------------------------------------------------------------------------------------------------

name = getenv("TARGET_NAME")

options = {
"zip_include_packages": ["*"],
"zip_exclude_packages": ["PyQt5"],
"replace_paths": [["*",".\\lib\\"]],
"build_exe": ".\\build\\Carla\\resources\\",
"optimize": True,
}

exe_options = {
"script": ".\\source\\frontend\\{}".format(name),
"icon": ".\\resources\\ico\\carla.ico",
"copyright": "Copyright (C) 2011-2021 Filipe Coelho",
"base": "Win32GUI",
"targetName": "{}.exe".format(name),
}

setup(name = name,
version = VERSION,
description = name,
options = {"build_exe": options},
executables = [Executable(**exe_options)])

# ------------------------------------------------------------------------------------------------------------

+ 0
- 393
data/windows/build-deps.sh View File

@@ -1,393 +0,0 @@
#!/bin/bash

# ---------------------------------------------------------------------------------------------------------------------
# stop on error

set -e

# ---------------------------------------------------------------------------------------------------------------------
# cd to correct path

cd $(dirname $0)

# ---------------------------------------------------------------------------------------------------------------------
# set variables

source common.env

# ---------------------------------------------------------------------------------------------------------------------
# function to remove old stuff

cleanup_prefix()
{

rm -rf ${TARGETDIR}/carla-w32nosse ${TARGETDIR}/carla-w32 ${TARGETDIR}/carla-w64

}

cleanup_pkgs()
{

rm -rf Carla
rm -rf Carla.exe
rm -rf Carla.lv2
rm -rf Carla.vst
rm -rf Carla_*
rm -rf flac-*
rm -rf fluidsynth-*
rm -rf fftw-*
rm -rf glib-*
rm -rf liblo-*
rm -rf libogg-*
rm -rf libsndfile-*
rm -rf libvorbis-*
rm -rf mxml-*
rm -rf pkg-config-*
rm -rf pyliblo-*
rm -rf zlib-*

}

cleanup()
{

cleanup_prefix
cleanup_pkgs
exit 0

}

# ------------------------------------------------------------------------------------
# function to build base libs

build_base()
{

# ---------------------------------------------------------------------------------------------------------------------
# clean env

unset AR
unset CC
unset CXX
unset STRIP
unset WINDRES

unset PKG_CONFIG_PATH

unset CFLAGS
unset CPPFLAGS
unset CXXFLAGS
unset LDFLAGS

export PREFIX=${TARGETDIR}/carla-w${ARCH_PREFIX}
export PATH=${PREFIX}/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig

# ---------------------------------------------------------------------------------------------------------------------
# pkgconfig

if [ ! -d pkg-config-${PKG_CONFIG_VERSION} ]; then
wget -c https://pkg-config.freedesktop.org/releases/pkg-config-${PKG_CONFIG_VERSION}.tar.gz
tar -xf pkg-config-${PKG_CONFIG_VERSION}.tar.gz
fi

if [ ! -f pkg-config-${PKG_CONFIG_VERSION}/build-done ]; then
cd pkg-config-${PKG_CONFIG_VERSION}
env AR="ar" CC="gcc" STRIP="strip" CFLAGS="" LDFLAGS="" PATH="/usr/sbin:/usr/bin:/sbin:/bin" \
./configure --enable-indirect-deps --with-internal-glib --with-pc-path=${PKG_CONFIG_PATH} --prefix=${PREFIX}
make ${MAKE_ARGS}
make install
touch build-done
cd ..
fi

# ---------------------------------------------------------------------------------------------------------------------
# setup

if [ x"${ARCH}" != x"32" ]; then
CPUARCH="x86_64"
else
CPUARCH="i686"
fi

HOST_ARCH=$(dpkg-architecture -qDEB_BUILD_GNU_TYPE)
MINGW_PREFIX="${CPUARCH}-w64-mingw32"

export AR=${MINGW_PREFIX}-ar
export CC=${MINGW_PREFIX}-gcc
export CXX=${MINGW_PREFIX}-g++
export STRIP=${MINGW_PREFIX}-strip
export WINDRES=${MINGW_PREFIX}-windres

if [ -z "${NOSSE}" ]; then
export CFLAGS="-O3 -mtune=generic -msse -msse2 -mfpmath=sse -mstackrealign -fvisibility=hidden -fdata-sections -ffunction-sections"
else
export CFLAGS="-O2 -mstackrealign -fvisibility=hidden -fdata-sections -ffunction-sections"
fi

export CFLAGS="${CFLAGS} -DNDEBUG -DPTW32_STATIC_LIB -DFLUIDSYNTH_NOT_A_DLL -I${PREFIX}/include -I/opt/mingw${ARCH}/include"
export CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
export CPPFLAGS="-DPIC -DNDEBUG -DPTW32_STATIC_LIB -I${PREFIX}/include -I/opt/mingw${ARCH}/include"

export LDFLAGS="-fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-O1 -Wl,--as-needed -Wl,--strip-all"
export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib -L/opt/mingw${ARCH}/lib"

# ---------------------------------------------------------------------------------------------------------------------
# liblo

if [ ! -d liblo-${LIBLO_VERSION} ]; then
wget -c https://github.com/radarsat1/liblo/releases/download/${LIBLO_VERSION}/liblo-${LIBLO_VERSION}.tar.gz
tar -xf liblo-${LIBLO_VERSION}.tar.gz
fi

if [ ! -f liblo-${LIBLO_VERSION}/build-done ]; then
cd liblo-${LIBLO_VERSION}
sed -i "s/@extralibs@/@extralibs@ -lm/" liblo.pc.in
./configure --enable-static --disable-shared --prefix=${PREFIX} \
--target=${MINGW_PREFIX} --host=${MINGW_PREFIX} --build=${HOST_ARCH} \
--enable-threads \
--disable-examples --disable-tools
make ${MAKE_ARGS}
make install
touch build-done
cd ..
fi

# ---------------------------------------------------------------------------------------------------------------------
# zlib

if [ ! -d zlib-${ZLIB_VERSION} ]; then
wget -c https://github.com/madler/zlib/archive/v${ZLIB_VERSION}.tar.gz -O zlib-${ZLIB_VERSION}.tar.gz
tar -xf zlib-${ZLIB_VERSION}.tar.gz
fi

if [ ! -f zlib-${ZLIB_VERSION}/build-done ]; then
cd zlib-${ZLIB_VERSION}
./configure --static --prefix=${PREFIX}
make ${MAKE_ARGS}
make install
touch build-done
cd ..
fi

# ---------------------------------------------------------------------------------------------------------------------
# libogg

if [ ! -d libogg-${LIBOGG_VERSION} ]; then
wget -c https://ftp.osuosl.org/pub/xiph/releases/ogg/libogg-${LIBOGG_VERSION}.tar.gz
tar -xf libogg-${LIBOGG_VERSION}.tar.gz
fi

if [ ! -f libogg-${LIBOGG_VERSION}/build-done ]; then
cd libogg-${LIBOGG_VERSION}
./configure --enable-static --disable-shared --prefix=${PREFIX} \
--target=${MINGW_PREFIX} --host=${MINGW_PREFIX} --build=${HOST_ARCH}
make ${MAKE_ARGS}
make install
touch build-done
cd ..
fi

# ---------------------------------------------------------------------------------------------------------------------
# libvorbis

if [ ! -d libvorbis-${LIBVORBIS_VERSION} ]; then
wget -c https://ftp.osuosl.org/pub/xiph/releases/vorbis/libvorbis-${LIBVORBIS_VERSION}.tar.gz
tar -xf libvorbis-${LIBVORBIS_VERSION}.tar.gz
fi

if [ ! -f libvorbis-${LIBVORBIS_VERSION}/build-done ]; then
cd libvorbis-${LIBVORBIS_VERSION}
./configure --enable-static --disable-shared --prefix=${PREFIX} \
--target=${MINGW_PREFIX} --host=${MINGW_PREFIX} --build=${HOST_ARCH}
make ${MAKE_ARGS}
make install
touch build-done
cd ..
fi

# ---------------------------------------------------------------------------------------------------------------------
# flac

if [ ! -d flac-${FLAC_VERSION} ]; then
wget -c https://ftp.osuosl.org/pub/xiph/releases/flac/flac-${FLAC_VERSION}.tar.xz
tar -xf flac-${FLAC_VERSION}.tar.xz
fi

if [ ! -f flac-${FLAC_VERSION}/build-done ]; then
cd flac-${FLAC_VERSION}
chmod +x configure install-sh
./configure --enable-static --disable-shared --prefix=${PREFIX} \
--target=${MINGW_PREFIX} --host=${MINGW_PREFIX} --build=${HOST_ARCH} \
--disable-cpplibs
make ${MAKE_ARGS}
make install
touch build-done
cd ..
fi

# ---------------------------------------------------------------------------------------------------------------------
# libsndfile

if [ ! -d libsndfile-${LIBSNDFILE_VERSION} ]; then
wget -c http://www.mega-nerd.com/libsndfile/files/libsndfile-${LIBSNDFILE_VERSION}.tar.gz
tar -xf libsndfile-${LIBSNDFILE_VERSION}.tar.gz
fi

if [ ! -f libsndfile-${LIBSNDFILE_VERSION}/build-done ]; then
cd libsndfile-${LIBSNDFILE_VERSION}
./configure --enable-static --disable-shared --prefix=${PREFIX} \
--target=${MINGW_PREFIX} --host=${MINGW_PREFIX} --build=${HOST_ARCH} \
--disable-full-suite --disable-alsa --disable-sqlite
make ${MAKE_ARGS}
make install
touch build-done
cd ..
fi

# ------------------------------------------------------------------------------------
# glib

if [ ! -d glib-${GLIB_VERSION} ]; then
wget -c http://caesar.ftp.acc.umu.se/pub/GNOME/sources/glib/${GLIB_MVERSION}/glib-${GLIB_VERSION}.tar.gz
tar -xf glib-${GLIB_VERSION}.tar.gz
fi

if [ ! -f glib-${GLIB_VERSION}/build-done ]; then
cd glib-${GLIB_VERSION}
if [ ! -f patched ]; then
patch -p1 -i ../../patches/glib_skip-gettext.patch
sed -i "s|po docs|po|" Makefile.in
touch patched
fi
chmod +x configure install-sh
autoconf
./configure --enable-static --disable-shared --disable-docs --prefix=${PREFIX} \
--target=${MINGW_PREFIX} --host=${MINGW_PREFIX} --build=${HOST_ARCH} \
--with-threads=win32
make ${MAKE_ARGS}
make install
touch build-done
cd ..
fi

# ---------------------------------------------------------------------------------------------------------------------
# fluidsynth

if [ ! -d fluidsynth-${FLUIDSYNTH_VERSION} ]; then
wget -c https://github.com/FluidSynth/fluidsynth/archive/v${FLUIDSYNTH_VERSION}.tar.gz -O fluidsynth-${FLUIDSYNTH_VERSION}.tar.gz
tar -xf fluidsynth-${FLUIDSYNTH_VERSION}.tar.gz
fi

if [ ! -f fluidsynth-${FLUIDSYNTH_VERSION}/build-done ]; then
cd fluidsynth-${FLUIDSYNTH_VERSION}
if [ ! -f patched ]; then
patch -p1 -i ../../patches/fluidsynth-skip-drivers-build.patch
touch patched
fi
cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PREFIX} -DBUILD_SHARED_LIBS=OFF \
-Denable-debug=OFF -Denable-profiling=OFF -Denable-ladspa=OFF -Denable-fpe-check=OFF -Denable-portaudio=OFF \
-Denable-trap-on-fpe=OFF -Denable-aufile=OFF -Denable-dbus=OFF -Denable-ipv6=OFF -Denable-jack=OFF \
-Denable-midishare=OFF -Denable-oss=OFF -Denable-pulseaudio=OFF -Denable-readline=OFF -Denable-ladcca=OFF \
-Denable-lash=OFF -Denable-alsa=OFF -Denable-coreaudio=OFF -Denable-coremidi=OFF -Denable-framework=OFF \
-Denable-floats=ON \
-DCMAKE_C_COMPILER_WORKS=1 \
-DCMAKE_CROSSCOMPILING=1 \
-DCMAKE_SYSTEM_NAME="Windows" \
-DCMAKE_HOST_SYSTEM_NAME=${HOST_ARCH}
make ${MAKE_ARGS}
make install
sed -i -e "s|-lfluidsynth|-lfluidsynth -lglib-2.0 -lgthread-2.0 -lsndfile -lFLAC -lvorbisenc -lvorbis -logg -lm -ldsound -lwinmm -lole32 -lws2_32|" ${PREFIX}/lib/pkgconfig/fluidsynth.pc
touch build-done
cd ..
fi

# ---------------------------------------------------------------------------------------------------------------------
# mxml

if [ ! -d mxml-${MXML_VERSION} ]; then
wget -c https://github.com/michaelrsweet/mxml/releases/download/v${MXML_VERSION}/mxml-${MXML_VERSION}.tar.gz -O mxml-${MXML_VERSION}.tar.gz
tar -xf mxml-${MXML_VERSION}.tar.gz
fi

if [ ! -f mxml-${MXML_VERSION}/build-done ]; then
cd mxml-${MXML_VERSION}
./configure --disable-shared --prefix=${PREFIX} \
--target=${MINGW_PREFIX} --host=${MINGW_PREFIX} --build=${HOST_ARCH}
make libmxml.a
cp *.a ${PREFIX}/lib/
cp *.pc ${PREFIX}/lib/pkgconfig/
cp mxml.h ${PREFIX}/include/
touch build-done
cd ..
fi

# ---------------------------------------------------------------------------------------------------------------------
# fftw3 (needs to be last as it modifies C[XX]FLAGS)

if [ ! -d fftw-${FFTW3_VERSION} ]; then
curl -O http://www.fftw.org/fftw-${FFTW3_VERSION}.tar.gz
tar -xf fftw-${FFTW3_VERSION}.tar.gz
fi

if [ ! -f fftw-${FFTW3_VERSION}/build-done ]; then
export CFLAGS="${CFLAGS} -ffast-math"
export CXXFLAGS="${CXXFLAGS} -ffast-math"
EXTRA_ARGS=""
cd fftw-${FFTW3_VERSION}

if [ -z "${NOSSE}" ]; then
EXTRA_ARGS="--enable-sse2"
fi
./configure --enable-static --disable-shared --prefix=${PREFIX} \
--target=${MINGW_PREFIX} --host=${MINGW_PREFIX} --build=${HOST_ARCH} \
${EXTRA_ARGS} \
--disable-debug --disable-alloca --disable-fortran \
--with-our-malloc
make
make install
make clean

if [ -z "${NOSSE}" ]; then
EXTRA_ARGS="--enable-sse2 --enable-sse"
fi
./configure --enable-static --disable-shared --prefix=${PREFIX} \
--target=${MINGW_PREFIX} --host=${MINGW_PREFIX} --build=${HOST_ARCH} \
${EXTRA_ARGS} --enable-single \
--disable-debug --disable-alloca --disable-fortran \
--with-our-malloc
make
make install
make clean

touch build-done
cd ..
fi

}

# ---------------------------------------------------------------------------------------------------------------------
# build base libs

cleanup_prefix
cleanup_pkgs

export ARCH=32
export ARCH_PREFIX=32nosse
export NOSSE=1
build_base
cleanup_pkgs

unset NOSSE

export ARCH=32
export ARCH_PREFIX=32
build_base
cleanup_pkgs

export ARCH=64
export ARCH_PREFIX=64
build_base
cleanup_pkgs

# ---------------------------------------------------------------------------------------------------------------------

+ 0
- 249
data/windows/build-pyqt.sh View File

@@ -1,249 +0,0 @@
#!/bin/bash

# ---------------------------------------------------------------------------------------------------------------------
# stop on error

set -e

# ---------------------------------------------------------------------------------------------------------------------
# cd to correct path

cd $(dirname $0)

# ---------------------------------------------------------------------------------------------------------------------
# set variables

source common.env

# ---------------------------------------------------------------------------------------------------------------------
# function to remove old stuff

cleanup_prefix()
{

rm -rf ${TARGETDIR}/msys2-i686 ${TARGETDIR}/msys2-x86_64
rm -rf python-pkgs-*

}

cleanup_pkgs()
{

rm -rf Carla
rm -rf Carla.exe
rm -rf Carla.lv2
rm -rf Carla.vst
rm -rf Carla_*
rm -rf pyliblo-*

}

cleanup()
{

cleanup_prefix
cleanup_pkgs
exit 0

}

# ---------------------------------------------------------------------------------------------------------------------
# function to download python stuff from msys2

download_python()
{

# ---------------------------------------------------------------------------------------------------------------------
# setup

if [ x"${ARCH}" != x"32" ]; then
CPUARCH="x86_64"
else
CPUARCH="i686"
fi

# ---------------------------------------------------------------------------------------------------------------------
# list packages

PACKAGES=(
"binutils-2.32-3"
"bzip2-1.0.8-1"
"crt-git-7.0.0.5524.2346384e-1"
"dbus-1.12.8-1"
"double-conversion-3.1.5-1"
"expat-2.2.8-1"
"freetype-2.10.1-1"
"gcc-9.2.0-2"
"gcc-libs-9.2.0-2"
"gettext-0.19.8.1-8"
"glib2-2.62.1-1"
"gmp-6.1.2-1"
"graphite2-1.3.13-1"
"harfbuzz-2.6.2-1"
"icu-64.2-1"
"jasper-2.0.16-1"
"libffi-3.2.1-4"
"libiconv-1.16-1"
"libjpeg-turbo-2.0.3-1"
"libpng-1.6.37-3"
"libtiff-4.0.9-2"
"libwebp-1.0.3-1"
"libxml2-2.9.9-2"
"libxslt-1.1.33-1"
"libwinpthread-git-7.0.0.5522.977a9720-1"
"headers-git-7.0.0.5524.2346384e-1"
"openssl-1.1.1.d-1"
"pcre-8.43-1"
"pcre2-10.33-1"
"pyqt5-common-5.13.1-1"
"python3-3.7.4-7"
"python3-cx_Freeze-5.1.1-3"
"python3-nuitka-0.6.4-1"
"python3-sip-4.19.19-1"
"python3-pyqt5-5.13.1-1"
"qt5-5.13.1-1"
"qtwebkit-5.212.0alpha2-6"
"sqlite3-3.30.0-1"
"windows-default-manifest-6.4-3"
"winpthreads-git-7.0.0.5522.977a9720-1"
"xz-5.2.4-1"
"zlib-1.2.11-7"
"zstd-1.4.3-1"
)
# qt5-static-5.12.4-1

PKG_DIR="$(pwd)/python-pkgs-${CPUARCH}"
PKG_PREFIX="mingw-w64-${CPUARCH}-"
PKG_SUFFIX="-any.pkg.tar.xz"

REPO_URL="http://repo.msys2.org/mingw/${CPUARCH}"

# ---------------------------------------------------------------------------------------------------------------------
# download stuff

mkdir -p "${PKG_DIR}"
pushd "${PKG_DIR}"

for PKG in ${PACKAGES[@]}; do
wget -c "${REPO_URL}/${PKG_PREFIX}${PKG}${PKG_SUFFIX}"
done

popd

# ---------------------------------------------------------------------------------------------------------------------
# extract into target dir

rm -rf "${TARGETDIR}/msys2-${CPUARCH}"
mkdir "${TARGETDIR}/msys2-${CPUARCH}"

pushd "${TARGETDIR}/msys2-${CPUARCH}"

for PKG in ${PACKAGES[@]}; do
tar xf "${PKG_DIR}/${PKG_PREFIX}${PKG}${PKG_SUFFIX}"
done

sed -i "s|E:/mingwbuild/mingw-w64-qt5/pkg/mingw-w64-${CPUARCH}-qt5|${TARGETDIR}/msys2-${CPUARCH}|" ./mingw${ARCH}/lib/pkgconfig/Qt5*.pc

popd

}

# ---------------------------------------------------------------------------------------------------------------------
# function to build python modules

build_python()
{

# ---------------------------------------------------------------------------------------------------------------------
# setup

if [ x"${ARCH}" != x"32" ]; then
CPUARCH="x86_64"
else
CPUARCH="i686"
fi

# ---------------------------------------------------------------------------------------------------------------------
# clean env

unset AR
unset CC
unset CXX
unset STRIP
unset WINDRES

unset CFLAGS
unset CPPFLAGS
unset CXXFLAGS
unset LDFLAGS

export DEPS_PREFIX=${TARGETDIR}/carla-w${ARCH_PREFIX}
export MSYS2_PREFIX=${TARGETDIR}/msys2-${CPUARCH}/mingw${ARCH}

export PATH=${DEPS_PREFIX}/bin:${MSYS2_PREFIX}/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PKG_CONFIG_PATH=${DEPS_PREFIX}/lib/pkgconfig:${MSYS2_PREFIX}/lib/pkgconfig

HOST_ARCH=$(dpkg-architecture -qDEB_BUILD_GNU_TYPE)
MINGW_PREFIX="${CPUARCH}-w64-mingw32"

export AR=${MINGW_PREFIX}-ar
export CC=${MINGW_PREFIX}-gcc
export CXX=${MINGW_PREFIX}-g++
export STRIP=${MINGW_PREFIX}-strip
export WINDRES=${MINGW_PREFIX}-windres

export CFLAGS="-O2 -DNDEBUG -mstackrealign -fvisibility=hidden -fdata-sections -ffunction-sections"
export CFLAGS="${CFLAGS} -I${DEPS_PREFIX}/include -I${MSYS2_PREFIX}/include"
export CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
export LDFLAGS="-Wl,--gc-sections -Wl,-O1 -Wl,--as-needed -Wl,--strip-all"
export LDFLAGS="${LDFLAGS} -L${DEPS_PREFIX}/lib -L${MSYS2_PREFIX}/lib"

# ---------------------------------------------------------------------------------------------------------------------
# pyliblo

if [ ! -d pyliblo-${PYLIBLO_VERSION} ]; then
wget -c http://das.nasophon.de/download/pyliblo-${PYLIBLO_VERSION}.tar.gz
tar -xf pyliblo-${PYLIBLO_VERSION}.tar.gz
fi

if [ ! -f pyliblo-${PYLIBLO_VERSION}/build-done ]; then
cd pyliblo-${PYLIBLO_VERSION}
if [ ! -f patched ]; then
patch -p1 -i ../../patches/pyliblo-python3.7.patch
touch patched
fi
mkdir -p build
# build
${CC} -pthread -Wall ${CFLAGS} \
src/liblo.c -c -o build/liblo.o \
$(python3-config --cflags | awk 'sub("-ne ","")') \
-D_FORTIFY_SOURCE=2 -fPIC -fno-strict-aliasing \
-Wdate-time -Werror-implicit-function-declaration -Wfatal-errors
# link
${CC} -pthread -shared ${LDFLAGS} \
build/liblo.o -o build/liblo-cpython-37m.dll \
-llo $(python3-config --ldflags | awk 'sub("-ne ","")') -lws2_32 -liphlpapi
# install
install -m 644 build/liblo-cpython-37m.dll ${MSYS2_PREFIX}/lib/python3.7/site-packages/
touch build-done
cd ..
fi

}

# ---------------------------------------------------------------------------------------------------------------------
# build base libs

export ARCH=32
export ARCH_PREFIX=32nosse
download_python
build_python
cleanup_pkgs

export ARCH=64
export ARCH_PREFIX=64
download_python
build_python
cleanup_pkgs

# ---------------------------------------------------------------------------------------------------------------------

+ 0
- 52
data/windows/build-win-all.sh View File

@@ -1,52 +0,0 @@
#!/bin/bash

VERSION="2.3.0-alpha1"

# ---------------------------------------------------------------------------------------------------------------------
# stop on error

set -e

# ---------------------------------------------------------------------------------------------------------------------
# cd to correct path

if [ ! -f Makefile ]; then
cd $(dirname $0)/../..
fi

# ---------------------------------------------------------------------------------------------------------------------
# cleanup

if [ ! -f Makefile ] || [ ! -f source/frontend/carla ]; then
echo "wrong dir"
exit 1
fi

rm -rf data/windows/*.exe
rm -rf data/windows/*.lv2
rm -rf data/windows/*.vst
rm -rf data/windows/*.zip

# ---------------------------------------------------------------------------------------------------------------------
# start

make distclean
pushd data/windows
./build-win.sh 32nosse
./pack-win.sh 32nosse
mv Carla_${VERSION}-win32.zip Carla_${VERSION}-win32-nosse.zip
popd

make distclean
pushd data/windows
./build-win.sh 32
./pack-win.sh 32
popd

make distclean
pushd data/windows
./build-win.sh 64
./pack-win.sh 64
popd

# ---------------------------------------------------------------------------------------------------------------------

+ 0
- 100
data/windows/build-win.sh View File

@@ -1,100 +0,0 @@
#!/bin/bash

# ---------------------------------------------------------------------------------------------------------------------
# check input

ARCH="${1}"
ARCH_PREFIX="${1}"

if [ x"${ARCH}" != x"32" ] && [ x"${ARCH}" != x"32nosse" ] && [ x"${ARCH}" != x"64" ]; then
echo "usage: $0 32|32nonosse|64"
exit 1
fi

# ---------------------------------------------------------------------------------------------------------------------
# stop on error

set -e

# ---------------------------------------------------------------------------------------------------------------------
# cd to correct path

if [ ! -f Makefile ]; then
cd $(dirname $0)/../..
fi

# ---------------------------------------------------------------------------------------------------------------------
# set variables

source data/windows/common.env

if [ x"${ARCH}" = x"32nosse" ]; then
ARCH="32"
MAKE_ARGS="${MAKE_ARGS} NOOPT=true"
fi

MAKE_ARGS="${MAKE_ARGS} BUILDING_FOR_WINDOWS=true CROSS_COMPILING=true"

export WIN32=true

if [ x"${ARCH}" != x"32" ]; then
export WIN64=true
CPUARCH="x86_64"
else
CPUARCH="i686"
fi

# ---------------------------------------------------------------------------------------------------------------------

export_vars() {

local _ARCH="${1}"
local _ARCH_PREFIX="${2}"
local _MINGW_PREFIX="${3}-w64-mingw32"

export DEPS_PREFIX=${TARGETDIR}/carla-w${ARCH_PREFIX}
export MSYS2_PREFIX=${TARGETDIR}/msys2-${CPUARCH}/mingw${ARCH}

export PATH=${DEPS_PREFIX}/bin:/opt/wine-staging/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PKG_CONFIG_PATH=${DEPS_PREFIX}/lib/pkgconfig:${MSYS2_PREFIX}/lib/pkgconfig

export AR=${_MINGW_PREFIX}-ar
export CC=${_MINGW_PREFIX}-gcc
export CXX=${_MINGW_PREFIX}-g++
export STRIP=${_MINGW_PREFIX}-strip
export WINDRES=${_MINGW_PREFIX}-windres

export CFLAGS="-DPTW32_STATIC_LIB -DFLUIDSYNTH_NOT_A_DLL"
export CFLAGS="${CFLAGS} -I${DEPS_PREFIX}/include"
export CXXFLAGS="${CFLAGS}"
export LDFLAGS="-L${DEPS_PREFIX}/lib"

export MOC_QT5="wine ${MSYS2_PREFIX}/bin/moc.exe"
export RCC_QT5="wine ${MSYS2_PREFIX}/bin/rcc.exe"
export UIC_QT5="wine ${MSYS2_PREFIX}/bin/uic.exe"

}

# ---------------------------------------------------------------------------------------------------------------------

export_vars "${ARCH}" "${ARCH_PREFIX}" "${CPUARCH}"

export WINEARCH=win${ARCH}
export WINEDEBUG=-all
export WINEPREFIX=~/.winepy3_x${ARCH}
export PYTHON_EXE="wine ${MSYS2_PREFIX}/bin/python.exe"
export PYRCC5="${PYTHON_EXE} -m PyQt5.pyrcc_main"
export PYUIC5="${PYTHON_EXE} -m PyQt5.uic.pyuic"

make ${MAKE_ARGS}

if [ x"${ARCH}" != x"32" ]; then
export_vars "32" "32" "i686"
make ${MAKE_ARGS} win32r
fi

# Testing:
echo "export WINEPREFIX=~/.winepy3_x${ARCH}"
echo "/opt/wine-staging/bin/${PYTHON_EXE} ./source/frontend/carla"

# ---------------------------------------------------------------------------------------------------------------------

+ 0
- 19
data/windows/common.env View File

@@ -1,19 +0,0 @@
#!/bin/bash

PKG_CONFIG_VERSION=0.28
LIBLO_VERSION=0.30
ZLIB_VERSION=1.2.11
FILE_VERSION=5.34
LIBOGG_VERSION=1.3.4
LIBVORBIS_VERSION=1.3.6
FLAC_VERSION=1.3.2
LIBSNDFILE_VERSION=1.0.28
GLIB_VERSION=2.22.5
GLIB_MVERSION=2.22
FLUIDSYNTH_VERSION=1.1.11
MXML_VERSION=2.12
FFTW3_VERSION=3.3.8
PYLIBLO_VERSION=0.9.2

MAKE_ARGS="-j 4"
TARGETDIR=${HOME}/builds

+ 0
- 34
data/windows/create-wineprefixes.sh View File

@@ -1,34 +0,0 @@
#!/bin/bash

rm -rf ~/.winepy3
rm -rf ~/.winepy3_x32
rm -rf ~/.winepy3_x86
rm -rf ~/.winepy3_x64

export WINEARCH=win32
export WINEPREFIX=~/.winepy3_x32
wineboot
winetricks winxp
winetricks vcrun2010
winetricks corefonts
winetricks fontsmooth=rgb

# cd data/windows/python
# msiexec /i python-3.4.4.msi /qn
# wine cx_Freeze-4.3.4.win32-py3.4.exe
# wine PyQt5-5.5.1-gpl-Py3.4-Qt5.5.1-x32.exe
# cd ../../..

export WINEARCH=win64
export WINEPREFIX=~/.winepy3_x64
wineboot
winetricks win7
winetricks vcrun2010
winetricks corefonts
winetricks fontsmooth=rgb

# cd data/windows/python
# msiexec /i python-3.4.4.amd64.msi /qn
# wine cx_Freeze-4.3.4.win-amd64-py3.4.exe
# wine PyQt5-5.5.1-gpl-Py3.4-Qt5.5.1-x64.exe
# cd ../../..

+ 0
- 311
data/windows/pack-win.sh View File

@@ -1,311 +0,0 @@
#!/bin/bash

VERSION="2.3.0-alpha1"

# ---------------------------------------------------------------------------------------------------------------------
# check input

ARCH="${1}"
ARCH_PREFIX="${1}"

if [ x"${ARCH}" != x"32" ] && [ x"${ARCH}" != x"32nosse" ] && [ x"${ARCH}" != x"64" ]; then
echo "usage: $0 32|32nosse|64"
exit 1
fi

if [ x"${ARCH}" = x"32nosse" ]; then
ARCH="32"
MAKE_ARGS="NOOPT=true"
fi

# ---------------------------------------------------------------------------------------------------------------------
# stop on error

set -e

# ---------------------------------------------------------------------------------------------------------------------
# cd to correct path

if [ ! -f Makefile ]; then
cd $(dirname $0)/../..
fi

# ---------------------------------------------------------------------------------------------------------------------
# set variables

source data/windows/common.env

PKG_FOLDER="Carla_${VERSION}-win${ARCH}"

export WIN32=true

if [ x"${ARCH}" != x"32" ]; then
export WIN64=true
CPUARCH="x86_64"
else
CPUARCH="i686"
fi

export PYTHONPATH="$(pwd)/source/frontend"

# ---------------------------------------------------------------------------------------------------------------------

export_vars() {

local _ARCH="${1}"
local _ARCH_PREFIX="${2}"
local _MINGW_PREFIX="${3}-w64-mingw32"

export DEPS_PREFIX=${TARGETDIR}/carla-w${ARCH_PREFIX}
export MSYS2_PREFIX=${TARGETDIR}/msys2-${CPUARCH}/mingw${ARCH}

export PATH=${DEPS_PREFIX}/bin:/opt/wine-staging/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PKG_CONFIG_PATH=${DEPS_PREFIX}/lib/pkgconfig:${MSYS2_PREFIX}/lib/pkgconfig

export AR=${_MINGW_PREFIX}-ar
export CC=${_MINGW_PREFIX}-gcc
export CXX=${_MINGW_PREFIX}-g++
export STRIP=${_MINGW_PREFIX}-strip
export WINDRES=${_MINGW_PREFIX}-windres

export CFLAGS="-DPTW32_STATIC_LIB -DFLUIDSYNTH_NOT_A_DLL"
export CFLAGS="${CFLAGS} -I${DEPS_PREFIX}/include"
export CXXFLAGS="${CFLAGS}"
export LDFLAGS="-L${DEPS_PREFIX}/lib"

export WINEARCH=win${ARCH}
export WINEDEBUG=-all
export WINEPREFIX=~/.winepy3_x${ARCH}
export PYTHON_EXE="wine ${MSYS2_PREFIX}/bin/python.exe"
export CXFREEZE="${PYTHON_EXE} ${MSYS2_PREFIX}/bin/cxfreeze"

}

# ---------------------------------------------------------------------------------------------------------------------

export_vars "${ARCH}" "${ARCH_PREFIX}" "${CPUARCH}"

# ---------------------------------------------------------------------------------------------------------------------

cd data/windows/

rm -rf Carla Carla.lv2 Carla.vst CarlaControl

# ---------------------------------------------------------------------------------------------------------------------
# freeze carla (console and gui)

${PYTHON_EXE} ./app-console.py build_exe
mv Carla/lib/library.zip Carla/lib/library-console.zip
${PYTHON_EXE} ./app-gui.py build_exe
mv Carla/lib/library.zip Carla/lib/library-gui.zip

mkdir Carla/lib/_lib
pushd Carla/lib/_lib
unzip -o ../library-console.zip
unzip -o ../library-gui.zip
zip -r -9 ../library.zip *
popd
rm -r Carla/lib/_lib Carla/lib/library-*.zip

# ---------------------------------------------------------------------------------------------------------------------
# freeze carla-control

${PYTHON_EXE} ./app-control.py build_exe

# ---------------------------------------------------------------------------------------------------------------------
# freeze pyqt plugin uis (resources)

TARGET_NAME="bigmeter-ui" ${PYTHON_EXE} ./app-plugin-ui.py build_exe
mv Carla/resources/lib/library.zip Carla/resources/lib/library-bigmeter.zip
TARGET_NAME="midipattern-ui" ${PYTHON_EXE} ./app-plugin-ui.py build_exe
mv Carla/resources/lib/library.zip Carla/resources/lib/library-midipattern.zip
TARGET_NAME="notes-ui" ${PYTHON_EXE} ./app-plugin-ui.py build_exe
mv Carla/resources/lib/library.zip Carla/resources/lib/library-notes.zip
TARGET_NAME="xycontroller-ui" ${PYTHON_EXE} ./app-plugin-ui.py build_exe
mv Carla/resources/lib/library.zip Carla/resources/lib/library-xycontroller.zip
TARGET_NAME="carla-plugin" ${PYTHON_EXE} ./app-plugin-ui.py build_exe
mv Carla/resources/lib/library.zip Carla/resources/lib/library-carla1.zip
TARGET_NAME="carla-plugin-patchbay" ${PYTHON_EXE} ./app-plugin-ui.py build_exe
mv Carla/resources/lib/library.zip Carla/resources/lib/library-carla2.zip

mkdir Carla/resources/lib/_lib
pushd Carla/resources/lib/_lib
unzip -o ../library-bigmeter.zip
unzip -o ../library-midipattern.zip
unzip -o ../library-notes.zip
unzip -o ../library-xycontroller.zip
unzip -o ../library-carla1.zip
unzip -o ../library-carla2.zip
zip -r -9 ../library.zip *
popd
rm -r Carla/resources/lib/_lib Carla/resources/lib/library-*.zip

# ---------------------------------------------------------------------------------------------------------------------
# cleanup pyqt stuff

find Carla CarlaControl -name "QAxContainer*" -delete
find Carla CarlaControl -name "QtDBus*" -delete
find Carla CarlaControl -name "QtDesigner*" -delete
find Carla CarlaControl -name "QtBluetooth*" -delete
find Carla CarlaControl -name "QtHelp*" -delete
find Carla CarlaControl -name "QtLocation*" -delete
find Carla CarlaControl -name "QtMultimedia*" -delete
find Carla CarlaControl -name "QtMultimediaWidgets*" -delete
find Carla CarlaControl -name "QtNetwork*" -delete
find Carla CarlaControl -name "QtNetworkAuth*" -delete
find Carla CarlaControl -name "QtNfc*" -delete
find Carla CarlaControl -name "QtPositioning*" -delete
find Carla CarlaControl -name "QtPrintSupport*" -delete
find Carla CarlaControl -name "QtQml*" -delete
find Carla CarlaControl -name "QtQuick*" -delete
find Carla CarlaControl -name "QtQuickWidgets*" -delete
find Carla CarlaControl -name "QtRemoteObjects*" -delete
find Carla CarlaControl -name "QtSensors*" -delete
find Carla CarlaControl -name "QtSerialPort*" -delete
find Carla CarlaControl -name "QtSql*" -delete
find Carla CarlaControl -name "QtTest*" -delete
find Carla CarlaControl -name "QtWebChannel*" -delete
find Carla CarlaControl -name "QtWebKit*" -delete
find Carla CarlaControl -name "QtWebKitWidgets*" -delete
find Carla CarlaControl -name "QtWebSockets*" -delete
find Carla CarlaControl -name "QtWinExtras*" -delete
find Carla CarlaControl -name "QtXml*" -delete
find Carla CarlaControl -name "QtXmlPatterns*" -delete
find Carla CarlaControl -name "*.pyi" -delete

# ---------------------------------------------------------------------------------------------------------------------
# copy relevant files to binary dir

cp ../../bin/libcarla_utils.dll Carla/

mkdir -p Carla/imageformats
cp ${MSYS2_PREFIX}/share/qt5/plugins/imageformats/qsvg.dll Carla/imageformats/

mkdir -p Carla/platforms
cp ${MSYS2_PREFIX}/share/qt5/plugins/platforms/qwindows.dll Carla/platforms/

mkdir -p Carla/styles
cp ../../bin/styles/carlastyle.dll Carla/styles/

cp ${MSYS2_PREFIX}/bin/Qt5{Core,Gui,OpenGL,Svg,Widgets}.dll Carla/

cp ${MSYS2_PREFIX}/bin/libbz2-1.dll Carla/
cp ${MSYS2_PREFIX}/bin/libcrypto-1_*.dll Carla/
cp ${MSYS2_PREFIX}/bin/libdouble-conversion.dll Carla/
cp ${MSYS2_PREFIX}/bin/libffi-6.dll Carla/
cp ${MSYS2_PREFIX}/bin/libfreetype-6.dll Carla/
cp ${MSYS2_PREFIX}/bin/libgcc_s_*.dll Carla/
cp ${MSYS2_PREFIX}/bin/libglib-2.0-0.dll Carla/
cp ${MSYS2_PREFIX}/bin/libgraphite2.dll Carla/
cp ${MSYS2_PREFIX}/bin/libharfbuzz-0.dll Carla/
cp ${MSYS2_PREFIX}/bin/libiconv-2.dll Carla/
cp ${MSYS2_PREFIX}/bin/libicudt64.dll Carla/
cp ${MSYS2_PREFIX}/bin/libicuin64.dll Carla/
cp ${MSYS2_PREFIX}/bin/libicuuc64.dll Carla/
cp ${MSYS2_PREFIX}/bin/libintl-8.dll Carla/
cp ${MSYS2_PREFIX}/bin/libpcre-1.dll Carla/
cp ${MSYS2_PREFIX}/bin/libpcre2-16-0.dll Carla/
cp ${MSYS2_PREFIX}/bin/libpng16-16.dll Carla/
cp ${MSYS2_PREFIX}/bin/libpython3.7m.dll Carla/
cp ${MSYS2_PREFIX}/bin/libstdc++-6.dll Carla/
cp ${MSYS2_PREFIX}/bin/libwinpthread-1.dll Carla/
cp ${MSYS2_PREFIX}/bin/libzstd.dll Carla/
cp ${MSYS2_PREFIX}/bin/zlib1.dll Carla/

# ---------------------------------------------------------------------------------------------------------------------
# also for CarlaControl

cp Carla/*.dll CarlaControl/

mkdir -p CarlaControl/imageformats
cp ${MSYS2_PREFIX}/share/qt5/plugins/imageformats/qsvg.dll CarlaControl/imageformats/

mkdir -p CarlaControl/platforms
cp ${MSYS2_PREFIX}/share/qt5/plugins/platforms/qwindows.dll CarlaControl/platforms/

mkdir -p CarlaControl/styles
cp ../../bin/styles/carlastyle.dll CarlaControl/styles/

# ---------------------------------------------------------------------------------------------------------------------
# Carla standalone specifics

cp ../../bin/libcarla_standalone2.dll Carla/
cp ../../bin/carla-bridge-lv2.dll Carla/
cp ../../bin/carla-bridge-*.exe Carla/
cp ../../bin/carla-discovery-win*.exe Carla/

# ---------------------------------------------------------------------------------------------------------------------
# prepare lv2 bundle

mkdir -p Carla.lv2
cp -r Carla/* Carla.lv2/
cp ../../bin/carla.lv2/*.dll Carla.lv2/
cp ../../bin/carla.lv2/*.ttl Carla.lv2/
mv Carla.lv2/{Qt5,lib,zlib}*.dll Carla.lv2/resources/
mv Carla.lv2/resources/libcarla_utils.dll Carla.lv2/
rm Carla.lv2/Carla.exe
rm Carla.lv2/CarlaDebug.exe
rm Carla.lv2/resources/libcarla_standalone2.dll
rm -r Carla.lv2/lib

# ---------------------------------------------------------------------------------------------------------------------
# copy relevant files to binary dir

mkdir -p Carla.vst
cp -r Carla/* Carla.vst/
cp ../../bin/CarlaVst*.dll Carla.vst/
mv Carla.vst/{Qt5,lib,zlib}*.dll Carla.vst/resources/
mv Carla.vst/resources/libcarla_utils.dll Carla.vst/
rm Carla.vst/Carla.exe
rm Carla.vst/CarlaDebug.exe
rm Carla.vst/resources/libcarla_standalone2.dll
rm -r Carla.vst/lib

# ---------------------------------------------------------------------------------------------------------------------
# stop here for development

if [ x"${CARLA_DEV}" != x"" ]; then
exit 0
fi

# ---------------------------------------------------------------------------------------------------------------------
# create self-contained zip

# Build unzipfx
make -C unzipfx-carla -f Makefile.win32 clean
make -C unzipfx-carla -f Makefile.win32 ${MAKE_ARGS}

# Build unzipfx-control
make -C unzipfx-carla-control -f Makefile.win32 clean
make -C unzipfx-carla-control -f Makefile.win32 ${MAKE_ARGS}

# Create zip of Carla and CarlaControl
rm -f Carla.zip CarlaControl.zip
mv Carla Carla-${VERSION}
mv CarlaControl CarlaControl-${VERSION}
zip -r -9 Carla.zip Carla-${VERSION}
zip -r -9 CarlaControl.zip CarlaControl-${VERSION}

# Create static builds
rm -f Carla.exe
cat unzipfx-carla/unzipfx2cat.exe Carla.zip > Carla.exe
chmod +x Carla.exe

rm -f CarlaControl.exe
cat unzipfx-carla-control/unzipfx2cat.exe CarlaControl.zip > CarlaControl.exe
chmod +x CarlaControl.exe

# Cleanup
rm -f Carla.zip CarlaControl.zip
rm -rf Carla-${VERSION} CarlaControl-${VERSION}

# Create release zip
rm -rf ${PKG_FOLDER}
mkdir ${PKG_FOLDER}
cp -r Carla.exe CarlaControl.exe Carla.lv2 Carla.vst README.txt ${PKG_FOLDER}
unix2dos ${PKG_FOLDER}/README.txt
zip -r -9 ${PKG_FOLDER}.zip ${PKG_FOLDER}

cd ../..

# ---------------------------------------------------------------------------------------------------------------------

Loading…
Cancel
Save