Compare commits

...

8 Commits

  1. 8
      .build.yml
  2. 4
      README.md
  3. 11
      build-linux.sh
  4. 13
      patches/cmake/v3.19.2/001-add-xtc-version-suffix.patch
  5. 0
      patches/gcc/10.2.0/001-make-gcc-relocatable.patch
  6. 13
      patches/make/4.3/001-fix-find_in_given_path.patch
  7. 2013
      patches/mingw-w64/v8.0.0/001-widl-sltg-support.patch
  8. 2
      scripts/xtclib

8
.build.yml

@ -0,0 +1,8 @@
kind: pipeline
type: exec
name: XT Toolchain Pipeline
steps:
- name: Compile XT Toolchain
commands:
- sh build-linux.sh

4
README.md

@ -1,8 +1,8 @@
## XT Toolchain
This is a GNU-based mingw-w64 toolchain. It currently supports C and C++, and provides a variety of
tools including IDL, message and resource compilers. The XT Toolchain is also the official build
environment for compiling XT software, including the FerretOS. Currently, it is targeted at Linux
host only, however it should be possible to build it in MSYS2 as well.
environment for compiling XT software, including the XT OS. Currently, it is targeted at Linux host
only, however it should be possible to build it in MSYS2 as well.
This software includes:
* Binutils

11
build-linux.sh

@ -27,12 +27,12 @@ BINUTILSVCS="git://sourceware.org/git/binutils-gdb.git"
# CMake Settings
CMAKEDIR="${SRCDIR}/cmake"
CMAKETAG="v3.18.1"
CMAKETAG="v3.19.2"
CMAKEVCS="https://gitlab.kitware.com/cmake/cmake.git"
# GCC Settings
GCCDIR="${SRCDIR}/gcc"
GCCTAG="releases/gcc-9.3.0"
GCCTAG="releases/gcc-10.2.0"
GCCVCS="git://gcc.gnu.org/git/gcc.git"
# Make Settings
@ -43,7 +43,7 @@ MAKEVCS="git://git.savannah.gnu.org/make"
# Mingw-w64 Settings
MINGWDIR="${SRCDIR}/mingw-w64"
MINGWLIB="ucrt"
MINGWTAG="v7.0.0"
MINGWTAG="v8.0.0"
MINGWNTV="0x601"
MINGWVCS="https://github.com/mirror/mingw-w64.git"
@ -162,7 +162,7 @@ gcc_build_phase1()
--target=${ARCH}-w64-mingw32 \
--prefix=${BINDIR} \
--with-sysroot=${BINDIR} \
--with-pkgversion="FerretOS Build Environment" \
--with-pkgversion="XTchain" \
--without-zstd \
--disable-libstdcxx-verbose \
--disable-multilib \
@ -393,7 +393,8 @@ wine_build()
mkdir -p ${WINEDIR}/build
cd ${WINEDIR}/build
../configure \
-enable-win64
-enable-win64 \
--without-x
for TOOL in winedump wmc wrc; do
make -j${CORES} tools/${TOOL}
cp tools/${TOOL}/${TOOL} ${BINDIR}/bin/

13
patches/cmake/v3.19.2/001-add-xtc-version-suffix.patch

@ -0,0 +1,13 @@
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 818109f0b7..749377d193 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -7,7 +7,7 @@ set(CMake_VERSION_IS_DIRTY 0)
# Start with the full version number used in tags. It has no dev info.
set(CMake_VERSION
- "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}")
+ "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}-XTC")
if(DEFINED CMake_VERSION_RC)
set(CMake_VERSION "${CMake_VERSION}-rc${CMake_VERSION_RC}")
endif()

0
patches/gcc/9.3.0/001-make-gcc-relocatable.patch → patches/gcc/10.2.0/001-make-gcc-relocatable.patch

13
patches/make/4.3/001-fix-find_in_given_path.patch

@ -0,0 +1,13 @@
diff --git a/src/job.c b/src/job.c
index d6e28d3..f8f6950 100644
--- a/src/job.c
+++ b/src/job.c
@@ -2391,7 +2391,7 @@ child_execute_job (struct childbase *child, int good_stdin, char **argv)
}
}
- cmd = (char *)find_in_given_path (argv[0], p, 0);
+ cmd = (char *)find_in_given_path (argv[0], p, 0, false);
}
if (!cmd)

2013
patches/mingw-w64/v8.0.0/001-widl-sltg-support.patch

File diff suppressed because it is too large

2
scripts/xtclib

@ -31,7 +31,7 @@ export -f charch
version()
{
echo "###############################################################################"
echo "# FerretOS Build Environment v${XTCVER} for Linux #"
echo "# XT Toolchain v${XTCVER} for Linux #"
echo "# by Rafal Kupiec <belliash@codingworkshop.eu.org> #"
echo "###############################################################################"
echo

Loading…
Cancel
Save