Skip to content

Commit

Permalink
update makefile and local build scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
gtxaspec committed Aug 10, 2024
1 parent b0c2b3b commit 577701d
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 88 deletions.
5 changes: 0 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
CC = ${CROSS_COMPILE}gcc
CXX = ${CROSS_COMPILE}g++

#required for libwebsockets
CONFIG_UCLIBC_BUILD=n
CONFIG_GCC_BUILD=n
CONFIG_MUSL_BUILD=y
CONFIG_STATIC_BUILD=n
DEBUG=n

CXXFLAGS = $(CFLAGS) -std=c++20
Expand Down
11 changes: 9 additions & 2 deletions build.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#!/bin/bash
set -e

PRUDYNT_CROSS="ccache mipsel-linux-"
TOP=$(pwd)

Expand Down Expand Up @@ -29,7 +28,15 @@ deps() {

echo "Build libwebsockets"
cd 3rdparty
../scripts/make_libwebsockets_deps.sh

CROSS_COMPILE=${PRUDYNT_CROSS}

if [[ "$2" == "-static" ]]; then
PRUDYNT_CROSS=$PRUDYNT_CROSS ../scripts/make_libwebsockets_deps.sh -static
else
PRUDYNT_CROSS=$PRUDYNT_CROSS ../scripts/make_libwebsockets_deps.sh
fi

cd ../

echo "Build libschrift"
Expand Down
87 changes: 6 additions & 81 deletions scripts/make_libwebsockets_deps.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#!/bin/bash

# -----------------------------------------------------------------------------
# This script automates the process of setting up a cross-compilation
# environment for the libwebsockets library. It prepares the build
Expand All @@ -20,34 +19,13 @@ LWS_DIR="${BUILD_DIR}/libwebsockets"
LWS_VER="4415e84c095857629863804e941b9e1c2e9347ef"
MAKEFILE="$SCRIPT_DIR/../Makefile"

echo $MAKEFILE
# Set compiler prefix here
if [ -n "$BR2_CONFIG" ]; then
echo "Running within Buildroot build process."
else

if grep -q "CONFIG_UCLIBC_BUILD=y" "$MAKEFILE"; then
echo "Build type: uClibc"
CROSS_COMPILE="mips-linux-uclibc-gnu-"
elif grep -q "CONFIG_MUSL_BUILD=y" "$MAKEFILE"; then
echo "Build type: musl"
CROSS_COMPILE="mipsel-linux-"
elif grep -q "CONFIG_GCC_BUILD=y" "$MAKEFILE"; then
echo "Build type: GCC"
CROSS_COMPILE="mipsel-linux-gnu-"
fi

fi

CC="${CROSS_COMPILE}gcc"
CXX="${CROSS_COMPILE}g++"
STRIP="${CROSS_COMPILE}strip --strip-unneeded"
echo "CROSS0 IS $PRUDYNT_CROSS"
PRUDYNT_CROSS="${PRUDYNT_CROSS#ccache }"
echo "CROSS IS $PRUDYNT_CROSS"

# Ensure CC and CXX are set
if [ -z "$CC" ] || [ -z "$CXX" ]; then
echo "Error: CC and CXX environment variables must be set."
exit 1
fi
CC="${PRUDYNT_CROSS}gcc"
CXX="${PRUDYNT_CROSS}g++"
STRIP="${PRUDYNT_CROSS}strip --strip-unneeded"

# Create libwebsockets build directory
echo "Creating libwebsockets build directory..."
Expand Down Expand Up @@ -75,8 +53,6 @@ cd build

# Configure and build libwebsockets library

if grep -q "CONFIG_STATIC_BUILD=n" "$MAKEFILE"; then
echo "Found CONFIG_STATIC_BUILD=n"
echo "Configuring libwebsockets library..."
cmake \
-DCMAKE_SYSTEM_NAME=Linux \
Expand Down Expand Up @@ -125,57 +101,6 @@ cmake \
-DLWS_WITHOUT_TESTAPPS=ON \
..

elif grep -q "CONFIG_STATIC_BUILD=y" "$MAKEFILE"; then
echo "Found CONFIG_STATIC_BUILD=y"
echo "Configuring libwebsockets library..."
cmake \
-DCMAKE_SYSTEM_NAME=Linux \
-DCMAKE_SYSTEM_PROCESSOR=mipsle \
-DCMAKE_C_COMPILER_LAUNCHER=$(which ccache) \
-DCMAKE_CXX_COMPILER_LAUNCHER=$(which ccache) \
-DCMAKE_C_COMPILER=${CC} \
-DCMAKE_CXX_COMPILER=${CXX} \
-DCMAKE_BUILD_TYPE=RELEASE \
-DDISABLE_WERROR=ON \
-DLWS_WITH_DIR=OFF \
-DLWS_WITH_LEJP_CONF=OFF \
-DLWS_WITHOUT_EXTENSIONS=1 \
-DLWS_WITH_NETLINK=OFF \
-DLWS_WITH_SSL=OFF \
-DLWS_HAVE_LIBCAP=OFF \
-DLWS_CTEST_INTERNET_AVAILABLE=OFF \
-DLWS_WITH_MINIMAL_EXAMPLES=OFF \
-DLWS_IPV6=ON \
-DLWS_ROLE_RAW_FILE=OFF \
-DLWS_UNIX_SOCK=OFF \
-DLWS_WITH_HTTP_BASIC_AUTH=OFF \
-DLWS_WITH_HTTP_UNCOMMON_HEADERS=OFF \
-DLWS_WITH_SYS_STATE=OFF \
-DLWS_WITH_SYS_SMD=OFF \
-DLWS_WITH_UPNG=OFF \
-DLWS_WITH_GZINFLATE=OFF \
-DLWS_WITH_JPEG=OFF \
-DLWS_WITH_DLO=OFF \
-DLWS_WITH_SECURE_STREAMS=OFF \
-DLWS_SSL_CLIENT_USE_OS_CA_CERTS=OFF \
-DLWS_WITH_TLS_SESSIONS=OFF \
-DLWS_WITH_EVLIB_PLUGINS=OFF \
-DLWS_WITH_LEJP=OFF \
-DLWS_WITH_CBOR_FLOAT=OFF \
-DLWS_WITH_LHP=OFF \
-DLWS_WITH_JSONRPC=OFF \
-DLWS_WITH_LWSAC=OFF \
-DLWS_WITH_CUSTOM_HEADERS=OFF \
-DLWS_CLIENT_HTTP_PROXYING=OFF \
-DLWS_WITH_FILE_OPS=OFF \
-DLWS_WITH_CONMON=OFF \
-DLWS_WITH_CACHE_NSCOOKIEJAR=OFF \
-DLWS_WITHOUT_TESTAPPS=ON \
..
else
echo "CONFIG_STATIC_BUILD setting not found or is set to an unexpected value."
fi

echo "Building libwebsockets library..."
make -j$(nproc)

Expand Down

0 comments on commit 577701d

Please sign in to comment.