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++"
+version_gpc = 20030830
+url_gpc = http://www.gnu-pascal.de/alpha/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"
+
version_binutils = 2.14
url_binutils = ftp://ftp.gnu.org/gnu/binutils/binutils-$(version_binutils).tar.gz
-patches_binutils = binutils-no64.patch
+patches_binutils = binutils-no64.patch binutils-nocompilein.patch
configure_binutils = --target=mips-unknown-elf
version_newlib = 1.11.0
$(MAKE) install
touch $@
+tasks/extract_gpc: tasks/download_gcc tasks/download_gpc
+ mkdir -p build/gpc.extract
+ cd build/gpc.extract && \
+ gzip -dc ../../download/gcc-core-$(version_gcc).tar.gz | tar xf - && \
+ gzip -dc ../../download/gpc-$(version_gpc).tar.gz | tar xf - && \
+ test ! -e gcc-$(version_gcc)/gcc/p && \
+ mv gpc-$(version_gpc)/p gcc-$(version_gcc)/gcc/p
+ mv build/gpc.extract/gcc-$(version_gcc) build/gpc-$(version_gpc)
+ rm -rf build/gpc.extract
+ touch $@
+
+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
+ 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
+ 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
@mkdir -p $(usr)/mips-unknown-elf/{include,lib}
cd build && gzip -dc ../download/openbsdglob.tar.gz | tar xf -
# to build or run mips2java
#
-tasks/build_freetype: tasks/full_toolchain
-tasks/build_libjpeg: tasks/full_toolchain
-tasks/build_boehmgc: tasks/full_toolchain
-tasks/build_libmspack: tasks/full_toolchain
-tasks/build_freetype: tasks/full_toolchain
-
version_libjpeg = 6b
url_libjpeg = http://www.ijg.org/files/jpegsrc.v$(version_libjpeg).tar.gz
ln -s libjpeg-$(version_libjpeg) libjpeg
touch $@
-tasks/build_libjpeg: tasks/patch_libjpeg
+tasks/build_libjpeg: tasks/patch_libjpeg tasks/build_libc
cd build/libjpeg-$(version_libjpeg) && \
./configure && \
make CC="mips-unknown-elf-gcc" \
LDFLAGS="$(MIPS_LDFLAGS)"
touch $@
-tasks/extract_libmspack: tasks/download_libmspack
+tasks/extract_libmspack: tasks/download_libmspack tasks/build_libc
mkdir -p build
cd build && \
gzip -dc ../download/libmspack-$(version_libmspack).tar.gz | tar xf - && \
ln -s libmspack-$(version_libmspack) libmspack
touch $@
-tasks/build_libmspack: tasks/patch_libmspack tasks/full_toolchain
+tasks/build_libmspack: tasks/patch_libmspack tasks/build_libc
cd build/libmspack-$(version_libmspack)/mspack && \
make CC="mips-unknown-elf-gcc" \
AR="mips-unknown-elf-ar" \
OPTIM="$(MIPS_CFLAGS)"
touch $@
-tasks/build_freetype: tasks/patch_freetype tasks/full_toolchain
+tasks/build_freetype: tasks/patch_freetype tasks/build_libc
cd build/freetype-$(version_freetype) && \
$(MAKE) setup ansi && \
$(MAKE) CC="mips-unknown-elf-gcc" \
ln -s gc$(version_boehmgc) boehmgc-$(version_boehmgc)
touch $@
-tasks/build_boehmgc: tasks/patch_boehmgc tasks/full_toolchain
+tasks/build_boehmgc: tasks/patch_boehmgc tasks/build_libc
cd build/gc$(version_boehmgc) && \
CC="mips-unknown-elf-gcc" CFLAGS="$(MIPS_CFLAGS)" LDFLAGS="$(MIPS_LDFLAGS)" \
./configure --host=mips-unknown-elf --disable-shared --disable-threads && \
make gctest
touch $@
-tasks/build_busybox: tasks/patch_busybox tasks/full_toolchain
+tasks/build_busybox: tasks/patch_busybox tasks/build_libc
cd build && \
rm -f busybox && \
ln -s busybox-$(version_busybox) busybox