# HG changeset patch # User Franz Glasner # Date 1758115917 -7200 # Node ID fdb709369d5714c1f1637d40bf140982d39b2466 # Parent f704f0a78213778e769f2211b9f1addf35099a74 Do not use -z,relro,-z,now on Systems where it is not supported. This is especially Darwin. diff -r f704f0a78213 -r fdb709369d57 mupdf-source/Makerules --- a/mupdf-source/Makerules Wed Sep 17 12:49:20 2025 +0200 +++ b/mupdf-source/Makerules Wed Sep 17 15:31:57 2025 +0200 @@ -152,13 +152,22 @@ LDFLAGS += -g else ifeq ($(build),release) CFLAGS += -pipe -O2 -DNDEBUG - LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s,-z,relro,-z,now + LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s + ifneq ($(OS),Darwin) + LDFLAGS += -Wl,-z,relro,-z,now + endif else ifeq ($(build),small) CFLAGS += -pipe -Os -DNDEBUG - LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s,-z,relro,-z,now + LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s + ifneq ($(OS),Darwin) + LDFLAGS += -Wl,-z,relro,-z,now + endif else ifeq ($(build),valgrind) CFLAGS += -pipe -O2 -DNDEBUG -DPACIFY_VALGRIND - LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s,-z,relro,-z,now + LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s + ifneq ($(OS),Darwin) + LDFLAGS += -Wl,-z,relro,-z,now + endif else ifeq ($(build),sanitize) CFLAGS += -pipe -g $(SANITIZE_FLAGS) LDFLAGS += -g $(SANITIZE_FLAGS) @@ -173,7 +182,10 @@ LIBS += -lgcov else ifeq ($(build),native) CFLAGS += -pipe -O2 -DNDEBUG -march=native - LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s,-z,relro,-z,now + LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s + ifneq ($(OS),Darwin) + LDFLAGS += -Wl,-z,relro,-z,now + endif else ifeq ($(build),memento) CFLAGS += -pipe -g -DMEMENTO -DMEMENTO_MUPDF_HACKS LDFLAGS += -g -rdynamic diff -r f704f0a78213 -r fdb709369d57 mupdf-source/scripts/jlib.py --- a/mupdf-source/scripts/jlib.py Wed Sep 17 12:49:20 2025 +0200 +++ b/mupdf-source/scripts/jlib.py Wed Sep 17 15:31:57 2025 +0200 @@ -2303,10 +2303,11 @@ ret += ' -Wl,-rpath,@loader_path/.' else: ret += " -Wl,-rpath,'$ORIGIN',-z,origin" - # FreeBSD - # Full RELRO - ret += ' -Wl,-z,relro,-z,now' - # Strip - ret += ' -Wl,-s' + if not darwin and (platform.system() != 'Windows'): + # *BSD and Linux + # Full RELRO + ret += ' -Wl,-z,relro,-z,now' + # Strip + ret += ' -Wl,-s' #log('{sos=} {ld_origin=} {ret=}') return ret.strip() diff -r f704f0a78213 -r fdb709369d57 setup.py --- a/setup.py Wed Sep 17 12:49:20 2025 +0200 +++ b/setup.py Wed Sep 17 15:31:57 2025 +0200 @@ -1215,11 +1215,12 @@ compiler_extra += f' {pyodide_flags}' linker_extra += f' {pyodide_flags}' - # FreeBSD: - # Full RELRO - linker_extra += ' -Wl,-z,relro,-z,now' - # Strip - linker_extra += ' -Wl,-s' + if not darwin and (platform.system() != 'Windows'): + # *BSD and Linux + # Full RELRO + linker_extra += ' -Wl,-z,relro,-z,now' + # Strip + linker_extra += ' -Wl,-s' return compiler_extra, linker_extra, includes, defines, optimise, debug, libpaths, libs, libraries,