$NetBSD: patch-Makefile,v 1.7 2025/11/12 11:49:38 leot Exp $ Portability patch for NetBSD. --- Makefile.orig 2025-09-13 08:48:28.000000000 +0000 +++ Makefile @@ -22,10 +22,14 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -ifeq ($(shell uname -s),Darwin) +OPSYS=$(shell uname -s) +ifeq ($(OPSYS),Darwin) CONFIG_DARWIN=y endif -ifeq ($(shell uname -s),FreeBSD) +ifeq ($(OPSYS),NetBSD) +CONFIG_NETBSD=y +endif +ifeq ($(OPSYS),FreeBSD) CONFIG_FREEBSD=y endif # Windows cross compilation from Linux @@ -77,6 +81,13 @@ CONFIG_CLANG=y CONFIG_DEFAULT_AR=y CONFIG_LTO= endif +ifdef CONFIG_NETBSD +CONFIG_LTO= +endif + +ifndef CONFIG_NETBSD +CONFIG_LDL=y +endif ifdef CONFIG_WIN32 ifdef CONFIG_M32 @@ -243,11 +254,17 @@ QJS_LIB_OBJS=$(OBJDIR)/quickjs.o $(OBJDI QJS_OBJS=$(OBJDIR)/qjs.o $(OBJDIR)/repl.o $(QJS_LIB_OBJS) -HOST_LIBS=-lm -ldl -lpthread +HOST_LIBS=-lm +ifndef CONFIG_NETBSD +HOST_LIBS+=-ldl +endif +HOST_LIBS+=-lphtread LIBS=-lm -lpthread ifndef CONFIG_WIN32 +ifndef CONFIG_NETBSD LIBS+=-ldl endif +endif LIBS+=$(EXTRA_LIBS) $(OBJDIR): @@ -285,6 +302,9 @@ QJSC_DEFINES:=-DCONFIG_CC=\"$(QJSC_CC)\" ifdef CONFIG_LTO QJSC_DEFINES+=-DCONFIG_LTO endif +ifdef CONFIG_LDL +QJSC_DEFINES+=-DCONFIG_LDL +endif QJSC_HOST_DEFINES:=-DCONFIG_CC=\"$(HOST_CC)\" -DCONFIG_PREFIX=\"$(PREFIX)\" $(OBJDIR)/qjsc.o: CFLAGS+=$(QJSC_DEFINES) @@ -368,10 +388,9 @@ install: all mkdir -p "$(DESTDIR)$(PREFIX)/bin" $(STRIP) qjs$(EXE) qjsc$(EXE) install -m755 qjs$(EXE) qjsc$(EXE) "$(DESTDIR)$(PREFIX)/bin" - mkdir -p "$(DESTDIR)$(PREFIX)/lib/quickjs" - install -m644 libquickjs.a "$(DESTDIR)$(PREFIX)/lib/quickjs" + install -m644 libquickjs.a "$(DESTDIR)$(PREFIX)/lib" ifdef CONFIG_LTO - install -m644 libquickjs.lto.a "$(DESTDIR)$(PREFIX)/lib/quickjs" + install -m644 libquickjs.lto.a "$(DESTDIR)$(PREFIX)/lib" endif mkdir -p "$(DESTDIR)$(PREFIX)/include/quickjs" install -m644 quickjs.h quickjs-libc.h "$(DESTDIR)$(PREFIX)/include/quickjs"