117 lines
3.5 KiB
Diff
117 lines
3.5 KiB
Diff
01-Makefile.patch, changes:
|
|
* on x86_64 systems, install libraries in /usr/lib64
|
|
* added shared library target
|
|
* added CFLAGS_EXTRA to pass $SLKCFLAGS (can be improved)
|
|
* avoid building examples
|
|
* disabled debug information
|
|
|
|
--- quickjs-2024-01-13/Makefile 2024-01-13 07:20:39.000000000 -0300
|
|
+++ quickjs-2024-01-13m/Makefile 2024-02-04 02:01:09.732016372 -0300
|
|
@@ -39,6 +39,8 @@
|
|
# installation directory
|
|
PREFIX?=/usr/local
|
|
|
|
+CFLAGS+=$(CFLAGS_EXTRA)
|
|
+
|
|
# use the gprof profiler
|
|
#CONFIG_PROFILE=y
|
|
# use address sanitizer
|
|
@@ -69,7 +71,7 @@
|
|
ifdef CONFIG_CLANG
|
|
HOST_CC=clang
|
|
CC=$(CROSS_PREFIX)clang
|
|
- CFLAGS+=-g -Wall -MMD -MF $(OBJDIR)/$(@F).d
|
|
+ CFLAGS+= -Wall -MMD -MF $(OBJDIR)/$(@F).d
|
|
CFLAGS += -Wextra
|
|
CFLAGS += -Wno-sign-compare
|
|
CFLAGS += -Wno-missing-field-initializers
|
|
@@ -92,13 +94,13 @@
|
|
HOST_CC=gcc
|
|
CC=cosmocc
|
|
# cosmocc does not correct support -MF
|
|
- CFLAGS=-g -Wall #-MMD -MF $(OBJDIR)/$(@F).d
|
|
+ CFLAGS= -Wall #-MMD -MF $(OBJDIR)/$(@F).d
|
|
CFLAGS += -Wno-array-bounds -Wno-format-truncation
|
|
AR=cosmoar
|
|
else
|
|
HOST_CC=gcc
|
|
CC=$(CROSS_PREFIX)gcc
|
|
- CFLAGS+=-g -Wall -MMD -MF $(OBJDIR)/$(@F).d
|
|
+ CFLAGS+= -Wall -MMD -MF $(OBJDIR)/$(@F).d
|
|
CFLAGS += -Wno-array-bounds -Wno-format-truncation
|
|
ifdef CONFIG_LTO
|
|
AR=$(CROSS_PREFIX)gcc-ar
|
|
@@ -127,7 +129,7 @@
|
|
ifdef CONFIG_COSMO
|
|
LDFLAGS+=-s # better to strip by default
|
|
else
|
|
-LDFLAGS+=-g
|
|
+LDFLAGS+=
|
|
endif
|
|
ifdef CONFIG_LTO
|
|
CFLAGS_SMALL+=-flto
|
|
@@ -176,16 +178,16 @@
|
|
|
|
# examples
|
|
ifeq ($(CROSS_PREFIX),)
|
|
-PROGS+=examples/hello
|
|
+#PROGS+=examples/hello
|
|
ifndef CONFIG_ASAN
|
|
-PROGS+=examples/hello_module
|
|
+#PROGS+=examples/hello_module
|
|
endif
|
|
ifdef CONFIG_SHARED_LIBS
|
|
-PROGS+=examples/test_fib examples/fib.so examples/point.so
|
|
+#PROGS+=examples/test_fib examples/fib.so examples/point.so
|
|
endif
|
|
endif
|
|
|
|
-all: $(OBJDIR) $(OBJDIR)/quickjs.check.o $(OBJDIR)/qjs.check.o $(PROGS)
|
|
+all: $(OBJDIR) $(OBJDIR)/quickjs.check.o $(OBJDIR)/qjs.check.o $(PROGS) libquickjs.so
|
|
|
|
QJS_LIB_OBJS=$(OBJDIR)/quickjs.o $(OBJDIR)/libregexp.o $(OBJDIR)/libunicode.o $(OBJDIR)/cutils.o $(OBJDIR)/quickjs-libc.o $(OBJDIR)/libbf.o
|
|
|
|
@@ -213,6 +215,9 @@
|
|
qjsc$(EXE): $(OBJDIR)/qjsc.o $(QJS_LIB_OBJS)
|
|
$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
+libquickjs.so: $(QJS_LIB_OBJS)
|
|
+ $(CC) -shared -fPIC $(LDFLAGS) -o $@ $^ $(LIBS)
|
|
+
|
|
ifneq ($(CROSS_PREFIX),)
|
|
|
|
$(QJSC): $(OBJDIR)/qjsc.host.o \
|
|
@@ -221,11 +226,11 @@
|
|
|
|
endif #CROSS_PREFIX
|
|
|
|
-QJSC_DEFINES:=-DCONFIG_CC=\"$(QJSC_CC)\" -DCONFIG_PREFIX=\"$(PREFIX)\"
|
|
+QJSC_DEFINES:=-DCONFIG_CC=\"$(QJSC_CC)\" -DCONFIG_PREFIX=\"$(PREFIX)\" -DCONFIG_LIBDIR=\"$(LIBDIR)\"
|
|
ifdef CONFIG_LTO
|
|
QJSC_DEFINES+=-DCONFIG_LTO
|
|
endif
|
|
-QJSC_HOST_DEFINES:=-DCONFIG_CC=\"$(HOST_CC)\" -DCONFIG_PREFIX=\"$(PREFIX)\"
|
|
+QJSC_HOST_DEFINES:=-DCONFIG_CC=\"$(HOST_CC)\" -DCONFIG_PREFIX=\"$(PREFIX)\" -DCONFIG_LIBDIR=\"$(LIBDIR)\"
|
|
|
|
$(OBJDIR)/qjsc.o: CFLAGS+=$(QJSC_DEFINES)
|
|
$(OBJDIR)/qjsc.host.o: CFLAGS+=$(QJSC_HOST_DEFINES)
|
|
@@ -319,14 +324,12 @@
|
|
|
|
install: all
|
|
mkdir -p "$(DESTDIR)$(PREFIX)/bin"
|
|
- $(STRIP) qjs qjsc
|
|
+ $(STRIP) qjs qjsc libquickjs.so
|
|
install -m755 qjs qjsc "$(DESTDIR)$(PREFIX)/bin"
|
|
ln -sf qjs "$(DESTDIR)$(PREFIX)/bin/qjscalc"
|
|
- mkdir -p "$(DESTDIR)$(PREFIX)/lib/quickjs"
|
|
- install -m644 libquickjs.a "$(DESTDIR)$(PREFIX)/lib/quickjs"
|
|
-ifdef CONFIG_LTO
|
|
- install -m644 libquickjs.lto.a "$(DESTDIR)$(PREFIX)/lib/quickjs"
|
|
-endif
|
|
+ mkdir -p "$(DESTDIR)$(LIBDIR)/quickjs"
|
|
+ install -m644 libquickjs.a "$(DESTDIR)$(LIBDIR)/quickjs"
|
|
+ install -m755 libquickjs.so "$(DESTDIR)$(LIBDIR)"
|
|
mkdir -p "$(DESTDIR)$(PREFIX)/include/quickjs"
|
|
install -m644 quickjs.h quickjs-libc.h "$(DESTDIR)$(PREFIX)/include/quickjs"
|
|
|