[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT/LIBMICROPYTHON PATCH 2/5] Add Makefile.uk



Hi Vlad,

On 07.10.19, 12:43, "Minios-devel on behalf of Vlad-Andrei BĂDOIU (78692)" 
<minios-devel-bounces@xxxxxxxxxxxxxxxxxxxx on behalf of 
vlad_andrei.badoiu@xxxxxxxxxxxxxxx> wrote:

    Hey Felipe,
    
    Thanks for the patch. Please see my comments inline.
    
    Vlad
    
    On 25.09.2019 11:07, Felipe Huici wrote:
    > Add Makefile.uk and the depedent mpconfigport.mk file.
    >
    > Signed-off-by: Felipe Huici <felipe.huici@xxxxxxxxx>
    > ---
    >   Makefile.uk     | 292 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    >   mpconfigport.mk |  45 +++++++++
    >   2 files changed, 337 insertions(+)
    >   create mode 100644 Makefile.uk
    >   create mode 100644 mpconfigport.mk
    >
    > diff --git a/Makefile.uk b/Makefile.uk
    > new file mode 100644
    > index 0000000..aecfcfa
    > --- /dev/null
    > +++ b/Makefile.uk
    > @@ -0,0 +1,292 @@
    > +#  libmicropython Makefile.uc
    > +#
    > +#  Authors: Felipe Huici <felipe.huici@xxxxxxxxx>
    > +#
    > +#
    > +#  Copyright (c) 2017, NEC Europe Ltd., NEC Corporation. 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.
    > +#
    > +
    > 
+################################################################################
    > +# check reqs
    > 
+################################################################################
    > +ifdef CONFIG_LWIP_IPV6
    > +$(error IPV6 not supported, please delesect and re-run)
    > +endif
    > +
    > 
+################################################################################
    > +# Library registration
    > 
+################################################################################
    > +$(eval $(call addlib_s,libmicropython,$(CONFIG_LIBMICROPYTHON)))
    > +
    > 
+################################################################################
    > +# Sources
    > 
+################################################################################
    > +LIBMICROPYTHON_VERSION=1.9.2
    
    This seems to be a release from 2017. I think that we could increase the 
    version
    
    to at least 1.9.4 without breaking things. (1.11 is the latest version)
    
Actually I just tried with 1.9.4 and it breaks (a patch fails to apply). I 
would leave it at 1.9.2 for the initial upstreaming and submit further patches 
to upgrade the port.

    > +LIBMICROPYTHON_TAR=micropython-$(LIBMICROPYTHON_VERSION)
    > 
+LIBMICROPYTHON_URL=http://micropython.org/resources/source/$(LIBMICROPYTHON_TAR).zip
    > +LIBMICROPYTHON_PATCHDIR=$(LIBMICROPYTHON_BASE)/patches
    > +$(eval $(call fetch,libmicropython,$(LIBMICROPYTHON_URL)))
    > +$(eval $(call 
patch,libmicropython,$(LIBMICROPYTHON_PATCHDIR),$(LIBMICROPYTHON_TAR)))
    > +
    > 
+################################################################################
    > +# Helpers
    > 
+################################################################################
    > +LIBMICROPYTHON_SRCS_BASE=$(LIBMICROPYTHON_ORIGIN)/$(LIBMICROPYTHON_TAR)
    > +LIBMICROPYTHON_FROZEN_DIR = scripts
    > +LIBMICROPYTHON_PY_QSTR_DEFS = $(LIBMICROPYTHON_SRCS_BASE)/py/qstrdefs.h
    > +LIBMICROPYTHON_QSTR_DEFS = 
$(LIBMICROPYTHON_SRCS_BASE)/unix/qstrdefsport.h
    > +LIBMICROPYTHON_HEADER_BUILD = $(LIBMICROPYTHON_SRCS_BASE)/genhdr
    > +LIBMICROPYTHON_QSTR_DEFS_COLLECTED = 
$(LIBMICROPYTHON_HEADER_BUILD)/qstrdefs.collected.h
    > +LIBMICROPYTHON_MPCONFIGPORT_MK = 
$(LIBMICROPYTHON_SRCS_BASE)/unix/mpconfigport.mk
    > +LIBMICROPYTHON_QSTR_GEN_EXTRA_CFLAGS += -DNO_QSTR -DN_X64 -DN_X86 
-DN_THUMB -DN_ARM -D MICROPY_PY_LWIP
    > +PYTHON := python
    > +
    > 
+################################################################################
    > +# Micropython options
    > 
+################################################################################
    > +-include $(LIBMICROPYTHON_BASE)/mpconfigport.mk
    > +
    > 
+################################################################################
    > +# Library includes
    > 
+################################################################################
    > +LIBMICROPYTHON_CINCLUDES-y += -I$(LIBMICROPYTHON_BASE)/include           
   \
    > +                       -I$(LIBMICROPYTHON_SRCS_BASE)                 \
    > +                       -I$(LIBMICROPYTHON_SRCS_BASE)/py              \
    > +                       -I$(LIBMICROPYTHON_SRCS_BASE)/unix            \
    > +                       -I$(LIBMICROPYTHON_SRCS_BASE)/lib/mp-readline \
    > +                              -I$(LIBMICROPYTHON_SRCS_BASE)/lib/netutils 
   \
    > +                              -I$(LIBMICROPYTHON_SRCS_BASE)/lib/utils
    > +
    > 
+################################################################################
    > +# Global flags
    > 
+################################################################################
    > +LIBMICROPYTHON_CFLAGS-y += -DUNIX -DN_X64 -D MICROPY_PY_LWIP \
    > +                    -Wno-unused-parameter             \
    > +                    -Wno-override-init                \
    > +                    -Wno-sign-compare                 \
    > +                    -Wno-unused-value                 \
    > +                    -Wno-format                       \
    > +                    -Wno-incompatible-pointer-types
    
    We could add -Wno-incompatible-pointer-types, -Wno-implicit-fallthrough, 
    -Wno-expansion-to-defined to
    
    make the build cleaner/suppress warnings
    
Will do.

    >       
    > +
    > 
+################################################################################
    > +# Unikraft <-> Micropython glue code
    > 
+################################################################################
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_BASE)/main.c
    > +
    > 
+################################################################################
    > +# Micropyton sources - py
    > 
+################################################################################
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/mpstate.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/nlrx86.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/nlrx64.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/nlrthumb.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/nlrxtensa.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/nlrsetjmp.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/malloc.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/gc.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/qstr.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/vstr.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/mpprint.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/unicode.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/mpz.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/lexer.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/parse.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/scope.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/compile.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/emitcommon.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/emitnative.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/emitbc.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/asmbase.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/asmx64.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/asmx86.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/asmthumb.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/emitinlinethumb.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/asmarm.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/formatfloat.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/parsenumbase.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/parsenum.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/emitglue.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/runtime.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/runtime_utils.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/nativeglue.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/stackctrl.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/argcheck.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/warning.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/map.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/obj.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objarray.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objattrtuple.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objbool.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objboundmeth.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objcell.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objclosure.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objcomplex.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objdict.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objenumerate.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objexcept.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objfilter.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objfloat.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objfun.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objgenerator.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objgetitemiter.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objint.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objint_longlong.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objint_mpz.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objlist.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objmap.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objmodule.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objobject.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objpolyiter.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objproperty.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objnone.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objnamedtuple.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objrange.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objreversed.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objset.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objsingleton.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objslice.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objstr.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objstrunicode.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objstringio.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objtuple.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objtype.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/objzip.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/opmethods.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/sequence.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/stream.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/binary.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/builtinimport.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/builtinevex.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/modarray.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/modbuiltins.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/modcollections.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/modgc.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/modio.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/modmath.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/modcmath.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/modmicropython.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/modstruct.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/modsys.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/moduerrno.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/persistentcode.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/scheduler.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/vm.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/bc.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/showbc.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/repl.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/reader.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/smallint.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/py/frozenmod.c
    > +
    > 
