mirror of
https://github.com/emqx/neuron.git
synced 2026-10-16 20:30:39 +08:00
115 lines
3.7 KiB
Bash
Executable File
115 lines
3.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Install openssl
|
|
echo "Installing openssl..."
|
|
sudo apt-get install libssl-dev openssl -y
|
|
|
|
# Install zlog
|
|
echo "Installing zlog..."
|
|
git clone -b 1.2.15 https://github.com/HardySimpson/zlog.git
|
|
cd zlog
|
|
make && sudo make install
|
|
cd ..
|
|
|
|
# Install jansson
|
|
echo "Installing jansson..."
|
|
git clone https://github.com/neugates/jansson.git
|
|
cd jansson && mkdir build && cd build
|
|
cmake -DJANSSON_BUILD_DOCS=OFF -DJANSSON_EXAMPLES=OFF .. && make && sudo make install
|
|
cd ../..
|
|
|
|
# Install mbedtls
|
|
echo "Installing mbedtls..."
|
|
git clone -b v2.16.12 https://github.com/Mbed-TLS/mbedtls.git
|
|
cd mbedtls && mkdir build && cd build
|
|
cmake -DUSE_SHARED_MBEDTLS_LIBRARY=OFF -DENABLE_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON .. && make && sudo make install
|
|
cd ../..
|
|
|
|
# Install NanoSDK
|
|
echo "Installing NanoSDK..."
|
|
git clone https://github.com/neugates/NanoSDK.git
|
|
cd NanoSDK && mkdir build && cd build
|
|
cmake -DBUILD_SHARED_LIBS=OFF -DNNG_TESTS=OFF -DNNG_ENABLE_SQLITE=ON -DNNG_ENABLE_TLS=ON .. && make && sudo make install
|
|
cd ../..
|
|
|
|
# Install jwt
|
|
echo "Installing jwt..."
|
|
git clone -b v1.13.1 https://github.com/benmcollins/libjwt.git
|
|
cd libjwt && mkdir build && cd build
|
|
cmake -DENABLE_PIC=ON -DBUILD_SHARED_LIBS=OFF .. && make && sudo make install
|
|
cd ../..
|
|
|
|
# Install googletest
|
|
echo "Installing googletest..."
|
|
git clone -b release-1.11.0 https://github.com/google/googletest.git
|
|
cd googletest && mkdir build && cd build
|
|
cmake .. && make && sudo make install
|
|
cd ../..
|
|
|
|
# Install sqlite
|
|
echo "Installing sqlite..."
|
|
curl -o sqlite3.tar.gz https://www.sqlite.org/2022/sqlite-autoconf-3390000.tar.gz
|
|
mkdir sqlite3
|
|
tar xzf sqlite3.tar.gz --strip-components=1 -C sqlite3
|
|
cd sqlite3
|
|
./configure CFLAGS=-fPIC && make && sudo make install
|
|
cd ..
|
|
|
|
# Install protobuf
|
|
echo "Installing protobuf..."
|
|
wget --no-check-certificate --content-disposition https://github.com/protocolbuffers/protobuf/releases/download/v3.20.1/protobuf-cpp-3.20.1.tar.gz
|
|
tar -xzvf protobuf-cpp-3.20.1.tar.gz
|
|
cd protobuf-3.20.1
|
|
./configure --enable-shared=no CFLAGS=-fPIC CXXFLAGS=-fPIC
|
|
make && sudo make install
|
|
cd ..
|
|
|
|
# Install protobuf-c
|
|
echo "Installing protobuf-c..."
|
|
git clone -b v1.4.0 https://github.com/protobuf-c/protobuf-c.git
|
|
cd protobuf-c
|
|
./autogen.sh
|
|
./configure --disable-protoc --enable-shared=no CFLAGS=-fPIC CXXFLAGS=-fPIC
|
|
make && sudo make install
|
|
cd ..
|
|
|
|
# Install cyrus-sasl
|
|
echo "Installing cyrus-sasl..."
|
|
git clone -b cyrus-sasl-2.1.28 https://github.com/cyrusimap/cyrus-sasl.git
|
|
cd cyrus-sasl
|
|
autoreconf -fi
|
|
./configure --enable-shared --disable-static --disable-sample \
|
|
--disable-checkapop --disable-cram --disable-digest --disable-otp \
|
|
--disable-srp --disable-gssapi --disable-sql \
|
|
--enable-plain --enable-scram --enable-login \
|
|
--with-dblib=none --without-saslauthd --without-authdaemond
|
|
make && sudo make install
|
|
cd ..
|
|
|
|
# Install zstd
|
|
echo "Installing zstd..."
|
|
git clone -b v1.5.6 https://github.com/facebook/zstd.git
|
|
cd zstd/build/cmake && mkdir builddir && cd builddir
|
|
cmake -DZSTD_BUILD_PROGRAMS=OFF -DZSTD_BUILD_TESTS=OFF -DZSTD_BUILD_SHARED=ON -DZSTD_BUILD_STATIC=OFF -DCMAKE_BUILD_TYPE=Release ..
|
|
make && sudo make install
|
|
cd ../../../..
|
|
|
|
# Install librdkafka
|
|
echo "Installing librdkafka..."
|
|
git clone -b v2.6.1 https://github.com/confluentinc/librdkafka.git
|
|
cd librdkafka && mkdir build && cd build
|
|
cmake -DRDKAFKA_BUILD_STATIC=OFF -DRDKAFKA_BUILD_EXAMPLES=OFF -DRDKAFKA_BUILD_TESTS=OFF -DWITH_SSL=ON -DWITH_ZLIB=ON -DWITH_SASL=ON -DWITH_ZSTD=ON -DWITH_CURL=OFF -DCMAKE_BUILD_TYPE=Release ..
|
|
make && sudo make install
|
|
cd ../..
|
|
|
|
# Install libxml2
|
|
echo "Installing libxml2..."
|
|
git clone -b v2.9.14 https://github.com/GNOME/libxml2.git
|
|
cd libxml2
|
|
./autogen.sh
|
|
./configure --enable-shared=no CFLAGS=-fPIC CXXFLAGS=-fPIC
|
|
make && sudo make install
|
|
cd ..
|
|
|
|
echo "All dependencies installed successfully."
|