jjj 3 months ago
parent
commit
3284dffaaf
  1. 43
      build_bsd_full.sh

43
build_bsd_full.sh

@ -1,9 +1,25 @@
#!/bin/sh #!/bin/sh
#pkg install -y autoconf openssl
mkdir -p m4
set -e set -e
# Проверка и установка зависимостей
need_install=""
for cmd in autoreconf aclocal automake libtoolize; do
if ! command -v "$cmd" >/dev/null 2>&1; then
need_install=1
break
fi
done
if [ -n "$need_install" ]; then
echo "Устанавливаются необходимые пакеты..."
pkg update
pkg install -y autoconf automake libtool pkgconf openssl
fi
mkdir -p m4
echo "=== Полная пересборка uTun ===" echo "=== Полная пересборка uTun ==="
# 1. Очистка # 1. Очистка
@ -12,18 +28,33 @@ make distclean 2>/dev/null || true
rm -f config.h config.status config.log rm -f config.h config.status config.log
rm -f configure.log autoreconf.log build.log rm -f configure.log autoreconf.log build.log
# 2. Автогенерация (autoreconf) # 2. Генерация configure
echo "[2/4] Автогенерация (autoreconf -fi)..." echo "[2/4] Автогенерация..."
autoreconf -fi 2>&1 | tee autoreconf.log autoreconf -fi 2>&1 | tee autoreconf.log
# Проверяем, появился ли configure
if [ ! -f configure ]; then
echo "Ошибка: autoreconf не создал configure."
exit 1
fi
chmod +x configure
# 3. Конфигурация # 3. Конфигурация
echo "[3/4] Конфигурация..." echo "[3/4] Конфигурация..."
./configure --prefix=/usr/local 2>&1 | tee configure.log ./configure --prefix=/usr/local 2>&1 | tee configure.log
# Определяем количество ядер
if command -v nproc >/dev/null 2>&1; then
JOBS=$(nproc)
else
JOBS=$(sysctl -n hw.ncpu)
fi
# 4. Сборка # 4. Сборка
echo "[4/4] Сборка..." echo "[4/4] Сборка..."
make -j$(nproc) 2>&1 | tee build.log make -j"$JOBS" 2>&1 | tee build.log
echo "" echo
echo "=== Готово ===" echo "=== Готово ==="
echo "Бинарный файл: src/utun" echo "Бинарный файл: src/utun"

Loading…
Cancel
Save