41 lines
1.0 KiB
Bash
41 lines
1.0 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
DIR="$(cd -- "$(dirname -- "$0")" && pwd)"
|
|
|
|
if ! XCB=$(pkg-config --cflags --libs xcb xcb-icccm 2>/dev/null); then
|
|
echo "Error: lib-xcb not found. Please install lib-xcb." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! xrandr --version >/dev/null 2>&1; then
|
|
echo "Error: xrandr not found. Please install xrandr." >&2
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$DIR/build"
|
|
|
|
gcc -shared -fPIC -Wall -Wextra -o "$DIR/build/X-kutu.so" "$DIR/src/c/X-kutu.c" $XCB
|
|
|
|
if [ ! -f "$DIR/build/X-kutu.so" ]; then
|
|
echo "Error: compilation failed." >&2
|
|
exit 1
|
|
else
|
|
echo "Success: $DIR/build/X-kutu.so is compiled."
|
|
fi
|
|
|
|
for f in "$DIR/kutu-run.rb" "$DIR/kutu.rb" "$DIR/src/shell/"*; do
|
|
chmod +x "$f" || {
|
|
echo "Error: Failed to chmod $f" >&2
|
|
exit 1
|
|
}
|
|
done
|
|
|
|
if ! command -v kutu.rb >/dev/null 2>&1 || ! command -v kutu-run.rb >/dev/null 2>&1; then
|
|
echo "Tip: Add $DIR to your PATH to run 'kutu.rb' and 'kutu-run.rb' from anywhere:"
|
|
echo "export PATH=\"\$PATH:$DIR\""
|
|
fi
|
|
|
|
echo -e "\e[32mAll done! Build successful.\e[0m"
|