summaryrefslogtreecommitdiff
path: root/libphobos
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2020-03-25 09:38:58 +0100
committerIain Buclaw <ibuclaw@gdcproject.org>2020-04-18 18:25:49 +0200
commit261bd78d57d40a03f340cfe4fc78ff9717c9602d (patch)
tree56918700689bbafd55af340a13d15c94ac5831fe /libphobos
parentbaf3b9b2e5259558ef86bd62398e2ccecd7a4a4c (diff)
libphobos: Add --with-libphobos-druntime-only option.
The intended purpose of the option is both for targets that don't support phobos yet, and for gdc itself to support bootstrapping itself as a self-hosted D compiler. The libphobos testsuite has been updated to only add libphobos to the search paths if it's being built. A new D2 testsuite directive RUNNABLE_PHOBOS_TEST has also been patched in to disable some runnable tests that have phobos dependencies, of which is a temporary measure until upstream DMD fixes or removes these tests entirely. gcc/testsuite/ChangeLog: * lib/gdc-utils.exp (gdc-convert-test): Add dg-skip-if for tests that depending on the phobos standard library. libphobos/ChangeLog: * configure: Regenerate. * configure.ac: Add --with-libphobos-druntime-only option and the conditional ENABLE_LIBDRUNTIME_ONLY. * configure.tgt: Define LIBDRUNTIME_ONLY. * src/Makefile.am: Add phobos sources if not ENABLE_LIBDRUNTIME_ONLY. * src/Makefile.in: Regenerate. * testsuite/testsuite_flags.in: Add phobos path if compiling phobos.
Diffstat (limited to 'libphobos')
-rwxr-xr-xlibphobos/configure48
-rw-r--r--libphobos/configure.ac22
-rw-r--r--libphobos/configure.tgt1
-rw-r--r--libphobos/src/Makefile.am8
-rw-r--r--libphobos/src/Makefile.in314
-rwxr-xr-xlibphobos/testsuite/testsuite_flags.in7
6 files changed, 262 insertions, 138 deletions
diff --git a/libphobos/configure b/libphobos/configure
index a6f5aec2bfd..2dcf15ed852 100755
--- a/libphobos/configure
+++ b/libphobos/configure
@@ -638,6 +638,8 @@ GDCFLAGSX
libtool_VERSION
SPEC_PHOBOS_DEPS
CHECKING_DFLAGS
+ENABLE_LIBDRUNTIME_ONLY_FALSE
+ENABLE_LIBDRUNTIME_ONLY_TRUE
ENABLE_LIBPHOBOS_FALSE
ENABLE_LIBPHOBOS_TRUE
gdc_include_dir
@@ -840,6 +842,7 @@ with_cross_host
enable_version_specific_runtime_libs
with_toolexeclibdir
enable_libphobos
+with_libdruntime_only
enable_libphobos_checking
'
ac_precious_vars='build_alias
@@ -1509,6 +1512,8 @@ Optional Packages:
--with-toolexeclibdir=DIR
install libraries built with a cross compiler within
DIR
+ --with-libphobos-druntime-only={yes,no,auto}
+ build only the druntime library (default: auto)
Some influential environment variables:
CC C compiler command
@@ -11645,7 +11650,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11648 "configure"
+#line 11653 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11751,7 +11756,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11754 "configure"
+#line 11759 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15230,8 +15235,27 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libphobos" >&5
$as_echo "$enable_libphobos" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-libphobos-druntime-only" >&5
+$as_echo_n "checking for --with-libphobos-druntime-only... " >&6; }
+
+# Check whether --with-libdruntime-only was given.
+if test "${with_libdruntime_only+set}" = set; then :
+ withval=$with_libdruntime_only;
+else
+ with_libdruntime_only=auto
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_libdruntime_only" >&5
+$as_echo "$with_libdruntime_only" >&6; }
+
+case "$with_libdruntime_only" in
+ yes|no|auto) ;;
+ *) as_fn_error $? "Invalid argument for --with-libphobos-druntime-only" "$LINENO" 5 ;;
+esac
+
# See if supported.
unset LIBPHOBOS_SUPPORTED
+unset LIBDRUNTIME_ONLY
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for host support for libphobos" >&5
$as_echo_n "checking for host support for libphobos... " >&6; }
. ${srcdir}/configure.tgt
@@ -15274,6 +15298,22 @@ else
fi
+# Decide if only libdruntime should be built.
+case $LIBDRUNTIME_ONLY:$with_libdruntime_only in
+*:no) only_libdruntime=no ;;
+*:yes) only_libdruntime=yes ;;
+yes:*) only_libdruntime=yes ;;
+*:*) only_libdruntime=no ;;
+esac
+ if test x$only_libdruntime = xyes; then
+ ENABLE_LIBDRUNTIME_ONLY_TRUE=
+ ENABLE_LIBDRUNTIME_ONLY_FALSE='#'
+else
+ ENABLE_LIBDRUNTIME_ONLY_TRUE='#'
+ ENABLE_LIBDRUNTIME_ONLY_FALSE=
+fi
+
+
# Enable expensive internal checks
# Check whether --enable-libphobos-checking was given.
if test "${enable_libphobos_checking+set}" = set; then :
@@ -15577,6 +15617,10 @@ if test -z "${ENABLE_LIBPHOBOS_TRUE}" && test -z "${ENABLE_LIBPHOBOS_FALSE}"; th
as_fn_error $? "conditional \"ENABLE_LIBPHOBOS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${ENABLE_LIBDRUNTIME_ONLY_TRUE}" && test -z "${ENABLE_LIBDRUNTIME_ONLY_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_LIBDRUNTIME_ONLY\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
diff --git a/libphobos/configure.ac b/libphobos/configure.ac
index ffd12981d0b..8c89ebd23b0 100644
--- a/libphobos/configure.ac
+++ b/libphobos/configure.ac
@@ -152,8 +152,21 @@ AC_ARG_ENABLE(libphobos,
[AS_HELP_STRING([--enable-libphobos], [Enable libphobos])])
AC_MSG_RESULT($enable_libphobos)
+AC_MSG_CHECKING([for --with-libphobos-druntime-only])
+AC_ARG_WITH(libdruntime-only,
+ AS_HELP_STRING([--with-libphobos-druntime-only={yes,no,auto}],
+ [build only the druntime library (default: auto)]),,
+ [with_libdruntime_only=auto])
+AC_MSG_RESULT($with_libdruntime_only)
+
+case "$with_libdruntime_only" in
+ yes|no|auto) ;;
+ *) AC_MSG_ERROR([Invalid argument for --with-libphobos-druntime-only]) ;;
+esac
+
# See if supported.
unset LIBPHOBOS_SUPPORTED
+unset LIBDRUNTIME_ONLY
AC_MSG_CHECKING([for host support for libphobos])
. ${srcdir}/configure.tgt
case ${host} in
@@ -187,6 +200,15 @@ yes:*) use_libphobos=yes ;;
esac
AM_CONDITIONAL(ENABLE_LIBPHOBOS, test x$use_libphobos = xyes)
+# Decide if only libdruntime should be built.
+case $LIBDRUNTIME_ONLY:$with_libdruntime_only in
+*:no) only_libdruntime=no ;;
+*:yes) only_libdruntime=yes ;;
+yes:*) only_libdruntime=yes ;;
+*:*) only_libdruntime=no ;;
+esac
+AM_CONDITIONAL(ENABLE_LIBDRUNTIME_ONLY, test x$only_libdruntime = xyes)
+
# Enable expensive internal checks
AC_ARG_ENABLE(libphobos-checking,
[AS_HELP_STRING([[--enable-libphobos-checking[=LIST]]],
diff --git a/libphobos/configure.tgt b/libphobos/configure.tgt
index 8ef552a3332..66082e36fad 100644
--- a/libphobos/configure.tgt
+++ b/libphobos/configure.tgt
@@ -22,6 +22,7 @@
# Disable the libphobos or libdruntime components on untested or known
# broken systems. More targets shall be added after testing.
LIBPHOBOS_SUPPORTED=no
+LIBDRUNTIME_ONLY=auto
case "${target}" in
aarch64*-*-linux*)
LIBPHOBOS_SUPPORTED=yes
diff --git a/libphobos/src/Makefile.am b/libphobos/src/Makefile.am
index 51e3f501565..9fb416ecc32 100644
--- a/libphobos/src/Makefile.am
+++ b/libphobos/src/Makefile.am
@@ -70,6 +70,12 @@ install-data-local:
# https://gist.github.com/jpf91/8744acebc9dcf1e9d1a35cdff20afbb2
# Can't use wildcards here:
# https://www.gnu.org/software/automake/manual/html_node/Wildcards.html
+if ENABLE_LIBDRUNTIME_ONLY
+
+PHOBOS_DSOURCES =
+
+else
+
PHOBOS_DSOURCES = etc/c/curl.d etc/c/sqlite3.d etc/c/zlib.d \
std/algorithm/comparison.d std/algorithm/internal.d \
std/algorithm/iteration.d std/algorithm/mutation.d \
@@ -132,3 +138,5 @@ PHOBOS_DSOURCES = etc/c/curl.d etc/c/sqlite3.d etc/c/zlib.d \
std/utf.d std/uuid.d std/variant.d std/windows/charset.d \
std/windows/registry.d std/windows/syserror.d std/xml.d std/zip.d \
std/zlib.d
+
+endif
diff --git a/libphobos/src/Makefile.in b/libphobos/src/Makefile.in
index da9ba834c4b..e1b0588a690 100644
--- a/libphobos/src/Makefile.in
+++ b/libphobos/src/Makefile.in
@@ -145,77 +145,122 @@ am__installdirs = "$(DESTDIR)$(toolexeclibdir)" \
LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
am__DEPENDENCIES_1 =
am__dirstamp = $(am__leading_dot)dirstamp
-am__objects_1 = etc/c/curl.lo etc/c/sqlite3.lo etc/c/zlib.lo \
- std/algorithm/comparison.lo std/algorithm/internal.lo \
- std/algorithm/iteration.lo std/algorithm/mutation.lo \
- std/algorithm/package.lo std/algorithm/searching.lo \
- std/algorithm/setops.lo std/algorithm/sorting.lo std/array.lo \
- std/ascii.lo std/base64.lo std/bigint.lo std/bitmanip.lo \
- std/compiler.lo std/complex.lo std/concurrency.lo \
- std/container/array.lo std/container/binaryheap.lo \
- std/container/dlist.lo std/container/package.lo \
- std/container/rbtree.lo std/container/slist.lo \
- std/container/util.lo std/conv.lo std/csv.lo \
- std/datetime/date.lo std/datetime/interval.lo \
- std/datetime/package.lo std/datetime/stopwatch.lo \
- std/datetime/systime.lo std/datetime/timezone.lo \
- std/demangle.lo std/digest/crc.lo std/digest/digest.lo \
- std/digest/hmac.lo std/digest/md.lo std/digest/murmurhash.lo \
- std/digest/package.lo std/digest/ripemd.lo std/digest/sha.lo \
- std/encoding.lo std/exception.lo \
- std/experimental/allocator/building_blocks/affix_allocator.lo \
- std/experimental/allocator/building_blocks/allocator_list.lo \
- std/experimental/allocator/building_blocks/bitmapped_block.lo \
- std/experimental/allocator/building_blocks/bucketizer.lo \
- std/experimental/allocator/building_blocks/fallback_allocator.lo \
- std/experimental/allocator/building_blocks/free_list.lo \
- std/experimental/allocator/building_blocks/free_tree.lo \
- std/experimental/allocator/building_blocks/kernighan_ritchie.lo \
- std/experimental/allocator/building_blocks/null_allocator.lo \
- std/experimental/allocator/building_blocks/package.lo \
- std/experimental/allocator/building_blocks/quantizer.lo \
- std/experimental/allocator/building_blocks/region.lo \
- std/experimental/allocator/building_blocks/scoped_allocator.lo \
- std/experimental/allocator/building_blocks/segregator.lo \
- std/experimental/allocator/building_blocks/stats_collector.lo \
- std/experimental/allocator/common.lo \
- std/experimental/allocator/gc_allocator.lo \
- std/experimental/allocator/mallocator.lo \
- std/experimental/allocator/mmap_allocator.lo \
- std/experimental/allocator/package.lo \
- std/experimental/allocator/showcase.lo \
- std/experimental/allocator/typed.lo \
- std/experimental/checkedint.lo std/experimental/logger/core.lo \
- std/experimental/logger/filelogger.lo \
- std/experimental/logger/multilogger.lo \
- std/experimental/logger/nulllogger.lo \
- std/experimental/logger/package.lo \
- std/experimental/typecons.lo std/file.lo std/format.lo \
- std/functional.lo std/getopt.lo std/internal/cstring.lo \
- std/internal/math/biguintcore.lo \
- std/internal/math/biguintnoasm.lo \
- std/internal/math/errorfunction.lo \
- std/internal/math/gammafunction.lo std/internal/scopebuffer.lo \
- std/internal/test/dummyrange.lo std/internal/test/range.lo \
- std/internal/test/uda.lo std/internal/unicode_comp.lo \
- std/internal/unicode_decomp.lo \
- std/internal/unicode_grapheme.lo std/internal/unicode_norm.lo \
- std/internal/unicode_tables.lo \
- std/internal/windows/advapi32.lo std/json.lo std/math.lo \
- std/mathspecial.lo std/meta.lo std/mmfile.lo std/net/curl.lo \
- std/net/isemail.lo std/numeric.lo std/outbuffer.lo \
- std/parallelism.lo std/path.lo std/process.lo std/random.lo \
- std/range/interfaces.lo std/range/package.lo \
- std/range/primitives.lo std/regex/internal/backtracking.lo \
- std/regex/internal/generator.lo std/regex/internal/ir.lo \
- std/regex/internal/kickstart.lo std/regex/internal/parser.lo \
- std/regex/internal/tests.lo std/regex/internal/thompson.lo \
- std/regex/package.lo std/signals.lo std/socket.lo \
- std/stdint.lo std/stdio.lo std/string.lo std/system.lo \
- std/traits.lo std/typecons.lo std/typetuple.lo std/uni.lo \
- std/uri.lo std/utf.lo std/uuid.lo std/variant.lo \
- std/windows/charset.lo std/windows/registry.lo \
- std/windows/syserror.lo std/xml.lo std/zip.lo std/zlib.lo
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@am__objects_1 = etc/c/curl.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ etc/c/sqlite3.lo etc/c/zlib.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/comparison.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/internal.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/iteration.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/mutation.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/package.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/searching.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/setops.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/sorting.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/array.lo std/ascii.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/base64.lo std/bigint.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/bitmanip.lo std/compiler.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/complex.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/concurrency.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/container/array.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/container/binaryheap.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/container/dlist.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/container/package.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/container/rbtree.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/container/slist.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/container/util.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/conv.lo std/csv.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/datetime/date.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/datetime/interval.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/datetime/package.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/datetime/stopwatch.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/datetime/systime.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/datetime/timezone.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/demangle.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/digest/crc.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/digest/digest.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/digest/hmac.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/digest/md.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/digest/murmurhash.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/digest/package.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/digest/ripemd.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/digest/sha.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/encoding.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/exception.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/affix_allocator.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/allocator_list.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/bitmapped_block.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/bucketizer.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/fallback_allocator.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/free_list.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/free_tree.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/kernighan_ritchie.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/null_allocator.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/package.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/quantizer.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/region.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/scoped_allocator.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/segregator.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/stats_collector.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/common.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/gc_allocator.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/mallocator.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/mmap_allocator.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/package.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/showcase.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/typed.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/checkedint.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/logger/core.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/logger/filelogger.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/logger/multilogger.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/logger/nulllogger.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/logger/package.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/typecons.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/file.lo std/format.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/functional.lo std/getopt.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/cstring.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/math/biguintcore.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/math/biguintnoasm.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/math/errorfunction.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/math/gammafunction.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/scopebuffer.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/test/dummyrange.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/test/range.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/test/uda.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/unicode_comp.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/unicode_decomp.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/unicode_grapheme.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/unicode_norm.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/unicode_tables.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/windows/advapi32.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/json.lo std/math.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/mathspecial.lo std/meta.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/mmfile.lo std/net/curl.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/net/isemail.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/numeric.lo std/outbuffer.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/parallelism.lo std/path.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/process.lo std/random.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/range/interfaces.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/range/package.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/range/primitives.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/regex/internal/backtracking.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/regex/internal/generator.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/regex/internal/ir.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/regex/internal/kickstart.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/regex/internal/parser.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/regex/internal/tests.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/regex/internal/thompson.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/regex/package.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/signals.lo std/socket.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/stdint.lo std/stdio.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/string.lo std/system.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/traits.lo std/typecons.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/typetuple.lo std/uni.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/uri.lo std/utf.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/uuid.lo std/variant.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/windows/charset.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/windows/registry.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/windows/syserror.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/xml.lo std/zip.lo \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/zlib.lo
am__objects_2 = $(am__objects_1)
am__objects_3 = $(am__objects_2)
am_libgphobos_la_OBJECTS = $(am__objects_3)
@@ -461,74 +506,75 @@ libgphobos_la_LINK = $(LIBTOOL) --tag=D $(libgphobos_la_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
$(libgphobos_la_LDFLAGS) $(LDFLAGS) -o $@
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@PHOBOS_DSOURCES = etc/c/curl.d etc/c/sqlite3.d etc/c/zlib.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/comparison.d std/algorithm/internal.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/iteration.d std/algorithm/mutation.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/package.d std/algorithm/searching.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/algorithm/setops.d std/algorithm/sorting.d std/array.d std/ascii.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/base64.d std/bigint.d std/bitmanip.d std/compiler.d std/complex.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/concurrency.d std/container/array.d std/container/binaryheap.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/container/dlist.d std/container/package.d std/container/rbtree.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/container/slist.d std/container/util.d std/conv.d std/csv.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/datetime/date.d std/datetime/interval.d std/datetime/package.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/datetime/stopwatch.d std/datetime/systime.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/datetime/timezone.d std/demangle.d std/digest/crc.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/digest/digest.d std/digest/hmac.d std/digest/md.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/digest/murmurhash.d std/digest/package.d std/digest/ripemd.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/digest/sha.d std/encoding.d std/exception.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/affix_allocator.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/allocator_list.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/bitmapped_block.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/bucketizer.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/fallback_allocator.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/free_list.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/free_tree.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/kernighan_ritchie.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/null_allocator.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/package.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/quantizer.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/region.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/scoped_allocator.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/segregator.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/building_blocks/stats_collector.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/common.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/gc_allocator.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/mallocator.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/mmap_allocator.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/package.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/showcase.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/allocator/typed.d std/experimental/checkedint.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/logger/core.d std/experimental/logger/filelogger.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/logger/multilogger.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/logger/nulllogger.d std/experimental/logger/package.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/experimental/typecons.d std/file.d std/format.d std/functional.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/getopt.d std/internal/cstring.d std/internal/math/biguintcore.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/math/biguintnoasm.d std/internal/math/errorfunction.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/math/gammafunction.d std/internal/scopebuffer.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/test/dummyrange.d std/internal/test/range.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/test/uda.d std/internal/unicode_comp.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/unicode_decomp.d std/internal/unicode_grapheme.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/unicode_norm.d std/internal/unicode_tables.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/internal/windows/advapi32.d std/json.d std/math.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/mathspecial.d std/meta.d std/mmfile.d std/net/curl.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/net/isemail.d std/numeric.d std/outbuffer.d std/parallelism.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/path.d std/process.d std/random.d std/range/interfaces.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/range/package.d std/range/primitives.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/regex/internal/backtracking.d std/regex/internal/generator.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/regex/internal/ir.d std/regex/internal/kickstart.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/regex/internal/parser.d std/regex/internal/tests.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/regex/internal/thompson.d std/regex/package.d std/signals.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/socket.d std/stdint.d std/stdio.d std/string.d std/system.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/traits.d std/typecons.d std/typetuple.d std/uni.d std/uri.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/utf.d std/uuid.d std/variant.d std/windows/charset.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/windows/registry.d std/windows/syserror.d std/xml.d std/zip.d \
+@ENABLE_LIBDRUNTIME_ONLY_FALSE@ std/zlib.d
+
# Source file definitions. Boring stuff, auto-generated with
# https://gist.github.com/jpf91/8744acebc9dcf1e9d1a35cdff20afbb2
# Can't use wildcards here:
# https://www.gnu.org/software/automake/manual/html_node/Wildcards.html
-PHOBOS_DSOURCES = etc/c/curl.d etc/c/sqlite3.d etc/c/zlib.d \
- std/algorithm/comparison.d std/algorithm/internal.d \
- std/algorithm/iteration.d std/algorithm/mutation.d \
- std/algorithm/package.d std/algorithm/searching.d \
- std/algorithm/setops.d std/algorithm/sorting.d std/array.d std/ascii.d \
- std/base64.d std/bigint.d std/bitmanip.d std/compiler.d std/complex.d \
- std/concurrency.d std/container/array.d std/container/binaryheap.d \
- std/container/dlist.d std/container/package.d std/container/rbtree.d \
- std/container/slist.d std/container/util.d std/conv.d std/csv.d \
- std/datetime/date.d std/datetime/interval.d std/datetime/package.d \
- std/datetime/stopwatch.d std/datetime/systime.d \
- std/datetime/timezone.d std/demangle.d std/digest/crc.d \
- std/digest/digest.d std/digest/hmac.d std/digest/md.d \
- std/digest/murmurhash.d std/digest/package.d std/digest/ripemd.d \
- std/digest/sha.d std/encoding.d std/exception.d \
- std/experimental/allocator/building_blocks/affix_allocator.d \
- std/experimental/allocator/building_blocks/allocator_list.d \
- std/experimental/allocator/building_blocks/bitmapped_block.d \
- std/experimental/allocator/building_blocks/bucketizer.d \
- std/experimental/allocator/building_blocks/fallback_allocator.d \
- std/experimental/allocator/building_blocks/free_list.d \
- std/experimental/allocator/building_blocks/free_tree.d \
- std/experimental/allocator/building_blocks/kernighan_ritchie.d \
- std/experimental/allocator/building_blocks/null_allocator.d \
- std/experimental/allocator/building_blocks/package.d \
- std/experimental/allocator/building_blocks/quantizer.d \
- std/experimental/allocator/building_blocks/region.d \
- std/experimental/allocator/building_blocks/scoped_allocator.d \
- std/experimental/allocator/building_blocks/segregator.d \
- std/experimental/allocator/building_blocks/stats_collector.d \
- std/experimental/allocator/common.d \
- std/experimental/allocator/gc_allocator.d \
- std/experimental/allocator/mallocator.d \
- std/experimental/allocator/mmap_allocator.d \
- std/experimental/allocator/package.d \
- std/experimental/allocator/showcase.d \
- std/experimental/allocator/typed.d std/experimental/checkedint.d \
- std/experimental/logger/core.d std/experimental/logger/filelogger.d \
- std/experimental/logger/multilogger.d \
- std/experimental/logger/nulllogger.d std/experimental/logger/package.d \
- std/experimental/typecons.d std/file.d std/format.d std/functional.d \
- std/getopt.d std/internal/cstring.d std/internal/math/biguintcore.d \
- std/internal/math/biguintnoasm.d std/internal/math/errorfunction.d \
- std/internal/math/gammafunction.d std/internal/scopebuffer.d \
- std/internal/test/dummyrange.d std/internal/test/range.d \
- std/internal/test/uda.d std/internal/unicode_comp.d \
- std/internal/unicode_decomp.d std/internal/unicode_grapheme.d \
- std/internal/unicode_norm.d std/internal/unicode_tables.d \
- std/internal/windows/advapi32.d std/json.d std/math.d \
- std/mathspecial.d std/meta.d std/mmfile.d std/net/curl.d \
- std/net/isemail.d std/numeric.d std/outbuffer.d std/parallelism.d \
- std/path.d std/process.d std/random.d std/range/interfaces.d \
- std/range/package.d std/range/primitives.d \
- std/regex/internal/backtracking.d std/regex/internal/generator.d \
- std/regex/internal/ir.d std/regex/internal/kickstart.d \
- std/regex/internal/parser.d std/regex/internal/tests.d \
- std/regex/internal/thompson.d std/regex/package.d std/signals.d \
- std/socket.d std/stdint.d std/stdio.d std/string.d std/system.d \
- std/traits.d std/typecons.d std/typetuple.d std/uni.d std/uri.d \
- std/utf.d std/uuid.d std/variant.d std/windows/charset.d \
- std/windows/registry.d std/windows/syserror.d std/xml.d std/zip.d \
- std/zlib.d
-
+@ENABLE_LIBDRUNTIME_ONLY_TRUE@PHOBOS_DSOURCES =
all: all-am
.SUFFIXES:
diff --git a/libphobos/testsuite/testsuite_flags.in b/libphobos/testsuite/testsuite_flags.in
index c5dcac2054f..43e42810434 100755
--- a/libphobos/testsuite/testsuite_flags.in
+++ b/libphobos/testsuite/testsuite_flags.in
@@ -35,8 +35,11 @@ case ${query} in
GDCPATHS_default="-nostdinc"
GDCPATHS_config="-B${BUILD_DIR}/src
-I${BUILD_DIR}/libdruntime
- -I${SRC_DIR}/libdruntime
- -I${SRC_DIR}/src"
+ -I${SRC_DIR}/libdruntime"
+ # Include phobos in search path if compiling in library.
+ if [ "x@ENABLE_LIBDRUNTIME_ONLY_FALSE@" = "x" ]; then
+ GDCPATHS_config="${GDCPATHS_config} -I${SRC_DIR}/src"
+ fi
echo ${GDCPATHS_default} ${GDCPATHS_config}
;;
--gdcldflags)