]> xenbits.xensource.com Git - unikraft/libs/python3.git/log
unikraft/libs/python3.git
5 years agoConfig.uk: Add configuration options for extensions
Costin Lupu [Wed, 16 Oct 2019 14:22:44 +0000 (17:22 +0300)]
Config.uk: Add configuration options for extensions

We currently configure the following extensions: XML parsing with Expat lib,
decimal operations with libmpdec, SSL, UUID and zlib. Sqlite will be
automatically supported when the external library will be released.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoProvide main() function if configured to do so
Costin Lupu [Wed, 16 Oct 2019 14:22:43 +0000 (17:22 +0300)]
Provide main() function if configured to do so

Sometimes all you want to run is the Python shell. In this case you can tick the
option in menuconfig so that the library provides the main() function for you.

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoMakefile.uk: Add rule for creating root filesystem
Costin Lupu [Wed, 16 Oct 2019 14:22:42 +0000 (17:22 +0300)]
Makefile.uk: Add rule for creating root filesystem

The Python interpreter needs a filesystem where to keep its libraries. This
patch creates a Python virtual environment and installs the Python 3 standard
library in /lib/python3.7 directory. For creating the filesystem the following
command has to be run:

$ make python-rootfs path=<directory>

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoAdd init.c for initialization
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:41 +0000 (17:22 +0300)]
Add init.c for initialization

This patch sets the environment variables that are needed during runtime for
the intepreter.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoAdd stubs.c for stubbed functions
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:40 +0000 (17:22 +0300)]
Add stubs.c for stubbed functions

We add the stubs needed when "forking" processes.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoAdd modules_config.c
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:39 +0000 (17:22 +0300)]
Add modules_config.c

This file is copied from a './Modules/config.c' of a Linux build and it contains
the modules init functions and their registration as Python extensions. We
commented the registration of the modules that we do not support yet. They
should be enabled back when we will add support for them by porting the
underlying native libraries.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years ago_sysconfigdata.py: Disable features that are not avaiable on Unikraft
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:38 +0000 (17:22 +0300)]
_sysconfigdata.py: Disable features that are not avaiable on Unikraft

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years ago_sysconfigdata.py: Introduce file
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:37 +0000 (17:22 +0300)]
_sysconfigdata.py: Introduce file

_sysconfigdata.py contains all the configuration data used by the interpreter at
runtime. This patch adds the slightly changed file generated by a ./configure
run.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agopyconfig.h: Disable features that are not avaiable on Unikraft
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:36 +0000 (17:22 +0300)]
pyconfig.h: Disable features that are not avaiable on Unikraft

Some of these features have to enabled back when we will support them.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agopyconfig.h: Introduce file
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:35 +0000 (17:22 +0300)]
pyconfig.h: Introduce file

pyconfig.h is generated when running ./configure and it contains the features
that are available on the build machine. This is copied from a local build.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agopatches: Fix build issues
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:34 +0000 (17:22 +0300)]
patches: Fix build issues

* Undefine HAVE_FORK and HAVE_EXECV
* Use pthread_t to unsigned long conversion

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoAdd Makefile.uk
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:33 +0000 (17:22 +0300)]
Add Makefile.uk

In the original build, there are two kinds of sources: for core functionality
and for extensions. Each of them has a different set of compiler flags. In
order to emulate the same behavior, we define two libraries: 'python3-core' and
'python3-extensions'. Please notice that we still keep a 'python3' library as
the main logical library.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoIntroduce library skeleton
Vlad-Andrei Badoiu [Wed, 16 Oct 2019 14:22:32 +0000 (17:22 +0300)]
Introduce library skeleton

We use the BSD-3-Clause license for this library glue code.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro>
Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>
Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>
5 years agoInitial commit (empty)
Costin Lupu [Tue, 3 Sep 2019 11:15:37 +0000 (14:15 +0300)]
Initial commit (empty)

Signed-off-by: Costin Lupu <costin.lupu@cs.pub.ro>