From: Iain Buclaw <ibuclaw@gdcproject.org>
To: gcc-patches@gcc.gnu.org
Cc: ro@CeBiTec.Uni-Bielefeld.DE, segher@kernel.crashing.org,
iain@sandoe.co.uk, Iain Buclaw <ibuclaw@gdcproject.org>
Subject: [PATCH] config: Add check whether D compiler works (PR103528)
Date: Fri, 17 Dec 2021 00:12:28 +0100 [thread overview]
Message-ID: <20211216231228.106506-1-ibuclaw@gdcproject.org> (raw)
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?
Regards,
Iain
---
config/ChangeLog:
PR d/103528
* acx.m4 (ACX_PROG_GDC): Add check whether D compiler works.
ChangeLog:
* configure: Regenerate.
---
config/acx.m4 | 13 +++++++++++++
configure | 19 +++++++++++++++++++
2 files changed, 32 insertions(+)
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
--
2.32.0
next reply other threads:[~2021-12-16 23:13 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-16 23:12 Iain Buclaw [this message]
2021-12-18 21:30 ` Segher Boessenkool
2021-12-19 20:54 ` ibuclaw
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211216231228.106506-1-ibuclaw@gdcproject.org \
--to=ibuclaw@gdcproject.org \
--cc=gcc-patches@gcc.gnu.org \
--cc=iain@sandoe.co.uk \
--cc=ro@CeBiTec.Uni-Bielefeld.DE \
--cc=segher@kernel.crashing.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).