--- a/Makefile +++ b/Makefile @@ -16,6 +16,12 @@ include Makethird +LINKER = $(CC) +ifeq ($(THIRD_NEEDS_CXX_LINKER),yes) + LINKER = $(CXX) +endif +THIRD_LINK_LIBS := $(filter-out $(CXX_LINKER_FLAG),$(THIRD_LIBS)) + # --- Configuration --- # Do not specify CFLAGS, LDFLAGS, LIB_LDFLAGS, EXE_LDFLAGS or LIBS on the make @@ -81,20 +87,20 @@ ifdef RANLIB RANLIB_CMD = $(QUIET_RANLIB) $(RANLIB) $@ endif -LINK_CMD = $(QUIET_LINK) $(MKTGTDIR) ; $(CC) $(EXE_LDFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) +LINK_CMD = $(QUIET_LINK) $(MKTGTDIR) ; $(LINKER) $(EXE_LDFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) TAGS_CMD = $(QUIET_TAGS) ctags OBJCOPY_CMD = $(QUIET_OBJCOPY) $(MKTGTDIR) ; $(LD) -r -b binary -z noexecstack -o $@ $< SYMLINK_CMD = $(QUIET_SYMLINK) $(MKTGTDIR) ; ln -sf ifeq ($(shared),yes) ifeq ($(USE_ARGUMENT_FILE),yes) - LINK_SO_CMD = $(QUIET_LINK_SO) $(MKTGTDIR) ; $(CC) $(LIB_LDFLAGS) $(LDFLAGS) -o $@ $(file > $@.in,$^) @$@.in + LINK_SO_CMD = $(QUIET_LINK_SO) $(MKTGTDIR) ; $(LINKER) $(LIB_LDFLAGS) $(LDFLAGS) -o $@ $(file > $@.in,$^) @$@.in else - LINK_SO_CMD = $(QUIET_LINK_SO) $(MKTGTDIR) ; $(CC) $(LIB_LDFLAGS) $(LDFLAGS) -o $@ $^ + LINK_SO_CMD = $(QUIET_LINK_SO) $(MKTGTDIR) ; $(LINKER) $(LIB_LDFLAGS) $(LDFLAGS) -o $@ $^ endif ifeq ($(OS),OpenBSD) # OpenBSD linker magic doesn't use soname; so fake it by using -L$(OUT) and -lmupdf. - LINK_CMD = $(QUIET_LINK) $(MKTGTDIR) ; $(CC) $(EXE_LDFLAGS) $(LDFLAGS) -o $@ -L$(OUT) \ + LINK_CMD = $(QUIET_LINK) $(MKTGTDIR) ; $(LINKER) $(EXE_LDFLAGS) $(LDFLAGS) -o $@ -L$(OUT) \ $(subst $(OUT)/libmupdf.$(SO)$(SO_VERSION),-lmupdf,$^) \ $(LIBS) endif @@ -244,10 +250,10 @@ FONT_GEN := $(FONT_BIN:%=generated/%.c) -generated/%.cff.c : %.cff $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; bash $(HEXDUMP_SH) > $@ $< -generated/%.otf.c : %.otf $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; bash $(HEXDUMP_SH) > $@ $< -generated/%.ttf.c : %.ttf $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; bash $(HEXDUMP_SH) > $@ $< -generated/%.ttc.c : %.ttc $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; bash $(HEXDUMP_SH) > $@ $< +generated/%.cff.c : %.cff $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; sh $(HEXDUMP_SH) > $@ $< +generated/%.otf.c : %.otf $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; sh $(HEXDUMP_SH) > $@ $< +generated/%.ttf.c : %.ttf $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; sh $(HEXDUMP_SH) > $@ $< +generated/%.ttc.c : %.ttc $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; sh $(HEXDUMP_SH) > $@ $< ifeq ($(HAVE_OBJCOPY),yes) MUPDF_OBJ += $(FONT_BIN:%=$(OUT)/%.o) @@ -273,7 +279,7 @@ HYPH_GEN := $(HYPH_BIN:%=generated/%.c) -generated/%.zip.c : %.zip $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; bash $(HEXDUMP_SH) > $@ $< +generated/%.zip.c : %.zip $(HEXDUMP_SH) ; $(QUIET_GEN) $(MKTGTDIR) ; sh $(HEXDUMP_SH) > $@ $< ifeq ($(HAVE_OBJCOPY),yes) MUPDF_OBJ += $(HYPH_BIN:%.zip=$(OUT)/%.zip.o) @@ -329,7 +335,7 @@ ifeq ($(shared),yes) $(OUT)/libmupdf.$(SO)$(SO_VERSION): $(MUPDF_OBJ) $(THIRD_OBJ) - $(LINK_SO_CMD) $(THIRD_LIBS) $(LIBCRYPTO_LIBS) $(LIBS) + $(LINK_SO_CMD) $(THIRD_LINK_LIBS) $(LIBCRYPTO_LIBS) $(LIBS) ifeq ($(OS),OpenBSD) # should never create symlink MUPDF_LIB = $(OUT)/libmupdf.$(SO)$(SO_VERSION) @@ -376,13 +382,13 @@ MUTOOL_OBJ := $(MUTOOL_SRC:%.c=$(OUT)/%.o) MUTOOL_EXE := $(OUT)/mutool $(MUTOOL_EXE) : $(MUTOOL_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(PKCS7_LIB) $(THREAD_LIB) - $(LINK_CMD) $(THIRD_LIBS) $(THREADING_LIBS) $(LIBCRYPTO_LIBS) + $(LINK_CMD) $(THIRD_LINK_LIBS) $(THREADING_LIBS) $(LIBCRYPTO_LIBS) TOOL_APPS += $(MUTOOL_EXE) MURASTER_OBJ := $(OUT)/source/tools/muraster.o MURASTER_EXE := $(OUT)/muraster $(MURASTER_EXE) : $(MURASTER_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(PKCS7_LIB) $(THREAD_LIB) - $(LINK_CMD) $(THIRD_LIBS) $(THREADING_LIBS) $(LIBCRYPTO_LIBS) + $(LINK_CMD) $(THIRD_LINK_LIBS) $(THREADING_LIBS) $(LIBCRYPTO_LIBS) EXTRA_TOOL_APPS += $(MURASTER_EXE) ifeq ($(HAVE_GLUT),yes) @@ -390,7 +396,7 @@ MUVIEW_GLUT_OBJ := $(MUVIEW_GLUT_SRC:%.c=$(OUT)/%.o) MUVIEW_GLUT_EXE := $(OUT)/mupdf-gl $(MUVIEW_GLUT_EXE) : $(MUVIEW_GLUT_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(THIRD_GLUT_LIB) $(PKCS7_LIB) - $(LINK_CMD) $(THIRD_LIBS) $(LIBCRYPTO_LIBS) $(THIRD_GLUT_LIBS) + $(LINK_CMD) $(THIRD_LINK_LIBS) $(LIBCRYPTO_LIBS) $(THIRD_GLUT_LIBS) VIEW_APPS += $(MUVIEW_GLUT_EXE) endif @@ -400,7 +406,7 @@ MUVIEW_X11_OBJ += $(OUT)/platform/x11/x11_main.o MUVIEW_X11_OBJ += $(OUT)/platform/x11/x11_image.o $(MUVIEW_X11_EXE) : $(MUVIEW_X11_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(PKCS7_LIB) - $(LINK_CMD) $(THIRD_LIBS) $(X11_LIBS) $(LIBCRYPTO_LIBS) + $(LINK_CMD) $(THIRD_LINK_LIBS) $(X11_LIBS) $(LIBCRYPTO_LIBS) VIEW_APPS += $(MUVIEW_X11_EXE) endif @@ -414,7 +420,7 @@ MUVIEW_X11_CURL_OBJ += $(OUT)/platform/x11/curl/curl_stream.o MUVIEW_X11_CURL_OBJ += $(OUT)/platform/x11/curl/prog_stream.o $(MUVIEW_X11_CURL_EXE) : $(MUVIEW_X11_CURL_OBJ) $(MUPDF_LIB) $(THIRD_LIB) $(PKCS7_LIB) $(CURL_LIB) - $(LINK_CMD) $(THIRD_LIBS) $(X11_LIBS) $(LIBCRYPTO_LIBS) $(CURL_LIBS) $(PTHREAD_LIBS) + $(LINK_CMD) $(THIRD_LINK_LIBS) $(X11_LIBS) $(LIBCRYPTO_LIBS) $(CURL_LIBS) $(PTHREAD_LIBS) EXTRA_VIEW_APPS += $(MUVIEW_X11_CURL_EXE) endif endif @@ -440,13 +446,13 @@ examples: $(OUT)/example $(OUT)/multi-threaded $(OUT)/storytest $(OUT)/searchtest $(OUT)/example: docs/examples/example.c $(MUPDF_LIB) $(THIRD_LIB) - $(LINK_CMD) $(CFLAGS) $(THIRD_LIBS) + $(LINK_CMD) $(CFLAGS) $(THIRD_LINK_LIBS) $(OUT)/multi-threaded: docs/examples/multi-threaded.c $(MUPDF_LIB) $(THIRD_LIB) - $(LINK_CMD) $(CFLAGS) $(THIRD_LIBS) -lpthread + $(LINK_CMD) $(CFLAGS) $(THIRD_LINK_LIBS) -lpthread $(OUT)/storytest: docs/examples/storytest.c $(MUPDF_LIB) $(THIRD_LIB) - $(LINK_CMD) $(CFLAGS) $(THIRD_LIBS) + $(LINK_CMD) $(CFLAGS) $(THIRD_LINK_LIBS) $(OUT)/searchtest: docs/examples/searchtest.c $(MUPDF_LIB) $(THIRD_LIB) - $(LINK_CMD) $(CFLAGS) $(THIRD_LIBS) + $(LINK_CMD) $(CFLAGS) $(THIRD_LINK_LIBS) # --- Format man pages --- @@ -523,13 +529,13 @@ install: install-libs install-apps install-docs docs: - bash scripts/build-docs.sh + sh scripts/build-docs.sh docs-live: - bash scripts/build-docs-live.sh + sh scripts/build-docs-live.sh docs-markdown: - bash scripts/build-docs-markdown.sh + sh scripts/build-docs-markdown.sh docs-clean: rm -rf build/docs @@ -541,7 +547,7 @@ cp -r build/docs/* $(DESTDIR)$(docdir) tarball: - bash scripts/archive.sh + sh scripts/archive.sh # --- Clean and Default --- @@ -577,7 +583,7 @@ $(TAGS_CMD) -a --sort=no --c-kinds=t $(TAG_SRC_FILES) $(TAG_HDR_FILES) find-try-return: - @ bash scripts/find-try-return.sh + @ sh scripts/find-try-return.sh cscope.files: $(shell find include source platform -name '*.[ch]') @ echo $^ | tr ' ' '\n' > $@ --- a/Makerules +++ b/Makerules @@ -207,6 +207,7 @@ SYS_LEPTONICA_LIBS := -llept SYS_LIBARCHIVE_LIBS := -larchive SYS_ZXINGCPP_LIBS := -lzxing-cpp -lzint +CXX_LINKER_FLAG := --mupdf-cxx-linker ifneq "$(CLUSTER)" "" CFLAGS += -DCLUSTER @@ -217,6 +218,7 @@ SYS_GLUT_CFLAGS := -Wno-deprecated-declarations SYS_GLUT_LIBS := -framework GLUT -framework OpenGL CC = xcrun cc + CXX = xcrun c++ AR = xcrun ar LD = xcrun ld RANLIB = xcrun ranlib @@ -236,8 +238,15 @@ else + LD_SUPPORTS_BINARY_OBJECTS := $(shell tmp=$$(mktemp -d 2>/dev/null || mktemp -d -t mupdf); \ + trap 'rm -rf "$$tmp"' EXIT HUP INT TERM; \ + : > "$$tmp/empty"; \ + if $(LD) -r -b binary -z noexecstack -o "$$tmp/empty.o" "$$tmp/empty" >/dev/null 2>&1; then \ + echo yes; \ + fi) + ifeq ($(OS),Linux) - HAVE_OBJCOPY := yes + HAVE_OBJCOPY := $(LD_SUPPORTS_BINARY_OBJECTS) endif ifeq ($(OS),OpenBSD) --- a/Makelists +++ b/Makelists @@ -612,7 +612,7 @@ TESSERACT_BUILD_CFLAGS += $(LEPTONICA_CFLAGS) TESSERACT_LIBS += -lpthread -TESSERACT_LIBS += -lstdc++ +TESSERACT_LIBS += $(CXX_LINKER_FLAG) TESSERACT_SRC += thirdparty/tesseract/src/api/altorenderer.cpp TESSERACT_SRC += thirdparty/tesseract/src/api/baseapi.cpp @@ -817,7 +817,7 @@ ZXINGCPP_BUILD_CFLAGS += -Ithirdparty/zint/backend ZXINGCPP_BUILD_CFLAGS += -Iscripts/zxing-cpp -ZXINGCPP_LIBS += -lstdc++ +ZXINGCPP_LIBS += $(CXX_LINKER_FLAG) ZXINGCPP_SRC += thirdparty/zxing-cpp/core/src/aztec/AZDecoder.cpp ZXINGCPP_SRC += thirdparty/zxing-cpp/core/src/aztec/AZDetector.cpp --- a/Makethird +++ b/Makethird @@ -141,6 +141,7 @@ THIRD_CFLAGS += $(SYS_HARFBUZZ_CFLAGS) THIRD_LIBS += $(SYS_HARFBUZZ_LIBS) else + THIRD_NEEDS_CXX_LINKER := yes THIRD_CFLAGS += $(HARFBUZZ_CFLAGS) THIRD_LIBS += $(HARFBUZZ_LIBS) THIRD_SRC += $(HARFBUZZ_SRC) @@ -287,8 +288,9 @@ ifeq ($(HAVE_TESSERACT),yes) THIRD_CFLAGS += -DHAVE_TESSERACT + THIRD_NEEDS_CXX_LINKER := yes ifeq ($(USE_SYSTEM_TESSERACT),yes) - THIRD_LIBS += $(SYS_TESSERACT_LIBS) -lstdc++ + THIRD_LIBS += $(SYS_TESSERACT_LIBS) $(CXX_LINKER_FLAG) TESSERACT_CFLAGS = $(SYS_TESSERACT_CFLAGS) TESSERACT_LANGFLAGS = else @@ -303,8 +305,9 @@ ifeq ($(HAVE_ZXINGCPP),yes) THIRD_CFLAGS += -DHAVE_ZXINGCPP + THIRD_NEEDS_CXX_LINKER := yes ifeq ($(USE_SYSTEM_ZXINGCPP),yes) - THIRD_LIBS += $(SYS_ZXINGCPP_LIBS) -lstdc++ + THIRD_LIBS += $(SYS_ZXINGCPP_LIBS) $(CXX_LINKER_FLAG) ZXINGCPP_CFLAGS = $(SYS_ZXINGCPP_CFLAGS) -DUSE_SYSTEM_ZXINGCPP ZXINGCPP_LANGFLAGS = else @@ -373,7 +376,8 @@ ifeq ($(HAVE_LIBARCHIVE),yes) THIRD_CFLAGS += -DHAVE_LIBARCHIVE THIRD_CFLAGS += $(SYS_LIBARCHIVE_CFLAGS) - THIRD_LIBS += $(SYS_LIBARCHIVE_LIBS) -lstdc++ + THIRD_LIBS += $(SYS_LIBARCHIVE_LIBS) $(CXX_LINKER_FLAG) + THIRD_NEEDS_CXX_LINKER := yes endif # --- HAVE_SMARTOFFICE --- --- a/platform/java/Makefile +++ b/platform/java/Makefile @@ -6,6 +6,7 @@ JAVA := java JAVAC := javac +JAVA_LINK = $(CXX) ifndef build build := release @@ -25,12 +26,14 @@ endif ifeq ($(OS),Darwin) +CC = xcrun cc +CXX = xcrun c++ MUPDF_JAVA := ../../$(OUT)/libmupdf_java64.jnilib JAVA_VM := $(shell /usr/libexec/java_home) JAVA_CFLAGS := \ -I $(JAVA_VM)/include \ -I $(JAVA_VM)/include/darwin -JAVA_LDFLAGS := -lstdc++ +JAVA_LDFLAGS := else @@ -108,7 +111,7 @@ $(JAVA_CFLAGS) $(BUILD_FLAGS) $(MUPDF_JAVA) : ../../$(OUT)/mupdf_native.o $(MUPDF_CORE) - $(CC) -shared $(JAVA_LDFLAGS) -o $(MUPDF_JAVA) $^ $(JAVA_LIBS) $(BUILD_FLAGS) + $(JAVA_LINK) -shared $(JAVA_LDFLAGS) -o $(MUPDF_JAVA) $^ $(JAVA_LIBS) $(BUILD_FLAGS) jshell: $(MUPDF_JAVA) $(EXAMPLE_JAVA_OBJECTS) $(MUPDF_JAR) jshell --class-path ../../$(OUT)/ -R-Djava.library.path="../../$(OUT)" init.jshell $$MUPDF_ARGS --- a/platform/wasm/Makefile +++ b/platform/wasm/Makefile @@ -1,10 +1,10 @@ default: @npm install -s - bash tools/build.sh + sh tools/build.sh memento: BUILD=memento \ - bash tools/build.sh + sh tools/build.sh clean: rm -f LICENSE --- a/platform/wasm/package.json +++ b/platform/wasm/package.json @@ -24,7 +24,7 @@ "dist/*" ], "scripts": { - "prepack": "bash tools/build.sh && bash tools/compress.sh", + "prepack": "sh tools/build.sh && sh tools/compress.sh", "simple-viewer": "npx http-server -c -1 -b -o examples/simple-viewer", "super-simple-viewer": "npx http-server -c -1 -b -o examples/super-simple-viewer" }, --- a/platform/wasm/tools/build.sh +++ b/platform/wasm/tools/build.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # Script to build the WASM binary. # @@ -23,7 +23,7 @@ fi export EMSDK_QUIET=1 -source $EMSDK/emsdk_env.sh +. "$EMSDK/emsdk_env.sh" emsdk install 4.0.8 >/dev/null || exit emsdk activate 4.0.8 >/dev/null || exit --- a/platform/wasm/tools/compress.sh +++ b/platform/wasm/tools/compress.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh echo BROTLI test -f dist/mupdf.js.br || brotli dist/mupdf.js --- a/resources/fonts/sil/tocff.sh +++ b/resources/fonts/sil/tocff.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # python3 scripts/makesubset.py -lig scripts/MES-2.TXT > resources/fonts/sil/subset.mes # python3 scripts/makesubset.py -sc -lig scripts/MES-2.TXT > resources/fonts/sil/subset.mes.sc --- a/resources/fonts/urw/tocff.sh +++ b/resources/fonts/urw/tocff.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # python3 scripts/makesubset.py -lig scripts/MES-2.TXT > resources/fonts/urw/subset.mes # python3 scripts/makesubset.py -lig scripts/SECS.TXT > resources/fonts/urw/subset.secs --- a/scripts/archive.sh +++ b/scripts/archive.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh REV=$(git describe --tags) STEM=mupdf-$REV-source @@ -7,7 +7,7 @@ echo git archive $STEM.tar git archive --format=tar --prefix=$STEM/ -o $STEM.tar HEAD -function make_submodule_archive { +make_submodule_archive() { # Make tarballs for submodules, stripped of unnecessary files. M=$1 shift --- a/scripts/build-docs-live.sh +++ b/scripts/build-docs-live.sh @@ -1,8 +1,8 @@ -#!/bin/bash +#!/bin/sh # Set up a 'venv' and run sphinx to build the docs! python -m venv build/venv-docs -source build/venv-docs/bin/activate +. build/venv-docs/bin/activate pip install -r docs/requirements.txt --- a/scripts/build-docs-markdown.sh +++ b/scripts/build-docs-markdown.sh @@ -1,8 +1,8 @@ -#!/bin/bash +#!/bin/sh # Set up a 'venv' and run sphinx to build the docs! python -m venv build/venv-docs -source build/venv-docs/bin/activate +. build/venv-docs/bin/activate pip install -r docs/requirements.txt --- a/scripts/build-docs.sh +++ b/scripts/build-docs.sh @@ -1,8 +1,8 @@ -#!/bin/bash +#!/bin/sh # Set up a 'venv' and run sphinx to build the docs! python -m venv build/venv-docs -source build/venv-docs/bin/activate +. build/venv-docs/bin/activate pip install -r docs/requirements.txt --- a/scripts/copyblob.sh +++ b/scripts/copyblob.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh cat > copyblob.txt <&1 | grep 'libmupdf\.' | sort > build/debug/mutool.gc --- a/scripts/githooks/pre-commit +++ b/scripts/githooks/pre-commit @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # pre-commit hook to fix whitespace errors # --- a/scripts/gitsetup.sh +++ b/scripts/gitsetup.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # Tell git to fix whitespace errors automatically git config apply.whitespace fix --- a/scripts/hexdump.sh +++ b/scripts/hexdump.sh @@ -1,9 +1,9 @@ -#!/bin/bash +#!/bin/sh FILE=$1 if [ ! -f "$FILE" ] then - echo usage: bash scripts/hexdump.sh input.ttf + echo usage: sh scripts/hexdump.sh input.ttf exit 1 fi --- a/scripts/jshell.sh +++ b/scripts/jshell.sh @@ -1,3 +1,3 @@ -#!/bin/bash +#!/bin/sh make -s -C platform/java jshell -q --class-path build/java/debug -R-Djava.library.path="build/java/debug" platform/java/init.jshell "$@" --- a/scripts/pdftohtml.sh +++ b/scripts/pdftohtml.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # Convert PDF to hybrid HTML output with images and line art rendered to a # background image, and text overlaid on top as absolutely positioned HTML --- a/scripts/runcmapdump.sh +++ b/scripts/runcmapdump.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh LIST=$(echo resources/cmaps/* | sort) --- a/scripts/runcmapshare.sh +++ b/scripts/runcmapshare.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # This script expects to find the original CMap resources in thirdparty/cmap-resources. # @@ -6,7 +6,7 @@ rm -f build/cmaps/* mkdir -p build/cmaps -function flatten { +flatten() { for DIR in $(echo thirdparty/cmap-resources/Adobe-*) do if [ -f $DIR/CMap/$1 ] --- a/scripts/runfontdump.sh +++ b/scripts/runfontdump.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # Generate fontdump resources and update visual studio project files. FONTS="resources/fonts/urw/*.cff resources/fonts/han/*.ttc resources/fonts/droid/*.ttf resources/fonts/noto/*.ttf resources/fonts/noto/*.otf resources/fonts/sil/*.cff" --- a/scripts/runhyphen.sh +++ b/scripts/runhyphen.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # Generate hyphenation data zip archive. # @@ -14,5 +14,5 @@ advzip -4 -z resources/hyphen/hyph-std.zip advzip -4 -z resources/hyphen/hyph-all.zip -bash scripts/hexdump.sh > generated/resources/hyphen/hyph-std.zip.c resources/hyphen/hyph-std.zip -bash scripts/hexdump.sh > generated/resources/hyphen/hyph-all.zip.c resources/hyphen/hyph-all.zip +sh scripts/hexdump.sh > generated/resources/hyphen/hyph-std.zip.c resources/hyphen/hyph-std.zip +sh scripts/hexdump.sh > generated/resources/hyphen/hyph-all.zip.c resources/hyphen/hyph-all.zip --- a/scripts/runiccdump.sh +++ b/scripts/runiccdump.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh rm -f source/fitz/icc/*.h for f in resources/icc/*.icc do --- a/scripts/runjsdump.sh +++ b/scripts/runjsdump.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh for f in source/pdf/js/*.js do echo Dumping $f