# libdom for MontaukOS # # Upstream: https://github.com/netsurf-browser/libdom (official mirror of # git.netsurf-browser.org; submodule at upstream/, pinned, no local patches). # # DOM implementation. Depends on libparserutils, libwapcaplet and libhubbub, # all of which must already be in the ports sysroot -- libdom finds the latter # two through pkg-config (REQUIRED_PKGS), which is why the library ports # publish .pc files into sysroot/lib/pkgconfig. # # Bindings come from libdom's checked-in Makefile.config, which defaults the # expat AND hubbub bindings to yes. Those are plain `:=` assignments, so # passing the variables on the sub-make command line overrides them without # patching upstream or dropping a Makefile.config.override into the submodule: # WITH_HUBBUB_BINDING=yes how NetSurf feeds HTML into the DOM; required. # WITH_EXPAT_BINDING=no defaults to YES upstream and must be turned off # -- it needs , which MontaukOS has no # port of, and NetSurf does not use it. # WITH_LIBXML_BINDING already no in their config; set explicitly so a # future upstream flip cannot surprise us. # # Needs perl on the BUILD host. UPSTREAM := upstream PORT_NAME := libdom PORT_LIB := 1 PORT_DEPENDS := libparserutils libwapcaplet libhubbub PORT_ARCHIVE := libdom.a PORT_PC_IN := $(UPSTREAM)/libdom.pc.in PORT_PC_VERSION := 0.4.2 PORT_HEADER_ROOT := $(UPSTREAM)/include PORT_HEADERS := $(shell find $(UPSTREAM)/include -name '*.h' 2>/dev/null) include ../../mk/port.mk NS_MAKE_ARGS_EXTRA := \ WITH_HUBBUB_BINDING=yes \ WITH_EXPAT_BINDING=no \ WITH_LIBXML_BINDING=no .PHONY: all clean all: install-lib $(PORT_ARCHIVE): $(shell find $(UPSTREAM)/src $(UPSTREAM)/bindings $(UPSTREAM)/include -name '*.c' -o -name '*.h' 2>/dev/null) $(call ns_build,$(UPSTREAM),dom) clean: clean-lib @$(call ns_clean,$(UPSTREAM)) rm -rf $(UPSTREAM)/$(NS_BUILDDIR)