# 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.

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

# Threading
@USE_THREAD_MODULE@thread threadmodule.c

# The rest of the modules previously listed in this file are built
# by the setup.py script in Python 2.1.
