[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT/LIBPYTHON PATCH 2/3] Initial port of CPython on Unikraft
From: Vlad Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx> This is our initial port of CPython to Unikraft as external library. Newlib is required. When adding the library to the dependency list, python should stay after newlib (e.g. ...:$(UK_LIBS)/newlib.git:$(UK_LIBS)/python...). This is CPython2 and CPython3 will be added in future patches via a config option. This version does not use the standard python library and needs to be ran with the "-S" argument. Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx> --- CODING_STYLE.md | 4 + CONTRIBUTING.md | 4 + Config.uk | 25 + MAINTAINERS.md | 11 + Makefile.uk | 328 ++++++++++ README.md | 5 + config.c | 194 ++++++ include/pyconfig.h | 1330 +++++++++++++++++++++++++++++++++++++++ include/sys/sysmacros.h | 15 + main_file.c | 7 + 10 files changed, 1923 insertions(+) create mode 100644 CODING_STYLE.md create mode 100644 CONTRIBUTING.md create mode 100644 Config.uk create mode 100644 MAINTAINERS.md create mode 100644 Makefile.uk create mode 100644 README.md create mode 100644 config.c create mode 100644 include/pyconfig.h create mode 100644 include/sys/sysmacros.h create mode 100644 main_file.c diff --git a/CODING_STYLE.md b/CODING_STYLE.md new file mode 100644 index 0000000..5730041 --- /dev/null +++ b/CODING_STYLE.md @@ -0,0 +1,4 @@ +Coding Style +============ + +Please refer to the `CODING_STYLE.md` file in the main Unikraft repository. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..5f55eca --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,4 @@ +Contributing to Unikraft +======================= + +Please refer to the `CONTRIBUTING.md` file in the main Unikraft repository. diff --git a/Config.uk b/Config.uk new file mode 100644 index 0000000..07dd7de --- /dev/null +++ b/Config.uk @@ -0,0 +1,25 @@ +menuconfig LIBPYTHON + bool "libpython - Python" + default n + select LIBNEWLIBC + select LIBUKFS + select LIBUKSCHEDCOOP +if LIBPYTHON + +config PYTHON_THREADS + bool "Enable threads support" + select LIBPTHREAD_EMBEDDED + default n + +config PYTHON_NETWORKING + bool "Enable networking support support" + select CONFIG_LIBLWIP + default n + +config PYTHON_SIGNALS + bool "Enable python signals module" + default n + +endif + + diff --git a/MAINTAINERS.md b/MAINTAINERS.md new file mode 100644 index 0000000..ca07d1d --- /dev/null +++ b/MAINTAINERS.md @@ -0,0 +1,11 @@ +Maintainers List +================ + +For notes on how to read this information, please refer to `MAINTAINERS.md` in +the main Unikraft repository. + + LIBPYTHON-UNIKRAFT + M: Felipe Huici <felipe.huici@xxxxxxxxx> + M: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx> + L: minios-devel@xxxxxxxxxxxxx + F: * diff --git a/Makefile.uk b/Makefile.uk new file mode 100644 index 0000000..b015657 --- /dev/null +++ b/Makefile.uk @@ -0,0 +1,328 @@ +# libpython Makefile.uc +# +# Authors: Felipe Huici <felipe.huici@xxxxxxxxx> +# Badoiu Vlad <vlad_andrei.badoiu@xxxxxxxxxxxxxxx> +# +# Copyright (c) 2018, NEC Europe Ltd., NEC Corporation. All rights reserved. +# Copyright (c) 2019, University Politehnica of Bucharest. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY. +# + +################################################################################ +# Library registration +################################################################################ +$(eval $(call addlib_s,libpython,$(CONFIG_LIBPYTHON))) + +################################################################################ +# Sources +################################################################################ +LIBPYTHON_VERSION=2.7.15 +LIBPYTHON_URL=https://www.python.org/ftp/python/2.7.15/Python-$(LIBPYTHON_VERSION).tgz +LIBPYTHON_PATCHDIR=$(LIBPYTHON_BASE)/patches +$(eval $(call fetch,libpython,$(LIBPYTHON_URL))) +$(eval $(call patch,libpython,$(LIBPYTHON_PATCHDIR),Python-$(LIBPYTHON_VERSION))) + +LIBPYTHON_SRCS-y += $(LIBPYTHON_BASE)/main_file.c +################################################################################ +# Helpers +################################################################################ +LIBPYTHON_SUBDIR=Python-$(LIBPYTHON_VERSION) +LIBPYTHON_SRC = $(LIBPYTHON_ORIGIN)/$(LIBPYTHON_SUBDIR) + +################################################################################ +# Library includes +################################################################################ +CINCLUDES-$(CONFIG_LIBPYTHON) += -I$(LIBPYTHON_BASE)/include +CINCLUDES-$(CONFIG_LIBPYTHON) += -I$(LIBPYTHON_SRC)/Include +CINCLUDES-$(CONFIG_LIBPYTHON) += -I$(LIBPYTHON_SRC)/pyfiles +CINCLUDES-$(CONFIG_LIBPYTHON) += -I$(LIBPYTHON_SRC)/Python +CINCLUDES-$(CONFIG_LIBPYTHON) += -I$(LIBPYTHON_SRC)/Modules +CINCLUDES-$(CONFIG_LIBPYTHON) += -I$(LIBPYTHON_SRC)/Objects + +CXXINCLUDES-$(CONFIG_LIBPYTHON) += -I$(LIBPYTHON_BASE)/include +CXXINCLUDES-$(CONFIG_LIBPYTHON) += -I$(LIBPYTHON_SRC)/Include +CXXINCLUDES-$(CONFIG_LIBPYTHON) += -I$(LIBPYTHON_SRC)/pyfiles +CXXINCLUDES-$(CONFIG_LIBPYTHON) += -I$(LIBPYTHON_SRC)/Python +CXXINCLUDES-$(CONFIG_LIBPYTHON) += -I$(LIBPYTHON_SRC)/Modules +CXXINCLUDES-$(CONFIG_LIBPYTHON) += -I$(LIBPYTHON_SRC)/Objects + +################################################################################ +# Global flags +################################################################################ + +SUPPRESS_FLAGS += -Wno-unused-parameter -Wno-unused-variable -Wno-nonnull \ +-Wno-unused-function -Wno-missing-field-initializers -Wno-uninitialized \ +-Wno-array-bounds -Wno-maybe-uninitialized -Wno-pointer-sign -Wno-unused-value \ +-Wno-unused-macros -Wno-parentheses -Wno-implicit-function-declaration \ +-Wno-missing-braces -Wno-endif-labels -Wno-unused-but-set-variable \ +-Wno-implicit-function-declaration -Wno-type-limits -Wno-sign-compare + +LIBPYTHON_CFLAGS-y += $(SUPPRESS_FLAGS) -D __DYNAMIC_REENT__ + +################################################################################ +# OS dependencies code - Glue between Unicore and newlib +################################################################################ +LIBPYTHON_SRCS-y += $(LIBPYTHON_BASE)/config.c + +################################################################################ +# Pyton sources - Python +################################################################################ +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/asdl.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/ast.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/bltinmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/ceval.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/codecs.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/compile.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/dtoa.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/dynload_stub.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/errors.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/formatter_string.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/formatter_unicode.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/frozen.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/frozenmain.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/future.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/getargs.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/getcompiler.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/getcopyright.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/getopt.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/getplatform.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/getversion.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/graminit.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/import.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/importdl.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/marshal.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/modsupport.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/mysnprintf.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/mystrtoul.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/peephole.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/pyarena.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/pyctype.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/pyfpe.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/pymath.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/pystate.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/pystrcmp.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/pystrtod.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/Python-ast.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/pythonrun.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/random.c +ifndef CONFIG_PYTHON_SIGNALS +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/sigcheck.c +endif +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/structmember.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/symtable.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/sysmodule.c +ifdef CONFIG_PYTHON_THREADS +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/thread.c +endif +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/traceback.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Python/_warnings.c + +################################################################################ +# Pyton sources - Modules +################################################################################ +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/almodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/arraymodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/atexitmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/audioop.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/binascii.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_bisectmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_bsddb.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/bsddbmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/bz2module.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/cdmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/cgensupport.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/clmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/cmathmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_codecsmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_collectionsmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/cPickle.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/cryptmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/cStringIO.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_csv.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_cursesmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_curses_panel.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/datetimemodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/dbmmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/dlmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_elementtree.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/errnomodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/fcntlmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/flmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/fmmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/fpectlmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/fpetestmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_functoolsmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/future_builtins.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/gcmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/gdbmmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/getaddrinfo.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/getbuildinfo.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/getnameinfo.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/getpath.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/glmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/grpmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_hashopenssl.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_heapqmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_hotshot.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/imageop.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/imgfile.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/itertoolsmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_json.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/linuxaudiodev.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_localemodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_lsprof.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/main.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_math.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/mathmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/md5.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/md5module.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/mmapmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/nismodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/operator.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/ossaudiodev.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/parsermodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/posixmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/puremodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/pwdmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/pyexpat.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_randommodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/readline.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/resource.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/rotatingtree.c +ifdef CONFIG_PYTHON_NETWORKING +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/selectmodule.c +endif +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/sgimodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/sha256module.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/sha512module.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/shamodule.c +ifdef CONFIG_PYTHON_SIGNALS +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/signalmodule.c +endif + +ifdef CONFIG_PYTHON_NETWORKING +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/socketmodule.c +endif +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/spwdmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_sre.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_ssl.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/stropmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_struct.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/sunaudiodev.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/svmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/symtablemodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/syslogmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/termios.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_testcapimodule.c +ifdef CONFIG_PYTHON_THREADS +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/threadmodule.c +endif +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/timemodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/timingmodule.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/tkappinit.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_tkinter.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/unicodedata.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_weakref.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/xxmodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/xxsubtype.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/yuvconvert.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/zipimport.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_io/bufferedio.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_io/bytesio.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_io/fileio.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_io/iobase.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_io/_iomodule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_io/stringio.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/_io/textio.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Modules/zlibmodule.c + +################################################################################ +# Pyton sources - Objects +################################################################################ +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/abstract.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/boolobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/bufferobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/bytearrayobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/bytes_methods.c +#LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/bytesobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/capsule.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/cellobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/classobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/cobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/codeobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/complexobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/descrobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/dictobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/enumobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/exceptions.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/fileobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/floatobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/frameobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/funcobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/genobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/intobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/iterobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/listobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/longobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/memoryobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/methodobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/moduleobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/object.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/obmalloc.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/rangeobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/setobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/sliceobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/stringobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/structseq.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/tupleobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/typeobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/unicodectype.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/unicodeobject.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Objects/weakrefobject.c + +################################################################################ +# Pyton sources - Objects +################################################################################ +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/acceler.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/bitset.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/firstsets.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/grammar1.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/grammar.c +ifndef CONFIG_PYTHON_SIGNALS +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/intrcheck.c +endif +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/listnode.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/metagrammar.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/myreadline.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/node.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/parser.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/parsetok.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/pgen.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/printgrammar.c +LIBPYTHON_SRCS-y += $(LIBPYTHON_SRC)/Parser/tokenizer.c diff --git a/README.md b/README.md new file mode 100644 index 0000000..20ad2f0 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +libpython for Unikraft +=================== + +Please refer to the `README.md` as well as the documentation in the `doc/` +subdirectory of the main unikraft repository. diff --git a/config.c b/config.c new file mode 100644 index 0000000..13d89e1 --- /dev/null +++ b/config.c @@ -0,0 +1,194 @@ +/* -*- C -*- *********************************************** +Copyright (c) 2000, BeOpen.com. +Copyright (c) 1995-2000, Corporation for National Research Initiatives. +Copyright (c) 1990-1995, Stichting Mathematisch Centrum. +All rights reserved. + +See the file "Misc/COPYRIGHT" for information on usage and +redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. +******************************************************************/ + +/* Module configuration */ + +/* !!! !!! !!! This file is edited by the makesetup script !!! !!! !!! */ + +/* This file contains the table of built-in modules. + See init_builtin() in import.c. */ + +#include "Python.h" +#include <uk/config.h> +#ifdef __cplusplus +extern "C" { +#endif + + +#ifdef CONFIG_PYTHON_THREADS +extern void initthread(void); +#endif +extern void initerrno(void); +extern void initresource(void); +extern void init_locale(void); +extern void init_hotshot(void); +//extern void initfcntl(void); + +extern void init_sre(void); +extern void init_codecs(void); +extern void init_weakref(void); +//extern void initzipimport(void); +extern void init_symtable(void); +extern void initxxsubtype(void); +extern void initposix(void); +/* modules that should be dynamically loaded */ +extern void initarray(void); +/* missing audioop, getbuildinfo, getpath, md5.c, _math, rotatingtree */ +extern void initbinascii(void); +extern void init_bisect(void); +extern void initcmath(void); +extern void init_collections(void); +extern void initcPickle(void); +extern void initcStringIO(void); +extern void init_csv(void); +extern void initfpetest(void); +extern void init_functools(void); +extern void initfuture_builtins(void); +extern void initgc(void); +extern void init_heapq(void); +extern void initimageop(void); +extern void inititertools(void); +extern void init_json(void); +extern void init_lsprof(void); +extern void initmath(void); +extern void init_md5(void); +extern void initoperator(void); +extern void initparser(void); +extern void initpure(void); +extern void init_random(void); +extern void init_sha256(void); +extern void init_sha512(void); +extern void init_sha(void); +extern void init_sre(void); +extern void initstrop(void); +extern void init_struct(void); +extern void init_symtable(void); +extern void init_testcapi(void); +extern void inittiming(void); +extern void initunicodedata(void); +extern void initxx(void); +extern void initxxsubtype(void); +extern void inittime(void); +#ifdef CONFIG_PYTHON_SIGNALS +extern void initsignal(void); +#endif +extern void initdatetime(void); +extern void initpwd(void); +extern void init_io(void); +#ifdef CONFIG_PYTHON_NETWORKING +extern void init_socket(void); +extern void initselect(void); +#endif +/* -- ADDMODULE MARKER 1 -- */ + +extern void PyMarshal_Init(void); +extern void initimp(void); +extern void initgc(void); +extern void init_ast(void); +extern void _PyWarnings_Init(void); + +struct _inittab _PyImport_Inittab[] = { + + +#ifdef CONFIG_PYTHON_THREADS + {"thread", initthread}, +#endif +#ifdef CONFIG_PYTHON_NETWORKING + {"_socket", init_socket}, +#endif + {"resource", initresource}, + {"_hotshot", init_hotshot}, + //{"fcntl", initfcntl}, +#ifdef CONFIG_PYTHON_NETWORKING + {"select", initselect}, +#endif + {"_locale", init_locale}, + {"errno", initerrno}, + {"_io", init_io}, +#ifdef CONFIG_PYTHON_SIGNALS + {"signal", initsignal}, +#endif + {"_sre", init_sre}, + {"time", inittime}, + {"_codecs", init_codecs}, + {"_weakref", init_weakref}, + //{"zipimport", initzipimport}, + {"_symtable", init_symtable}, + {"xxsubtype", initxxsubtype}, + {"posix", initposix}, +/* modules that should be dynamically loaded */ + {"array", initarray}, + {"binascii", initbinascii}, + {"_bisect", init_bisect}, + {"cmath", initcmath}, + {"_collections", init_collections}, + {"cPickle", initcPickle}, + {"cStringIO", initcStringIO}, + {"_csv", init_csv}, + {"fpetest", initfpetest}, + {"_functools", init_functools}, + {"future_builtins", initfuture_builtins}, + {"gc", initgc}, + {"_heapq", init_heapq}, + {"imageop", initimageop}, + {"itertools", inititertools}, + {"_json", init_json}, + {"_lsprof", init_lsprof}, + {"math", initmath}, + {"_md5", init_md5}, + {"operator", initoperator}, + {"parser", initparser}, + {"pure", initpure}, + {"_random", init_random}, + {"_sha256", init_sha256}, + {"_sha512", init_sha512}, + {"_sha", init_sha}, + {"_sre", init_sre}, + {"strop", initstrop}, + {"_struct", init_struct}, + {"_symtable", init_symtable}, + {"_testcapi", init_testcapi}, + {"timing", inittiming}, + {"unicodedata", initunicodedata}, + {"xx", initxx}, + {"xxsubtype", initxxsubtype}, + {"datetime", initdatetime}, + {"pwd", initpwd}, +/* -- ADDMODULE MARKER 2 -- */ + + /* This module lives in marshal.c */ + {"marshal", PyMarshal_Init}, + + /* This lives in import.c */ + {"imp", initimp}, + + /* This lives in Python/Python-ast.c */ + {"_ast", init_ast}, + + /* These entries are here for sys.builtin_module_names */ + {"__main__", NULL}, + {"__builtin__", NULL}, + {"sys", NULL}, + {"exceptions", NULL}, + + /* This lives in gcmodule.c */ + {"gc", initgc}, + + /* This lives in _warnings.c */ + {"_warnings", _PyWarnings_Init}, + + /* Sentinel */ + {0, 0} +}; + + +#ifdef __cplusplus +} +#endif diff --git a/include/pyconfig.h b/include/pyconfig.h new file mode 100644 index 0000000..9abd159 --- /dev/null +++ b/include/pyconfig.h @@ -0,0 +1,1330 @@ +#ifndef Py_PYCONFIG_H +#define Py_PYCONFIG_H + +#include <uk/config.h> + +#define PREFIX "/lib/python-2.7.15" +#define EXEC_PREFIX "/lib/python-2.7.15" +#define VERSION "2.7.15" +#define VPATH "" +#define PYTHONPATH "/lib/python-2.7.15" +#define PYTHONHOME "/lib/python-2.7.15" +#define DEFAULT_VERS + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define for AIX if your compiler is a genuine IBM xlC/xlC_r and you want + support for AIX C++ shared extension modules. */ +/* #undef AIX_GENUINE_CPLUSPLUS */ + +/* Define this if you have AtheOS threads. */ +/* #undef ATHEOS_THREADS */ + +/* Define this if you have BeOS threads. */ +/* #undef BEOS_THREADS */ + +/* Define if you have the Mach cthreads package */ +/* #undef C_THREADS */ + +/* Define if C doubles are 64-bit IEEE 754 binary format, stored in ARM + mixed-endian order (byte order 45670123) */ +/* #undef DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 */ + +/* Define if C doubles are 64-bit IEEE 754 binary format, stored with the most + significant byte first */ +/* #undef DOUBLE_IS_BIG_ENDIAN_IEEE754 */ + +/* Define if C doubles are 64-bit IEEE 754 binary format, stored with the + least significant byte first */ +#define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 1 + +/* Define if --enable-ipv6 is specified */ +/* #define ENABLE_IPV6 1 */ + +/* Define if flock needs to be linked with bsd library. */ +/* #undef FLOCK_NEEDS_LIBBSD */ + +/* Define if getpgrp() must be called as getpgrp(0). */ +/* #undef GETPGRP_HAVE_ARG */ + +/* Define if gettimeofday() does not have second (timezone) argument This is + the case on Motorola V4 (R40V4.2) */ +/* #undef GETTIMEOFDAY_NO_TZ */ + +/* Define to 1 if you have the `acosh' function. */ +#define HAVE_ACOSH 1 + +/* struct addrinfo (netdb.h) */ + #define HAVE_ADDRINFO 1 + +/* Define to 1 if you have the `alarm' function. */ +#define HAVE_ALARM 1 + +/* Define to 1 if you have the <alloca.h> header file. */ +#define HAVE_ALLOCA_H 1 + +/* Define this if your time.h defines altzone. */ +/* #undef HAVE_ALTZONE */ + +/* Define to 1 if you have the `asinh' function. */ +#define HAVE_ASINH 1 + +/* Define to 1 if you have the <asm/types.h> header file. */ +#define HAVE_ASM_TYPES_H 1 + +/* Define to 1 if you have the `atanh' function. */ +#define HAVE_ATANH 1 + +/* Define if GCC supports __attribute__((format(PyArg_ParseTuple, 2, 3))) */ +/* #undef HAVE_ATTRIBUTE_FORMAT_PARSETUPLE */ + +/* Define to 1 if you have the `bind_textdomain_codeset' function. */ +/* #define HAVE_BIND_TEXTDOMAIN_CODESET 1 */ + +/* Define to 1 if you have the <bluetooth/bluetooth.h> header file. */ +/* #undef HAVE_BLUETOOTH_BLUETOOTH_H */ + +/* Define to 1 if you have the <bluetooth.h> header file. */ +/* #undef HAVE_BLUETOOTH_H */ + +/* Define if nice() returns success/failure instead of the new priority. */ +/* #undef HAVE_BROKEN_NICE */ + +/* Define if the system reports an invalid PIPE_BUF value. */ +/* #undef HAVE_BROKEN_PIPE_BUF */ + +/* Define if poll() sets errno on invalid file descriptors. */ +/* #undef HAVE_BROKEN_POLL */ + +/* Define if the Posix semaphores do not work on your system */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define if pthread_sigmask() does not work on your system. */ +/* #undef HAVE_BROKEN_PTHREAD_SIGMASK */ + +/* define to 1 if your sem_getvalue is broken. */ +#define HAVE_BROKEN_SEM_GETVALUE 1 + +/* Define if `unsetenv` does not return an int. */ +/* #undef HAVE_BROKEN_UNSETENV */ + +/* Define this if you have the type _Bool. */ +#define HAVE_C99_BOOL 1 + +/* Define to 1 if you have the 'chflags' function. */ +/* #undef HAVE_CHFLAGS */ + +/* Define to 1 if you have the `chown' function. */ +#define HAVE_CHOWN 1 + +/* Define if you have the 'chroot' function. */ +//#define HAVE_CHROOT 1 + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define if the C compiler supports computed gotos. */ +#define HAVE_COMPUTED_GOTOS 1 + +/* Define to 1 if you have the `confstr' function. */ +#define HAVE_CONFSTR 1 + +/* Define to 1 if you have the <conio.h> header file. */ +/* #undef HAVE_CONIO_H */ + +/* Define to 1 if you have the `copysign' function. */ +#define HAVE_COPYSIGN 1 + +/* Define to 1 if you have the <crypt.h> header file. */ +/* define HAVE_CRYPT_H 1 */ + +/* Define to 1 if you have the `ctermid' function. */ +/* #define HAVE_CTERMID 1 */ + +/* Define if you have the 'ctermid_r' function. */ +/* #undef HAVE_CTERMID_R */ + +/* Define if you have the 'filter' function. */ +//#define HAVE_CURSES_FILTER 1 + +/* Define to 1 if you have the <curses.h> header file. */ +/* #define HAVE_CURSES_H 1 */ + +/* Define if you have the 'has_key' function. */ +/* #define HAVE_CURSES_HAS_KEY 1 */ + +/* Define if you have the 'immedok' function. */ +/* #define HAVE_CURSES_IMMEDOK 1 */ + +/* Define if you have the 'is_pad' function or macro. */ +/* #define HAVE_CURSES_IS_PAD 1 */ + +/* Define if you have the 'is_term_resized' function. */ +/* #define HAVE_CURSES_IS_TERM_RESIZED 1 */ + +/* Define if you have the 'resizeterm' function. */ +/* #define HAVE_CURSES_RESIZETERM 1 */ + +/* Define if you have the 'resize_term' function. */ +/* #define HAVE_CURSES_RESIZE_TERM 1 */ + +/* Define if you have the 'syncok' function. */ +/* #define HAVE_CURSES_SYNCOK 1 8i */ + +/* Define if you have the 'typeahead' function. */ +/* #define HAVE_CURSES_TYPEAHEAD 1 */ + +/* Define if you have the 'use_env' function. */ +/* #define HAVE_CURSES_USE_ENV 1 */ + +/* Define if you have the 'wchgat' function. */ +/* #define HAVE_CURSES_WCHGAT 1 */ + +/* Define to 1 if you have the declaration of `isfinite', and to 0 if you + don't. */ +#define HAVE_DECL_ISFINITE 1 + +/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't. + */ +#define HAVE_DECL_ISINF 1 + +/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't. + */ +#define HAVE_DECL_ISNAN 1 + +/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. + */ +/* #undef HAVE_DECL_TZNAME */ + +/* Define to 1 if you have the device macros. */ +#define HAVE_DEVICE_MACROS 1 + +/* Define to 1 if you have the /dev/ptc device file. */ +/* #undef HAVE_DEV_PTC */ + +/* Define to 1 if you have the /dev/ptmx device file. */ +#define HAVE_DEV_PTMX 1 + +/* Define to 1 if you have the <direct.h> header file. */ +/* #undef HAVE_DIRECT_H */ + +/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.*/ +#define HAVE_DIRENT_H 1 + +/* Define to 1 if you have the <dlfcn.h> header file. */ +//#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `dlopen' function. */ +//#define HAVE_DLOPEN 1 + +/* Define to 1 if you have the `dup2' function. */ +#define HAVE_DUP2 1 + +/* Defined when any dynamic module loading is enabled. */ + //#define HAVE_DYNAMIC_LOADING 1 + +/* Define if you have the 'epoll' functions. */ +//#define HAVE_EPOLL 1 + +/* Define to 1 if you have the `erf' function. */ +#define HAVE_ERF 1 + +/* Define to 1 if you have the `erfc' function. */ +#define HAVE_ERFC 1 + +/* Define to 1 if you have the <errno.h> header file. */ +#define HAVE_ERRNO_H 1 + +/* Define to 1 if you have the `execv' function. */ +#define HAVE_EXECV 1 + +/* Define to 1 if you have the `expm1' function. */ +#define HAVE_EXPM1 1 + +/* Define if you have the 'fchdir' function. */ +#define HAVE_FCHDIR 1 + +/* Define to 1 if you have the `fchmod' function. */ +#define HAVE_FCHMOD 1 + +/* Define to 1 if you have the `fchown' function. */ +#define HAVE_FCHOWN 1 + +/* Define to 1 if you have the <fcntl.h> header file. */ +#define HAVE_FCNTL_H 1 + +/* Define if you have the 'fdatasync' function. */ +#define HAVE_FDATASYNC 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `flock' function. */ +//#define HAVE_FLOCK 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `forkpty' function. */ +#define HAVE_FORKPTY 1 + +/* Define to 1 if you have the `fpathconf' function. */ +#define HAVE_FPATHCONF 1 + +/* Define to 1 if you have the `fseek64' function. */ +/* #undef HAVE_FSEEK64 */ + +/* Define to 1 if you have the `fseeko' function. */ +#define HAVE_FSEEKO 1 + +/* Define to 1 if you have the `fstatvfs' function. */ +#define HAVE_FSTATVFS 1 + +/* Define if you have the 'fsync' function. */ +#define HAVE_FSYNC 1 + +/* Define to 1 if you have the `ftell64' function. */ +/* #undef HAVE_FTELL64 */ + +/* Define to 1 if you have the `ftello' function. */ +#define HAVE_FTELLO 1 + +/* Define to 1 if you have the `ftime' function. */ +/* #define HAVE_FTIME 1 */ + +/* Define to 1 if you have the `ftruncate' function. */ +//#define HAVE_FTRUNCATE 1 + +/* Define to 1 if you have the `gai_strerror' function. */ +#define HAVE_GAI_STRERROR 1 + +/* Define to 1 if you have the `gamma' function. */ +#define HAVE_GAMMA 1 + +/* Define if we can use gcc inline assembler to get and set x87 control word + */ +#define HAVE_GCC_ASM_FOR_X87 1 + +/* Define if you have the getaddrinfo function. */ +/* #define HAVE_GETADDRINFO 1 */ + +/* Define to 1 if you have the `getcwd' function. */ + #define HAVE_GETCWD 1 + +/* Define this if you have flockfile(), getc_unlocked(), and funlockfile() */ +//#define HAVE_GETC_UNLOCKED 1 + +/* Define to 1 if you have the `getentropy' function. */ +/* #undef HAVE_GETENTROPY */ + +/* Define to 1 if you have the `getgroups' function. */ +#define HAVE_GETGROUPS 1 + +/* Define to 1 if you have the `gethostbyname' function. */ +/* #undef HAVE_GETHOSTBYNAME */ + +/* Define this if you have some version of gethostbyname_r() */ +/* #define HAVE_GETHOSTBYNAME_R 1 */ + +/* Define this if you have the 3-arg version of gethostbyname_r(). */ +/* #undef HAVE_GETHOSTBYNAME_R_3_ARG */ + +/* Define this if you have the 5-arg version of gethostbyname_r(). */ +/* #undef HAVE_GETHOSTBYNAME_R_5_ARG */ + +/* Define this if you have the 6-arg version of gethostbyname_r(). */ +/* #define HAVE_GETHOSTBYNAME_R_6_ARG 1 */ + +/* Define to 1 if you have the `getitimer' function. */ +/*#define HAVE_GETITIMER 1*/ + +/* Define to 1 if you have the `getloadavg' function. */ +/*#define HAVE_GETLOADAVG 1*/ + +/* Define to 1 if you have the `getlogin' function. */ +/* #define HAVE_GETLOGIN 1*/ + +/* Define to 1 if you have the `getnameinfo' function. */ +/* #define HAVE_GETNAMEINFO 1 */ +//// +/* Define if you have the 'getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getpeername' function. */ +#define HAVE_GETPEERNAME 1 + +/* Define to 1 if you have the `getpgid' function. */ +#define HAVE_GETPGID 1 + +/* Define to 1 if you have the `getpgrp' function. */ +//#define HAVE_GETPGRP 1 + +/* Define to 1 if you have the `getpid' function. */ +/* #define HAVE_GETPID 1 */ + +/* Define to 1 if you have the `getpriority' function. */ +/* #define HAVE_GETPRIORITY 1 */ + +/* Define to 1 if you have the `getpwent' function. */ +/* #define HAVE_GETPWENT 1 */ + +/* Define to 1 if you have the `getresgid' function. */ +/* #define HAVE_GETRESGID 1 */ + +/* Define to 1 if you have the `getresuid' function. */ +#define HAVE_GETRESUID 1 + +/* Define to 1 if you have the `getsid' function. */ +#define HAVE_GETSID 1 + +/* Define to 1 if you have the `getspent' function. */ +#define HAVE_GETSPENT 1 + +/* Define to 1 if you have the `getspnam' function. */ +#define HAVE_GETSPNAM 1 + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `getwd' function. */ +#define HAVE_GETWD 1 + +/* Define to 1 if you have the <grp.h> header file. */ +/* #define HAVE_GRP_H 1 */ + +/* Define if you have the 'hstrerror' function. */ +/* #define HAVE_HSTRERROR 1 */ + +/* Define to 1 if you have the `hypot' function. */ +#define HAVE_HYPOT 1 + +/* Define to 1 if you have the <ieeefp.h> header file. */ +/* #undef HAVE_IEEEFP_H */ + +/* Define if you have the 'inet_aton' function. */ +#define HAVE_INET_ATON 1 + +/* Define if you have the 'inet_pton' function. */ +/* #define HAVE_INET_PTON 1 */ + +/* Define to 1 if you have the `initgroups' function. */ +#define HAVE_INITGROUPS 1 + +/* Define if your compiler provides int32_t. */ +#define HAVE_INT32_T 1 + +/* Define if your compiler provides int64_t. */ +#define HAVE_INT64_T 1 + +/* Define to 1 if you have the <inttypes.h> header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the <io.h> header file. */ +/* #undef HAVE_IO_H */ + +/* Define to 1 if you have the `kill' function. */ +#define HAVE_KILL 1 + +/* Define to 1 if you have the `killpg' function. */ +#define HAVE_KILLPG 1 + +/* Define if you have the 'kqueue' functions. */ +/* #undef HAVE_KQUEUE */ + +/* Define to 1 if you have the <langinfo.h> header file. */ +#define HAVE_LANGINFO_H 1 + +/* Defined to enable large file support when an off_t is bigger than a long + and long long is available and at least as big as an off_t. You may need to + add some flags for configuration and compilation to enable this mode. (For + Solaris and Linux, the necessary defines are already defined.) */ +/* #undef HAVE_LARGEFILE_SUPPORT */ + +/* Define to 1 if you have the 'lchflags' function. */ +/* #undef HAVE_LCHFLAGS */ + +/* Define to 1 if you have the `lchmod' function. */ +/* #undef HAVE_LCHMOD */ + +/* Define to 1 if you have the `lchown' function. */ +#define HAVE_LCHOWN 1 + +/* Define to 1 if you have the `lgamma' function. */ +/* #define HAVE_LGAMMA 1 */ + +/* Define to 1 if you have the `dl' library (-ldl). */ +/* #define HAVE_LIBDL 1 */ + +/* Define to 1 if you have the `dld' library (-ldld). */ +/* #undef HAVE_LIBDLD */ + +/* Define to 1 if you have the `ieee' library (-lieee). */ +/* #undef HAVE_LIBIEEE */ + +/* Define to 1 if you have the <libintl.h> header file. */ +//#define HAVE_LIBINTL_H 1 + +/* Define if you have the readline library (-lreadline). */ +//#define HAVE_LIBREADLINE 1 + +/* Define to 1 if you have the `resolv' library (-lresolv). */ +/* #undef HAVE_LIBRESOLV */ + +/* Define to 1 if you have the <libutil.h> header file. */ +/* #undef HAVE_LIBUTIL_H */ + +/* Define if you have the 'link' function. */ +/* #define HAVE_LINK 1 */ + +/* Define to 1 if you have the <linux/netlink.h> header file. */ +/* #define HAVE_LINUX_NETLINK_H 1 */ + +/* Define to 1 if you have the <linux/tipc.h> header file. */ +/* #define HAVE_LINUX_TIPC_H 1 */ + +/* Define to 1 if you have the `log1p' function. */ +/* #define HAVE_LOG1P 1 */ + +/* Define this if you have the type long double. */ +#define HAVE_LONG_DOUBLE 1 + +/* Define this if you have the type long long. */ +#define HAVE_LONG_LONG 1 + +/* Define to 1 if you have the `lstat' function. */ + /*#define HAVE_LSTAT 1*/ // TODO add from gluecode in newlib + +/* Define this if you have the makedev macro. */ +#define HAVE_MAKEDEV 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the <memory.h> header file. */ +/* #define HAVE_MEMORY_H 1*/ + +/* Define to 1 if you have the `mkfifo' function. */ +/* #define HAVE_MKFIFO 1 */ + +/* Define to 1 if you have the `mknod' function. */ +#define HAVE_MKNOD 1 + +/* Define to 1 if you have the `mktime' function. */ +#define HAVE_MKTIME 1 + +/* Define to 1 if you have the `mmap' function. */ +/* #define HAVE_MMAP 1 */ + +/* Define to 1 if you have the `mremap' function. */ +/* #define HAVE_MREMAP 1 */ + +/* Define to 1 if you have the <ncurses.h> header file. */ +/* #define HAVE_NCURSES_H 1 */ + +/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* Define to 1 if you have the <netpacket/packet.h> header file. */ +/* #define HAVE_NETPACKET_PACKET_H 1 */ + +/* Define to 1 if you have the `nice' function. */ +#define HAVE_NICE 1 + +/* Define to 1 if you have the `openpty' function. */ +#define HAVE_OPENPTY 1 + +/* Define if compiling using MacOS X 10.5 SDK or later. */ +/* #undef HAVE_OSX105_SDK */ + +/* Define to 1 if you have the `pathconf' function. */ +#define HAVE_PATHCONF 1 + +/* Define to 1 if you have the `pause' function. */ +#define HAVE_PAUSE 1 + +/* Define to 1 if you have the `plock' function. */ +/* #undef HAVE_PLOCK */ + +/* Define to 1 if you have the `poll' function. */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the <poll.h> header file. */ +#define HAVE_POLL_H 1 + +/* Define to 1 if you have the <process.h> header file. */ +/* #undef HAVE_PROCESS_H */ + +/* Define if your compiler supports function prototype */ +#define HAVE_PROTOTYPES 1 + +/* Define if you have GNU PTH threads. */ +/* #define HAVE_PTH */ + +/* Define to 1 if you have the `pthread_atfork' function. */ +/* #undef HAVE_PTHREAD_ATFORK */ + +/* Defined for Solaris 2.6 bug in pthread header. */ +/* #undef HAVE_PTHREAD_DESTRUCTOR */ + +/* Define to 1 if you have the <pthread.h> header file. */ +#ifdef CONFIG_PYTHON_THREADS + #define HAVE_PTHREAD_H 1 +#endif + +/* Define to 1 if you have the `pthread_init' function. */ +/* #undef HAVE_PTHREAD_INIT */ + +/* Define to 1 if you have the `pthread_sigmask' function. */ +/* #undef HAVE_PTHREAD_SIGMASK */ + +/* Define to 1 if you have the <pty.h> header file. */ +#define HAVE_PTY_H 1 + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `readlink' function. */ +////#define HAVE_READLINK 1 + +/* Define to 1 if you have the `realpath' function. */ +/*#define HAVE_REALPATH 1 */ + +/* Define if you have readline 2.1 */ +//#define HAVE_RL_CALLBACK 1 + +/* Define if you can turn off readline's signal handling. */ +//#define HAVE_RL_CATCH_SIGNAL 1 + +/* Define if you have readline 2.2 */ +//#define HAVE_RL_COMPLETION_APPEND_CHARACTER 1 + +/* Define if you have readline 4.0 */ +//#define HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK 1 + +/* Define if you have readline 4.2 */ +//#define HAVE_RL_COMPLETION_MATCHES 1 + +/* Define if you have rl_completion_suppress_append */ +//#define HAVE_RL_COMPLETION_SUPPRESS_APPEND 1 + +/* Define if you have readline 4.0 */ +//#define HAVE_RL_PRE_INPUT_HOOK 1 + +/* Define if you have readline 4.0 */ +//#define HAVE_RL_RESIZE_TERMINAL 1 + +/* Define to 1 if you have the `round' function. */ +#define HAVE_ROUND 1 + +/* Define to 1 if you have the `select' function. */ +//#define HAVE_SELECT 1 TODO: lwip + +/* Define to 1 if you have the `sem_getvalue' function. */ +/* #undef HAVE_SEM_GETVALUE */ + +/* Define to 1 if you have the `sem_open' function. */ +/* #undef HAVE_SEM_OPEN */ + +/* Define to 1 if you have the `sem_timedwait' function. */ +/* #undef HAVE_SEM_TIMEDWAIT */ + +/* Define to 1 if you have the `sem_unlink' function. */ +/* #undef HAVE_SEM_UNLINK */ + +/* Define to 1 if you have the `setegid' function. */ +#define HAVE_SETEGID 1 + +/* Define to 1 if you have the `seteuid' function. */ +#define HAVE_SETEUID 1 + +/* Define to 1 if you have the `setgid' function. */ +#define HAVE_SETGID 1 + +/* Define if you have the 'setgroups' function. */ +#define HAVE_SETGROUPS 1 + +/* Define to 1 if you have the `setitimer' function. */ +/* #define HAVE_SETITIMER 1 */ + +/* Define to 1 if you have the `setlocale' function. */ +#define HAVE_SETLOCALE 1 + +/* Define to 1 if you have the `setpgid' function. */ +#define HAVE_SETPGID 1 + +/* Define to 1 if you have the `setpgrp' function. */ +#define HAVE_SETPGRP 1 + +/* Define to 1 if you have the `setregid' function. */ +#define HAVE_SETREGID 1 + +/* Define to 1 if you have the `setresgid' function. */ +//#define HAVE_SETRESGID 1 + +/* Define to 1 if you have the `setresuid' function. */ +#define HAVE_SETRESUID 1 + +/* Define to 1 if you have the `setreuid' function. */ +#define HAVE_SETREUID 1 + +/* Define to 1 if you have the `setsid' function. */ +#define HAVE_SETSID 1 + +/* Define to 1 if you have the `setuid' function. */ +#define HAVE_SETUID 1 + +/* Define to 1 if you have the `setvbuf' function. */ +#define HAVE_SETVBUF 1 + +/* Define to 1 if you have the <shadow.h> header file. */ +#define HAVE_SHADOW_H 1 + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the `siginterrupt' function. */ +#define HAVE_SIGINTERRUPT 1 + +/* Define to 1 if you have the <signal.h> header file. */ +#ifdef CONFIG_PYTHON_SIGNALS +#define HAVE_SIGNAL_H 1 +#endif + +/* Define to 1 if you have the `sigrelse' function. */ +#define HAVE_SIGRELSE 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define if sockaddr has sa_len member */ +/* #undef HAVE_SOCKADDR_SA_LEN */ + +/* struct sockaddr_storage (sys/socket.h) */ + #define HAVE_SOCKADDR_STORAGE + +/* Define if you have the 'socketpair' function. */ +/* #define HAVE_SOCKETPAIR 1 */ + +/* Define to 1 if you have the <spawn.h> header file. */ +#define HAVE_SPAWN_H 1 + +/* Define if your compiler provides ssize_t */ +#define HAVE_SSIZE_T 1 + +/* Define to 1 if you have the `statvfs' function. */ +#define HAVE_STATVFS 1 + +/* Define if you have struct stat.st_mtim.tv_nsec */ +//#define HAVE_STAT_TV_NSEC 1 + +/* Define if you have struct stat.st_mtimensec */ +/* #undef HAVE_STAT_TV_NSEC2 */ + +/* Define if your compiler supports variable length function prototypes (e.g. + void fprintf(FILE *, char *, ...);) *and* <stdarg.h> */ +#define HAVE_STDARG_PROTOTYPES 1 + +/* Define to 1 if you have the <stdint.h> header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the <stdlib.h> header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strftime' function. */ +#define HAVE_STRFTIME 1 + +/* Define to 1 if you have the <strings.h> header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the <string.h> header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the <stropts.h> header file. */ +/*#define HAVE_STROPTS_H 1*/ + +/* Define to 1 if `st_birthtime' is a member of `struct stat'. */ +/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ + +/* Define to 1 if `st_blksize' is a member of `struct stat'. */ +#define HAVE_STRUCT_STAT_ST_BLKSIZE 1 + +/* Define to 1 if `st_blocks' is a member of `struct stat'. */ +#define HAVE_STRUCT_STAT_ST_BLOCKS 1 + +/* Define to 1 if `st_flags' is a member of `struct stat'. */ +/* #undef HAVE_STRUCT_STAT_ST_FLAGS */ + +/* Define to 1 if `st_gen' is a member of `struct stat'. */ +/* #undef HAVE_STRUCT_STAT_ST_GEN */ + +/* Define to 1 if `st_rdev' is a member of `struct stat'. */ +#define HAVE_STRUCT_STAT_ST_RDEV 1 + +/* Define to 1 if `tm_zone' is a member of `struct tm'. */ +/* #define HAVE_STRUCT_TM_TM_ZONE 1*/ + +/* Define if you have the 'symlink' function. */ +#define HAVE_SYMLINK 1 + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the <sysexits.h> header file. */ +#define HAVE_SYSEXITS_H 1 + +/* Define to 1 if you have the <sys/audioio.h> header file. */ + #undef HAVE_SYS_AUDIOIO_H + +/* Define to 1 if you have the <sys/bsdtty.h> header file. */ +/* #undef HAVE_SYS_BSDTTY_H */ + +/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. + */ + #undef HAVE_SYS_DIR_H + +/* Define to 1 if you have the <sys/epoll.h> header file. */ +//#define HAVE_SYS_EPOLL_H 1 + +/* Define to 1 if you have the <sys/event.h> header file. */ +/* #undef HAVE_SYS_EVENT_H */ + +/* Define to 1 if you have the <sys/file.h> header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the <sys/loadavg.h> header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the <sys/lock.h> header file. */ +/* #undef HAVE_SYS_LOCK_H */ + +/* Define to 1 if you have the <sys/mkdev.h> header file. */ +/* #undef HAVE_SYS_MKDEV_H */ + +/* Define to 1 if you have the <sys/modem.h> header file. */ +/* #undef HAVE_SYS_MODEM_H */ + +/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define to 1 if you have the <sys/param.h> header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the <sys/poll.h> header file. */ +/* #define HAVE_SYS_POLL_H 1 */ + +/* Define to 1 if you have the <sys/random.h> header file. */ +#define HAVE_SYS_RANDOM_H + +/* Define to 1 if you have the <sys/resource.h> header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the <sys/select.h> header file. */ +/* #define HAVE_SYS_SELECT_H 1 */ + +/* Define to 1 if you have the <sys/socket.h> header file. */ +#define HAVE_SYS_SOCKET_H 1 + +/* Define to 1 if you have the <sys/statvfs.h> header file. */ +#define HAVE_SYS_STATVFS_H 1 + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the <sys/sysmacros.h> header file. */ +#define HAVE_SYS_SYSMACROS_H 1 + +/* Define to 1 if you have the <sys/termio.h> header file. */ +/* #undef HAVE_SYS_TERMIO_H */ + +/* Define to 1 if you have the <sys/times.h> header file. */ +#define HAVE_SYS_TIMES_H 1 + +/* Define to 1 if you have the <sys/time.h> header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the <sys/types.h> header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the <sys/un.h> header file. */ +/* #define HAVE_SYS_UN_H 1 */ + +/* Define to 1 if you have the <sys/utsname.h> header file. */ +#define HAVE_SYS_UTSNAME_H 1 + +/* Define to 1 if you have the <sys/wait.h> header file. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `tcgetpgrp' function. */ +#define HAVE_TCGETPGRP 1 + +/* Define to 1 if you have the `tcsetpgrp' function. */ +#define HAVE_TCSETPGRP 1 + +/* Define to 1 if you have the `tempnam' function. */ +#define HAVE_TEMPNAM 1 + +/* Define to 1 if you have the <termios.h> header file. */ +//#define HAVE_TERMIOS_H 1 + +/* Define to 1 if you have the <term.h> header file. */ +#define HAVE_TERM_H 1 + +/* Define to 1 if you have the `tgamma' function. */ +#define HAVE_TGAMMA 1 + +/* Define to 1 if you have the <thread.h> header file. */ +/* #define HAVE_THREAD_H */ + +/* Define to 1 if you have the `timegm' function. */ +#define HAVE_TIMEGM 1 + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the `tmpfile' function. */ +#define HAVE_TMPFILE 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define to 1 if you have the `tmpnam_r' function. */ +/* #define HAVE_TMPNAM_R 1 */ + +/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use + `HAVE_STRUCT_TM_TM_ZONE' instead. */ +/* #define HAVE_TM_ZONE 1 */ + +/* Define to 1 if you have the `truncate' function. */ +#define HAVE_TRUNCATE 1 + +/* Define to 1 if you don't have `tm_zone' but do have the external array + `tzname'. */ +/* #undef HAVE_TZNAME */ + +/* Define this if you have tcl and TCL_UTF_MAX==6 */ +/* #undef HAVE_UCS4_TCL */ + +/* Define if your compiler provides uint32_t. */ +#define HAVE_UINT32_T 1 + +/* Define if your compiler provides uint64_t. */ +#define HAVE_UINT64_T 1 + +/* Define to 1 if the system has the type `uintptr_t'. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the `uname' function. */ +#define HAVE_UNAME 1 + +/* Define to 1 if you have the <unistd.h> header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `unsetenv' function. */ +#define HAVE_UNSETENV 1 + +/* Define if you have a useable wchar_t type defined in wchar.h; useable means + wchar_t must be an unsigned type with at least 16 bits. (see + Include/unicodeobject.h). */ +#define HAVE_USABLE_WCHAR_T + +/* Define to 1 if you have the <util.h> header file. */ +/* #undef HAVE_UTIL_H */ + +/* Define to 1 if you have the `utimes' function. */ +#define HAVE_UTIMES 1 + +/* Define to 1 if you have the <utime.h> header file. */ +#define HAVE_UTIME_H 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define if the compiler provides a wchar.h header file. */ +#define HAVE_WCHAR_H 1 + +/* Define to 1 if you have the `wcscoll' function. */ +#define HAVE_WCSCOLL 1 + +/* Define if tzset() actually switches the local timezone in a meaningful way. + */ +#define HAVE_WORKING_TZSET 1 + +/* Define if the zlib library has inflateCopy */ +//#define HAVE_ZLIB_COPY 1 + + +/* Define to 1 if you have the `_getpty' function. */ +/* #undef HAVE__GETPTY */ + +/* Define if you are using Mach cthreads directly under /include */ +/* #undef HURD_C_THREADS */ + +/* Define if you are using Mach cthreads under mach / */ +/* #undef MACH_C_THREADS */ + +/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>. + */ +/* #undef MAJOR_IN_MKDEV */ + +/* Define to 1 if `major', `minor', and `makedev' are declared in + <sysmacros.h>. */ +/* #undef MAJOR_IN_SYSMACROS */ + +/* Define if mvwdelch in curses.h is an expression. */ +#define MVWDELCH_IS_EXPRESSION 1 + +/* Define to the address where bug reports for this package should be sent. */ +/* #undef PACKAGE_BUGREPORT */ + +/* Define to the full name of this package. */ +/* #undef PACKAGE_NAME */ + +/* Define to the full name and version of this package. */ +/* #undef PACKAGE_STRING */ + +/* Define to the one symbol short name of this package. */ +/* #undef PACKAGE_TARNAME */ + +/* Define to the home page for this package. */ +/* #undef PACKAGE_URL */ + +/* Define to the version of this package. */ +/* #undef PACKAGE_VERSION */ + +/* Define if POSIX semaphores aren't enabled on your system */ +#define POSIX_SEMAPHORES_NOT_ENABLED 1 + +/* Defined if PTHREAD_SCOPE_SYSTEM supported. */ +/* #undef PTHREAD_SYSTEM_SCHED_SUPPORTED */ + +/* Define as the preferred size in bits of long digits */ +/* #undef PYLONG_BITS_IN_DIGIT */ + +/* Define to printf format modifier for long long type */ +#define PY_FORMAT_LONG_LONG "ll" + +/* Define to printf format modifier for Py_ssize_t */ +#define PY_FORMAT_SIZE_T "z" + +/* Define as the integral type used for Unicode representation. */ +#define PY_UNICODE_TYPE unsigned short + +/* Define if you want to build an interpreter with many run-time checks. */ + #undef Py_DEBUG + +/* Defined if Python is built as a shared library. */ +/* #undef Py_ENABLE_SHARED */ + +/* Define as the size of the unicode type. */ +#define Py_UNICODE_SIZE 2 + +/* Define if you want to have a Unicode type. */ +#define Py_USING_UNICODE 1 + +/* assume C89 semantics that RETSIGTYPE is always void */ +#define RETSIGTYPE void + +/* Define if setpgrp() must be called as setpgrp(0, 0). */ +/* #undef SETPGRP_HAVE_ARG */ + +/* Define this to be extension of shared libraries (including the dot!). */ +#define SHLIB_EXT ".so" + +/* Define if i>>j for signed int i does not extend the sign bit when i < 0 */ +/* #undef SIGNED_RIGHT_SHIFT_ZERO_FILLS */ + +/* The size of `double', as computed by sizeof. */ +#define SIZEOF_DOUBLE 8 + +/* The size of `float', as computed by sizeof. */ +#define SIZEOF_FLOAT 4 + +/* The size of `fpos_t', as computed by sizeof. */ +#define SIZEOF_FPOS_T 16 + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* The size of `long double', as computed by sizeof. */ +#define SIZEOF_LONG_DOUBLE 16 + +/* The size of `long long', as computed by sizeof. */ +#define SIZEOF_LONG_LONG 8 + +/* The size of `off_t', as computed by sizeof. */ +#define SIZEOF_OFF_T 8 + +/* The size of `pid_t', as computed by sizeof. */ +#define SIZEOF_PID_T 4 + +/* The size of `pthread_t', as computed by sizeof. */ +#define SIZEOF_PTHREAD_T 16 + +/* The size of `short', as computed by sizeof. */ +#define SIZEOF_SHORT 2 + +/* The size of `size_t', as computed by sizeof. */ +#define SIZEOF_SIZE_T 8 + +/* The size of `time_t', as computed by sizeof. */ +#define SIZEOF_TIME_T 8 + +/* The size of `uintptr_t', as computed by sizeof. */ +#define SIZEOF_UINTPTR_T 8 + +/* The size of `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 8 + +/* The size of `wchar_t', as computed by sizeof. */ +#define SIZEOF_WCHAR_T 4 + +/* The size of `_Bool', as computed by sizeof. */ +#define SIZEOF__BOOL 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both <sys/select.h> and <sys/time.h> + (which you can't on SCO ODT 3.0). */ +#define SYS_SELECT_WITH_SYS_TIME 1 + +/* Define if tanh(-0.) is -0., or if platform doesn't have signed zeros */ +#define TANH_PRESERVES_ZERO_SIGN 1 + +/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your <sys/time.h> declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define if you want to use computed gotos in ceval.c. */ +/* #undef USE_COMPUTED_GOTOS */ + +/* Enable extensions on AIX 3, Interix. */ +//#ifndef _ALL_SOURCE +//# define _ALL_SOURCE 1 +//#endif +/* Enable GNU extensions on systems that have them. */ +//#ifndef _GNU_SOURCE +//# define _GNU_SOURCE 1 +//#endif +/* Enable threading extensions on Solaris. */ +//#ifndef _POSIX_PTHREAD_SEMANTICS +//# define _POSIX_PTHREAD_SEMANTICS 1 +//#endif +/* Enable extensions on HP NonStop. */ +//#ifndef _TANDEM_SOURCE +//# define _TANDEM_SOURCE 1 +//#endif +/* Enable general extensions on Solaris. */ +//#ifndef __EXTENSIONS__ +//# define __EXTENSIONS__ 1 +//#endif + + +/* Define if you want to use MacPython modules on MacOSX in unix-Python. */ +/* #undef USE_TOOLBOX_OBJECT_GLUE */ + +/* Define if a va_list is an array of some kind */ +#define VA_LIST_IS_ARRAY 1 + +/* Define if you want SIGFPE handled (see Include/pyfpe.h). */ +/* #undef WANT_SIGFPE_HANDLER */ + +/* Define if you want wctype.h functions to be used instead of the one + supplied by Python itself. (see Include/unicodectype.h). */ +/* #undef WANT_WCTYPE_FUNCTIONS */ + +/* Define if WINDOW in curses.h offers a field _flags. */ +/* #define WINDOW_HAS_FLAGS 1*/ + +/* Define if you want documentation strings in extension modules */ +#define WITH_DOC_STRINGS 1 + +/* Define if you want to use the new-style (Openstep, Rhapsody, MacOS) dynamic + linker (dyld) instead of the old-style (NextStep) dynamic linker (rld). + Dyld is necessary to support frameworks. */ +/* #undef WITH_DYLD */ + +/* Define to 1 if libintl is needed for locale functions. */ +/* #undef WITH_LIBINTL */ + +/* Define if you want to produce an OpenStep/Rhapsody framework (shared + library plus accessory files). */ +/* #undef WITH_NEXT_FRAMEWORK */ + +/* Define if you want to compile in Python-specific mallocs */ +#define WITH_PYMALLOC 1 + +/* Define if you want to compile in rudimentary thread support */ +#ifdef CONFIG_PYTHON_THREADS + #define WITH_THREAD 1 +#endif + + +/* Define to profile with the Pentium timestamp counter */ +/* #undef WITH_TSC */ + +/* Define if you want pymalloc to be disabled when running under valgrind */ +/* #undef WITH_VALGRIND */ + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define if arithmetic is subject to x87-style double rounding issue */ +/* #undef X87_DOUBLE_ROUNDING */ + +/* Define on OpenBSD to activate all library features */ +/* #undef _BSD_SOURCE */ + +/* Define on Irix to enable u_int */ +#define _BSD_TYPES 1 + +/* Define on Darwin to activate all library features */ +/* #define _DARWIN_C_SOURCE 1 */ + +/* This must be set to 64 on some systems to enable large file support. */ +#define _FILE_OFFSET_BITS 64 + +/* Define on Linux to activate all library features */ +#define _GNU_SOURCE 1 + +/* This must be defined on some systems to enable large file support. */ +#define _LARGEFILE_SOURCE 1 + +/* This must be defined on AIX systems to enable large file support. */ +/* #undef _LARGE_FILES */ + +/* Define to 1 if on MINIX. */ +/* #undef _MINIX */ + +/* Define on NetBSD to activate all library features */ +/* #define _NETBSD_SOURCE 1 */ + +/* Define _OSF_SOURCE to get the makedev macro. */ +/* #undef _OSF_SOURCE */ + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +/* #undef _POSIX_1_SOURCE */ + +/* Define to activate features from IEEE Stds 1003.1-2001 */ +#ifndef _POSIX_C_SOURCE + #define _POSIX_C_SOURCE 200112L +#endif +/* Define to 1 if you need to in order for `stat' and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* Define if you have POSIX threads, and your system does not define that. */ +#ifdef CONFIG_PYTHON_THREADS + #define _POSIX_THREADS 1 +#endif +/* Define to force use of thread-safe errno, h_errno, and other functions */ +/* #undef _REENTRANT */ + +/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>, + <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT32_T */ + +/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>, + <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT64_T */ + +/* Define to the level of X/Open that your system supports */ +#define _XOPEN_SOURCE 600 + +/* Define to activate Unix95-and-earlier features */ +#define _XOPEN_SOURCE_EXTENDED 1 + +/* Define on FreeBSD to activate all library features */ +/* #define __BSD_VISIBLE 1 */ + +/* Define to 1 if type `char' is unsigned and you are not using gcc. */ +#ifndef __CHAR_UNSIGNED__ +/* # undef __CHAR_UNSIGNED__ */ +#endif + +/* Defined on Solaris to see additional function prototypes. */ +#define __EXTENSIONS__ 1 + +/* Define to 'long' if <time.h> doesn't define. */ +/* #undef clock_t */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `int' if <sys/types.h> doesn't define. */ +/* #undef gid_t */ + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int32_t */ + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int64_t */ + +/* Define to `int' if <sys/types.h> does not define. */ +/* #undef mode_t */ + +/* Define to `long int' if <sys/types.h> does not define. */ +/* #undef off_t */ + +/* Define to `int' if <sys/types.h> does not define. */ +/* #undef pid_t */ + +/* Define to empty if the keyword does not work. */ +/* #undef signed */ + +/* Define to `unsigned int' if <sys/types.h> does not define. */ +/* #undef size_t */ + +/* Define to `int' if <sys/socket.h> does not define. */ +/* #undef socklen_t */ + +/* Define to `int' if <sys/types.h> doesn't define. */ +/* #undef uid_t */ + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint32_t */ + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint64_t */ + +/* Define to empty if the keyword does not work. */ +/* #undef volatile */ + +/* Define the macros needed if on a UnixWare 7.x system. */ +#if defined(__USLC__) && defined(__SCO_VERSION__) +#define STRICT_SYSV_CURSES /* Don't use ncurses extensions */ +#endif + +#endif /*Py_PYCONFIG_H*/ + diff --git a/include/sys/sysmacros.h b/include/sys/sysmacros.h new file mode 100644 index 0000000..07a3ef1 --- /dev/null +++ b/include/sys/sysmacros.h @@ -0,0 +1,15 @@ +#ifndef _SYS_SYSMACROS_H +#define _SYS_SYSMACROS_H + +#define major(x) \ + ((unsigned)( (((x)>>31>>1) & 0xfffff000) | (((x)>>8) & 0x00000fff) )) +#define minor(x) \ + ((unsigned)( (((x)>>12) & 0xffffff00) | ((x) & 0x000000ff) )) + +#define makedev(x,y) ( \ + (((x)&0xfffff000ULL) << 32) | \ + (((x)&0x00000fffULL) << 8) | \ + (((y)&0xffffff00ULL) << 12) | \ + (((y)&0x000000ffULL)) ) + +#endif diff --git a/main_file.c b/main_file.c new file mode 100644 index 0000000..6ee01d2 --- /dev/null +++ b/main_file.c @@ -0,0 +1,7 @@ +#include <Python.h> + +int __attribute__((weak)) main(int argc, char *argv[]) +{ + return Py_Main(argc, argv); +} + -- 2.21.0 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |