xref: /netbsd-src/external/gpl3/gcc.old/dist/libphobos/m4/gcc_support.m4 (revision 627f7eb200a4419d89b531d55fccd2ee3ffdcde0)
1*627f7eb2Smrg#
2*627f7eb2Smrg# Contains macros to allow building libphobos as part of GCC.
3*627f7eb2Smrg# This includes macros to locate directories and do configure checks
4*627f7eb2Smrg# without an installed libdruntime.
5*627f7eb2Smrg#
6*627f7eb2Smrg
7*627f7eb2Smrg
8*627f7eb2Smrg# PHOBOS_ABS_SRCDIR
9*627f7eb2Smrg# -----------------
10*627f7eb2Smrg# Find absolute top level source directory and set phobos_cv_abs_srcdir
11*627f7eb2SmrgAC_DEFUN([PHOBOS_ABS_SRCDIR], [
12*627f7eb2Smrg  dnl Not sure if 100% portable, but we need the absolute dir as the _LT_COMPILER_C_O
13*627f7eb2Smrg  dnl test changes the directory
14*627f7eb2Smrg  AC_CACHE_CHECK([[for absolute libphobos source path]],
15*627f7eb2Smrg    [[phobos_cv_abs_srcdir]],
16*627f7eb2Smrg    [[phobos_cv_abs_srcdir=`cd $srcdir && pwd`]])
17*627f7eb2Smrg    AS_IF([[test -d "$phobos_cv_abs_srcdir"]],
18*627f7eb2Smrg      [],
19*627f7eb2Smrg      [AC_MSG_ERROR([[can't find absolute libphobos source path]])])
20*627f7eb2Smrg])
21*627f7eb2Smrg
22*627f7eb2Smrg
23*627f7eb2Smrg# WITH_LOCAL_DRUNTIME(CALL, EXTRAFLAGS)
24*627f7eb2Smrg# -------------------------------------
25*627f7eb2Smrg# Execute CALL with GDCFLAGS adjusted to use the local druntime includes.
26*627f7eb2Smrg# Flags contains extra arguments to append to GDCFLAGS (e.g. -nophoboslib).
27*627f7eb2SmrgAC_DEFUN([WITH_LOCAL_DRUNTIME], [
28*627f7eb2Smrg  AC_REQUIRE([PHOBOS_ABS_SRCDIR])
29*627f7eb2Smrg  gdc_save_DFLAGS=$GDCFLAGS
30*627f7eb2Smrg  GDCFLAGS="-fno-moduleinfo -nostdinc -I $phobos_cv_abs_srcdir/libdruntime $2 $GDCFLAGS"
31*627f7eb2Smrg  $1
32*627f7eb2Smrg  GDCFLAGS=$gdc_save_DFLAGS
33*627f7eb2Smrg])
34