flatten 20260225

This commit is contained in:
Timothy Prepscius
2026-02-25 13:00:25 -05:00
commit b308a4c280
114 changed files with 14759 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
include $(MAKEDIR)/Makefile.base
LIBFILE := libempty.a
COPYTO := ../../sdk/lib
PROJECTS := .
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1 @@
void empty() {}

View File

@@ -0,0 +1,29 @@
set -x
if [ -d "_empty" ]; then
echo "_empty does exists already"
exit 0
fi
mkdir -p sdk/include
LIB=_empty
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir _empty
pushd _empty
mkdir $LIB
cp -av $DIR/Makefile.* $LIB/
cp -av $DIR/*.cpp $LIB/
$DIR/../../prepare-template-just-makefile $LIB $DIR
pushd $LIB
make
popd
popd

View File

@@ -0,0 +1,22 @@
include $(MAKEDIR)/Makefile.base
PROJECTS := source/c
LIBFILE := libastronomy.a
COPYTO := ../../sdk/lib
ifeq (Darwin,$(SYS_NAME))
endif
ifeq (Linux,$(SYS_NAME))
endif
ifeq (Android,$(SYS_NAME))
endif
ifeq (iOS,$(SYS_NAME))
endif
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,26 @@
set -x
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=astronomy
pushd sdk/include
rm astronomy
ln -fs ../../$LIB/astronomy/source/c astronomy
popd
mkdir $LIB
pushd $LIB
git clone -b v2.1.19 https://github.com/cosinekitty/astronomy astronomy
cp -av $DIR/Makefile.project astronomy
ln -s $DIR/../../Makefile-template astronomy/Makefile
pushd astronomy
make
popd
popd

View File

@@ -0,0 +1,17 @@
mkdir -p sdk/include
LIB=audiofile
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir $LIB
pushd $LIB
git clone https://github.com/adamstark/AudioFile.git
popd
pushd sdk/include
ln -s ../../$LIB/AudioFile AudioFile
popd

82
resources/packages/aws/prepare Executable file
View File

@@ -0,0 +1,82 @@
set -ex
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=aws
mkdir -p ../downloads
pushd ../downloads
wget -nc https://github.com/aws/aws-sdk-cpp/archive/refs/tags/1.11.548.tar.gz \
-O aws-sdk-cpp-1.11.548.tar.gz || true
ln -fs aws-sdk-cpp-1.11.548.tar.gz aws-sdk-cpp.tar.gz
popd
mkdir $LIB
pushd $LIB
# git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp --branch=1.11.548 --depth 1
tar xf ../../downloads/aws-sdk-cpp.tar.gz
ln -fs aws-sdk-cpp*/ aws-sdk-cpp
pushd aws-sdk-cpp
./prefetch_crt_dependency.sh
mkdir build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=`pwd`/install \
-DBUILD_ONLY="email" \
-DAUTORUN_UNIT_TESTS=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DENABLE_RTTI=OFF \
-DENABLE_TESTING=OFF \
-DOPENSSL_INCLUDE_DIR=../../../sdk/include \
-DCURL_INCLUDE_DIR=../../../sdk/include \
-DCURL_LIBRARY=../../../curl/curl/lib \
-Dcrypto_INCLUDE_DIR=`pwd`/../../../openssl/openssl/install-native/include/ \
cmake --build . --config=Release
cmake --install . --config=Release
pushd install/lib
rm -f libaws-combined.a
if [[ "$(uname)" == "Darwin" ]]; then
libtool -static -o libaws-combined.a libaws-*.a
else
ar -M \
<<EOF
CREATE libaws-combined.a
$(for f in *.a; do echo "ADDLIB $f"; done)
SAVE
END
EOF
fi
popd
popd
popd
pushd sdk/include
ln -fs ../../$LIB/aws-sdk-cpp/build/install/include/aws
ln -fs ../../$LIB/aws-sdk-cpp/build/install/include/smithy
popd
pushd sdk/lib
for d in */
do
pushd $d
ln -fs ../../../$LIB/aws-sdk-cpp/build/install/lib/* .
popd
done
popd

View File

@@ -0,0 +1,18 @@
set -ex
mkdir -p sdk/include
mkdir base32
pushd base32
git clone --depth 1 https://github.com/tplgy/cppcodec --branch v0.2
popd
mkdir -p sdk/include
pushd sdk/include
ln -fs ../../base32/cppcodec/cppcodec base32
popd

View File

@@ -0,0 +1,10 @@
include $(MAKEDIR)/Makefile.base
INCPATH :=
LIBFILE := libbasisu.a
_FLAGS := $(_FLAGS)
COPYTO := ../../sdk/lib
PROJECTS := transcoder
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,23 @@
set -x
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=basisu
mkdir $LIB
pushd $LIB
git clone --depth 1 https://github.com/BinomialLLC/basis_universal --branch v1_60
pushd basis_universal
cp $DIR/Makefile.project .
ln -s $DIR/../../Makefile-template Makefile
make
popd
popd
pushd sdk/include
ln -fs ../../$LIB/basis_universal/transcoder basisu
popd

View File

@@ -0,0 +1,10 @@
include $(MAKEDIR)/Makefile.base
PROJECTS := libs/python/src libs/python/src/converter libs/python/src/object
INCPATH := -I . -I ../../Include/python
LIBFILE := libboost-python.a
COPYTO := ../../sdk/lib
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,10 @@
include $(MAKEDIR)/Makefile.base
PROJECTS := libs/system/src
INCPATH := -I .
LIBFILE := libboost-system.a
COPYTO := ../../sdk/lib
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,10 @@
include $(MAKEDIR)/Makefile.base
PROJECTS := libs/thread/src libs/thread/src/pthread
INCPATH := -I .
LIBFILE := libboost-thread.a
COPYTO := ../../sdk/lib
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,6 @@
#include $(MAKEDIR)/Makefile.base
all_projects:
$(MAKE) -f Makefile-threads.project
$(MAKE) -f Makefile-system.project
# $(MAKE) -f Makefile-python.project

View File

@@ -0,0 +1,26 @@
--- class.cpp 2015-09-02 08:07:49.000000000 -0400
+++ class-new.cpp 2016-01-16 12:30:22.000000000 -0500
@@ -308,6 +308,23 @@
((objects::instance<>*)self)->objects = this;
}
+// Uninstall the instance data for a C++ object into a Python instance
+// object.
+void instance_holder::uninstall(PyObject* self) throw()
+{
+ assert(self->ob_type->ob_type == &class_metatype_object);
+ instance_holder **chain = &(((objects::instance<>*)self)->objects);
+
+ // iterate through, looking for the pointer that points to this
+ while ( *chain && *chain != this )
+ chain = &((*chain)->m_next);
+
+ // set that pointer to point to the m_next
+ if (*chain)
+ *chain = m_next;
+
+ m_next = 0;
+}
namespace objects
{

View File

@@ -0,0 +1,10 @@
--- instance_holder.hpp 2015-09-02 08:07:49.000000000 -0400
+++ instance_holder-new.hpp 2016-01-16 12:35:58.000000000 -0500
@@ -32,6 +32,7 @@
virtual void* holds(type_info, bool null_ptr_only) = 0;
void install(PyObject* inst) throw();
+ void uninstall(PyObject* inst) throw();
// These functions should probably be located elsewhere.

View File

@@ -0,0 +1,39 @@
set -x
LIB=boost
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
pushd sdk/include
ln -fs ../../boost/$LIB/boost boost
popd
mkdir boost
pushd boost
mkdir -p ../../downloads
pushd ../../downloads
# wget -N https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2
# wget -N https://boostorg.jfrog.io/artifactory/main/release/1.85.0/source/boost_1_85_0.tar.bz2
wget -N https://gigenet.dl.sourceforge.net/project/boost/boost/1.85.0/boost_1_85_0.tar.bz2
popd
ln -s ../../downloads/boost_*
$DIR/../../prepare-template $LIB $DIR
patch $LIB/boost/python/instance_holder.hpp < $DIR/instance_holder.hpp.patch
patch $LIB/libs/python/src/object/class.cpp < $DIR/class.cpp.patch
patch $LIB/boost/multiprecision/tommath.hpp < $DIR/tommath.hpp.patch
cp $DIR/Makefile* $LIB
pushd $LIB
MAKE_PROJECT_FILE=Makefile-threads.project make
MAKE_PROJECT_FILE=Makefile-system.project make
# MAKE_PROJECT_FILE=Makefile-python.project make
popd
popd

View File

@@ -0,0 +1,4 @@
16c16
< #include <tommath.h>
---
> #include <tommath/tommath.h>

View File

@@ -0,0 +1,12 @@
mkdir catch2
pushd catch2
wget https://github.com/catchorg/Catch2/releases/download/v2.13.4/catch.hpp
popd
mkdir -p sdk/include
pushd sdk/include
ln -fs ../../catch2
popd

View File

@@ -0,0 +1,29 @@
include $(MAKEDIR)/Makefile.base
INCPATH := -I./include/curl -I./include -I./lib -I../../openssl/openssl/include
LIBFILE := libcurl.a
_FLAGS := $(_FLAGS) -DHAVE_CONFIG_H -DBUILDING_LIBCURL -DPIC -I../../nghttp2/nghttp2/lib/includes
COPYTO := ../../sdk/lib
PROJECTS :=
ifeq (Darwin,$(SYS_NAME))
PROJECTS := lib lib/vtls lib/vauth lib/vquic
include $(MAKEDIR)/Makefile.lib
endif
ifeq (Linux,$(SYS_NAME))
PROJECTS := lib lib/vtls lib/vauth lib/vquic
include $(MAKEDIR)/Makefile.lib
endif
ifeq (Android,$(SYS_NAME))
PROJECTS := lib lib/vtls lib/vauth lib/vquic
include $(MAKEDIR)/Makefile.lib
endif
ifeq (iOS,$(SYS_NAME))
include $(MAKEDIR)/Makefile.none
endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
I really want to use release
7_86 which contains a bug fix for 7_85, but it's not out yet
hence HEAD

119
resources/packages/curl/prepare Executable file
View File

@@ -0,0 +1,119 @@
set -ex
mkdir -p sdk/include
LIB=curl
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# we need openssl to exist
$DIR/../openssl/prepare
$DIR/../nghttp2/prepare
mkdir curl
pushd curl
#wget https://curl.haxx.se/download/curl-7.74.0.tar.bz2
#wget https://curl.haxx.se/download/curl-7.46.0.tar.bz2
#wget https://curl.haxx.se/download/curl-7.85.0.tar.bz2
#$DIR/../../prepare-template-no-makefile $LIB $DIR
git clone --depth 1 https://github.com/curl/curl --branch=curl-7_88_1
#cp $DIR/*.h $LIB/lib/
pushd $LIB
OS_FLAGS=
OTHER_FLAGS=
OS_UNAME=`uname`
if [[ $OS_UNAME == 'Linux' ]]; then
OS_FLAGS=--with-openssl=`pwd`/../../openssl/openssl/install-native/
fi
if [[ $OS_UNAME == 'Darwin' ]]; then
OS_FLAGS="\
--with-openssl=`pwd`/../../openssl/openssl/install-native/ \
--with-secure-transport \
"
fi
if [[ $SYS_NAME == 'Android' ]]; then
export ANDROID_NDK_HOME=/opt/android-sdk/ndk/latest # Point into your NDK.
export HOST_TAG=linux-x86_64
export TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/$HOST_TAG
export AR=$TOOLCHAIN/bin/llvm-ar
export AS=$TOOLCHAIN/bin/llvm-as
export CC=$TOOLCHAIN/bin/aarch64-linux-android34-clang
export CXX=$TOOLCHAIN/bin/aarch64-linux-android34-clang++
# export CC=$TOOLCHAIN/bin/clang
# export CXX=$TOOLCHAIN/bin/clang++
export LD=$TOOLCHAIN/bin/ld
export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
export STRIP=$TOOLCHAIN/bin/llvm-strip
OS_FLAGS="\
--host aarch64-linux-android \
--with-openssl=`pwd`/../../openssl/openssl/install-android-arm64 \
--with-ca-path=/system/etc/security/cacerts \
-v -v -v \
"
# --with-zlib=`pwd`/../../zip/zlib \
# --host x86_64-linux-gnu \
# --with-pic \
# --disable-ares \
# --enable-threaded-resolve \
# --disable-ipv6 \
fi
INSTALL_PREFIX=`pwd`/curl-install
echo "If this failed, then make sure the version of clang above, 34, is still correct"
autoreconf -fi
./configure \
--prefix=$INSTALL_PREFIX \
--disable-shared \
--disable-ldap \
--without-librtmp \
--without-ngtcp2 \
--without-brotli \
--without-libidn2 \
--without-zstd \
--with-pic \
--with-nghttp2 \
$OS_FLAGS \
# --without-ca-bundle --without-ca-path \
#make CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++
popd
cp -av $DIR/Makefile.* $LIB/
$DIR/../../prepare-template-just-makefile $LIB $DIR
pushd $LIB
make
popd
popd
pushd sdk/include
rm -f curl
ln -s ../../curl/$LIB/include/curl
popd

View File

@@ -0,0 +1,2 @@
sudo apt-get install libtool
sudo apt install autoconf

15
resources/packages/date/prepare Executable file
View File

@@ -0,0 +1,15 @@
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
mkdir date
pushd date
git clone --depth 1 https://github.com/HowardHinnant/date.git --branch=v3.0.1
popd
pushd sdk/include
ln -fs ../../date/date/include/date
popd

View File

@@ -0,0 +1,26 @@
set -ex
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
mkdir elpasso
pushd elpasso
# wget -N http://www.zlib.net/zlib-1.2.13.tar.gz
git clone --depth 1 https://github.com/Zhiyi-Zhang/PS-Signature-and-EL-PASSO --branch=v0.3
LIB=PS-Signature-and-EL-PASSO
pushd $LIB
ln -fs $DIR/../../Makefile-template Makefile
cp $DIR/Makefile.project Makefile.project
popd
popd
pushd sdk/include
ln -fs ../../elpasso/$LIB/src elpasso
popd

View File

@@ -0,0 +1,12 @@
_FLAGS := $(_FLAGS) -Wno-deprecated
include $(MAKEDIR)/Makefile.base
COPYTO := ../../sdk/lib
PROJECTS := EZAudio
LIBFILE := libEZAudio.a
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,25 @@
mkdir -p sdk/include
LIB=ezaudio
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir $LIB
pushd $LIB
git clone https://github.com/timprepscius/EZAudio.git
cp -av $DIR/Makefile.* $LIB/
$DIR/../../prepare-template-just-makefile $LIB $DIR
pushd $LIB
make
popd
popd
pushd sdk/include
ln -s ../../ezaudio/EZAudio/EZAudio
popd

37
resources/packages/fftw/prepare Executable file
View File

@@ -0,0 +1,37 @@
set -x
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=fftw
mkdir $LIB
pushd $LIB
wget https://www.fftw.org/fftw-3.3.10.tar.gz
tar xf fftw-3.3.10.tar.gz
ln -s fftw*/ fftw
pushd fftw
here="$(pwd)"
mkdir build
./configure --prefix=$here/build --enable-float
make
make install
popd
popd
pushd sdk/include
rm fftw
ln -fs ../../$LIB/fftw/build/include fftw
popd
pushd sdk/lib
for d in */
do
cp ../../$LIB/fftw/build/lib/*.a $d
done
popd

31
resources/packages/glfw/prepare Executable file
View File

@@ -0,0 +1,31 @@
set -x
UNAME_S=`uname -s`
UNAME_M=`uname -m`
EXT=${UNAME_S}-${UNAME_M}
mkdir -p sdk/include
mkdir -p sdk/lib/Debug.$EXT
mkdir -p sdk/lib/Release.$EXT
mkdir glfw
pushd glfw
git clone --depth 1 https://github.com/glfw/glfw.git
cd glfw
mkdir build
pushd build
cmake .. -DGLFW_VULKAN_STATIC=true -DGLFW_BUILD_EXAMPLES=false -DGLFW_BUILD_TESTS=false -DGLFW_BUILD_DOCS=false -DGLFW_BUILD_WAYLAND=false -DGLFW_BUILD_X11=false
make
cp src/*.a ../../../sdk/lib/Debug.$EXT/
cp src/*.a ../../../sdk/lib/Release.$EXT/
popd
popd
pushd sdk/include
ln -fs ../../glfw/glfw/include/GLFW
popd

13
resources/packages/glm/prepare Executable file
View File

@@ -0,0 +1,13 @@
mkdir -p sdk/include
mkdir glm
pushd glm
git clone --depth 1 https://github.com/g-truc/glm.git
popd
pushd sdk/include
ln -fs ../../glm/glm/glm
popd

16
resources/packages/gte/prepare Executable file
View File

@@ -0,0 +1,16 @@
mkdir gte
pushd gte
git clone https://github.com/davideberly/GeometricTools.git
pushd GeometricTools
git checkout tags/GTE-version-5.1 -b stable
popd
popd
mkdir -p sdk/include
pushd sdk/include
ln -fs ../../gte/GeometricTools/GTE/Mathematics
popd

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,21 @@
set -x
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=httplib
mkdir $LIB
pushd $LIB
mkdir -p httplib/include
cp $DIR/httplib.h httplib/include
popd
pushd sdk/include
rm httplib
ln -fs ../../$LIB/httplib/include httplib
popd

View File

@@ -0,0 +1,18 @@
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir imgui
pushd imgui
git clone --branch tjp_main_multiline https://github.com/timprepscius/imgui.git
pushd imgui
ln -fs ../../../../resources/Makefile-template Makefile
make
popd
popd
pushd sdk/include
ln -fs ../../imgui/imgui
popd

View File

@@ -0,0 +1,17 @@
mkdir -p sdk/include
LIB=json
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p json-nlohmann/$LIB
pushd json-nlohmann/$LIB
wget https://github.com/nlohmann/json/releases/download/v3.8.0/json.hpp
popd
pushd sdk/include
ln -s ../../json-nlohmann/$LIB
popd

View File

@@ -0,0 +1,43 @@
OS_UNAME=`uname`
if [[ "$OS_UNAME" != 'Linux' ]]; then
exit 0
fi
set -x
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
mkdir -p sdk/lib
LIB=libunwind
mkdir $LIB
pushd $LIB
git clone https://github.com/libunwind/libunwind --branch=v1.8.1 --depth 1
pushd libunwind
autoreconf -i
./configure --prefix=`pwd`/install --enable-static
make install
popd
popd
pushd sdk/include
rm libunwind
ln -fs ../../$LIB/libunwind/install/include libunwind
popd
pushd sdk/lib
for dir in */; do
pushd $dir
ln -s ../../../$LIB/libunwind/install/lib/*.a ./
popd
done
popd
ls -lha sdk/lib/*/libunwind*
ls -lha sdk/include/libunwind

