# 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 signal module
@USE_SIGNAL_MODULE@signal signalmodule.c

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