diff options
Diffstat (limited to 'libraries/QR-Code-generator/qr-code-generator-build-fixes.patch')
-rw-r--r-- | libraries/QR-Code-generator/qr-code-generator-build-fixes.patch | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/libraries/QR-Code-generator/qr-code-generator-build-fixes.patch b/libraries/QR-Code-generator/qr-code-generator-build-fixes.patch new file mode 100644 index 0000000000..4acdfe4999 --- /dev/null +++ b/libraries/QR-Code-generator/qr-code-generator-build-fixes.patch @@ -0,0 +1,156 @@ +diff -urN QR-Code-generator-1.6.0.orig/c/Makefile QR-Code-generator-1.6.0/c/Makefile +--- QR-Code-generator-1.6.0.orig/c/Makefile 2020-10-28 13:44:11.561734024 -0700 ++++ QR-Code-generator-1.6.0/c/Makefile 2020-10-28 13:47:38.512702152 -0700 +@@ -29,11 +29,15 @@ + # - CFLAGS: Any extra user-specified compiler flags (can be blank). + + # Recommended compiler flags: +-CFLAGS += -std=c99 -O ++CFLAGS += -O2 ++ ++MAIN_FLAGS := -std=c99 -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion + + # Extra flags for diagnostics: +-# CFLAGS += -g -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -fsanitize=undefined,address ++# MAIN_FLAGS += -g -fsanitize=undefined,address + ++# Version information ++VERSION = 1.6.0 + + # ---- Controlling make ---- + +@@ -51,10 +55,19 @@ + # ---- Targets to build ---- + + LIB = qrcodegen +-LIBFILE = lib$(LIB).a ++LIBFILE = lib$(LIB).so ++# Bump the soname number when the ABI changes and gets incompatible ++SO_NAME = $(LIBFILE).1 ++REAL_NAME = $(LIBFILE).$(VERSION) ++HEADERS = qrcodegen.h + LIBOBJ = qrcodegen.o + MAINS = qrcodegen-demo qrcodegen-test qrcodegen-worker + ++# define paths to install ++PREFIX ?= /usr/local ++INCLUDEDIR ?= $(PREFIX)/include/qrcodegen ++LIBDIR ?= $(PREFIX)/lib ++ + # Build all binaries + all: $(LIBFILE) $(MAINS) + +@@ -63,21 +76,33 @@ + rm -f -- $(LIBOBJ) $(LIBFILE) $(MAINS:=.o) $(MAINS) + rm -rf .deps + ++install-shared: $(LIBFILE) ++ mkdir -p $(DESTDIR)$(LIBDIR) ++ install -m 0755 $(LIBFILE) $(DESTDIR)$(LIBDIR)/$(REAL_NAME) ++ ln -s $(REAL_NAME) $(DESTDIR)$(LIBDIR)/$(SO_NAME) ++ ln -s $(SO_NAME) $(DESTDIR)$(LIBDIR)/$(LIBFILE) ++ ++install-header: $(HEADERS) ++ mkdir -p $(DESTDIR)$(INCLUDEDIR) ++ install -m 0644 $(HEADERS) $(DESTDIR)$(INCLUDEDIR)/ ++ ++install: install-shared install-header ++ + # Executable files + %: %.o $(LIBFILE) + $(CC) $(CFLAGS) -o $@ $< -L . -l $(LIB) + + # Special executable + qrcodegen-test: qrcodegen-test.c $(LIBOBJ:%.o=%.c) +- $(CC) $(CFLAGS) -DQRCODEGEN_TEST -o $@ $^ ++ $(CC) $(CFLAGS) $(MAIN_FLAGS) -DQRCODEGEN_TEST -o $@ $^ + + # The library + $(LIBFILE): $(LIBOBJ) +- $(AR) -crs $@ -- $^ ++ $(CC) $(CFLAGS) $(MAIN_FLAGS) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) -o $@ $^ + + # Object files + %.o: %.c .deps/timestamp +- $(CC) $(CFLAGS) -c -o $@ -MMD -MF .deps/$*.d $< ++ $(CC) $(CFLAGS) $(MAIN_FLAGS) -c -o $@ -MMD -MF .deps/$*.d $< + + # Have a place to store header dependencies automatically generated by compiler + .deps/timestamp: +diff -urN QR-Code-generator-1.6.0.orig/cpp/Makefile QR-Code-generator-1.6.0/cpp/Makefile +--- QR-Code-generator-1.6.0.orig/cpp/Makefile 2020-10-28 13:44:11.561734024 -0700 ++++ QR-Code-generator-1.6.0/cpp/Makefile 2020-10-28 13:48:27.218164945 -0700 +@@ -29,11 +29,15 @@ + # - CXXFLAGS: Any extra user-specified compiler flags (can be blank). + + # Recommended compiler flags: +-CXXFLAGS += -std=c++11 -O ++CXXFLAGS ?= -O2 ++ ++MAIN_FLAGS := -std=c++11 -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion + + # Extra flags for diagnostics: +-# CXXFLAGS += -g -Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -fsanitize=undefined,address ++# MAIN_FLAGS += -g -fsanitize=undefined,address + ++# Version information ++VERSION = 1.6.0 + + # ---- Controlling make ---- + +@@ -50,11 +54,20 @@ + + # ---- Targets to build ---- + +-LIB = qrcodegen +-LIBFILE = lib$(LIB).a ++LIB = qrcodegencpp ++LIBFILE = lib$(LIB).so ++# Bump the soname number when the ABI changes and gets incompatible ++SO_NAME = $(LIBFILE).1 ++REAL_NAME = $(LIBFILE).$(VERSION) ++HEADERS = QrCode.hpp + LIBOBJ = QrCode.o + MAINS = QrCodeGeneratorDemo QrCodeGeneratorWorker + ++# define paths to install ++PREFIX ?= /usr/local ++INCLUDEDIR ?= $(PREFIX)/include/qrcodegen ++LIBDIR ?= $(PREFIX)/lib ++ + # Build all binaries + all: $(LIBFILE) $(MAINS) + +@@ -63,17 +76,29 @@ + rm -f -- $(LIBOBJ) $(LIBFILE) $(MAINS:=.o) $(MAINS) + rm -rf .deps + ++install-shared: $(LIBFILE) ++ mkdir -p $(DESTDIR)$(LIBDIR) ++ install -m 0755 $(LIBFILE) $(DESTDIR)$(LIBDIR)/$(REAL_NAME) ++ ln -s $(REAL_NAME) $(DESTDIR)$(LIBDIR)/$(SO_NAME) ++ ln -s $(SO_NAME) $(DESTDIR)$(LIBDIR)/$(LIBFILE) ++ ++install-header: $(HEADERS) ++ mkdir -p $(DESTDIR)$(INCLUDEDIR) ++ install -m 0644 $(HEADERS) $(DESTDIR)$(INCLUDEDIR)/ ++ ++install: install-shared install-header ++ + # Executable files + %: %.o $(LIBFILE) +- $(CXX) $(CXXFLAGS) -o $@ $< -L . -l $(LIB) ++ $(CXX) $(CXXFLAGS) $(MAIN_FLAGS) -o $@ $< -L . -l $(LIB) + + # The library + $(LIBFILE): $(LIBOBJ) +- $(AR) -crs $@ -- $^ ++ $(CXX) $(CXXFLAGS) $(MAIN_FLAGS) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) -o $@ $^ + + # Object files + %.o: %.cpp .deps/timestamp +- $(CXX) $(CXXFLAGS) -c -o $@ -MMD -MF .deps/$*.d $< ++ $(CXX) $(CXXFLAGS) $(MAIN_FLAGS) -c -o $@ -MMD -MF .deps/$*.d $< + + # Have a place to store header dependencies automatically generated by compiler + .deps/timestamp: |