This patch fixes compilation on OS X

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@456 f3766cd6-281f-0410-b1cd-43a5c92072e9
This commit is contained in:
Stefan Reinauer 2007-07-16 22:42:21 +00:00
commit 387412a0fa
9 changed files with 54 additions and 20 deletions

12
HACKING
View file

@ -32,6 +32,18 @@ Required software:
* dot (>= 1.8.10)
http://www.graphviz.org/
Building on Mac OS X
-------------------
You have to install MacPorts (tried with 1.4).
Then you go
$ sudo port install gettext
$ sudo port install bison
$ sudo port install i386-elf-binutils
$ sudo port install i386-elf-gcc
$ rehash
Third-party Code and License Overview
-------------------------------------

View file

@ -96,6 +96,8 @@ CC := $(CC_$(ARCH))
AS := $(AS_$(ARCH))
LD := $(LD_$(ARCH))
OBJCOPY := $(OBJCOPY_$(ARCH))
AR := $(AR_$(ARCH))
CFLAGS += $(CFLAGS_$(ARCH))
CPPFLAGS := $(LINUXBIOSINCLUDE)
@ -144,7 +146,7 @@ prepare2:
$(Q)printf "#define LINUXBIOS_COMPILE_TIME \"`LANG= date +%T`\"\n" >> $(obj)/build.h
$(Q)printf "#define LINUXBIOS_COMPILE_BY \"$(shell PATH=$$PATH:/usr/ucb whoami)\"\n" >> $(obj)/build.h
$(Q)printf "#define LINUXBIOS_COMPILE_HOST \"$(shell hostname)\"\n" >> $(obj)/build.h
$(Q)printf "#define LINUXBIOS_COMPILE_DOMAIN \"$(shell which dnsdomainname 1>/dev/null && dnsdomainname || domainname)\"\n" >> $(obj)/build.h
$(Q)printf "#define LINUXBIOS_COMPILE_DOMAIN \"$(shell test `uname -s` == "Linux" && dnsdomainname || domainname)\"\n" >> $(obj)/build.h
clean:
$(Q)printf " CLEAN $(subst $(shell pwd)/,,$(obj))\n"

View file

@ -237,7 +237,7 @@ struct data data_append_zeroes(struct data d, int len)
struct data data_append_align(struct data d, int align)
{
int newlen = ALIGN(d.len, align);
int newlen = DALIGN(d.len, align);
return data_append_zeroes(d, newlen - d.len);
}

View file

@ -90,7 +90,7 @@ typedef u32 cell_t;
#define streq(a, b) (strcmp((char *)(a), (char *)(b)) == 0)
#define strneq(a, b, n) (strncmp((char *)(a), (char *)(b), (n)) == 0)
#define ALIGN(x, a) (((x) + (a) - 1) & ~((a) - 1))
#define DALIGN(x, a) (((x) + (a) - 1) & ~((a) - 1))
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
/* Data blobs */

View file

