Message ID | 20211216231228.106506-1-ibuclaw@gdcproject.org |
---|---|
State | New |
Headers | show |
Series | config: Add check whether D compiler works (PR103528) | expand |
On Fri, Dec 17, 2021 at 12:12:28AM +0100, Iain Buclaw wrote: > Hi, > > This patch extends AC_PROG_GDC so that as well as checking for the > existence of a GDC compiler, also validate that it has also been built > with libphobos, otherwise warn or fail with the message that GDC is > required to build d. > > Tested on a system running powerpcle-linux both without a D compiler, > and with a D compiler configured with --disable-libphobos. > > This would also help with Solaris and Darwin ports, where support for > both D and runtime isn't present across all current releases. > > OK for mainline? This fixes PR103739 by not building D at all anymore. That is also a regression of course, but at least it doesn't break bootstrap anymore :-) Thanks, Segher
> On 18/12/2021 22:30 Segher Boessenkool <segher@kernel.crashing.org> wrote: > > > On Fri, Dec 17, 2021 at 12:12:28AM +0100, Iain Buclaw wrote: > > Hi, > > > > This patch extends AC_PROG_GDC so that as well as checking for the > > existence of a GDC compiler, also validate that it has also been built > > with libphobos, otherwise warn or fail with the message that GDC is > > required to build d. > > > > Tested on a system running powerpcle-linux both without a D compiler, > > and with a D compiler configured with --disable-libphobos. > > > > This would also help with Solaris and Darwin ports, where support for > > both D and runtime isn't present across all current releases. > > > > OK for mainline? > > This fixes PR103739 by not building D at all anymore. That is also a > regression of course, but at least it doesn't break bootstrap anymore :-) > Well, you don't have a working D compiler installed then! As I mentioned in your bug report, from my testing, powerpc can be bootstrapped from gcc-10 or gcc-11 without issue. Iain.
diff --git a/config/acx.m4 b/config/acx.m4 index 3c65d820628..b86c4f9e51d 100644 --- a/config/acx.m4 +++ b/config/acx.m4 @@ -425,7 +425,20 @@ AC_DEFUN([ACX_PROG_GDC], [AC_REQUIRE([AC_CHECK_TOOL_PREFIX]) AC_REQUIRE([AC_PROG_CC]) AC_CHECK_TOOL(GDC, gdc, no) +AC_CACHE_CHECK([whether the D compiler works], + acx_cv_d_compiler_works, +[cat >conftest.d <<EOF +module conftest; int main() { return 0; } +EOF +acx_cv_d_compiler_works=no if test "x$GDC" != xno; then + errors=`(${GDC} $1[]m4_ifval([$1], [ ])-c conftest.d) 2>&1 || echo failure` + if test x"$errors" = x && test -f conftest.$ac_objext; then + acx_cv_d_compiler_works=yes + fi + rm -f conftest.* +fi]) +if test "x$GDC" != xno && test x$acx_cv_d_compiler_works != xno; then have_gdc=yes else have_gdc=no diff --git a/configure b/configure index 7f619d24ec5..869c654ea71 100755 --- a/configure +++ b/configure @@ -5721,7 +5721,26 @@ else GDC="$ac_cv_prog_GDC" fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the D compiler works" >&5 +$as_echo_n "checking whether the D compiler works... " >&6; } +if ${acx_cv_d_compiler_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.d <<EOF +module conftest; int main() { return 0; } +EOF +acx_cv_d_compiler_works=no if test "x$GDC" != xno; then + errors=`(${GDC} -c conftest.d) 2>&1 || echo failure` + if test x"$errors" = x && test -f conftest.$ac_objext; then + acx_cv_d_compiler_works=yes + fi + rm -f conftest.* +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_d_compiler_works" >&5 +$as_echo "$acx_cv_d_compiler_works" >&6; } +if test "x$GDC" != xno && test x$acx_cv_d_compiler_works != xno; then have_gdc=yes else have_gdc=no