$NetBSD: patch-Makefile,v 1.6 2025/02/07 12:36:24 pho Exp $

Portability patch for NetBSD.

--- Makefile.orig	2024-01-13 10:20:39.000000000 +0000
+++ Makefile
@@ -22,13 +22,19 @@
 # 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 ($(OPSYS),NetBSD)
+CONFIG_NETBSD=y
+endif
 # Windows cross compilation from Linux
 #CONFIG_WIN32=y
 # use link time optimization (smaller and faster executables but slower build)
+ifndef CONFIG_NETBSD
 CONFIG_LTO=y
+endif
 # consider warnings as errors (for development)
 #CONFIG_WERROR=y
 # force 32 bit build for some utilities
@@ -44,7 +50,8 @@ PREFIX?=/usr/local
 # use address sanitizer
 #CONFIG_ASAN=y
 # include the code for BigFloat/BigDecimal, math mode and faster large integers
-CONFIG_BIGNUM=y
+# Set via environment in pkg Makefile if supported:
+#CONFIG_BIGNUM=y
 
 OBJDIR=.obj
 
@@ -54,6 +61,10 @@ CONFIG_CLANG=y
 CONFIG_DEFAULT_AR=y
 endif
 
+ifndef CONFIG_NETBSD
+CONFIG_LDL=y
+endif
+
 ifdef CONFIG_WIN32
   ifdef CONFIG_M32
     CROSS_PREFIX?=i686-w64-mingw32-
@@ -194,12 +205,18 @@ ifdef CONFIG_BIGNUM
 QJS_OBJS+=$(OBJDIR)/qjscalc.o
 endif
 
-HOST_LIBS=-lm -ldl -lpthread
+HOST_LIBS=-lm
+ifndef CONFIG_NETBSD
+HOST_LIBS+=-ldl
+endif
+HOST_LIBS+=-lphtread
 LIBS=-lm
 ifndef CONFIG_WIN32
-LIBS+=-ldl -lpthread
+ifndef CONFIG_NETBSD
+LIBS+=-ldl
+endif
+LIBS+=-lpthread
 endif
-LIBS+=$(EXTRA_LIBS)
 
 $(OBJDIR):
 	mkdir -p $(OBJDIR) $(OBJDIR)/examples $(OBJDIR)/tests
@@ -225,6 +242,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)
@@ -322,10 +342,9 @@ install: all
 	$(STRIP) qjs qjsc
 	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"
+	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"
