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