Author: wmb
Date: Thu Jan 20 02:12:45 2011
New Revision: 2132
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2132
Log:
Initial revision of null implementation of ZIP routines for wrapper.
Added:
forth/wrapper/nullzip.c
Added: forth/wrapper/nullzip.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ forth/wrapper/nullzip.c Thu Jan 20 02:12:45 2011 (r2132)
@@ -0,0 +1,11 @@
+/*
+ * Stub versions of zip_memory() and inflate() for organizations
+ * immune to the license of the code that implementes zip_memory()
+ */
+zip_memory()
+{
+}
+
+inflate()
+{
+}
Author: wmb
Date: Thu Jan 20 01:04:21 2011
New Revision: 2130
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2130
Log:
Darwin/Makefile.armforth deleted, rules having been moved into Makefile
Deleted:
cpu/x86/Darwin/Makefile.armforth
Author: wmb
Date: Thu Jan 20 00:32:43 2011
New Revision: 2127
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2127
Log:
Makefile frobbing to make the Darwin Makefile correspond to the Linux Makefile.
Modified:
cpu/arm/openmoko/build/Makefile
cpu/x86/Darwin/Makefile
cpu/x86/Linux/Makefile
Modified: cpu/arm/openmoko/build/Makefile
==============================================================================
--- cpu/arm/openmoko/build/Makefile Thu Jan 20 00:28:37 2011 (r2126)
+++ cpu/arm/openmoko/build/Makefile Thu Jan 20 00:32:43 2011 (r2127)
@@ -18,12 +18,15 @@
tags: ${ROMNAME}.tag
@${BASEDIR}/forth/lib/toctags ${BASEDIR} ${TAGFILES}
-${ROMNAME}.rom: FORCE build ${CLIENTPROGS} ${HOSTDIR}/forth
+${ROMNAME}.rom: FORCE build ${CLIENTPROGS} ${HOSTDIR}/forth ${HOSTDIR}/armforth
./build $@
${HOSTDIR}/forth:
@make -C ${HOSTDIR} forth
+${HOSTDIR}/armforth:
+ @make -C ${HOSTDIR} armforth
+
../../build/inflate.bin:
@make -C ../../build inflate.bin
Modified: cpu/x86/Darwin/Makefile
==============================================================================
--- cpu/x86/Darwin/Makefile Thu Jan 20 00:28:37 2011 (r2126)
+++ cpu/x86/Darwin/Makefile Thu Jan 20 00:32:43 2011 (r2127)
@@ -2,67 +2,87 @@
BP=../../..
-CFLAGS = -g -m32 -DTARGET_X86
+# Flags for the OS and CPU
+MFLAGS = -m32
+
+OPT = -O
+CFLAGS = -g $(MFLAGS) -DTARGET_X86
+LFLAGS = $(MFLAGS)
# Extra CFLAGS needed by Darwin hosts. GCC doesn't define __unix__ here,
# so we must include it ourselves.
CFLAGS += -D__unix__=1 -Wimplicit-function-declaration
-#CFLAGS += -DUSE_XCB
+SIMCFLAGS += -D__unix__=1 -Wimplicit-function-declaration
WRTAIL = forth/wrapper
WRDIR = ${BP}/${WRTAIL}
+
+ifdef OMIT_ZIP
+ZIPDIR = ${WRDIR}
+ZIPOBJS = nullzip.o
+INFLATEBIN =
+else
ZIPTAIL = ${WRTAIL}/zip
ZIPDIR = ${BP}/${ZIPTAIL}
-# Apple's GCC is a bit brain-dead. It's probably best to install gcc43 and
-# binutils from macports. See http://macports.macforge.net for how to install
-# and use macports. At the very least, binutils from macports seems to be
-# required.
-
-# The default compiler on Mac OS X (as of 10.5 anyway) does not honor -fpic.
-# GCC will warn about -fpic not being supported, assumes you meant -fPIC,
-# and switches to that. That should be okay, but if you're concerned about it
-# I'm providing this already defined override for ${CC}. To use it, just
-# uncomment it, or pass CC= on the command line. This is here to make things
-# easier for us lazy people.
-#CC = /opt/local/bin/gcc-mp-4.3
-
-# Unfortunately, Mac OS X does not ship with objcopy. This means that one must
-# install binutils from macports, so we override the OBJCOPY variable here
-# and just use that instead of calling 'objcopy' itself.
-OBJCOPY = /opt/local/bin/gobjcopy
-
ZIPOBJS = zipmem.o deflate.o trees.o bits.o util.o inflate.o
-
-OBJS = wrapper.o logger.o ${ZIPOBJS}
-
-all: forth x86forth ../build/inflate.bin
-
-# Use forth when you just need to run Forth but don't care what
-# native instruction set it is on.
-# Use x86forth when you need to compile new dictionaries that will
-# run on x86 systems.
-forth: ${OBJS}
- ${CC} -m32 -o $@ ${OBJS}
- @ln -sf forth x86forth
+INFLATEBIN = ../../build/inflate.bin
# Compile with -O0 because with GCC4, higher optimization levels cause the
# functions to be reordered so the "inflate" entry point is no longer at
# the beginning.
inflate.o: ${ZIPDIR}/inflate.c
- ${CC} -c -m32 -O0 -fpic $< -o $@
+ ${CC} -c ${MFLAGS} -O0 -fpic $< -o $@
# Well, we're not going to get objcopy in a generic OS X environment, so
# let's just fake it.
../build/inflate.bin: inflate.o
- # ${OBJCOPY} -O binary $< $@
dd if=$< of=$@ bs=256 skip=1
+endif
+
+OBJS = wrapper.o logger.o ${ZIPOBJS}
+
+all: forth x86forth ${INFLATEBIN}
+
+# Use forth when you just need to run Forth but don't care what
+# native instruction set it is on.
+# Use x86forth when you need to compile new dictionaries that will
+# run on x86 systems.
+forth: ${OBJS}
+ ${CC} $(MFLAGS) -o $@ ${OBJS}
+ @ln -sf forth x86forth
%.o: ${WRDIR}/%.c
- ${CC} -c ${CFLAGS} -I${ZIPDIR} $< -o $@
+ ${CC} -c ${OPT} ${CFLAGS} $< -o $@
%.o: ${ZIPDIR}/%.c
- ${CC} -c ${CFLAGS} -I${ZIPDIR} $< -o $@
+ ${CC} -c ${OPT} ${CFLAGS} -I${ZIPDIR} $< -o $@
+
+# ARM simulator wrapper build rules
+
+ARMDIR = ${BP}/cpu/arm
+ARMCFLAGS = -g ${MFLAGS} -DARMSIM -DTARGET_ARM -DARM -DSIMNEXT
+ARMSIMOBJS = wrapsim.o armsim.o logger.o ${ZIPOBJS}
+ARMTRACEOBJS = wrapsim.o armsim.trace.o logger.o ${ZIPOBJS}
+
+# Extra CFLAGS needed by Darwin hosts. GCC doesn't define __unix__ here,
+# so we must include it ourselves.
+ARMCFLAGS += -D__unix__=1 -Wimplicit-function-declaration
+
+%.o: ${ARMDIR}/%.c
+ ${CC} -c ${ARMCFLAGS} $< -o $@
+
+wrapsim.o: ${WRDIR}/wrapper.c
+ ${CC} -c ${ARMCFLAGS} -c $< -o $@
+
+armsim.trace.o: $(ARMDIR)/armsim.c
+ ${CC} -c ${ARMCFLAGS} -DTRACE=1 -c $< -o $@
+
+armforth: ${ARMSIMOBJS}
+ ${CC} ${ARMSIMOBJS} -o $@
+
+armforth.trace: ${ARMTRACEOBJS}
+ ${CC} ${ARMTRACEOBJS} -o $@
clean:
- @rm -f forth x86forth *.o *~ inflate.bin
+ @rm -f forth x86forth armforth *.o *~ inflate.bin
Modified: cpu/x86/Linux/Makefile
==============================================================================
--- cpu/x86/Linux/Makefile Thu Jan 20 00:28:37 2011 (r2126)
+++ cpu/x86/Linux/Makefile Thu Jan 20 00:32:43 2011 (r2127)
@@ -2,7 +2,12 @@
BP=../../..
-CFLAGS = -O -g -m32 -DTARGET_X86
+# Flags for the OS and CPU
+MFLAGS = -m32
+
+OPT = -O
+CFLAGS = -g $(MFLAGS) -DTARGET_X86
+LFLAGS = $(MFLAGS)
# Uncomment these lines to include X windows support to the wrapper
# via libxcb. The libxcb development package (headers, etc) must be
@@ -13,11 +18,19 @@
WRTAIL = forth/wrapper
WRDIR = ${BP}/${WRTAIL}
+
+ifdef OMIT_ZIP
+ZIPDIR = ${WRDIR}
+ZIPOBJS = nullzip.o
+INFLATEBIN =
+else
ZIPTAIL = ${WRTAIL}/zip
ZIPDIR = ${BP}/${ZIPTAIL}
ZIPOBJS = zipmem.o deflate.o trees.o bits.o util.o inflate.o
+endif
+
OBJS += wrapper.o logger.o ${ZIPOBJS}
all: forth x86forth ../build/inflate.bin
@@ -27,11 +40,11 @@
# Use x86forth when you need to compile new dictionaries that will
# run on x86 systems.
forth: ${OBJS}
- ${CC} -m32 -o $@ ${OBJS} ${LIBS}
+ ${CC} ${MFLAGS} -o $@ ${OBJS} ${LIBS}
@ln -sf forth x86forth
inflate.lo: ${ZIPDIR}/inflate.c
- ${CC} -c -m32 -Wall -fno-stack-protector -ffreestanding -D_FORTIFY_SOURCE=0 -DNEED_BCOPY -O3 -fpic $< -o $@
+ ${CC} -c $(MFLAGS) -Wall -fno-stack-protector -ffreestanding -D_FORTIFY_SOURCE=0 -DNEED_BCOPY -O3 -fpic $< -o $@
inflate.o: inflate.lo
${LD} -melf_i386 -T inflate.ld $< -o $@
@@ -40,15 +53,15 @@
objcopy -O binary $< $@
%.o: ${WRDIR}/%.c
- ${CC} -c ${CFLAGS} $< -o $@
+ ${CC} -c ${OPT} ${CFLAGS} $< -o $@
%.o: ${ZIPDIR}/%.c
- ${CC} -c ${CFLAGS} -I${ZIPDIR} $< -o $@
+ ${CC} -c ${OPT} ${CFLAGS} -I${ZIPDIR} $< -o $@
# ARM simulator wrapper build rules
ARMDIR = ${BP}/cpu/arm
-ARMCFLAGS = -g -m32 -DARMSIM -DTARGET_ARM -DARM -DSIMNEXT
+ARMCFLAGS = -g ${MFLAGS} -DARMSIM -DTARGET_ARM -DARM -DSIMNEXT
ARMSIMOBJS = wrapsim.o armsim.o logger.o ${ZIPOBJS}
ARMTRACEOBJS = wrapsim.o armsim.trace.o logger.o ${ZIPOBJS}