+################################################################################
    > +# Micropyton sources - extmod
    > 
+################################################################################
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/moductypes.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/modure.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/moduzlib.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/moduheapq.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/moduhashlib.c
    > +LIBMICROPYTHON_SRCS-y += 
$(LIBMICROPYTHON_SRCS_BASE)/extmod/modubinascii.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/machine_mem.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/machine_i2c.c
    > +LIBMICROPYTHON_SRCS-y += 
$(LIBMICROPYTHON_SRCS_BASE)/extmod/machine_pinbase.c
    > +LIBMICROPYTHON_SRCS-y += 
$(LIBMICROPYTHON_SRCS_BASE)/extmod/machine_pulse.c
    > +LIBMICROPYTHON_SRCS-y += 
$(LIBMICROPYTHON_SRCS_BASE)/extmod/machine_signal.c
    > +#LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/modussl.c
    
    We could add a config option here and enable the ssl mods. In this case
    
    we may use either modussl_axtls.c or modussl_mbedtls.c.
    
Actually modussl.c only exists under cc3200 board sub-directory. I'm guessing 
the line above is a remnant from an older port of Micropython so I should 
remove it.

    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/modurandom.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/modutimeq.c
    > +LIBMICROPYTHON_SRCS-y += 
$(LIBMICROPYTHON_SRCS_BASE)/extmod/modwebsocket.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/modwebrepl.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/modframebuf.c
    > +#LIBMICROPYTHON_SRCS-y += 
$(LIBMICROPYTHON_SRCS_BASE)/extmod/fsusermount.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/modujson.c
    > +#LIBMICROPYTHON_SRCS-y += 
$(LIBMICROPYTHON_SRCS_BASE)/extmod/moduos_dupterm.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/virtpin.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/extmod/utime_mphal.c
    > +LIBMICROPYTHON_SRCS-$(CONFIG_LIBLWIP) += 
$(LIBMICROPYTHON_BASE)/extmod/modlwip.c
    > +
    > 
+################################################################################
    > +# Micropyton sources - lib
    > 
+################################################################################
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/lib/utils/pyexec.c
    > +LIBMICROPYTHON_SRCS-y += 
$(LIBMICROPYTHON_SRCS_BASE)/lib/timeutils/timeutils.c
    > +LIBMICROPYTHON_SRCS-y += 
$(LIBMICROPYTHON_SRCS_BASE)/lib/mp-readline/readline.c
    > +LIBMICROPYTHON_SRCS-y += 
$(LIBMICROPYTHON_SRCS_BASE)/lib/netutils/netutils.c
    > +
    > 
+################################################################################
    > +# Micropyton sources - unix
    > 
+################################################################################
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/gccollect.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/unix_mphal.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/mpthreadport.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/input.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/file.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/alloc.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/coverage.c
    > +#LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/fatfs_port.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/moduselect.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/modmachine.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/modtime.c
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/modos.c
    > +#LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/modsocket.c
    > +
    > 
+################################################################################
    > +# Micropyton sources - frozen modules (auto-generated, see rule below)
    > 
+################################################################################
    > +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_BUILD)/frozen.c
    > +
    > 
+################################################################################
    > +# Lib-specific Targets
    > 
+################################################################################
    > +$(LIBMICROPYTHON_HEADER_BUILD)/qstrdefs.generated.h: 
