build: Add libgrust as compilation modules

Define the libgrust directory as a host compilation module as well as
for targets. Disable target libgrust if we're not building target
libstdc++.

ChangeLog:

	* Makefile.def: Add libgrust as host & target module.
	* configure.ac: Add libgrust to host tools list. Add libgrust to
	noconfigdirs if we're not building target libstdc++.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

gcc/rust/ChangeLog:

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

Co-authored-by: Thomas Schwinge <thomas@codesourcery.com>
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
This commit is contained in:
Pierre-Emmanuel Patry 2023-10-25 13:06:48 +02:00 committed by Marc Poulhiès
parent f37c55c14b
commit 725fb35956
5 changed files with 1039 additions and 11 deletions

View File

@ -164,6 +164,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;
@ -207,6 +208,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.
@ -669,6 +671,7 @@ dependencies = { module=all-target-libphobos; on=all-target-libatomic; };
dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; };
dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; };
dependencies = { module=configure-target-libvtv; on=all-target-libstdc++-v3; };
dependencies = { module=configure-target-libgrust; on=all-target-libstdc++-v3; };
// parallel_list.o and parallel_settings.o depend on omp.h, which is
// generated by the libgomp configure. Unfortunately, due to the use of
// recursive make, we can't be that specific.

File diff suppressed because it is too large Load Diff

14
configure vendored
View File

@ -2829,7 +2829,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="gettext libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe"
host_libs="gettext 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
@ -2860,6 +2860,7 @@ target_libraries="target-libgcc \
target-libada \
target-libgm2 \
target-libgo \
target-libgrust \
target-libphobos \
target-zlib"
@ -9275,6 +9276,17 @@ case ,${enable_languages}, in
;;
esac
case ,${enable_languages}, in
*,rust,*)
case " ${noconfigdirs} " in
*\ target-libstdc++-v3\ *)
# Disable target libgrust if we're not building target libstdc++.
noconfigdirs="$noconfigdirs target-libgrust"
;;
esac
;;
esac
# If gcc/ is not in the source tree then we'll not be building a
# target compiler, assume in that case we don't want to build any
# target libraries or tools.

View File

@ -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="gettext libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe"
host_libs="gettext 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"
@ -2471,6 +2472,17 @@ case ,${enable_languages}, in
;;
esac
case ,${enable_languages}, in
*,rust,*)
case " ${noconfigdirs} " in
*\ target-libstdc++-v3\ *)
# Disable target libgrust if we're not building target libstdc++.
noconfigdirs="$noconfigdirs target-libgrust"
;;
esac
;;
esac
# If gcc/ is not in the source tree then we'll not be building a
# target compiler, assume in that case we don't want to build any
# target libraries or tools.

View File

@ -29,4 +29,7 @@ compilers="rust1\$(exeext)"
build_by_default="no"
target_libs="target-libgrust"
lang_dirs=libgrust
gtfiles="\$(srcdir)/rust/rust-lang.cc"