diff --git a/build_linux_full.sh b/build_linux_full.sh new file mode 100755 index 0000000..539173f --- /dev/null +++ b/build_linux_full.sh @@ -0,0 +1,27 @@ +#!/bin/sh +mkdir -p m4 +set -e + +echo "=== Полная пересборка uTun ===" + +# 1. Очистка +echo "[1/4] Очистка..." +make distclean 2>/dev/null || true +rm -f config.h config.status config.log +rm -f configure.log autoreconf.log build.log + +# 2. Автогенерация (autoreconf) +echo "[2/4] Автогенерация (autoreconf -fi)..." +autoreconf -fi 2>&1 | tee autoreconf.log + +# 3. Конфигурация +echo "[3/4] Конфигурация..." +./configure --prefix=/usr/local 2>&1 | tee configure.log + +# 4. Сборка +echo "[4/4] Сборка..." +make -j$(nproc) 2>&1 | tee build.log + +echo "" +echo "=== Готово ===" +echo "Бинарный файл: src/utun" diff --git a/lib/mem.c b/lib/mem.c index f079ee1..12a9905 100644 --- a/lib/mem.c +++ b/lib/mem.c @@ -17,7 +17,7 @@ #define LOCATION_MAX (METADATA_SIZE - POINTER_SIZE) #define NEXT_OFFSET LOCATION_MAX -#if defined(__linux__) || defined(__APPLE__) +#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) #include #include #define BACKTRACE_ENABLED 1 @@ -29,7 +29,7 @@ #define BACKTRACE_ENABLED 0 #endif -#if defined(__linux__) || defined(__APPLE__) +#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) static pthread_mutex_t alloc_mutex = PTHREAD_MUTEX_INITIALIZER; #define LOCK() pthread_mutex_lock(&alloc_mutex) #define UNLOCK() pthread_mutex_unlock(&alloc_mutex)