From be4eb53a2672989f18e5fcf5294a363bb4482f27 Mon Sep 17 00:00:00 2001 From: hedgecrw85 Date: Wed, 10 Jan 2018 10:41:34 -0600 Subject: [PATCH] Full support for aarch32/aarch64 and updated ARM builders --- src/main/c/Linux/Makefile | 38 +- ...SerialComm.config => jSerialComm32.config} | 462 +++++++--------- ...alCommHF.config => jSerialComm32HF.config} | 463 +++++++--------- src/main/c/Linux/jSerialComm64.config | 499 ++++++++++++++++++ .../com/fazecast/jSerialComm/SerialPort.java | 33 +- .../resources/Linux/armv5/libjSerialComm.so | Bin 27698 -> 33220 bytes .../Linux/armv6-hf/libjSerialComm.so | Bin 22473 -> 26288 bytes .../resources/Linux/armv6/libjSerialComm.so | Bin 27690 -> 33220 bytes .../Linux/armv7-hf/libjSerialComm.so | Bin 22473 -> 26288 bytes .../resources/Linux/armv7/libjSerialComm.so | Bin 24893 -> 28904 bytes .../Linux/armv8_32/libjSerialComm.so | Bin 0 -> 27656 bytes .../Linux/armv8_64/libjSerialComm.so | Bin 24448 -> 30248 bytes 12 files changed, 934 insertions(+), 561 deletions(-) rename src/main/c/Linux/{jSerialComm.config => jSerialComm32.config} (54%) rename src/main/c/Linux/{jSerialCommHF.config => jSerialComm32HF.config} (54%) create mode 100644 src/main/c/Linux/jSerialComm64.config create mode 100644 src/main/resources/Linux/armv8_32/libjSerialComm.so diff --git a/src/main/c/Linux/Makefile b/src/main/c/Linux/Makefile index 01b79b2..91d622f 100644 --- a/src/main/c/Linux/Makefile +++ b/src/main/c/Linux/Makefile @@ -2,15 +2,15 @@ COMPILE := gcc COMPILE_ARM32 := arm32-unknown-linux-gnueabi-gcc COMPILE_ARM32HF := arm32hf-unknown-linux-gnueabi-gcc -COMPILE_ARM64 := arm64-unknown-linux-gnueabi-gcc +COMPILE_ARM64 := aarch64-unknown-linux-gnueabi-gcc LINK := gcc LINK_ARM32 := arm32-unknown-linux-gnueabi-gcc LINK_ARM32HF := arm32hf-unknown-linux-gnueabi-gcc -LINK_ARM64 := arm64-unknown-linux-gnueabi-gcc +LINK_ARM64 := aarch64-unknown-linux-gnueabi-gcc CFLAGS := -fPIC -static-libgcc -Os -flto -fuse-linker-plugin LDFLAGS := -shared -static-libgcc -flto -fuse-linker-plugin -Os INCLUDES := -I"$(JDK_HOME)/include" -I"$(JDK_HOME)/include/linux" -LIBRARIES := +LIBRARIES := DELETE := @rm MKDIR := @mkdir COPY := @cp @@ -32,20 +32,20 @@ OBJECTSarmv6 = $(BUILD_DIR)/armv6/SerialPort_Linux.o $(BUILD_DIR)/armv6/LinuxHel OBJECTSarmv6-hf = $(BUILD_DIR)/armv6-hf/SerialPort_Linux.o $(BUILD_DIR)/armv6-hf/LinuxHelperFunctions.o OBJECTSarmv7 = $(BUILD_DIR)/armv7/SerialPort_Linux.o $(BUILD_DIR)/armv7/LinuxHelperFunctions.o OBJECTSarmv7-hf = $(BUILD_DIR)/armv7-hf/SerialPort_Linux.o $(BUILD_DIR)/armv7-hf/LinuxHelperFunctions.o -OBJECTSarmv8 = $(BUILD_DIR)/armv8/SerialPort_Linux.o $(BUILD_DIR)/armv8/LinuxHelperFunctions.o +OBJECTSarmv8_32 = $(BUILD_DIR)/armv8_32/SerialPort_Linux.o $(BUILD_DIR)/armv8_32/LinuxHelperFunctions.o OBJECTSarmv8_64 = $(BUILD_DIR)/armv8_64/SerialPort_Linux.o $(BUILD_DIR)/armv8_64/LinuxHelperFunctions.o FLAGSarmv5 = -marm -mthumb-interwork -march=armv5 -mfloat-abi=soft FLAGSarmv6 = -marm -mthumb-interwork -march=armv6 -mfloat-abi=soft FLAGSarmv6hf = -marm -mthumb-interwork -march=armv6 -mfloat-abi=hard FLAGSarmv7 = -mthumb -mthumb-interwork -march=armv7 -mfloat-abi=soft FLAGSarmv7hf = -mthumb -mthumb-interwork -march=armv7 -mfloat-abi=hard -FLAGSarmv8 = -mthumb -mthumb-interwork -march=armv8-a -mfloat-abi=hard -FLAGSarmv8_64 = -mthumb -mthumb-interwork -march=armv8-a -mfloat-abi=hard +FLAGSarmv8_32 = -mthumb -mthumb-interwork -march=armv8-a +FLAGSarmv8_64 = -march=armv8-a JNI_HEADER = ../com_fazecast_jSerialComm_SerialPort.h JAVA_CLASS = $(JAVA_CLASS_DIR)/SerialPort.class # Define phony and suffix rules -.PHONY: all checkdirs linux32 linux64 arm armv5 armv6 armv6-hf armv7 armv7-hf armv8 armv8_64 +.PHONY: all checkdirs linux32 linux64 arm armv5 armv6 armv6-hf armv7 armv7-hf armv8_32 armv8_64 .SUFFIXES: .SUFFIXES: .cpp .c .o .class .java .h @@ -53,7 +53,7 @@ JAVA_CLASS = $(JAVA_CLASS_DIR)/SerialPort.class all : linux32 linux64 $(DELETE) -rf `readlink -f $(BUILD_DIR)/..` $(DELETE) -rf ../*.h - + # Builds 32-bit Linux libraries linux32 : ARCH = -m32 linux32 : checkdirs $(BUILD_DIR)/x86/$(LIBRARY_NAME) @@ -67,7 +67,7 @@ linux64 : checkdirs $(BUILD_DIR)/x86_64/$(LIBRARY_NAME) $(COPY) $(BUILD_DIR)/x86_64/*.* $(RESOURCE_DIR)/x86_64/ # Build all ARM libraries -arm : armv5 armv6 armv6-hf armv7 armv7-hf #armv8 armv8_64 +arm : armv5 armv6 armv6-hf armv7 armv7-hf armv8_32 armv8_64 $(DELETE) -rf `readlink -f $(BUILD_DIR)/..` $(DELETE) -rf ../*.h armv5 : checkdirs $(BUILD_DIR)/armv5/$(LIBRARY_NAME) @@ -85,15 +85,15 @@ armv7 : checkdirs $(BUILD_DIR)/armv7/$(LIBRARY_NAME) armv7-hf : checkdirs $(BUILD_DIR)/armv7-hf/$(LIBRARY_NAME) $(DELETE) -rf $(BUILD_DIR)/armv7-hf/*.o $(COPY) $(BUILD_DIR)/armv7-hf/*.* $(RESOURCE_DIR)/armv7-hf/ -armv8 : checkdirs $(BUILD_DIR)/armv8/$(LIBRARY_NAME) - $(DELETE) -rf $(BUILD_DIR)/armv8/*.o - $(COPY) $(BUILD_DIR)/armv8/*.* $(RESOURCE_DIR)/armv8/ +armv8_32 : checkdirs $(BUILD_DIR)/armv8_32/$(LIBRARY_NAME) + $(DELETE) -rf $(BUILD_DIR)/armv8_32/*.o + $(COPY) $(BUILD_DIR)/armv8_32/*.* $(RESOURCE_DIR)/armv8_32/ armv8_64 : checkdirs $(BUILD_DIR)/armv8_64/$(LIBRARY_NAME) $(DELETE) -rf $(BUILD_DIR)/armv8_64/*.o $(COPY) $(BUILD_DIR)/armv8_64/*.* $(RESOURCE_DIR)/armv8_64/ # Rule to create build directories -checkdirs : $(BUILD_DIR)/x86 $(BUILD_DIR)/x86_64 $(BUILD_DIR)/armv5 $(BUILD_DIR)/armv6 $(BUILD_DIR)/armv6-hf $(BUILD_DIR)/armv7 $(BUILD_DIR)/armv7-hf $(BUILD_DIR)/armv8 $(BUILD_DIR)/armv8_64 $(JAVA_CLASS_DIR) +checkdirs : $(BUILD_DIR)/x86 $(BUILD_DIR)/x86_64 $(BUILD_DIR)/armv5 $(BUILD_DIR)/armv6 $(BUILD_DIR)/armv6-hf $(BUILD_DIR)/armv7 $(BUILD_DIR)/armv7-hf $(BUILD_DIR)/armv8_32 $(BUILD_DIR)/armv8_64 $(JAVA_CLASS_DIR) $(BUILD_DIR)/x86 : $(MKDIR) -p $@ $(BUILD_DIR)/x86_64 : @@ -108,7 +108,7 @@ $(BUILD_DIR)/armv7 : $(MKDIR) -p $@ $(BUILD_DIR)/armv7-hf : $(MKDIR) -p $@ -$(BUILD_DIR)/armv8 : +$(BUILD_DIR)/armv8_32 : $(MKDIR) -p $@ $(BUILD_DIR)/armv8_64 : $(MKDIR) -p $@ @@ -134,11 +134,11 @@ $(BUILD_DIR)/armv7/$(LIBRARY_NAME) : $(JNI_HEADER) $(OBJECTSarmv7) $(LINK_ARM32) $(LDFLAGS) $(FLAGSarmv7) -o $@ $(OBJECTSarmv7) $(LIBRARIES) $(BUILD_DIR)/armv7-hf/$(LIBRARY_NAME) : $(JNI_HEADER) $(OBJECTSarmv7-hf) $(LINK_ARM32HF) $(LDFLAGS) $(FLAGSarmv7-hf) -o $@ $(OBJECTSarmv7-hf) $(LIBRARIES) -$(BUILD_DIR)/armv8/$(LIBRARY_NAME) : $(JNI_HEADER) $(OBJECTSarmv8) - $(LINK_ARM32) $(LDFLAGS) $(FLAGSarmv8) -o $@ $(OBJECTSarmv8) $(LIBRARIES) +$(BUILD_DIR)/armv8_32/$(LIBRARY_NAME) : $(JNI_HEADER) $(OBJECTSarmv8_32) + $(LINK_ARM32) $(LDFLAGS) $(FLAGSarmv8_32) -o $@ $(OBJECTSarmv8_32) $(LIBRARIES) $(BUILD_DIR)/armv8_64/$(LIBRARY_NAME) : $(JNI_HEADER) $(OBJECTSarmv8_64) $(LINK_ARM64) $(LDFLAGS) $(FLAGSarmv8_64) -o $@ $(OBJECTSarmv8_64) $(LIBRARIES) - + # Suffix rules to get from *.c -> *.o $(BUILD_DIR)/x86/%.o : %.c $(COMPILE) $(INCLUDES) $(CFLAGS) $(ARCH) -c $< -o $@ @@ -154,8 +154,8 @@ $(BUILD_DIR)/armv7/%.o : %.c $(COMPILE_ARM32) $(INCLUDES) $(CFLAGS) $(FLAGSarmv7) -c $< -o $@ $(BUILD_DIR)/armv7-hf/%.o : %.c $(COMPILE_ARM32HF) $(INCLUDES) $(CFLAGS) $(FLAGSarmv7-hf) -c $< -o $@ -$(BUILD_DIR)/armv8/%.o : %.c - $(COMPILE_ARM32) $(INCLUDES) $(CFLAGS) $(FLAGSarmv8) -c $< -o $@ +$(BUILD_DIR)/armv8_32/%.o : %.c + $(COMPILE_ARM32) $(INCLUDES) $(CFLAGS) $(FLAGSarmv8_32) -c $< -o $@ $(BUILD_DIR)/armv8_64/%.o : %.c $(COMPILE_ARM64) $(INCLUDES) $(CFLAGS) $(FLAGSarmv8_64) -c $< -o $@ diff --git a/src/main/c/Linux/jSerialComm.config b/src/main/c/Linux/jSerialComm32.config similarity index 54% rename from src/main/c/Linux/jSerialComm.config rename to src/main/c/Linux/jSerialComm32.config index 51c3607..19ce6fc 100644 --- a/src/main/c/Linux/jSerialComm.config +++ b/src/main/c/Linux/jSerialComm32.config @@ -1,10 +1,18 @@ # -# Automatically generated make config: don't edit -# crosstool-NG 1.20.0 Configuration -# Mon Apr 20 16:33:05 2015 +# Automatically generated file; DO NOT EDIT. +# Crosstool-NG Configuration # -CT_CONFIGURE_has_xz=y -CT_CONFIGURE_has_svn=y +CT_CONFIGURE_has_static_link=y +CT_CONFIGURE_has_wget=y +CT_CONFIGURE_has_curl=y +CT_CONFIGURE_has_stat_flavor_GNU=y +CT_CONFIGURE_has_make_3_81_or_newer=y +CT_CONFIGURE_has_libtoolize_2_4_or_newer=y +CT_CONFIGURE_has_autoconf_2_63_or_newer=y +CT_CONFIGURE_has_autoreconf_2_63_or_newer=y +CT_CONFIGURE_has_automake_1_15_or_newer=y +CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y +CT_CONFIGURE_has_git=y CT_MODULES=y # @@ -24,19 +32,24 @@ CT_MODULES=y CT_LOCAL_TARBALLS_DIR="${HOME}/src" CT_SAVE_TARBALLS=y CT_WORK_DIR="${CT_TOP_DIR}/.build" -CT_PREFIX_DIR="${HOME}/x-tools/${CT_TARGET}" -CT_INSTALL_DIR="${CT_PREFIX_DIR}" +CT_BUILD_TOP_DIR="${CT_WORK_DIR}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}" +CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}" CT_RM_RF_PREFIX_DIR=y CT_REMOVE_DOCS=y -CT_INSTALL_DIR_RO=y -CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y +CT_PREFIX_DIR_RO=y +CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y +CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y # # Downloading # +CT_DOWNLOAD_AGENT_WGET=y +# CT_DOWNLOAD_AGENT_CURL is not set +# CT_DOWNLOAD_AGENT_NONE is not set # CT_FORBID_DOWNLOAD is not set # CT_FORCE_DOWNLOAD is not set CT_CONNECT_TIMEOUT=10 +CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary" # CT_ONLY_DOWNLOAD is not set # CT_USE_MIRROR is not set @@ -44,7 +57,7 @@ CT_CONNECT_TIMEOUT=10 # Extracting # # CT_FORCE_EXTRACT is not set -CT_OVERIDE_CONFIG_GUESS_SUB=y +CT_OVERRIDE_CONFIG_GUESS_SUB=y # CT_ONLY_EXTRACT is not set CT_PATCH_BUNDLED=y # CT_PATCH_LOCAL is not set @@ -90,69 +103,73 @@ 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="" -CT_ARCH_CPU="" -CT_ARCH_TUNE="" -CT_ARCH_FPU="" -# 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 is not set -CT_ARCH_FLOAT_SW=y -CT_TARGET_CFLAGS="" -CT_TARGET_LDFLAGS="" # CT_ARCH_alpha is not set CT_ARCH_arm=y -# CT_ARCH_avr32 is not set -# CT_ARCH_blackfin is not set +# CT_ARCH_avr is not set # CT_ARCH_m68k 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_avr32_AVAILABLE=y -CT_ARCH_blackfin_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="32" # # Generic target options # # CT_MULTILIB is not set +CT_DEMULTILIB=y +CT_ARCH_SUPPORTS_BOTH_MMU=y +CT_ARCH_DEFAULT_HAS_MMU=y CT_ARCH_USE_MMU=y +CT_ARCH_SUPPORTS_BOTH_ENDIAN=y +CT_ARCH_DEFAULT_LE=y +# CT_ARCH_BE is not set +CT_ARCH_LE=y CT_ARCH_ENDIAN="little" +CT_ARCH_SUPPORTS_32=y +CT_ARCH_SUPPORTS_64=y +CT_ARCH_DEFAULT_32=y +CT_ARCH_BITNESS=32 +CT_ARCH_32=y +# CT_ARCH_64 is not set # # Target optimisations # +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_EXCLUSIVE_WITH_CPU=y +CT_ARCH_ARCH="" +CT_ARCH_CPU="" +CT_ARCH_TUNE="" +CT_ARCH_FPU="" # CT_ARCH_FLOAT_AUTO is not set +# CT_ARCH_FLOAT_HW is not set # CT_ARCH_FLOAT_SOFTFP is not set +CT_ARCH_FLOAT_SW=y +CT_TARGET_CFLAGS="" +CT_TARGET_LDFLAGS="" CT_ARCH_FLOAT="soft" # @@ -177,6 +194,7 @@ CT_USE_SYSROOT=y CT_SYSROOT_NAME="sysroot" CT_SYSROOT_DIR_PREFIX="" CT_WANTS_STATIC_LINK=y +CT_WANTS_STATIC_LINK_CXX=y # CT_STATIC_TOOLCHAIN is not set CT_TOOLCHAIN_PKGVERSION="" CT_TOOLCHAIN_BUGURL="" @@ -212,36 +230,21 @@ CT_BUILD_SUFFIX="" # CT_KERNEL_SUPPORTS_SHARED_LIBS=y CT_KERNEL="linux" -CT_KERNEL_VERSION="3.0.101" +CT_KERNEL_VERSION="4.10.8" # CT_KERNEL_bare_metal is not set CT_KERNEL_linux=y CT_KERNEL_bare_metal_AVAILABLE=y CT_KERNEL_linux_AVAILABLE=y -# CT_KERNEL_V_3_15 is not set -# CT_KERNEL_V_3_14 is not set -# CT_KERNEL_V_3_13 is not set -# CT_KERNEL_V_3_12 is not set -# CT_KERNEL_V_3_11 is not set -# CT_KERNEL_V_3_10 is not set -# CT_KERNEL_V_3_9 is not set -# CT_KERNEL_V_3_8 is not set -# CT_KERNEL_V_3_7 is not set -# CT_KERNEL_V_3_6 is not set -# CT_KERNEL_V_3_5 is not set -# CT_KERNEL_V_3_4 is not set -# CT_KERNEL_V_3_3 is not set -# CT_KERNEL_V_3_2 is not set -# CT_KERNEL_V_3_1 is not set -CT_KERNEL_V_3_0=y -# CT_KERNEL_V_2_6_39 is not set -# CT_KERNEL_V_2_6_38 is not set -# CT_KERNEL_V_2_6_37 is not set -# CT_KERNEL_V_2_6_36 is not set -# CT_KERNEL_V_2_6_33 is not set -# CT_KERNEL_V_2_6_32 is not set -# CT_KERNEL_V_2_6_31 is not set -# CT_KERNEL_V_2_6_27 is not set # CT_KERNEL_LINUX_CUSTOM is not set +CT_KERNEL_V_4_10=y +# CT_KERNEL_V_4_9 is not set +# CT_KERNEL_V_4_4 is not set +# CT_KERNEL_V_4_1 is not set +# CT_KERNEL_V_3_16 is not set +# CT_KERNEL_V_3_12 is not set +# CT_KERNEL_V_3_10 is not set +# CT_KERNEL_V_3_4 is not set +# CT_KERNEL_V_3_2 is not set CT_KERNEL_windows_AVAILABLE=y # @@ -268,30 +271,34 @@ CT_BINUTILS_binutils=y # # GNU binutils # -CT_BINUTILS_V_2_22=y -# 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_VERSION="2.22" -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_VERSION="2.28" +# CT_BINUTILS_SHOW_LINARO is not set +CT_BINUTILS_V_2_28=y +# CT_BINUTILS_V_2_27 is not set +# CT_BINUTILS_V_2_26 is not set +CT_BINUTILS_2_27_or_later=y +CT_BINUTILS_2_26_or_later=y +CT_BINUTILS_2_25_1_or_later=y +CT_BINUTILS_2_25_or_later=y +CT_BINUTILS_2_24_or_later=y +CT_BINUTILS_2_23_2_or_later=y CT_BINUTILS_HAS_HASH_STYLE=y CT_BINUTILS_HAS_GOLD=y CT_BINUTILS_GOLD_SUPPORTS_ARCH=y +CT_BINUTILS_GOLD_SUPPORT=y CT_BINUTILS_HAS_PLUGINS=y CT_BINUTILS_HAS_PKGVERSION_BUGURL=y -CT_BINUTILS_FORCE_LD_BFD=y -CT_BINUTILS_LINKER_LD=y -# CT_BINUTILS_LINKER_LD_GOLD is not set +CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y +# CT_BINUTILS_LINKER_LD is not set +CT_BINUTILS_LINKER_LD_GOLD=y # CT_BINUTILS_LINKER_GOLD_LD is not set -CT_BINUTILS_LINKERS_LIST="ld" +CT_BINUTILS_GOLD_INSTALLED=y +CT_BINUTILS_GOLD_THREADS=y +CT_BINUTILS_LINKER_BOTH=y +CT_BINUTILS_LINKERS_LIST="ld,gold" +CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_LINKER_DEFAULT="bfd" -# CT_BINUTILS_PLUGINS is not set +CT_BINUTILS_PLUGINS=y CT_BINUTILS_EXTRA_CONFIG_ARRAY="" # CT_BINUTILS_FOR_TARGET is not set @@ -303,29 +310,19 @@ CT_BINUTILS_EXTRA_CONFIG_ARRAY="" # C-library # CT_LIBC="glibc" -CT_LIBC_VERSION="2.19" -# CT_LIBC_eglibc is not set +CT_LIBC_VERSION="2.25" CT_LIBC_glibc=y -# CT_LIBC_musl is not set # CT_LIBC_uClibc is not set -CT_LIBC_eglibc_AVAILABLE=y -CT_THREADS="nptl" +CT_LIBC_avr_libc_AVAILABLE=y CT_LIBC_glibc_AVAILABLE=y -CT_LIBC_GLIBC_V_2_19=y -# CT_LIBC_GLIBC_V_2_18 is not set -# CT_LIBC_GLIBC_V_2_17 is not set -# CT_LIBC_GLIBC_V_2_16_0 is not set -# CT_LIBC_GLIBC_V_2_15 is not set -# CT_LIBC_GLIBC_V_2_14_1 is not set -# CT_LIBC_GLIBC_V_2_14 is not set -# CT_LIBC_GLIBC_V_2_13 is not set -# CT_LIBC_GLIBC_V_2_12_2 is not set -# CT_LIBC_GLIBC_V_2_12_1 is not set -# CT_LIBC_GLIBC_V_2_11_1 is not set -# CT_LIBC_GLIBC_V_2_11 is not set -# CT_LIBC_GLIBC_V_2_10_1 is not set -# CT_LIBC_GLIBC_V_2_9 is not set -# CT_LIBC_GLIBC_V_2_8 is not set +CT_THREADS="nptl" +# CT_CC_GLIBC_SHOW_LINARO is not set +CT_LIBC_GLIBC_V_2_25=y +# CT_LIBC_GLIBC_V_2_24 is not set +# CT_LIBC_GLIBC_V_2_23 is not set +CT_LIBC_GLIBC_2_23_or_later=y +CT_LIBC_GLIBC_2_20_or_later=y +CT_LIBC_GLIBC_2_17_or_later=y CT_LIBC_mingw_AVAILABLE=y CT_LIBC_musl_AVAILABLE=y CT_LIBC_newlib_AVAILABLE=y @@ -338,147 +335,61 @@ CT_LIBC_SUPPORT_THREADS_NATIVE=y # Common C library options # CT_THREADS_NATIVE=y +# CT_CREATE_LDSO_CONF is not set CT_LIBC_XLDD=y -# CT_LIBC_GLIBC_PORTS_EXTERNAL is not set -CT_LIBC_GLIBC_MAY_FORCE_PORTS=y -CT_LIBC_glibc_familly=y -CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY="" -CT_LIBC_GLIBC_CONFIGPARMS="" -CT_LIBC_GLIBC_EXTRA_CFLAGS="" -CT_LIBC_EXTRA_CC_ARGS="" -# CT_LIBC_DISABLE_VERSIONING is not set -CT_LIBC_OLDEST_ABI="" -CT_LIBC_GLIBC_FORCE_UNWIND=y -CT_LIBC_GLIBC_USE_PORTS=y -CT_LIBC_ADDONS_LIST="" -# CT_LIBC_LOCALES is not set -# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set -CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y -# CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set -CT_LIBC_GLIBC_MIN_KERNEL="3.0.101" # # glibc other options # - -# -# WARNING !!! -# - -# -# For glibc >= 2.8, it can happen that the tarballs -# - -# -# for the addons are not available for download. -# - -# -# If that happens, bad luck... Try a previous version -# - -# -# or try again later... :-( -# +CT_LIBC_GLIBC_NEEDS_PORTS=y +CT_LIBC_glibc_family=y +CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY="" +CT_LIBC_GLIBC_CONFIGPARMS="" +CT_LIBC_GLIBC_EXTRA_CFLAGS="" +# CT_LIBC_DISABLE_VERSIONING is not set +CT_LIBC_OLDEST_ABI="" +CT_LIBC_GLIBC_FORCE_UNWIND=y +CT_LIBC_ADDONS_LIST="" +# CT_LIBC_LOCALES is not set +# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set +# CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS is not set +CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN=y +CT_LIBC_GLIBC_MIN_KERNEL_VERSION="3.10" +CT_LIBC_GLIBC_MIN_KERNEL="3.10" # # C compiler # CT_CC="gcc" -CT_CC_VERSION="4.9.1" 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_SHOW_LINARO=y -CT_CC_V_4_9_1=y -# CT_CC_V_4_9_0 is not set -# CT_CC_V_linaro_4_8 is not set -# CT_CC_V_4_8_3 is not set -# CT_CC_V_4_8_2 is not set -# CT_CC_V_4_8_1 is not set -# CT_CC_V_4_8_0 is not set -# CT_CC_V_linaro_4_7 is not set -# CT_CC_V_4_7_4 is not set -# CT_CC_V_4_7_3 is not set -# CT_CC_V_4_7_2 is not set -# CT_CC_V_4_7_1 is not set -# CT_CC_V_4_7_0 is not set -# CT_CC_V_linaro_4_6 is not set -# CT_CC_V_4_6_4 is not set -# CT_CC_V_4_6_3 is not set -# CT_CC_V_4_6_2 is not set -# CT_CC_V_4_6_1 is not set -# CT_CC_V_4_6_0 is not set -# CT_CC_V_linaro_4_5 is not set -# CT_CC_V_4_5_3 is not set -# CT_CC_V_4_5_2 is not set -# CT_CC_V_4_5_1 is not set -# CT_CC_V_4_5_0 is not set -# CT_CC_V_linaro_4_4 is not set -# CT_CC_V_4_4_7 is not set -# CT_CC_V_4_4_6 is not set -# CT_CC_V_4_4_5 is not set -# CT_CC_V_4_4_4 is not set -# CT_CC_V_4_4_3 is not set -# CT_CC_V_4_4_2 is not set -# CT_CC_V_4_4_1 is not set -# CT_CC_V_4_4_0 is not set -# CT_CC_V_4_3_6 is not set -# CT_CC_V_4_3_5 is not set -# CT_CC_V_4_3_4 is not set -# CT_CC_V_4_3_3 is not set -# CT_CC_V_4_3_2 is not set -# CT_CC_V_4_3_1 is not set -# CT_CC_V_4_2_4 is not set -# CT_CC_V_4_2_2 is not set -CT_CC_GCC_4_2_or_later=y -CT_CC_GCC_4_3_or_later=y -CT_CC_GCC_4_4_or_later=y -CT_CC_GCC_4_5_or_later=y -CT_CC_GCC_4_6_or_later=y -CT_CC_GCC_4_7_or_later=y +CT_CC_GCC_VERSION="6.3.0" +# CT_CC_GCC_SHOW_LINARO is not set +CT_CC_GCC_V_6_3_0=y +# CT_CC_GCC_V_5_4_0 is not set +# CT_CC_GCC_V_4_9_4 is not set CT_CC_GCC_4_8_or_later=y -CT_CC_GCC_4_9=y CT_CC_GCC_4_9_or_later=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_HAS_LIBQUADMATH=y -CT_CC_GCC_HAS_LIBSANITIZER=y -# CT_CC_LANG_FORTRAN 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 -CT_CC_SUPPORT_GOLANG=y - -# -# Additional supported languages: -# -# CT_CC_LANG_CXX is not set -# CT_CC_LANG_JAVA is not set - -# -# gcc other options -# -CT_CC_ENABLE_CXX_FLAGS="" -CT_CC_CORE_EXTRA_CONFIG_ARRAY="" -CT_CC_EXTRA_CONFIG_ARRAY="" -CT_CC_STATIC_LIBSTDCXX=y +CT_CC_GCC_5_or_later=y +CT_CC_GCC_6=y +CT_CC_GCC_6_or_later=y +CT_CC_GCC_ENABLE_PLUGINS=y +CT_CC_GCC_GOLD=y +CT_CC_GCC_HAS_LIBMPX=y +CT_CC_GCC_ENABLE_CXX_FLAGS="" +CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="" +CT_CC_GCC_EXTRA_CONFIG_ARRAY="" +CT_CC_GCC_STATIC_LIBSTDCXX=y # CT_CC_GCC_SYSTEM_ZLIB is not set +CT_CC_GCC_CONFIG_TLS=m # # Optimisation features # +CT_CC_GCC_USE_GRAPHITE=y +CT_CC_GCC_USE_LTO=y # # Settings for libraries running on target @@ -494,24 +405,37 @@ CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y # Misc. obscure options. # CT_CC_CXA_ATEXIT=y -CT_CC_GCC_DISABLE_PCH=y -CT_CC_GCC_SJLJ_EXCEPTIONS=m +# CT_CC_GCC_DISABLE_PCH is not set +# CT_CC_GCC_SJLJ_EXCEPTIONS is not set CT_CC_GCC_LDBL_128=m -CT_CC_GCC_BUILD_ID=y -# CT_CC_GCC_LNK_HASH_STYLE_DEFAULT is not set +# CT_CC_GCC_BUILD_ID is not set +CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y # 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_LNK_HASH_STYLE_BOTH is not set +CT_CC_GCC_LNK_HASH_STYLE="" 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 +CT_CC_SUPPORT_GOLANG=y + +# +# Additional supported languages: +# +CT_CC_LANG_CXX=y +# CT_CC_LANG_FORTRAN is not set +# CT_CC_LANG_JAVA is not set # # Debug facilities # -# CT_DEBUG_dmalloc is not set # CT_DEBUG_duma is not set # CT_DEBUG_gdb is not set # CT_DEBUG_ltrace is not set @@ -521,48 +445,49 @@ CT_CC_GCC_DEC_FLOAT_AUTO=y # Companion libraries # CT_COMPLIBS_NEEDED=y +CT_LIBICONV_NEEDED=y +CT_GETTEXT_NEEDED=y CT_GMP_NEEDED=y CT_MPFR_NEEDED=y CT_ISL_NEEDED=y -CT_CLOOG_NEEDED=y CT_MPC_NEEDED=y +CT_NCURSES_NEEDED=y CT_COMPLIBS=y +CT_LIBICONV=y +CT_GETTEXT=y CT_GMP=y CT_MPFR=y CT_ISL=y -CT_CLOOG=y CT_MPC=y -CT_GMP_V_5_1_3=y -# 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_VERSION="5.1.3" -CT_MPFR_V_3_1_2=y -# 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.2" -CT_ISL_V_0_12_2=y -# CT_ISL_V_0_11_1 is not set -CT_ISL_VERSION="0.12.2" -CT_CLOOG_V_0_18_1=y -# CT_CLOOG_V_0_18_0 is not set -CT_CLOOG_VERSION="0.18.1" -CT_CLOOG_0_18_or_later=y -CT_MPC_V_1_0_2=y -# 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.2" +CT_NCURSES=y +# CT_ZLIB is not set +CT_LIBICONV_V_1_15=y +# CT_LIBICONV_V_1_14 is not set +CT_LIBICONV_VERSION="1.15" +CT_GETTEXT_V_0_19_8_1=y +CT_GETTEXT_VERSION="0.19.8.1" +CT_GMP_V_6_1_2=y +CT_GMP_5_0_2_or_later=y +CT_GMP_VERSION="6.1.2" +CT_MPFR_V_3_1_5=y +CT_MPFR_VERSION="3.1.5" +CT_ISL_V_0_16_1=y +# CT_ISL_V_0_15 is not set +CT_ISL_V_0_16_or_later=y +CT_ISL_V_0_15_or_later=y +CT_ISL_V_0_14_or_later=y +CT_ISL_V_0_12_or_later=y +CT_ISL_VERSION="0.16.1" +CT_MPC_V_1_0_3=y +CT_MPC_VERSION="1.0.3" +CT_NCURSES_V_6_0=y +CT_NCURSES_VERSION="6.0" +CT_NCURSES_HOST_CONFIG_ARGS="" +CT_NCURSES_HOST_DISABLE_DB=y +CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100" +CT_NCURSES_TARGET_CONFIG_ARGS="" +# CT_NCURSES_TARGET_DISABLE_DB is not set +CT_NCURSES_TARGET_FALLBACKS="" # # Companion libraries common options @@ -572,8 +497,11 @@ CT_MPC_VERSION="1.0.2" # # Companion tools # - -# -# READ HELP before you say 'Y' below !!! -# -# CT_COMP_TOOLS is not set +# CT_COMP_TOOLS_FOR_HOST is not set +# CT_COMP_TOOLS_autoconf is not set +# CT_COMP_TOOLS_automake is not set +CT_COMP_TOOLS_libtool=y +CT_LIBTOOL_V_2_4_6=y +CT_LIBTOOL_VERSION="2.4.6" +# CT_COMP_TOOLS_m4 is not set +# CT_COMP_TOOLS_make is not set diff --git a/src/main/c/Linux/jSerialCommHF.config b/src/main/c/Linux/jSerialComm32HF.config similarity index 54% rename from src/main/c/Linux/jSerialCommHF.config rename to src/main/c/Linux/jSerialComm32HF.config index 51c1a57..162f973 100644 --- a/src/main/c/Linux/jSerialCommHF.config +++ b/src/main/c/Linux/jSerialComm32HF.config @@ -1,11 +1,18 @@ # -# Automatically generated make config: don't edit -# crosstool-NG 1.20.0 Configuration -# Thu Apr 9 01:11:06 2015 +# 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_CONFIGURE_has_static_link=y +CT_CONFIGURE_has_wget=y +CT_CONFIGURE_has_curl=y +CT_CONFIGURE_has_stat_flavor_GNU=y +CT_CONFIGURE_has_make_3_81_or_newer=y +CT_CONFIGURE_has_libtoolize_2_4_or_newer=y +CT_CONFIGURE_has_autoconf_2_63_or_newer=y +CT_CONFIGURE_has_autoreconf_2_63_or_newer=y +CT_CONFIGURE_has_automake_1_15_or_newer=y +CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y +CT_CONFIGURE_has_git=y CT_MODULES=y # @@ -25,19 +32,24 @@ CT_MODULES=y CT_LOCAL_TARBALLS_DIR="${HOME}/src" CT_SAVE_TARBALLS=y CT_WORK_DIR="${CT_TOP_DIR}/.build" -CT_PREFIX_DIR="${HOME}/x-tools/${CT_TARGET}" -CT_INSTALL_DIR="${CT_PREFIX_DIR}" +CT_BUILD_TOP_DIR="${CT_WORK_DIR}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}" +CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}" CT_RM_RF_PREFIX_DIR=y CT_REMOVE_DOCS=y -CT_INSTALL_DIR_RO=y -CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y +CT_PREFIX_DIR_RO=y +CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y +CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y # # Downloading # +CT_DOWNLOAD_AGENT_WGET=y +# CT_DOWNLOAD_AGENT_CURL is not set +# CT_DOWNLOAD_AGENT_NONE is not set # CT_FORBID_DOWNLOAD is not set # CT_FORCE_DOWNLOAD is not set CT_CONNECT_TIMEOUT=10 +CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary" # CT_ONLY_DOWNLOAD is not set # CT_USE_MIRROR is not set @@ -45,7 +57,7 @@ CT_CONNECT_TIMEOUT=10 # Extracting # # CT_FORCE_EXTRACT is not set -CT_OVERIDE_CONFIG_GUESS_SUB=y +CT_OVERRIDE_CONFIG_GUESS_SUB=y # CT_ONLY_EXTRACT is not set CT_PATCH_BUNDLED=y # CT_PATCH_LOCAL is not set @@ -91,69 +103,73 @@ 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="" -CT_ARCH_CPU="" -CT_ARCH_TUNE="" -CT_ARCH_FPU="" -# 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_avr32 is not set -# CT_ARCH_blackfin is not set +# CT_ARCH_avr is not set # CT_ARCH_m68k 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_avr32_AVAILABLE=y -CT_ARCH_blackfin_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="32hf" # # Generic target options # # CT_MULTILIB is not set +CT_DEMULTILIB=y +CT_ARCH_SUPPORTS_BOTH_MMU=y +CT_ARCH_DEFAULT_HAS_MMU=y CT_ARCH_USE_MMU=y +CT_ARCH_SUPPORTS_BOTH_ENDIAN=y +CT_ARCH_DEFAULT_LE=y +# CT_ARCH_BE is not set +CT_ARCH_LE=y CT_ARCH_ENDIAN="little" +CT_ARCH_SUPPORTS_32=y +CT_ARCH_SUPPORTS_64=y +CT_ARCH_DEFAULT_32=y +CT_ARCH_BITNESS=32 +CT_ARCH_32=y +# CT_ARCH_64 is not set # # Target optimisations # +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_EXCLUSIVE_WITH_CPU=y +CT_ARCH_ARCH="" +CT_ARCH_CPU="" +CT_ARCH_TUNE="" +CT_ARCH_FPU="" # CT_ARCH_FLOAT_AUTO is not set +CT_ARCH_FLOAT_HW=y # CT_ARCH_FLOAT_SOFTFP is not set +# CT_ARCH_FLOAT_SW is not set +CT_TARGET_CFLAGS="" +CT_TARGET_LDFLAGS="" CT_ARCH_FLOAT="hard" # @@ -178,6 +194,7 @@ CT_USE_SYSROOT=y CT_SYSROOT_NAME="sysroot" CT_SYSROOT_DIR_PREFIX="" CT_WANTS_STATIC_LINK=y +CT_WANTS_STATIC_LINK_CXX=y # CT_STATIC_TOOLCHAIN is not set CT_TOOLCHAIN_PKGVERSION="" CT_TOOLCHAIN_BUGURL="" @@ -213,36 +230,21 @@ CT_BUILD_SUFFIX="" # CT_KERNEL_SUPPORTS_SHARED_LIBS=y CT_KERNEL="linux" -CT_KERNEL_VERSION="3.0.101" +CT_KERNEL_VERSION="4.10.8" # CT_KERNEL_bare_metal is not set CT_KERNEL_linux=y CT_KERNEL_bare_metal_AVAILABLE=y CT_KERNEL_linux_AVAILABLE=y -# CT_KERNEL_V_3_15 is not set -# CT_KERNEL_V_3_14 is not set -# CT_KERNEL_V_3_13 is not set -# CT_KERNEL_V_3_12 is not set -# CT_KERNEL_V_3_11 is not set -# CT_KERNEL_V_3_10 is not set -# CT_KERNEL_V_3_9 is not set -# CT_KERNEL_V_3_8 is not set -# CT_KERNEL_V_3_7 is not set -# CT_KERNEL_V_3_6 is not set -# CT_KERNEL_V_3_5 is not set -# CT_KERNEL_V_3_4 is not set -# CT_KERNEL_V_3_3 is not set -# CT_KERNEL_V_3_2 is not set -# CT_KERNEL_V_3_1 is not set -CT_KERNEL_V_3_0=y -# CT_KERNEL_V_2_6_39 is not set -# CT_KERNEL_V_2_6_38 is not set -# CT_KERNEL_V_2_6_37 is not set -# CT_KERNEL_V_2_6_36 is not set -# CT_KERNEL_V_2_6_33 is not set -# CT_KERNEL_V_2_6_32 is not set -# CT_KERNEL_V_2_6_31 is not set -# CT_KERNEL_V_2_6_27 is not set # CT_KERNEL_LINUX_CUSTOM is not set +CT_KERNEL_V_4_10=y +# CT_KERNEL_V_4_9 is not set +# CT_KERNEL_V_4_4 is not set +# CT_KERNEL_V_4_1 is not set +# CT_KERNEL_V_3_16 is not set +# CT_KERNEL_V_3_12 is not set +# CT_KERNEL_V_3_10 is not set +# CT_KERNEL_V_3_4 is not set +# CT_KERNEL_V_3_2 is not set CT_KERNEL_windows_AVAILABLE=y # @@ -269,30 +271,34 @@ CT_BINUTILS_binutils=y # # GNU binutils # -CT_BINUTILS_V_2_22=y -# 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_VERSION="2.22" -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_VERSION="2.28" +# CT_BINUTILS_SHOW_LINARO is not set +CT_BINUTILS_V_2_28=y +# CT_BINUTILS_V_2_27 is not set +# CT_BINUTILS_V_2_26 is not set +CT_BINUTILS_2_27_or_later=y +CT_BINUTILS_2_26_or_later=y +CT_BINUTILS_2_25_1_or_later=y +CT_BINUTILS_2_25_or_later=y +CT_BINUTILS_2_24_or_later=y +CT_BINUTILS_2_23_2_or_later=y CT_BINUTILS_HAS_HASH_STYLE=y CT_BINUTILS_HAS_GOLD=y CT_BINUTILS_GOLD_SUPPORTS_ARCH=y +CT_BINUTILS_GOLD_SUPPORT=y CT_BINUTILS_HAS_PLUGINS=y CT_BINUTILS_HAS_PKGVERSION_BUGURL=y -CT_BINUTILS_FORCE_LD_BFD=y -CT_BINUTILS_LINKER_LD=y -# CT_BINUTILS_LINKER_LD_GOLD is not set +CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y +# CT_BINUTILS_LINKER_LD is not set +CT_BINUTILS_LINKER_LD_GOLD=y # CT_BINUTILS_LINKER_GOLD_LD is not set -CT_BINUTILS_LINKERS_LIST="ld" +CT_BINUTILS_GOLD_INSTALLED=y +CT_BINUTILS_GOLD_THREADS=y +CT_BINUTILS_LINKER_BOTH=y +CT_BINUTILS_LINKERS_LIST="ld,gold" +CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_LINKER_DEFAULT="bfd" -# CT_BINUTILS_PLUGINS is not set +CT_BINUTILS_PLUGINS=y CT_BINUTILS_EXTRA_CONFIG_ARRAY="" # CT_BINUTILS_FOR_TARGET is not set @@ -304,29 +310,19 @@ CT_BINUTILS_EXTRA_CONFIG_ARRAY="" # C-library # CT_LIBC="glibc" -CT_LIBC_VERSION="2.19" -# CT_LIBC_eglibc is not set +CT_LIBC_VERSION="2.25" CT_LIBC_glibc=y -# CT_LIBC_musl is not set # CT_LIBC_uClibc is not set -CT_LIBC_eglibc_AVAILABLE=y -CT_THREADS="nptl" +CT_LIBC_avr_libc_AVAILABLE=y CT_LIBC_glibc_AVAILABLE=y -CT_LIBC_GLIBC_V_2_19=y -# CT_LIBC_GLIBC_V_2_18 is not set -# CT_LIBC_GLIBC_V_2_17 is not set -# CT_LIBC_GLIBC_V_2_16_0 is not set -# CT_LIBC_GLIBC_V_2_15 is not set -# CT_LIBC_GLIBC_V_2_14_1 is not set -# CT_LIBC_GLIBC_V_2_14 is not set -# CT_LIBC_GLIBC_V_2_13 is not set -# CT_LIBC_GLIBC_V_2_12_2 is not set -# CT_LIBC_GLIBC_V_2_12_1 is not set -# CT_LIBC_GLIBC_V_2_11_1 is not set -# CT_LIBC_GLIBC_V_2_11 is not set -# CT_LIBC_GLIBC_V_2_10_1 is not set -# CT_LIBC_GLIBC_V_2_9 is not set -# CT_LIBC_GLIBC_V_2_8 is not set +CT_THREADS="nptl" +# CT_CC_GLIBC_SHOW_LINARO is not set +CT_LIBC_GLIBC_V_2_25=y +# CT_LIBC_GLIBC_V_2_24 is not set +# CT_LIBC_GLIBC_V_2_23 is not set +CT_LIBC_GLIBC_2_23_or_later=y +CT_LIBC_GLIBC_2_20_or_later=y +CT_LIBC_GLIBC_2_17_or_later=y CT_LIBC_mingw_AVAILABLE=y CT_LIBC_musl_AVAILABLE=y CT_LIBC_newlib_AVAILABLE=y @@ -339,147 +335,61 @@ CT_LIBC_SUPPORT_THREADS_NATIVE=y # Common C library options # CT_THREADS_NATIVE=y +# CT_CREATE_LDSO_CONF is not set CT_LIBC_XLDD=y -# CT_LIBC_GLIBC_PORTS_EXTERNAL is not set -CT_LIBC_GLIBC_MAY_FORCE_PORTS=y -CT_LIBC_glibc_familly=y -CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY="" -CT_LIBC_GLIBC_CONFIGPARMS="" -CT_LIBC_GLIBC_EXTRA_CFLAGS="" -CT_LIBC_EXTRA_CC_ARGS="" -# CT_LIBC_DISABLE_VERSIONING is not set -CT_LIBC_OLDEST_ABI="" -CT_LIBC_GLIBC_FORCE_UNWIND=y -CT_LIBC_GLIBC_USE_PORTS=y -CT_LIBC_ADDONS_LIST="" -# CT_LIBC_LOCALES is not set -# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set -CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y -# CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set -CT_LIBC_GLIBC_MIN_KERNEL="3.0.101" # # glibc other options # - -# -# WARNING !!! -# - -# -# For glibc >= 2.8, it can happen that the tarballs -# - -# -# for the addons are not available for download. -# - -# -# If that happens, bad luck... Try a previous version -# - -# -# or try again later... :-( -# +CT_LIBC_GLIBC_NEEDS_PORTS=y +CT_LIBC_glibc_family=y +CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY="" +CT_LIBC_GLIBC_CONFIGPARMS="" +CT_LIBC_GLIBC_EXTRA_CFLAGS="" +# CT_LIBC_DISABLE_VERSIONING is not set +CT_LIBC_OLDEST_ABI="" +CT_LIBC_GLIBC_FORCE_UNWIND=y +CT_LIBC_ADDONS_LIST="" +# CT_LIBC_LOCALES is not set +# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set +# CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS is not set +CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN=y +CT_LIBC_GLIBC_MIN_KERNEL_VERSION="3.10" +CT_LIBC_GLIBC_MIN_KERNEL="3.10" # # C compiler # CT_CC="gcc" -CT_CC_VERSION="4.9.1" 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_SHOW_LINARO=y -CT_CC_V_4_9_1=y -# CT_CC_V_4_9_0 is not set -# CT_CC_V_linaro_4_8 is not set -# CT_CC_V_4_8_3 is not set -# CT_CC_V_4_8_2 is not set -# CT_CC_V_4_8_1 is not set -# CT_CC_V_4_8_0 is not set -# CT_CC_V_linaro_4_7 is not set -# CT_CC_V_4_7_4 is not set -# CT_CC_V_4_7_3 is not set -# CT_CC_V_4_7_2 is not set -# CT_CC_V_4_7_1 is not set -# CT_CC_V_4_7_0 is not set -# CT_CC_V_linaro_4_6 is not set -# CT_CC_V_4_6_4 is not set -# CT_CC_V_4_6_3 is not set -# CT_CC_V_4_6_2 is not set -# CT_CC_V_4_6_1 is not set -# CT_CC_V_4_6_0 is not set -# CT_CC_V_linaro_4_5 is not set -# CT_CC_V_4_5_3 is not set -# CT_CC_V_4_5_2 is not set -# CT_CC_V_4_5_1 is not set -# CT_CC_V_4_5_0 is not set -# CT_CC_V_linaro_4_4 is not set -# CT_CC_V_4_4_7 is not set -# CT_CC_V_4_4_6 is not set -# CT_CC_V_4_4_5 is not set -# CT_CC_V_4_4_4 is not set -# CT_CC_V_4_4_3 is not set -# CT_CC_V_4_4_2 is not set -# CT_CC_V_4_4_1 is not set -# CT_CC_V_4_4_0 is not set -# CT_CC_V_4_3_6 is not set -# CT_CC_V_4_3_5 is not set -# CT_CC_V_4_3_4 is not set -# CT_CC_V_4_3_3 is not set -# CT_CC_V_4_3_2 is not set -# CT_CC_V_4_3_1 is not set -# CT_CC_V_4_2_4 is not set -# CT_CC_V_4_2_2 is not set -CT_CC_GCC_4_2_or_later=y -CT_CC_GCC_4_3_or_later=y -CT_CC_GCC_4_4_or_later=y -CT_CC_GCC_4_5_or_later=y -CT_CC_GCC_4_6_or_later=y -CT_CC_GCC_4_7_or_later=y +CT_CC_GCC_VERSION="6.3.0" +# CT_CC_GCC_SHOW_LINARO is not set +CT_CC_GCC_V_6_3_0=y +# CT_CC_GCC_V_5_4_0 is not set +# CT_CC_GCC_V_4_9_4 is not set CT_CC_GCC_4_8_or_later=y -CT_CC_GCC_4_9=y CT_CC_GCC_4_9_or_later=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_HAS_LIBQUADMATH=y -CT_CC_GCC_HAS_LIBSANITIZER=y -# CT_CC_LANG_FORTRAN 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 -CT_CC_SUPPORT_GOLANG=y - -# -# Additional supported languages: -# -# CT_CC_LANG_CXX is not set -# CT_CC_LANG_JAVA is not set - -# -# gcc other options -# -CT_CC_ENABLE_CXX_FLAGS="" -CT_CC_CORE_EXTRA_CONFIG_ARRAY="" -CT_CC_EXTRA_CONFIG_ARRAY="" -CT_CC_STATIC_LIBSTDCXX=y +CT_CC_GCC_5_or_later=y +CT_CC_GCC_6=y +CT_CC_GCC_6_or_later=y +CT_CC_GCC_ENABLE_PLUGINS=y +CT_CC_GCC_GOLD=y +CT_CC_GCC_HAS_LIBMPX=y +CT_CC_GCC_ENABLE_CXX_FLAGS="" +CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="" +CT_CC_GCC_EXTRA_CONFIG_ARRAY="" +CT_CC_GCC_STATIC_LIBSTDCXX=y # CT_CC_GCC_SYSTEM_ZLIB is not set +CT_CC_GCC_CONFIG_TLS=m # # Optimisation features # +CT_CC_GCC_USE_GRAPHITE=y +CT_CC_GCC_USE_LTO=y # # Settings for libraries running on target @@ -495,24 +405,37 @@ CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y # Misc. obscure options. # CT_CC_CXA_ATEXIT=y -CT_CC_GCC_DISABLE_PCH=y -CT_CC_GCC_SJLJ_EXCEPTIONS=m +# CT_CC_GCC_DISABLE_PCH is not set +# CT_CC_GCC_SJLJ_EXCEPTIONS is not set CT_CC_GCC_LDBL_128=m -CT_CC_GCC_BUILD_ID=y -# CT_CC_GCC_LNK_HASH_STYLE_DEFAULT is not set +# CT_CC_GCC_BUILD_ID is not set +CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y # 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_LNK_HASH_STYLE_BOTH is not set +CT_CC_GCC_LNK_HASH_STYLE="" 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 +CT_CC_SUPPORT_GOLANG=y + +# +# Additional supported languages: +# +CT_CC_LANG_CXX=y +# CT_CC_LANG_FORTRAN is not set +# CT_CC_LANG_JAVA is not set # # Debug facilities # -# CT_DEBUG_dmalloc is not set # CT_DEBUG_duma is not set # CT_DEBUG_gdb is not set # CT_DEBUG_ltrace is not set @@ -522,48 +445,49 @@ CT_CC_GCC_DEC_FLOAT_AUTO=y # Companion libraries # CT_COMPLIBS_NEEDED=y +CT_LIBICONV_NEEDED=y +CT_GETTEXT_NEEDED=y CT_GMP_NEEDED=y CT_MPFR_NEEDED=y CT_ISL_NEEDED=y -CT_CLOOG_NEEDED=y CT_MPC_NEEDED=y +CT_NCURSES_NEEDED=y CT_COMPLIBS=y +CT_LIBICONV=y +CT_GETTEXT=y CT_GMP=y CT_MPFR=y CT_ISL=y -CT_CLOOG=y CT_MPC=y -CT_GMP_V_5_1_3=y -# 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_VERSION="5.1.3" -CT_MPFR_V_3_1_2=y -# 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.2" -CT_ISL_V_0_12_2=y -# CT_ISL_V_0_11_1 is not set -CT_ISL_VERSION="0.12.2" -CT_CLOOG_V_0_18_1=y -# CT_CLOOG_V_0_18_0 is not set -CT_CLOOG_VERSION="0.18.1" -CT_CLOOG_0_18_or_later=y -CT_MPC_V_1_0_2=y -# 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.2" +CT_NCURSES=y +# CT_ZLIB is not set +CT_LIBICONV_V_1_15=y +# CT_LIBICONV_V_1_14 is not set +CT_LIBICONV_VERSION="1.15" +CT_GETTEXT_V_0_19_8_1=y +CT_GETTEXT_VERSION="0.19.8.1" +CT_GMP_V_6_1_2=y +CT_GMP_5_0_2_or_later=y +CT_GMP_VERSION="6.1.2" +CT_MPFR_V_3_1_5=y +CT_MPFR_VERSION="3.1.5" +CT_ISL_V_0_16_1=y +# CT_ISL_V_0_15 is not set +CT_ISL_V_0_16_or_later=y +CT_ISL_V_0_15_or_later=y +CT_ISL_V_0_14_or_later=y +CT_ISL_V_0_12_or_later=y +CT_ISL_VERSION="0.16.1" +CT_MPC_V_1_0_3=y +CT_MPC_VERSION="1.0.3" +CT_NCURSES_V_6_0=y +CT_NCURSES_VERSION="6.0" +CT_NCURSES_HOST_CONFIG_ARGS="" +CT_NCURSES_HOST_DISABLE_DB=y +CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100" +CT_NCURSES_TARGET_CONFIG_ARGS="" +# CT_NCURSES_TARGET_DISABLE_DB is not set +CT_NCURSES_TARGET_FALLBACKS="" # # Companion libraries common options @@ -573,8 +497,11 @@ CT_MPC_VERSION="1.0.2" # # Companion tools # - -# -# READ HELP before you say 'Y' below !!! -# -# CT_COMP_TOOLS is not set +# CT_COMP_TOOLS_FOR_HOST is not set +# CT_COMP_TOOLS_autoconf is not set +# CT_COMP_TOOLS_automake is not set +CT_COMP_TOOLS_libtool=y +CT_LIBTOOL_V_2_4_6=y +CT_LIBTOOL_VERSION="2.4.6" +# CT_COMP_TOOLS_m4 is not set +# CT_COMP_TOOLS_make is not set diff --git a/src/main/c/Linux/jSerialComm64.config b/src/main/c/Linux/jSerialComm64.config new file mode 100644 index 0000000..bac789b --- /dev/null +++ b/src/main/c/Linux/jSerialComm64.config @@ -0,0 +1,499 @@ +# +# Automatically generated file; DO NOT EDIT. +# Crosstool-NG Configuration +# +CT_CONFIGURE_has_static_link=y +CT_CONFIGURE_has_wget=y +CT_CONFIGURE_has_curl=y +CT_CONFIGURE_has_stat_flavor_GNU=y +CT_CONFIGURE_has_make_3_81_or_newer=y +CT_CONFIGURE_has_libtoolize_2_4_or_newer=y +CT_CONFIGURE_has_autoconf_2_63_or_newer=y +CT_CONFIGURE_has_autoreconf_2_63_or_newer=y +CT_CONFIGURE_has_automake_1_15_or_newer=y +CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y +CT_CONFIGURE_has_git=y +CT_MODULES=y + +# +# Paths and misc options +# + +# +# crosstool-NG behavior +# +# CT_OBSOLETE is not set +# CT_EXPERIMENTAL is not set +# CT_DEBUG_CT is not set + +# +# Paths +# +CT_LOCAL_TARBALLS_DIR="${HOME}/src" +CT_SAVE_TARBALLS=y +CT_WORK_DIR="${CT_TOP_DIR}/.build" +CT_BUILD_TOP_DIR="${CT_WORK_DIR}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}" +CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}" +CT_RM_RF_PREFIX_DIR=y +CT_REMOVE_DOCS=y +CT_PREFIX_DIR_RO=y +CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y +CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES=y + +# +# Downloading +# +CT_DOWNLOAD_AGENT_WGET=y +# CT_DOWNLOAD_AGENT_CURL is not set +# CT_DOWNLOAD_AGENT_NONE is not set +# CT_FORBID_DOWNLOAD is not set +# CT_FORCE_DOWNLOAD is not set +CT_CONNECT_TIMEOUT=10 +CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary" +# CT_ONLY_DOWNLOAD is not set +# CT_USE_MIRROR is not set + +# +# Extracting +# +# CT_FORCE_EXTRACT is not set +CT_OVERRIDE_CONFIG_GUESS_SUB=y +# CT_ONLY_EXTRACT is not set +CT_PATCH_BUNDLED=y +# CT_PATCH_LOCAL is not set +# CT_PATCH_BUNDLED_LOCAL is not set +# 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" + +# +# Build behavior +# +CT_PARALLEL_JOBS=0 +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 is not set +CT_LOG_EXTRA=y +# CT_LOG_ALL is not set +# CT_LOG_DEBUG is not set +CT_LOG_LEVEL_MAX="EXTRA" +# 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_alpha is not set +CT_ARCH_arm=y +# CT_ARCH_avr is not set +# CT_ARCH_m68k 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_DEMULTILIB=y +CT_ARCH_SUPPORTS_BOTH_MMU=y +CT_ARCH_DEFAULT_HAS_MMU=y +CT_ARCH_USE_MMU=y +CT_ARCH_SUPPORTS_BOTH_ENDIAN=y +CT_ARCH_DEFAULT_LE=y +# CT_ARCH_BE is not set +CT_ARCH_LE=y +CT_ARCH_ENDIAN="little" +CT_ARCH_SUPPORTS_32=y +CT_ARCH_SUPPORTS_64=y +CT_ARCH_DEFAULT_32=y +CT_ARCH_BITNESS=64 +# CT_ARCH_32 is not set +CT_ARCH_64=y + +# +# Target optimisations +# +CT_ARCH_SUPPORTS_WITH_ARCH=y +CT_ARCH_SUPPORTS_WITH_CPU=y +CT_ARCH_SUPPORTS_WITH_TUNE=y +CT_ARCH_EXCLUSIVE_WITH_CPU=y +CT_ARCH_ARCH="" +CT_ARCH_CPU="" +CT_ARCH_TUNE="" +CT_TARGET_CFLAGS="" +CT_TARGET_LDFLAGS="" +CT_ARCH_FLOAT="" + +# +# 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 is not set +CT_ARCH_ARM_EABI_FORCE=y +CT_ARCH_ARM_EABI=y + +# +# Toolchain options +# + +# +# General toolchain options +# +CT_FORCE_SYSROOT=y +CT_USE_SYSROOT=y +CT_SYSROOT_NAME="sysroot" +CT_SYSROOT_DIR_PREFIX="" +CT_WANTS_STATIC_LINK=y +CT_WANTS_STATIC_LINK_CXX=y +# CT_STATIC_TOOLCHAIN is not set +CT_TOOLCHAIN_PKGVERSION="" +CT_TOOLCHAIN_BUGURL="" + +# +# Tuple completion and aliasing +# +CT_TARGET_VENDOR="unknown" +CT_TARGET_ALIAS_SED_EXPR="" +CT_TARGET_ALIAS="" + +# +# Toolchain type +# +CT_CROSS=y +# 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 is not set + +# +# Operating System +# +CT_KERNEL_SUPPORTS_SHARED_LIBS=y +CT_KERNEL="linux" +CT_KERNEL_VERSION="4.10.8" +# 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 is not set +CT_KERNEL_V_4_10=y +# CT_KERNEL_V_4_9 is not set +# CT_KERNEL_V_4_4 is not set +# CT_KERNEL_V_4_1 is not set +# CT_KERNEL_V_3_16 is not set +# CT_KERNEL_V_3_12 is not set +# CT_KERNEL_V_3_10 is not set +# CT_KERNEL_V_3_4 is not set +# CT_KERNEL_V_3_2 is not set +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_VERSION="2.28" +# CT_BINUTILS_SHOW_LINARO is not set +CT_BINUTILS_V_2_28=y +# CT_BINUTILS_V_2_27 is not set +# CT_BINUTILS_V_2_26 is not set +CT_BINUTILS_2_27_or_later=y +CT_BINUTILS_2_26_or_later=y +CT_BINUTILS_2_25_1_or_later=y +CT_BINUTILS_2_25_or_later=y +CT_BINUTILS_2_24_or_later=y +CT_BINUTILS_2_23_2_or_later=y +CT_BINUTILS_HAS_HASH_STYLE=y +CT_BINUTILS_HAS_GOLD=y +CT_BINUTILS_GOLD_SUPPORTS_ARCH=y +CT_BINUTILS_GOLD_SUPPORT=y +CT_BINUTILS_HAS_PLUGINS=y +CT_BINUTILS_HAS_PKGVERSION_BUGURL=y +CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y +# CT_BINUTILS_LINKER_LD is not set +CT_BINUTILS_LINKER_LD_GOLD=y +# CT_BINUTILS_LINKER_GOLD_LD is not set +CT_BINUTILS_GOLD_INSTALLED=y +CT_BINUTILS_GOLD_THREADS=y +CT_BINUTILS_LINKER_BOTH=y +CT_BINUTILS_LINKERS_LIST="ld,gold" +CT_BINUTILS_LD_WRAPPER=y +CT_BINUTILS_LINKER_DEFAULT="bfd" +CT_BINUTILS_PLUGINS=y +CT_BINUTILS_EXTRA_CONFIG_ARRAY="" +# CT_BINUTILS_FOR_TARGET is not set + +# +# binutils other options +# + +# +# C-library +# +CT_LIBC="glibc" +CT_LIBC_VERSION="2.25" +CT_LIBC_glibc=y +# CT_LIBC_uClibc is not set +CT_LIBC_avr_libc_AVAILABLE=y +CT_LIBC_glibc_AVAILABLE=y +CT_THREADS="nptl" +# CT_CC_GLIBC_SHOW_LINARO is not set +CT_LIBC_GLIBC_V_2_25=y +# CT_LIBC_GLIBC_V_2_24 is not set +# CT_LIBC_GLIBC_V_2_23 is not set +CT_LIBC_GLIBC_2_23_or_later=y +CT_LIBC_GLIBC_2_20_or_later=y +CT_LIBC_GLIBC_2_17_or_later=y +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_SUPPORT_THREADS_ANY=y +CT_LIBC_SUPPORT_THREADS_NATIVE=y + +# +# Common C library options +# +CT_THREADS_NATIVE=y +# CT_CREATE_LDSO_CONF is not set +CT_LIBC_XLDD=y + +# +# glibc other options +# +CT_LIBC_GLIBC_NEEDS_PORTS=y +CT_LIBC_glibc_family=y +CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY="" +CT_LIBC_GLIBC_CONFIGPARMS="" +CT_LIBC_GLIBC_EXTRA_CFLAGS="" +# CT_LIBC_DISABLE_VERSIONING is not set +CT_LIBC_OLDEST_ABI="" +CT_LIBC_GLIBC_FORCE_UNWIND=y +CT_LIBC_ADDONS_LIST="" +# CT_LIBC_LOCALES is not set +# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set +# CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS is not set +CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN=y +CT_LIBC_GLIBC_MIN_KERNEL_VERSION="3.10" +CT_LIBC_GLIBC_MIN_KERNEL="3.10" + +# +# 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_VERSION="6.3.0" +# CT_CC_GCC_SHOW_LINARO is not set +CT_CC_GCC_V_6_3_0=y +# CT_CC_GCC_V_5_4_0 is not set +# CT_CC_GCC_V_4_9_4 is not set +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_6=y +CT_CC_GCC_6_or_later=y +CT_CC_GCC_ENABLE_PLUGINS=y +CT_CC_GCC_GOLD=y +CT_CC_GCC_HAS_LIBMPX=y +CT_CC_GCC_ENABLE_CXX_FLAGS="" +CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="" +CT_CC_GCC_EXTRA_CONFIG_ARRAY="" +CT_CC_GCC_STATIC_LIBSTDCXX=y +# CT_CC_GCC_SYSTEM_ZLIB is not set +CT_CC_GCC_CONFIG_TLS=m + +# +# Optimisation features +# +CT_CC_GCC_USE_GRAPHITE=y +CT_CC_GCC_USE_LTO=y + +# +# Settings for libraries running on target +# +CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y +# 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 +# CT_CC_GCC_LIBSANITIZER is not set + +# +# Misc. obscure options. +# +CT_CC_CXA_ATEXIT=y +# CT_CC_GCC_DISABLE_PCH is not set +# CT_CC_GCC_SJLJ_EXCEPTIONS is not set +CT_CC_GCC_LDBL_128=m +# CT_CC_GCC_BUILD_ID is not set +CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y +# 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 is not set +CT_CC_GCC_LNK_HASH_STYLE="" +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 +CT_CC_SUPPORT_GOLANG=y + +# +# Additional supported languages: +# +CT_CC_LANG_CXX=y +# CT_CC_LANG_FORTRAN is not set +# CT_CC_LANG_JAVA is not set + +# +# Debug facilities +# +# CT_DEBUG_duma is not set +# CT_DEBUG_gdb is not set +# CT_DEBUG_ltrace is not set +# CT_DEBUG_strace is not set + +# +# Companion libraries +# +CT_COMPLIBS_NEEDED=y +CT_LIBICONV_NEEDED=y +CT_GETTEXT_NEEDED=y +CT_GMP_NEEDED=y +CT_MPFR_NEEDED=y +CT_ISL_NEEDED=y +CT_MPC_NEEDED=y +CT_NCURSES_NEEDED=y +CT_COMPLIBS=y +CT_LIBICONV=y +CT_GETTEXT=y +CT_GMP=y +CT_MPFR=y +CT_ISL=y +CT_MPC=y +CT_NCURSES=y +# CT_ZLIB is not set +CT_LIBICONV_V_1_15=y +# CT_LIBICONV_V_1_14 is not set +CT_LIBICONV_VERSION="1.15" +CT_GETTEXT_V_0_19_8_1=y +CT_GETTEXT_VERSION="0.19.8.1" +CT_GMP_V_6_1_2=y +CT_GMP_5_0_2_or_later=y +CT_GMP_VERSION="6.1.2" +CT_MPFR_V_3_1_5=y +CT_MPFR_VERSION="3.1.5" +CT_ISL_V_0_16_1=y +# CT_ISL_V_0_15 is not set +CT_ISL_V_0_16_or_later=y +CT_ISL_V_0_15_or_later=y +CT_ISL_V_0_14_or_later=y +CT_ISL_V_0_12_or_later=y +CT_ISL_VERSION="0.16.1" +CT_MPC_V_1_0_3=y +CT_MPC_VERSION="1.0.3" +CT_NCURSES_V_6_0=y +CT_NCURSES_VERSION="6.0" +CT_NCURSES_HOST_CONFIG_ARGS="" +CT_NCURSES_HOST_DISABLE_DB=y +CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100" +CT_NCURSES_TARGET_CONFIG_ARGS="" +# CT_NCURSES_TARGET_DISABLE_DB is not set +CT_NCURSES_TARGET_FALLBACKS="" + +# +# Companion libraries common options +# +# CT_COMPLIBS_CHECK is not set + +# +# Companion tools +# +# CT_COMP_TOOLS_FOR_HOST is not set +# CT_COMP_TOOLS_autoconf is not set +# CT_COMP_TOOLS_automake is not set +CT_COMP_TOOLS_libtool=y +CT_LIBTOOL_V_2_4_6=y +CT_LIBTOOL_VERSION="2.4.6" +# CT_COMP_TOOLS_m4 is not set +# CT_COMP_TOOLS_make is not set diff --git a/src/main/java/com/fazecast/jSerialComm/SerialPort.java b/src/main/java/com/fazecast/jSerialComm/SerialPort.java index 5804884..38bb5fc 100644 --- a/src/main/java/com/fazecast/jSerialComm/SerialPort.java +++ b/src/main/java/com/fazecast/jSerialComm/SerialPort.java @@ -2,7 +2,7 @@ * SerialPort.java * * Created on: Feb 25, 2012 - * Last Updated on: Jan 03, 2018 + * Last Updated on: Jan 09, 2018 * Author: Will Hedgecock * * Copyright (C) 2012-2018 Fazecast, Inc. @@ -25,6 +25,7 @@ package com.fazecast.jSerialComm; +import java.lang.ProcessBuilder; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.File; @@ -131,20 +132,38 @@ public final class SerialPort libraryPath = "Linux/armv" + line.substring(line.indexOf("ARMv")+4, line.indexOf("ARMv")+5); break; } + else if (line.contains("aarch")) + { + libraryPath = "Linux/armv8"; + break; + } } cpuPropertiesFile.close(); } catch (Exception e) { e.printStackTrace(); } - // Ensure that there was no error + // Ensure that there was no error, and see if we need to use the hard-float dynamic linker if (libraryPath.isEmpty()) libraryPath = "Linux/armv6"; - - // See if we need to use the hard-float dynamic linker - File linkerFile = new File("/lib/ld-linux-armhf.so.3"); - if (linkerFile.exists()) - libraryPath += "-hf"; + else if (libraryPath.contains("Linux/armv8")) + libraryPath += (System.getProperty("os.arch").indexOf("64") >= 0) ? "_64" : "_32"; + else + { + try + { + ProcessBuilder pb = new ProcessBuilder("/bin/sh", "-c", "ldd /usr/bin/ld | grep ld-"); + Process p = pb.start(); + p.waitFor(); + BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); + String linkLoader = br.readLine(); + if (linkLoader.contains("armhf")) + libraryPath += "-hf"; + } + catch (Exception e) { e.printStackTrace(); } + } } + else if (System.getProperty("os.arch").indexOf("aarch32") >= 0) + libraryPath = "Linux/armv8_32"; else if (System.getProperty("os.arch").indexOf("aarch64") >= 0) libraryPath = "Linux/armv8_64"; else if (System.getProperty("os.arch").indexOf("64") >= 0) diff --git a/src/main/resources/Linux/armv5/libjSerialComm.so b/src/main/resources/Linux/armv5/libjSerialComm.so index b1d5d823ab992369b4a28c6284ad6767630c09d7..476b47c6b26be0210d82015911a85f077f192517 100644 GIT binary patch literal 33220 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

bUx;+aS!efAp{~;i4gZ3lLFOJy; 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 W-_5HG0=nFjzmKmyxlHg}^#1|`?rJ;$ literal 27698 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 r0VvufNPh^C^0=%y`g!PnP}|1X8n5RLvH;1udO literal 22473 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 L(cl$jdfWaB%tj;E diff --git a/src/main/resources/Linux/armv6/libjSerialComm.so b/src/main/resources/Linux/armv6/libjSerialComm.so index 126067698692d3cc7327664758e9cc852917383f..f8bd322525ee5c33b321fd6aadc6bc34102d24e5 100644 GIT binary patch literal 33220 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 a;v)*0;k$VifkEec{ImGFlS>561^*ub(uPC; literal 27690 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 r0VvufNPh^C^0=%y`g!PnP}|1X8n5RLvH;1udO literal 22473 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 L(ZCgDdfWaB!1p7z diff --git a/src/main/resources/Linux/armv7/libjSerialComm.so b/src/main/resources/Linux/armv7/libjSerialComm.so index 410d9b24db236dccd2c6b485546c03e9a225cdbc..73df26158e6007964f38d83e33600f79b4ffe000 100644 GIT binary patch literal 28904 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 diff --git a/src/main/resources/Linux/armv8_32/libjSerialComm.so b/src/main/resources/Linux/armv8_32/libjSerialComm.so new file mode 100644 index 0000000000000000000000000000000000000000..f7564cf8fd87c0b4e93fbe51afcbcf675c02bebc GIT binary patch literal 27656 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 Ro&5j5OK`le7-eXd{|^NPx`O}!