mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2025-06-23 18:47:12 +02:00
Initial preparations for CURL and Discord integration.
This commit is contained in:
176
module/Vendor/CURL/scripts/travis/before_script.sh
vendored
Normal file
176
module/Vendor/CURL/scripts/travis/before_script.sh
vendored
Normal file
@ -0,0 +1,176 @@
|
||||
#!/bin/bash
|
||||
#***************************************************************************
|
||||
# _ _ ____ _
|
||||
# Project ___| | | | _ \| |
|
||||
# / __| | | | |_) | |
|
||||
# | (__| |_| | _ <| |___
|
||||
# \___|\___/|_| \_\_____|
|
||||
#
|
||||
# Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
#
|
||||
# This software is licensed as described in the file COPYING, which
|
||||
# you should have received as part of this distribution. The terms
|
||||
# are also available at https://curl.se/docs/copyright.html.
|
||||
#
|
||||
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
# copies of the Software, and permit persons to whom the Software is
|
||||
# furnished to do so, under the terms of the COPYING file.
|
||||
#
|
||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
# KIND, either express or implied.
|
||||
#
|
||||
###########################################################################
|
||||
set -eo pipefail
|
||||
|
||||
./buildconf
|
||||
|
||||
if [ "$NGTCP2" = yes ]; then
|
||||
if [ "$TRAVIS_OS_NAME" = linux -a "$GNUTLS" ]; then
|
||||
cd $HOME
|
||||
git clone --depth 1 https://gitlab.com/gnutls/nettle.git
|
||||
cd nettle
|
||||
./.bootstrap
|
||||
./configure LDFLAGS="-Wl,-rpath,$HOME/ngbuild/lib" --disable-documentation --prefix=$HOME/ngbuild
|
||||
make
|
||||
make install
|
||||
|
||||
cd $HOME
|
||||
git clone --depth 1 https://gitlab.com/gnutls/gnutls.git pgtls
|
||||
cd pgtls
|
||||
./bootstrap
|
||||
./configure PKG_CONFIG_PATH=$HOME/ngbuild/lib/pkgconfig LDFLAGS="-Wl,-rpath,$HOME/ngbuild/lib" --with-included-libtasn1 --with-included-unistring --disable-guile --disable-doc --prefix=$HOME/ngbuild
|
||||
make
|
||||
make install
|
||||
else
|
||||
cd $HOME
|
||||
git clone --depth 1 -b OpenSSL_1_1_1g-quic-draft-29 https://github.com/tatsuhiro-t/openssl possl
|
||||
cd possl
|
||||
./config enable-tls1_3 --prefix=$HOME/ngbuild
|
||||
make
|
||||
make install_sw
|
||||
fi
|
||||
|
||||
cd $HOME
|
||||
git clone --depth 1 https://github.com/ngtcp2/nghttp3
|
||||
cd nghttp3
|
||||
autoreconf -i
|
||||
./configure --prefix=$HOME/ngbuild --enable-lib-only
|
||||
make
|
||||
make install
|
||||
|
||||
cd $HOME
|
||||
git clone --depth 1 https://github.com/ngtcp2/ngtcp2
|
||||
cd ngtcp2
|
||||
autoreconf -i
|
||||
if test -n "$GNUTLS"; then
|
||||
WITHGNUTLS="--with-gnutls"
|
||||
fi
|
||||
./configure PKG_CONFIG_PATH=$HOME/ngbuild/lib/pkgconfig LDFLAGS="-Wl,-rpath,$HOME/ngbuild/lib" --prefix=$HOME/ngbuild --enable-lib-only $WITHGNUTLS
|
||||
make
|
||||
make install
|
||||
fi
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = linux -a "$BORINGSSL" ]; then
|
||||
cd $HOME
|
||||
git clone --depth=1 https://boringssl.googlesource.com/boringssl
|
||||
cd boringssl
|
||||
CXX="g++" CC="gcc" cmake -H. -Bbuild -GNinja -DCMAKE_BUILD_TYPE=release -DBUILD_SHARED_LIBS=1
|
||||
cmake --build build
|
||||
mkdir lib
|
||||
cp ./build/crypto/libcrypto.so ./lib/
|
||||
cp ./build/ssl/libssl.so ./lib/
|
||||
echo "BoringSSL lib dir: "`pwd`"/lib"
|
||||
cmake --build build --target clean
|
||||
rm -f build/CMakeCache.txt
|
||||
CXX="g++" CC="gcc" cmake -H. -Bbuild -GNinja -DCMAKE_POSITION_INDEPENDENT_CODE=on
|
||||
cmake --build build
|
||||
export LIBS=-lpthread
|
||||
fi
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = linux -a "$OPENSSL3" ]; then
|
||||
cd $HOME
|
||||
git clone --depth=1 https://github.com/openssl/openssl
|
||||
cd openssl
|
||||
./config enable-tls1_3 --prefix=$HOME/openssl3
|
||||
make
|
||||
make install_sw
|
||||
fi
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = linux -a "$LIBRESSL" ]; then
|
||||
cd $HOME
|
||||
git clone --depth=1 -b v3.1.4 https://github.com/libressl-portable/portable.git libressl-git
|
||||
cd libressl-git
|
||||
./autogen.sh
|
||||
./configure --prefix=$HOME/libressl
|
||||
make
|
||||
make install
|
||||
fi
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = linux -a "$HYPER" ]; then
|
||||
cd $HOME
|
||||
git clone --depth=1 https://github.com/hyperium/hyper.git
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y
|
||||
source $HOME/.cargo/env
|
||||
cd $HOME/hyper
|
||||
RUSTFLAGS="--cfg hyper_unstable_ffi" cargo build --features client,http1,http2,ffi
|
||||
fi
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = linux -a "$QUICHE" ]; then
|
||||
cd $HOME
|
||||
git clone --depth=1 --recursive https://github.com/cloudflare/quiche.git
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y
|
||||
source $HOME/.cargo/env
|
||||
cd $HOME/quiche
|
||||
cargo build -v --release --features pkg-config-meta,qlog
|
||||
mkdir -v deps/boringssl/src/lib
|
||||
ln -vnf $(find target/release -name libcrypto.a -o -name libssl.a) deps/boringssl/src/lib/
|
||||
fi
|
||||
|
||||
# Install common libraries.
|
||||
# The library build directories are set to be cached by .travis.yml. If you are
|
||||
# changing a build directory name below (eg a version change) then you must
|
||||
# change it in .travis.yml `cache: directories:` as well.
|
||||
if [ $TRAVIS_OS_NAME = linux ]; then
|
||||
if [ ! -e $HOME/wolfssl-4.4.0-stable/Makefile ]; then
|
||||
cd $HOME
|
||||
curl -LO https://github.com/wolfSSL/wolfssl/archive/v4.4.0-stable.tar.gz
|
||||
tar -xzf v4.4.0-stable.tar.gz
|
||||
cd wolfssl-4.4.0-stable
|
||||
./autogen.sh
|
||||
./configure --enable-tls13 --enable-all
|
||||
touch wolfssl/wolfcrypt/fips.h
|
||||
make
|
||||
fi
|
||||
|
||||
cd $HOME/wolfssl-4.4.0-stable
|
||||
sudo make install
|
||||
|
||||
if [ "$MESALINK" = "yes" ]; then
|
||||
if [ ! -e $HOME/mesalink-1.0.0/Makefile ]; then
|
||||
cd $HOME
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y
|
||||
source $HOME/.cargo/env
|
||||
curl -LO https://github.com/mesalock-linux/mesalink/archive/v1.0.0.tar.gz
|
||||
tar -xzf v1.0.0.tar.gz
|
||||
cd mesalink-1.0.0
|
||||
./autogen.sh
|
||||
./configure --enable-tls13
|
||||
make
|
||||
fi
|
||||
cd $HOME/mesalink-1.0.0
|
||||
sudo make install
|
||||
|
||||
fi
|
||||
|
||||
if [ ! -e $HOME/nghttp2-1.39.2/Makefile ]; then
|
||||
cd $HOME
|
||||
curl -LO https://github.com/nghttp2/nghttp2/releases/download/v1.39.2/nghttp2-1.39.2.tar.gz
|
||||
tar -xzf nghttp2-1.39.2.tar.gz
|
||||
cd nghttp2-1.39.2
|
||||
CXX="g++-8" CC="gcc-8" CFLAGS="" LDFLAGS="" LIBS="" ./configure --disable-threads --enable-app
|
||||
make
|
||||
fi
|
||||
|
||||
cd $HOME/nghttp2-1.39.2
|
||||
sudo make install
|
||||
fi
|
22
module/Vendor/CURL/scripts/travis/iconv-env.sh
vendored
Normal file
22
module/Vendor/CURL/scripts/travis/iconv-env.sh
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
#***************************************************************************
|
||||
# _ _ ____ _
|
||||
# Project ___| | | | _ \| |
|
||||
# / __| | | | |_) | |
|
||||
# | (__| |_| | _ <| |___
|
||||
# \___|\___/|_| \_\_____|
|
||||
#
|
||||
# Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
#
|
||||
# This software is licensed as described in the file COPYING, which
|
||||
# you should have received as part of this distribution. The terms
|
||||
# are also available at https://curl.se/docs/copyright.html.
|
||||
#
|
||||
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
# copies of the Software, and permit persons to whom the Software is
|
||||
# furnished to do so, under the terms of the COPYING file.
|
||||
#
|
||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
# KIND, either express or implied.
|
||||
#
|
||||
###########################################################################
|
||||
export CPPFLAGS="-DCURL_DOES_CONVERSIONS -DHAVE_ICONV -DCURL_ICONV_CODESET_OF_HOST='\"ISO8859-1\"'"
|
165
module/Vendor/CURL/scripts/travis/script.sh
vendored
Normal file
165
module/Vendor/CURL/scripts/travis/script.sh
vendored
Normal file
@ -0,0 +1,165 @@
|
||||
#!/bin/bash
|
||||
#***************************************************************************
|
||||
# _ _ ____ _
|
||||
# Project ___| | | | _ \| |
|
||||
# / __| | | | |_) | |
|
||||
# | (__| |_| | _ <| |___
|
||||
# \___|\___/|_| \_\_____|
|
||||
#
|
||||
# Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
#
|
||||
# This software is licensed as described in the file COPYING, which
|
||||
# you should have received as part of this distribution. The terms
|
||||
# are also available at https://curl.se/docs/copyright.html.
|
||||
#
|
||||
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
# copies of the Software, and permit persons to whom the Software is
|
||||
# furnished to do so, under the terms of the COPYING file.
|
||||
#
|
||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
# KIND, either express or implied.
|
||||
#
|
||||
###########################################################################
|
||||
set -eo pipefail
|
||||
|
||||
./buildconf
|
||||
|
||||
if [ "$T" = "coverage" ]; then
|
||||
./configure --enable-debug --disable-shared --disable-threaded-resolver --enable-code-coverage --enable-werror --with-libssh2
|
||||
make
|
||||
make TFLAGS=-n test-nonflaky
|
||||
make "TFLAGS=-n -e" test-nonflaky
|
||||
tests="1 200 300 500 700 800 900 1000 1100 1200 1302 1400 1502 3000"
|
||||
make "TFLAGS=-n -t $tests" test-nonflaky
|
||||
coveralls --gcov /usr/bin/gcov-8 --gcov-options '\-lp' -i src -e lib -e tests -e docs -b $PWD/src
|
||||
coveralls --gcov /usr/bin/gcov-8 --gcov-options '\-lp' -e src -i lib -e tests -e docs -b $PWD/lib
|
||||
fi
|
||||
|
||||
if [ "$T" = "torture" ]; then
|
||||
./configure --enable-debug --disable-shared --disable-threaded-resolver --enable-code-coverage --enable-werror --with-libssh2
|
||||
make
|
||||
make TFLAGS=-n test-nonflaky
|
||||
make "TFLAGS=-n -e" test-nonflaky
|
||||
tests="1 200 300 500 700 800 900 1000 1100 1200 1302 1400 1502 3000"
|
||||
make "TFLAGS=-n --shallow=40 -t $tests" test-nonflaky
|
||||
fi
|
||||
|
||||
if [ "$T" = "debug" ]; then
|
||||
./configure --enable-debug --enable-werror $C
|
||||
make
|
||||
make examples
|
||||
if [ -z $NOTESTS ]; then
|
||||
make test-nonflaky
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$T" = "debug-wolfssl" ]; then
|
||||
./configure --enable-debug --enable-werror $C
|
||||
make
|
||||
make "TFLAGS=-n !313" test-nonflaky
|
||||
fi
|
||||
|
||||
if [ "$T" = "debug-mesalink" ]; then
|
||||
./configure --enable-debug --enable-werror $C
|
||||
make
|
||||
make "TFLAGS=-n !313 !410 !3001" test-nonflaky
|
||||
fi
|
||||
|
||||
if [ "$T" = "novalgrind" ]; then
|
||||
./configure --enable-werror $C
|
||||
make
|
||||
make examples
|
||||
make TFLAGS=-n test-nonflaky
|
||||
fi
|
||||
|
||||
if [ "$T" = "normal" ]; then
|
||||
if [ $TRAVIS_OS_NAME = linux ]; then
|
||||
# Remove system curl to make sure we don't rely on it.
|
||||
# Only done on Linux since we're not permitted to on mac.
|
||||
sudo rm -f /usr/bin/curl
|
||||
fi
|
||||
./configure --enable-warnings --enable-werror $C
|
||||
make
|
||||
make examples
|
||||
if [ -z $NOTESTS ]; then
|
||||
make test-nonflaky
|
||||
fi
|
||||
if [ -n "$CHECKSRC" ]; then
|
||||
make checksrc
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$T" = "tidy" ]; then
|
||||
./configure --enable-warnings --enable-werror $C
|
||||
make
|
||||
make tidy
|
||||
fi
|
||||
|
||||
if [ "$T" = "iconv" ]; then
|
||||
source scripts/travis/iconv-env.sh
|
||||
./configure --enable-debug --enable-werror $C
|
||||
make
|
||||
make examples
|
||||
make test-nonflaky
|
||||
fi
|
||||
|
||||
if [ "$T" = "cmake" ]; then
|
||||
cmake -H. -Bbuild -DCURL_WERROR=ON $C
|
||||
cmake --build build
|
||||
env TFLAGS="!1139 $TFLAGS" cmake --build build --target test-nonflaky
|
||||
fi
|
||||
|
||||
if [ "$T" = "distcheck" ]; then
|
||||
# find BOM markers and exit if we do
|
||||
! git grep `printf '\xef\xbb\xbf'`
|
||||
./configure
|
||||
make
|
||||
./maketgz 99.98.97
|
||||
# verify in-tree build - and install it
|
||||
tar xf curl-99.98.97.tar.gz
|
||||
cd curl-99.98.97
|
||||
./configure --prefix=$HOME/temp
|
||||
make
|
||||
make TFLAGS=1 test
|
||||
make install
|
||||
# basic check of the installed files
|
||||
cd ..
|
||||
bash scripts/installcheck.sh $HOME/temp
|
||||
rm -rf curl-99.98.97
|
||||
# verify out-of-tree build
|
||||
tar xf curl-99.98.97.tar.gz
|
||||
touch curl-99.98.97/docs/{cmdline-opts,libcurl}/Makefile.inc
|
||||
mkdir build
|
||||
cd build
|
||||
../curl-99.98.97/configure
|
||||
make
|
||||
make TFLAGS='-p 1 1139' test
|
||||
# verify cmake build
|
||||
cd ..
|
||||
rm -rf curl-99.98.97
|
||||
tar xf curl-99.98.97.tar.gz
|
||||
cd curl-99.98.97
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
cd ../..
|
||||
fi
|
||||
|
||||
if [ "$T" = "fuzzer" ]; then
|
||||
# Download the fuzzer to a temporary folder
|
||||
./tests/fuzz/download_fuzzer.sh /tmp/curl_fuzzer
|
||||
|
||||
export CURLSRC=$PWD
|
||||
|
||||
# Run the mainline fuzzer test
|
||||
pushd /tmp/curl_fuzzer
|
||||
./mainline.sh ${CURLSRC}
|
||||
popd
|
||||
fi
|
||||
|
||||
if [ "$T" = "scan-build" ]; then
|
||||
scan-build ./configure --enable-debug --enable-werror $C
|
||||
scan-build --status-bugs make
|
||||
scan-build --status-bugs make examples
|
||||
fi
|
Reference in New Issue
Block a user