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

	  http://www.python.org/

comment "python3 requires a toolchain with WCHAR support"
	depends on !BR2_USE_WCHAR

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_CURSES
	select BR2_PACKAGE_NCURSES
	bool "curses module"
	help
	  curses 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_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
