From 9cf92379d5fcf0076c25dae0935daab446c992cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Wed, 30 Aug 2017 21:37:53 +0200 Subject: Initial commit Adding work done so far. --- compiler/compile.sh | 40 +++++ compiler/config | 461 ++++++++++++++++++++++++++++++++++++++++++++++++++ compiler/crosstool-ng | 1 + 3 files changed, 502 insertions(+) create mode 100755 compiler/compile.sh create mode 100644 compiler/config create mode 160000 compiler/crosstool-ng (limited to 'compiler') diff --git a/compiler/compile.sh b/compiler/compile.sh new file mode 100755 index 0000000..2fb5f1d --- /dev/null +++ b/compiler/compile.sh @@ -0,0 +1,40 @@ +#!/bin/sh +# This script compiles compilation tools for mips to be used with qtmips +set -e + +INST_PREFIX="$(pwd)" + +INST_CT_PREFIX="$INST_PREFIX/ct-ng" +mkdir -p "$INST_CT_PREFIX" + +# First update git submodule +pushd "$(dirname "$0")" >/dev/null +git submodule update crosstool-ng + +pushd crosstool-ng >/dev/null + +# Now compile it +# TODO don't compile it in place? +./bootstrap +./configure --prefix="$INST_CT_PREFIX" +make +make install +# TODO do cleanups? + +popd >/dev/null + +popd >/dev/null + +# Copy configuration +cp "$(dirname "$0")/config" ct-ng/.config + +pushd ct-ng >/dev/null + +# And compile +./bin/ct-ng oldconfig +CT_PREFIX="$INST_PREFIX" ./bin/ct-ng build + +popd >/dev/null + +# Cleanup installed crosstool-ng +rm -rf ct-ng diff --git a/compiler/config b/compiler/config new file mode 100644 index 0000000..3e135f0 --- /dev/null +++ b/compiler/config @@ -0,0 +1,461 @@ +# +# 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_libtool_2_4_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_svn=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 is not set + +# +# 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="mips" +# CT_ARCH_alpha is not set +# CT_ARCH_arm is not set +# CT_ARCH_avr is not set +# CT_ARCH_m68k is not set +CT_ARCH_mips=y +# 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_USE_MMU=y +CT_ARCH_SUPPORTS_BOTH_ENDIAN=y +CT_ARCH_DEFAULT_BE=y +CT_ARCH_BE=y +# CT_ARCH_LE is not set +CT_ARCH_ENDIAN="big" +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_TUNE=y +CT_ARCH_SUPPORTS_WITH_FLOAT=y +CT_ARCH_ARCH="" +CT_ARCH_TUNE="" +# CT_ARCH_FLOAT_AUTO is not set +# CT_ARCH_FLOAT_HW is not set +CT_ARCH_FLOAT_SW=y +CT_TARGET_CFLAGS="" +CT_TARGET_LDFLAGS="" +CT_ARCH_FLOAT="soft" +# CT_ARCH_ALPHA_EV4 is not set +# CT_ARCH_ALPHA_EV45 is not set +# CT_ARCH_ALPHA_EV5 is not set +# CT_ARCH_ALPHA_EV56 is not set +# CT_ARCH_ALPHA_EV6 is not set +# CT_ARCH_ALPHA_EV67 is not set + +# +# mips other options +# +CT_ARCH_mips_o32=y +CT_ARCH_mips_ABI="32" + +# +# Toolchain options +# + +# +# General toolchain options +# +CT_WANTS_STATIC_LINK=y +CT_WANTS_STATIC_LINK_CXX=y +CT_STATIC_TOOLCHAIN=y +CT_TOOLCHAIN_PKGVERSION="" +CT_TOOLCHAIN_BUGURL="" + +# +# Tuple completion and aliasing +# +CT_TARGET_VENDOR="qtmips" +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_BARE_METAL=y +CT_KERNEL="bare-metal" +CT_KERNEL_bare_metal=y +# CT_KERNEL_linux is not set +CT_KERNEL_bare_metal_AVAILABLE=y +CT_KERNEL_linux_AVAILABLE=y +CT_KERNEL_windows_AVAILABLE=y + +# +# Common kernel options +# + +# +# 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_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="" + +# +# binutils other options +# + +# +# C-library +# +CT_LIBC="newlib" +CT_LIBC_VERSION="2.5.0.20170323" +CT_LIBC_newlib=y +# CT_LIBC_none is not set +CT_LIBC_avr_libc_AVAILABLE=y +CT_LIBC_glibc_AVAILABLE=y +CT_THREADS="none" +CT_LIBC_mingw_AVAILABLE=y +CT_LIBC_musl_AVAILABLE=y +CT_LIBC_newlib_AVAILABLE=y +# CT_CC_NEWLIB_SHOW_LINARO is not set +CT_LIBC_NEWLIB_V_2_5_0=y +# CT_LIBC_NEWLIB_V_2_4_0 is not set +# CT_LIBC_NEWLIB_V_2_3_0 is not set +# CT_LIBC_NEWLIB_V_2_2_0 is not set +# CT_LIBC_NEWLIB_V_2_1_0 is not set +# CT_LIBC_NEWLIB_V_2_0_0 is not set +# CT_LIBC_NEWLIB_V_1_20_0 is not set +# CT_LIBC_NEWLIB_V_1_19_0 is not set +# CT_LIBC_NEWLIB_V_1_18_0 is not set +# CT_LIBC_NEWLIB_V_1_17_0 is not set +CT_LIBC_NEWLIB_2_5=y +CT_LIBC_NEWLIB_2_5_or_later=y +CT_LIBC_NEWLIB_2_4_or_later=y +CT_LIBC_NEWLIB_2_3_or_later=y +CT_LIBC_NEWLIB_2_2_or_later=y +CT_LIBC_NEWLIB_2_1_or_later=y +CT_LIBC_NEWLIB_2_0_or_later=y +CT_LIBC_NEWLIB_TARGET_CFLAGS="" +CT_LIBC_none_AVAILABLE=y +CT_LIBC_uClibc_AVAILABLE=y +CT_LIBC_SUPPORT_THREADS_NONE=y +CT_LIBC_PROVIDES_CXA_ATEXIT=y + +# +# Common C library options +# +CT_THREADS_NONE=y + +# +# newlib other options +# +# CT_LIBC_NEWLIB_IO_C99FMT is not set +# CT_LIBC_NEWLIB_IO_LL is not set +# CT_LIBC_NEWLIB_IO_FLOAT is not set +# CT_LIBC_NEWLIB_IO_POS_ARGS is not set +CT_LIBC_NEWLIB_FVWRITE_IN_STREAMIO=y +CT_LIBC_NEWLIB_UNBUF_STREAM_OPT=y +CT_LIBC_NEWLIB_FSEEK_OPTIMIZATION=y +# CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS is not set +# CT_LIBC_NEWLIB_REGISTER_FINI is not set +CT_LIBC_NEWLIB_ATEXIT_DYNAMIC_ALLOC=y +# CT_LIBC_NEWLIB_GLOBAL_ATEXIT is not set +# CT_LIBC_NEWLIB_LITE_EXIT is not set +# CT_LIBC_NEWLIB_REENT_SMALL is not set +CT_LIBC_NEWLIB_MULTITHREAD=y +# CT_LIBC_NEWLIB_EXTRA_SECTIONS is not set +CT_LIBC_NEWLIB_WIDE_ORIENT=y +CT_LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE=y +# CT_LIBC_NEWLIB_NANO_MALLOC is not set +# CT_LIBC_NEWLIB_NANO_FORMATTED_IO is not set +CT_LIBC_NEWLIB_EXTRA_CONFIG_ARRAY="" + +# +# C compiler +# +CT_CC="gcc" +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_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_TARGET_FINAL is not set +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 + +# +# Settings for libraries running on target +# +CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y +# CT_CC_GCC_LIBMUDFLAP 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_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_GCC_HAS_ARCH_OPTIONS=y + +# +# archictecture-specific options +# +CT_CC_GCC_mips_llsc=m +CT_CC_GCC_mips_synci=m +# CT_CC_GCC_mips_plt 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_FORTRAN is not set + +# +# Debug facilities +# +# 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_GMP_NEEDED=y +CT_MPFR_NEEDED=y +CT_ISL_NEEDED=y +CT_MPC_NEEDED=y +CT_COMPLIBS=y +# CT_LIBICONV is not set +# CT_GETTEXT is not set +CT_GMP=y +CT_MPFR=y +CT_ISL=y +CT_MPC=y +# CT_ZLIB is not set +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" + +# +# 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 is not set +# CT_COMP_TOOLS_m4 is not set +# CT_COMP_TOOLS_make is not set diff --git a/compiler/crosstool-ng b/compiler/crosstool-ng new file mode 160000 index 0000000..368a016 --- /dev/null +++ b/compiler/crosstool-ng @@ -0,0 +1 @@ +Subproject commit 368a0169a27313cca60cf7d7358b6f3ef12122e4 -- cgit v1.2.3