mirror of https://github.com/jetkvm/kvm.git
Updates: integrate all dev branch changes
This commit is contained in:
parent
bdcac6a468
commit
ef5c25efcf
|
@ -5,7 +5,7 @@ function sudo() {
|
|||
if [ "$UID" -eq 0 ]; then
|
||||
"$@"
|
||||
else
|
||||
${SUDO_PATH} "$@"
|
||||
${SUDO_PATH} -E "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -42,8 +42,15 @@ AUDIO_DEPS_SCRIPT="${PROJECT_ROOT}/install_audio_deps.sh"
|
|||
|
||||
if [ -f "${AUDIO_DEPS_SCRIPT}" ]; then
|
||||
echo "Running audio dependencies installation..."
|
||||
bash "${AUDIO_DEPS_SCRIPT}"
|
||||
sudo bash "${AUDIO_DEPS_SCRIPT}"
|
||||
echo "Audio dependencies installation completed."
|
||||
if [ -d "/opt/jetkvm-audio-libs" ]; then
|
||||
echo "Audio libraries installed in /opt/jetkvm-audio-libs"
|
||||
sudo chmod -R o+rw /opt/jetkvm-audio-libs
|
||||
else
|
||||
echo "Error: /opt/jetkvm-audio-libs directory not found after installation."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "Warning: Audio dependencies script not found at ${AUDIO_DEPS_SCRIPT}"
|
||||
echo "Skipping audio dependencies installation."
|
||||
|
|
4
Makefile
4
Makefile
|
@ -40,8 +40,8 @@ export GOARCH := arm
|
|||
export GOARM := 7
|
||||
export CC := $(BUILDKIT_PATH)/bin/$(BUILDKIT_FLAVOR)-gcc
|
||||
export CGO_ENABLED := 1
|
||||
export CGO_CFLAGS := $(OPTIM_CFLAGS) -I$(AUDIO_LIBS_DIR)/alsa-lib-$(ALSA_VERSION)/include -I$(AUDIO_LIBS_DIR)/opus-$(OPUS_VERSION)/include -I$(AUDIO_LIBS_DIR)/opus-$(OPUS_VERSION)/celt
|
||||
export CGO_LDFLAGS := -L$(AUDIO_LIBS_DIR)/alsa-lib-$(ALSA_VERSION)/src/.libs -lasound -L$(AUDIO_LIBS_DIR)/opus-$(OPUS_VERSION)/.libs -lopus -lm -ldl -static
|
||||
export CGO_CFLAGS := $(OPTIM_CFLAGS) -I$(BUILDKIT_PATH)/$(BUILDKIT_FLAVOR)/include -I$(BUILDKIT_PATH)/$(BUILDKIT_FLAVOR)/sysroot/usr/include -I$(AUDIO_LIBS_DIR)/alsa-lib-$(ALSA_VERSION)/include -I$(AUDIO_LIBS_DIR)/opus-$(OPUS_VERSION)/include -I$(AUDIO_LIBS_DIR)/opus-$(OPUS_VERSION)/celt
|
||||
export CGO_LDFLAGS := -L$(BUILDKIT_PATH)/$(BUILDKIT_FLAVOR)/lib -L$(BUILDKIT_PATH)/$(BUILDKIT_FLAVOR)/sysroot/usr/lib -lrockit -lrockchip_mpp -lrga -lpthread -L$(AUDIO_LIBS_DIR)/alsa-lib-$(ALSA_VERSION)/src/.libs -lasound -L$(AUDIO_LIBS_DIR)/opus-$(OPUS_VERSION)/.libs -lopus -lm -ldl
|
||||
|
||||
PROMETHEUS_TAG := github.com/prometheus/common/version
|
||||
KVM_PKG_NAME := github.com/jetkvm/kvm
|
||||
|
|
|
@ -17,9 +17,6 @@ import (
|
|||
)
|
||||
|
||||
/*
|
||||
#cgo CFLAGS: -I/opt/jetkvm-audio-libs/alsa-lib-$ALSA_VERSION/include -I/opt/jetkvm-audio-libs/opus-$OPUS_VERSION/include -I/opt/jetkvm-audio-libs/opus-$OPUS_VERSION/celt
|
||||
#cgo LDFLAGS: -L/opt/jetkvm-audio-libs/alsa-lib-$ALSA_VERSION/src/.libs -lasound -L/opt/jetkvm-audio-libs/opus-$OPUS_VERSION/.libs -lopus -lm -ldl -static
|
||||
|
||||
#include "c/audio.c"
|
||||
*/
|
||||
import "C"
|
||||
|
|
|
@ -15,27 +15,52 @@ if [ "$CLEAN_ALL" -eq 1 ]; then
|
|||
fi
|
||||
|
||||
TMP_DIR=$(mktemp -d)
|
||||
# Ensure temp directory persists and is cleaned up properly
|
||||
# Also handle SIGINT (CTRL+C) and SIGTERM - kill all child processes
|
||||
trap 'pkill -P $$; rm -rf "${TMP_DIR}"; exit 1' INT TERM
|
||||
pushd "${CGO_PATH}" > /dev/null
|
||||
|
||||
msg_info "▶ Generating UI index"
|
||||
./ui_index.gen.sh
|
||||
|
||||
msg_info "▶ Building native library"
|
||||
|
||||
# Fix clock skew issues by resetting file timestamps
|
||||
find "${CGO_PATH}" -type f -exec touch {} +
|
||||
|
||||
# Only clean CMake cache if the build configuration files don't exist
|
||||
# This prevents re-running expensive compiler detection on every build
|
||||
if [ ! -f "${BUILD_DIR}/CMakeCache.txt" ]; then
|
||||
msg_info "First build - CMake will configure the project"
|
||||
fi
|
||||
|
||||
VERBOSE=1 cmake -B "${BUILD_DIR}" \
|
||||
-DCMAKE_SYSTEM_PROCESSOR=armv7l \
|
||||
-DCMAKE_SYSTEM_NAME=Linux \
|
||||
-DCMAKE_CROSSCOMPILING=1 \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE \
|
||||
-DCMAKE_C_COMPILER_WORKS=1 \
|
||||
-DCMAKE_CXX_COMPILER_WORKS=1 \
|
||||
-DCMAKE_C_ABI_COMPILED=1 \
|
||||
-DCMAKE_CXX_ABI_COMPILED=1 \
|
||||
-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY \
|
||||
-DLV_BUILD_USE_KCONFIG=ON \
|
||||
-DLV_BUILD_DEFCONFIG_PATH=${CGO_PATH}/lvgl_defconfig \
|
||||
-DCONFIG_LV_BUILD_EXAMPLES=OFF \
|
||||
-DCONFIG_LV_BUILD_DEMOS=OFF \
|
||||
-DSKIP_GLIBC_NAMES=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX="${TMP_DIR}"
|
||||
|
||||
msg_info "▶ Copying built library and header files"
|
||||
cmake --build "${BUILD_DIR}" --target install
|
||||
# Clock skew can cause make to return 1 even when build succeeds
|
||||
# We verify success by checking if the output file exists
|
||||
cmake --build "${BUILD_DIR}" --target install || true
|
||||
|
||||
if [ ! -f "${TMP_DIR}/lib/libjknative.a" ]; then
|
||||
msg_err "Build failed - libjknative.a not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp -r "${TMP_DIR}/include" "${CGO_PATH}"
|
||||
cp -r "${TMP_DIR}/lib" "${CGO_PATH}"
|
||||
rm -rf "${TMP_DIR}"
|
||||
|
|
Loading…
Reference in New Issue