$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"