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

8
.gitignore vendored Normal file
View File

@@ -0,0 +1,8 @@
.DS_Store
*.pyc
xcuserdata
.bin
transfer-to-*
code
sdk
project

38
Makefile.def Executable file
View File

@@ -0,0 +1,38 @@
timprepscius.libraries.cpp.include := -I $(dir $(realpath $(lastword $(MAKEFILE_LIST))))/sdk/$(SYS_SDK)/include
timprepscius.libraries.cpp.link := \
-L $(dir $(realpath $(lastword $(MAKEFILE_LIST))))/sdk/$(SYS_SDK)/lib/$(OBJDIR_NOLOG) \
-L $(dir $(realpath $(lastword $(MAKEFILE_LIST))))/sdk/$(SYS_SDK)/lib/$(OBJDIR_NOLOG) \
-L $(dir $(realpath $(lastword $(MAKEFILE_LIST))))/project/$(OBJDIR) \
INCLUDES_ROOT := $(dir $(realpath $(lastword $(MAKEFILE_LIST))))/sdk/$(SYS_SDK)/includes
$(foreach pkg,$(wildcard $(INCLUDES_ROOT)/*), \
$(foreach inc,$(wildcard $(pkg)/*), \
$(eval timprepscius.$(notdir $(pkg)).include := $(timprepscius.$(notdir $(pkg)).include) -I $(inc)) \
) \
)
timprepscius.aws.libs := \
-laws-combined
timprepscius.aws.libsNO := \
-laws-cpp-sdk-email \
-laws-cpp-sdk-core \
-laws-crt-cpp \
-laws-c-cal \
-laws-c-compression \
-laws-c-event-stream \
-laws-c-mqtt \
-laws-c-s3 \
-laws-c-sdkutils \
-laws-checksums \
-laws-c-http \
-laws-c-io \
-laws-c-auth \
-laws-c-common \
-ls2n

151
install-packages Executable file
View File

@@ -0,0 +1,151 @@
#!/bin/bash
# Parse args
TARGET=""
PACKAGE_FILE=""
while [ $# -gt 0 ]; do
case "$1" in
-f)
PACKAGE_FILE=$2
shift 2
;;
--)
shift
break
;;
-*)
echo "Usage: $0 [-f package-file] <target-directory-name>"
exit 1
;;
*)
if [ -z "$TARGET" ]; then
TARGET=$1
shift
else
echo "Unexpected argument: $1"
echo "Usage: $0 [-f package-file] <target-directory-name>"
exit 1
fi
;;
esac
done
if [ -z "$TARGET" ]; then
echo "Usage: $0 [-f package-file] <target-directory-name>"
exit 1
fi
if [ -n "$PACKAGE_FILE" ]; then
if [ ! -f "$PACKAGE_FILE" ]; then
echo "Package file not found: $PACKAGE_FILE"
exit 1
fi
if command -v realpath >/dev/null 2>&1; then
PACKAGE_FILE="$(realpath "$PACKAGE_FILE")"
else
PACKAGE_FILE="$(cd "$(dirname "$PACKAGE_FILE")" && pwd -P)/$(basename "$PACKAGE_FILE")"
fi
fi
# Create and enter target directory
mkdir -p "./code/$TARGET" || exit 1
mkdir -p "./sdk" || exit 1
rm -f "./sdk/$TARGET"
(cd sdk && ln -s "../code/$TARGET/sdk" $TARGET)
cd "./code/$TARGET" || exit 1
# List of packages (comment/uncomment as needed)
all_packages=(
openssl
nghttp2
basisu
ezaudio
httplib
mongo
opus
tinygltf
webrtc
astronomy
boost
fftw
msquic
soxr
tommath
zip
audiofile
catch2
glfw
json-nlohmann
oggvorbis
speex
utf8cpp
zstd
aws
curl
glm
libunwind
onnx
speexdsp
vookoo
base32
date
gte
mapbox
stb
vulkan
imgui
)
: "${ignore_packages:=}"
: "${say:=echo}"
read -a ignore_list <<< "$ignore_packages"
trim_whitespace() {
local s=$1
s="${s#"${s%%[![:space:]]*}"}"
s="${s%"${s##*[![:space:]]}"}"
printf '%s' "$s"
}
if [ -n "$PACKAGE_FILE" ]; then
package_list=()
while IFS= read -r line || [ -n "$line" ]; do
line=$(trim_whitespace "$line")
if [ -z "$line" ]; then
continue
fi
case "$line" in
\#*) continue ;;
esac
package_list+=("$line")
done < "$PACKAGE_FILE"
else
: "${packages:=${all_packages[*]}}"
read -a package_list <<< "$packages"
fi
should_ignore() {
local pkg=$1
for ignore in "${ignore_list[@]}"; do
if [ "$pkg" = "$ignore" ]; then
return 0
fi
done
return 1
}
../../resources/packages/_empty/prepare
# Loop through packages and call prepare script
for package in "${package_list[@]}"; do
if should_ignore "$package"; then
continue
fi
$say "$package"
../../resources/packages/"$package"/prepare
done
$say "Done installing packages"

4
resources/Makefile Normal file
View File

@@ -0,0 +1,4 @@
#ROOTDIR := $(realpath $(dir $(lastword $(MAKEFILE_LIST)))../..)
ROOTDIR := $(realpath $(dir $(realpath $(lastword $(MAKEFILE_LIST))))../..)
include $(ROOTDIR)/Core_Make/tjp/Make/Makefile

1
resources/Makefile-template Symbolic link
View File

@@ -0,0 +1 @@
Makefile

View File

@@ -0,0 +1,29 @@
perl -pi -w -e 's/include "asio\//include "/g;' *
for a in $(ls -d */ | cut -f1 -d'/')
do
pushd $a
perl -pi -w -e "s/include \"asio\/$a\//include \"/g;" *
perl -pi -w -e "s/include \"asio\//include \"..\//g;" *
for b in $(ls -d */ | cut -f1 -d'/')
do
pushd $b
perl -pi -w -e "s/include \"asio\/$a\/$b\//include \"/g;" *
perl -pi -w -e "s/include \"asio\/$a\//include \"..\//g;" *
perl -pi -w -e "s/include \"asio\//include \"..\/..\//g;" *
for c in $(ls -d */ | cut -f1 -d'/')
do
pushd $e
perl -pi -w -e "s/include \"asio\/$a\/$b\/$c\//include \"/g;" *
perl -pi -w -e "s/include \"asio\/$a\/$b\//include \"..\//g;" *
perl -pi -w -e "s/include \"asio\/$a\//include \"..\/..\//g;" *
perl -pi -w -e "s/include \"asio\//include \"..\/..\/..\//g;" *
popd
done
popd
done
popd
done

View File

@@ -0,0 +1,62 @@
mkdir -p sdk/include
mkdir bgfx
pushd bgfx
git clone git://github.com/bkaradzic/bx.git
git clone git://github.com/bkaradzic/bimg.git
git clone git://github.com/bkaradzic/bgfx.git
cd bgfx
make osx ios-arm64 ios-simulator64 tools
popd
pushd sdk/include
ln -fs ../../bgfx/bgfx/include/bgfx
ln -fs ../../bgfx/bx/include/bx
ln -fs ../../bgfx/bimg/include/bimg
popd
pushd sdk/lib
UNAME_S=`uname -s`
UNAME_M=`uname -m`
EXT=${UNAME_S}-${UNAME_M}
for X in Debug Release
do
mkdir -p $X.$EXT
pushd $X.$EXT
ln -fs ../../../bgfx/bgfx/.build/osx64_clang/bin/libbgfx$X.a libbgfx.a
ln -fs ../../../bgfx/bgfx/.build/osx64_clang/bin/libbx$X.a libbx.a
ln -fs ../../../bgfx/bgfx/.build/osx64_clang/bin/libbimg$X.a libbimg.a
ln -fs ../../../bgfx/bgfx/.build/osx64_clang/bin/libbimg_decode$X.a libbimg_decode.a
popd
done
for X in Debug Release
do
mkdir -p $X.iOS-arm64
pushd $X.iOS-arm64
ln -fs ../../../bgfx/bgfx/.build/ios-arm64/bin/libbgfx$X.a libbgfx.a
ln -fs ../../../bgfx/bgfx/.build/ios-arm64/bin/libbx$X.a libbx.a
ln -fs ../../../bgfx/bgfx/.build/ios-arm64/bin/libbimg$X.a libbimg.a
ln -fs ../../../bgfx/bgfx/.build/osx64_clang/bin/libbimg_decode$X.a libbimg_decode.a
popd
done
for X in Debug Release
do
mkdir -p $X.iOS-simulate
pushd $X.iOS-simulate
ln -fs ../../../bgfx/bgfx/.build/ios-simulator64/bin/libbgfx$X.a libbgfx.a
ln -fs ../../../bgfx/bgfx/.build/ios-simulator64/bin/libbx$X.a libbx.a
ln -fs ../../../bgfx/bgfx/.build/ios-simulator64/bin/libbimg$X.a libbimg.a
ln -fs ../../../bgfx/bgfx/.build/osx64_clang/bin/libbimg_decode$X.a libbimg_decode.a
popd
done

View File

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

View File

@@ -0,0 +1,66 @@
_FLAGS := $(_FLAGS) -Wno-deprecated
include $(MAKEDIR)/Makefile.base
COPYTO := ../../sdk/lib
PROJECTS := \
src/core \
COMMON_SRC := \
src/platform/cert_capi_openssl.c \
src/platform/crypt.c \
src/platform/crypt_openssl.c \
src/platform/hashtable.c \
src/platform/inline.c \
src/platform/pcp.c \
src/platform/platform_posix.c \
src/platform/storage_posix.c \
src/platform/tls_openssl.c \
src/platform/toeplitz.c \
NO_SRC := \
src/platform/selfsign_openssl.c \
LINUX_SRC := \
src/platform/datapath_epoll.c \
POSIX_SRC := \
src/platform/datapath_kqueue.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 \
SRC_C := $(POSIX_SRC) $(COMMON_SRC)
INCPATH := \
-I src/inc \
-I build/openssl/include
LIBFILE := libMSQuic.a
_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 \
# -DQUIC_CLOG \
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,34 @@
set -x
mkdir -p sdk/include
LIB=libev
SRC=libev
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir $LIB
pushd $LIB
wget http://dist.schmorp.de/libev/libev-4.33.tar.gz
tar xf libev-4.33.tar.gz
ln -s libev*/ libev
pushd libev
./configure
make
popd
popd
pushd sdk/include
ln -s ../../$LIB/$SRC libev
popd
UNAME_S=`uname -s`
UNAME_M=`uname -m`
EXT=${UNAME_S}-${UNAME_M}
pushd sdk/lib
cp ../../$LIB/$SRC/.libs/*.a Debug.$EXT/
cp ../../$LIB/$SRC/.libs/*.a Release.$EXT/
popd

View File

@@ -0,0 +1,34 @@
set -x
mkdir -p sdk/include
LIB=libuv
SRC=libuv
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir $LIB
pushd $LIB
git clone https://github.com/libuv/libuv.git
pushd $SRC
mkdir build
pushd build
cmake .. -DLIBUV_BUILD_TESTS=false
make
popd
popd
popd
pushd sdk/include
ln -s ../../$LIB/$SRC/include libuv
popd
UNAME_S=`uname -s`
UNAME_M=`uname -m`
EXT=${UNAME_S}-${UNAME_M}
pushd sdk/lib
cp ../../$LIB/$SRC/build/libuv_a.a Debug.$EXT/libuv.a
cp ../../$LIB/$SRC/build/libuv_a.a Release.$EXT/libuv.a
popd

View File

@@ -0,0 +1,24 @@
_FLAGS := $(_FLAGS) -Wno-deprecated
include $(MAKEDIR)/Makefile.base
COPYTO := ../../sdk/lib
PROJECTS := \
src/liblsquic \
# src/liblsquic/ls-qpack \
# src/lshpack \
INCPATH := \
-I include \
-I ../boringssl/include \
-I src/lshpack \
-I src/liblsquic/ls-qpack
LIBFILE := libLSQuic.a
_FLAGS := -DXXH_HEADER_NAME=\"lsxpack_header.h\"
include $(MAKEDIR)/Makefile.lib

View File

@@ -0,0 +1,29 @@
mkdir -p sdk/include
mkdir mysql
pushd mysql
wget "https://dev.mysql.com/get/Downloads/Connector-C++/mysql-connector-c++-8.0.30-macos12-x86-64bit.tar.gz"
tar xf mysql-connector-c++*.tar.gz
ln -fs mysql-connector-c++*/ mysql-connector-c++
popd
pushd sdk/include
ln -fs ../../mysql/mysql-connector-c++/include mysql
popd
mkdir -p sdk/lib
pushd sdk/lib
for f in */; do
pushd $f
ln -fs ../../../mysql/mysql-connector-c++/lib64/*.a .
popd
done
popd

View File

@@ -0,0 +1,8 @@
# https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/
wget "https://dev.mysql.com/get/mysql-apt-config_0.8.23-1_all.deb"
dpkg -i mysql-apt-config_0.8.23-1_all.deb
apt-get install libmysqlcppconn-dev
apt-get install libmysqlclient21

View File

@@ -0,0 +1,15 @@
_FLAGS := $(_FLAGS) -Wno-deprecated
include $(MAKEDIR)/Makefile.base
INCPATH := \
$(timprepscius.core.include)
COPYTO := ../../sdk/lib
SRC_CPP := event.cpp, rudp.cpp
LIBFILE := librudp.a
include $(MAKEDIR)/Makefile.lib

View File

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

View File

@@ -0,0 +1,16 @@
mkdir -p sdk/include
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
mkdir uvw
pushd uvw
git clone https://github.com/skypjack/uvw.git
popd
pushd sdk/include
cp $DIR/uv.h .
ln -fs ../../uvw/uvw/src uvw
popd

View File

@@ -0,0 +1 @@
#include <libev/uv.h>

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

Some files were not shown because too many files have changed in this diff Show More