From patchwork Mon Oct 18 14:26:44 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: update superiotool support for FreeBSD Date: Mon, 18 Oct 2010 14:26:44 -0000 From: Idwer Vollering X-Patchwork-Id: 2131 Message-Id: To: Warren Turkal Cc: coreboot@coreboot.org 2010/10/18 Warren Turkal > On Sunday, October 17, 2010 09:37:27 am Idwer Vollering wrote: > > Update support for FreeBSD. > > > > Signed-off-by: Idwer Vollering > Updated patch attached. Signed-off-by: Idwer Vollering > A few questions: > * Would it be better set LIBS to -lz and make LDFLAGS default to $(LIBS) on > all platforms? > * I thought that FreeBSD used GCC? > It does, but you need GNU make (gmake): http://www.freebsd.org/cgi/url.cgi?ports/devel/gmake/pkg-descr to be able to do a native compile (from trunk/ code -- from fbsd's ports is a different story). > - If so, why remove -ansi and -pedantic on FreeBSD? > This happens when leaving -pedantic (ergo not overriding CFLAGS that's outside of the ifeq()..endif) alone: - patch: - error: $ gmake clean ; gmake rm -f superiotool *.o gcc -O2 -Wall -Werror -Wstrict-prototypes -Wundef -Wstrict-aliasing -Werror-implicit-function-declaration -ansi -pedantic -D'SUPERIOTOOL_VERSION="5728"' -I/usr/local/include -DPCI_SUPPORT -c -o superiotool.o superiotool.c cc1: warnings being treated as errors In file included from superiotool.h:41, from superiotool.c:24: /usr/local/include/pci/pci.h:238: warning: comma at end of enumerator list gmake: *** [superiotool.o] Error 1 > - In either case, would it be better to replace -ansi with something like > - > std=c90 on all platforms and leave -pedantic? Would that be enough to work? > cc1: error: unrecognized command line option "-std=c90" > > Thanks, > wt > Index: Makefile =================================================================== --- Makefile (revision 5965) +++ Makefile (working copy) @@ -39,6 +39,13 @@ ifeq ($(OS_ARCH), Darwin) LIBS = -framework IOKit -framework DirectIO -lpci -lz endif +ifeq ($(OS_ARCH), FreeBSD) +CFLAGS = -O2 -Wall -Werror -Wstrict-prototypes -Wundef -Wstrict-aliasing \ + -Werror-implicit-function-declaration -ansi $(SVNDEF) \ + -I/usr/local/include +LDFLAGS += -L/usr/local/lib +LIBS = -lz +endif # Support for PCI-attached "Super I/Os" (e.g. in VIA VT82686A/B). CONFIG_PCI = yes