public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
From: Wileam Yonatan Phan <wileamyp@outlook.com>
To: gcc@gcc.gnu.org, fortran@gcc.gnu.org
Subject: GSoC Blog Post 0 - GCCprefab build system
Date: Sun, 12 Jun 2022 21:50:31 -0400	[thread overview]
Message-ID: <BY5PR14MB391160D344B74F3D6A8D203BCEAB9@BY5PR14MB3911.namprd14.prod.outlook.com> (raw)

Hi everyone,

This weekend marks the end of the community bonding period for GSoC '22, and
here’s my progress so far with the GSoC project on Fortran DO CONCURRENT.

I've initialized a GCC mirror on GitHub where I plan to track all patches that
I will create during the GSoC:
<https://github.com/wyphan/gfortran-do-concurrent>

I met with Tobias over a MS Teams call on May 30, 2022. Together, we picked GCC
PR# 102003 as a good starter issue to start delving into the Fortran parser in
GCC. He also guided me through how to debug the compiler using gdb. Tobias,
thanks a lot for spending some of your (technically) vacation time with me!

In the meantime, I’ve implemented a simple build script system for GCC that I
christen "GCCprefab". Before this build system existed, there are only two
relatively easy ways to build GCC painlessly:

1. Using Spack package manager: `spack install gcc'
2. Using the install script for OpenCoarrays
<https://github.com/sourceryinstitute/OpenCoarrays>

The name pays homage to _prefab_ricated buildings such as sheds/barns (even
sections of houses) that are commonly sold in the US at hardware stores such as
Home Depot or Lowe’s. It’s arguably an overengineered solution to my laziness
having to memorize all the different configure flags when building GCC from
sources.

Right now, GCCprefab has the following features:

- One single script written in Bash
- One single argument: a config file written in a custom format inspired by
  Spack spec syntax and the Windows INI / TOML format for configuration files
- Clones the main GCC Git repo, or a custom mirror of your choice
- Upon execution, logs standard output for each phase of the build process into
  a timestamped log file, which is xz-compressed after each phase completes
  successfully
- Licensed under the FSF-compatible Apache 2.0 license

To try it out, you can head over to my GitHub repo:
<https://github.com/wyphan/gccprefab>

Please feel free to open an issue there if you found a bug or to suggest new
features. Pull requests are welcome too!

Also, please feel free to jump in anytime to the discussion thread at the
Fortran-lang Discourse forums:
<
https://fortran-lang.discourse.group/t/gsoc-2022-accelerating-fortran-do-concurrent-in-gcc/3269
>

Thanks,
Wil


             reply	other threads:[~2022-06-13  1:50 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-13  1:50 Wileam Yonatan Phan [this message]
2022-06-13 11:59 ` Jonathan Wakely
2022-06-13 13:34   ` Wileam Yonatan Phan
2022-06-13 15:26     ` Jonathan Wakely
2022-06-13 17:12       ` Wileam Yonatan Phan
2022-06-13 17:38         ` Jonathan Wakely
2022-06-14  0:37       ` Damian Rouson
2022-06-14  8:53         ` Jonathan Wakely
2022-06-14 11:16           ` Damian Rouson
2022-06-14 13:52             ` Wileam Yonatan Phan
2022-06-17 18:45       ` Bernhard Reutner-Fischer
2022-06-17 19:55         ` Jakub Jelinek
2022-06-18 19:24           ` Bernhard Reutner-Fischer
2022-06-17 20:07         ` Jonathan Wakely

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BY5PR14MB391160D344B74F3D6A8D203BCEAB9@BY5PR14MB3911.namprd14.prod.outlook.com \
    --to=wileamyp@outlook.com \
    --cc=fortran@gcc.gnu.org \
    --cc=gcc@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).