diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-12-19 16:36:18 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-12-19 18:28:59 -0500 |
commit | dc95bdeba8feeaefea57bc1c81f5473415616e1a (patch) | |
tree | 76b1942619e20e016d5c1b9de350429e4ca80ea2 | |
parent | 43a5be5306f4526a71f2b349917a120e0f1b8824 (diff) | |
download | gentoo-dc95bdeba8feeaefea57bc1c81f5473415616e1a.tar.gz gentoo-dc95bdeba8feeaefea57bc1c81f5473415616e1a.tar.xz |
sys-devel/gcc: add support for USE=jit #568834
-rw-r--r-- | eclass/toolchain.eclass | 10 | ||||
-rw-r--r-- | sys-devel/gcc/metadata.xml | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 43fa8bffc97..b18d41816eb 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -152,6 +152,7 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then # the older versions, we don't want to bother supporting it. #448024 tc_version_is_at_least 4.8 && IUSE+=" graphite" IUSE_DEF+=( sanitize ) tc_version_is_at_least 4.9 && IUSE+=" cilk" + tc_version_is_at_least 5.0 && IUSE+=" jit" tc_version_is_at_least 6.0 && IUSE+=" pie +ssp" fi @@ -841,6 +842,7 @@ toolchain_src_configure() { is_d && GCC_LANG+=",d" is_gcj && GCC_LANG+=",java" is_go && GCC_LANG+=",go" + is_jit && GCC_LANG+=",jit" if is_objc || is_objcxx ; then GCC_LANG+=",objc" if tc_version_is_at_least 4 ; then @@ -904,6 +906,9 @@ toolchain_src_configure() { confgcc+=( --enable-libstdcxx-time ) fi + # The jit language requires this. + is_jit && confgcc+=( --enable-host-shared ) + # # Turn on the -Wl,--build-id flag by default for ELF targets. #525942 # # This helps with locating debug files. # case ${CTARGET} in @@ -2155,6 +2160,11 @@ is_go() { use cxx && use_if_iuse go } +is_jit() { + gcc-lang-supported jit || return 1 + use_if_iuse jit +} + is_multilib() { tc_version_is_at_least 3 || return 1 use multilib diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml index 29330fe5925..2e74979dae7 100644 --- a/sys-devel/gcc/metadata.xml +++ b/sys-devel/gcc/metadata.xml @@ -12,6 +12,8 @@ <flag name="go">Build the GCC Go language frontend.</flag> <flag name="graphite">Add support for the framework for loop optimizations based on a polyhedral intermediate representation</flag> + <flag name="jit">Enable libgccjit so other applications can embed gcc for Just-In-Time compilation. + This will slow down the compiler a bit as it forces all of the toolchain to be shared libs.</flag> <flag name="libssp">Build SSP support into a dedicated library rather than use the code in the C library (DO NOT ENABLE THIS IF YOU DON'T KNOW WHAT IT DOES)</flag> <flag name="mudflap">Add support for mudflap, a pointer use checking library</flag> |