diff options
Diffstat (limited to 'development/quickjs/patches/01-Makefile.patch')
-rw-r--r-- | development/quickjs/patches/01-Makefile.patch | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/development/quickjs/patches/01-Makefile.patch b/development/quickjs/patches/01-Makefile.patch new file mode 100644 index 0000000000..10eb343fb3 --- /dev/null +++ b/development/quickjs/patches/01-Makefile.patch @@ -0,0 +1,116 @@ +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" + |