$(LIBMICROPYTHON_PY_QSTR_DEFS) $(LIBMICROPYTHON_QSTR_DEFS) 
$(LIBMICROPYTHON_QSTR_DEFS_COLLECTED) 
$(LIBMICROPYTHON_SRCS_BASE)/py/makeqstrdata.py 
$(LIBMICROPYTHON_SRCS_BASE)/unix/mpconfigport.h 
$(LIBMICROPYTHON_MPCONFIGPORT_MK) $(LIBMICROPYTHON_SRCS_BASE)/py/mpconfig.h | 
$(LIBMICROPYTHON_HEADER_BUILD)
    > + $(call verbose_cmd,GEN,libmicropython':' qstrdefs.preprocessed.h,$(CAT) 
$(LIBMICROPYTHON_PY_QSTR_DEFS) $(LIBMICROPYTHON_QSTR_DEFS) 
$(LIBMICROPYTHON_QSTR_DEFS_COLLECTED) | $(SED) 's/^Q(.*)/"&"/' | $(CC) -E 
$(CFLAGS) $(CFLAGS-y) $(LIBMICROPYTHON_CFLAGS) $(LIBMICROPYTHON_CFLAGS-y) 
$(CINCLUDES) $(CINCLUDES-y) $(LIBMICROPYTHON_CINCLUDES) 
$(LIBMICROPYTHON_CINCLUDES-y) - | $(SED) 's/^"\(Q(.*)\)"/\1/' > 
$(LIBMICROPYTHON_HEADER_BUILD)/qstrdefs.preprocessed.h)
    > + $(call verbose_cmd,PY,libmicropython':' qstrdefs.generated.h,$(PYTHON) 
$(LIBMICROPYTHON_SRCS_BASE)/py/makeqstrdata.py 
$(LIBMICROPYTHON_HEADER_BUILD)/qstrdefs.preprocessed.h > $@)
    > +
    > +$(LIBMICROPYTHON_HEADER_BUILD): $(LIBMICROPYTHON_BUILD)/.patched
    > + $(call verbose_cmd,MKDIR,libmicropython':' $(notdir 
$(LIBMICROPYTHON_HEADER_BUILD)),$(MKDIR) $(LIBMICROPYTHON_HEADER_BUILD))
    > +
    > +$(LIBMICROPYTHON_HEADER_BUILD)/mpversion.h: | 
$(LIBMICROPYTHON_HEADER_BUILD)
    > + $(call verbose_cmd,PY,libmicropython':' $(notdir $@),$(PYTHON) 
$(LIBMICROPYTHON_SRCS_BASE)/py/makeversionhdr.py $@)
    > +
    > +$(LIBMICROPYTHON_HEADER_BUILD)/qstr.i.last: | 
$(LIBMICROPYTHON_HEADER_BUILD)/mpversion.h
    > + $(call verbose_cmd,GEN,libmicropython':' $(notdir $@),$(CC) -E 
$(LIBMICROPYTHON_QSTR_GEN_EXTRA_CFLAGS) $(CINCLUDES) $(CINCLUDES-y) 
$(LIBMICROPYTHON_CINCLUDES) $(LIBMICROPYTHON_CINCLUDES-y) 
$(LIBMICROPYTHON_SRCS-y) >$(LIBMICROPYTHON_HEADER_BUILD)/qstr.i.last)
    > +
    > +$(LIBMICROPYTHON_HEADER_BUILD)/qstr.split: 
$(LIBMICROPYTHON_HEADER_BUILD)/qstr.i.last
    > + $(call verbose_cmd,PY,libmicropython':' $(notdir $@),$(PYTHON) 
$(LIBMICROPYTHON_SRCS_BASE)/py//makeqstrdefs.py split 
$(LIBMICROPYTHON_HEADER_BUILD)/qstr.i.last $(LIBMICROPYTHON_HEADER_BUILD)/qstr 
$(LIBMICROPYTHON_QSTR_DEFS_COLLECTED) && touch $@)
    > +
    > +$(LIBMICROPYTHON_QSTR_DEFS_COLLECTED): 
