blob: 4465cec0868b039eb50a5500f429960deca58adc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#!/bin/bash
set -e
date
echo "author: Abdellah El Morabit"
echo
BUILD_DIR=build
SOURCE_DIR=source
INCLUDES="-I${SOURCE_DIR}/loo -I${SOURCE_DIR} -I${SOURCE_DIR}/base"
CFLAGS="-fno-rtti -fno-exceptions -Wall -Wundef -Werror -fanalyzer -no-pie -Wno-unused-function -Wno-unused-variable -O0 "
LIBS=""
DEBUG=1
VULKAN=0
WAYLAND=1
X11=0
if [ $WAYLAND -eq 1 ]; then
CFLAGS+=" -DWAYLAND=1 -DX11=0"
LIBS+="-lwayland-client -lxkbcommon"
# TODO: how often do we need the xdg protocol?
GENERATED_DIR="${BUILD_DIR}/generated"
XDG_SHELL_XML=/usr/share/wayland-protocols/stable/xdg-shell/xdg-shell.xml
mkdir -p "$GENERATED_DIR"
wayland-scanner client-header "$XDG_SHELL_XML" "${GENERATED_DIR}/xdg-shell-client-protocol.h"
wayland-scanner private-code "$XDG_SHELL_XML" "${GENERATED_DIR}/xdg-shell-protocol.c"
INCLUDES+=" -I${GENERATED_DIR}"
elif [ $X11 -eq 1 ]; then
LIBS+=" -lX11"
CFLAGS+=" -DX11=1 -DWAYLAND=0"
fi
if [ $VULKAN -eq 1 ]; then
LIBS+=" -lvulkan"
CFLAGS+=" -DVULKAN=1"
fi
if [ $DEBUG -eq 1 ]; then
CFLAGS+=" -g -DDEBUG=1"
fi
mkdir -p "$BUILD_DIR"
echo "Building ${BUILD_DIR}/loo..."
g++ $INCLUDES $CFLAGS "${SOURCE_DIR}/loo/loo.cpp" -o "${BUILD_DIR}/loo" $LIBS
|