From 0d098a04a6be59bc3190fe37b2bd63a53d6e569b Mon Sep 17 00:00:00 2001 From: Markham Date: Fri, 26 Feb 2016 01:28:00 +0100 Subject: [PATCH] BS: possibility to build CT-NG-1.21 and Neutrino for Apollo --- Makefile | 2 +- .../ct-ng-1.20/ct-ng-1.21.0-2.config | 572 ++++++++++++++++++ .../ct-ng-1.20/ct-ng-uClibc-0.9.33.2.config | 11 +- ...around_changed_output_of_GNU_cpp_5.x.patch | 18 + make/applications.mk | 17 +- make/archives.mk | 60 +- make/bootstrap.mk | 18 +- make/crosstool.mk | 143 +++-- make/environment.mk | 73 ++- make/libraries.mk | 37 +- make/neutrino.mk | 132 ++-- make/prerequisites.mk | 12 +- make/versions.mk | 23 + 13 files changed, 888 insertions(+), 230 deletions(-) create mode 100644 archive-patches/ct-ng-1.20/ct-ng-1.21.0-2.config create mode 100755 archive-patches/ncurses_workaround_changed_output_of_GNU_cpp_5.x.patch diff --git a/Makefile b/Makefile index d71e7d2..e48ef3b 100755 --- a/Makefile +++ b/Makefile @@ -145,7 +145,7 @@ wittinobi-neutrino-flash: @echo "" wittinobi-all: - $(MAKE) neutrino applications multimedia plugins skeleton bootloader kernel drivers rootfs flash-prepare flash flash-full flash-check flash-full-check flash-finalize + $(MAKE) neutrino applications multimedia plugins skeleton bootloader kernel drivers rootfs flash-prepare flash flash-full flash-check flash-finalize @echo "" @echo ' ============================================================================== ' @echo -e " \033[32mmake wittinobi-all done\033[0m" diff --git a/archive-patches/ct-ng-1.20/ct-ng-1.21.0-2.config b/archive-patches/ct-ng-1.20/ct-ng-1.21.0-2.config new file mode 100644 index 0000000..2d1c49f --- /dev/null +++ b/archive-patches/ct-ng-1.20/ct-ng-1.21.0-2.config @@ -0,0 +1,572 @@ +# +# Automatically generated file; DO NOT EDIT. +# Crosstool-NG Configuration +# +CT_CONFIGURE_has_xz=y +CT_CONFIGURE_has_cvs=y +CT_CONFIGURE_has_svn=y +CT_MODULES=y + +# +# Paths and misc options +# + +# +# crosstool-NG behavior +# +# CT_OBSOLETE is not set +CT_EXPERIMENTAL=y +# CT_ALLOW_BUILD_AS_ROOT is not set +# CT_DEBUG_CT is not set + +# +# Paths +# +CT_LOCAL_TARBALLS_DIR="${CST_BASE_DIR}/download" +CT_SAVE_TARBALLS=y +CT_WORK_DIR="${CT_TOP_DIR}/targets" +CT_PREFIX_DIR="${CST_BASE_DIR}/cross" +CT_INSTALL_DIR="${CT_PREFIX_DIR}" +CT_RM_RF_PREFIX_DIR=y +CT_REMOVE_DOCS=y +# CT_INSTALL_DIR_RO is not set +CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y +# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set + +# +# Downloading +# +# CT_FORBID_DOWNLOAD is not set +# CT_FORCE_DOWNLOAD is not set +CT_CONNECT_TIMEOUT=20 +# CT_ONLY_DOWNLOAD is not set +# CT_USE_MIRROR is not set + +# +# Extracting +# +# CT_FORCE_EXTRACT is not set +CT_OVERIDE_CONFIG_GUESS_SUB=y +# CT_ONLY_EXTRACT is not set +# CT_PATCH_BUNDLED is not set +# CT_PATCH_LOCAL is not set +CT_PATCH_BUNDLED_LOCAL=y +# CT_PATCH_LOCAL_BUNDLED is not set +# CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set +# CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set +# CT_PATCH_NONE is not set +CT_PATCH_ORDER="bundled,local" +CT_PATCH_USE_LOCAL=y +CT_LOCAL_PATCH_DIR="${CT_TOP_DIR}/targets/patches" + +# +# Build behavior +# +CT_PARALLEL_JOBS=3 +CT_LOAD="" +CT_USE_PIPES=y +CT_EXTRA_CFLAGS_FOR_BUILD="" +CT_EXTRA_LDFLAGS_FOR_BUILD="" +CT_EXTRA_CFLAGS_FOR_HOST="" +CT_EXTRA_LDFLAGS_FOR_HOST="" +# CT_CONFIG_SHELL_SH is not set +# CT_CONFIG_SHELL_ASH is not set +CT_CONFIG_SHELL_BASH=y +# CT_CONFIG_SHELL_CUSTOM is not set +CT_CONFIG_SHELL="${bash}" + +# +# Logging +# +# CT_LOG_ERROR is not set +# CT_LOG_WARN is not set +CT_LOG_INFO=y +# CT_LOG_EXTRA is not set +# CT_LOG_ALL is not set +# CT_LOG_DEBUG is not set +CT_LOG_LEVEL_MAX="INFO" +# CT_LOG_SEE_TOOLS_WARN is not set +CT_LOG_PROGRESS_BAR=y +CT_LOG_TO_FILE=y +CT_LOG_FILE_COMPRESS=y + +# +# Target options +# +CT_ARCH="arm" +CT_ARCH_SUPPORTS_BOTH_MMU=y +CT_ARCH_SUPPORTS_BOTH_ENDIAN=y +CT_ARCH_SUPPORTS_32=y +CT_ARCH_SUPPORTS_64=y +CT_ARCH_SUPPORTS_WITH_ARCH=y +CT_ARCH_SUPPORTS_WITH_CPU=y +CT_ARCH_SUPPORTS_WITH_TUNE=y +CT_ARCH_SUPPORTS_WITH_FLOAT=y +CT_ARCH_SUPPORTS_WITH_FPU=y +CT_ARCH_SUPPORTS_SOFTFP=y +CT_ARCH_DEFAULT_HAS_MMU=y +CT_ARCH_DEFAULT_LE=y +CT_ARCH_DEFAULT_32=y +CT_ARCH_ARCH="armv7-a" +CT_ARCH_CPU="" +CT_ARCH_TUNE="cortex-a9" +CT_ARCH_FPU="vfpv3-d16" +# CT_ARCH_BE is not set +CT_ARCH_LE=y +CT_ARCH_32=y +# CT_ARCH_64 is not set +CT_ARCH_BITNESS=32 +CT_ARCH_FLOAT_HW=y +# CT_ARCH_FLOAT_SW is not set +CT_TARGET_CFLAGS="" +CT_TARGET_LDFLAGS="" +# CT_ARCH_alpha is not set +CT_ARCH_arm=y +# CT_ARCH_avr is not set +# CT_ARCH_m68k is not set +# CT_ARCH_microblaze is not set +# CT_ARCH_mips is not set +# CT_ARCH_nios2 is not set +# CT_ARCH_powerpc is not set +# CT_ARCH_s390 is not set +# CT_ARCH_sh is not set +# CT_ARCH_sparc is not set +# CT_ARCH_x86 is not set +# CT_ARCH_xtensa is not set +CT_ARCH_alpha_AVAILABLE=y +CT_ARCH_arm_AVAILABLE=y +CT_ARCH_avr_AVAILABLE=y +CT_ARCH_m68k_AVAILABLE=y +CT_ARCH_microblaze_AVAILABLE=y +CT_ARCH_mips_AVAILABLE=y +CT_ARCH_nios2_AVAILABLE=y +CT_ARCH_powerpc_AVAILABLE=y +CT_ARCH_s390_AVAILABLE=y +CT_ARCH_sh_AVAILABLE=y +CT_ARCH_sparc_AVAILABLE=y +CT_ARCH_x86_AVAILABLE=y +CT_ARCH_xtensa_AVAILABLE=y +CT_ARCH_SUFFIX="" + +# +# Generic target options +# +# CT_MULTILIB is not set +CT_ARCH_USE_MMU=y +CT_ARCH_ENDIAN="little" + +# +# Target optimisations +# +CT_ARCH_EXCLUSIVE_WITH_CPU=y +# CT_ARCH_FLOAT_AUTO is not set +# CT_ARCH_FLOAT_SOFTFP is not set +CT_ARCH_FLOAT="hard" + +# +# arm other options +# +CT_ARCH_ARM_MODE="arm" +CT_ARCH_ARM_MODE_ARM=y +# CT_ARCH_ARM_MODE_THUMB is not set +CT_ARCH_ARM_INTERWORKING=y +CT_ARCH_ARM_EABI_FORCE=y +CT_ARCH_ARM_EABI=y +# CT_ARCH_ARM_TUPLE_USE_EABIHF is not set + +# +# Toolchain options +# + +# +# General toolchain options +# +CT_FORCE_SYSROOT=y +CT_USE_SYSROOT=y +CT_SYSROOT_NAME="sys-root" +CT_SYSROOT_DIR_PREFIX="" +CT_WANTS_STATIC_LINK=y +CT_STATIC_TOOLCHAIN=y +CT_TOOLCHAIN_PKGVERSION="" +CT_TOOLCHAIN_BUGURL="" + +# +# Tuple completion and aliasing +# +CT_TARGET_VENDOR="cortex" +CT_TARGET_ALIAS_SED_EXPR="" +CT_TARGET_ALIAS="arm-linux" + +# +# Toolchain type +# +# CT_NATIVE is not set +CT_CROSS=y +# CT_CROSS_NATIVE is not set +# CT_CANADIAN is not set +CT_TOOLCHAIN_TYPE="cross" + +# +# Build system +# +CT_BUILD="" +CT_BUILD_PREFIX="" +CT_BUILD_SUFFIX="" + +# +# Misc options +# +CT_TOOLCHAIN_ENABLE_NLS=y + +# +# Operating System +# +CT_KERNEL_SUPPORTS_SHARED_LIBS=y +CT_KERNEL="linux" +CT_KERNEL_VERSION="${CST_CUSTOM_KERNEL_VER}" +# CT_KERNEL_bare_metal is not set +CT_KERNEL_linux=y +CT_KERNEL_bare_metal_AVAILABLE=y +CT_KERNEL_linux_AVAILABLE=y +CT_KERNEL_LINUX_CUSTOM=y +CT_KERNEL_LINUX_CUSTOM_LOCATION="${CST_CUSTOM_KERNEL}" +CT_KERNEL_LINUX_CUSTOM_VERSION="${CST_CUSTOM_KERNEL_VER}" +CT_KERNEL_windows_AVAILABLE=y + +# +# Common kernel options +# +CT_SHARED_LIBS=y + +# +# linux other options +# +CT_KERNEL_LINUX_VERBOSITY_0=y +# CT_KERNEL_LINUX_VERBOSITY_1 is not set +# CT_KERNEL_LINUX_VERBOSITY_2 is not set +CT_KERNEL_LINUX_VERBOSE_LEVEL=0 +CT_KERNEL_LINUX_INSTALL_CHECK=y + +# +# Binary utilities +# +CT_ARCH_BINFMT_ELF=y +CT_BINUTILS="binutils" +CT_BINUTILS_binutils=y + +# +# GNU binutils +# +# CT_BINUTILS_CUSTOM is not set +CT_BINUTILS_VERSION="linaro-2.25.0-2015.01-2" +CT_CC_BINUTILS_SHOW_LINARO=y +# CT_BINUTILS_V_2_25_1 is not set +CT_BINUTILS_LINARO_V_2_25=y +# CT_BINUTILS_V_2_25 is not set +# CT_BINUTILS_LINARO_V_2_24 is not set +# CT_BINUTILS_V_2_24 is not set +# CT_BINUTILS_V_2_23_2 is not set +# CT_BINUTILS_V_2_23_1 is not set +# CT_BINUTILS_V_2_22 is not set +# CT_BINUTILS_V_2_21_53 is not set +# CT_BINUTILS_V_2_21_1a is not set +# CT_BINUTILS_V_2_20_1a is not set +# CT_BINUTILS_V_2_19_1a is not set +# CT_BINUTILS_V_2_18a is not set +CT_BINUTILS_2_25_or_later=y +CT_BINUTILS_2_24_or_later=y +CT_BINUTILS_2_23_or_later=y +CT_BINUTILS_2_22_or_later=y +CT_BINUTILS_2_21_or_later=y +CT_BINUTILS_2_20_or_later=y +CT_BINUTILS_2_19_or_later=y +CT_BINUTILS_2_18_or_later=y +CT_BINUTILS_HAS_HASH_STYLE=y +CT_BINUTILS_HAS_GOLD=y +CT_BINUTILS_GOLD_SUPPORTS_ARCH=y +CT_BINUTILS_HAS_PLUGINS=y +CT_BINUTILS_HAS_PKGVERSION_BUGURL=y +CT_BINUTILS_LINKER_LD=y +CT_BINUTILS_LINKERS_LIST="ld" +CT_BINUTILS_LINKER_DEFAULT="bfd" +CT_BINUTILS_EXTRA_CONFIG_ARRAY="" +CT_BINUTILS_FOR_TARGET=y +CT_BINUTILS_FOR_TARGET_IBERTY=y +CT_BINUTILS_FOR_TARGET_BFD=y + +# +# binutils other options +# + +# +# C-library +# +CT_LIBC="uClibc" +CT_LIBC_VERSION="0.9.33.2" +# CT_LIBC_glibc is not set +# CT_LIBC_musl is not set +CT_LIBC_uClibc=y +CT_LIBC_avr_libc_AVAILABLE=y +CT_LIBC_glibc_AVAILABLE=y +CT_THREADS="nptl" +CT_LIBC_mingw_AVAILABLE=y +CT_LIBC_musl_AVAILABLE=y +CT_LIBC_newlib_AVAILABLE=y +CT_LIBC_none_AVAILABLE=y +CT_LIBC_uClibc_AVAILABLE=y +# CT_LIBC_UCLIBC_CUSTOM is not set +# CT_LIBC_UCLIBC_NG_V_1_0_9 is not set +CT_LIBC_UCLIBC_V_0_9_33_2=y +CT_LIBC_UCLIBC_0_9_33_2_or_later=y +CT_LIBC_UCLIBC_PARALLEL=y +CT_LIBC_UCLIBC_VERBOSITY_0=y +# CT_LIBC_UCLIBC_VERBOSITY_1 is not set +# CT_LIBC_UCLIBC_VERBOSITY_2 is not set +CT_LIBC_UCLIBC_VERBOSITY="" +CT_LIBC_UCLIBC_DEBUG_LEVEL_0=y +# CT_LIBC_UCLIBC_DEBUG_LEVEL_1 is not set +# CT_LIBC_UCLIBC_DEBUG_LEVEL_2 is not set +# CT_LIBC_UCLIBC_DEBUG_LEVEL_3 is not set +CT_LIBC_UCLIBC_DEBUG_LEVEL=0 +CT_LIBC_UCLIBC_CONFIG_FILE="${CST_UCLIBC_CONFIG}" +CT_LIBC_SUPPORT_THREADS_ANY=y +CT_LIBC_SUPPORT_THREADS_NATIVE=y +CT_LIBC_SUPPORT_THREADS_LT=y +CT_LIBC_SUPPORT_THREADS_NONE=y + +# +# Common C library options +# +CT_THREADS_NATIVE=y +# CT_THREADS_LT is not set +# CT_THREADS_NONE is not set +CT_LIBC_XLDD=y + +# +# uClibc other options +# +CT_LIBC_UCLIBC_LNXTHRD="" +# CT_LIBC_UCLIBC_LOCALES is not set +CT_LIBC_UCLIBC_IPV6=y +CT_LIBC_UCLIBC_WCHAR=y +# CT_LIBC_UCLIBC_FENV is not set + +# +# C compiler +# +CT_CC="gcc" +CT_CC_CORE_PASSES_NEEDED=y +CT_CC_CORE_PASS_1_NEEDED=y +CT_CC_CORE_PASS_2_NEEDED=y +CT_CC_gcc=y +CT_CC_GCC_CUSTOM=y +CT_CC_GCC_CUSTOM_LOCATION="${CST_CUSTOM_GCC}" +CT_CC_GCC_CUSTOM_VERSION="linaro-5.2-2015.11" +CT_CC_GCC_VERSION="linaro-5.2-2015.11" +CT_CC_GCC_4_8_or_later=y +CT_CC_GCC_4_9_or_later=y +CT_CC_GCC_5_or_later=y +CT_CC_GCC_latest=y +CT_CC_GCC_HAS_GRAPHITE=y +CT_CC_GCC_USE_GRAPHITE=y +CT_CC_GCC_HAS_LTO=y +CT_CC_GCC_USE_LTO=y +CT_CC_GCC_HAS_PKGVERSION_BUGURL=y +CT_CC_GCC_HAS_BUILD_ID=y +CT_CC_GCC_HAS_LNK_HASH_STYLE=y +CT_CC_GCC_USE_GMP_MPFR=y +CT_CC_GCC_USE_MPC=y +CT_CC_GCC_USE_LIBELF=y +CT_CC_GCC_HAS_LIBQUADMATH=y +CT_CC_GCC_HAS_LIBSANITIZER=y +# CT_CC_LANG_FORTRAN is not set +CT_CC_GCC_ENABLE_CXX_FLAGS="" +CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="" +CT_CC_GCC_EXTRA_CONFIG_ARRAY="" +CT_CC_GCC_EXTRA_ENV_ARRAY="" +CT_CC_GCC_STATIC_LIBSTDCXX=y +# CT_CC_GCC_SYSTEM_ZLIB is not set + +# +# Optimisation features +# + +# +# Settings for libraries running on target +# +# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set +# CT_CC_GCC_LIBMUDFLAP is not set +# CT_CC_GCC_LIBGOMP is not set +# CT_CC_GCC_LIBSSP is not set +# CT_CC_GCC_LIBQUADMATH is not set + +# +# Misc. obscure options. +# +CT_CC_CXA_ATEXIT=y +# CT_CC_GCC_DISABLE_PCH is not set +CT_CC_GCC_SJLJ_EXCEPTIONS=m +CT_CC_GCC_LDBL_128=m +# CT_CC_GCC_BUILD_ID is not set +# CT_CC_GCC_LNK_HASH_STYLE_DEFAULT is not set +# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set +# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set +CT_CC_GCC_LNK_HASH_STYLE_BOTH=y +CT_CC_GCC_LNK_HASH_STYLE="both" +CT_CC_GCC_DEC_FLOAT_AUTO=y +# CT_CC_GCC_DEC_FLOAT_BID is not set +# CT_CC_GCC_DEC_FLOAT_DPD is not set +# CT_CC_GCC_DEC_FLOATS_NO is not set +CT_CC_SUPPORT_CXX=y +CT_CC_SUPPORT_FORTRAN=y +CT_CC_SUPPORT_JAVA=y +CT_CC_SUPPORT_ADA=y +CT_CC_SUPPORT_OBJC=y +CT_CC_SUPPORT_OBJCXX=y + +# +# Additional supported languages: +# +CT_CC_LANG_CXX=y +# CT_CC_LANG_JAVA is not set +# CT_CC_LANG_ADA is not set +# CT_CC_LANG_OBJC is not set +# CT_CC_LANG_OBJCXX is not set +CT_CC_LANG_OTHERS="" + +# +# Debug facilities +# +# CT_DEBUG_dmalloc is not set +# CT_DEBUG_duma is not set +CT_DEBUG_gdb=y +CT_GDB_CROSS=y +CT_GDB_CROSS_STATIC=y +# CT_GDB_CROSS_SIM is not set +CT_GDB_CROSS_EXTRA_CONFIG_ARRAY="" +CT_GDB_NATIVE=y +# CT_GDB_NATIVE_STATIC is not set +CT_GDB_GDBSERVER=y +CT_GDB_GDBSERVER_HAS_IPA_LIB=y +CT_GDB_GDBSERVER_STATIC=y + +# +# gdb version +# +# CT_GDB_CUSTOM is not set +CT_GDB_VERSION="7.10" +CT_DEBUG_GDB_SHOW_LINARO=y +CT_GDB_V_7_10=y +# CT_GDB_V_7_9_1 is not set +# CT_GDB_V_7_9 is not set +# CT_GDB_V_linaro_7_8 is not set +# CT_GDB_V_7_8_2 is not set +# CT_GDB_V_7_8_1 is not set +# CT_GDB_V_7_8 is not set +# CT_GDB_V_7_7_1 is not set +# CT_GDB_V_7_7 is not set +# CT_GDB_V_linaro_7_6 is not set +# CT_GDB_V_7_6_1 is not set +# CT_GDB_V_linaro_7_5 is not set +# CT_GDB_V_7_5_1 is not set +# CT_GDB_V_linaro_7_4 is not set +# CT_GDB_V_7_4_1 is not set +# CT_GDB_V_7_4 is not set +# CT_GDB_V_linaro_7_3 is not set +# CT_GDB_V_7_3_1 is not set +# CT_GDB_V_7_3a is not set +# CT_GDB_V_linaro_7_2 is not set +# CT_GDB_V_7_2a is not set +# CT_GDB_V_7_1a is not set +# CT_GDB_V_7_0_1a is not set +# CT_GDB_V_7_0a is not set +# CT_GDB_V_6_8a is not set +CT_GDB_7_2_or_later=y +CT_GDB_7_0_or_later=y +CT_GDB_HAS_PKGVERSION_BUGURL=y +CT_GDB_HAS_PYTHON=y +CT_GDB_INSTALL_GDBINIT=y +# CT_DEBUG_ltrace is not set +# CT_DEBUG_strace is not set + +# +# Companion libraries +# +CT_COMPLIBS_NEEDED=y +CT_GMP_NEEDED=y +CT_MPFR_NEEDED=y +CT_ISL_NEEDED=y +CT_MPC_NEEDED=y +CT_LIBELF_NEEDED=y +CT_EXPAT_NEEDED=y +CT_NCURSES_NEEDED=y +CT_COMPLIBS=y +CT_GMP=y +CT_MPFR=y +CT_ISL=y +CT_MPC=y +CT_LIBELF=y +CT_EXPAT=y +CT_EXPAT_TARGET=y +CT_NCURSES=y +CT_NCURSES_TARGET=y +CT_GMP_V_6_0_0=y +# CT_GMP_V_5_1_3 is not set +# CT_GMP_V_5_1_1 is not set +# CT_GMP_V_5_0_2 is not set +# CT_GMP_V_5_0_1 is not set +# CT_GMP_V_4_3_2 is not set +# CT_GMP_V_4_3_1 is not set +# CT_GMP_V_4_3_0 is not set +CT_GMP_5_0_2_or_later=y +CT_GMP_VERSION="6.0.0a" +CT_MPFR_V_3_1_3=y +# CT_MPFR_V_3_1_2 is not set +# CT_MPFR_V_3_1_0 is not set +# CT_MPFR_V_3_0_1 is not set +# CT_MPFR_V_3_0_0 is not set +# CT_MPFR_V_2_4_2 is not set +# CT_MPFR_V_2_4_1 is not set +# CT_MPFR_V_2_4_0 is not set +CT_MPFR_VERSION="3.1.3" +CT_ISL_V_0_14=y +# CT_ISL_V_0_12_2 is not set +CT_ISL_V_0_14_or_later=y +CT_ISL_V_0_12_or_later=y +CT_ISL_VERSION="0.14" +CT_MPC_V_1_0_3=y +# CT_MPC_V_1_0_2 is not set +# CT_MPC_V_1_0_1 is not set +# CT_MPC_V_1_0 is not set +# CT_MPC_V_0_9 is not set +# CT_MPC_V_0_8_2 is not set +# CT_MPC_V_0_8_1 is not set +# CT_MPC_V_0_7 is not set +CT_MPC_VERSION="1.0.3" +CT_LIBELF_V_0_8_13=y +# CT_LIBELF_V_0_8_12 is not set +CT_LIBELF_VERSION="0.8.13" +CT_EXPAT_V_2_1_0=y +CT_EXPAT_VERSION="2.1.0" +CT_NCURSES_V_6_0=y +CT_NCURSES_VERSION="6.0" +# CT_NCURSES_NEW_ABI is not set + +# +# Companion libraries common options +# +# CT_COMPLIBS_CHECK is not set + +# +# Companion tools +# + +# +# READ HELP before you say 'Y' below !!! +# +# CT_COMP_TOOLS is not set + +# +# Test suite +# +# CT_TEST_SUITE_GCC is not set diff --git a/archive-patches/ct-ng-1.20/ct-ng-uClibc-0.9.33.2.config b/archive-patches/ct-ng-1.20/ct-ng-uClibc-0.9.33.2.config index 7e6ca1d..44c90fb 100644 --- a/archive-patches/ct-ng-1.20/ct-ng-uClibc-0.9.33.2.config +++ b/archive-patches/ct-ng-1.20/ct-ng-uClibc-0.9.33.2.config @@ -54,7 +54,7 @@ UCLIBC_HAS_FPU=y DO_C99_MATH=y # DO_XSI_MATH is not set # UCLIBC_HAS_FENV is not set -KERNEL_HEADERS="${COOL_BASE_DIR}/source/cst-public-linux-kernel/include" +KERNEL_HEADERS="${BS_BASE_DIR}/source/git/KERNEL/linux-${CST_KERNEL_VERSION}/include" HAVE_DOT_CONFIG=y # @@ -168,7 +168,12 @@ UCLIBC_HAS_CTYPE_UNSAFE=y # UCLIBC_HAS_CTYPE_ENFORCED is not set UCLIBC_HAS_WCHAR=y UCLIBC_HAS_LOCALE=y +UCLIBC_BUILD_ALL_LOCALE=y +# UCLIBC_BUILD_MINIMAL_LOCALE is not set +# UCLIBC_PREGENERATED_LOCALE_DATA is not set +# UCLIBC_HAS_XLOCALE is not set UCLIBC_HAS_HEXADECIMAL_FLOATS=y +# UCLIBC_HAS_GLIBC_DIGIT_GROUPING is not set UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y @@ -217,8 +222,8 @@ UCLIBC_HAS_GNU_GLOB=y # # Library Installation Options # -RUNTIME_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc/" -DEVEL_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc/usr/" +RUNTIME_PREFIX="${BS_BASE_DIR}/build_tmp/uClibc/$(TARGET_ARCH)-linux-uclibc/" +DEVEL_PREFIX="${BS_BASE_DIR}/build_tmp/uClibc/$(TARGET_ARCH)-linux-uclibc/usr/" MULTILIB_DIR="lib" HARDWIRED_ABSPATH=y diff --git a/archive-patches/ncurses_workaround_changed_output_of_GNU_cpp_5.x.patch b/archive-patches/ncurses_workaround_changed_output_of_GNU_cpp_5.x.patch new file mode 100755 index 0000000..2a76d1a --- /dev/null +++ b/archive-patches/ncurses_workaround_changed_output_of_GNU_cpp_5.x.patch @@ -0,0 +1,18 @@ +--- a/ncurses/base/MKlib_gen.sh 2011-06-04 21:14:08.000000000 +0200 ++++ b/ncurses/base/MKlib_gen.sh 2015-04-26 00:47:06.911680782 +0200 +@@ -62,7 +62,15 @@ + if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi + if test "${LC_COLLATE+set}" = set; then LC_COLLATE=C; export LC_COLLATE; fi + +-preprocessor="$1 -DNCURSES_INTERNALS -I../include" ++# Work around "unexpected" output of GCC 5.1.0's cpp w.r.t. #line directives ++# by simply suppressing them: ++case `$1 -dumpversion 2>/dev/null` in ++ 5.*.*) # assume a "broken" one ++ preprocessor="$1 -P -DNCURSES_INTERNALS -I../include" ++ ;; ++ *) ++ preprocessor="$1 -DNCURSES_INTERNALS -I../include" ++esac + AWK="$2" + USE="$3" diff --git a/make/applications.mk b/make/applications.mk index 359f25f..a8b586f 100755 --- a/make/applications.mk +++ b/make/applications.mk @@ -190,8 +190,14 @@ $(D)/ntfs-3g: $(ARCHIVE)/ntfs-3g_ntfsprogs-$(NTFS_3G_VER).tgz | $(TARGETPREFIX) $(REMOVE)/ntfs-3g_ntfsprogs-$(NTFS_3G_VER) $(TARGETPREFIX)/.remove touch $@ +ifeq ($(PLATFORM), $(filter $(PLATFORM), apollo kronos)) + AUTOFS_PREQS = test -f $(CROSS_DIR)/$(TARGET)/sys-root/usr/include/nfs/nfs.h || (mkdir -p $(CROSS_DIR)/$(TARGET)/sys-root/usr/include/nfs && echo "\#include " > $(CROSS_DIR)/$(TARGET)/sys-root/usr/include/nfs/nfs.h) +else + # AUTOFS_PREQS = $(TARGETPREFIX)/lib/modules/$(CST_KERNEL_VERSION)-nevis/kernel/fs/autofs4/autofs4.ko +endif $(D)/autofs: $(ARCHIVE)/autofs-4.1.4.tar.bz2 | $(TARGETPREFIX) - $(MAKE) #$(TARGETPREFIX)/lib/modules/$(CST_KERNEL_VERSION)-nevis/kernel/fs/autofs4/autofs4.ko + $(AUTOFS_PREQS) + $(MAKE) $(UNTAR)/autofs-4.1.4.tar.bz2 cd $(BUILD_TMP)/autofs-4.1.4 && \ $(PATCH)/autofs-4.1.4-td.diff && \ @@ -651,13 +657,18 @@ $(D)/fuse: $(ARCHIVE)/fuse-2.9.2.tar.gz | $(TARGETPREFIX) $(REMOVE)/fuse-2.9.2 touch $@ -$(D)/ushare: $(D)/libupnp $(ARCHIVE)/ushare-$(USHARE_VER).tar.bz2 | $(TARGETPREFIX) +ifeq ($(PLATFORM), $(filter $(PLATFORM), apollo kronos)) +WITH_GETTEXT = -lintl +else +WITH_GETTEXT = +endif +$(D)/ushare: $(D)/libupnp $(D)/gettext $(ARCHIVE)/ushare-$(USHARE_VER).tar.bz2 | $(TARGETPREFIX) $(UNTAR)/ushare-$(USHARE_VER).tar.bz2 pushd $(BUILD_TMP)/ushare-$(USHARE_VER) && \ $(PATCH)/ushare$(USHARE_VER).diff && \ PKG_CONFIG_PATH="$(TARGETPREFIX)/lib/pkgconfig" \ CFLAGS="-I$(TARGETPREFIX)/include -I$(TARGETPREFIX)/include/upnp" \ - LDFLAGS="-L$(TARGETPREFIX)/lib -lz -liconv" \ + LDFLAGS="-L$(TARGETPREFIX)/lib -lz -liconv $(WITH_GETTEXT)" \ LIBS="-Wl,--rpath-link -Wl,$(TARGETPREFIX)/lib" \ ./configure --prefix=$(TARGETPREFIX) --cross-prefix=$(TARGET)- --cross-compile --with-libupnp-dir=$(TARGETPREFIX)/lib/ --disable-dlna && \ sed -i config.h -e 's@SYSCONFDIR.*@SYSCONFDIR "/etc"@' && \ diff --git a/make/archives.mk b/make/archives.mk index 7ff4662..14299a5 100755 --- a/make/archives.mk +++ b/make/archives.mk @@ -36,6 +36,9 @@ $(ARCHIVE)/fbshot-0.3.tar.gz: $(ARCHIVE)/freetype-2.4.9.tar.bz2: $(WGET) http://www.fhloston-paradise.de/freetype-2.4.9.tar.bz2 +$(ARCHIVE)/gettext-$(GETTEXT_VER).tar.xz: + $(WGET) http://ftp.gnu.org/pub/gnu/gettext/gettext-$(GETTEXT_VER).tar.xz + $(ARCHIVE)/libjpeg-turbo-$(JPEG_TURBO_VER).tar.gz: $(WGET) http://sourceforge.net/projects/libjpeg-turbo/files/$(JPEG_TURBO_VER)/libjpeg-turbo-$(JPEG_TURBO_VER).tar.gz @@ -117,6 +120,9 @@ $(ARCHIVE)/alsa-lib-1.0.12.tar.gz: $(ARCHIVE)/alsa-utils-1.0.12.tar.gz: $(WGET) http://www.fhloston-paradise.de/alsa-utils-1.0.12.tar.gz +$(ARCHIVE)/uClibc-$(UCLIBC_VER).tar.xz: + $(WGET) http://www.uclibc.org/downloads/uClibc-$(UCLIBC_VER).tar.xz + $(ARCHIVE)/vsftpd-$(VSFTPD_VER).tar.gz: $(WGET) https://security.appspot.com/downloads/vsftpd-$(VSFTPD_VER).tar.gz @@ -223,47 +229,8 @@ $(ARCHIVE)/hd-idle-$(HD_IDLE_VER).tgz: $(ARCHIVE)/tzdata$(TZ_VER).tar.gz: $(WGET) ftp://ftp.iana.org/tz/releases/tzdata$(TZ_VER).tar.gz -$(ARCHIVE)/crosstool-1.16.0-downloads.tar.bz2: - $(WGET) http://www.fhloston-paradise.de/crosstool-ng-1.16.0.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/eglibc-2_13.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/eglibc-ports-2_13.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/binutils-2.20.1a.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/binutils-2.22.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/cloog-ppl-0.15.11.tar.gz - $(WGET) http://www.fhloston-paradise.de/gcc-4.5.3.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/gcc-4.7.1.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/gdb-7.3a.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/gmp-5.0.2.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/libelf-0.8.13.tar.gz - $(WGET) http://www.fhloston-paradise.de/mpc-0.9.tar.gz - $(WGET) http://www.fhloston-paradise.de/ltrace_0.5.3.orig.tar.gz - $(WGET) http://www.fhloston-paradise.de/dmalloc-5.5.2.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/mpfr-3.1.0.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/ppl-0.11.2.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/strace-4.6.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/expat-2.0.1.tar.gz - $(WGET) http://www.fhloston-paradise.de/isl-0.11.1.tar.bz2 - -$(ARCHIVE)/crosstool-1.19.0-downloads.tar.bz2: - $(WGET) http://www.fhloston-paradise.de/crosstool-ng-1.19.0.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/eglibc-2_13.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/eglibc-ports-2_13.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/binutils-2.20.1a.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/binutils-2.22.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/cloog-ppl-0.15.11.tar.gz - $(WGET) http://www.fhloston-paradise.de/gcc-4.5.3.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/gcc-4.7.1.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/gdb-7.3a.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/gmp-5.0.2.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/libelf-0.8.13.tar.gz - $(WGET) http://www.fhloston-paradise.de/mpc-0.9.tar.gz - $(WGET) http://www.fhloston-paradise.de/ltrace_0.5.3.orig.tar.gz - $(WGET) http://www.fhloston-paradise.de/dmalloc-5.5.2.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/mpfr-3.1.0.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/ppl-0.11.2.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/strace-4.6.tar.bz2 - $(WGET) http://www.fhloston-paradise.de/expat-2.0.1.tar.gz - $(WGET) http://www.fhloston-paradise.de/isl-0.11.1.tar.bz2 +$(ARCHIVE)/gcc-$(CUSTOM_GCC_VER).tar.xz: + $(WGET) https://releases.linaro.org/components/toolchain/gcc-linaro/5.2-2015.11/gcc-linaro-5.2-2015.11.tar.xz ## Crosstool 1.20.0 we use eglibc-2_18.tar.bz2 svn Rev. 25988 $(ARCHIVE)/crosstool-$(CROSSTOOL_NG_VER)-downloads.tar.bz2: @@ -275,3 +242,14 @@ $(ARCHIVE)/crosstool-$(CROSSTOOL_NG_VER)-downloads.tar.bz2: $(WGET) https://distfiles.macports.org/cloog/cloog-0.18.1.tar.gz $(WGET) http://ftp.gnu.org/gnu/mpc/mpc-1.0.2.tar.gz +$(ARCHIVE)/crosstool-ng-git-$(CROSSTOOL_NG_VER).tar.gz: + mkdir -p $(BUILD_TMP) + set -e; cd $(BUILD_TMP); \ + rm -rf crosstool-ng-git-$(CROSSTOOL_NG_VER); \ + git clone git://github.com/crosstool-ng/crosstool-ng.git crosstool-ng-git-$(CROSSTOOL_NG_VER) + set -e; cd $(BUILD_TMP)/crosstool-ng-git-$(CROSSTOOL_NG_VER); \ + git reset --hard $(CROSSTOOL_NG_VER) + set -e; cd $(BUILD_TMP); \ + tar cvpzf $@ crosstool-ng-git-$(CROSSTOOL_NG_VER) + $(REMOVE)/crosstool-ng-git-$(CROSSTOOL_NG_VER) + diff --git a/make/bootstrap.mk b/make/bootstrap.mk index 641ab10..705937a 100755 --- a/make/bootstrap.mk +++ b/make/bootstrap.mk @@ -36,21 +36,21 @@ $(HOSTPREFIX)/bin/pkg-config: $(ARCHIVE)/pkg-config-$(PKGCONFIG_VER).tar.gz | $( skeleton: | $(TARGETPREFIX) if [ $(PLATFORM) = "apollo" ]; then \ if [ -n $(SKEL_ROOT_DIR) ]; then \ - [ ! -e $(SKEL_ROOT_DIR) ] && ln -sf $(SKEL_ROOT_DIR) $(HOSTPREFIX)/my-skel-root-apollo; \ + [ ! -e $(BASE_DIR)/my-skel-root-apollo ] && ln -s $(SKEL_ROOT_DIR) $(BASE_DIR)/my-skel-root-apollo; \ cp --remove-destination -a my-skel-root-apollo/* $(TARGETPREFIX)/; \ else \ cp --remove-destination -a skel-root-apollo/* $(TARGETPREFIX)/; \ fi \ elif [ $(PLATFORM) = "kronos" ]; then \ if [ -n $(SKEL_ROOT_DIR) ]; then \ - [ ! -e $(SKEL_ROOT_DIR) ] && ln -sf $(SKEL_ROOT_DIR) $(HOSTPREFIX)/my-skel-root-kronos; \ + [ ! -e $(BASE_DIR)/my-skel-root-kronos ] && ln -s $(SKEL_ROOT_DIR) $(BASE_DIR)/my-skel-root-kronos; \ cp --remove-destination -a my-skel-root-kronos/* $(TARGETPREFIX)/; \ else \ cp --remove-destination -a skel-root-kronos/* $(TARGETPREFIX)/; \ fi \ else \ if [ -n $(SKEL_ROOT_DIR) ]; then \ - [ ! -e $(SKEL_ROOT_DIR) ] && ln -sf $(SKEL_ROOT_DIR) $(HOSTPREFIX)/my-skel-root-nevis; \ + [ ! -e $(BASE_DIR)/my-skel-root-nevis ] && ln -s $(SKEL_ROOT_DIR) $(BASE_DIR)/my-skel-root-nevis; \ cp --remove-destination -a my-skel-root-nevis/* $(TARGETPREFIX)/; \ else \ cp --remove-destination -a skel-root-nevis/* $(TARGETPREFIX)/; \ @@ -73,9 +73,9 @@ $(HOSTPREFIX)/bin: $(HOSTPREFIX) $(TARGETPREFIX)/lib: | $(TARGETPREFIX) mkdir -p $@ if [ $(PLATFORM) = "apollo" ]; then \ - cp -a $(SOURCE_DIR)/git/DRIVERS/apollo/libs/* $@/; \ + cp -a $(SOURCE_DIR)/git/DRIVERS/$(DRIVER_DIR)/libs/* $@/; \ elif [ $(PLATFORM) = "kronos" ]; then \ - cp -a $(SOURCE_DIR)/git/DRIVERS/kronos/libs/* $@/; \ + cp -a $(SOURCE_DIR)/git/DRIVERS/$(DRIVER_DIR)/libs/* $@/; \ else \ cp -a $(SOURCE_DIR)/git/DRIVERS/nevis/libs/* $@/; \ fi @@ -83,9 +83,9 @@ $(TARGETPREFIX)/lib: | $(TARGETPREFIX) $(TARGETPREFIX)/lib/firmware: | $(TARGETPREFIX) mkdir -p $@ if [ $(PLATFORM) = "apollo" ]; then \ - cp -a $(SOURCE_DIR)/git/DRIVERS/apollo/firmware/* $@/; \ + cp -a $(SOURCE_DIR)/git/DRIVERS/$(DRIVER_DIR)/firmware/* $@/; \ elif [ $(PLATFORM) = "kronos" ]; then \ - cp -a $(SOURCE_DIR)/git/DRIVERS/kronos/firmware/* $@/; \ + cp -a $(SOURCE_DIR)/git/DRIVERS/$(DRIVER_DIR)/firmware/* $@/; \ else \ cp -a $(SOURCE_DIR)/git/DRIVERS/nevis/firmware/* $@/; \ fi @@ -93,9 +93,9 @@ $(TARGETPREFIX)/lib/firmware: | $(TARGETPREFIX) $(TARGETPREFIX)/lib/modules: | $(TARGETPREFIX) mkdir -p $@ if [ $(PLATFORM) = "apollo" ]; then \ - cp -a $(SOURCE_DIR)/git/DRIVERS/apollo/drivers/2.6.34.14/* $@/; \ + cp -a $(SOURCE_DIR)/git/DRIVERS/$(DRIVER_DIR)/drivers/$(CST_KERNEL_VERSION)/* $@/; \ elif [ $(PLATFORM) = "kronos" ]; then \ - cp -a $(SOURCE_DIR)/git/DRIVERS/kronos/drivers/2.6.34.14/* $@/; \ + cp -a $(SOURCE_DIR)/git/DRIVERS/$(DRIVER_DIR)/drivers/$(CST_KERNEL_VERSION)/* $@/; \ else \ rm -fr $(TARGETPREFIX)/lib/modules/$(CST_KERNEL_VERSION)-nevis; \ mkdir -p $(TARGETPREFIX)/lib/modules/$(CST_KERNEL_VERSION)-nevis; \ diff --git a/make/crosstool.mk b/make/crosstool.mk index 49d6b24..a57ab80 100755 --- a/make/crosstool.mk +++ b/make/crosstool.mk @@ -1,13 +1,28 @@ # makefile to build crosstool +ifeq ($(PLATFORM), nevis) +CROSSTOOL_NG_VER = $(CT_VER_NEVIS) +CUSTOM_GCC_VER = $(GCC_VER_NEVIS) +endif + +ifeq ($(PLATFORM), apollo) +CROSSTOOL_NG_VER = $(CT_VER_APOLLO) +CUSTOM_GCC_VER = $(GCC_VER_APOLLO) +endif + +ifeq ($(PLATFORM), kronos) +CROSSTOOL_NG_VER = $(CT_VER_KRONOS) +CUSTOM_GCC_VER = $(GCC_VER_KRONOS) +endif + ifeq ($(PLATFORM), nevis) ## Platform nevis CT_NG_CONFIG = $(PATCHES)/ct-ng-1.20/ct-ng-nevis-1.20.0-1.config CUSTOM_KERNEL = $(ARCHIVE)/linux-$(CST_KERNEL_VERSION)-cnxt.tar.bz2 -CUSTOM_GCC_VER = linaro-4.9-2015.06 -CUSTOM_GCC = $(ARCHIVE)/gcc-$(CUSTOM_GCC_VER).tar.xz +CUSTOM_GCC = $(ARCHIVE)/gcc-$(CUSTOM_GCC_VER).tar.xz -crosstool: prerequisites | $(ARCHIVE)/crosstool-$(CROSSTOOL_NG_VER)-downloads.tar.bz2; \ +crosstool: prerequisites | $(ARCHIVE)/crosstool-$(CROSSTOOL_NG_VER)-downloads.tar.bz2 \ +$(ARCHIVE)/$(CUSTOM_KERNEL_VER).tar.xz $(CUSTOM_GCC) mkdir -p $(BUILD_TMP); \ $(UNTAR)/crosstool-ng-$(CROSSTOOL_NG_VER).tar.bz2; \ set -e; unset CONFIG_SITE; cd $(BUILD_TMP)/crosstool-ng-$(CROSSTOOL_NG_VER); \ @@ -48,64 +63,80 @@ crosstool: prerequisites | $(ARCHIVE)/crosstool-$(CROSSTOOL_NG_VER)-downloads.ta @echo -e " \033[32mmake crosstool done\033[0m" @echo " ============================================================================== " +else ## ifeq ($(PLATFORM), nevis) +## apollo / kronos crosstool ############################################### + +ifeq ($(UCLIBC_BUILD), 1) +ifeq ($(USE_UCLIBC_NG), 1) +## build apollo/kronos uClibc-ng +CT_NG_CONFIG = $(PATCHES)/ct-ng-1.20/ct-ng-1.20.0-3.config +else +## build apollo/kronos uClibc +CT_NG_CONFIG = $(PATCHES)/ct-ng-1.20/ct-ng-1.21.0-2.config +endif ## ($(USE_UCLIBC_NG), 1) else +## build apollo/kronos eglibc +CT_NG_CONFIG = $(PATCHES)/ct-ng-1.20/ct-ng-1.20.0-1-glibc.config +endif ## ifeq ($(UCLIBC_BUILD), 1) -crosstool: prerequisites | $(ARCHIVE)/crosstool-$(CROSSTOOL_NG_VER)-downloads.tar.bz2; \ - mkdir -p $(BUILD_TMP); \ - $(UNTAR)/crosstool-ng-$(CROSSTOOL_NG_VER).tar.bz2; \ - set -e; unset CONFIG_SITE; cd $(BUILD_TMP)/crosstool-ng-$(CROSSTOOL_NG_VER); \ - mkdir -p targets/src/; \ - tar -C $(GIT_KERNEL) -cp linux-$(CST_KERNEL_VERSION)-cnxt --exclude=.git | tar -C $(BUILD_TMP)/crosstool-ng-$(CROSSTOOL_NG_VER)/targets/src -x; \ - tar cfvj $(BASE_DIR)/download/linux-$(CST_KERNEL_VERSION)-cnxt.tar.bz2 $(GIT_KERNEL)/linux-$(CST_KERNEL_VERSION)-cnxt; \ - if [ $(CST_KERNEL_VERSION) = "2.6.26.8" ]; then \ - cd targets/src/linux-2.6.26.8-cnxt; \ - patch -p1 -i $(PATCHES)/linux-2.6.26.8-rename-getline.patch; \ - fi; \ - cd $(BUILD_TMP)/crosstool-ng-$(CROSSTOOL_NG_VER); \ - ln -sf linux-$(CST_KERNEL_VERSION)-cnxt targets/src/linux-custom; \ - touch targets/src/.linux-custom.extracted; \ - if [ $(PLATFORM) = "apollo" ]; then \ - cp -a $(PATCHES)/crosstool-ng-$(CROSSTOOL_NG_VER)-newconfig-apollo-uclibc .config; \ - sed -i -e 's#^CT_LOCAL_TARBALLS_DIR=.*#CT_LOCAL_TARBALLS_DIR="$(BASE_DIR)/download"#' .config; \ - sed -i -e 's#^CT_PREFIX_DIR=.*#CT_PREFIX_DIR="$(CROSS_BASE)"#' .config; \ - sed -i -e 's#^CT_KERNEL_LINUX_CUSTOM_LOCATION=.*#CT_KERNEL_LINUX_CUSTOM_LOCATION="$(BASE_DIR)/download/linux-$(CST_KERNEL_VERSION)-cnxt.tar.bz2"#' .config; \ - if [ $(GCC) = "4.8" ] || [ $(GCC) = "4.9" ]; then \ - sed -i -e 's!^CT_CC_VERSION=.*!CT_CC_VERSION="$(GCC)"!' .config; \ - sed -i -e 's!^CT_CC_V_.*=y!# CT_CC_V_.* is not set!' .config; \ - sed -i -e 's!^# CT_CC_V_$(G_C_C) is not set!CT_CC_V_$(G_C_C)=y!' .config; \ - fi; \ - sed -i -e 's#^CT_LIBC_UCLIBC_CONFIG_FILE=.*#CT_LIBC_UCLIBC_CONFIG_FILE="$(BASE_DIR)/archive-patches/uClibc-0.9.33.2-config"#' .config; \ - fi; \ - if [ $(PLATFORM) = "kronos" ]; then \ - cp -a $(PATCHES)/crosstool-ng-$(CROSSTOOL_NG_VER)-newconfig-apollo-uclibc .config; \ - sed -i -e 's#^CT_LOCAL_TARBALLS_DIR=.*#CT_LOCAL_TARBALLS_DIR="$(BASE_DIR)/download"#' .config; \ - sed -i -e 's#^CT_PREFIX_DIR=.*#CT_PREFIX_DIR="$(CROSS_BASE)"#' .config; \ - sed -i -e 's#^CT_KERNEL_LINUX_CUSTOM_LOCATION=.*#CT_KERNEL_LINUX_CUSTOM_LOCATION="$(BASE_DIR)/download/linux-$(CST_KERNEL_VERSION)-cnxt.tar.bz2"#' .config; \ - if [ $(GCC) = "4.8" ] || [ $(GCC) = "4.9" ]; then \ - sed -i -e 's!^CT_CC_VERSION=.*!CT_CC_VERSION="$(GCC)"!' .config; \ - sed -i -e 's!^CT_CC_V_.*=y!# CT_CC_V_.* is not set!' .config; \ - sed -i -e 's!^# CT_CC_V_$(G_C_C) is not set!CT_CC_V_$(G_C_C)=y!' .config; \ - fi; \ - sed -i -e 's#^CT_LIBC_UCLIBC_CONFIG_FILE=.*#CT_LIBC_UCLIBC_CONFIG_FILE="$(BASE_DIR)/archive-patches/uClibc-0.9.33.2-config"#' .config; \ - fi; \ +CUSTOM_KERNEL_VER = cst-kernel_cst_3.10.93_2015-12-02_0824_c439541 +CUSTOM_KERNEL = $(ARCHIVE)/linux-$(CUSTOM_KERNEL_VER).tar.xz +CUSTOM_GCC = $(ARCHIVE)/gcc-$(CUSTOM_GCC_VER).tar.xz + +crosstool: prerequisites | $(ARCHIVE)/crosstool-ng-git-$(CROSSTOOL_NG_VER).tar.gz \ +$(ARCHIVE)/$(CUSTOM_KERNEL_VER).tar.xz $(CUSTOM_GCC) + make -p $(BUILD_TMP) + $(UNTAR)/crosstool-ng-git-$(CROSSTOOL_NG_VER).tar.gz + mkdir -p $(BUILD_TMP)/crosstool-ng-git-$(CROSSTOOL_NG_VER)/targets/src + # Don't patch a custom source from ct-ng, it's custom! + cd $(BUILD_TMP)/crosstool-ng-git-$(CROSSTOOL_NG_VER)/targets; \ + tar -xf $(PATCHES)/ct-ng-1.20/libstdc++_configure_patch.tar.xz; \ + cd src; \ + touch .gcc-$(CUSTOM_GCC_VER).extracting; \ + tar -xf $(CUSTOM_GCC); \ + rm -f .gcc-$(CUSTOM_GCC_VER).extracting; \ + touch .gcc-$(CUSTOM_GCC_VER).extracted; \ + cd gcc-$(CUSTOM_GCC_VER); \ + patch -p1 < $(BUILD_TMP)/crosstool-ng-git-$(CROSSTOOL_NG_VER)/targets/patches/gcc/$(CUSTOM_GCC_VER)/900-libstdc++_configure.patch; \ + cd ..; \ + touch .gcc-$(CUSTOM_GCC_VER).patched + set -e; unset CONFIG_SITE; cd $(BUILD_TMP)/crosstool-ng-git-$(CROSSTOOL_NG_VER); \ + \ + ln -sf $(CUSTOM_KERNEL_VER).tar.xz $(CUSTOM_KERNEL); \ + cp -a $(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); \ test $$NUM_CPUS -gt $$MEM_512M && NUM_CPUS=$$MEM_512M; \ - test $$NUM_CPUS = 0 && NUM_CPUS=1; \ + test $$NUM_CPUS -lt 1 && NUM_CPUS=1; \ sed -i "s@^CT_PARALLEL_JOBS=.*@CT_PARALLEL_JOBS=$$NUM_CPUS@" .config; \ - export TD_BASE_DIR=$(BASE_DIR); \ - export TD_BUILD_TMP=$(BUILD_TMP); \ - ./configure --enable-local; \ - MAKELEVEL=0 make; \ + \ + if [ "$(UCLIBC_BUILD)" = "1" ]; then \ + cp $(PATCHES)/ct-ng-1.20/900-pull-socket_type-h-from-eglibc.patch patches/uClibc/0.9.33.2; \ + cp $(PATCHES)/ct-ng-1.20/901-gettimeofday.c-use-the-same-type-as-in-header.patch patches/uClibc/0.9.33.2; \ + if [ "$(USE_UCLIBC_NG)" = "1" ]; then \ + export CST_UCLIBC_CONFIG="$(PATCHES)/ct-ng-1.20/ct-ng-uClibc-ng-1.0.1.config"; \ + else \ + export CST_UCLIBC_CONFIG="$(PATCHES)/ct-ng-1.20/ct-ng-uClibc-0.9.33.2.config"; \ + fi;\ + fi; \ + \ + export CST_BASE_DIR=$(BASE_DIR); \ + export CST_CUSTOM_KERNEL=$(CUSTOM_KERNEL); \ + export CST_CUSTOM_KERNEL_VER=$(CUSTOM_KERNEL_VER); \ + export CST_KERNEL_VERSION=$(CST_KERNEL_VERSION); \ + export CST_CUSTOM_GCC=$(CUSTOM_GCC); \ + export LD_LIBRARY_PATH=; \ + if [ "$(USE_UCLIBC_NG)" = "1" ]; then \ + export CST_CUSTOM_UCLIBC=$(ARCHIVE)/uClibc-ng-1.0.1.tar.xz; \ + fi; \ + test -f ./configure || ./bootstrap && \ + ./configure --enable-local; MAKELEVEL=0 make; chmod 0755 ct-ng; \ ./ct-ng oldconfig; \ ./ct-ng build - if [ $(PLATFORM) = "apollo" ]; then \ - ln -sf sys-root/lib $(CROSS_BASE)/arm-pnx8400-linux-uclibcgnueabi/; \ - fi; \ - if [ $(PLATFORM) = "kronos" ]; then \ - ln -sf sys-root/lib $(CROSS_BASE)/arm-pnx8400-linux-uclibcgnueabi/; \ - fi; \ - $(REMOVE)/crosstool-ng-$(CROSSTOOL_NG_VER) + ln -sf sys-root/lib $(CROSS_DIR)/$(TARGET)/; \ + \ + $(REMOVE)/crosstool-ng-git-$(CROSSTOOL_NG_VER) @echo "" @echo " ============================================================================== " @echo -e " \033[32mmake crosstool done\033[0m" @@ -133,6 +164,12 @@ crossmenuconfig: $(ARCHIVE)/crosstool-ng-$(CROSSTOOL_NG_VER).tar.bz2 ./configure --enable-local; MAKELEVEL=0 make; chmod 0755 ct-ng; \ ./ct-ng menuconfig +uclibcmenuconfig: $(ARCHIVE)/uClibc-$(UCLIBC_VER).tar.xz + make $(BUILD_TMP) + $(UNTAR)/uClibc-$(UCLIBC_VER).tar.xz + mv $(BUILD_TMP)/uClibc-$(UCLIBC_VER) $(BUILD_TMP)/uClibc-$(UCLIBC_VER)_mc + set -e; cd $(BUILD_TMP)/uClibc-$(UCLIBC_VER)_mc; \ + make menuconfig # hack to make sure they are always copied PHONY += crosstool ccache diff --git a/make/environment.mk b/make/environment.mk index 5d44a65..f7a6e5f 100755 --- a/make/environment.mk +++ b/make/environment.mk @@ -30,38 +30,57 @@ BUILD ?= $(shell /usr/share/libtool/config.guess 2>/dev/null || /usr/share GCC = $(shell gcc -dumpversion | cut -c 1-3) -GCC_4_7_1 = 4_7_1 -GCC_4_8_1 = 4_8_1 -GCC_4_9_1 = 4_9_1 - -ifeq ($(GCC), 4.7) - G_C_C = $(GCC_4_7_1) -endif -ifeq ($(GCC), 4.8) - G_C_C = $(GCC_4_8_1) -endif -ifeq ($(GCC), 4.9) - G_C_C = $(GCC_4_9_1) -endif +#GCC_4_7_1 = 4_7_1 +#GCC_4_8_1 = 4_8_1 +#GCC_4_9_1 = 4_9_1 + +#ifeq ($(GCC), 4.7) +# G_C_C = $(GCC_4_7_1) +#endif +#ifeq ($(GCC), 4.8) +# G_C_C = $(GCC_4_8_1) +#endif +#ifeq ($(GCC), 4.9) +# G_C_C = $(GCC_4_9_1) +#endif BOXARCH = arm -ifeq ($(PLATFORM), nevis) - TARGET ?= arm-cx2450x-linux-gnueabi -endif -ifeq ($(PLATFORM), apollo) - TARGET ?= arm-pnx8400-linux-uclibcgnueabi -endif -ifeq ($(PLATFORM), kronos) - TARGET ?= arm-pnx8400-linux-uclibcgnueabi +ifeq ($(BOXMODEL), $(filter $(BOXMODEL), zee2 link)) + TARGET ?= arm-cortex-linux-uclibcgnueabi + PLATFORM = kronos + DRIVER_DIR ?= $(PLATFORM)-3.x + CST_KERNEL_VERSION ?= 3.10.93 + KBRANCH ?= cst_3.10.93 +else ifeq ($(BOXMODEL), $(filter $(BOXMODEL), tank trinity)) + TARGET ?= arm-cortex-linux-uclibcgnueabi + PLATFORM = apollo + DRIVER_DIR ?= $(PLATFORM)-3.x + CST_KERNEL_VERSION ?= 3.10.93 + KBRANCH ?= cst_3.10.93 +else ifeq ($(BOXMODEL), $(filter $(BOXMODEL), neo zee)) + TARGET ?= arm-cx2450x-linux-gnueabi + PLATFORM = nevis + DRIVER_DIR ?= $(PLATFORM) + CST_KERNEL_VERSION ?= 2.6.34.13 + KBRANCH ?= $(CST_KERNEL_VERSION)-cnxt +else + BOXMODEL = neo + TARGET ?= arm-cx2450x-linux-gnueabi + PLATFORM = nevis + DRIVER_DIR ?= $(PLATFORM) + CST_KERNEL_VERSION ?= 2.6.34.13 + KBRANCH ?= $(CST_KERNEL_VERSION)-cnxt endif -TARGETLIB = $(TARGETPREFIX)/lib -TARGET_CFLAGS = -pipe -O2 -g -I$(TARGETPREFIX)/include -TARGET_CPPFLAGS = $(TARGET_CFLAGS) -TARGET_CXXFLAGS = $(TARGET_CFLAGS) -TARGET_LDFLAGS = -Wl,-O1 -L$(TARGETLIB) -Wl,-rpath-link,$(TARGETLIB) -LD_FLAGS = $(TARGET_LDFLAGS) +TARGETLIB = $(TARGETPREFIX)/lib +#TARGET_CFLAGS = -pipe -O2 -g -I$(TARGETPREFIX)/include +TARGET_CFLAGS = -pipe -O2 -I$(TARGETPREFIX)/include +TARGET_CFLAGS += -D_GLIBCXX_USE_CXX11_ABI=0 +TARGET_CPPFLAGS = $(TARGET_CFLAGS) +TARGET_CXXFLAGS = $(TARGET_CFLAGS) +TARGET_LDFLAGS = -Wl,-O1 -L$(TARGETLIB) -Wl,-rpath-link,$(TARGETLIB) +LD_FLAGS = $(TARGET_LDFLAGS) VPATH = $(D) diff --git a/make/libraries.mk b/make/libraries.mk index 9d7e4a1..db21f48 100755 --- a/make/libraries.mk +++ b/make/libraries.mk @@ -15,6 +15,7 @@ ncurses-prereq: $(D)/libncurses: $(ARCHIVE)/ncurses-$(NCURSES_VER).tar.gz | ncurses-prereq $(TARGETPREFIX) $(UNTAR)/ncurses-$(NCURSES_VER).tar.gz && \ pushd $(BUILD_TMP)/ncurses-$(NCURSES_VER) && \ + $(PATCH)/ncurses_workaround_changed_output_of_GNU_cpp_5.x.patch && \ $(CONFIGURE) \ --build=$(BUILD) \ --host=$(TARGET) \ @@ -244,7 +245,6 @@ $(D)/libjpeg: $(ARCHIVE)/libjpeg-turbo-$(JPEG_TURBO_VER).tar.gz | $(TARGETPREFIX ifeq ($(PLATFORM), nevis) NEVIS_XML2_FLAGS = --with-minimum endif - $(D)/libxml2: $(ARCHIVE)/libxml2-$(LIBXML2_VER).tar.gz | $(TARGETPREFIX) $(UNTAR)/libxml2-$(LIBXML2_VER).tar.gz pushd $(BUILD_TMP)/libxml2-$(LIBXML2_VER) && \ @@ -408,6 +408,7 @@ FFMPEG_CONFIGURE = \ --enable-openssl \ --enable-protocol=file \ --enable-protocol=http \ + --enable-protocol=https \ --enable-protocol=rtmp \ --enable-protocol=rtmpe \ --enable-protocol=rtmps \ @@ -485,6 +486,7 @@ $(D)/libdvbsi++: $(ARCHIVE)/libdvbsi++-$(LIBDVBSI_VER).tar.bz2 | $(TARGETPREFIX) --host=$(TARGET); \ $(MAKE); \ $(MAKE) install + $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libdvbsi++.pc $(REMOVE)/libdvbsi++-$(LIBDVBSI_VER) touch $@ @@ -771,6 +773,39 @@ $(D)/libflex: $(ARCHIVE)/flex-$(FLEX_VER).tar.gz $(REMOVE)/flex-$(FLEX_VER) touch $@ +ifneq ($(PLATFORM), nevis) +(D)/gettext: $(ARCHIVE)/gettext-$(GETTEXT_VER).tar.xz | $(TARGETPREFIX) + $(REMOVE)/gettext-$(GETTEXT_VER) + $(UNTAR)/gettext-$(GETTEXT_VER).tar.xz + set -e; cd $(BUILD_TMP)/gettext-$(GETTEXT_VER); \ + $(BUILDENV) \ + LIBS="-lrt" \ + ./configure \ + --build=$(BUILD) \ + --host=$(TARGET) \ + --enable-silent-rules \ + --prefix=/ \ + --disable-java \ + --disable-native-java \ + --bindir=/.remove \ + --datarootdir=/.remove \ + --with-libxml2-prefix=$(TARGETPREFIX) \ + ; \ + $(MAKE) all; \ + make install DESTDIR=$(TARGETPREFIX) + $(REWRITE_LIBTOOL)/libasprintf.la + $(REWRITE_LIBTOOL)/libgettextlib.la + $(REWRITE_LIBTOOL)/libgettextpo.la + $(REWRITE_LIBTOOL)/libgettextsrc.la + $(REWRITE_LIBTOOL)/libintl.la + rm -fr $(TARGETPREFIX)/.remove + $(REMOVE)/gettext-$(GETTEXT_VER) + touch $@ +else +$(D)/gettext: + touch $@ +endif + $(D)/timezone: $(ARCHIVE)/tzdata$(TZ_VER).tar.gz | find-zic $(TARGETPREFIX) mkdir $(BUILD_TMP)/timezone $(BUILD_TMP)/timezone/zoneinfo tar -C $(BUILD_TMP)/timezone -xf $(ARCHIVE)/tzdata$(TZ_VER).tar.gz diff --git a/make/neutrino.mk b/make/neutrino.mk index 41c9397..40004e9 100755 --- a/make/neutrino.mk +++ b/make/neutrino.mk @@ -1,33 +1,43 @@ #Makefile to build NEUTRINO -CPPFLAGS = -D__KERNEL_STRICT_NAMES -DENABLE_FREESATEPG -DNEW_LIBCURL -D__STDC_CONSTANT_MACROS +N_CFLAGS = -Wall -Werror -Wextra -Wshadow -Wsign-compare +#N_CFLAGS += -Wconversion +#N_CFLAGS += -Wfloat-equal +N_CFLAGS += -O2 +N_CFLAGS += -fmax-errors=10 +N_CFLAGS += -D__KERNEL_STRICT_NAMES +N_CFLAGS += -DNEW_LIBCURL +N_CFLAGS += -fno-strict-aliasing -rdynamic +N_CFLAGS += -D__STDC_FORMAT_MACROS +N_CFLAGS += -D__STDC_CONSTANT_MACROS + +ifeq ($(PLATFORM), $(filter $(PLATFORM), apollo kronos)) +N_CFLAGS += -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -DFB_HW_ACCELERATION +else +N_CFLAGS += -DUSE_NEVIS_GXA +endif -NEVIS_CFLAGS = -Wall -W -Wshadow -g0 -O2 -fno-strict-aliasing -DUSE_NEVIS_GXA -NEVIS_CFLAGS += $(CPPFLAGS) -NEVIS_CFLAGS += -I$(TARGETPREFIX)/include -NEVIS_CFLAGS += -I$(TARGETPREFIX)/include/freetype2 -NEVIS_CFLAGS += -I$(NEUTRINO_OBJDIR) -NEVIS_CFLAGS += -I$(NEUTRINO_OBJDIR)/src/gui +ifeq ($(BOXMODEL), $(filter $(BOXMODEL), zee2 link)) +HW_TYPE = --with-boxmodel=apollo +else +HW_TYPE = --with-boxmodel=$(PLATFORM) +endif -APOLLO_CFLAGS = -Wall -W -Wshadow -g0 -O2 -fno-strict-aliasing -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -DFB_HW_ACCELERATION -APOLLO_CFLAGS += $(CPPFLAGS) -APOLLO_CFLAGS += -I$(TARGETPREFIX)/include -APOLLO_CFLAGS += -I$(TARGETPREFIX)/include/freetype2 -APOLLO_CFLAGS += -I$(NEUTRINO_OBJDIR) -APOLLO_CFLAGS += -I$(NEUTRINO_OBJDIR)/src/gui +N_CFLAGS += -D_GLIBCXX_USE_CXX11_ABI=0 +#N_CFLAGS += -I$(TARGETPREFIX)/include +#N_CFLAGS += -I$(TARGETPREFIX)/include/freetype2 +N_CFLAGS += -I$(NEUTRINO_OBJDIR) +N_CFLAGS += -I$(NEUTRINO_OBJDIR)/src/gui -KRONOS_CFLAGS = -Wall -W -Wshadow -g0 -O2 -fno-strict-aliasing -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -DFB_HW_ACCELERATION -KRONOS_CFLAGS += $(CPPFLAGS) -KRONOS_CFLAGS += -I$(TARGETPREFIX)/include -KRONOS_CFLAGS += -I$(TARGETPREFIX)/include/freetype2 -KRONOS_CFLAGS += -I$(NEUTRINO_OBJDIR) -KRONOS_CFLAGS += -I$(NEUTRINO_OBJDIR)/src/gui +N_CPPFLAGS = -I$(TARGETPREFIX)/include +N_CPPFLAGS += -Werror -Wsign-compare +N_CPPFLAGS += -D_GLIBCXX_USE_CXX11_ABI=0 # the original build script links against openssl. -# NEUTRINO_LDFLAGS = -L$(TARGETPREFIX)/lib -lcurl -lssl -lcrypto -ldl +# N_LDFLAGS = -L$(TARGETPREFIX)/lib -lcurl -lssl -lcrypto -ldl # the original build script links against openssl, but it is not needed at all. -NEUTRINO_LDFLAGS = -L$(TARGETPREFIX)/lib -lcurl -liconv -ldl -NEUTRINO_LDFLAGS += -Wl,-rpath-link,$(TARGETLIB) +N_LDFLAGS = -L$(TARGETPREFIX)/lib -lcurl -liconv -ldl +N_LDFLAGS += -Wl,-rpath-link,$(TARGETLIB) # finally we can build outside of the source directory NEUTRINO_OBJDIR = $(BUILD_TMP)/neutrino-hd @@ -50,87 +60,40 @@ endif neutrino-deps: $(NEUTRINO_DEPS) -$(D)/neutrino-hd: - if [ $(PLATFORM) = "apollo" ]; then \ - $(MAKE) $(D)/neutrino-hd-apollo; \ - elif [ $(PLATFORM) = "kronos" ]; then \ - $(MAKE) $(D)/neutrino-hd-kronos; \ - else \ - $(MAKE) $(D)/neutrino-hd-nevis; \ - fi - touch $@ - -$(D)/neutrino-hd-nevis: $(NEUTRINO_OBJDIR)/config-nevis.status +$(D)/neutrino-hd: $(NEUTRINO_OBJDIR)/config.status $(MAKE) -C $(NEUTRINO_OBJDIR) all $(MAKE) -C $(NEUTRINO_OBJDIR) install DESTDIR=$(TARGETPREFIX) - $(MAKE) $(TARGETPREFIX)/.version + $(MAKE) neutrino-version cp -a $(BUILD_TMP)/neutrino-hd/config.h $(TARGETPREFIX)/include/config.h + touch $@ -$(D)/neutrino-hd-apollo: $(NEUTRINO_OBJDIR)/config-apollo.status - $(MAKE) -C $(NEUTRINO_OBJDIR) all - $(MAKE) -C $(NEUTRINO_OBJDIR) install DESTDIR=$(TARGETPREFIX) - $(MAKE) $(TARGETPREFIX)/.version - cp -a $(BUILD_TMP)/neutrino-hd/config.h $(TARGETPREFIX)/include/config.h - -$(D)/neutrino-hd-kronos: $(NEUTRINO_OBJDIR)/config-kronos.status - $(MAKE) -C $(NEUTRINO_OBJDIR) all - $(MAKE) -C $(NEUTRINO_OBJDIR) install DESTDIR=$(TARGETPREFIX) - $(MAKE) $(TARGETPREFIX)/.version - cp -a $(BUILD_TMP)/neutrino-hd/config.h $(TARGETPREFIX)/include/config.h - -$(NEUTRINO_OBJDIR)/config-nevis.status: $(NEUTRINO_DEPS) $(D)/neutrino-hd-libs - test -d $(NEUTRINO_OBJDIR) || mkdir -p $(NEUTRINO_OBJDIR) - $(SOURCE_DIR)/neutrino-hd/autogen.sh - pushd $(NEUTRINO_OBJDIR) && \ - export PKG_CONFIG=$(PKG_CONFIG) && \ - export PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) && \ - CC=$(TARGET)-gcc CFLAGS="$(NEVIS_CFLAGS)" CXXFLAGS="$(NEVIS_CFLAGS)" LDFLAGS="$(NEUTRINO_LDFLAGS)" \ - $(SOURCE_DIR)/neutrino-hd/configure --host=$(TARGET) --build=$(BUILD) --prefix= \ - --enable-maintainer-mode --with-target=cdk --with-targetprefix= --with-boxmodel=nevis \ - --enable-mdev \ - --enable-pip \ - --enable-lua \ - --enable-giflib \ - $(N_CONFIG_OPTS) - -$(NEUTRINO_OBJDIR)/config-apollo.status: $(NEUTRINO_DEPS) $(D)/neutrino-hd-libs - test -d $(NEUTRINO_OBJDIR) || mkdir -p $(NEUTRINO_OBJDIR) - $(SOURCE_DIR)/neutrino-hd/autogen.sh - pushd $(NEUTRINO_OBJDIR) && \ - export PKG_CONFIG=$(PKG_CONFIG) && \ - export PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) && \ - CC=$(TARGET)-gcc CFLAGS="$(APOLLO_CFLAGS)" CXXFLAGS="$(APOLLO_CFLAGS)" LDFLAGS="$(NEUTRINO_LDFLAGS)" \ - $(SOURCE_DIR)/neutrino-hd/configure --host=$(TARGET) --build=$(BUILD) --prefix= \ - --enable-maintainer-mode --with-target=cdk --with-targetprefix= --with-boxmodel=apollo \ - --enable-mdev \ - --enable-pip \ - --enable-lua \ - --enable-giflib \ - $(N_CONFIG_OPTS) - -$(NEUTRINO_OBJDIR)/config-kronos.status: $(NEUTRINO_DEPS) $(D)/neutrino-hd-libs +$(NEUTRINO_OBJDIR)/config.status: $(NEUTRINO_DEPS) $(D)/neutrino-hd-libs test -d $(NEUTRINO_OBJDIR) || mkdir -p $(NEUTRINO_OBJDIR) $(SOURCE_DIR)/neutrino-hd/autogen.sh pushd $(NEUTRINO_OBJDIR) && \ export PKG_CONFIG=$(PKG_CONFIG) && \ export PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) && \ - CC=$(TARGET)-gcc CFLAGS="$(KRONOS_CFLAGS)" CXXFLAGS="$(KRONOS_CFLAGS)" LDFLAGS="$(NEUTRINO_LDFLAGS)" \ + CC=$(TARGET)-gcc CFLAGS="$(N_CFLAGS)" CXXFLAGS="$(N_CFLAGS)" CPPFLAGS="$(N_CPPFLAGS)" \ + LDFLAGS="$(N_LDFLAGS)" \ $(SOURCE_DIR)/neutrino-hd/configure --host=$(TARGET) --build=$(BUILD) --prefix= \ - --enable-maintainer-mode --with-target=cdk --with-targetprefix= --with-boxmodel=kronos \ + --enable-maintainer-mode --with-target=cdk --with-targetprefix="" \ + --with-boxtype=coolstream \ + --enable-freesatepg \ --enable-mdev \ --enable-pip \ --enable-lua \ --enable-giflib \ + $(HW_TYPE) \ $(N_CONFIG_OPTS) -$(TARGETPREFIX)/.version: $(TARGETPREFIX)/bin/neutrino +neutrino-version: $(TARGETPREFIX)/bin/neutrino if [ -e $(BASE_DIR)/customize/version.sh ]; then \ - $(MAKE) $(TARGETPREFIX)/.version2; \ + $(BASE_DIR)/customize/version.sh; \ else \ - $(MAKE) $(TARGETPREFIX)/.version1; \ + $(MAKE) $(TARGETPREFIX)/.version; \ fi -$(TARGETPREFIX)/.version1: +$(TARGETPREFIX)/.version: echo "version=0214`date +%Y%m%d%H%M`" > $@ echo "creator=`id -un` (wittinobi's BS GIT Build: `cd $(BASE_DIR) && git log | grep "^commit" | wc -l`)" >> $@ echo "docs=http://wiki.neutrino-hd.de" >> $@ @@ -139,9 +102,6 @@ $(TARGETPREFIX)/.version1: echo "forum=http://www.dbox2world.net" >> $@ echo "builddate=`cd $(SOURCE_DIR)/neutrino-hd && git log | grep "^commit" | wc -l` vom `date --reference=$(SOURCE_DIR)/neutrino-hd/.git`" >> $@ -$(TARGETPREFIX)/.version2: $(BASE_DIR)/customize/version.sh - $(BASE_DIR)/customize/version.sh - $(D)/neutrino-hd-libs: $(MAKE) $(D)/libsigc $(D)/giflib $(D)/openssl $(D)/libcurl $(D)/freetype $(D)/libjpeg $(D)/libiconv $(D)/libdvbsi++ $(D)/ffmpeg $(D)/libbluray $(D)/openthreads $(D)/libusb $(D)/luaposix $(D)/luacurl $(D)/lua-socket touch $@ diff --git a/make/prerequisites.mk b/make/prerequisites.mk index 77ab601..b04a82c 100755 --- a/make/prerequisites.mk +++ b/make/prerequisites.mk @@ -191,13 +191,13 @@ $(GIT_KERNEL): mkdir -p $(SOURCE_DIR)/git mkdir -p $(GIT_KERNEL) cd $(GIT_KERNEL) && \ - if [ -d $(GIT_KERNEL)/linux-$(CST_KERNEL_VERSION)-cnxt/ ]; then \ - cd $(GIT_KERNEL)/linux-$(CST_KERNEL_VERSION)-cnxt && \ - git pull origin $(CST_KERNEL_VERSION)-cnxt; \ + if [ -d $(GIT_KERNEL)/linux-$(CST_KERNEL_VERSION)/ ]; then \ + cd $(GIT_KERNEL)/linux-$(CST_KERNEL_VERSION) && \ + git pull origin $(KBRANCH); \ else \ - git clone $(CSGIT)/cst-public-linux-kernel.git/ linux-$(CST_KERNEL_VERSION)-cnxt; \ - cd $(GIT_KERNEL)/linux-$(CST_KERNEL_VERSION)-cnxt && \ - git checkout $(CST_KERNEL_VERSION)-cnxt; \ + git clone -b $(KBRANCH) $(CSGIT)/cst-public-linux-kernel.git/ linux-$(CST_KERNEL_VERSION); \ + cd $(GIT_KERNEL)/linux-$(CST_KERNEL_VERSION) && \ + git checkout $(KBRANCH); \ fi $(GIT_PLUGINS): diff --git a/make/versions.mk b/make/versions.mk index dcc7042..0cb7fa5 100644 --- a/make/versions.mk +++ b/make/versions.mk @@ -1,4 +1,23 @@ +# crosstool-ng versions +#CT_VER_NEVIS = 1.20.0_20150218-2311_git-master_41722f5 +CT_VER_NEVIS = 1.20.0 +#CT_VER_APOLLO = 1.21.0_20151228-0417_git-master_a0d58f4 +CT_VER_APOLLO = a0d58f4 +#CT_VER_KRONOS = 1.21.0_20151228-0417_git-master_a0d58f4 +CT_VER_KRONOS = a0d58f4 + +# Linaro GCC Versions +GCC_VER_NEVIS = linaro-4.9-2015.06 +GCC_VER_APOLLO = linaro-5.2-2015.11 +GCC_VER_KRONOS = linaro-5.2-2015.11 + + +UCLIBC_BUILD = 1 +USE_UCLIBC_NG = 0 + +GETTEXT_VER = 0.19.7 + # giflib: converting images replaces libungif GIFLIB_VER=5.1.2 @@ -81,6 +100,10 @@ SAMBA3_VER = 3.3.9 # timezone files TZ_VER=2016a +# uClibc; a C library for developing embedded Linux systems +UCLIBC_VER=0.9.33.2 + +# NFS Server UNFS3_VER=0.9.22 # ushare; uShare is a UPnP (TM) A/V Media Server. -- 2.39.5