diff options
-rw-r--r-- | config/binutils/binutils.in.2 | 3 | ||||
-rw-r--r-- | config/libc.in | 4 | ||||
-rw-r--r-- | config/libc/mingw.in | 8 | ||||
-rw-r--r-- | config/libc/uClibc.in.2 | 6 | ||||
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | patches/strace/4.15/020-use-asm-sgidefs.h.patch | 67 | ||||
-rw-r--r-- | patches/uClibc-ng/1.0.20/110-has-lfs.patch | 31 | ||||
-rw-r--r-- | patches/uClibc-ng/1.0.21/110-has-lfs.patch | 31 | ||||
-rw-r--r-- | scripts/build/companion_tools/050-make.sh | 4 | ||||
-rw-r--r-- | scripts/build/companion_tools/100-m4.sh | 4 | ||||
-rw-r--r-- | scripts/build/companion_tools/200-autoconf.sh | 4 | ||||
-rw-r--r-- | scripts/build/companion_tools/300-automake.sh | 4 | ||||
-rw-r--r-- | scripts/build/companion_tools/400-libtool.sh | 4 | ||||
-rw-r--r-- | scripts/build/libc/mingw.sh | 30 | ||||
-rw-r--r-- | scripts/build/libc/uClibc.sh | 7 |
15 files changed, 197 insertions, 13 deletions
diff --git a/config/binutils/binutils.in.2 b/config/binutils/binutils.in.2 index 336098b..7a1291f 100644 --- a/config/binutils/binutils.in.2 +++ b/config/binutils/binutils.in.2 @@ -11,13 +11,14 @@ choice config ELF2FLT_GIT bool prompt "git" + depends on CONFIGURE_has_git help Grab the latest version of elf2flt from the CVS repository config ELF2FLT_CUSTOM bool prompt "Custom elf2flt" - depends on EXPERIMENTAL + depends on EXPERIMENTAL || !CONFIGURE_has_git help The choosen elf2flt version shall be not downloaded. Instead use a custom location to get the source. diff --git a/config/libc.in b/config/libc.in index e1eabd2..cd3ccec 100644 --- a/config/libc.in +++ b/config/libc.in @@ -55,8 +55,8 @@ choice bool prompt "Threading implementation to use:" default THREADS_NATIVE if LIBC_SUPPORT_THREADS_NATIVE - default THREADS_THREADS_LT if LIBC_SUPPORT_THREADS_LT - default THREADS_THREADS_POSIX if LIBC_SUPPORT_THREADS_POSIX + default THREADS_LT if LIBC_SUPPORT_THREADS_LT + default THREADS_POSIX if LIBC_SUPPORT_THREADS_POSIX default THREADS_NONE config THREADS_NATIVE diff --git a/config/libc/mingw.in b/config/libc/mingw.in index 6c33d2f..62e7a46 100644 --- a/config/libc/mingw.in +++ b/config/libc/mingw.in @@ -74,6 +74,7 @@ config WINAPI_V_DEVEL bool prompt "devel" depends on EXPERIMENTAL + depends on CONFIGURE_has_git endchoice @@ -103,3 +104,10 @@ config MINGW_DIRECTX config MINGW_DDK bool prompt "Include DDK development files" + +config MINGW_TOOLS + bool + prompt "Include the companion tools" + help + build the companion tools with mingw such as widl, gendef, + and genpeimg diff --git a/config/libc/uClibc.in.2 b/config/libc/uClibc.in.2 index dc02420..7ac8a44 100644 --- a/config/libc/uClibc.in.2 +++ b/config/libc/uClibc.in.2 @@ -89,3 +89,9 @@ config LIBC_UCLIBC_FENV If you need fenv.h on other architectures, say 'y' here, but you may encounter some issues. + +config LIBC_UCLIBC_RPC + bool + prompt "Add support for RPC" + help + Enable support for remote procedure calls (RPC) in uClibc. diff --git a/configure.ac b/configure.ac index 76f0d30..bb9fec5 100644 --- a/configure.ac +++ b/configure.ac @@ -342,6 +342,9 @@ ACX_SET_KCONFIG_OPTION([cvs]) AC_CHECK_PROGS([svn], [svn]) ACX_SET_KCONFIG_OPTION([svn]) +AC_CHECK_PROGS([git], [git]) +ACX_SET_KCONFIG_OPTION([git]) + #-------------------------------------------------------------------- # Now, for some fun... #-------------------------------------------------------------------- diff --git a/patches/strace/4.15/020-use-asm-sgidefs.h.patch b/patches/strace/4.15/020-use-asm-sgidefs.h.patch new file mode 100644 index 0000000..06ae5a3 --- /dev/null +++ b/patches/strace/4.15/020-use-asm-sgidefs.h.patch @@ -0,0 +1,67 @@ +diff -urpN strace-4.15.orig/configure strace-4.15/configure +--- strace-4.15.orig/configure 2016-12-14 01:17:44.000000000 -0800 ++++ strace-4.15/configure 2017-01-19 22:32:20.167896014 -0800 +@@ -8775,7 +8775,7 @@ $as_echo_n "checking for _MIPS_SIM... " + if ${st_cv__MIPS_SIM+:} false; then : + $as_echo_n "(cached) " >&6 + else +- if ac_fn_c_compute_int "$LINENO" "_MIPS_SIM" "st_cv__MIPS_SIM" "#include <sgidefs.h>"; then : ++ if ac_fn_c_compute_int "$LINENO" "_MIPS_SIM" "st_cv__MIPS_SIM" "#include <asm/sgidefs.h>"; then : + + else + as_fn_error $? "_MIPS_SIM cannot be determined" "$LINENO" 5 +@@ -8792,7 +8792,7 @@ if ${st_cv_mips_abi+:} false; then : + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-#include <sgidefs.h> ++#include <asm/sgidefs.h> + int + main () + { +@@ -8806,7 +8806,7 @@ if ac_fn_c_try_compile "$LINENO"; then : + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-#include <sgidefs.h> ++#include <asm/sgidefs.h> + int + main () + { +@@ -8820,7 +8820,7 @@ if ac_fn_c_try_compile "$LINENO"; then : + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-#include <sgidefs.h> ++#include <asm/sgidefs.h> + int + main () + { +diff -urpN strace-4.15.orig/configure.ac strace-4.15/configure.ac +--- strace-4.15.orig/configure.ac 2016-12-07 02:59:52.000000000 -0800 ++++ strace-4.15/configure.ac 2017-01-19 22:32:35.768433437 -0800 +@@ -212,20 +212,20 @@ MIPS_ABI= + if test "$arch" = mips; then + AC_CACHE_CHECK([for _MIPS_SIM], [st_cv__MIPS_SIM], + [AC_COMPUTE_INT([st_cv__MIPS_SIM], [_MIPS_SIM], +- [#include <sgidefs.h>], ++ [#include <asm/sgidefs.h>], + [AC_MSG_ERROR([_MIPS_SIM cannot be determined])])]) + + AC_CACHE_CHECK([for MIPS ABI], [st_cv_mips_abi], + [AC_COMPILE_IFELSE( +- [AC_LANG_PROGRAM([[#include <sgidefs.h>]], ++ [AC_LANG_PROGRAM([[#include <asm/sgidefs.h>]], + [[int i[_MIPS_SIM == _MIPS_SIM_ABI32 ? 1 : - 1];]])], + [st_cv_mips_abi=o32], + [AC_COMPILE_IFELSE( +- [AC_LANG_PROGRAM([[#include <sgidefs.h>]], ++ [AC_LANG_PROGRAM([[#include <asm/sgidefs.h>]], + [[int i[_MIPS_SIM == _MIPS_SIM_NABI32 ? 1 : - 1];]])], + [st_cv_mips_abi=n32], + [AC_COMPILE_IFELSE( +- [AC_LANG_PROGRAM([[#include <sgidefs.h>]], ++ [AC_LANG_PROGRAM([[#include <asm/sgidefs.h>]], + [[int i[_MIPS_SIM == _MIPS_SIM_ABI64 ? 1 : - 1];]])], + [st_cv_mips_abi=n64], + [st_cv_mips_abi=unknown])])])]) diff --git a/patches/uClibc-ng/1.0.20/110-has-lfs.patch b/patches/uClibc-ng/1.0.20/110-has-lfs.patch new file mode 100644 index 0000000..c5b90de --- /dev/null +++ b/patches/uClibc-ng/1.0.20/110-has-lfs.patch @@ -0,0 +1,31 @@ +From 2a40d18badc4f0bff8c2e02507cd8d59cfeb3e7c Mon Sep 17 00:00:00 2001 +From: Alexey Neyman <stilor@att.net> +Date: Mon, 23 Jan 2017 14:21:54 -0800 +Subject: [PATCH] Restore UCLIBC_HAS_LFS as "always enabled". + +Otherwise, buildroot rejects uClibc-ng in an external toolchain. + +Signed-off-by: Alexey Neyman <stilor@att.net> +--- + extra/Configs/Config.in | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in +index a9d62f5..b2cf977 100644 +--- a/extra/Configs/Config.in ++++ b/extra/Configs/Config.in +@@ -566,6 +566,11 @@ config UCLIBC_HAS_SYSLOG + Support sending messages to the system logger. + This requires socket-support. + ++config UCLIBC_HAS_LFS ++ def_bool y ++ help ++ Large file support (always enabled; config symbol retained for ++ feature test to be compatible with uClibc). + choice + prompt "Malloc Implementation" + default MALLOC if ! ARCH_USE_MMU +-- +2.9.3 + diff --git a/patches/uClibc-ng/1.0.21/110-has-lfs.patch b/patches/uClibc-ng/1.0.21/110-has-lfs.patch new file mode 100644 index 0000000..c5b90de --- /dev/null +++ b/patches/uClibc-ng/1.0.21/110-has-lfs.patch @@ -0,0 +1,31 @@ +From 2a40d18badc4f0bff8c2e02507cd8d59cfeb3e7c Mon Sep 17 00:00:00 2001 +From: Alexey Neyman <stilor@att.net> +Date: Mon, 23 Jan 2017 14:21:54 -0800 +Subject: [PATCH] Restore UCLIBC_HAS_LFS as "always enabled". + +Otherwise, buildroot rejects uClibc-ng in an external toolchain. + +Signed-off-by: Alexey Neyman <stilor@att.net> +--- + extra/Configs/Config.in | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in +index a9d62f5..b2cf977 100644 +--- a/extra/Configs/Config.in ++++ b/extra/Configs/Config.in +@@ -566,6 +566,11 @@ config UCLIBC_HAS_SYSLOG + Support sending messages to the system logger. + This requires socket-support. + ++config UCLIBC_HAS_LFS ++ def_bool y ++ help ++ Large file support (always enabled; config symbol retained for ++ feature test to be compatible with uClibc). + choice + prompt "Malloc Implementation" + default MALLOC if ! ARCH_USE_MMU +-- +2.9.3 + diff --git a/scripts/build/companion_tools/050-make.sh b/scripts/build/companion_tools/050-make.sh index d8f6b66..60cfa04 100644 --- a/scripts/build/companion_tools/050-make.sh +++ b/scripts/build/companion_tools/050-make.sh @@ -12,7 +12,7 @@ do_companion_tools_make_extract() { } do_companion_tools_make_for_build() { - CT_DoStep EXTRA "Installing make for build" + CT_DoStep INFO "Installing make for build" CT_mkdir_pushd "${CT_BUILD_DIR}/build-make-build" do_make_backend \ host=${CT_BUILD} \ @@ -27,7 +27,7 @@ do_companion_tools_make_for_build() { } do_companion_tools_make_for_host() { - CT_DoStep EXTRA "Installing make for host" + CT_DoStep INFO "Installing make for host" CT_mkdir_pushd "${CT_BUILD_DIR}/build-make-host" do_make_backend \ host=${CT_HOST} \ diff --git a/scripts/build/companion_tools/100-m4.sh b/scripts/build/companion_tools/100-m4.sh index 96cde39..2373c69 100644 --- a/scripts/build/companion_tools/100-m4.sh +++ b/scripts/build/companion_tools/100-m4.sh @@ -11,7 +11,7 @@ do_companion_tools_m4_extract() { } do_companion_tools_m4_for_build() { - CT_DoStep EXTRA "Installing m4 for build" + CT_DoStep INFO "Installing m4 for build" CT_mkdir_pushd "${CT_BUILD_DIR}/build-m4-build" do_m4_backend \ host=${CT_BUILD} \ @@ -23,7 +23,7 @@ do_companion_tools_m4_for_build() { } do_companion_tools_m4_for_host() { - CT_DoStep EXTRA "Installing m4 for host" + CT_DoStep INFO "Installing m4 for host" CT_mkdir_pushd "${CT_BUILD_DIR}/build-m4-host" do_m4_backend \ host=${CT_HOST} \ diff --git a/scripts/build/companion_tools/200-autoconf.sh b/scripts/build/companion_tools/200-autoconf.sh index 95b7115..4f9fc63 100644 --- a/scripts/build/companion_tools/200-autoconf.sh +++ b/scripts/build/companion_tools/200-autoconf.sh @@ -12,7 +12,7 @@ do_companion_tools_autoconf_extract() { } do_companion_tools_autoconf_for_build() { - CT_DoStep EXTRA "Installing autoconf for build" + CT_DoStep INFO "Installing autoconf for build" CT_mkdir_pushd "${CT_BUILD_DIR}/build-autoconf-build" do_autoconf_backend host=${CT_BUILD} prefix="${CT_BUILD_COMPTOOLS_DIR}" CT_Popd @@ -20,7 +20,7 @@ do_companion_tools_autoconf_for_build() { } do_companion_tools_autoconf_for_host() { - CT_DoStep EXTRA "Installing autoconf for host" + CT_DoStep INFO "Installing autoconf for host" CT_mkdir_pushd "${CT_BUILD_DIR}/build-autoconf-host" do_autoconf_backend host=${CT_HOST} prefix="${CT_PREFIX_DIR}" CT_Popd diff --git a/scripts/build/companion_tools/300-automake.sh b/scripts/build/companion_tools/300-automake.sh index 85afaea..e936e7b 100644 --- a/scripts/build/companion_tools/300-automake.sh +++ b/scripts/build/companion_tools/300-automake.sh @@ -12,7 +12,7 @@ do_companion_tools_automake_extract() { } do_companion_tools_automake_for_build() { - CT_DoStep EXTRA "Installing automake for build" + CT_DoStep INFO "Installing automake for build" CT_mkdir_pushd "${CT_BUILD_DIR}/build-automake-build" do_automake_backend host=${CT_BUILD} prefix="${CT_BUILD_COMPTOOLS_DIR}" CT_Popd @@ -20,7 +20,7 @@ do_companion_tools_automake_for_build() { } do_companion_tools_automake_for_host() { - CT_DoStep EXTRA "Installing automake for host" + CT_DoStep INFO "Installing automake for host" CT_mkdir_pushd "${CT_BUILD_DIR}/build-automake-host" do_automake_backend host=${CT_HOST} prefix="${CT_PREFIX_DIR}" CT_Popd diff --git a/scripts/build/companion_tools/400-libtool.sh b/scripts/build/companion_tools/400-libtool.sh index 39aa204..cfcc85b 100644 --- a/scripts/build/companion_tools/400-libtool.sh +++ b/scripts/build/companion_tools/400-libtool.sh @@ -12,7 +12,7 @@ do_companion_tools_libtool_extract() { } do_companion_tools_libtool_for_build() { - CT_DoStep EXTRA "Installing libtool for build" + CT_DoStep INFO "Installing libtool for build" CT_mkdir_pushd "${CT_BUILD_DIR}/build-libtool-build" do_libtool_backend host=${CT_BUILD} prefix="${CT_BUILD_COMPTOOLS_DIR}" CT_Popd @@ -20,7 +20,7 @@ do_companion_tools_libtool_for_build() { } do_companion_tools_libtool_for_host() { - CT_DoStep EXTRA "Installing libtool for host" + CT_DoStep INFO "Installing libtool for host" CT_mkdir_pushd "${CT_BUILD_DIR}/build-libtool-host" do_libtool_backend host=${CT_HOST} prefix="${CT_PREFIX_DIR}" CT_Popd diff --git a/scripts/build/libc/mingw.sh b/scripts/build/libc/mingw.sh index 705f8c9..fddf1f7 100644 --- a/scripts/build/libc/mingw.sh +++ b/scripts/build/libc/mingw.sh @@ -83,6 +83,31 @@ do_check_mingw_vendor_tuple() fi } +do_mingw_tools() { + for f in gendef genidl genlib genpeimg widl + do + if [[ ! -d "${CT_SRC_DIR}/mingw-w64-${CT_WINAPI_VERSION_DOWNLOADED}/mingw-w64-tools/${f}" ]]; then + continue; + fi + + CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-tools/${f}" + + CT_DoExecLog CFG \ + "${CT_SRC_DIR}/mingw-w64-${CT_WINAPI_VERSION_DOWNLOADED}/mingw-w64-tools/${f}/configure" \ + --build=${CT_BUILD} \ + --host=${CT_HOST} \ + --target=${CT_TARGET} \ + --program-prefix=${CT_TARGET}- \ + --prefix="${CT_PREFIX_DIR}" + + CT_DoExecLog ALL ${make} ${JOBSFLAGS} + + CT_DoExecLog ALL ${make} install + + CT_Popd + done +} + do_libc() { do_check_mingw_vendor_tuple @@ -109,6 +134,11 @@ do_libc() { CT_DoLog EXTRA "Installing mingw-w64-crt" CT_DoExecLog ALL make install DESTDIR=${CT_SYSROOT_DIR} + if [[ ${CT_MINGW_TOOLS} == "y" ]]; then + CT_DoLog EXTRA "Installing mingw-w64 companion tools" + do_mingw_tools + fi + CT_EndStep if [ "${CT_THREADS}" = "posix" ]; then diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh index d86ae1a..e58912c 100644 --- a/scripts/build/libc/uClibc.sh +++ b/scripts/build/libc/uClibc.sh @@ -299,6 +299,13 @@ manage_uClibc_config() { esac if [ "${CT_LIBC_UCLIBC_FENV}" = "y" ]; then CT_KconfigEnableOption "UCLIBC_HAS_FENV" "${dst}" + else + CT_KconfigDisableOption "UCLIBC_HAS_FENV" "${dst}" + fi + if [ "${CT_LIBC_UCLIBC_RPC}" = "y" ]; then + CT_KconfigEnableOption "UCLIBC_HAS_RPC" "${dst}" + else + CT_KconfigDisableOption "UCLIBC_HAS_RPC" "${dst}" fi # We always want ctor/dtor |