config BR2_PACKAGE_PYTHON3
	bool "python3"
	depends on !BR2_PACKAGE_PYTHON
	depends on BR2_USE_WCHAR
	# uses fork()
	depends on BR2_USE_MMU
	depends on BR2_TOOLCHAIN_HAS_THREADS # libffi
	select BR2_PACKAGE_LIBFFI
	help
	  The python language interpreter.

	  http://www.python.org/

comment "python3 needs a toolchain w/ wchar, threads"
	depends on BR2_USE_MMU
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS

if BR2_PACKAGE_PYTHON3

choice
	prompt "python3 module format to install"
	default BR2_PACKAGE_PYTHON3_PYC_ONLY
	help
	  Select Python module format to install on target (py, pyc or both)

config BR2_PACKAGE_PYTHON3_PY_ONLY
	bool ".py sources only"

config BR2_PACKAGE_PYTHON3_PYC_ONLY
	bool ".pyc compiled sources only"

config BR2_PACKAGE_PYTHON3_PY_PYC
	bool ".py sources and .pyc compiled"

endchoice

menu "core python3 modules"

comment "The following modules are unusual or require extra libraries"

config BR2_PACKAGE_PYTHON3_BZIP2
	select BR2_PACKAGE_BZIP2
	bool "bz2 module"
	help
	  bzip2 module for Python3

config BR2_PACKAGE_PYTHON3_CODECSCJK
	bool "codecscjk module"
	help
	  Chinese/Japanese/Korean codecs module for Python (large).

config BR2_PACKAGE_PYTHON3_CURSES
	select BR2_PACKAGE_NCURSES
	bool "curses module"
	help
	  curses module for Python3.

config BR2_PACKAGE_PYTHON3_DECIMAL
	select BR2_PACKAGE_MPDECIMAL
	bool "decimal module"
	help
	  decimal module for Python3.

config BR2_PACKAGE_PYTHON3_OSSAUDIODEV
	bool "ossaudiodev module"
	help
	  ossaudiodev module for Python3.

config BR2_PACKAGE_PYTHON3_PYEXPAT
	select BR2_PACKAGE_EXPAT
	bool "pyexpat"
	help
	  pyexpat module for Python3.

config BR2_PACKAGE_PYTHON3_READLINE
	select BR2_PACKAGE_READLINE
	bool "readline"
	help
	  readline module for Python3 (required for command-line
	  editing in the Python shell).

config BR2_PACKAGE_PYTHON3_SSL
	select BR2_PACKAGE_OPENSSL
	bool "ssl"
	help
	  _ssl module for Python3 (required for https in urllib etc).

config BR2_PACKAGE_PYTHON3_UNICODEDATA
	bool "unicodedata module"
	default y
	help
	  Unicode character database (used by stringprep module) (large).

config BR2_PACKAGE_PYTHON3_SQLITE
	bool "sqlite module"
	select BR2_PACKAGE_SQLITE
	help
	  SQLite database support

config BR2_PACKAGE_PYTHON3_ZLIB
	bool "zlib module"
	select BR2_PACKAGE_ZLIB
	help
	  zlib support in Python3

endmenu

endif
