diff options
Diffstat (limited to 'development/quickjs/patches/01-Makefile.patch')
-rw-r--r-- | development/quickjs/patches/01-Makefile.patch | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/development/quickjs/patches/01-Makefile.patch b/development/quickjs/patches/01-Makefile.patch new file mode 100644 index 000000000000..2e3650369b2a --- /dev/null +++ b/development/quickjs/patches/01-Makefile.patch @@ -0,0 +1,108 @@ +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-2021-03-27/Makefile 2021-03-27 07:00:32.000000000 -0300 ++++ quickjs-2021-03-27-modified/Makefile 2022-08-02 21:52:01.476250120 -0300 +@@ -36,12 +36,14 @@ + + ifdef CONFIG_DARWIN + # use clang instead of gcc +-CONFIG_CLANG=y ++#CONFIG_CLANG=y + CONFIG_DEFAULT_AR=y + endif + + # installation directory + prefix=/usr/local ++libdir=$(prefix)/lib ++CFLAGS_EXTRA= + + # use the gprof profiler + #CONFIG_PROFILE=y +@@ -66,7 +68,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 +@@ -87,7 +89,7 @@ + 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 +@@ -107,12 +109,15 @@ + DEFINES+=-D__USE_MINGW_ANSI_STDIO # for standard snprintf behavior + endif + ++DEFINES += -DCONFIG_LIBDIR=\"$(libdir)\" ++ ++CFLAGS+=$(CFLAGS_EXTRA) + CFLAGS+=$(DEFINES) + CFLAGS_DEBUG=$(CFLAGS) -O0 + CFLAGS_SMALL=$(CFLAGS) -Os + CFLAGS_OPT=$(CFLAGS) -O2 + CFLAGS_NOLTO:=$(CFLAGS_OPT) +-LDFLAGS=-g ++#LDFLAGS=-g + ifdef CONFIG_LTO + CFLAGS_SMALL+=-flto + CFLAGS_OPT+=-flto +@@ -157,14 +162,14 @@ + ifdef CONFIG_ASAN + PROGS+= + else +-PROGS+=examples/hello examples/hello_module examples/test_fib ++#PROGS+=examples/hello examples/hello_module examples/test_fib + ifndef CONFIG_DARWIN +-PROGS+=examples/fib.so examples/point.so ++#PROGS+=examples/fib.so examples/point.so + endif + 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 + +@@ -187,6 +192,9 @@ + qjs$(EXE): $(QJS_OBJS) + $(CC) $(LDFLAGS) $(LDEXPORT) -o $@ $^ $(LIBS) + ++libquickjs.so: $(QJS_LIB_OBJS) ++ $(CC) -shared $(LDFLAGS) -fPIC $(LDEXPORT) -o $@ $^ $(LIBS) ++ + qjs-debug$(EXE): $(patsubst %.o, %.debug.o, $(QJS_OBJS)) + $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + +@@ -299,13 +307,15 @@ + + 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" ++ mkdir -p "$(DESTDIR)/$(libdir)/quickjs" ++ install -m644 libquickjs.a "$(DESTDIR)/$(libdir)/quickjs" ++ install -m644 libquickjs.so "$(DESTDIR)/$(libdir)/quickjs" ++ ln -s quickjs/libquickjs.so "$(DESTDIR)/$(libdir)/libquickjs.so" + ifdef CONFIG_LTO +- install -m644 libquickjs.lto.a "$(DESTDIR)$(prefix)/lib/quickjs" ++ install -m644 libquickjs.lto.a "$(DESTDIR)/$(libdir)/quickjs" + endif + mkdir -p "$(DESTDIR)$(prefix)/include/quickjs" + install -m644 quickjs.h quickjs-libc.h "$(DESTDIR)$(prefix)/include/quickjs" |