configure_gcc = --target=mips-unknown-elf --disable-threads --with-gnu-ld --with-gnu-as --with-newlib=yes --enable-sjlj-exceptions --enable-languages="c"
configure_gcc_step2 = $(configure_gcc) --enable-languages="c,c++,f77"
-
version_gpc = 20030830
-url_gpc = http://www.gnu-pascal.de/alpha/gpc-$(version_gpc).tar.gz
+#url_gpc = http://www.gnu-pascal.de/alpha/gpc-$(version_gpc).tar.gz
+url_gpc = http://www.megacz.com/upstream/gpc-$(version_gpc).tar.gz
patches_gpc = $(patches_gcc) gpc-with-3.3.3.patch gpc-noutils.patch
configure_gpc = $(configure_gcc) --enable-languages="pascal"
url_linpack = http://www.math.iastate.edu/burkardt/f_src/linpack_bench/linpack_bench.f
+version_gmp = 4.1.4
+url_gmp = ftp://ftp.gnu.org/gnu/gmp/gmp-$(version_gmp).tar.gz
+configure_gmp = --host=mips-unknown-elf
+
darcs_gcclass = http://darcs.brianweb.net/gcclass
darcs_classgen = http://darcs.brianweb.net/classgen
tasks/download_%:
if [ -z "$(url_$*)" ]; then echo "No url for $*" >&2; false; fi
mkdir -p download
- cd download && wget --passive-ftp -N $(url_$*)
+ cd download && curl -O $(url_$*)
touch $@
tasks/extract_%: tasks/download_%
cd "build/$*" && $(MAKE)
touch $@
+# Add extra nestedvm specific headers to include
tasks/build_extraheaders: $(upstream)/misc/extraheaders.sh tasks/build_newlib
- # Add extra nestedvm specific headers to include
+
cd $(cross_root)/include && sh $<
touch $@
top_lev_stuff := $(patsubst %,../build/org/ibex/nestedvm/%.o, crt0 support support_aux)
+# HACK: Get the top level makefile to build the support stuff
$(top_lev_stuff):
- # HACK: Get the top level makefile to build the support stuff
$(MAKE) -C .. $(top_lev_stuff:../%=%)
+# Add our support stuff to libc
tasks/build_libc: tasks/build_newlib tasks/build_extraheaders tasks/build_regex tasks/build_openbsdglob misc/extraheaders.sh $(top_lev_stuff)
- # Add our support stuff to libc
mips-unknown-elf-ar sr $(cross_root)/lib/libc.a $(patsubst %,../build/org/ibex/nestedvm/%.o, support support_aux)
mips-unknown-elf-ar sr $(cross_root)/lib/single-float/libc.a $(patsubst %,../build/org/ibex/nestedvm/%.o, support support_aux)
rm -f $(cross_root)/lib/crt0.o
tasks/build_gpc: tasks/patch_gpc tasks/build_libc
mkdir -p $(usr)
- # We need to preapply this patch because gpc's configury doesn't like 3.3.3
+ # We need to preapply this patch because gpc's configury doesn't like 3.3.3
cd build/gpc-$(version_gpc) && cat gcc/version.c | grep -q GPC || $(PATCH) -p0 < gcc/p/diffs/gcc-3.3.diff
-
- # echo | is to dismiss the gcc version warning
+
+ # echo | is to dismiss the gcc version warning
mkdir -p build/gpc-obj && cd build/gpc-obj && \
echo | ../gpc-$(version_gpc)/configure --prefix=$(usr) $(configure_gpc) && \
$(MAKE) TARGET_CFLAGS="$(MIPS_CFLAGS)" && \
cd gcc && $(MAKE) pascal.install
-
+
touch $@
tasks/build_openbsdglob: tasks/download_openbsdglob tasks/build_newlib
cp libregex.a $(usr)/mips-unknown-elf/lib
touch $@
-
+tasks/build_gmp: tasks/patch_gmp tasks/build_libc
+ cd build/gmp && \
+ CFLAGS="$(MIPS_CFLAGS)" LDFLAGS="$(MIPS_LDFLAGS)" \
+ ./configure --prefix=$(usr) $(configure_gmp) && \
+ make && \
+ make install exec_prefix=$(usr)/mips-unknown-elf includedir=$(usr)/mips-unknown-elf/include
+ touch $@
+
#
# Tests
# These are simply here for convenience. They aren't required
patches_libmspack = libmspack.patch
version_freetype = 2.1.4
-url_freetype = http://umn.dl.sourceforge.net/sourceforge/freetype/freetype-$(version_freetype).tar.gz
+url_freetype = http://easynews.dl.sourceforge.net/sourceforge/freetype/freetype-$(version_freetype).tar.gz
patches_freetype = freetype.patch ft-nostdio.patch
version_boehmgc = 6.3alpha2
-url_boehmgc = http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc$(version_boehmgc).tar.gz
+#url_boehmgc = http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc$(version_boehmgc).tar.gz
+url_boehmgc = http://www.brianweb.net/misc/gc$(version_boehmgc).tar.gz
patches_boehmgc = boehm-gc.patch
version_busybox = 1.00-pre9
tasks/extract_tex_tangle:
@mkdir -p build/tex
- cd build/tex && \
- curl -o tex.web http://www.math.uni.wroc.pl/~hebisch/tex_p/tex.web && \
- curl http://www.gnu-pascal.de/crystal/gpc/en/attachments/5593/tangle.p.gz | zcat > tangle.p
+ cd build/tex && curl -o tex.web http://www.math.uni.wroc.pl/~hebisch/tex_p/tex.web
touch $@
tasks/build_tex_tangle: tasks/extract_tex_tangle tasks/build_gpc
tasks/build_tex: tasks/build_tex_tangle tasks/build_gpc tasks/download_texinputs
@mkdir -p build/tex
-
- # HACK: Build Tangel.class
+
+ # HACK: Build Tangel.class
make -C $(root) build/tests/Tangle.class
-
+
rm -f build/tex/tex.p build/tex/tex.pool
cp misc/tex.ch build/tex/tex.ch
cd build/tex && \