[v2,3/4] build: Add libgrust as compilation modules

Message ID 20231025110658.1232737-5-arthur.cohen@embecosm.com
State Accepted
Headers
Series [v2,1/4] libgrust: Add entry for maintainers and stub changelog file. |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Arthur Cohen Oct. 25, 2023, 11:06 a.m. UTC
  From: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>

Define the libgrust directory as a host compilation module as well as
for targets.

ChangeLog:

	* Makefile.def: Add libgrust as host & target module.
	* configure.ac: Add libgrust to host tools list.

gcc/rust/ChangeLog:

	* config-lang.in: Add libgrust as a target module for the rust
	language.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
---
 Makefile.def            | 2 ++
 configure.ac            | 3 ++-
 gcc/rust/config-lang.in | 2 ++
 3 files changed, 6 insertions(+), 1 deletion(-)
  

Comments

Arthur Cohen Oct. 25, 2023, 11:09 a.m. UTC | #1
From: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>

Regenerate all build files.

ChangeLog:

	* Makefile.in:
	* configure: Regenerate.

libgrust/ChangeLog:

	* Makefile.in: New file.
	* aclocal.m4: New file.
	* configure: New file.
	* libproc_macro/Makefile.in: New file.

libgm2/ChangeLog:

	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* libm2cor/Makefile.in: Regenerate.
	* libm2iso/Makefile.in: Regenerate.
	* libm2log/Makefile.in: Regenerate.
	* libm2min/Makefile.in: Regenerate.
	* libm2pim/Makefile.in: Regenerate.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
---
 Makefile.in                        |  1015 +-
 configure                          |     3 +-
 libgrust/Makefile.in               |   671 +
 libgrust/aclocal.m4                |  1260 ++
 libgrust/configure                 | 18420 +++++++++++++++++++++++++++
 libgrust/libproc_macro/Makefile.in |   704 +
 6 files changed, 22063 insertions(+), 10 deletions(-)
 create mode 100644 libgrust/Makefile.in
 create mode 100644 libgrust/aclocal.m4
 create mode 100755 libgrust/configure
 create mode 100644 libgrust/libproc_macro/Makefile.in
  
Thomas Schwinge Oct. 25, 2023, 9:40 p.m. UTC | #2
Hi!

On 2023-10-25T13:06:48+0200, Arthur Cohen <arthur.cohen@embecosm.com> wrote:
> From: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
>
> Define the libgrust directory as a host compilation module as well as
> for targets.

I don't see a response to Richard's comments:
<https://inbox.sourceware.org/CAFiYyc0Pcqfbknt06FaMMsNrf7Ww4Kbor6QVeTWj++KmUP1nOw@mail.gmail.com>.
Re "doesn't build libgrust if [Rust is not enabled]", I suppose (but have
not checked) this works for the *target* libgrust module via
'gcc/rust/config-lang.in:target_libs' requesting 'target-libgrust' only
if the Rust language is enabled?  I don't know what enables/disables the
*host* libgrust build?


My comments:
<https://inbox.sourceware.org/871qek608j.fsf@euler.schwinge.homeip.net>
don't seem to have been addressed?


Also, don't you first have to get in "build: Regenerate build files"
before the 'gcc/rust/config-lang.in:target_libs' change, to avoid
breaking bisection?

Maybe, after all, don't have a separate "build: Regenerate build files"
commit, but instead do the regeneration as part of the commits adding the
source files, in usual GCC style?

And then, the 'contrib/gcc_update' change that's currently in
"libgrust: Add entry for maintainers and stub changelog file" should be
part of the commit that actually adds the files referenced therein.


Grüße
 Thomas


