From 1530c6833afd310cde642feeb70ad95a0a41b90d Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Fri, 12 Jun 2026 09:29:13 +0800
Subject: [PATCH] Add libevdev library for LVGL

---
 libevdev/build.sh |  132 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 132 insertions(+), 0 deletions(-)

diff --git a/libevdev/build.sh b/libevdev/build.sh
new file mode 100755
index 0000000..a4ff82a
--- /dev/null
+++ b/libevdev/build.sh
@@ -0,0 +1,132 @@
+#!/bin/bash
+
+# Git url
+GITURL=https://gitlab.freedesktop.org/libevdev/libevdev.git
+
+# branch
+BRANCH=master
+
+# library name
+LIB_NAME=$(basename "$GITURL" .git)
+
+# Cross compiler for cross compile on Linux server
+CROSS_COMPILE=/opt/gcc-aarch32-10.3-2021.07/bin/arm-none-linux-gnueabihf-
+
+# compile jobs
+JOBS=`cat /proc/cpuinfo |grep "processor"|wc -l`
+
+# this project absolute path
+PRJ_PATH=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)
+
+# top project absolute path
+TOP_PATH=$(realpath $PRJ_PATH/..)
+
+# binaries build prefix install path
+PREFIX_PATH=$TOP_PATH/install
+
+# binaries finally install path if needed
+#INST_PATH=/tftp
+
+# download taballs path
+TARBALL_PATH=$PRJ_PATH/tarballs
+
+# shell script will exit once get command error
+set -e
+
+#+-------------------------+
+#| Shell script functions  |
+#+-------------------------+
+
+function pr_error() {
+    echo -e "\033[40;31m $1 \033[0m"
+}
+
+function pr_warn() {
+    echo -e "\033[40;33m $1 \033[0m"
+}
+
+function pr_info() {
+    echo -e "\033[40;32m $1 \033[0m"
+}
+
+function do_export()
+{
+    pr_warn "cross(${CROSS_COMPILE}) compile $LIB_NAME"
+
+    export CC=${CROSS_COMPILE}gcc
+    export CXX=${CROSS_COMPILE}g++
+    export AR=${CROSS_COMPILE}ar
+    export LD=${CROSS_COMPILE}ld
+    export STRIP=${CROSS_COMPILE}strip
+
+    export CROSS_FILE=cross.txt
+}
+
+function do_fetch()
+{
+    if [ -d $LIB_NAME ] ; then
+        pr_warn "$LIB_NAME source code fetched already"
+        return 0;
+    fi
+
+    pr_info "start fetch $LIB_NAME source code"
+    if [ ! -d $LIB_NAME ] ; then
+        git clone -b $BRANCH $GITURL
+    fi
+
+    cd $PRJ_PATH
+}
+
+function do_build()
+{
+    BUILD_DIR="build"
+
+    cd "$LIB_NAME" || exit 1
+
+    rm -rf "$BUILD_DIR" && mkdir -p $BUILD_DIR && cd $BUILD_DIR
+
+    cat > "$CROSS_FILE" <<EOF
+
+[binaries]
+c = '${CC}'
+cpp = '${CXX}'
+ar = '${AR}'
+strip = '${STRIP}'
+pkgconfig = 'pkg-config'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'arm'
+cpu = 'armv7'
+endian = 'little'
+EOF
+
+    meson setup .. --cross-file "$CROSS_FILE" --prefix="$PREFIX_PATH" -Ddocumentation=disabled -Dtests=disabled
+
+    ninja -j$(nproc) && ninja install
+
+    cd "$PRJ_PATH" || exit 1
+}
+
+function do_clean()
+{
+    rm -rf *${LIB_NAME}*
+}
+
+if [[ $# == 1 && $1 == -c ]] ;then
+    pr_warn "start clean ${LIB_NAME}"
+    do_clean
+    exit;
+fi
+
+if [ -e $PREFIX_PATH/lib/libevdev.so ] ; then
+    pr_warn "$LIB_NAME compiled already, exit..."
+    exit;
+fi
+
+do_fetch
+
+do_export
+
+do_build
+

--
Gitblit v1.10.0