@ -960,7 +960,7 @@ static void make_bph(struct boot_param_header *bph,
bph->last_comp_version = cpu_to_be32(vi->last_comp_version);
/* Reserve map should be doubleword aligned */
reserve_off = ALIGN(vi->hdr_size, 8);
reserve_off = DALIGN(vi->hdr_size, 8);
bph->off_mem_rsvmap = cpu_to_be32(reserve_off);
bph->off_dt_struct = cpu_to_be32(reserve_off + reservesize);
@ -1395,7 +1395,7 @@ static void flat_realign(struct inbuf *inb, int align)
{
int off = inb->ptr - inb->base;
inb->ptr = inb->base + ALIGN(off, align);
inb->ptr = inb->base + DALIGN(off, align);
if (inb->ptr > inb->limit)
die("Premature end of data parsing flat device tree\n");
}

View file

@ -25,8 +25,8 @@
#define be64_to_cpu(x) bswap_64(x)
#endif
#define ALIGN(x, a) (((x) + ((a) - 1)) & ~((a) - 1))
#define PALIGN(p, a) ((void *)(ALIGN((unsigned long)(p), (a))))
#define DALIGN(x, a) (((x) + ((a) - 1)) & ~((a) - 1))
#define PALIGN(p, a) ((void *)(DALIGN((unsigned long)(p), (a))))
#define GET_CELL(p) (p += 4, *((uint32_t *)(p-4)))
static int is_printable_string(const void *data, int len)

View file

@ -23,8 +23,8 @@
#include "flat_dt.h"
#define ALIGN(x, a) (((x) + ((a) - 1)) & ~((a) - 1))
#define PALIGN(p, a) ((void *)(ALIGN((unsigned long)(p), (a))))
#define DALIGN(x, a) (((x) + ((a) - 1)) & ~((a) - 1))
#define PALIGN(p, a) ((void *)(DALIGN((unsigned long)(p), (a))))
#define GET_CELL(p) (p += 4, *((uint32_t *)(p-4)))
static char *skip_name(char *p)

View file

@ -102,7 +102,7 @@ gconf-objects := gconf.o kconfig_load.o zconf.tab.o
$(obj)/util/kconfig/mconf: $(patsubst %,$(obj)/util/kconfig/%,$(mconf-objects))
$(Q)printf " HOSTCC $(subst $(shell pwd)/,,$(@))\n"
$(Q)$(HOSTCC) $(CURSESLIBS) -o $@ $^
$(Q)$(HOSTCC) $(CURSESLIBS) $(INTLLIBS) -o $@ $^
$(obj)/util/kconfig/conf: $(patsubst %,$(obj)/util/kconfig/%,$(conf-objects))
$(Q)printf " HOSTCC $(subst $(shell pwd)/,,$(@))\n"
@ -121,17 +121,17 @@ $(obj)/util/kconfig/gconf: $(patsubst %,$(obj)/util/kconfig/%,$(gconf-objects))
$(obj)/util/kconfig/mconf.o: $(src)/util/kconfig/mconf.c
$(Q)mkdir -p $(obj)/util/kconfig
$(Q)printf " HOSTCC $(subst $(shell pwd)/,,$(@))\n"
$(Q)$(HOSTCC) -I$(src)/util/kconfig -c -o $@ $<
$(Q)$(HOSTCC) $(HOSTCFLAGS) $(INTLCFLAGS) -I$(src)/util/kconfig -c -o $@ $<
$(obj)/util/kconfig/conf.o: $(src)/util/kconfig/conf.c
$(Q)mkdir -p $(obj)/util/kconfig
$(Q)printf " HOSTCC $(subst $(shell pwd)/,,$(@))\n"
$(Q)$(HOSTCC) -I$(src)/util/kconfig -c -o $@ $<
$(Q)$(HOSTCC) $(HOSTCFLAGS) -I$(src)/util/kconfig -c -o $@ $<
$(obj)/util/kconfig/kconfig_load.o: $(src)/util/kconfig/kconfig_load.c
$(Q)mkdir -p $(obj)/util/kconfig
$(Q)printf " HOSTCC $(subst $(shell pwd)/,,$(@))\n"
$(Q)$(HOSTCC) -I$(obj)/util/kconfig -I$(src)/util/kconfig -c -o $@ $<
$(Q)$(HOSTCC) $(HOSTCFLAGS) -I$(obj)/util/kconfig -I$(src)/util/kconfig -c -o $@ $<
$(obj)/util/kconfig/qconf.o: $(src)/util/kconfig/qconf.cc $(obj)/util/kconfig/qconf.moc $(obj)/util/kconfig/lkc_defs.h
$(Q)mkdir -p $(obj)/util/kconfig
@ -142,7 +142,7 @@ $(obj)/util/kconfig/qconf.o: $(src)/util/kconfig/qconf.cc $(obj)/util/kconfig/qc
$(obj)/util/kconfig/gconf.o: $(src)/util/kconfig/gconf.c $(obj)/util/kconfig/lkc_defs.h
$(Q)mkdir -p $(obj)/util/kconfig
$(Q)printf " HOSTCC $(subst $(shell pwd)/,,$(@))\n"
$(Q)$(HOSTCC) `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
$(Q)$(HOSTCC) $(HOSTCFLAGS) `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
-D LKC_DIRECT_LINK -I$(obj) -I$(src)/util/kconfig -c -o $@ $<
$(obj)/util/kconfig/%.moc: $(src)/util/kconfig/%.h
@ -158,7 +158,7 @@ $(obj)/util/kconfig/lkc_defs.h: $(src)/util/kconfig/lkc_proto.h
$(obj)/util/kconfig/zconf.tab.o: $(obj)/util/kconfig/zconf.tab.c $(obj)/util/kconfig/zconf.hash.c $(obj)/util/kconfig/lex.zconf.c
$(Q)mkdir -p $(obj)/util/kconfig
$(Q)printf " HOSTCC $(subst $(shell pwd)/,,$(@))\n"
$(Q)$(HOSTCC) -I$(src)/util/kconfig -c -o $@ $(obj)/util/kconfig/zconf.tab.c
$(Q)$(HOSTCC) $(HOSTCFLAGS) $(INTLCFLAGS) -I$(src)/util/kconfig -c -o $@ $(obj)/util/kconfig/zconf.tab.c
$(obj)/util/kconfig/lex.zconf.c: $(src)/util/kconfig/lex.zconf.c_shipped
$(Q)mkdir -p $(obj)/util/kconfig

View file

@ -25,6 +25,8 @@ ARCH=`uname -m | sed -e s/i.86/x86/ -e s/sun4u/sparc64/ \
-e s/s390x/s390/ -e s/parisc64/parisc/ \
-e s/ppc.*/powerpc/ -e s/mips.*/mips/`
OS=`uname -s`
testcc()
{
TMP=".$$$$.tmp"
@ -56,22 +58,40 @@ case "$ARCH" in
echo "CC_x86 := gcc -m32"
CC="gcc -m32"
searchgnu ar >/dev/null && echo "AR_x86 := $(searchgnu ar)"
searchgnu as >/dev/null && echo "AS_x86 := $(searchgnu as) --32"
searchgnu ld >/dev/null && echo "LD_x86 := $(searchgnu ld) -b elf32-i386 -melf_i386"
searchgnu objcopy >/dev/null && echo "OBJCOPY_x86 := $(searchgnu objcopy)"
;;
"x86")
echo "CC_x86 := gcc"
CC="gcc"
if [ "$OS" != "Darwin" ]; then
echo "CC_x86 := gcc"
CC="gcc"
searchgnu as >/dev/null && echo "AS_x86 := $(searchgnu as)"
searchgnu ld >/dev/null && echo "LD_x86 := $(searchgnu ld)"
searchgnu objcopy >/dev/null && echo "OBJCOPY_x86 := $(searchgnu objcopy)"
searchgnu ar >/dev/null && echo "AR_x86 := $(searchgnu ar)"
searchgnu as >/dev/null && echo "AS_x86 := $(searchgnu as)"
searchgnu ld >/dev/null && echo "LD_x86 := $(searchgnu ld)"
searchgnu objcopy >/dev/null && echo "OBJCOPY_x86 := $(searchgnu objcopy)"
else
CC=`find /opt/local/bin/ -name "i386-elf-gcc-*"`
if [ "$CC" == "" ]; then
echo "ERROR: Please install i386-elf-gcc from MacPorts" >&2
exit 1
fi
echo "CC_x86 := $CC"
echo "AR_x86 := i386-elf-ar"
echo "AS_x86 := i386-elf-as"
echo "LD_x86 := i386-elf-ld"
echo "OBJCOPY_x86 := i386-elf-objcopy"
echo "INTLCFLAGS := -I/opt/local/include"
echo "INTLLIBS := -L/opt/local/lib -lintl"
fi
;;
*)
# FIXME: This should be detected.
CC="i386-linux-gcc"
echo "CC_x86 := i386-linux-gcc"
echo "AR_x86 := i386-linux-ar"
echo "AS_x86 := i386-linux-as"
echo "LD_x86 := i386-linux-ld"
echo "OBJCOPY_x86 := i386-linux-objcopy"