build/Makefile.am.marshal
author psykose <alice@ayaya.dev>
Thu, 21 Apr 2022 20:23:32 +0200
changeset 744 4ebe32453682
parent 527 2e905f83be70
permissions -rw-r--r--
fix macro define for freeaddrinfo with asyncns previously, this define was only made in lm-asyncns-resolver.c, which does not propagate it to lm-resolver.c, where freeaddrinfo() is used. this means that when asyncns support is used, the standard libc freeaddrinfo() is called on an addrinfo acquired from asyncns_getaddrinfo, which is undefined behaviour, and leads to a segfault on musl libc.

$(MARSHAL)-marshal.h: $(MARSHAL)-marshal.list
	(cd $(srcdir) && \
	$(GLIB_GENMARSHAL) --prefix=_$(MARSHAL)_marshal $(MARSHAL)-marshal.list --header) > xgen-gmh \
	&& (cmp -s xgen-gmh $(MARSHAL)-marshal.h || cp xgen-gmh $(MARSHAL)-marshal.h) \
	&& rm -f xgen-gmh xgen-gmh~

$(MARSHAL)-marshal.c: $(MARSHAL)-marshal.list
	(cd $(srcdir) && \
	echo "#include \"$(MARSHAL)-marshal.h\""; \
	$(GLIB_GENMARSHAL) --prefix=_$(MARSHAL)_marshal $(MARSHAL)-marshal.list --body) > xgen-gmc \
	&& cp xgen-gmc $(MARSHAL)-marshal.c \
	&& rm -f xgen-gmc xgen-gmc~

BUILT_SOURCES += 				\
	$(MARSHAL)-marshal.h		\
	$(MARSHAL)-marshal.c		\
	$(NULL)

EXTRA_DIST +=					\
	$(MARSHAL)-marshal.list		\
	$(NULL)