mirror of
https://github.com/apache/nuttx-apps.git
synced 2026-08-02 04:39:01 +00:00
QUICKJS_URL_BASE in Cmakefile and Makefile was not the same. Updated the correct url in Makefile. fix https://github.com/apache/nuttx/issues/15712 To avoid future breakage, used the URL with last commit ID Current version 2024-02-14 as found in the VERSION file https://github.com/bellard/quickjs/blob/master/VERSION Signed-off-by: simbit18 <simbit18@gmail.com>
100 lines
3.2 KiB
Makefile
100 lines
3.2 KiB
Makefile
############################################################################
|
|
# apps/interpreters/quickjs/Makefile
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
# this work for additional information regarding copyright ownership. The
|
|
# ASF licenses this file to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance with the
|
|
# License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
############################################################################
|
|
|
|
include $(APPDIR)/Make.defs
|
|
|
|
QUICKJS_VERSION = 2024-02-14
|
|
QUICKJS_COMMIT_ID = 6e2e68fd0896957f92eb6c242a2e048c1ef3cae0
|
|
QUICKJS_UNPACK = quickjs
|
|
QUICKJS_ARCHIVE = $(QUICKJS_COMMIT_ID).zip
|
|
QUICKJS_URL = https://github.com/bellard/quickjs/archive/$(QUICKJS_ARCHIVE)
|
|
|
|
CSRCS = quickjs.c libregexp.c libbf.c libunicode.c cutils.c
|
|
|
|
VERSION=\"$(QUICKJS_VERSION)\"
|
|
|
|
CFLAGS += -Dmp_add=qjs_mp_add -Dmp_sub=qjs_mp_sub -Dmp_mul=qjs_mp_mul
|
|
CFLAGS += -DCONFIG_VERSION=$(VERSION) -Wno-shadow
|
|
CFLAGS += -Wno-array-bounds -I$(QUICKJS_UNPACK)
|
|
CFLAGS += -D__linux__ -include alloca.h
|
|
CFLAGS += -Wno-incompatible-pointer-types
|
|
CFLAGS += -Wno-implicit-function-declaration
|
|
CFLAGS += -Wno-unused-function
|
|
CFLAGS += -Wno-format
|
|
|
|
ifeq ($(CONFIG_ARCH_ARM),y)
|
|
CFLAGS += -DFE_TONEAREST=0x00000000
|
|
CFLAGS += -DFE_UPWARD=0x00400000
|
|
CFLAGS += -DFE_DOWNWARD=0x00800000
|
|
CFLAGS += -DFE_TOWARDZERO=0x00c00000
|
|
endif
|
|
|
|
ifeq ($(CONFIG_INTERPRETERS_QUICKJS_BIGNUM),y)
|
|
CFLAGS += -DCONFIG_BIGNUM
|
|
CSRCS += qjscalc.c
|
|
endif
|
|
|
|
VPATH += $(QUICKJS_UNPACK)
|
|
DEPPATH += --dep-path $(QUICKJS_UNPACK)
|
|
|
|
ifneq ($(CONFIG_INTERPRETERS_QUICKJS_NONE),y)
|
|
PROGNAME = qjs
|
|
PRIORITY = $(CONFIG_INTERPRETERS_QUICKJS_PRIORITY)
|
|
STACKSIZE = $(CONFIG_INTERPRETERS_QUICKJS_STACKSIZE)
|
|
MODULE = $(CONFIG_INTERPRETERS_QUICKJS)
|
|
endif
|
|
|
|
$(QUICKJS_ARCHIVE):
|
|
$(Q) echo "Downloading $(QUICKJS_ARCHIVE)"
|
|
$(Q) curl -L $(QUICKJS_URL) -o quickjs-$(QUICKJS_ARCHIVE)
|
|
|
|
$(QUICKJS_UNPACK): $(QUICKJS_ARCHIVE)
|
|
$(Q) echo "Unpacking quickjs-$(QUICKJS_ARCHIVE) to $(QUICKJS_UNPACK)"
|
|
$(Q) unzip -q -o quickjs-$(QUICKJS_ARCHIVE)
|
|
$(Q) mv quickjs-$(QUICKJS_COMMIT_ID) $(QUICKJS_UNPACK)
|
|
$(Q) patch -d $(QUICKJS_UNPACK) -p1 < 0001-Disabled-unsupported-feature-on-NuttX.patch
|
|
|
|
ifeq ($(CONFIG_INTERPRETERS_QUICKJS_MINI),y)
|
|
MAINSRC = qjsmini.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_INTERPRETERS_QUICKJS_FULL),y)
|
|
CSRCS += quickjs-libc.c repl.c
|
|
MAINSRC = qjs.c
|
|
endif
|
|
|
|
# Download and unpack zipball if no archive found
|
|
ifeq ($(wildcard $(QUICKJS_UNPACK)/.*),)
|
|
ifeq ($(CONFIG_INTERPRETERS_QUICKJS_FULL),y)
|
|
context:: $(QUICKJS_UNPACK)
|
|
$(MAKE) -C $(QUICKJS_UNPACK) \
|
|
CONFIG_BIGNUM=$(CONFIG_INTERPRETERS_QUICKJS_BIGNUM)
|
|
else
|
|
context:: $(QUICKJS_UNPACK)
|
|
endif
|
|
endif
|
|
|
|
distclean::
|
|
$(call DELDIR, $(QUICKJS_UNPACK))
|
|
$(call DELFILE, $(QUICKJS_ARCHIVE))
|
|
|
|
include $(APPDIR)/Application.mk
|