|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT/LIBMICROPYTHON PATCH 2/7] Add Makefile.uk
Hi Vlad,
On 08.10.19, 16:01, "Minios-devel on behalf of Vlad-Andrei BĂDOIU (78692)"
<minios-devel-bounces@xxxxxxxxxxxxxxxxxxxx on behalf of
vlad_andrei.badoiu@xxxxxxxxxxxxxxx> wrote:
Hey Felipe,
I have just seen this small typo while testing the config options.
Please see my comment inline.
Thanks,
Vlad
On 08.10.2019 13:55, Vlad-Andrei BĂDOIU (78692) wrote:
> Thanks for the patch Felipe!
>
> Reviewed-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
>
> On 08.10.2019 11:04, Felipe Huici wrote:
>> We patch unix/main.c and optionally provide a main() to enter
>> Micropython's main loop. We also add mpconfigport.mk, Micropython's
>> Makefile.
>>
>> Signed-off-by: Felipe Huici <felipe.huici@xxxxxxxxx>
>> ---
>> Makefile.uk | 299 ++++++++++++++++++++++++++++++++++++++++++++++++
>> mpconfigport.mk | 45 ++++++++
>> 2 files changed, 344 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..74d2259
>> --- /dev/null
>> +++ b/Makefile.uk
>> @@ -0,0 +1,299 @@
>> +# 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
>> +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 \
>> + -Wno-implicit-fallthrough \
>> + -Wno-expansion-to-defined \
>> + -Wno-unused-label \
>> + -Wno-implicit-function-declaration \
>> + -Wno-unused-but-set-variable \
>> + -Wno-unused-function
>> +
>>
+################################################################################
>> +# Unikraft <-> Micropython glue code
>>
+################################################################################
>> +LIBMICROPYTHON_SRCS-(CONFIG_LIBMICROPYTHON_MAIN_FUNCTION) +=
$(LIBMICROPYTHON_BASE)/main.c
There is a missing $ sign before (CONFIG_LIBMICROPYTHON_MAIN_FUNCTION). In
this case the main.c file
is never compiled.
Thanks for spotting that, I'll fix it.
-- Felipe
>> +
>>
+################################################################################
>> +# Micropyton sources - py
>>
+################################################################################
>> +LIBMICROPYTHON_MAIN_FLAGS-y += -Dmain=micropython_main
>> +LIBMICROPYTHON_SRCS-y += $(LIBMICROPYTHON_SRCS_BASE)/unix/main.c
>> +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/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_SRCS_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
>> +
>> +# 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
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |