# This file is transmogrified into Setup.config by config.status.

# The purpose of this file is to conditionally enable certain modules
# based on configure-time options.  Currently thread support and
# garbage collection support are the only two modules so enabled.

@USE_THREAD_MODULE@thread threadmodule.c

# Garbage collection enabled with --with-cycle-gc
@USE_GC_MODULE@gc gcmodule.c

# You may want this to be built as a dynamically loaded module; uncomment
# the following line in that case:

#*shared*

# bsddb module enabled by --with-libdb or presence of db.h
@USE_BSDDB_MODULE@bsddb bsddbmodule.c @HAVE_LIBDB@