$(LIBMICROPYTHON_HEADER_BUILD)/qstr.split
    > + $(call verbose_cmd,PY,libmicropython':' $(notdir $@),$(PYTHON) 
$(LIBMICROPYTHON_SRCS_BASE)/py/makeqstrdefs.py cat 
$(LIBMICROPYTHON_HEADER_BUILD)/qstr.i.last $(LIBMICROPYTHON_HEADER_BUILD)/qstr 
$(LIBMICROPYTHON_QSTR_DEFS_COLLECTED))
    > +
    > +$(LIBMICROPYTHON_BUILD)/frozen.c: $(wildcard 
$(LIBMICROPYTHON_FROZEN_DIR)/*) $(LIBMICROPYTHON_HEADER_BUILD)
    > + $(call verbose_cmd,PY,libmicropython':' $(notdir $@),$(PYTHON) 
$(LIBMICROPYTHON_SRCS_BASE)/tools/make-frozen.py $(LIBMICROPYTHON_FROZEN_DIR) > 
$@)
    > +
    > +$(LIBMICROPYTHON_BUILD)/.prepared: $(LIBMICROPYTHON_BUILD)/frozen.c 
$(LIBMICROPYTHON_HEADER_BUILD)/qstrdefs.generated.h
    > +
    > +UK_PREPARE-$(CONFIG_LIBMICROPYTHON) += $(LIBMICROPYTHON_BUILD)/.prepared
    > diff --git a/mpconfigport.mk b/mpconfigport.mk
    > new file mode 100644
    > index 0000000..6e5d3fa
    > --- /dev/null
    > +++ b/mpconfigport.mk
    > @@ -0,0 +1,45 @@
    > +# Enable/disable modules and 3rd-party libs to be included in interpreter
    > +
    > +# Build 32-bit binaries on a 64-bit host
    > +MICROPY_FORCE_32BIT = 0
    > +
    > +# This variable can take the following values:
    > +#  0 - no readline, just simple stdin input
    > +#  1 - use MicroPython version of readline
    > +MICROPY_USE_READLINE = 1
    > +
    > +# btree module using Berkeley DB 1.xx
    > +MICROPY_PY_BTREE = 0
    > +
    > +# _thread module using pthreads
    > +MICROPY_PY_THREAD = 1
    > +
    > +# Subset of CPython termios module
    > +MICROPY_PY_TERMIOS = 0
    > +
    > +# Subset of CPython socket module
    > +MICROPY_PY_SOCKET = 0
    > +
    > +# Subset of CPython lwip module
    > +MICROPY_PY_LWIP = 1
    > +
    > +# ffi module requires libffi (libffi-dev Debian package)
    > +MICROPY_PY_FFI = 0
    > +
    > +# ussl module requires one of the TLS libraries below
    > +MICROPY_PY_USSL = 0
    > +# axTLS has minimal size and fully integrated with MicroPython, but
    > +# implements only a subset of modern TLS functionality, so may have
    > +# problems with some servers.
    > +MICROPY_SSL_AXTLS = 0
    > +# mbedTLS is more up to date and complete implementation, but also
    > +# more bloated. Configuring and building of mbedTLS should be done
    > +# outside of MicroPython, it can just link with mbedTLS library.
    > +MICROPY_SSL_MBEDTLS = 0
    
    I think that we now have support for both mbedtls and axtls on Unikraft. 
    Perhaps we could make
    
    a rule to change MICROPY_SSL_MBEDTLS or MICROPY_SSL_AXTLS to 1 based on 
    their
    
    availability?

This makes sense, but I'd need to test if this actually works first (and 
mbedtls isn't yet upstream). If you agree I can look into this as a further 
series after this initial one.
    
    > +
    > +# jni module requires JVM/JNI
    > +MICROPY_PY_JNI = 0
    > +
    > +# Avoid using system libraries, use copies bundled with MicroPython
    > +# as submodules (currently affects only libffi).
    > +MICROPY_STANDALONE = 0
    _______________________________________________
    Minios-devel mailing list
    Minios-devel@xxxxxxxxxxxxxxxxxxxx
    https://lists.xenproject.org/mailman/listinfo/minios-devel

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.