[committed] libphobos: Remove --enable-druntime-gc configure option.

Iain Buclaw ibuclaw@gdcproject.org
Thu Apr 9 15:14:34 GMT 2020


Hi,

This is yet another old option that would have been somewhat useful back
before the D front-end implementation was able to support compiling
without the Druntime library.

Now however, -fno-druntime makes the gcstub package redundant, so the
option has been removed, along with the package itself.

Bootstrapped and regression tested on x86_64-linux-gnu, and committed to
mainline.

Regards
Iain

---
libphobos/ChangeLog:

	* configure: Regenerate.
	* libdruntime/Makefile.am (ALL_DRUNTIME_INSTALL_DSOURCES): Remove
	DRUNTIME_DSOURCES_GC and DRUNTIME_DSOURCES_GCSTUB.
	(DRUNTIME_DSOURCES): Add gc/*.d sources.
	(DRUNTIME_DSOURCES_GC): Remove.
	(DRUNTIME_DSOURCES_GCSTUB): Remove.
	* libdruntime/Makefile.in: Regenerate.
	* libdruntime/gcstub/gc.d: Remove.
	* m4/druntime.m4 (DRUNTIME_GC): Remove.
---
 libphobos/configure               |  31 +--
 libphobos/libdruntime/Makefile.am |  17 +-
 libphobos/libdruntime/Makefile.in | 182 +++++++-------
 libphobos/libdruntime/gcstub/gc.d | 388 ------------------------------
 libphobos/m4/druntime.m4          |  16 --
 5 files changed, 87 insertions(+), 547 deletions(-)
 delete mode 100644 libphobos/libdruntime/gcstub/gc.d

diff --git a/libphobos/configure b/libphobos/configure
index af597b2525b..a6f5aec2bfd 100755
--- a/libphobos/configure
+++ b/libphobos/configure
@@ -701,8 +701,6 @@ DRUNTIME_CPU_ARM_FALSE
 DRUNTIME_CPU_ARM_TRUE
 DRUNTIME_CPU_AARCH64_FALSE
 DRUNTIME_CPU_AARCH64_TRUE
-DRUNTIME_GC_ENABLE_FALSE
-DRUNTIME_GC_ENABLE_TRUE
 libphobos_srcdir
 libphobos_builddir
 get_gcc_base_ver
@@ -835,7 +833,6 @@ with_gnu_ld
 enable_libtool_lock
 with_gcc_major_version_only
 enable_werror
-enable_druntime_gc
 with_libatomic
 with_libbacktrace
 with_target_system_zlib
@@ -1485,7 +1482,6 @@ Optional Features:
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-werror         turns on -Werror [default=no]
-  --enable-druntime-gc    enable D runtime garbage collector (default: yes)
   --enable-version-specific-runtime-libs
                           Specify that runtime libraries should be installed
                           in a compiler-specific directory
@@ -11649,7 +11645,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11652 "configure"
+#line 11648 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11755,7 +11751,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11758 "configure"
+#line 11754 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13981,24 +13977,7 @@ fi
       WERROR_FLAG="-Werror"
   fi
 
-
-    # Check whether --enable-druntime-gc was given.
-if test "${enable_druntime_gc+set}" = set; then :
-  enableval=$enable_druntime_gc; enable_druntime_gc=no
-else
-  enable_druntime_gc=yes
-fi
-
-
-   if test "$enable_druntime_gc" = "yes"; then
-  DRUNTIME_GC_ENABLE_TRUE=
-  DRUNTIME_GC_ENABLE_FALSE='#'
-else
-  DRUNTIME_GC_ENABLE_TRUE='#'
-  DRUNTIME_GC_ENABLE_FALSE=
-fi
-
-
+DRUNTIME_GC
 
   druntime_target_cpu_parsed=""
   case "$target_cpu" in
@@ -15510,10 +15489,6 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
   as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${DRUNTIME_GC_ENABLE_TRUE}" && test -z "${DRUNTIME_GC_ENABLE_FALSE}"; then
-  as_fn_error $? "conditional \"DRUNTIME_GC_ENABLE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${DRUNTIME_CPU_AARCH64_TRUE}" && test -z "${DRUNTIME_CPU_AARCH64_FALSE}"; then
   as_fn_error $? "conditional \"DRUNTIME_CPU_AARCH64\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/libphobos/libdruntime/Makefile.am b/libphobos/libdruntime/Makefile.am
index c7b03a5967d..c1c446d14fd 100644
--- a/libphobos/libdruntime/Makefile.am
+++ b/libphobos/libdruntime/Makefile.am
@@ -28,7 +28,6 @@ AM_DFLAGS= \
 
 # Install all D and DI files
 ALL_DRUNTIME_INSTALL_DSOURCES = $(DRUNTIME_DSOURCES) \
-	$(DRUNTIME_DSOURCES_GC) $(DRUNTIME_DSOURCES_GCSTUB) \
 	$(DRUNTIME_DSOURCES_BIONIC) $(DRUNTIME_DSOURCES_DARWIN) \
 	$(DRUNTIME_DSOURCES_DRAGONFLYBSD) $(DRUNTIME_DSOURCES_FREEBSD) \
 	$(DRUNTIME_DSOURCES_LINUX) $(DRUNTIME_DSOURCES_NETBSD) \
@@ -40,12 +39,6 @@ ALL_DRUNTIME_INSTALL_DSOURCES = $(DRUNTIME_DSOURCES) \
 # Setup source files depending on configure
 DRUNTIME_SOURCES_CONFIGURED =
 
-# GC sources
-if DRUNTIME_GC_ENABLE
-    DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_GC)
-else
-    DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_GCSTUB)
-endif
 # OS specific sources
 if DRUNTIME_OS_POSIX
     DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_POSIX)
@@ -168,7 +161,9 @@ DRUNTIME_DSOURCES = core/atomic.d core/attribute.d core/bitop.d \
 	core/stdc/wctype.d core/sync/barrier.d core/sync/condition.d \
 	core/sync/config.d core/sync/exception.d core/sync/mutex.d \
 	core/sync/rwmutex.d core/sync/semaphore.d core/thread.d core/time.d \
-	core/vararg.d gcc/attribute.d gcc/backtrace.d gcc/builtins.d gcc/deh.d \
+	core/vararg.d gc/bits.d gc/config.d gc/gcinterface.d \
+	gc/impl/conservative/gc.d gc/impl/manual/gc.d gc/os.d gc/pooltable.d \
+	gc/proxy.d gcc/attribute.d gcc/backtrace.d gcc/builtins.d gcc/deh.d \
 	gcc/emutls.d gcc/gthread.d gcc/sections/android.d \
 	gcc/sections/elf_shared.d gcc/sections/osx.d gcc/sections/package.d \
 	gcc/sections/win32.d gcc/sections/win64.d gcc/unwind/arm.d \
@@ -199,12 +194,6 @@ DRUNTIME_DSOURCES = core/atomic.d core/attribute.d core/bitop.d \
 DRUNTIME_DSOURCES_STDCXX = core/stdcpp/exception.d \
 	core/stdcpp/typeinfo.d
 
-DRUNTIME_DSOURCES_GC = gc/bits.d gc/config.d gc/gcinterface.d \
-	gc/impl/conservative/gc.d gc/impl/manual/gc.d gc/os.d gc/pooltable.d \
-	gc/proxy.d
-
-DRUNTIME_DSOURCES_GCSTUB = gcstub/gc.d
-
 DRUNTIME_DSOURCES_BIONIC = core/sys/bionic/fcntl.d \
 	core/sys/bionic/string.d core/sys/bionic/unistd.d
 
diff --git a/libphobos/libdruntime/Makefile.in b/libphobos/libdruntime/Makefile.in
index e0688e25c81..9cb3b60520d 100644
--- a/libphobos/libdruntime/Makefile.in
+++ b/libphobos/libdruntime/Makefile.in
@@ -108,30 +108,27 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 
-# GC sources
-@DRUNTIME_GC_ENABLE_TRUE@am__append_1 = $(DRUNTIME_DSOURCES_GC)
-@DRUNTIME_GC_ENABLE_FALSE@am__append_2 = $(DRUNTIME_DSOURCES_GCSTUB)
 # OS specific sources
-@DRUNTIME_OS_POSIX_TRUE@am__append_3 = $(DRUNTIME_DSOURCES_POSIX)
-@DRUNTIME_OS_DARWIN_TRUE@am__append_4 = $(DRUNTIME_DSOURCES_DARWIN)
-@DRUNTIME_OS_DRAGONFLYBSD_TRUE@am__append_5 = $(DRUNTIME_DSOURCES_DRAGONFLYBSD)
-@DRUNTIME_OS_ANDROID_TRUE@am__append_6 = $(DRUNTIME_DSOURCES_BIONIC)
-@DRUNTIME_OS_FREEBSD_TRUE@am__append_7 = $(DRUNTIME_DSOURCES_FREEBSD)
-@DRUNTIME_OS_NETBSD_TRUE@am__append_8 = $(DRUNTIME_DSOURCES_NETBSD)
-@DRUNTIME_OS_OPENBSD_TRUE@am__append_9 = $(DRUNTIME_DSOURCES_OPENBSD)
-@DRUNTIME_OS_LINUX_TRUE@am__append_10 = $(DRUNTIME_DSOURCES_LINUX)
-@DRUNTIME_OS_MINGW_TRUE@am__append_11 = $(DRUNTIME_DSOURCES_WINDOWS)
-@DRUNTIME_OS_SOLARIS_TRUE@am__append_12 = $(DRUNTIME_DSOURCES_SOLARIS)
+@DRUNTIME_OS_POSIX_TRUE@am__append_1 = $(DRUNTIME_DSOURCES_POSIX)
+@DRUNTIME_OS_DARWIN_TRUE@am__append_2 = $(DRUNTIME_DSOURCES_DARWIN)
+@DRUNTIME_OS_DRAGONFLYBSD_TRUE@am__append_3 = $(DRUNTIME_DSOURCES_DRAGONFLYBSD)
+@DRUNTIME_OS_ANDROID_TRUE@am__append_4 = $(DRUNTIME_DSOURCES_BIONIC)
+@DRUNTIME_OS_FREEBSD_TRUE@am__append_5 = $(DRUNTIME_DSOURCES_FREEBSD)
+@DRUNTIME_OS_NETBSD_TRUE@am__append_6 = $(DRUNTIME_DSOURCES_NETBSD)
+@DRUNTIME_OS_OPENBSD_TRUE@am__append_7 = $(DRUNTIME_DSOURCES_OPENBSD)
+@DRUNTIME_OS_LINUX_TRUE@am__append_8 = $(DRUNTIME_DSOURCES_LINUX)
+@DRUNTIME_OS_MINGW_TRUE@am__append_9 = $(DRUNTIME_DSOURCES_WINDOWS)
+@DRUNTIME_OS_SOLARIS_TRUE@am__append_10 = $(DRUNTIME_DSOURCES_SOLARIS)
 # CPU specific sources
-@DRUNTIME_CPU_AARCH64_TRUE@am__append_13 = config/aarch64/switchcontext.S
-@DRUNTIME_CPU_ARM_TRUE@am__append_14 = config/arm/switchcontext.S
-@DRUNTIME_CPU_MIPS_TRUE@am__append_15 = config/mips/switchcontext.S
-@DRUNTIME_CPU_POWERPC_TRUE@am__append_16 = config/powerpc/switchcontext.S
-@DRUNTIME_CPU_POWERPC64_TRUE@am__append_17 = config/powerpc64/callwithstack.S
-@DRUNTIME_CPU_X86_TRUE@@DRUNTIME_OS_MINGW_TRUE@am__append_18 = config/mingw/switchcontext.S
-@DRUNTIME_CPU_X86_TRUE@@DRUNTIME_OS_MINGW_FALSE@am__append_19 = config/x86/switchcontext.S
-@DRUNTIME_CPU_SYSTEMZ_TRUE@am__append_20 = config/systemz/get_tls_offset.S
-@DRUNTIME_CPU_S390_TRUE@am__append_21 = config/s390/get_tls_offset.S
+@DRUNTIME_CPU_AARCH64_TRUE@am__append_11 = config/aarch64/switchcontext.S
+@DRUNTIME_CPU_ARM_TRUE@am__append_12 = config/arm/switchcontext.S
+@DRUNTIME_CPU_MIPS_TRUE@am__append_13 = config/mips/switchcontext.S
+@DRUNTIME_CPU_POWERPC_TRUE@am__append_14 = config/powerpc/switchcontext.S
+@DRUNTIME_CPU_POWERPC64_TRUE@am__append_15 = config/powerpc64/callwithstack.S
+@DRUNTIME_CPU_X86_TRUE@@DRUNTIME_OS_MINGW_TRUE@am__append_16 = config/mingw/switchcontext.S
+@DRUNTIME_CPU_X86_TRUE@@DRUNTIME_OS_MINGW_FALSE@am__append_17 = config/x86/switchcontext.S
+@DRUNTIME_CPU_SYSTEMZ_TRUE@am__append_18 = config/systemz/get_tls_offset.S
+@DRUNTIME_CPU_S390_TRUE@am__append_19 = config/s390/get_tls_offset.S
 subdir = libdruntime
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
@@ -205,7 +202,9 @@ am__objects_1 = core/atomic.lo core/attribute.lo core/bitop.lo \
 	core/sync/condition.lo core/sync/config.lo \
 	core/sync/exception.lo core/sync/mutex.lo core/sync/rwmutex.lo \
 	core/sync/semaphore.lo core/thread.lo core/time.lo \
-	core/vararg.lo gcc/attribute.lo gcc/backtrace.lo \
+	core/vararg.lo gc/bits.lo gc/config.lo gc/gcinterface.lo \
+	gc/impl/conservative/gc.lo gc/impl/manual/gc.lo gc/os.lo \
+	gc/pooltable.lo gc/proxy.lo gcc/attribute.lo gcc/backtrace.lo \
 	gcc/builtins.lo gcc/deh.lo gcc/emutls.lo gcc/gthread.lo \
 	gcc/sections/android.lo gcc/sections/elf_shared.lo \
 	gcc/sections/osx.lo gcc/sections/package.lo \
@@ -241,13 +240,7 @@ am__objects_1 = core/atomic.lo core/attribute.lo core/bitop.lo \
 	rt/util/container/treap.lo rt/util/random.lo \
 	rt/util/typeinfo.lo rt/util/utf.lo
 am__objects_2 = core/stdc/libgdruntime_la-errno_.lo
-am__objects_3 = gc/bits.lo gc/config.lo gc/gcinterface.lo \
-	gc/impl/conservative/gc.lo gc/impl/manual/gc.lo gc/os.lo \
-	gc/pooltable.lo gc/proxy.lo
-@DRUNTIME_GC_ENABLE_TRUE@am__objects_4 = $(am__objects_3)
-am__objects_5 = gcstub/gc.lo
-@DRUNTIME_GC_ENABLE_FALSE@am__objects_6 = $(am__objects_5)
-am__objects_7 = core/sys/posix/aio.lo core/sys/posix/arpa/inet.lo \
+am__objects_3 = core/sys/posix/aio.lo core/sys/posix/arpa/inet.lo \
 	core/sys/posix/config.lo core/sys/posix/dirent.lo \
 	core/sys/posix/dlfcn.lo core/sys/posix/fcntl.lo \
 	core/sys/posix/grp.lo core/sys/posix/iconv.lo \
@@ -272,8 +265,8 @@ am__objects_7 = core/sys/posix/aio.lo core/sys/posix/arpa/inet.lo \
 	core/sys/posix/syslog.lo core/sys/posix/termios.lo \
 	core/sys/posix/time.lo core/sys/posix/ucontext.lo \
 	core/sys/posix/unistd.lo core/sys/posix/utime.lo
-@DRUNTIME_OS_POSIX_TRUE@am__objects_8 = $(am__objects_7)
-am__objects_9 = core/sys/darwin/crt_externs.lo \
+@DRUNTIME_OS_POSIX_TRUE@am__objects_4 = $(am__objects_3)
+am__objects_5 = core/sys/darwin/crt_externs.lo \
 	core/sys/darwin/dlfcn.lo core/sys/darwin/execinfo.lo \
 	core/sys/darwin/mach/dyld.lo core/sys/darwin/mach/getsect.lo \
 	core/sys/darwin/mach/kern_return.lo \
@@ -283,8 +276,8 @@ am__objects_9 = core/sys/darwin/crt_externs.lo \
 	core/sys/darwin/netinet/in_.lo core/sys/darwin/pthread.lo \
 	core/sys/darwin/string.lo core/sys/darwin/sys/cdefs.lo \
 	core/sys/darwin/sys/event.lo core/sys/darwin/sys/mman.lo
-@DRUNTIME_OS_DARWIN_TRUE@am__objects_10 = $(am__objects_9)
-am__objects_11 = core/sys/dragonflybsd/dlfcn.lo \
+@DRUNTIME_OS_DARWIN_TRUE@am__objects_6 = $(am__objects_5)
+am__objects_7 = core/sys/dragonflybsd/dlfcn.lo \
 	core/sys/dragonflybsd/execinfo.lo \
 	core/sys/dragonflybsd/netinet/in_.lo \
 	core/sys/dragonflybsd/pthread_np.lo \
@@ -301,11 +294,11 @@ am__objects_11 = core/sys/dragonflybsd/dlfcn.lo \
 	core/sys/dragonflybsd/sys/mman.lo \
 	core/sys/dragonflybsd/sys/socket.lo \
 	core/sys/dragonflybsd/time.lo
-@DRUNTIME_OS_DRAGONFLYBSD_TRUE@am__objects_12 = $(am__objects_11)
-am__objects_13 = core/sys/bionic/fcntl.lo core/sys/bionic/string.lo \
+@DRUNTIME_OS_DRAGONFLYBSD_TRUE@am__objects_8 = $(am__objects_7)
+am__objects_9 = core/sys/bionic/fcntl.lo core/sys/bionic/string.lo \
 	core/sys/bionic/unistd.lo
-@DRUNTIME_OS_ANDROID_TRUE@am__objects_14 = $(am__objects_13)
-am__objects_15 = core/sys/freebsd/dlfcn.lo \
+@DRUNTIME_OS_ANDROID_TRUE@am__objects_10 = $(am__objects_9)
+am__objects_11 = core/sys/freebsd/dlfcn.lo \
 	core/sys/freebsd/execinfo.lo core/sys/freebsd/netinet/in_.lo \
 	core/sys/freebsd/pthread_np.lo core/sys/freebsd/string.lo \
 	core/sys/freebsd/sys/_bitset.lo \
@@ -316,23 +309,23 @@ am__objects_15 = core/sys/freebsd/dlfcn.lo \
 	core/sys/freebsd/sys/event.lo core/sys/freebsd/sys/link_elf.lo \
 	core/sys/freebsd/sys/mman.lo core/sys/freebsd/sys/mount.lo \
 	core/sys/freebsd/time.lo core/sys/freebsd/unistd.lo
-@DRUNTIME_OS_FREEBSD_TRUE@am__objects_16 = $(am__objects_15)
-am__objects_17 = core/sys/netbsd/dlfcn.lo core/sys/netbsd/execinfo.lo \
+@DRUNTIME_OS_FREEBSD_TRUE@am__objects_12 = $(am__objects_11)
+am__objects_13 = core/sys/netbsd/dlfcn.lo core/sys/netbsd/execinfo.lo \
 	core/sys/netbsd/string.lo core/sys/netbsd/sys/elf.lo \
 	core/sys/netbsd/sys/elf32.lo core/sys/netbsd/sys/elf64.lo \
 	core/sys/netbsd/sys/elf_common.lo core/sys/netbsd/sys/event.lo \
 	core/sys/netbsd/sys/featuretest.lo \
 	core/sys/netbsd/sys/link_elf.lo core/sys/netbsd/sys/mman.lo \
 	core/sys/netbsd/time.lo
-@DRUNTIME_OS_NETBSD_TRUE@am__objects_18 = $(am__objects_17)
-am__objects_19 = core/sys/openbsd/dlfcn.lo core/sys/openbsd/string.lo \
+@DRUNTIME_OS_NETBSD_TRUE@am__objects_14 = $(am__objects_13)
+am__objects_15 = core/sys/openbsd/dlfcn.lo core/sys/openbsd/string.lo \
 	core/sys/openbsd/sys/cdefs.lo core/sys/openbsd/sys/elf.lo \
 	core/sys/openbsd/sys/elf32.lo core/sys/openbsd/sys/elf64.lo \
 	core/sys/openbsd/sys/elf_common.lo \
 	core/sys/openbsd/sys/link_elf.lo core/sys/openbsd/sys/mman.lo \
 	core/sys/openbsd/time.lo
-@DRUNTIME_OS_OPENBSD_TRUE@am__objects_20 = $(am__objects_19)
-am__objects_21 = core/sys/linux/config.lo core/sys/linux/dlfcn.lo \
+@DRUNTIME_OS_OPENBSD_TRUE@am__objects_16 = $(am__objects_15)
+am__objects_17 = core/sys/linux/config.lo core/sys/linux/dlfcn.lo \
 	core/sys/linux/elf.lo core/sys/linux/epoll.lo \
 	core/sys/linux/errno.lo core/sys/linux/execinfo.lo \
 	core/sys/linux/fcntl.lo core/sys/linux/ifaddrs.lo \
@@ -348,8 +341,8 @@ am__objects_21 = core/sys/linux/config.lo core/sys/linux/dlfcn.lo \
 	core/sys/linux/termios.lo core/sys/linux/time.lo \
 	core/sys/linux/timerfd.lo core/sys/linux/tipc.lo \
 	core/sys/linux/unistd.lo
-@DRUNTIME_OS_LINUX_TRUE@am__objects_22 = $(am__objects_21)
-am__objects_23 = core/sys/windows/accctrl.lo \
+@DRUNTIME_OS_LINUX_TRUE@am__objects_18 = $(am__objects_17)
+am__objects_19 = core/sys/windows/accctrl.lo \
 	core/sys/windows/aclapi.lo core/sys/windows/aclui.lo \
 	core/sys/windows/basetsd.lo core/sys/windows/basetyps.lo \
 	core/sys/windows/cderr.lo core/sys/windows/cguid.lo \
@@ -432,8 +425,8 @@ am__objects_23 = core/sys/windows/accctrl.lo \
 	core/sys/windows/winspool.lo core/sys/windows/winsvc.lo \
 	core/sys/windows/winuser.lo core/sys/windows/winver.lo \
 	core/sys/windows/wtsapi32.lo core/sys/windows/wtypes.lo
-@DRUNTIME_OS_MINGW_TRUE@am__objects_24 = $(am__objects_23)
-am__objects_25 = core/sys/solaris/dlfcn.lo core/sys/solaris/elf.lo \
+@DRUNTIME_OS_MINGW_TRUE@am__objects_20 = $(am__objects_19)
+am__objects_21 = core/sys/solaris/dlfcn.lo core/sys/solaris/elf.lo \
 	core/sys/solaris/execinfo.lo core/sys/solaris/libelf.lo \
 	core/sys/solaris/link.lo core/sys/solaris/sys/elf.lo \
 	core/sys/solaris/sys/elf_386.lo \
@@ -444,27 +437,27 @@ am__objects_25 = core/sys/solaris/dlfcn.lo core/sys/solaris/elf.lo \
 	core/sys/solaris/sys/priocntl.lo \
 	core/sys/solaris/sys/procset.lo core/sys/solaris/sys/types.lo \
 	core/sys/solaris/time.lo
-@DRUNTIME_OS_SOLARIS_TRUE@am__objects_26 = $(am__objects_25)
-@DRUNTIME_CPU_AARCH64_TRUE@am__objects_27 = config/aarch64/libgdruntime_la-switchcontext.lo
-@DRUNTIME_CPU_ARM_TRUE@am__objects_28 = config/arm/libgdruntime_la-switchcontext.lo
-@DRUNTIME_CPU_MIPS_TRUE@am__objects_29 = config/mips/libgdruntime_la-switchcontext.lo
-@DRUNTIME_CPU_POWERPC_TRUE@am__objects_30 = config/powerpc/libgdruntime_la-switchcontext.lo
-@DRUNTIME_CPU_POWERPC64_TRUE@am__objects_31 = config/powerpc64/libgdruntime_la-callwithstack.lo
-@DRUNTIME_CPU_X86_TRUE@@DRUNTIME_OS_MINGW_TRUE@am__objects_32 = config/mingw/libgdruntime_la-switchcontext.lo
-@DRUNTIME_CPU_X86_TRUE@@DRUNTIME_OS_MINGW_FALSE@am__objects_33 = config/x86/libgdruntime_la-switchcontext.lo
-@DRUNTIME_CPU_SYSTEMZ_TRUE@am__objects_34 = config/systemz/libgdruntime_la-get_tls_offset.lo
-@DRUNTIME_CPU_S390_TRUE@am__objects_35 = config/s390/libgdruntime_la-get_tls_offset.lo
-am__objects_36 = $(am__objects_4) $(am__objects_6) $(am__objects_8) \
+@DRUNTIME_OS_SOLARIS_TRUE@am__objects_22 = $(am__objects_21)
+@DRUNTIME_CPU_AARCH64_TRUE@am__objects_23 = config/aarch64/libgdruntime_la-switchcontext.lo
+@DRUNTIME_CPU_ARM_TRUE@am__objects_24 = config/arm/libgdruntime_la-switchcontext.lo
+@DRUNTIME_CPU_MIPS_TRUE@am__objects_25 = config/mips/libgdruntime_la-switchcontext.lo
+@DRUNTIME_CPU_POWERPC_TRUE@am__objects_26 = config/powerpc/libgdruntime_la-switchcontext.lo
+@DRUNTIME_CPU_POWERPC64_TRUE@am__objects_27 = config/powerpc64/libgdruntime_la-callwithstack.lo
+@DRUNTIME_CPU_X86_TRUE@@DRUNTIME_OS_MINGW_TRUE@am__objects_28 = config/mingw/libgdruntime_la-switchcontext.lo
+@DRUNTIME_CPU_X86_TRUE@@DRUNTIME_OS_MINGW_FALSE@am__objects_29 = config/x86/libgdruntime_la-switchcontext.lo
+@DRUNTIME_CPU_SYSTEMZ_TRUE@am__objects_30 = config/systemz/libgdruntime_la-get_tls_offset.lo
+@DRUNTIME_CPU_S390_TRUE@am__objects_31 = config/s390/libgdruntime_la-get_tls_offset.lo
+am__objects_32 = $(am__objects_4) $(am__objects_6) $(am__objects_8) \
 	$(am__objects_10) $(am__objects_12) $(am__objects_14) \
 	$(am__objects_16) $(am__objects_18) $(am__objects_20) \
-	$(am__objects_22) $(am__objects_24) $(am__objects_26) \
-	$(am__objects_27) $(am__objects_28) $(am__objects_29) \
-	$(am__objects_30) $(am__objects_31) $(am__objects_32) \
-	$(am__objects_33) $(am__objects_34) $(am__objects_35)
-am__objects_37 = gcc/config.lo gcc/libbacktrace.lo
-am__objects_38 = $(am__objects_1) $(am__objects_2) $(am__objects_36) \
-	$(am__objects_37)
-am_libgdruntime_la_OBJECTS = $(am__objects_38)
+	$(am__objects_22) $(am__objects_23) $(am__objects_24) \
+	$(am__objects_25) $(am__objects_26) $(am__objects_27) \
+	$(am__objects_28) $(am__objects_29) $(am__objects_30) \
+	$(am__objects_31)
+am__objects_33 = gcc/config.lo gcc/libbacktrace.lo
+am__objects_34 = $(am__objects_1) $(am__objects_2) $(am__objects_32) \
+	$(am__objects_33)
+am_libgdruntime_la_OBJECTS = $(am__objects_34)
 libgdruntime_la_OBJECTS = $(am_libgdruntime_la_OBJECTS)
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -721,7 +714,6 @@ AM_DFLAGS = \
 
 # Install all D and DI files
 ALL_DRUNTIME_INSTALL_DSOURCES = $(DRUNTIME_DSOURCES) \
-	$(DRUNTIME_DSOURCES_GC) $(DRUNTIME_DSOURCES_GCSTUB) \
 	$(DRUNTIME_DSOURCES_BIONIC) $(DRUNTIME_DSOURCES_DARWIN) \
 	$(DRUNTIME_DSOURCES_DRAGONFLYBSD) $(DRUNTIME_DSOURCES_FREEBSD) \
 	$(DRUNTIME_DSOURCES_LINUX) $(DRUNTIME_DSOURCES_NETBSD) \
@@ -738,8 +730,7 @@ DRUNTIME_SOURCES_CONFIGURED = $(am__append_1) $(am__append_2) \
 	$(am__append_9) $(am__append_10) $(am__append_11) \
 	$(am__append_12) $(am__append_13) $(am__append_14) \
 	$(am__append_15) $(am__append_16) $(am__append_17) \
-	$(am__append_18) $(am__append_19) $(am__append_20) \
-	$(am__append_21)
+	$(am__append_18) $(am__append_19)
 
 # Provide __start_minfo, __stop_minfo if linker doesn't.
 @DRUNTIME_OS_MINFO_BRACKETING_FALSE@DRTSTUFF = gcc/drtbegin.o gcc/drtend.o
@@ -779,7 +770,9 @@ DRUNTIME_DSOURCES = core/atomic.d core/attribute.d core/bitop.d \
 	core/stdc/wctype.d core/sync/barrier.d core/sync/condition.d \
 	core/sync/config.d core/sync/exception.d core/sync/mutex.d \
 	core/sync/rwmutex.d core/sync/semaphore.d core/thread.d core/time.d \
-	core/vararg.d gcc/attribute.d gcc/backtrace.d gcc/builtins.d gcc/deh.d \
+	core/vararg.d gc/bits.d gc/config.d gc/gcinterface.d \
+	gc/impl/conservative/gc.d gc/impl/manual/gc.d gc/os.d gc/pooltable.d \
+	gc/proxy.d gcc/attribute.d gcc/backtrace.d gcc/builtins.d gcc/deh.d \
 	gcc/emutls.d gcc/gthread.d gcc/sections/android.d \
 	gcc/sections/elf_shared.d gcc/sections/osx.d gcc/sections/package.d \
 	gcc/sections/win32.d gcc/sections/win64.d gcc/unwind/arm.d \
@@ -810,11 +803,6 @@ DRUNTIME_DSOURCES = core/atomic.d core/attribute.d core/bitop.d \
 DRUNTIME_DSOURCES_STDCXX = core/stdcpp/exception.d \
 	core/stdcpp/typeinfo.d
 
-DRUNTIME_DSOURCES_GC = gc/bits.d gc/config.d gc/gcinterface.d \
-	gc/impl/conservative/gc.d gc/impl/manual/gc.d gc/os.d gc/pooltable.d \
-	gc/proxy.d
-
-DRUNTIME_DSOURCES_GCSTUB = gcstub/gc.d
 DRUNTIME_DSOURCES_BIONIC = core/sys/bionic/fcntl.d \
 	core/sys/bionic/string.d core/sys/bionic/unistd.d
 
@@ -1132,6 +1120,23 @@ core/sync/semaphore.lo: core/sync/$(am__dirstamp)
 core/thread.lo: core/$(am__dirstamp)
 core/time.lo: core/$(am__dirstamp)
 core/vararg.lo: core/$(am__dirstamp)
+gc/$(am__dirstamp):
+	@$(MKDIR_P) gc
+	@: > gc/$(am__dirstamp)
+gc/bits.lo: gc/$(am__dirstamp)
+gc/config.lo: gc/$(am__dirstamp)
+gc/gcinterface.lo: gc/$(am__dirstamp)
+gc/impl/conservative/$(am__dirstamp):
+	@$(MKDIR_P) gc/impl/conservative
+	@: > gc/impl/conservative/$(am__dirstamp)
+gc/impl/conservative/gc.lo: gc/impl/conservative/$(am__dirstamp)
+gc/impl/manual/$(am__dirstamp):
+	@$(MKDIR_P) gc/impl/manual
+	@: > gc/impl/manual/$(am__dirstamp)
+gc/impl/manual/gc.lo: gc/impl/manual/$(am__dirstamp)
+gc/os.lo: gc/$(am__dirstamp)
+gc/pooltable.lo: gc/$(am__dirstamp)
+gc/proxy.lo: gc/$(am__dirstamp)
 gcc/$(am__dirstamp):
 	@$(MKDIR_P) gcc
 	@: > gcc/$(am__dirstamp)
@@ -1239,27 +1244,6 @@ rt/util/random.lo: rt/util/$(am__dirstamp)
 rt/util/typeinfo.lo: rt/util/$(am__dirstamp)
 rt/util/utf.lo: rt/util/$(am__dirstamp)
 core/stdc/libgdruntime_la-errno_.lo: core/stdc/$(am__dirstamp)
-gc/$(am__dirstamp):
-	@$(MKDIR_P) gc
-	@: > gc/$(am__dirstamp)
-gc/bits.lo: gc/$(am__dirstamp)
-gc/config.lo: gc/$(am__dirstamp)
-gc/gcinterface.lo: gc/$(am__dirstamp)
-gc/impl/conservative/$(am__dirstamp):
-	@$(MKDIR_P) gc/impl/conservative
-	@: > gc/impl/conservative/$(am__dirstamp)
-gc/impl/conservative/gc.lo: gc/impl/conservative/$(am__dirstamp)
-gc/impl/manual/$(am__dirstamp):
-	@$(MKDIR_P) gc/impl/manual
-	@: > gc/impl/manual/$(am__dirstamp)
-gc/impl/manual/gc.lo: gc/impl/manual/$(am__dirstamp)
-gc/os.lo: gc/$(am__dirstamp)
-gc/pooltable.lo: gc/$(am__dirstamp)
-gc/proxy.lo: gc/$(am__dirstamp)
-gcstub/$(am__dirstamp):
-	@$(MKDIR_P) gcstub
-	@: > gcstub/$(am__dirstamp)
-gcstub/gc.lo: gcstub/$(am__dirstamp)
 core/sys/posix/$(am__dirstamp):
 	@$(MKDIR_P) core/sys/posix
 	@: > core/sys/posix/$(am__dirstamp)
@@ -1856,8 +1840,6 @@ mostlyclean-compile:
 	-rm -f gcc/sections/*.lo
 	-rm -f gcc/unwind/*.$(OBJEXT)
 	-rm -f gcc/unwind/*.lo
-	-rm -f gcstub/*.$(OBJEXT)
-	-rm -f gcstub/*.lo
 	-rm -f rt/*.$(OBJEXT)
 	-rm -f rt/*.lo
 	-rm -f rt/typeinfo/*.$(OBJEXT)
@@ -1969,7 +1951,6 @@ clean-libtool:
 	-rm -rf gcc/.libs gcc/_libs
 	-rm -rf gcc/sections/.libs gcc/sections/_libs
 	-rm -rf gcc/unwind/.libs gcc/unwind/_libs
-	-rm -rf gcstub/.libs gcstub/_libs
 	-rm -rf rt/.libs rt/_libs
 	-rm -rf rt/typeinfo/.libs rt/typeinfo/_libs
 	-rm -rf rt/util/.libs rt/util/_libs
@@ -2126,7 +2107,6 @@ distclean-generic:
 	-rm -f gcc/$(am__dirstamp)
 	-rm -f gcc/sections/$(am__dirstamp)
 	-rm -f gcc/unwind/$(am__dirstamp)
-	-rm -f gcstub/$(am__dirstamp)
 	-rm -f rt/$(am__dirstamp)
 	-rm -f rt/typeinfo/$(am__dirstamp)
 	-rm -f rt/util/$(am__dirstamp)
diff --git a/libphobos/libdruntime/gcstub/gc.d b/libphobos/libdruntime/gcstub/gc.d
deleted file mode 100644
index 9124a78ef53..00000000000
--- a/libphobos/libdruntime/gcstub/gc.d
+++ /dev/null
@@ -1,388 +0,0 @@
-/**
- * This module contains a minimal garbage collector implementation according to
- * published requirements.  This library is mostly intended to serve as an
- * example, but it is usable in applications which do not rely on a garbage
- * collector to clean up memory (ie. when dynamic array resizing is not used,
- * and all memory allocated with 'new' is freed deterministically with
- * 'delete').
- *
- * Please note that block attribute data must be tracked, or at a minimum, the
- * FINALIZE bit must be tracked for any allocated memory block because calling
- * rt_finalize on a non-object block can result in an access violation.  In the
- * allocator below, this tracking is done via a leading uint bitmask.  A real
- * allocator may do better to store this data separately, similar to the basic
- * GC.
- *
- * Copyright: Copyright Sean Kelly 2005 - 2009.
- * License:   $(WEB www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
- * Authors:   Sean Kelly
- */
-
-/*          Copyright Sean Kelly 2005 - 2009.
- * Distributed under the Boost Software License, Version 1.0.
- *    (See accompanying file LICENSE or copy at
- *          http://www.boost.org/LICENSE_1_0.txt)
- */
-module gc.gc;
-
-private
-{
-    import core.stdc.stdlib;
-    import core.stdc.stdio;
-
-    static import core.memory;
-    private alias BlkAttr = core.memory.GC.BlkAttr;
-    private alias BlkInfo = core.memory.GC.BlkInfo;
-
-    extern (C) void thread_init();
-    extern (C) void onOutOfMemoryError(void* pretend_sideffect = null) @trusted pure nothrow @nogc; /* dmd @@@BUG11461@@@ */
-
-    struct Proxy
-    {
-        extern (C) void function() gc_enable;
-        extern (C) void function() gc_disable;
-        extern (C) void function() gc_collect;
-        extern (C) void function() gc_minimize;
-
-        extern (C) uint function(void*) gc_getAttr;
-        extern (C) uint function(void*, uint) gc_setAttr;
-        extern (C) uint function(void*, uint) gc_clrAttr;
-
-        extern (C) void*   function(size_t, uint, const TypeInfo) gc_malloc;
-        extern (C) BlkInfo function(size_t, uint, const TypeInfo) gc_qalloc;
-        extern (C) void*   function(size_t, uint, const TypeInfo) gc_calloc;
-        extern (C) void*   function(void*, size_t, uint ba, const TypeInfo) gc_realloc;
-        extern (C) size_t  function(void*, size_t, size_t, const TypeInfo) gc_extend;
-        extern (C) size_t  function(size_t) gc_reserve;
-        extern (C) void    function(void*) gc_free;
-
-        extern (C) void*   function(void*) gc_addrOf;
-        extern (C) size_t  function(void*) gc_sizeOf;
-
-        extern (C) BlkInfo function(void*) gc_query;
-
-        extern (C) void function(void*) gc_addRoot;
-        extern (C) void function(void*, size_t, const TypeInfo ti) gc_addRange;
-
-        extern (C) void function(void*) gc_removeRoot;
-        extern (C) void function(void*) gc_removeRange;
-        extern (C) void function(in void[]) gc_runFinalizers;
-
-        extern (C) bool function() gc_inFinalizer;
-    }
-
-    __gshared Proxy  pthis;
-    __gshared Proxy* proxy;
-
-    void initProxy()
-    {
-        pthis.gc_enable = &gc_enable;
-        pthis.gc_disable = &gc_disable;
-        pthis.gc_collect = &gc_collect;
-        pthis.gc_minimize = &gc_minimize;
-
-        pthis.gc_getAttr = &gc_getAttr;
-        pthis.gc_setAttr = &gc_setAttr;
-        pthis.gc_clrAttr = &gc_clrAttr;
-
-        pthis.gc_malloc = &gc_malloc;
-        pthis.gc_qalloc = &gc_qalloc;
-        pthis.gc_calloc = &gc_calloc;
-        pthis.gc_realloc = &gc_realloc;
-        pthis.gc_extend = &gc_extend;
-        pthis.gc_reserve = &gc_reserve;
-        pthis.gc_free = &gc_free;
-
-        pthis.gc_addrOf = &gc_addrOf;
-        pthis.gc_sizeOf = &gc_sizeOf;
-
-        pthis.gc_query = &gc_query;
-
-        pthis.gc_addRoot = &gc_addRoot;
-        pthis.gc_addRange = &gc_addRange;
-
-        pthis.gc_removeRoot = &gc_removeRoot;
-        pthis.gc_removeRange = &gc_removeRange;
-        pthis.gc_runFinalizers = &gc_runFinalizers;
-
-        pthis.gc_inFinalizer = &gc_inFinalizer;
-    }
-
-    __gshared void** roots  = null;
-    __gshared size_t nroots = 0;
-
-    struct Range
-    {
-        void*  pos;
-        size_t len;
-        TypeInfo ti; // should be tail const, but doesn't exist for references
-    }
-
-    __gshared Range* ranges  = null;
-    __gshared size_t nranges = 0;
-}
-
-extern (C) void gc_init()
-{
-    // NOTE: The GC must initialize the thread library before its first
-    //       collection, and always before returning from gc_init().
-    thread_init();
-    initProxy();
-}
-
-extern (C) void gc_term()
-{
-    free( roots );
-    free( ranges );
-}
-
-extern (C) void gc_enable()
-{
-    if ( proxy is null )
-        return;
-    return proxy.gc_enable();
-}
-
-extern (C) void gc_disable()
-{
-    if ( proxy is null )
-        return;
-    return proxy.gc_disable();
-}
-
-extern (C) void gc_collect()
-{
-    if ( proxy is null )
-        return;
-    return proxy.gc_collect();
-}
-
-extern (C) void gc_minimize()
-{
-    if ( proxy is null )
-        return;
-    return proxy.gc_minimize();
-}
-
-extern (C) uint gc_getAttr( void* p )
-{
-    if ( proxy is null )
-        return 0;
-    return proxy.gc_getAttr( p );
-}
-
-extern (C) uint gc_setAttr( void* p, uint a )
-{
-    if ( proxy is null )
-        return 0;
-    return proxy.gc_setAttr( p, a );
-}
-
-extern (C) uint gc_clrAttr( void* p, uint a )
-{
-    if ( proxy is null )
-        return 0;
-    return proxy.gc_clrAttr( p, a );
-}
-
-extern (C) void* gc_malloc( size_t sz, uint ba = 0, const TypeInfo ti = null )
-{
-    if ( proxy is null )
-    {
-        void* p = malloc( sz );
-
-        if ( sz && p is null )
-            onOutOfMemoryError();
-        return p;
-    }
-    return proxy.gc_malloc( sz, ba, ti );
-}
-
-extern (C) BlkInfo gc_qalloc( size_t sz, uint ba = 0, const TypeInfo ti = null )
-{
-    if ( proxy is null )
-    {
-        BlkInfo retval;
-        retval.base = gc_malloc(sz, ba);
-        retval.size = sz;
-        retval.attr = ba;
-        return retval;
-    }
-    return proxy.gc_qalloc( sz, ba, ti );
-}
-
-extern (C) void* gc_calloc( size_t sz, uint ba = 0, const TypeInfo ti = null )
-{
-    if ( proxy is null )
-    {
-        void* p = calloc( 1, sz );
-
-        if ( sz && p is null )
-            onOutOfMemoryError();
-        return p;
-    }
-    return proxy.gc_calloc( sz, ba, ti );
-}
-
-extern (C) void* gc_realloc( void* p, size_t sz, uint ba = 0, const TypeInfo ti = null )
-{
-    if ( proxy is null )
-    {
-        p = realloc( p, sz );
-
-        if ( sz && p is null )
-            onOutOfMemoryError();
-        return p;
-    }
-    return proxy.gc_realloc( p, sz, ba, ti );
-}
-
-extern (C) size_t gc_extend( void* p, size_t mx, size_t sz, const TypeInfo ti = null )
-{
-    if ( proxy is null )
-        return 0;
-    return proxy.gc_extend( p, mx, sz, ti );
-}
-
-extern (C) size_t gc_reserve( size_t sz )
-{
-    if ( proxy is null )
-        return 0;
-    return proxy.gc_reserve( sz );
-}
-
-extern (C) void gc_free( void* p )
-{
-    if ( proxy is null )
-        return free( p );
-    return proxy.gc_free( p );
-}
-
-extern (C) void* gc_addrOf( void* p )
-{
-    if ( proxy is null )
-        return null;
-    return proxy.gc_addrOf( p );
-}
-
-extern (C) size_t gc_sizeOf( void* p )
-{
-    if ( proxy is null )
-        return 0;
-    return proxy.gc_sizeOf( p );
-}
-
-extern (C) BlkInfo gc_query( void* p )
-{
-    if ( proxy is null )
-        return BlkInfo.init;
-    return proxy.gc_query( p );
-}
-
-extern (C) void gc_addRoot( void* p )
-{
-    if ( proxy is null )
-    {
-        void** r = cast(void**) realloc( roots,
-                                         (nroots+1) * roots[0].sizeof );
-        if ( r is null )
-            onOutOfMemoryError();
-        r[nroots++] = p;
-        roots = r;
-        return;
-    }
-    return proxy.gc_addRoot( p );
-}
-
-extern (C) void gc_addRange( void* p, size_t sz, const TypeInfo ti = null )
-{
-    //printf("gcstub::gc_addRange() proxy = %p\n", proxy);
-    if ( proxy is null )
-    {
-        Range* r = cast(Range*) realloc( ranges,
-                                         (nranges+1) * ranges[0].sizeof );
-        if ( r is null )
-            onOutOfMemoryError();
-        r[nranges].pos = p;
-        r[nranges].len = sz;
-        r[nranges].ti = cast()ti;
-        ranges = r;
-        ++nranges;
-        return;
-    }
-    return proxy.gc_addRange( p, sz, ti );
-}
-
-extern (C) void gc_removeRoot( void *p )
-{
-    if ( proxy is null )
-    {
-        for ( size_t i = 0; i < nroots; ++i )
-        {
-            if ( roots[i] is p )
-            {
-                roots[i] = roots[--nroots];
-                return;
-            }
-        }
-        assert( false );
-    }
-    return proxy.gc_removeRoot( p );
-}
-
-extern (C) void gc_removeRange( void *p )
-{
-    if ( proxy is null )
-    {
-        for ( size_t i = 0; i < nranges; ++i )
-        {
-            if ( ranges[i].pos is p )
-            {
-                ranges[i] = ranges[--nranges];
-                return;
-            }
-        }
-        assert( false );
-    }
-    return proxy.gc_removeRange( p );
-}
-
-extern (C) void gc_runFinalizers( in void[] segment )
-{
-    if ( proxy !is null )
-        proxy.gc_runFinalizers( segment );
-}
-
-extern (C) bool gc_inFinalizer()
-{
-    if ( proxy !is null )
-        return proxy.gc_inFinalizer();
-    return false;
-}
-
-extern (C) Proxy* gc_getProxy()
-{
-    return &pthis;
-}
-
-export extern (C) void gc_setProxy( Proxy* p )
-{
-    if ( proxy !is null )
-    {
-        // TODO: Decide if this is an error condition.
-    }
-    proxy = p;
-    foreach ( r; roots[0 .. nroots] )
-        proxy.gc_addRoot( r );
-    foreach ( r; ranges[0 .. nranges] )
-        proxy.gc_addRange( r.pos, r.len, r.ti );
-}
-
-export extern (C) void gc_clrProxy()
-{
-    foreach ( r; ranges[0 .. nranges] )
-        proxy.gc_removeRange( r.pos );
-    foreach ( r; roots[0 .. nroots] )
-        proxy.gc_removeRoot( r );
-    proxy = null;
-}
diff --git a/libphobos/m4/druntime.m4 b/libphobos/m4/druntime.m4
index 3b6e474488d..7221712a888 100644
--- a/libphobos/m4/druntime.m4
+++ b/libphobos/m4/druntime.m4
@@ -116,19 +116,3 @@ AC_DEFUN([DRUNTIME_INSTALL_DIRECTORIES],
   gdc_include_dir='$(libdir)/gcc/${target_alias}/${gcc_version}/include/d'
   AC_SUBST(gdc_include_dir)
 ])
-
-
-# DRUNTIME_GC
-# -----------
-# Add the --enable-druntime-gc option and create the
-# DRUNTIME_GC_ENABLE conditional
-AC_DEFUN([DRUNTIME_GC],
-[
-  dnl switch between gc and gcstub
-  AC_ARG_ENABLE(druntime-gc,
-    AC_HELP_STRING([--enable-druntime-gc],
-                   [enable D runtime garbage collector (default: yes)]),
-    [enable_druntime_gc=no],[enable_druntime_gc=yes])
-
-  AM_CONDITIONAL([DRUNTIME_GC_ENABLE], [test "$enable_druntime_gc" = "yes"])
-])
-- 
2.20.1



More information about the Gcc-patches mailing list