# crosstool-ng
#
ifeq ($(BOXTYPE), armbox)
-CROSSTOOL_NG_SOURCE = crosstool-ng-$(CROSSTOOL_NG_VER).tar.bz2
+CT_NG_PREFIX = crosstool-ng-git
+CT_NG_SUFFIX = tar.gz
+CROSSTOOL_NG_SOURCE = $(CT_NG_PREFIX)-$(CROSSTOOL_NG_VER).$(CT_NG_SUFFIX)
ifeq ($(BOXSERIES),hd5x)
-CT-NG_CONFIG = ct-ng-$(CROSSTOOL_NG_VER)_$(GCC_VER_ARM)_arm_hd5x.config
+CT_NG_CONFIG = ct-ng-git-$(CROSSTOOL_NG_VER)-$(GCC_VER_ARM)_arm_hd5x.config
else ifeq ($(BOXSERIES),hd6x)
-CT_NG_CONFIG = ct-ng-$(CROSSTOOL_NG_VER)_$(GCC_VER_ARM)_arm_hd6x.config
+CT_NG_CONFIG = ct-ng-git-$(CROSSTOOL_NG_VER)-$(GCC_VER_ARM)_arm_hd6x.config
endif
crosstool-ng: $(ARCHIVE)/$(KERNEL_SRC) $(ARCHIVE)/$(CROSSTOOL_NG_SOURCE)
make $(BUILD_TMP)
mkdir -p $(CROSS_BASE)
- $(REMOVE)/crosstool-ng-$(CROSSTOOL_NG_VER)
+ $(REMOVE)/$(CT_NG_PREFIX)-$(CROSSTOOL_NG_VER)
$(UNTAR)/$(CROSSTOOL_NG_SOURCE)
cp -a $(CUSTOM_KERNEL) $(BUILD_TMP)/linux-$(KERNEL_VER).tar.gz
unset CONFIG_SITE LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE; \
- set -e; cd $(BUILD_TMP)/crosstool-ng-$(CROSSTOOL_NG_VER); \
+ set -e; cd $(BUILD_TMP)/$(CT_NG_PREFIX)-$(CROSSTOOL_NG_VER); \
cp -a $(PATCHES)/ct-ng/$(CT_NG_CONFIG) .config; \
NUM_CPUS=$$(expr `getconf _NPROCESSORS_ONLN` \* 2); \
MEM_512M=$$(awk '/MemTotal/ {M=int($$2/1024/512); print M==0?1:M}' /proc/meminfo); \
\
export CT_AAA_ARCHIVE=$(ARCHIVE); \
export CT_AAA_BASE_DIR=$(CROSS_BASE); \
- export CT_AAA_CUSTOM_KERNEL=$(BUILD_TMP)/linux-$(KERNEL_VER).tar.gz; \
+ export CT_AAA_CUSTOM_KERNEL=$(BUILD_TMP)/linux-$(KERNEL_VER).$(CT_NG_SUFFIX); \
\
test -f ./configure || ./bootstrap && \
./configure --enable-local; \
chmod -R +w $(CROSS_BASE)
test -e $(CROSS_BASE)/$(TARGET)/lib || ln -sf sys-root/lib $(CROSS_BASE)/$(TARGET)/
rm -f $(CROSS_BASE)/$(TARGET)/sys-root/lib/libstdc++.so.6.*-gdb.py
- $(REMOVE)/crosstool-ng-$(CROSSTOOL_NG_VER)
+ $(REMOVE)/$(CT_NG_PREFIX)-$(CROSSTOOL_NG_VER)
$(REMOVE)/linux-$(KERNEL_VER).tar.gz
endif
-crossmenuconfig: prerequisites | $(ARCHIVE)/$(CROSSTOOL_NG_SOURCE)
- $(REMOVE)/crosstool-ng-$(CROSSTOOL_NG_VER)
+crossmenuconfig: prerequisites $(ARCHIVE)/$(CROSSTOOL_NG_SOURCE) | $(BUILD_TMP)
+ $(REMOVE)/$(CT_NG_PREFIX)-$(CROSSTOOL_NG_VER)
$(UNTAR)/$(CROSSTOOL_NG_SOURCE)
- set -e; unset CONFIG_SITE; cd $(BUILD_TMP)/crosstool-ng-$(CROSSTOOL_NG_VER); \
- cp -a $(PATCHES)/ct-ng/$(CT-NG_CONFIG) .config; \
+ set -e; unset CONFIG_SITE; cd $(BUILD_TMP)/$(CT_NG_PREFIX)-$(CROSSTOOL_NG_VER); \
+ cp -a $(PATCHES)/ct-ng/$(CT_NG_CONFIG) .config; \
test -f ./configure || ./bootstrap && \
./configure --enable-local; \
MAKELEVEL=0 make; \
else ifeq ($(BOXSERIES),$(filter $(BOXSERIES), hd5x hd6x))
CORTEX-STRINGS = -lcortex-strings
TARGET = arm-cortex-linux-gnueabihf
- TARGET_O_CFLAGS = -O2 -flto
+ TARGET_O_CFLAGS = -O2
TARGET_ARCH = arm
TARGET_CPU = armv7ve
TARGET_ABI = -march=$(TARGET_CPU) -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard
TARGET_ENDIAN = little
- TARGET_EXTRA_CFLAGS =
- TARGET_EXTRA_LDFLAGS = -flto
+ TARGET_EXTRA_CFLAGS = -Wno-implicit-function-declaration
+ TARGET_EXTRA_LDFLAGS =
CXX11_ABI =
else
LDFLAGS="$(TARGET_LDFLAGS)" \
PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)
+BUILDENV_NO_LTO = \
+ CFLAGS="$(filter-out -flto,$(TARGET_CFLAGS))" \
+ CPPFLAGS="$(filter-out -flto,$(TARGET_CPPFLAGS))" \
+ CXXFLAGS="$(filter-out -flto,$(TARGET_CXXFLAGS))" \
+ LDFLAGS="$(filter-out -flto,$(TARGET_LDFLAGS))" \
+ PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)
+
CONFIGURE_OPTS = \
--build=$(BUILD) \
--host=$(TARGET)
endif
ifeq ($(BOXSERIES), $(filter $(BOXSERIES), hd1))
-FF_TARGET_CFLAGS = "-pipe -O3 $(TARGET_ABI) $(TARGET_EXTRA_CFLAGS) $(CXX11_ABI) -g -I$(TARGETPREFIX)/include"
-FF_TARGET_LDFLAGS = "-O1 -Wl,-rpath,$(TARGETLIB) -Wl,-rpath-link,$(TARGETLIB) -L$(TARGETLIB) -Wl,--gc-sections"
FFMPEG_CONFIGURE += --disable-iconv
FFMPEG_CONFIGURE += --cpu=armv6 --disable-vfp
endif
$(REMOVE)/ffmpeg-$(FFMPEG_VER)
ffmpeg-coolstream: $(ARCHIVE)/ffmpeg-$(FFMPEG_VER).tar.xz | $(TARGETPREFIX)
- echo `env | grep CFLAGS`
- echo "#######"
$(START_BUILD)
$(REMOVE)/ffmpeg-$(FFMPEG_VER)
$(UNTAR)/ffmpeg-$(FFMPEG_VER).tar.xz
echo -e "==> $(TERM_RED)Applying Patch:$(TERM_NORMAL) $$i"; \
patch -p1 < $$i; \
done; \
- $(BUILDENV) && \
- if [ "$(BOXSERIES)" = "hd1" ]; then \
- CFLAGS=$(FF_TARGET_CFLAGS); \
- CPPFLAGS=$(FF_TARGET_CFLAGS); \
- CXXFLAGS=$(FF_TARGET_CFLAGS); \
- LDFLAGS=$(FF_TARGET_LDFLAGS); \
- fi; \
+ $(BUILDENV_NO_LTO) \
./configure \
$(FFMPEG_CONFIGURE) \
$(FFMPEG_CONF_OPTS); \
$(MAKE) && \
$(MAKE) install DESTDIR=$(TARGETPREFIX)
- echo `env | grep CFLAGS`
- echo "#######"
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libavfilter.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libavdevice.pc
$(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libavformat.pc
ifeq ($(BOXSERIES), $(filter $(BOXSERIES), hd1))
FFMPEG_CONFIGURE += --disable-iconv
-FFMPEG_CONFIGURE += --cpu=armv6 --enable-armv6 --disable-vfp --extra-cflags="-I$(TARGETPREFIX)/include"
+FFMPEG_CONFIGURE += --cpu=armv6 --disable-vfp
endif
ifeq ($(BOXTYPE), armbox)
echo -e "==> $(TERM_RED)Applying Patch:$(TERM_NORMAL) $$i"; \
patch -p1 < $$i; \
done; \
- $(BUILDENV) \
+ $(BUILDENV_NO_LTO) \
./configure \
$(FFMPEG_CONFIGURE) \
$(FFMPEG_CONF_OPTS); \
echo -e "==> $(TERM_RED)Applying Patch:$(TERM_NORMAL) $$i"; \
patch -p1 < $$i; \
done; \
- $(BUILDENV) \
+ $(BUILDENV_NO_LTO) \
./configure \
$(FFMPEG_CONFIGURE) \
$(FFMPEG_CONF_OPTS); \
$(D)/alsa-lib: $(ARCHIVE)/alsa-lib-$(ALSA_LIB_VER).tar.bz2 | $(TARGETPREFIX)
$(START_BUILD)
+ $(REMOVE)/alsa-lib-$(ALSA_LIB_VER)
$(UNTAR)/alsa-lib-$(ALSA_LIB_VER).tar.bz2
set -e; cd $(BUILD_TMP)/alsa-lib-$(ALSA_LIB_VER); \
$(call apply_patches, $(addprefix alsa-lib/, $(ALSA-LIB_PATCH))); \
- autoreconf -fi; \
+ autoreconf; \
$(CONFIGURE) \
+ CFLAGS="$(filter-out -flto,$(TARGET_CFLAGS))" \
+ CPPFLAGS="$(filter-out -flto,$(TARGET_CPPFLAGS))" \
+ CXXFLAGS="$(filter-out -flto,$(TARGET_CXXFLAGS))" \
+ LDFLAGS="$(filter-out -flto,$(TARGET_LDFLAGS))" \
--prefix= \
--datarootdir=/.remove \
--with-alsa-devdir=/dev/snd/ \
# versions
# The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality to the Linux operating system.
-ALSA_LIB_VER = 1.2.6.1
+ALSA_LIB_VER = 1.2.12
AUTOFS4_VER = 4.1.4
#CT_NG_VER_HD1 = 1.26.0
CT_NG_VER_HD1 = 839bfbe
CT_NG_VER_HD2 = 839bfbe
-CT_NG_VER_ARM = 1.26.0
+CT_NG_VER_ARM = 839bfbe
# Ethtool is a utility for configuration of Network Interface Cards ( NICs )
ETHTOOL_VER = 6.0
GCC_VER_HD1 = gcc-14.1.0
#GCC_VER_HD1 = linaro-4.9-2017.01
GCC_VER_HD2 = gcc-13.3.0
-GCC_VER_ARM = gcc-13.2.0
+GCC_VER_ARM = gcc-14.1.0
# Dropbear is a relatively small SSH server and client
DROPBEAR_VER=2024.85