> ChangeLog:
>
>       * Makefile.def: Add libgrust as host & target module.
>       * configure.ac: Add libgrust to host tools list.
>
> gcc/rust/ChangeLog:
>
>       * config-lang.in: Add libgrust as a target module for the rust
>       language.
>
> Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
> ---
>  Makefile.def            | 2 ++
>  configure.ac            | 3 ++-
>  gcc/rust/config-lang.in | 2 ++
>  3 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile.def b/Makefile.def
> index 15c068e4ac4..929a6f0a08e 100644
> --- a/Makefile.def
> +++ b/Makefile.def
> @@ -149,6 +149,7 @@ host_modules= { module= libcc1; extra_configure_flags=--enable-shared; };
>  host_modules= { module= gotools; };
>  host_modules= { module= libctf; bootstrap=true; };
>  host_modules= { module= libsframe; bootstrap=true; };
> +host_modules= { module= libgrust; };
>
>  target_modules = { module= libstdc++-v3;
>                  bootstrap=true;
> @@ -192,6 +193,7 @@ target_modules = { module= libgm2; lib_path=.libs; };
>  target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
>  target_modules = { module= libitm; lib_path=.libs; };
>  target_modules = { module= libatomic; bootstrap=true; lib_path=.libs; };
> +target_modules = { module= libgrust; };
>
>  // These are (some of) the make targets to be done in each subdirectory.
>  // Not all; these are the ones which don't have special options.
> diff --git a/configure.ac b/configure.ac
> index 692dc716343..b2a5511bab1 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -133,7 +133,7 @@ build_tools="build-texinfo build-flex build-bison build-m4 build-fixincludes"
>
>  # these libraries are used by various programs built for the host environment
>  #f
> -host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe"
> +host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe libgrust "
>
>  # these tools are built for the host environment
>  # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
> @@ -164,6 +164,7 @@ target_libraries="target-libgcc \
>               target-libada \
>               target-libgm2 \
>               target-libgo \
> +             target-libgrust \
>               target-libphobos \
>               target-zlib"
>
> diff --git a/gcc/rust/config-lang.in b/gcc/rust/config-lang.in
> index aac66c9b962..8f071dcb0bf 100644
> --- a/gcc/rust/config-lang.in
> +++ b/gcc/rust/config-lang.in
> @@ -29,4 +29,6 @@ compilers="rust1\$(exeext)"
>
>  build_by_default="no"
>
> +target_libs="target-libffi target-libbacktrace target-libgrust"
> +
>  gtfiles="\$(srcdir)/rust/rust-lang.cc"
> --
> 2.42.0
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
  
Arthur Cohen Oct. 26, 2023, 12:07 p.m. UTC | #3
Hi Thomas,

On 10/25/23 23:40, Thomas Schwinge wrote:
> Hi!
> 
> On 2023-10-25T13:06:48+0200, Arthur Cohen <arthur.cohen@embecosm.com> wrote:
>> From: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
>>
>> Define the libgrust directory as a host compilation module as well as
>> for targets.
> 
> I don't see a response to Richard's comments:
> <https://inbox.sourceware.org/CAFiYyc0Pcqfbknt06FaMMsNrf7Ww4Kbor6QVeTWj++KmUP1nOw@mail.gmail.com>.
> Re "doesn't build libgrust if [Rust is not enabled]", I suppose (but have
> not checked) this works for the *target* libgrust module via
> 'gcc/rust/config-lang.in:target_libs' requesting 'target-libgrust' only
> if the Rust language is enabled?  I don't know what enables/disables the
> *host* libgrust build?
> 
> 
> My comments:
> <https://inbox.sourceware.org/871qek608j.fsf@euler.schwinge.homeip.net>
> don't seem to have been addressed?

Sorry about that! The fixup commits you mentioned should have been 
integrated already to the commits I pushed. I seem to have messed 
something up in my branch, as your last comment should have been 
addressed too - I'll resend clean commits where all of this is checked.

> 
> 
> Also, don't you first have to get in "build: Regenerate build files"
> before the 'gcc/rust/config-lang.in:target_libs' change, to avoid
> breaking bisection?
> 
> Maybe, after all, don't have a separate "build: Regenerate build files"
> commit, but instead do the regeneration as part of the commits adding the
> source files, in usual GCC style?

Alright, that sounds good.

> 
> And then, the 'contrib/gcc_update' change that's currently in
> "libgrust: Add entry for maintainers and stub changelog file" should be
> part of the commit that actually adds the files referenced therein.

Okay!

Thanks for the review. I'll address these shortly.

> 
> 
> Grüße
>   Thomas
> 
> 
>> ChangeLog:
>>
>>        * Makefile.def: Add libgrust as host & target module.
>>        * configure.ac: Add libgrust to host tools list.
>>
>> gcc/rust/ChangeLog:
>>
>>        * config-lang.in: Add libgrust as a target module for the rust
>>        language.
>>
>> Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
>> ---
>>   Makefile.def            | 2 ++
>>   configure.ac            | 3 ++-
>>   gcc/rust/config-lang.in | 2 ++
>>   3 files changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/Makefile.def b/Makefile.def
>> index 15c068e4ac4..929a6f0a08e 100644
>> --- a/Makefile.def
>> +++ b/Makefile.def
>> @@ -149,6 +149,7 @@ host_modules= { module= libcc1; extra_configure_flags=--enable-shared; };
>>   host_modules= { module= gotools; };
>>   host_modules= { module= libctf; bootstrap=true; };
>>   host_modules= { module= libsframe; bootstrap=true; };
>> +host_modules= { module= libgrust; };
>>
>>   target_modules = { module= libstdc++-v3;
>>                   bootstrap=true;
>> @@ -192,6 +193,7 @@ target_modules = { module= libgm2; lib_path=.libs; };
>>   target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
>>   target_modules = { module= libitm; lib_path=.libs; };
>>   target_modules = { module= libatomic; bootstrap=true; lib_path=.libs; };
>> +target_modules = { module= libgrust; };
>>
>>   // These are (some of) the make targets to be done in each subdirectory.
>>   // Not all; these are the ones which don't have special options.
>> diff --git a/configure.ac b/configure.ac
>> index 692dc716343..b2a5511bab1 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -133,7 +133,7 @@ build_tools="build-texinfo build-flex build-bison build-m4 build-fixincludes"
>>
>>   # these libraries are used by various programs built for the host environment
>>   #f
>> -host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe"
>> +host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe libgrust "
>>
>>   # these tools are built for the host environment
>>   # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
>> @@ -164,6 +164,7 @@ target_libraries="target-libgcc \
>>                target-libada \
>>                target-libgm2 \
>>                target-libgo \
>> +             target-libgrust \
>>                target-libphobos \
>>                target-zlib"
>>
>> diff --git a/gcc/rust/config-lang.in b/gcc/rust/config-lang.in
>> index aac66c9b962..8f071dcb0bf 100644
>> --- a/gcc/rust/config-lang.in
>> +++ b/gcc/rust/config-lang.in
>> @@ -29,4 +29,6 @@ compilers="rust1\$(exeext)"
>>
>>   build_by_default="no"
>>
>> +target_libs="target-libffi target-libbacktrace target-libgrust"
>> +
>>   gtfiles="\$(srcdir)/rust/rust-lang.cc"
>> --
>> 2.42.0
> -----------------
> Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
  

Patch

diff --git a/Makefile.def b/Makefile.def
index 15c068e4ac4..929a6f0a08e 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -149,6 +149,7 @@  host_modules= { module= libcc1; extra_configure_flags=--enable-shared; };
 host_modules= { module= gotools; };
 host_modules= { module= libctf; bootstrap=true; };
 host_modules= { module= libsframe; bootstrap=true; };
+host_modules= { module= libgrust; };
 
 target_modules = { module= libstdc++-v3;
 		   bootstrap=true;
@@ -192,6 +193,7 @@  target_modules = { module= libgm2; lib_path=.libs; };
 target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
 target_modules = { module= libitm; lib_path=.libs; };
 target_modules = { module= libatomic; bootstrap=true; lib_path=.libs; };
+target_modules = { module= libgrust; };
 
 // These are (some of) the make targets to be done in each subdirectory.
 // Not all; these are the ones which don't have special options.
diff --git a/configure.ac b/configure.ac
index 692dc716343..b2a5511bab1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -133,7 +133,7 @@  build_tools="build-texinfo build-flex build-bison build-m4 build-fixincludes"
 
 # these libraries are used by various programs built for the host environment
 #f
-host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe"
+host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe libgrust "
 
 # these tools are built for the host environment
 # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
@@ -164,6 +164,7 @@  target_libraries="target-libgcc \
 		target-libada \
 		target-libgm2 \
 		target-libgo \
+		target-libgrust \
 		target-libphobos \
 		target-zlib"
 
diff --git a/gcc/rust/config-lang.in b/gcc/rust/config-lang.in
index aac66c9b962..8f071dcb0bf 100644
--- a/gcc/rust/config-lang.in
+++ b/gcc/rust/config-lang.in
@@ -29,4 +29,6 @@  compilers="rust1\$(exeext)"
 
 build_by_default="no"
 
+target_libs="target-libffi target-libbacktrace target-libgrust"
+
 gtfiles="\$(srcdir)/rust/rust-lang.cc"