Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GNU autoconf based build script and Github Actions CI #5

Open
wants to merge 15 commits into
base: main
Choose a base branch
from

Conversation

NoMore201
Copy link

This PR introduces the following changes:

GNU autoconf based build script

Custom bash script are replaced by a new build system based on GNU autoconf. It is heavily inspired by RiscV toolchain build system. The idea is simple, to have a single configure script to handle building an installing compiler into a prefix folder. This configure script is automatically generated by autoconf by reading the configure.ac template.

With this new approach, a common cross-compiler build would look like this:

mkdir build && cd build
../configure --prefix /opt/gcc/linux
make -j$(nproc)

Github Actions pipeline

Added Github Actions configuration that run a pipeline on each push and pull-request onto main branch. Each pipeline run will also produce compiler artifact, consisting on linux and windows build of the compiler. You can see an example of a successfully run pipeline here in my fork: https://github.com/NoMore201/tricore-gcc-toolchain/actions/runs/11463697465

Automated release artifacts from Actions

When a new release is created through the Release functionality of Github, compiler build packages for both linux and windows are automatically downloaded from CI pipeline that run on the same commit as the release tag. You can see an example of a release in my fork: https://github.com/NoMore201/tricore-gcc-toolchain/releases

I think it would be really useful to have official releases of the compiler now that it seems to gather some interest.

commit 93b628415fb33a107556f5b1e78b73439aeceaec
Author: Domenico Iezzi <[email protected]>
Date:   Mon Oct 21 09:49:24 2024 +0200

    Add step for installing missing dependencies

commit 2ef1836d911305dc03a2f0b85264235514bacf12
Author: Domenico Iezzi <[email protected]>
Date:   Mon Oct 21 09:49:07 2024 +0200

    Remove AWK and GREP from configure.ac checks

commit 144fd09
Author: Domenico Iezzi <[email protected]>
Date:   Mon Oct 21 09:23:04 2024 +0200

    Modify all target deps, add more clean targets

commit f61ec96
Author: Domenico Iezzi <[email protected]>
Date:   Mon Oct 21 09:18:25 2024 +0200

    Add GCC stage2 step for windows

commit cd0deb4
Author: Domenico Iezzi <[email protected]>
Date:   Sun Oct 20 23:03:51 2024 +0200

    Add mingw gcc to dependencies

commit 5f04194
Author: Domenico Iezzi <[email protected]>
Date:   Sun Oct 20 22:57:50 2024 +0200

    Test new layout

commit 272036b
Author: Domenico Iezzi <[email protected]>
Date:   Sun Oct 20 22:31:41 2024 +0200

    Test makefile target

commit cebb306
Author: Domenico Iezzi <[email protected]>
Date:   Sun Oct 20 22:14:53 2024 +0200

    Test msys2 make executable

commit 8a331a6
Author: Domenico Iezzi <[email protected]>
Date:   Sun Oct 20 21:54:26 2024 +0200

    Make windows build clone recursively

commit 8caa31f
Author: Domenico Iezzi <[email protected]>
Date:   Sun Oct 20 21:49:56 2024 +0200

    Update actions/checkout package version

commit 00475b2
Author: Domenico Iezzi <[email protected]>
Date:   Sun Oct 20 21:45:37 2024 +0200

    Fix windows build in CI script

commit fb12929
Author: Domenico Iezzi <[email protected]>
Date:   Sun Oct 20 21:39:40 2024 +0200

    Fix Windows build script

commit 6274691
Author: Domenico Iezzi <[email protected]>
Date:   Sun Oct 20 21:39:13 2024 +0200

    Disable sysroot option in Makefile

commit ce07d1e
Author: Domenico Iezzi <[email protected]>
Date:   Sun Oct 20 19:01:35 2024 +0200

    Test MSYS2 win32 ci
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant