--- toolchain.eclass +++ toolchain.eclass @@ -143,7 +143,7 @@ tc_version_is_at_least 3 && IUSE+=" doc gcj awt hardened multilib objc" tc_version_is_at_least 4.0 && IUSE+=" objc-gc" tc_version_is_between 4.0 4.9 && IUSE+=" mudflap" - tc_version_is_at_least 4.1 && IUSE+=" libssp objc++" + tc_version_is_at_least 4.1 && IUSE+=" alsa dssi libssp objc++" tc_version_is_at_least 4.2 && IUSE_DEF+=( openmp ) tc_version_is_at_least 4.3 && IUSE+=" fixed-point" tc_version_is_at_least 4.7 && IUSE+=" go" @@ -203,24 +203,186 @@ >=sys-devel/autogen-5.5.4 )" +GCJ_ZLIB_DEPEND="" +GCJ_ZLIB_RDEPEND="" +GCJ_ZIP_DEPEND="" +GCJ_GMP_DEPEND="" +GCJ_GMP_RDEPEND="" +GCJ_GTK_DEPEND="" +GCJ_GTK_RDEPEND="" +GCJ_LIBART_DEPEND="" +GCJ_LIBART_RDEPEND="" +GCJ_CAIRO_PANGO_DEPEND="" +GCJ_CAIRO_PANGO_RDEPEND="" +GCJ_XTST_DEPEND="" +GCJ_XTST_RDEPEND="" +GCJ_FREETYPE_DEPEND="" +GCJ_FREETYPE_RDEPEND="" +GCJ_XRANDR_XRENDER_DEPEND="" +GCJ_XRANDR_XRENDER_RDEPEND="" +GCJ_AWT_DEPEND="" +GCJ_AWT_RDEPEND="" +GCJ_ALSA_DEPEND="" +GCJ_ALSA_RDEPEND="" +GCJ_DSSI_DEPEND="" +GCJ_DSSI_RDEPEND="" + if in_iuse gcj ; then - GCJ_DEPS=">=media-libs/libart_lgpl-2.1" - GCJ_GTK_DEPS=" - x11-libs/libXt - x11-libs/libX11 - x11-libs/libXtst - x11-proto/xproto - x11-proto/xextproto - =x11-libs/gtk+-2* - virtual/pkgconfig - amd64? ( multilib? ( - app-emulation/emul-linux-x86-gtklibs - app-emulation/emul-linux-x86-xlibs - ) ) - " - tc_version_is_at_least 3.4 && GCJ_GTK_DEPS+=" x11-libs/pango" - tc_version_is_at_least 4.2 && GCJ_DEPS+=" app-arch/zip app-arch/unzip" - DEPEND+=" gcj? ( awt? ( ${GCJ_GTK_DEPS} ) ${GCJ_DEPS} )" + GCJ_ZLIB_DEPEND=" + multilib? ( amd64? ( + sys-libs/zlib[abi_x86_32] + ) )" + GCJ_ZLIB_RDEPEND="${GCJ_ZLIB_DEPEND}" + + tc_version_is_at_least 4.2 && GCJ_ZIP_DEPEND="app-arch/zip app-arch/unzip" + + if tc_version_is_at_least 4.4 ; then + GCJ_GMP_DEPEND=" + multilib? ( amd64? ( + dev-libs/gmp[abi_x86_32] + ) )" + GCJ_GMP_RDEPEND="${GCJ_GMP_DEPEND}" + fi + + if in_iuse awt ; then + GCJ_GTK_DEPEND=" + virtual/pkgconfig + x11-libs/gtk+:2 + x11-libs/libX11 + x11-proto/xproto + multilib? ( amd64? ( + x11-libs/gtk+:2[abi_x86_32] + x11-libs/libX11[abi_x86_32] + x11-proto/xproto[abi_x86_32] + ) )" + GCJ_GTK_RDEPEND=" + x11-libs/gtk+:2 + multilib? ( amd64? ( + x11-libs/gtk+:2[abi_x86_32] + ) )" + + if tc_version_is_between 3.4 4.1 ; then + GCJ_LIBART_DEPEND=" + >=media-libs/libart_lgpl-2.1 + multilib? ( amd64? ( + >=media-libs/libart_lgpl-2.1[abi_x86_32] + ) )" + GCJ_LIBART_RDEPEND="${GCJ_LIBART_DEPEND}" + fi + + if tc_version_is_at_least 3.4 ; then + GCJ_CAIRO_PANGO_DEPEND=" + x11-libs/cairo + x11-libs/pango + multilib? ( amd64? ( + x11-libs/cairo[abi_x86_32] + x11-libs/pango[abi_x86_32] + ) )" + GCJ_CAIRO_PANGO_RDEPEND="${GCJ_CAIRO_PANGO_DEPEND}" + fi + + if tc_version_is_at_least 4.0 ; then + GCJ_XTST_DEPEND=" + x11-libs/libXtst + multilib? ( amd64? ( + x11-libs/libXtst[abi_x86_32] + ) )" + GCJ_XTST_RDEPEND="${GCJ_XTST_DEPEND}" + fi + + if tc_version_is_at_least 4.1 ; then + GCJ_FREETYPE_DEPEND=" + media-libs/freetype + multilib? ( amd64? ( + media-libs/freetype[abi_x86_32] + ) )" + GCJ_FREETYPE_RDEPEND="${GCJ_FREETYPE_DEPEND}" + fi + + if tc_version_is_at_least 4.2 ; then + GCJ_XRANDR_XRENDER_DEPEND=" + x11-libs/libXrandr + x11-libs/libXrender + multilib? ( amd64? ( + x11-libs/libXrandr[abi_x86_32] + x11-libs/libXrender[abi_x86_32] + ) )" + GCJ_XRANDR_XRENDER_RDEPEND="${GCJ_XRANDR_XRENDER_DEPEND}" + fi + + GCJ_AWT_DEPEND=" + awt? ( + ${GCJ_GTK_DEPEND} + ${GCJ_LIBART_DEPEND} + ${GCJ_CAIRO_PANGO_DEPEND} + ${GCJ_XTST_DEPEND} + ${GCJ_FREETYPE_DEPEND} + ${GCJ_XRANDR_XRENDER_DEPEND} + )" + GCJ_AWT_RDEPEND=" + awt? ( + ${GCJ_GTK_RDEPEND} + ${GCJ_LIBART_RDEPEND} + ${GCJ_CAIRO_PANGO_RDEPEND} + ${GCJ_XTST_RDEPEND} + ${GCJ_FREETYPE_RDEPEND} + ${GCJ_XRANDR_XRENDER_RDEPEND} + )" + fi + + if in_iuse alsa ; then + GCJ_ALSA_DEPEND=" + alsa? ( + media-libs/alsa-lib + virtual/pkgconfig + multilib? ( amd64? ( + media-libs/alsa-lib[abi_x86_32] + ) ) + )" + GCJ_ALSA_RDEPEND=" + alsa? ( + media-libs/alsa-lib + multilib? ( amd64? ( + media-libs/alsa-lib[abi_x86_32] + ) ) + )" + fi + + if in_iuse dssi ; then + GCJ_DSSI_DEPEND=" + dssi? ( + media-libs/dssi + media-sound/jack-audio-connection-kit + multilib? ( amd64? ( + media-sound/jack-audio-connection-kit[abi_x86_32] + ) ) + )" + GCJ_DSSI_RDEPEND=" + dssi? ( + media-sound/jack-audio-connection-kit + multilib? ( amd64? ( + media-sound/jack-audio-connection-kit[abi_x86_32] + ) ) + )" + fi + + DEPEND+=" + gcj? ( + ${GCJ_ZLIB_DEPEND} + ${GCJ_ZIP_DEPEND} + ${GCJ_GMP_DEPEND} + ${GCJ_AWT_DEPEND} + ${GCJ_ALSA_DEPEND} + ${GCJ_DSSI_DEPEND} + )" + RDEPEND+=" + gcj? ( + ${GCJ_ZLIB_RDEPEND} + ${GCJ_GMP_RDEPEND} + ${GCJ_AWT_RDEPEND} + ${GCJ_ALSA_RDEPEND} + ${GCJ_DSSI_RDEPEND} + )" fi PDEPEND=">=sys-devel/gcc-config-1.7" @@ -1119,10 +1281,14 @@ ### library options - if ! is_gcj ; then + if is_gcj ; then + if use awt ; then + confgcc+=( --enable-java-awt=gtk ) + fi + confgcc+=( $(use_enable alsa) ) + confgcc+=( $(use_enable dssi) ) + else confgcc+=( --disable-libgcj ) - elif use awt ; then - confgcc+=( --enable-java-awt=gtk ) fi if tc_version_is_at_least 4.2 ; then