best way to work around <malloc.h> vs <stdlib.h> ?

Luigi Rizzo rizzo at iet.unipi.it
Tue Aug 19 17:42:03 UTC 2008


A fair amount of third party software in ports still uses <malloc.h>
which in our system is like this:

	/* $FreeBSD: src/include/malloc.h,v 1.5 2001/11/07 23:14:31 obrien Exp $ */
	#if __STDC__
	#error "<malloc.h> has been replaced by <stdlib.h>"
	#else
	#include <stdlib.h>
	#endif

What is the best way to disable the error without an
explicit patch (there are over 200 patchfiles in ports
just doing that) ?

I tried the following

+ CPPFLAGS += -U__STDC__
  seems to work, though it gives some warnings because a
  built-in define is undefined. Also i am not sure if there
  are other parts of the system that are affected;

+ CPPFLAGS += -traditional-cpp
  is also reported to unset __STDC__, but it generates an
  independent set of warnings and errors;

Any other ideas ?

	cheers
	luigi


More information about the freebsd-ports mailing list