View File

@@ -0,0 +1,38 @@
set -ex
export TAR_OPTIONS="--no-same-owner"
export MASON_SYMLINK=true
mkdir -p sdk/include
mkdir mapbox
pushd mapbox
git clone --depth 1 https://github.com/mapbox/earcut.hpp.git
git clone --depth 1 https://github.com/mapbox/vector-tile.git
pushd vector-tile
git submodule init
git submodule update
echo 'echo #1' > lscpu
chmod +x lscpu
here=`pwd`
PATH=$PATH:$HERE make deps
# make test
popd
popd
mkdir -p sdk/includes/mapbox
pushd sdk/includes/mapbox
ln -s ../../../mapbox/earcut.hpp/include earcut
ln -s ../../../mapbox/vector-tile/mason_packages/headers/geometry/*/include geometry
ln -s ../../../mapbox/vector-tile/mason_packages/headers/protozero/*/include protozero
ln -s ../../../mapbox/vector-tile/mason_packages/headers/variant/*/include variant
ln -s ../../../mapbox/vector-tile/include mapbox
popd

120
resources/packages/mongo/prepare Executable file
View File

@@ -0,0 +1,120 @@
set -x
mkdir -p sdk/include
mkdir mongo
pushd mongo
#wget https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
#wget --content-disposition https://codeload.github.com/mongodb/mongo-cxx-driver/tar.gz/r3.0.2
#wget https://github.com/mongodb/mongo-c-driver/archive/refs/tags/debian/1.23.1-1.tar.gz
#mv 1.23.1-1.tar.gz mongo-c-1.23.1-1.tar.gz
wget https://github.com/mongodb/mongo-c-driver/releases/download/1.23.4/mongo-c-driver-1.23.4.tar.gz
wget https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.7.1/mongo-cxx-driver-r3.7.1.tar.gz
tar xf mongo-c-*.tar.gz
tar xf mongo-cxx-*.tar.gz
ln -s mongo-c-*/ mongo-c
ln -s mongo-cxx-*/ mongo-cxx
pushd mongo-c
currentpath=`pwd`
mongo_c_prefix=$currentpath/install
# CFLAGS=-fPIC ./configure --prefix=$mongo_c_prefix --enable-static --enable-sasl=no --enable-ssl=no --enable-shared=no
# ./configure --prefix=$mongo_c_prefix --enable-static --enable-sasl=no --enable-ssl=no --enable-shared=no --with-pic
# make install
cmake \
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_INSTALL_PREFIX=$mongo_c_prefix \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DTHREADS_PREFER_PTHREAD_FLAG=ON \
-DENABLE_TESTS=OFF -DENABLE_EXAMPLES=OFF \
-DENABLE_SASL=OFF \
-DENABLE_SSL=OPENSSL \
-DOPENSSL_ROOT_DIR=`pwd`/../../openssl/openssl/install-native/ \
-DENABLE_SHARED=OFF \
-DENABLE_SNAPPY=OFF \
-DENABLE_ZSTD=OFF \
-DCMAKE_BUILD_TYPE=Release
# -DCMAKE_BUILD_TYPE=RelWithDebInfo \
# --debug-output
make -i install
popd
pushd mongo-cxx
currentpath=`pwd`
mongo_cxx_prefix=$currentpath/install
echo "
// TJP fixes build on ubuntu noble
#include <cstdint>
" >> src/mongocxx/config/config.hpp.in
PKG_CONFIG_PATH=$mongo_c_prefix/lib/pkgconfig \
CMAKE_PREFIX_PATH=$mongo_c_prefix \
cmake \
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
-DCMAKE_CXX_STANDARD=17 \
-DBUILD_SHARED_LIBS=OFF -DBUILD_SHARED_AND_STATIC_LIBS=OFF -DBSONCXX_BUILD_STATIC=ON -DMONGOCXX_BUILD_STATIC=ON \
-DBSONCXX_LINK_WITH_STATIC_MONGOC=ON -DMONGOCXX_LINK_WITH_STATIC_MONGOC=ON \
-DENABLE_TESTS=OFF \
-DCMAKE_INSTALL_PREFIX=$mongo_cxx_prefix \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DTHREADS_PREFER_PTHREAD_FLAG=ON \
-DCMAKE_BUILD_TYPE=Release
# --debug-output
# \
# -DBSONCXX_POLY_USE_STD=ON \
# -DBSONCXX_POLY_USE_MNMLSTC=OFF
make -i install
# -DLIBBSON_DIR=$mongo_c_prefix -DLIBMONGOC_DIR=$mongo_c_prefix \
popd
popd
mkdir -p sdk/include
pushd sdk/include
ln -fs ../../mongo/mongo-c/install/include/libmongoc-*/ mongoc
ln -fs ../../mongo/mongo-c/install/include/libbson-*/ libbson
ln -fs ../../mongo/mongo-cxx/install/include/mongocxx/v_noabi/mongocxx
ln -fs ../../mongo/mongo-cxx/install/include/bsoncxx/v_noabi/bsoncxx
popd
unameOut="$(uname -s)"
case "${unameOut}" in
Linux*) machine=lnx;;
Darwin*) machine=osx;;
CYGWIN*) machine=Cygwin;;
MINGW*) machine=MinGw;;
*) machine="UNKNOWN:${unameOut}"
esac
echo ${machine}
UNAME_S=`uname -s`
UNAME_M=`uname -m`
EXT=${UNAME_S}-${UNAME_M}
for X in Debug Release
do
mkdir -p sdk/lib/$X.$EXT
pushd sdk/lib/$X.$EXT
ln -fs ../../../mongo/mongo-c/install/lib*/libbson-*.a libbson.a
ln -fs ../../../mongo/mongo-c/install/lib*/libmongoc-*.a libmongoc.a
ln -fs ../../../mongo/mongo-cxx/install/lib*/libbsoncxx*.a libbsoncxx.a
ln -fs ../../../mongo/mongo-cxx/install/lib*/libmongocxx*.a libmongocxx.a
popd
done

View File

