[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [IMPORTANT] Ideas for Summer of Code 2018
From: |
Mathieu Lirzin |
Subject: |
Re: [IMPORTANT] Ideas for Summer of Code 2018 |
Date: |
Wed, 21 Feb 2018 16:30:39 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hello,
Mathieu Lirzin <address@hidden> writes:
> Here is the first version of the ideas for GNU Automake:
>
> GNU Automake
>
> GNU Automake is a Makefile generator for the GNU Build system. The generated
> Makefiles are portable and compliant with to GNU Makefile standards.
>
> Modularize Automake to improve the test-suite performance
>
> Currently automake is implemented as a monolithic Perl script with some
> modules for code shared with aclocal which is another script distributed with
> Automake. To ensure its practical correctness Automake provides a huge
> test-suite and requires
> every non-trivial bug-fix to be covered by an additional non-regression test.
> Unfortunately this whole test-suite is quite slow to run (~20-30 min) which
> makes it hard for maintainers to effectively use it, and is long enough to
> refrain users to run it.
> The main reason for this slowness is that almost all tests are
> integration/validation tests that touch the file system. A more effective
> approach would be to replace those with unit tests when possible. The
> objective of this project is to incrementally
> refactor the current implementation by decomposing it into modules and unit
> test those with Test::More.
>
> Skills: Good understanding of the different testing strategies, Basic
> knowledge of Perl
> Mentor: Mathieu Lirzin
> Contact: address@hidden
Could you add the following snippet on top of the initial Automake
project idea?
Parse Makefile.am
using an Abstract Syntax Tree
When reading its input files automake
doesn't clearly separate
the parsing, semantic analysis, and code
generation phases. This design does not help with the separation of
concerns and makes the code hard to test.
The objective of this project is to write a parser
for Makefile.am
files that generates an Abstract Syntax
Tree (AST) That can be used independently of
the Makefile.in
files generation process.
Skills: Understanding of the classical compilation phases.
Basic knowledge of Perl
Mentor: Mathieu Lirzin
Contact: address@hidden
Thanks.
--
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37
- Re: [IMPORTANT] Ideas for Summer of Code 2018,
Mathieu Lirzin <=