crosstool-ng/config/cc.in
Marc Poulhiès cdae8d0559 Enable support for building libgccjit
libgccjit is still under development and, despite its name, may also be used for
ahead-of-time compilation.

Documentation can be found on the gcc website:
https://gcc.gnu.org/onlinedocs/jit/internals/index.html
https://gcc.gnu.org/wiki/JIT

With this change it's possible to enable the building of the libgccjit. It's
enabled as a language (with --enable-languages=jit) even if not a language
frontend at all.

The main changes are related to the requirement of having everything host side
built as Position Independent Code (PIC) with --enable-host-shared. GCC has the
needed logic for building its dependencies (mpc, gmp, mpfr, ...) correctly when
built "in-tree", which is not the case with crosstool-ng (see
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=05048fc29f0)

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
2022-12-18 21:20:50 +13:00

152 lines
3.2 KiB
Plaintext

# Compiler options
menu "C compiler"
config CC_CORE_NEEDED
bool
config CC_SUPPORT_CXX
bool
config CC_SUPPORT_FORTRAN
bool
config CC_SUPPORT_JAVA
bool
config CC_SUPPORT_ADA
bool
config CC_SUPPORT_D
bool
config CC_SUPPORT_JIT
bool
config CC_SUPPORT_OBJC
bool
config CC_SUPPORT_OBJCXX
bool
config CC_SUPPORT_GOLANG
bool
source "config/gen/cc.in"
comment "Additional supported languages:"
config CC_LANG_CXX
bool
prompt "C++"
depends on CC_SUPPORT_CXX
help
Enable building a C++ compiler.
Only select this if you know that your specific version of the
compiler supports this language.
config CC_LANG_FORTRAN
bool
prompt "Fortran"
depends on CC_SUPPORT_FORTRAN
help
Enable building a FORTRAN compiler.
Only select this if you know that your specific version of the
compiler supports this language.
config CC_LANG_JIT
bool
prompt "JIT (EXPERIMENTAL)"
depends on CC_SUPPORT_JIT
depends on EXPERIMENTAL
help
Enable building the GCC JIT library.
Only select this if you know that your specific version of the
compiler supports the libgccjit.
if ! BARE_METAL
config CC_LANG_JAVA
bool
prompt "Java"
depends on CC_SUPPORT_JAVA
help
Enable building a Java compiler.
Only select this if you know that your specific version of the
compiler supports this language.
config CC_LANG_ADA
bool
prompt "Ada (EXPERIMENTAL)"
depends on CC_SUPPORT_ADA
depends on EXPERIMENTAL
help
Enable building an Ada compiler.
Only select this if you know that your specific version of the
compiler supports this language.
config CC_LANG_D
bool
prompt "D (EXPERIMENTAL)"
depends on CC_SUPPORT_D
depends on EXPERIMENTAL
help
Enable building a D compiler.
Only select this if you know that your specific version of the
compiler supports this language.
config CC_LANG_OBJC
bool
prompt "Objective-C (EXPERIMENTAL)"
depends on CC_SUPPORT_OBJC
depends on EXPERIMENTAL
help
Enable building an Objective C compiler.
Only select this if you know that your specific version of the
compiler supports this language.
config CC_LANG_OBJCXX
bool
prompt "Objective-C++ (EXPERIMENTAL)"
depends on EXPERIMENTAL
depends on CC_SUPPORT_OBJCXX
help
Enable building an Objective C++ compiler.
Only select this if you know that your specific version of the
compiler supports this language.
config CC_LANG_GOLANG
bool
prompt "Go (EXPERIMENTAL)"
depends on EXPERIMENTAL
depends on CC_SUPPORT_GOLANG
help
Enable building a Go compiler.
Only select this if you know that your specific version of the
compiler supports this language.
endif # ! BARE_METAL
config CC_LANG_OTHERS
string
prompt "Other languages (EXPERIMENTAL)"
default ""
depends on EXPERIMENTAL
help
Enter here a comma-separated list of languages that you know your compiler
supports, besides those listed above.
Eg. gcc-4.1+ has a toy programming language, treelang. As it is not useful
in real life, it is not available in the selection above.
endmenu