@@ -0,0 +1,154 @@
_FLAGS := $(_FLAGS) -Wno-deprecated
include $(MAKEDIR)/Makefile.base
COPYTO := ../../sdk/lib
PROJECTS := \
src/core \
# src/platform/cert_capi_openssl.c \
# src/platform/crypt_openssl.c \
COMMON_SRC := \
src/platform/crypt.c \
src/platform/crypt_openssl.c \
src/platform/hashtable.c \
src/platform/inline.c \
src/platform/pcp.c \
src/platform/storage_posix.c \
src/platform/tls_openssl.c \
src/platform/toeplitz.c \
src/platform/platform_worker.c \
src/platform/cgroup.c \
NO_SRC := \
src/platform/selfsign_openssl.c \
LINUX_SRC := \
src/platform/datapath_epoll.c \
src/platform/certificates_posix.c \
src/platform/platform_posix.c \
# src/platform/datapath_linux.c \
ANDROID_SRC := \
src/platform/datapath_epoll.c \
src/platform/certificates_posix.c \
src/platform/platform_posix.c \
# src/platform/datapath_linux.c \
POSIX_SRC := \
src/platform/datapath_kqueue.c \
src/platform/certificates_darwin.c \
src/platform/platform_posix.c \
WIN_SRC := \
src/platform/cert_capi.c \
src/platform/crypt_bcrypt.c \
src/platform/datapath_winkernel.c \
src/platform/datapath_winuser.c \
src/platform/platform_winkernel.c \
src/platform/platform_winuser.c \
src/platform/selfsign_capi.c \
src/platform/storage_winkernel.c \
src/platform/storage_winuser.c \
src/platform/tls_schannel.c \
ifeq ($(SYS_NAME),Linux)
SRC_C := $(LINUX_SRC) $(COMMON_SRC)
_FLAGS := $(_FLAGS) \
-fms-extensions \
-Wmissing-field-initializers \
-Wno-multichar \
-DCX_PLATFORM_LINUX \
-DQUIC_DISABLE_CLIENT_CERT_TESTS \
-DQUIC_DISABLE_DEFERRED_CERT_TESTS \
-DVER_BUILD_ID=0 \
-DVER_SUFFIX=-private \
-D_GNU_SOURCE \
-DQUIC_EVENTS_STUB \
-DQUIC_LOGS_STUB \
# -DQUIC_LOGS_STDOUT \
# -DQUIC_EVENTS_STDOUT \
# -DQUIC_EVENTS_STUB \
# -DQUIC_LOGS_STUB \
endif
ifeq ($(SYS_NAME),Android)
SRC_C := $(ANDROID_SRC) $(COMMON_SRC)
_FLAGS := $(_FLAGS) \
-fms-extensions \
-Wmissing-field-initializers \
-Wno-multichar \
-DQUIC_ANDROID_NO_ECN \
-DQUIC_ANDROID_FIX_MISSING_LOCALADDRESS_ON_CLIENT \
-DCX_PLATFORM_LINUX \
-DQUIC_DISABLE_CLIENT_CERT_TESTS \
-DQUIC_DISABLE_DEFERRED_CERT_TESTS \
-DVER_BUILD_ID=0 \
-DVER_SUFFIX=-private \
-D_GNU_SOURCE \
\
-DQUIC_EVENTS_STUB \
-DQUIC_LOGS_STUB \
# -DQUIC_LOGS_STDOUT \
# -DQUIC_EVENTS_STDOUT \
endif
ifeq ($(SYS_NAME),Darwin)
SRC_C := $(POSIX_SRC) $(COMMON_SRC)
_FLAGS := $(_FLAGS) \
-fms-extensions \
-Wno-microsoft-anon-tag -Wno-tautological-constant-out-of-range-compare -Wmissing-field-initializers \
-DCX_PLATFORM_DARWIN \
-DQUIC_DISABLE_CLIENT_CERT_TESTS \
-DQUIC_DISABLE_DEFERRED_CERT_TESTS \
-DQUIC_EVENTS_STUB \
-DQUIC_LOGS_STUB \
-DVER_BUILD_ID=0 \
-DVER_SUFFIX=-private \
-D_GNU_SOURCE \
endif
ifeq ($(SYS_NAME),iOS)
SRC_C := $(POSIX_SRC) $(COMMON_SRC)
_FLAGS := $(_FLAGS) \
-fms-extensions \
-Wno-microsoft-anon-tag -Wno-tautological-constant-out-of-range-compare -Wmissing-field-initializers \
-DCX_PLATFORM_DARWIN \
-DQUIC_DISABLE_CLIENT_CERT_TESTS \
-DQUIC_DISABLE_DEFERRED_CERT_TESTS \
-DQUIC_EVENTS_STUB \
-DQUIC_LOGS_STUB \
-DVER_BUILD_ID=0 \
-DVER_SUFFIX=-private \
-D_GNU_SOURCE \
endif
INCPATH := \
-I src/inc \
-I ../../openssl/openssl/include \
LIBFILE := libMSQuic.a
COPYTO := $(LIBRARIES)/project
# -DQUIC_SHARED_EPHEMERAL_WORKAROUND \
# -DQUIC_CLOG \
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,68 @@
diff --git a/src/platform/datapath_epoll.c b/src/platform/datapath_epoll.c
index 422509a..0eab584 100644
--- a/src/platform/datapath_epoll.c
+++ b/src/platform/datapath_epoll.c
@@ -1819,6 +1819,21 @@ CxPlatSocketContextRecvComplete(
}
}
+#ifdef QUIC_ANDROID_FIX_MISSING_LOCALADDRESS_ON_CLIENT
+ if (!FoundLocalAddr) {
+ LocalAddr->Ip.sa_family = SocketContext->Binding->LocalAddress.Ip.sa_family;
+
+ // TJP - not sure if these copies are correct, should they be a memcpy?
+ if (LocalAddr->Ip.sa_family == QUIC_ADDRESS_FAMILY_INET6) {
+ LocalAddr->Ipv6 = SocketContext->Binding->LocalAddress.Ipv6;
+ } else {
+ LocalAddr->Ipv4 = SocketContext->Binding->LocalAddress.Ipv4;
+ }
+
+ FoundLocalAddr = TRUE;
+ }
+#endif
+
CXPLAT_FRE_ASSERT(FoundLocalAddr);
CXPLAT_FRE_ASSERT(FoundTOS);
@@ -2305,17 +2320,22 @@ CxPlatSendDataPopulateAncillaryData(
_Inout_ struct msghdr* Mhdr
)
{
+#ifdef QUIC_ANDROID_NO_ECN
+ Mhdr->msg_controllen = 0;
+ struct cmsghdr *CMsg = NULL;
+#else
Mhdr->msg_controllen = CMSG_SPACE(sizeof(int));
struct cmsghdr *CMsg = CMSG_FIRSTHDR(Mhdr);
CMsg->cmsg_level = SendData->LocalAddress.Ip.sa_family == AF_INET ? IPPROTO_IP : IPPROTO_IPV6;
CMsg->cmsg_type = SendData->LocalAddress.Ip.sa_family == AF_INET ? IP_TOS : IPV6_TCLASS;
CMsg->cmsg_len = CMSG_LEN(sizeof(int));
*(int*)CMSG_DATA(CMsg) = SendData->ECN;
+#endif
if (!SendData->OnConnectedSocket) {
if (SendData->LocalAddress.Ip.sa_family == AF_INET) {
Mhdr->msg_controllen += CMSG_SPACE(sizeof(struct in_pktinfo));
- CMsg = CXPLAT_CMSG_NXTHDR(CMsg);
+ CMsg = CMsg ? CXPLAT_CMSG_NXTHDR(CMsg) : CMSG_FIRSTHDR(Mhdr);
CMsg->cmsg_level = IPPROTO_IP;
CMsg->cmsg_type = IP_PKTINFO;
CMsg->cmsg_len = CMSG_LEN(sizeof(struct in_pktinfo));
@@ -2325,7 +2345,7 @@ CxPlatSendDataPopulateAncillaryData(
PktInfo->ipi_addr = SendData->LocalAddress.Ipv4.sin_addr;
} else {
Mhdr->msg_controllen += CMSG_SPACE(sizeof(struct in6_pktinfo));
- CMsg = CXPLAT_CMSG_NXTHDR(CMsg);
+ CMsg = CMsg ? CXPLAT_CMSG_NXTHDR(CMsg) : CMSG_FIRSTHDR(Mhdr);
CMsg->cmsg_level = IPPROTO_IPV6;
CMsg->cmsg_type = IPV6_PKTINFO;
CMsg->cmsg_len = CMSG_LEN(sizeof(struct in6_pktinfo));
@@ -2338,7 +2358,7 @@ CxPlatSendDataPopulateAncillaryData(
#ifdef UDP_SEGMENT
if (SendData->SegmentationSupported && SendData->SegmentSize > 0) {
Mhdr->msg_controllen += CMSG_SPACE(sizeof(uint16_t));
- CMsg = CXPLAT_CMSG_NXTHDR(CMsg);
+ CMsg = CMsg ? CXPLAT_CMSG_NXTHDR(CMsg) : CMSG_FIRSTHDR(Mhdr);
CMsg->cmsg_level = SOL_UDP;
CMsg->cmsg_type = UDP_SEGMENT;
CMsg->cmsg_len = CMSG_LEN(sizeof(uint16_t));

View File

@@ -0,0 +1,45 @@
set -x
mkdir -p sdk/include
LIB=msquic
SRC=msquic
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir $LIB
pushd $LIB
git clone --depth 1 --branch v2.2.4 https://github.com/microsoft/msquic.git
#git clone --depth 1 --branch v2.2.2 https://github.com/microsoft/msquic.git
#git clone --depth 1 https://github.com/microsoft/msquic.git
#git clone --depth 1 --branch v2.1.7 https://github.com/microsoft/msquic.git
# pushd msquic
# git submodule update --init --recursive
# mkdir build
# pushd build
# cmake ..
# make
# popd
# popd
ln -s $DIR/Makefile.project $SRC/Makefile.project
#cp -av $DIR/Makefile.* $SRC
$DIR/../../prepare-template-just-makefile $SRC $DIR
pushd $SRC
if [[ $SYS_NAME == 'Android' ]]; then
git apply $DIR/android-datapath_epoll.c.diff
fi
make
popd
popd
pushd sdk/include
ln -s ../../$LIB/$SRC/src/inc msquic
popd

View File

@@ -0,0 +1,20 @@
include $(MAKEDIR)/Makefile.base
INCPATH := -I. -I./include -I./lib -I./lib/includes/
LIBFILE := libnghttp2.a
_FLAGS := $(_FLAGS) -DHAVE_CONFIG_H -DBUILDING_LIBCURL -DPIC
COPYTO := ../../sdk/lib
PROJECTS := lib
ifeq (Darwin,$(SYS_NAME))
_FLAGS := $(_FLAGS) -D__APPLE_USE_RFC_3542
endif
ifeq (iOS,$(SYS_NAME))
include $(MAKEDIR)/Makefile.none
else
include $(MAKEDIR)/Makefile.lib
endif

View File

@@ -0,0 +1,45 @@
if [ -d "nghttp2" ]; then
echo "nghttp2 does exists already"
exit 0
fi
set -ex
mkdir -p sdk/include
LIB=nghttp2
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir nghttp2
pushd nghttp2
wget "https://github.com/nghttp2/nghttp2/releases/download/v1.68.0/nghttp2-1.68.0.tar.gz"
tar xf nghttp2-1.68.0.tar.gz
ln -s nghttp2-1.68.0 $LIB
pushd $LIB
INSTALL_PREFIX=`pwd`/nghttp2-install
#autoreconf -fi
./configure --enable-lib-only --prefix=$PWD/nghttp2-install
popd
cp -av $DIR/Makefile.* $LIB/
$DIR/../../prepare-template-just-makefile $LIB $DIR
pushd $LIB
make
popd
popd
pushd sdk/include
rm -f nghttp2
ln -s ../../nghttp2/$LIB/lib/includes/nghttp2
popd

View File

@@ -0,0 +1,2 @@
sudo apt-get install libtool
sudo apt install autoconf

View File

@@ -0,0 +1,14 @@
include $(MAKEDIR)/Makefile.base
PROJECTS := src
INCPATH := -I include
LIBFILE := libogg.a
COPYTO := ../../sdk/lib
_FLAGS := $(_FLAGS)
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,18 @@
include $(MAKEDIR)/Makefile.base
PROJECTS := lib lib/modes lib/books
INCPATH := -I include -I ../libogg/include -I lib
FILTER_OUT_C := lib/psytune.c lib/barkmel.c
LIBFILE := libvorbis.a
COPYTO := ../../sdk/lib
# not sure why this __APPLE__ should I make an if
_FLAGS := $(_FLAGS) -D__APPLE__
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,9 @@
#include <stdint.h>
#include <sys/types.h>
typedef int16_t ogg_int16_t;
typedef uint16_t ogg_uint16_t;
typedef int32_t ogg_int32_t;
typedef uint32_t ogg_uint32_t;
typedef int64_t ogg_int64_t;
typedef uint64_t ogg_uint64_t;

View File

@@ -0,0 +1,2 @@
73a74
> # include <stdint.h>

View File

@@ -0,0 +1,44 @@
set -ex
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=oggvorbis
mkdir $LIB
pushd $LIB
rm -rf libogg*
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.4.tar.gz
tar xf libogg-*
ln -s libogg-*/ libogg
patch libogg/include/ogg/os_types.h $DIR/os_types.h-patch
cp -av $DIR/config_types.h libogg/include/ogg/config_types.h
cp -av $DIR/Makefile-ogg.project libogg/Makefile.project
ln -s $DIR/../../Makefile-template libogg/Makefile
rm -rf libvorbis*
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.xz
tar xf libvorbis-*
ln -s libvorbis-*/ libvorbis
cp -av $DIR/Makefile-vorbis.project libvorbis/Makefile.project
ln -s $DIR/../../Makefile-template libvorbis/Makefile
pushd libogg
make
popd
pushd libvorbis
make
popd
popd
pushd sdk/include
ln -fs ../../oggvorbis/libogg/include/ogg ogg
ln -fs ../../oggvorbis/libvorbis/include/vorbis vorbis
popd

30
resources/packages/onnx/prepare Executable file
View File

@@ -0,0 +1,30 @@
set -x
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=onnx
mkdir $LIB
pushd $LIB
wget https://github.com/microsoft/onnxruntime/releases/download/v1.12.1/onnxruntime-linux-x64-gpu-1.12.1.tgz
tar xf onnxruntime-linux-x64-gpu-1.12.1.tgz
ln -fs onnx*/ onnx
popd
pushd sdk/include
rm onnx
ln -fs ../../$LIB/onnx/include onnx
popd
pushd sdk/lib
for d in */
do
pushd $d
ln -fs ../../../$LIB/onnx/lib/* .
popd
done
popd

View File

@@ -0,0 +1 @@
# include "opensslconf.android.h"

View File

@@ -0,0 +1,9 @@
#include <TargetConditionals.h>
#if TARGET_OS_IOS && (TARGET_OS_EMBEDDED || TARGET_OS_SIMULATOR) && TARGET_CPU_ARM64
# include "opensslconf.ios-sim.h"
#elif TARGET_OS_IOS && TARGET_OS_SIMULATOR && TARGET_CPU_X86_64
# include "opensslconf.ios.h"
#else
#include "opensslconf.native.h"
#endif

View File

@@ -0,0 +1 @@
#include "opensslconf.native.h"

View File

@@ -0,0 +1,161 @@
set -x
if [ -d "openssl" ]; then
echo "openssl does exists already"
exit 0
fi
mkdir -p sdk/include
sys_name_=`uname -s`
if [ "Linux" == "$sys_name_" ]; then
SYS_NAME=${SYS_NAME:=$sys_name_}
sys_name=$SYS_NAME
else
sys_name=$sys_name_
fi
LIB=openssl
SRC=openssl
NO_TESTS=
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir $LIB
pushd $LIB
mkdir -p ../../downloads
pushd ../../downloads
wget -nc https://github.com/quictls/openssl/archive/refs/tags/OpenSSL_1_1_1t-quic1.tar.gz
popd
ln -s ../../downloads/OpenSSL*
tar xf *.tar.gz
ln -s */ openssl
pushd $SRC
prefix=`pwd`/install-native
./config $NO_TESTS --prefix=$prefix
echo "Compiling Native"
echo "-----------------------------------------------------------"
make install
pushd include/openssl
cp opensslconf.h opensslconf.native.h
cp $DIR/opensslconf.h .
popd
mkdir -p lib/native
pushd lib/native
cp ../../*.a .
popd
if [ "Android" == "$sys_name" ]; then
make clean
prefix=`pwd`/install-android-arm64
PATH=$PATH:/opt/android-sdk/ndk/latest/toolchains/llvm/prebuilt/linux-x86_64/bin
./Configure $NO_TESTS android-arm64 --prefix=$prefix
echo "Compiling Android"
echo "-----------------------------------------------------------"
make install
pushd include/openssl
cp opensslconf.h opensslconf.android.h
cp $DIR/opensslconf-android.h opensslconf.h
popd
mkdir -p lib/android
pushd lib/android
cp ../../*.a .
popd
fi
if [ "Darwin" == "$sys_name" ]; then
make clean
prefix=`pwd`/install-ios64-xcrun
./Configure $NO_TESTS ios64-xcrun --prefix=$prefix
echo "Compiling iOS"
echo "-----------------------------------------------------------"
make install
pushd include/openssl
cp opensslconf.h opensslconf.ios.h
cp $DIR/opensslconf-darwin.h opensslconf.h
popd
mkdir -p lib/ios
pushd lib/ios
cp ../../*.a .
popd
make clean
prefix=`pwd`/install-iossimulator-xcrun
./Configure $NO_TESTS iossimulator-xcrun --prefix=$prefix
echo "Compiling iOS-simulator"
echo "-----------------------------------------------------------"
make install
pushd include/openssl
cp opensslconf.h opensslconf.ios-sim.h
cp $DIR/opensslconf-darwin.h opensslconf.h
popd
mkdir -p lib/ios-sim
pushd lib/ios-sim
cp ../../*.a .
popd
fi
popd
popd
pushd sdk/include
ln -fs ../../$LIB/$SRC/include/openssl openssl
popd
mkdir -p sdk/lib
pushd sdk/lib
UNAME_S=`uname -s`
UNAME_M=`uname -m`
EXT=${UNAME_S}-${UNAME_M}
if [ "Linux" == "$sys_name" ]; then
mkdir -p Debug.$EXT
mkdir -p Release.$EXT
cp ../../$LIB/$SRC/lib/native/*.a Debug.$EXT/
cp ../../$LIB/$SRC/lib/native/*.a Release.$EXT/
elif [ "Darwin" == "$sys_name" ]; then
mkdir -p Debug.$EXT
mkdir -p Release.$EXT
cp ../../$LIB/$SRC/lib/native/*.a Debug.$EXT/
cp ../../$LIB/$SRC/lib/native/*.a Release.$EXT/
mkdir -p Debug.iOS-arm64
mkdir -p Release.iOS-arm64
cp ../../$LIB/$SRC/lib/ios/*.a Debug.iOS-arm64/
cp ../../$LIB/$SRC/lib/ios/*.a Release.iOS-arm64/
mkdir -p Debug.iOS-simulate
mkdir -p Release.iOS-simulate
cp ../../$LIB/$SRC/lib/ios-sim/*.a Debug.iOS-simulate/
cp ../../$LIB/$SRC/lib/ios-sim/*.a Release.iOS-simulate/
elif [ "Android" == "$sys_name" ]; then
mkdir -p Debug.Android-arm64
mkdir -p Release.Android-arm64
cp ../../$LIB/$SRC/lib/android/*.a Debug.Android-arm64/
cp ../../$LIB/$SRC/lib/android/*.a Release.Android-arm64/
fi
popd

View File

@@ -0,0 +1,39 @@
include $(MAKEDIR)/Makefile.base
PROJECTS := celt silk opus
INCPATH := -I include -I celt -I silk
ifdef FIXED_POINT
PROJECTS += silk/fixed
INCPATH += -I silk/fixed
else
PROJECTS += silk/float
INCPATH += -I silk/float
endif
SRC_C := $(SRC_C) \
src/opus.c \
src/opus_decoder.c \
src/opus_encoder.c \
src/opus_multistream.c \
src/opus_multistream_encoder.c \
src/opus_multistream_decoder.c \
src/repacketizer.c \
src/opus_projection_encoder.c \
src/opus_projection_decoder.c \
src/mapping_matrix.c
SRC_C := $(SRC_C) \
src/analysis.c \
src/mlp.c \
src/mlp_data.c
LIBFILE := libopus.a
COPYTO := ../../sdk/lib
_FLAGS := $(_FLAGS) -DOPUS_BUILD -DUSE_ALLOCA
include $(MAKEDIR)/Makefile.lib

25
resources/packages/opus/prepare Executable file
View File

@@ -0,0 +1,25 @@
set -x
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=opus
mkdir $LIB
pushd $LIB
git clone --depth 1 https://gitlab.xiph.org/xiph/opus.git --branch v1.4
cp -av $DIR/Makefile.project opus/
ln -s $DIR/../../Makefile-template $LIB/Makefile
pushd opus
make
popd
popd
pushd sdk/include
ln -fs ../../opus/opus/include opus
popd

View File

@@ -0,0 +1,92 @@
#!/bin/bash
set -x
if [ -d "sodium" ]; then
echo "sodium does exists already"
exit 0
fi
sys_name_=$(uname -s)
if [ "$sys_name_" = "Linux" ]; then
: "${SYS_NAME:=Linux}"
sys_name=$SYS_NAME
else
sys_name=$sys_name_
fi
LIB=sodium
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir $LIB
pushd $LIB
mkdir -p ../../downloads
pushd ../../downloads
wget -nc https://download.libsodium.org/libsodium/releases/libsodium-1.0.20-stable.tar.gz
popd
ln -s ../../downloads/libsodium*
tar xf *.tar.gz
ln -s */ libsodium
if [ "Android" == "$sys_name" ]; then
pushd libsodium
./dist-build/android-aar.sh
popd
fi
if [ "Darwin" == "$sys_name" ]; then
pushd libsodium
./dist-build/apple-xcframework.sh
popd
for name in "Release.iOS-arm64" "ReleaseLog.iOS-arm64" "Debug.iOS-arm64"; do
mkdir -p ../sdk/lib/$name
cp libsodium/libsodium-apple/tmp/ios64/lib/libsodium.a ../sdk/lib/$name
done
for name in "Release.iOS-simulate" "ReleaseLog.iOS-simulate" "Debug.iOS-simulate"; do
mkdir -p ../sdk/lib/$name
cp libsodium/libsodium-apple/tmp/ios-simulator-arm64/lib/libsodium.a ../sdk/lib/$name
done
for name in "Release.Darwin-arm64" "ReleaseLog.Darwin-arm64" "Debug.Darwin-arm64"; do
mkdir -p ../sdk/lib/$name
cp libsodium/libsodium-apple/tmp/macos-arm64/lib/libsodium.a ../sdk/lib/$name
done
mkdir -p ../sdk/include
pushd ../sdk/include
rm -f sodium
ln -s ../../$LIB/libsodium/libsodium-apple/tmp/macos-arm64/include sodium
popd
fi
if [ "Linux" == "$sys_name" ]; then
pushd libsodium
./configure --prefix="$(pwd)/libsodium-linux" --enable-shared=no --enable-fast-install=no
make install
popd
for name in "Release.Linux-x86_64" "ReleaseLog.Linux-x86_64" "Debug.Linux-x86_64"; do
mkdir -p ../sdk/lib/$name
cp libsodium/libsodium-linux/lib/libsodium.a ../sdk/lib/$name
done
mkdir -p ../sdk/include
pushd ../sdk/include
rm -f sodium
ln -s ../../$LIB/libsodium/libsodium-linux/include sodium
popd
fi
popd

View File

@@ -0,0 +1,46 @@
include $(MAKEDIR)/Makefile.base
PROJECTS :=
INCPATH :=
SRC_C := \
src/soxr.c \
src/data-io.c \
src/dbesi0.c \
src/filter.c \
src/fft4g64.c \
src/cr.c \
src/cr32.c \
src/fft4g32.c \
src/cr64.c \
src/vr32.c \
ifeq (x86_64,$(SYS_PLATFORM))
_FLAGS := $(FLAGS) -mavx
SRC += \
src/pffft32s.c \
src/cr32s.c \
src/util32s.c \
src/cr64s.c \
src/pffft64s.c \
src/util64s.c \
else
SRC += \
src/pffft32.c \
endif
LIBFILE := libsoxr.a
COPYTO := ../../sdk/lib
_FLAGS := $(_FLAGS) -DSOXR_LIB -fPIC
# -Dsoxr_EXPORTS
include $(MAKEDIR)/Makefile.lib

31
resources/packages/soxr/prepare Executable file
View File

@@ -0,0 +1,31 @@
set -x
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=soxr
mkdir $LIB
pushd $LIB
git clone --depth 1 https://github.com/chirlu/soxr.git --branch 0.1.3
cp -av $DIR/Makefile.project soxr/
cp -av $DIR/soxr-config.h soxr/src/soxr-config.h
pushd soxr
git apply $DIR/src_pffft-wrap.c.patch
popd
ln -s $DIR/../../Makefile-template soxr/Makefile
pushd soxr
make
popd
popd
pushd sdk/include
ln -fs ../../$LIB/soxr/src soxr
popd

View File

@@ -0,0 +1,37 @@
/* SoX Resampler Library Copyright (c) 2007-16 robs@users.sourceforge.net
* Licence for this file: LGPL v2.1 See LICENCE for details. */
#if !defined soxr_config_included
#define soxr_config_included
#define AVCODEC_FOUND 0
#define AVUTIL_FOUND 0
#define WITH_PFFFT 1
#define HAVE_FENV_H 1
#define HAVE_STDBOOL_H 1
#define HAVE_STDINT_H 1
#define HAVE_LRINT 1
#define HAVE_BIGENDIAN 0
#if defined(SYS_ARM64)
#define WITH_CR32S 0
#define WITH_CR64S 0
#define WITH_CR32 1
#define WITH_CR64 1
#define WITH_VR32 1
#else
#define WITH_CR32S 1
#define WITH_CR64S 1
#define WITH_CR32 0
#define WITH_CR64 0
#define WITH_VR32 0
#endif
#define WITH_HI_PREC_CLOCK 1
#define WITH_FLOAT_STD_PREC_CLOCK 0
#define WITH_DEV_TRACE 0
#endif

View File

@@ -0,0 +1,27 @@
diff --git a/src/pffft-wrap.c b/src/pffft-wrap.c
index c920f06..f75aae0 100644
--- a/src/pffft-wrap.c
+++ b/src/pffft-wrap.c
@@ -5,6 +5,8 @@
#include "math-wrap.h"
+#if !defined PFFFT_SIMD_DISABLE
+
#if PFFFT_DOUBLE
#include "util64s.h"
#else
@@ -13,10 +15,13 @@
#define cos(x) cosf(x)
#endif
+#endif
+
#define pffft_aligned_free SIMD_ALIGNED_FREE
#define pffft_aligned_malloc SIMD_ALIGNED_MALLOC
#define pffft_aligned_calloc SIMD_ALIGNED_CALLOC
+
#undef inline
#define inline __inline

View File

@@ -0,0 +1,13 @@
include $(MAKEDIR)/Makefile.base
PROJECTS := libspeex
INCPATH := -I include -I libspeex
LIBFILE := libspeex.a
COPYTO := ../../sdk/lib
_FLAGS := $(_FLAGS) -DHAVE_CONFIG_H
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,20 @@
//
// config.h
// Speex
//
// Created by Timothy Prepscius on 3/15/15.
// Copyright (c) 2015 Timothy Prepscius. All rights reserved.
//
#ifndef Speex_config_h
#define Speex_config_h
#define EXPORT
#define USE_SMALLFT
#define HAVE_GETOPT_H
#define HAVE_GETOPT_LONG
//#define FIXED_POINT
#define FLOATING_POINT
#endif

View File

@@ -0,0 +1,28 @@
set -x
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=speex
mkdir $LIB
pushd $LIB
git clone --depth 1 https://gitlab.xiph.org/xiph/speex.git --branch Speex-1.2.1
cp -av $DIR/Makefile.* $LIB/
cp -av $DIR/config.h speex/include/
cp -av $DIR/speex_config_types.h speex/include/speex/speex_config_types.h
ln -s $DIR/../../Makefile-template speex/Makefile
pushd speex
make
popd
popd
pushd sdk/include
ln -fs ../../speex/speex/include/speex speex
popd

View File

@@ -0,0 +1,7 @@
#include <stdint.h>
#include <sys/types.h>
typedef int16_t spx_int16_t;
typedef u_int16_t spx_uint16_t;
typedef int32_t spx_int32_t;
typedef u_int32_t spx_uint32_t;

View File

@@ -0,0 +1,15 @@
include $(MAKEDIR)/Makefile.base
PROJECTS := libspeexdsp
INCPATH := -I include -I libspeex
LIBFILE := libspeexdsp.a
FILTER_OUT_M := %
COPYTO := ../../sdk/lib
_FLAGS := $(_FLAGS) -DHAVE_CONFIG_H
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,20 @@
//
// config.h
// Speex
//
// Created by Timothy Prepscius on 3/15/15.
// Copyright (c) 2015 Timothy Prepscius. All rights reserved.
//
#ifndef Speex_config_h
#define Speex_config_h
#define EXPORT
#define USE_SMALLFT
#define HAVE_GETOPT_H
#define HAVE_GETOPT_LONG
//#define FIXED_POINT
#define FLOATING_POINT
#endif

View File

@@ -0,0 +1,28 @@
set -x
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=speexdsp
mkdir $LIB
pushd $LIB
git clone --depth 1 https://gitlab.xiph.org/xiph/speexdsp.git --branch SpeexDSP-1.2.1
cp -av $DIR/Makefile.* $LIB/
cp -av $DIR/config.h $LIB/include/
cp -av $DIR/speexdsp_config_types.h speexdsp/include/speex/speexdsp_config_types.h
mv $LIB/Makefile $LIB/Makefile.no
ln -s $DIR/../../Makefile-template $LIB/Makefile
pushd speexdsp
make
popd
popd
pushd sdk/include
ln -fs ../../speexdsp/speexdsp/include/speex speexdsp
popd

View File

@@ -0,0 +1,7 @@
#include <stdint.h>
#include <sys/types.h>
typedef int16_t spx_int16_t;
typedef u_int16_t spx_uint16_t;
typedef int32_t spx_int32_t;
typedef u_int32_t spx_uint32_t;

15
resources/packages/stb/prepare Executable file
View File

@@ -0,0 +1,15 @@
mkdir -p sdk/include
mkdir stb
pushd stb
git clone --depth 1 https://github.com/nothings/stb.git
popd
mkdir -p sdk/include
pushd sdk/include
ln -fs ../../stb/stb
popd

View File

@@ -0,0 +1,15 @@
set -x
mkdir -p sdk/include
LIB=tinygltf
mkdir $LIB
pushd $LIB
git clone --depth 1 https://github.com/syoyo/tinygltf --branch v2.9.5
popd
pushd sdk/include
ln -fs ../../$LIB/tinygltf
popd

View File

@@ -0,0 +1,14 @@
include $(MAKEDIR)/Makefile.base
PROJECTS := .
INCPATH := -I include
LIBFILE := libtommath.a
COPYTO := ../../sdk/lib
_FLAGS := $(_FLAGS)
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,28 @@
set -x
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=tommath
mkdir $LIB
pushd $LIB
git clone --depth 1 https://github.com/libtom/libtommath.git
#--branch v1.2.0
cp -av $DIR/Makefile.project libtommath/
mv libtommath/makefile libtommath/makefile-no
ln -s $DIR/../../Makefile-template libtommath/Makefile
pushd libtommath
make
popd
popd
pushd sdk/include
ln -fs ../../tommath/libtommath tommath
cp $DIR/tommath.h .
popd

View File

@@ -0,0 +1 @@
#include "tommath/tommath.h"

View File

@@ -0,0 +1,16 @@
mkdir -p sdk/include
mkdir utfcpp
pushd utfcpp
git clone --depth 1 https://github.com/nemtrif/utfcpp.git --branch v3.2.3
popd
mkdir -p sdk/include
pushd sdk/include
ln -fs ../../utfcpp/utfcpp/source utfcpp
popd

View File

@@ -0,0 +1,16 @@
mkdir -p sdk/include
mkdir vookoo
pushd vookoo
#git clone https://github.com/andy-thomason/Vookoo.git
git clone https://github.com/timprepscius/Vookoo.git
popd
pushd sdk/include
ln -fs ../../vookoo/Vookoo/include/vku
popd

View File

@@ -0,0 +1,99 @@
set -x
sys_name_=`uname -s`
if [ "Linux" == "$sys_name_" ]; then
SYS_NAME=${SYS_NAME:=-sys_name_}
sys_name=$SYS_NAME
else
sys_name=$sys_name_
fi
if [ -d "vulkan" ]; then
exit 0
fi
mkdir vulkan
pushd vulkan
UNAME_S=`uname -s`
UNAME_M=`uname -m`
EXT=${UNAME_S}-${UNAME_M}
mkdir -p ../sdk/include
if [ "Android" == "$sys_name" ]; then
git clone --branch v1.3.275 https://github.com/KhronosGroup/Vulkan-Headers
pushd ../sdk/include
ln -s /opt/android-sdk/ndk/latest/sources/third_party/vulkan/src/include/vulkan vulkan-h
ln -s ../../vulkan/Vulkan-Headers/include/vulkan vulkan-hpp
mkdir vulkan
pushd vulkan
ln -s ../vulkan-h/*.h .
ln -s ../vulkan-hpp/*.hpp .
popd
popd
else
pushd ../sdk/include
ln -fs ../../vulkan/MoltenVK/Package/Release/MoltenVK/include/vulkan
popd
mkdir -p ../sdk/lib
pushd ../sdk/lib
for X in Debug.iOS-simulate Release.iOS-simulate
do
mkdir -p $X
pushd $X
ln -fs ../../../vulkan/MoltenVK/Package/Release/MoltenVK/static/MoltenVK.xcframework/ios-arm64_x86_64-simulator/libMoltenVK.a
popd
done
for X in Debug.iOS-arm64 Release.iOS-arm64
do
mkdir -p $X
pushd $X
ln -fs ../../../vulkan/MoltenVK/Package/Release/MoltenVK/static/MoltenVK.xcframework/ios-arm64/libMoltenVK.a
popd
done
for X in Debug.$EXT Release.$EXT
do
mkdir -p $X
pushd $X
ln -fs ../../../vulkan/MoltenVK/Package/Release/MoltenVK/static/MoltenVK.xcframework/macos-arm64_x86_64/libMoltenVK.a
popd
done
popd
VERSION=v1.2.9
#no work
git clone --depth 1 --branch $VERSION https://github.com/KhronosGroup/MoltenVK.git
pushd MoltenVK
#./fetchDependencies --all
./fetchDependencies --macos --ios --iossim
# for some reason this causes a terminate, why? dunno
# make all
make macos
make ios
make iossim
pushd Package/Release/MoltenVK/include/vulkan
ln -s ../vk_video
popd
popd
fi
popd

View File

@@ -0,0 +1,238 @@
include $(MAKEDIR)/Makefile.base
PROJECTS := common_audio
INCPATH := \
-I . \
-I webrtc \
-I webrtc/common_audio/signal_processing/include \
-I webrtc/modules/audio_coding/codecs/isac/main/include
SRC_SSE := \
webrtc/common_audio/fir_filter_sse.cc \
webrtc/common_audio/resampler/sinc_resampler_sse.cc \
webrtc/modules/audio_processing/aec/aec_core_sse2.cc \
webrtc/modules/audio_processing/aec/aec_rdft_sse2.cc \
SRC_NEON := \
webrtc/common_audio/fir_filter_neon.cc \
webrtc/common_audio/resampler/sinc_resampler_neon.cc \
webrtc/modules/audio_processing/aec/aec_core_neon.cc \
webrtc/modules/audio_processing/aec/aec_rdft_neon.cc \
SRC_ARM64 := \
# webrtc/common_audio/fir_filter.cc \
# webrtc/common_audio/resampler/sinc_resampler.cc \
# webrtc/modules/audio_processing/aec/aec_core.cc \
# webrtc/modules/audio_processing/aec/aec_rdft.cc \
SRC := \
webrtc/base/buffer.cc \
webrtc/base/checks.cc \
webrtc/base/criticalsection.cc \
webrtc/base/event.cc \
webrtc/base/event_tracer.cc \
webrtc/base/logging.cc \
webrtc/base/platform_file.cc \
webrtc/base/platform_thread.cc \
webrtc/base/stringencode.cc \
webrtc/base/thread_checker_impl.cc \
webrtc/base/timeutils.cc \
webrtc/common_audio/audio_converter.cc \
webrtc/common_audio/audio_ring_buffer.cc \
webrtc/common_audio/audio_util.cc \
webrtc/common_audio/blocker.cc \
webrtc/common_audio/channel_buffer.cc \
webrtc/common_audio/fft4g.c \
webrtc/common_audio/fir_filter.cc \
webrtc/common_audio/lapped_transform.cc \
webrtc/common_audio/real_fourier.cc \
webrtc/common_audio/real_fourier_ooura.cc \
webrtc/common_audio/resampler/push_resampler.cc \
webrtc/common_audio/resampler/push_sinc_resampler.cc \
webrtc/common_audio/resampler/resampler.cc \
webrtc/common_audio/resampler/sinc_resampler.cc \
webrtc/common_audio/resampler/sinusoidal_linear_chirp_source.cc \
webrtc/common_audio/ring_buffer.c \
webrtc/common_audio/signal_processing/auto_correlation.c \
webrtc/common_audio/signal_processing/auto_corr_to_refl_coef.c \
webrtc/common_audio/signal_processing/complex_bit_reverse.c \
webrtc/common_audio/signal_processing/complex_fft.c \
webrtc/common_audio/signal_processing/copy_set_operations.c \
webrtc/common_audio/signal_processing/cross_correlation.c \
webrtc/common_audio/signal_processing/division_operations.c \
webrtc/common_audio/signal_processing/dot_product_with_scale.c \
webrtc/common_audio/signal_processing/downsample_fast.c \
webrtc/common_audio/signal_processing/energy.c \
webrtc/common_audio/signal_processing/filter_ar.c \
webrtc/common_audio/signal_processing/filter_ar_fast_q12.c \
webrtc/common_audio/signal_processing/filter_ma_fast_q12.c \
webrtc/common_audio/signal_processing/get_hanning_window.c \
webrtc/common_audio/signal_processing/get_scaling_square.c \
webrtc/common_audio/signal_processing/ilbc_specific_functions.c \
webrtc/common_audio/signal_processing/levinson_durbin.c \
webrtc/common_audio/signal_processing/lpc_to_refl_coef.c \
webrtc/common_audio/signal_processing/min_max_operations.c \
webrtc/common_audio/signal_processing/randomization_functions.c \
webrtc/common_audio/signal_processing/real_fft.c \
webrtc/common_audio/signal_processing/refl_coef_to_lpc.c \
webrtc/common_audio/signal_processing/resample_48khz.c \
webrtc/common_audio/signal_processing/resample_by_2.c \
webrtc/common_audio/signal_processing/resample_by_2_internal.c \
webrtc/common_audio/signal_processing/resample.c \
webrtc/common_audio/signal_processing/resample_fractional.c \
webrtc/common_audio/signal_processing/spl_init.c \
webrtc/common_audio/signal_processing/splitting_filter.c \
webrtc/common_audio/signal_processing/spl_sqrt.c \
webrtc/common_audio/signal_processing/spl_sqrt_floor.c \
webrtc/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c \
webrtc/common_audio/signal_processing/vector_scaling_operations.c \
webrtc/common_audio/sparse_fir_filter.cc \
webrtc/common_audio/vad/vad_core.c \
webrtc/common_audio/vad/vad_filterbank.c \
webrtc/common_audio/vad/vad_gmm.c \
webrtc/common_audio/vad/vad_sp.c \
webrtc/common_audio/vad/webrtc_vad.c \
webrtc/common_audio/wav_file.cc \
webrtc/common_audio/wav_header.cc \
webrtc/common_audio/window_generator.cc \
webrtc/common_types.cc \
webrtc/modules/audio_coding/codecs/audio_decoder.cc \
webrtc/modules/audio_coding/codecs/audio_encoder.cc \
webrtc/modules/audio_coding/codecs/isac/locked_bandwidth_info.cc \
webrtc/modules/audio_coding/codecs/isac/main/source/arith_routines.c \
webrtc/modules/audio_coding/codecs/isac/main/source/arith_routines_hist.c \
webrtc/modules/audio_coding/codecs/isac/main/source/arith_routines_logist.c \
webrtc/modules/audio_coding/codecs/isac/main/source/audio_decoder_isac.cc \
webrtc/modules/audio_coding/codecs/isac/main/source/audio_encoder_isac.cc \
webrtc/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.c \
webrtc/modules/audio_coding/codecs/isac/main/source/crc.c \
webrtc/modules/audio_coding/codecs/isac/main/source/decode_bwe.c \
webrtc/modules/audio_coding/codecs/isac/main/source/decode.c \
webrtc/modules/audio_coding/codecs/isac/main/source/encode.c \
webrtc/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.c \
webrtc/modules/audio_coding/codecs/isac/main/source/entropy_coding.c \
webrtc/modules/audio_coding/codecs/isac/main/source/fft.c \
webrtc/modules/audio_coding/codecs/isac/main/source/filterbanks.c \
webrtc/modules/audio_coding/codecs/isac/main/source/filterbank_tables.c \
webrtc/modules/audio_coding/codecs/isac/main/source/filter_functions.c \
webrtc/modules/audio_coding/codecs/isac/main/source/intialize.c \
webrtc/modules/audio_coding/codecs/isac/main/source/isac.c \
webrtc/modules/audio_coding/codecs/isac/main/source/lattice.c \
webrtc/modules/audio_coding/codecs/isac/main/source/lpc_analysis.c \
webrtc/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.c \
webrtc/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.c \
webrtc/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.c \
webrtc/modules/audio_coding/codecs/isac/main/source/lpc_tables.c \
webrtc/modules/audio_coding/codecs/isac/main/source/pitch_estimator.c \
webrtc/modules/audio_coding/codecs/isac/main/source/pitch_filter.c \
webrtc/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.c \
webrtc/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.c \
webrtc/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.c \
webrtc/modules/audio_coding/codecs/isac/main/source/transform.c \
webrtc/modules/audio_processing/aec/aec_core.cc \
webrtc/modules/audio_processing/aec/aec_rdft.cc \
webrtc/modules/audio_processing/aec/aec_resampler.cc \
webrtc/modules/audio_processing/aec/echo_cancellation.cc \
webrtc/modules/audio_processing/aecm/aecm_core.cc \
webrtc/modules/audio_processing/aecm/aecm_core_c.cc \
webrtc/modules/audio_processing/aecm/echo_control_mobile.cc \
webrtc/modules/audio_processing/agc/agc.cc \
webrtc/modules/audio_processing/agc/agc_manager_direct.cc \
webrtc/modules/audio_processing/agc/histogram.cc \
webrtc/modules/audio_processing/agc/legacy/analog_agc.c \
webrtc/modules/audio_processing/agc/legacy/digital_agc.c \
webrtc/modules/audio_processing/agc/utility.cc \
webrtc/modules/audio_processing/audio_buffer.cc \
webrtc/modules/audio_processing/audio_processing_impl.cc \
webrtc/modules/audio_processing/beamformer/array_util.cc \
webrtc/modules/audio_processing/beamformer/covariance_matrix_generator.cc \
webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc \
webrtc/modules/audio_processing/echo_cancellation_impl.cc \
webrtc/modules/audio_processing/echo_control_mobile_impl.cc \
webrtc/modules/audio_processing/gain_control_for_experimental_agc.cc \
webrtc/modules/audio_processing/gain_control_impl.cc \
webrtc/modules/audio_processing/high_pass_filter_impl.cc \
webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.cc \
webrtc/modules/audio_processing/intelligibility/intelligibility_utils.cc \
webrtc/modules/audio_processing/level_estimator_impl.cc \
webrtc/modules/audio_processing/logging/aec_logging_file_handling.cc \
webrtc/modules/audio_processing/noise_suppression_impl.cc \
webrtc/modules/audio_processing/ns/noise_suppression.c \
webrtc/modules/audio_processing/ns/ns_core.c \
webrtc/modules/audio_processing/rms_level.cc \
webrtc/modules/audio_processing/splitting_filter.cc \
webrtc/modules/audio_processing/three_band_filter_bank.cc \
webrtc/modules/audio_processing/transient/file_utils.cc \
webrtc/modules/audio_processing/transient/moving_moments.cc \
webrtc/modules/audio_processing/transient/transient_detector.cc \
webrtc/modules/audio_processing/transient/transient_suppressor.cc \
webrtc/modules/audio_processing/transient/wpd_node.cc \
webrtc/modules/audio_processing/transient/wpd_tree.cc \
webrtc/modules/audio_processing/typing_detection.cc \
webrtc/modules/audio_processing/utility/block_mean_calculator.cc \
webrtc/modules/audio_processing/utility/delay_estimator.cc \
webrtc/modules/audio_processing/utility/delay_estimator_wrapper.cc \
webrtc/modules/audio_processing/vad/gmm.cc \
webrtc/modules/audio_processing/vad/pitch_based_vad.cc \
webrtc/modules/audio_processing/vad/pitch_internal.cc \
webrtc/modules/audio_processing/vad/pole_zero_filter.cc \
webrtc/modules/audio_processing/vad/standalone_vad.cc \
webrtc/modules/audio_processing/vad/vad_audio_proc.cc \
webrtc/modules/audio_processing/vad/vad_circular_buffer.cc \
webrtc/modules/audio_processing/vad/voice_activity_detector.cc \
webrtc/modules/audio_processing/voice_detection_impl.cc \
webrtc/system_wrappers/source/aligned_malloc.cc \
webrtc/system_wrappers/source/cpu_features.cc \
webrtc/system_wrappers/source/file_impl.cc \
webrtc/system_wrappers/source/logging.cc \
webrtc/system_wrappers/source/metrics_default.cc \
webrtc/system_wrappers/source/rw_lock.cc \
webrtc/system_wrappers/source/rw_lock_posix.cc \
webrtc/system_wrappers/source/trace_impl.cc \
webrtc/system_wrappers/source/trace_posix.cc \
LIBFILE := libwebrtc.a
COPYTO := ../../sdk/lib
ifeq (Darwin,$(SYS_NAME))
_FLAGS := $(_FLAGS) -DWEBRTC_POSIX -DWEBRTC_NS_FLOAT -DWEBRTC_MAC
endif
ifeq (Linux,$(SYS_NAME))
_FLAGS := $(_FLAGS) -DWEBRTC_LINUX -DWEBRTC_NS_FLOAT
SRC += $(SRC_SSE)
endif
ifeq (Android,$(SYS_NAME))
_FLAGS := $(_FLAGS) -DWEBRTC_LINUX -DWEBRTC_POSIX -DWEBRTC_NS_FLOAT
SRC += $(SRC_ARM64)
endif
ifeq (iOS,$(SYS_NAME))
ifeq (sim,$(SYS_PLATFORM))
_FLAGS := $(_FLAGS) -DWEBRTC_POSIX -DWEBRTC_NS_FLOAT -DWEBRTC_MAC
else
_FLAGS := $(_FLAGS) -DWEBRTC_POSIX -DWEBRTC_NS_FLOAT -DWEBRTC_IOS
endif
endif
ifeq (arm64,$(SYS_PLATFORM))
SRC += $(SRC_ARM64)
endif
ifeq (x86_64,$(SYS_PLATFORM))
SRC += $(SRC_SSE)
endif
ifeq (sim,$(SYS_PLATFORM))
SRC += $(SRC_SSE)
endif
#_FLAGS += -D'GetMacOSStatusErrorString(x)=0'
#-DWEBRTC_UNTRUSTED_DELAY
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,32 @@
set -x
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=webrtc
mkdir $LIB
pushd $LIB
git clone https://webrtc.googlesource.com/src webrtc
(cd webrtc && git checkout cd5c25cb80)
cp -av $DIR/Makefile.project webrtc/
mv webrtc/makefile webrtc/makefile-no
ln -s $DIR/../../Makefile-template webrtc/Makefile
sed -i -e 's/GetMacOSStatusErrorString(err)/(const char *)0/g' webrtc/webrtc/base/logging.cc
sed -i -e 's/GetMacOSStatusCommentString(err)/(const char *)0/g' webrtc/webrtc/base/logging.cc
pushd webrtc
make
popd
popd
pushd sdk/include
rm -f webrtc
ln -fs ../../$LIB/webrtc/webrtc webrtc
popd

View File

@@ -0,0 +1,16 @@
mkdir -p sdk/include
LIB=websocketpp
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p $LIB
pushd $LIB
git clone --depth 1 https://github.com/zaphoyd/websocketpp --branch=0.8.2
popd
pushd sdk/include
ln -s ../../$LIB/websocketpp/websocketpp
popd

View File

@@ -0,0 +1,17 @@
include $(MAKEDIR)/Makefile.base
INCPATH := -I minizip -I zlib
# zlib1g-dev must be installed, not sure why I resorted to that
# maybe some problems
#-I ../zlib
LIBFILE := libminizip.a
SRC_C := minizip/ioapi.c minizip/mztools.c minizip/unzip.c minizip/zip.c
COPYTO := ../../sdk/lib
_FLAGS := $(_FLAGS) -Dz_crc_t="long"
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,11 @@
include $(MAKEDIR)/Makefile.base
LIBFILE := libz_.a
SRC_C := adler32.c compress.c crc32.c deflate.c gzclose.c gzlib.c gzread.c gzwrite.c infback.c inffast.c inflate.c inftrees.c trees.c uncompr.c zutil.c
COPYTO := ../../sdk/lib
_FLAGS := $(_FLAGS) -Dz_crc_t="long"
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,4 @@
23a24,26
> #undef OF
> #define OF(x) x
>

52
resources/packages/zip/prepare Executable file
View File

@@ -0,0 +1,52 @@
set -ex
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
mkdir zip
pushd zip
# wget -N http://www.zlib.net/zlib-1.2.13.tar.gz
git clone --depth 1 https://github.com/madler/zlib --branch=v1.3.1
# wget -N http://www.zlib.net/zlib-1.3.1.tar.xz
# tar xf zlib-*.tar.*
# ln -s zlib-*/ zlib
LIB=minizip
pushd zlib
ln -fs $DIR/../../Makefile-template Makefile
cp $DIR/ZLib-Makefile.project Makefile.project
if [[ $SYS_NAME == 'Android' ]]; then
cp $DIR/zconf-android.h zconf.h
else
cp $DIR/zconf.h zconf.h
fi
make
popd
mkdir minizip
pushd minizip
ln -s ../zlib/contrib/minizip minizip
ln -fs $DIR/../../Makefile-template Makefile
cp $DIR/Minizip-Makefile.project Makefile.project
patch minizip/ioapi.h < $DIR/of-error.diff
cp $DIR/zlib.h minizip/
make
popd
popd
pushd sdk/include
ln -fs ../../zip/minizip/minizip
ln -fs ../../zip/zlib
popd

View File

@@ -0,0 +1,551 @@
/* zconf.h -- configuration of the zlib compression library
* Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* @(#) $Id$ */
#ifndef ZCONF_H
#define ZCONF_H
/*
* If you *really* need a unique prefix for all types and library functions,
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
* Even better than compiling with -DZ_PREFIX would be to use configure to set
* this permanently in zconf.h using "./configure --zprefix".
*/
#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
# define Z_PREFIX_SET
/* all linked symbols and init macros */
# define _dist_code z__dist_code
# define _length_code z__length_code
# define _tr_align z__tr_align
# define _tr_flush_bits z__tr_flush_bits
# define _tr_flush_block z__tr_flush_block
# define _tr_init z__tr_init
# define _tr_stored_block z__tr_stored_block
# define _tr_tally z__tr_tally
# define adler32 z_adler32
# define adler32_combine z_adler32_combine
# define adler32_combine64 z_adler32_combine64
# define adler32_z z_adler32_z
# ifndef Z_SOLO
# define compress z_compress
# define compress2 z_compress2
# define compressBound z_compressBound
# endif
# define crc32 z_crc32
# define crc32_combine z_crc32_combine
# define crc32_combine64 z_crc32_combine64
# define crc32_combine_gen z_crc32_combine_gen
# define crc32_combine_gen64 z_crc32_combine_gen64
# define crc32_combine_op z_crc32_combine_op
# define crc32_z z_crc32_z
# define deflate z_deflate
# define deflateBound z_deflateBound
# define deflateCopy z_deflateCopy
# define deflateEnd z_deflateEnd
# define deflateGetDictionary z_deflateGetDictionary
# define deflateInit z_deflateInit
# define deflateInit2 z_deflateInit2
# define deflateInit2_ z_deflateInit2_
# define deflateInit_ z_deflateInit_
# define deflateParams z_deflateParams
# define deflatePending z_deflatePending
# define deflatePrime z_deflatePrime
# define deflateReset z_deflateReset
# define deflateResetKeep z_deflateResetKeep
# define deflateSetDictionary z_deflateSetDictionary
# define deflateSetHeader z_deflateSetHeader
# define deflateTune z_deflateTune
# define deflate_copyright z_deflate_copyright
# define get_crc_table z_get_crc_table
# ifndef Z_SOLO
# define gz_error z_gz_error
# define gz_intmax z_gz_intmax
# define gz_strwinerror z_gz_strwinerror
# define gzbuffer z_gzbuffer
# define gzclearerr z_gzclearerr
# define gzclose z_gzclose
# define gzclose_r z_gzclose_r
# define gzclose_w z_gzclose_w
# define gzdirect z_gzdirect
# define gzdopen z_gzdopen
# define gzeof z_gzeof
# define gzerror z_gzerror
# define gzflush z_gzflush
# define gzfread z_gzfread
# define gzfwrite z_gzfwrite
# define gzgetc z_gzgetc
# define gzgetc_ z_gzgetc_
# define gzgets z_gzgets
# define gzoffset z_gzoffset
# define gzoffset64 z_gzoffset64
# define gzopen z_gzopen
# define gzopen64 z_gzopen64
# ifdef _WIN32
# define gzopen_w z_gzopen_w
# endif
# define gzprintf z_gzprintf
# define gzputc z_gzputc
# define gzputs z_gzputs
# define gzread z_gzread
# define gzrewind z_gzrewind
# define gzseek z_gzseek
# define gzseek64 z_gzseek64
# define gzsetparams z_gzsetparams
# define gztell z_gztell
# define gztell64 z_gztell64
# define gzungetc z_gzungetc
# define gzvprintf z_gzvprintf
# define gzwrite z_gzwrite
# endif
# define inflate z_inflate
# define inflateBack z_inflateBack
# define inflateBackEnd z_inflateBackEnd
# define inflateBackInit z_inflateBackInit
# define inflateBackInit_ z_inflateBackInit_
# define inflateCodesUsed z_inflateCodesUsed
# define inflateCopy z_inflateCopy
# define inflateEnd z_inflateEnd
# define inflateGetDictionary z_inflateGetDictionary
# define inflateGetHeader z_inflateGetHeader
# define inflateInit z_inflateInit
# define inflateInit2 z_inflateInit2
# define inflateInit2_ z_inflateInit2_
# define inflateInit_ z_inflateInit_
# define inflateMark z_inflateMark
# define inflatePrime z_inflatePrime
# define inflateReset z_inflateReset
# define inflateReset2 z_inflateReset2
# define inflateResetKeep z_inflateResetKeep
# define inflateSetDictionary z_inflateSetDictionary
# define inflateSync z_inflateSync
# define inflateSyncPoint z_inflateSyncPoint
# define inflateUndermine z_inflateUndermine
# define inflateValidate z_inflateValidate
# define inflate_copyright z_inflate_copyright
# define inflate_fast z_inflate_fast
# define inflate_table z_inflate_table
# ifndef Z_SOLO
# define uncompress z_uncompress
# define uncompress2 z_uncompress2
# endif
# define zError z_zError
# ifndef Z_SOLO
# define zcalloc z_zcalloc
# define zcfree z_zcfree
# endif
# define zlibCompileFlags z_zlibCompileFlags
# define zlibVersion z_zlibVersion
/* all zlib typedefs in zlib.h and zconf.h */
# define Byte z_Byte
# define Bytef z_Bytef
# define alloc_func z_alloc_func
# define charf z_charf
# define free_func z_free_func
# ifndef Z_SOLO
# define gzFile z_gzFile
# endif
# define gz_header z_gz_header
# define gz_headerp z_gz_headerp
# define in_func z_in_func
# define intf z_intf
# define out_func z_out_func
# define uInt z_uInt
# define uIntf z_uIntf
# define uLong z_uLong
# define uLongf z_uLongf
# define voidp z_voidp
# define voidpc z_voidpc
# define voidpf z_voidpf
/* all zlib structs in zlib.h and zconf.h */
# define gz_header_s z_gz_header_s
# define internal_state z_internal_state
#endif
#if defined(__MSDOS__) && !defined(MSDOS)
# define MSDOS
#endif
#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
# define OS2
#endif
#if defined(_WINDOWS) && !defined(WINDOWS)
# define WINDOWS
#endif
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
# ifndef WIN32
# define WIN32
# endif
#endif
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
# ifndef SYS16BIT
# define SYS16BIT
# endif
# endif
#endif
/*
* Compile with -DMAXSEG_64K if the alloc function cannot allocate more
* than 64k bytes at a time (needed on systems with 16-bit int).
*/
#ifdef SYS16BIT
# define MAXSEG_64K
#endif
#ifdef MSDOS
# define UNALIGNED_OK
#endif
#ifdef __STDC_VERSION__
# ifndef STDC
# define STDC
# endif
# if __STDC_VERSION__ >= 199901L
# ifndef STDC99
# define STDC99
# endif
# endif
#endif
#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
# define STDC
#endif
#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
# define STDC
#endif
#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
# define STDC
#endif
#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
# define STDC
#endif
#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
# define STDC
#endif
#ifndef STDC
# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
# define const /* note: need a more gentle solution here */
# endif
#endif
#if defined(ZLIB_CONST) && !defined(z_const)
# define z_const const
#else
# define z_const
#endif
#ifdef Z_SOLO
# ifdef _WIN64
typedef unsigned long long z_size_t;
# else
typedef unsigned long z_size_t;
# endif
#else
# define z_longlong long long
# if defined(NO_SIZE_T)
typedef unsigned NO_SIZE_T z_size_t;
# elif defined(STDC)
# include <stddef.h>
typedef size_t z_size_t;
# else
typedef unsigned long z_size_t;
# endif
# undef z_longlong
#endif
/* Maximum value for memLevel in deflateInit2 */
#ifndef MAX_MEM_LEVEL
# ifdef MAXSEG_64K
# define MAX_MEM_LEVEL 8
# else
# define MAX_MEM_LEVEL 9
# endif
#endif
/* Maximum value for windowBits in deflateInit2 and inflateInit2.
* WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
* created by gzip. (Files created by minigzip can still be extracted by
* gzip.)
*/
#ifndef MAX_WBITS
# define MAX_WBITS 15 /* 32K LZ77 window */
#endif
/* The memory requirements for deflate are (in bytes):
(1 << (windowBits+2)) + (1 << (memLevel+9))
that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
plus a few kilobytes for small objects. For example, if you want to reduce
the default memory requirements from 256K to 128K, compile with
make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
Of course this will generally degrade compression (there's no free lunch).
The memory requirements for inflate are (in bytes) 1 << windowBits
that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
for small objects.
*/
/* Type declarations */
#ifndef OF /* function prototypes */
# ifdef STDC
# define OF(args) args
# else
# define OF(args) ()
# endif
#endif
#ifndef Z_ARG /* function prototypes for stdarg */
# if defined(STDC) || defined(Z_HAVE_STDARG_H)
# define Z_ARG(args) args
# else
# define Z_ARG(args) ()
# endif
#endif
/* The following definitions for FAR are needed only for MSDOS mixed
* model programming (small or medium model with some far allocations).
* This was tested only with MSC; for other MSDOS compilers you may have
* to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
* just define FAR to be empty.
*/
#ifdef SYS16BIT
# if defined(M_I86SM) || defined(M_I86MM)
/* MSC small or medium model */
# define SMALL_MEDIUM
# ifdef _MSC_VER
# define FAR _far
# else
# define FAR far
# endif
# endif
# if (defined(__SMALL__) || defined(__MEDIUM__))
/* Turbo C small or medium model */
# define SMALL_MEDIUM
# ifdef __BORLANDC__
# define FAR _far
# else
# define FAR far
# endif
# endif
#endif
#if defined(WINDOWS) || defined(WIN32)
/* If building or using zlib as a DLL, define ZLIB_DLL.
* This is not mandatory, but it offers a little performance increase.
*/
# ifdef ZLIB_DLL
# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
# ifdef ZLIB_INTERNAL
# define ZEXTERN extern __declspec(dllexport)
# else
# define ZEXTERN extern __declspec(dllimport)
# endif
# endif
# endif /* ZLIB_DLL */
/* If building or using zlib with the WINAPI/WINAPIV calling convention,
* define ZLIB_WINAPI.
* Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
*/
# ifdef ZLIB_WINAPI
# ifdef FAR
# undef FAR
# endif
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
/* No need for _export, use ZLIB.DEF instead. */
/* For complete Windows compatibility, use WINAPI, not __stdcall. */
# define ZEXPORT WINAPI
# ifdef WIN32
# define ZEXPORTVA WINAPIV
# else
# define ZEXPORTVA FAR CDECL
# endif
# endif
#endif
#if defined (__BEOS__)
# ifdef ZLIB_DLL
# ifdef ZLIB_INTERNAL
# define ZEXPORT __declspec(dllexport)
# define ZEXPORTVA __declspec(dllexport)
# else
# define ZEXPORT __declspec(dllimport)
# define ZEXPORTVA __declspec(dllimport)
# endif
# endif
#endif
#ifndef ZEXTERN
# define ZEXTERN extern
#endif
#ifndef ZEXPORT
# define ZEXPORT
#endif
#ifndef ZEXPORTVA
# define ZEXPORTVA
#endif
#ifndef FAR
# define FAR
#endif
#if !defined(__MACTYPES__)
typedef unsigned char Byte; /* 8 bits */
#endif
typedef unsigned int uInt; /* 16 bits or more */
typedef unsigned long uLong; /* 32 bits or more */
#ifdef SMALL_MEDIUM
/* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
# define Bytef Byte FAR
#else
typedef Byte FAR Bytef;
#endif
typedef char FAR charf;
typedef int FAR intf;
typedef uInt FAR uIntf;
typedef uLong FAR uLongf;
#ifdef STDC
typedef void const *voidpc;
typedef void FAR *voidpf;
typedef void *voidp;
#else
typedef Byte const *voidpc;
typedef Byte FAR *voidpf;
typedef Byte *voidp;
#endif
#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
# include <limits.h>
# if (UINT_MAX == 0xffffffffUL)
# define Z_U4 unsigned
# elif (ULONG_MAX == 0xffffffffUL)
# define Z_U4 unsigned long
# elif (USHRT_MAX == 0xffffffffUL)
# define Z_U4 unsigned short
# endif
#endif
#ifdef Z_U4
typedef Z_U4 z_crc_t;
#else
typedef unsigned long z_crc_t;
#endif
#if 1 /* was set to #if 1 by ./configure */
# define Z_HAVE_UNISTD_H
#endif
#if 1 /* was set to #if 1 by ./configure */
# define Z_HAVE_STDARG_H
#endif
#ifdef STDC
# ifndef Z_SOLO
# include <sys/types.h> /* for off_t */
# endif
#endif
#if defined(STDC) || defined(Z_HAVE_STDARG_H)
# ifndef Z_SOLO
# include <stdarg.h> /* for va_list */
# endif
#endif
#ifdef _WIN32
# ifndef Z_SOLO
# include <stddef.h> /* for wchar_t */
# endif
#endif
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
* though the former does not conform to the LFS document), but considering
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
* equivalently requesting no 64-bit operations
*/
#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
# undef _LARGEFILE64_SOURCE
#endif
#ifndef Z_HAVE_UNISTD_H
# ifdef __WATCOMC__
# define Z_HAVE_UNISTD_H
# endif
#endif
#ifndef Z_HAVE_UNISTD_H
# if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
# define Z_HAVE_UNISTD_H
# endif
#endif
#ifndef Z_SOLO
# if defined(Z_HAVE_UNISTD_H)
# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
# ifdef VMS
# include <unixio.h> /* for off_t */
# endif
# ifndef z_off_t
# define z_off_t off_t
# endif
# endif
#endif
#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
# define Z_LFS64
#endif
#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
# define Z_LARGE64
#endif
#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
# define Z_WANT64
#endif
#if !defined(SEEK_SET) && !defined(Z_SOLO)
# define SEEK_SET 0 /* Seek from beginning of file. */
# define SEEK_CUR 1 /* Seek from current position. */
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
#endif
#ifndef z_off_t
# define z_off_t long
#endif
#if !defined(_WIN32) && defined(Z_LARGE64)
# define z_off64_t off64_t
#else
# if defined(_WIN32) && !defined(__GNUC__)
# define z_off64_t __int64
# else
# define z_off64_t z_off_t
# endif
#endif
/* MVS linker does not support external names larger than 8 bytes */
#if defined(__MVS__)
#pragma map(deflateInit_,"DEIN")
#pragma map(deflateInit2_,"DEIN2")
#pragma map(deflateEnd,"DEEND")
#pragma map(deflateBound,"DEBND")
#pragma map(inflateInit_,"ININ")
#pragma map(inflateInit2_,"ININ2")
#pragma map(inflateEnd,"INEND")
#pragma map(inflateSync,"INSY")
#pragma map(inflateSetDictionary,"INSEDI")
#pragma map(compressBound,"CMBND")
#pragma map(inflate_table,"INTABL")
#pragma map(inflate_fast,"INFA")
#pragma map(inflate_copyright,"INCOPY")
#endif
#endif /* ZCONF_H */

View File

@@ -0,0 +1,551 @@
/* zconf.h -- configuration of the zlib compression library
* Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* @(#) $Id$ */
#ifndef ZCONF_H
#define ZCONF_H
/*
* If you *really* need a unique prefix for all types and library functions,
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
* Even better than compiling with -DZ_PREFIX would be to use configure to set
* this permanently in zconf.h using "./configure --zprefix".
*/
#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
# define Z_PREFIX_SET
/* all linked symbols and init macros */
# define _dist_code z__dist_code
# define _length_code z__length_code
# define _tr_align z__tr_align
# define _tr_flush_bits z__tr_flush_bits
# define _tr_flush_block z__tr_flush_block
# define _tr_init z__tr_init
# define _tr_stored_block z__tr_stored_block
# define _tr_tally z__tr_tally
# define adler32 z_adler32
# define adler32_combine z_adler32_combine
# define adler32_combine64 z_adler32_combine64
# define adler32_z z_adler32_z
# ifndef Z_SOLO
# define compress z_compress
# define compress2 z_compress2
# define compressBound z_compressBound
# endif
# define crc32 z_crc32
# define crc32_combine z_crc32_combine
# define crc32_combine64 z_crc32_combine64
# define crc32_combine_gen z_crc32_combine_gen
# define crc32_combine_gen64 z_crc32_combine_gen64
# define crc32_combine_op z_crc32_combine_op
# define crc32_z z_crc32_z
# define deflate z_deflate
# define deflateBound z_deflateBound
# define deflateCopy z_deflateCopy
# define deflateEnd z_deflateEnd
# define deflateGetDictionary z_deflateGetDictionary
# define deflateInit z_deflateInit
# define deflateInit2 z_deflateInit2
# define deflateInit2_ z_deflateInit2_
# define deflateInit_ z_deflateInit_
# define deflateParams z_deflateParams
# define deflatePending z_deflatePending
# define deflatePrime z_deflatePrime
# define deflateReset z_deflateReset
# define deflateResetKeep z_deflateResetKeep
# define deflateSetDictionary z_deflateSetDictionary
# define deflateSetHeader z_deflateSetHeader
# define deflateTune z_deflateTune
# define deflate_copyright z_deflate_copyright
# define get_crc_table z_get_crc_table
# ifndef Z_SOLO
# define gz_error z_gz_error
# define gz_intmax z_gz_intmax
# define gz_strwinerror z_gz_strwinerror
# define gzbuffer z_gzbuffer
# define gzclearerr z_gzclearerr
# define gzclose z_gzclose
# define gzclose_r z_gzclose_r
# define gzclose_w z_gzclose_w
# define gzdirect z_gzdirect
# define gzdopen z_gzdopen
# define gzeof z_gzeof
# define gzerror z_gzerror
# define gzflush z_gzflush
# define gzfread z_gzfread
# define gzfwrite z_gzfwrite
# define gzgetc z_gzgetc
# define gzgetc_ z_gzgetc_
# define gzgets z_gzgets
# define gzoffset z_gzoffset
# define gzoffset64 z_gzoffset64
# define gzopen z_gzopen
# define gzopen64 z_gzopen64
# ifdef _WIN32
# define gzopen_w z_gzopen_w
# endif
# define gzprintf z_gzprintf
# define gzputc z_gzputc
# define gzputs z_gzputs
# define gzread z_gzread
# define gzrewind z_gzrewind
# define gzseek z_gzseek
# define gzseek64 z_gzseek64
# define gzsetparams z_gzsetparams
# define gztell z_gztell
# define gztell64 z_gztell64
# define gzungetc z_gzungetc
# define gzvprintf z_gzvprintf
# define gzwrite z_gzwrite
# endif
# define inflate z_inflate
# define inflateBack z_inflateBack
# define inflateBackEnd z_inflateBackEnd
# define inflateBackInit z_inflateBackInit
# define inflateBackInit_ z_inflateBackInit_
# define inflateCodesUsed z_inflateCodesUsed
# define inflateCopy z_inflateCopy
# define inflateEnd z_inflateEnd
# define inflateGetDictionary z_inflateGetDictionary
# define inflateGetHeader z_inflateGetHeader
# define inflateInit z_inflateInit
# define inflateInit2 z_inflateInit2
# define inflateInit2_ z_inflateInit2_
# define inflateInit_ z_inflateInit_
# define inflateMark z_inflateMark
# define inflatePrime z_inflatePrime
# define inflateReset z_inflateReset
# define inflateReset2 z_inflateReset2
# define inflateResetKeep z_inflateResetKeep
# define inflateSetDictionary z_inflateSetDictionary
# define inflateSync z_inflateSync
# define inflateSyncPoint z_inflateSyncPoint
# define inflateUndermine z_inflateUndermine
# define inflateValidate z_inflateValidate
# define inflate_copyright z_inflate_copyright
# define inflate_fast z_inflate_fast
# define inflate_table z_inflate_table
# ifndef Z_SOLO
# define uncompress z_uncompress
# define uncompress2 z_uncompress2
# endif
# define zError z_zError
# ifndef Z_SOLO
# define zcalloc z_zcalloc
# define zcfree z_zcfree
# endif
# define zlibCompileFlags z_zlibCompileFlags
# define zlibVersion z_zlibVersion
/* all zlib typedefs in zlib.h and zconf.h */
# define Byte z_Byte
# define Bytef z_Bytef
# define alloc_func z_alloc_func
# define charf z_charf
# define free_func z_free_func
# ifndef Z_SOLO
# define gzFile z_gzFile
# endif
# define gz_header z_gz_header
# define gz_headerp z_gz_headerp
# define in_func z_in_func
# define intf z_intf
# define out_func z_out_func
# define uInt z_uInt
# define uIntf z_uIntf
# define uLong z_uLong
# define uLongf z_uLongf
# define voidp z_voidp
# define voidpc z_voidpc
# define voidpf z_voidpf
/* all zlib structs in zlib.h and zconf.h */
# define gz_header_s z_gz_header_s
# define internal_state z_internal_state
#endif
#if defined(__MSDOS__) && !defined(MSDOS)
# define MSDOS
#endif
#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
# define OS2
#endif
#if defined(_WINDOWS) && !defined(WINDOWS)
# define WINDOWS
#endif
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
# ifndef WIN32
# define WIN32
# endif
#endif
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
# ifndef SYS16BIT
# define SYS16BIT
# endif
# endif
#endif
/*
* Compile with -DMAXSEG_64K if the alloc function cannot allocate more
* than 64k bytes at a time (needed on systems with 16-bit int).
*/
#ifdef SYS16BIT
# define MAXSEG_64K
#endif
#ifdef MSDOS
# define UNALIGNED_OK
#endif
#ifdef __STDC_VERSION__
# ifndef STDC
# define STDC
# endif
# if __STDC_VERSION__ >= 199901L
# ifndef STDC99
# define STDC99
# endif
# endif
#endif
#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
# define STDC
#endif
#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
# define STDC
#endif
#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
# define STDC
#endif
#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
# define STDC
#endif
#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
# define STDC
#endif
#ifndef STDC
# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
# define const /* note: need a more gentle solution here */
# endif
#endif
#if defined(ZLIB_CONST) && !defined(z_const)
# define z_const const
#else
# define z_const
#endif
#ifdef Z_SOLO
# ifdef _WIN64
typedef unsigned long long z_size_t;
# else
typedef unsigned long z_size_t;
# endif
#else
# define z_longlong long long
# if defined(NO_SIZE_T)
typedef unsigned NO_SIZE_T z_size_t;
# elif defined(STDC)
# include <stddef.h>
typedef size_t z_size_t;
# else
typedef unsigned long z_size_t;
# endif
# undef z_longlong
#endif
/* Maximum value for memLevel in deflateInit2 */
#ifndef MAX_MEM_LEVEL
# ifdef MAXSEG_64K
# define MAX_MEM_LEVEL 8
# else
# define MAX_MEM_LEVEL 9
# endif
#endif
/* Maximum value for windowBits in deflateInit2 and inflateInit2.
* WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
* created by gzip. (Files created by minigzip can still be extracted by
* gzip.)
*/
#ifndef MAX_WBITS
# define MAX_WBITS 15 /* 32K LZ77 window */
#endif
/* The memory requirements for deflate are (in bytes):
(1 << (windowBits+2)) + (1 << (memLevel+9))
that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
plus a few kilobytes for small objects. For example, if you want to reduce
the default memory requirements from 256K to 128K, compile with
make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
Of course this will generally degrade compression (there's no free lunch).
The memory requirements for inflate are (in bytes) 1 << windowBits
that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
for small objects.
*/
/* Type declarations */
#ifndef OF /* function prototypes */
# ifdef STDC
# define OF(args) args
# else
# define OF(args) ()
# endif
#endif
#ifndef Z_ARG /* function prototypes for stdarg */
# if defined(STDC) || defined(Z_HAVE_STDARG_H)
# define Z_ARG(args) args
# else
# define Z_ARG(args) ()
# endif
#endif
/* The following definitions for FAR are needed only for MSDOS mixed
* model programming (small or medium model with some far allocations).
* This was tested only with MSC; for other MSDOS compilers you may have
* to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
* just define FAR to be empty.
*/
#ifdef SYS16BIT
# if defined(M_I86SM) || defined(M_I86MM)
/* MSC small or medium model */
# define SMALL_MEDIUM
# ifdef _MSC_VER
# define FAR _far
# else
# define FAR far
# endif
# endif
# if (defined(__SMALL__) || defined(__MEDIUM__))
/* Turbo C small or medium model */
# define SMALL_MEDIUM
# ifdef __BORLANDC__
# define FAR _far
# else
# define FAR far
# endif
# endif
#endif
#if defined(WINDOWS) || defined(WIN32)
/* If building or using zlib as a DLL, define ZLIB_DLL.
* This is not mandatory, but it offers a little performance increase.
*/
# ifdef ZLIB_DLL
# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
# ifdef ZLIB_INTERNAL
# define ZEXTERN extern __declspec(dllexport)
# else
# define ZEXTERN extern __declspec(dllimport)
# endif
# endif
# endif /* ZLIB_DLL */
/* If building or using zlib with the WINAPI/WINAPIV calling convention,
* define ZLIB_WINAPI.
* Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
*/
# ifdef ZLIB_WINAPI
# ifdef FAR
# undef FAR
# endif
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
/* No need for _export, use ZLIB.DEF instead. */
/* For complete Windows compatibility, use WINAPI, not __stdcall. */
# define ZEXPORT WINAPI
# ifdef WIN32
# define ZEXPORTVA WINAPIV
# else
# define ZEXPORTVA FAR CDECL
# endif
# endif
#endif
#if defined (__BEOS__)
# ifdef ZLIB_DLL
# ifdef ZLIB_INTERNAL
# define ZEXPORT __declspec(dllexport)
# define ZEXPORTVA __declspec(dllexport)
# else
# define ZEXPORT __declspec(dllimport)
# define ZEXPORTVA __declspec(dllimport)
# endif
# endif
#endif
#ifndef ZEXTERN
# define ZEXTERN extern
#endif
#ifndef ZEXPORT
# define ZEXPORT
#endif
#ifndef ZEXPORTVA
# define ZEXPORTVA
#endif
#ifndef FAR
# define FAR
#endif
#if !defined(__MACTYPES__)
typedef unsigned char Byte; /* 8 bits */
#endif
typedef unsigned int uInt; /* 16 bits or more */
typedef unsigned long uLong; /* 32 bits or more */
#ifdef SMALL_MEDIUM
/* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
# define Bytef Byte FAR
#else
typedef Byte FAR Bytef;
#endif
typedef char FAR charf;
typedef int FAR intf;
typedef uInt FAR uIntf;
typedef uLong FAR uLongf;
#ifdef STDC
typedef void const *voidpc;
typedef void FAR *voidpf;
typedef void *voidp;
#else
typedef Byte const *voidpc;
typedef Byte FAR *voidpf;
typedef Byte *voidp;
#endif
#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
# include <limits.h>
# if (UINT_MAX == 0xffffffffUL)
# define Z_U4 unsigned
# elif (ULONG_MAX == 0xffffffffUL)
# define Z_U4 unsigned long
# elif (USHRT_MAX == 0xffffffffUL)
# define Z_U4 unsigned short
# endif
#endif
#ifdef Z_U4
typedef Z_U4 z_crc_t;
#else
typedef unsigned long z_crc_t;
#endif
#if 1 /* was set to #if 1 by ./configure */
# define Z_HAVE_UNISTD_H
#endif
#if 1 /* was set to #if 1 by ./configure */
# define Z_HAVE_STDARG_H
#endif
#ifdef STDC
# ifndef Z_SOLO
# include <sys/types.h> /* for off_t */
# endif
#endif
#if defined(STDC) || defined(Z_HAVE_STDARG_H)
# ifndef Z_SOLO
# include <stdarg.h> /* for va_list */
# endif
#endif
#ifdef _WIN32
# ifndef Z_SOLO
# include <stddef.h> /* for wchar_t */
# endif
#endif
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
* though the former does not conform to the LFS document), but considering
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
* equivalently requesting no 64-bit operations
*/
#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
# undef _LARGEFILE64_SOURCE
#endif
#ifndef Z_HAVE_UNISTD_H
# ifdef __WATCOMC__
# define Z_HAVE_UNISTD_H
# endif
#endif
#ifndef Z_HAVE_UNISTD_H
# if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
# define Z_HAVE_UNISTD_H
# endif
#endif
#ifndef Z_SOLO
# if defined(Z_HAVE_UNISTD_H)
# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
# ifdef VMS
# include <unixio.h> /* for off_t */
# endif
# ifndef z_off_t
# define z_off_t off_t
# endif
# endif
#endif
#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
# define Z_LFS64
#endif
#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
# define Z_LARGE64
#endif
#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
# define Z_WANT64
#endif
#if !defined(SEEK_SET) && !defined(Z_SOLO)
# define SEEK_SET 0 /* Seek from beginning of file. */
# define SEEK_CUR 1 /* Seek from current position. */
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
#endif
#ifndef z_off_t
# define z_off_t long
#endif
#if !defined(_WIN32) && defined(Z_LARGE64)
# define z_off64_t off64_t
#else
# if defined(_WIN32) && !defined(__GNUC__)
# define z_off64_t __int64
# else
# define z_off64_t z_off_t
# endif
#endif
/* MVS linker does not support external names larger than 8 bytes */
#if defined(__MVS__)
#pragma map(deflateInit_,"DEIN")
#pragma map(deflateInit2_,"DEIN2")
#pragma map(deflateEnd,"DEEND")
#pragma map(deflateBound,"DEBND")
#pragma map(inflateInit_,"ININ")
#pragma map(inflateInit2_,"ININ2")
#pragma map(inflateEnd,"INEND")
#pragma map(inflateSync,"INSY")
#pragma map(inflateSetDictionary,"INSEDI")
#pragma map(compressBound,"CMBND")
#pragma map(inflate_table,"INTABL")
#pragma map(inflate_fast,"INFA")
#pragma map(inflate_copyright,"INCOPY")
#endif
#endif /* ZCONF_H */

View File

@@ -0,0 +1,2 @@
#include "../../../zlib/zlib.h"

View File

@@ -0,0 +1,20 @@
include $(MAKEDIR)/Makefile.base
PROJECTS := \
lib/common \
lib/compress \
lib/decompress \
lib/dictBuilder \
INCPATH := -I include
LIBFILE := libzstd.a
COPYTO := ../../sdk/lib
_FLAGS := $(_FLAGS) -DZSTD_DISABLE_ASM
#-DHUF_DISABLE_FAST_DECODE -DZSTD_DISABLE_ASM
include $(MAKEDIR)/Makefile.lib

26
resources/packages/zstd/prepare Executable file
View File

@@ -0,0 +1,26 @@
set -x
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir -p sdk/include
LIB=zstd
mkdir $LIB
pushd $LIB
git clone --depth 1 https://github.com/facebook/zstd --branch v1.5.6
cp -av $DIR/Makefile.project zstd/
rm $LIB/Makefile
ln -s $DIR/../../Makefile-template $LIB/Makefile
pushd zstd
make
popd
popd
pushd sdk/include
ln -fs ../../zstd/zstd/lib zstd
popd