gpc support
[nestedvm.git] / upstream / Makefile
index 9d233e0..32a90e2 100644 (file)
@@ -9,6 +9,11 @@ patches_gcc = gcc-fixes.patch gcc-fdata-sections-bss.patch
 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 binutils-nocompilein.patch
@@ -191,6 +196,30 @@ tasks/build_gcc_step2: tasks/patch_gcc tasks/build_libc
                $(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 -
@@ -222,12 +251,6 @@ tasks/build_regex: tasks/download_regex tasks/build_newlib
 # 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
 
@@ -256,7 +279,7 @@ tasks/extract_libjpeg: tasks/download_libjpeg
                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" \
@@ -266,7 +289,7 @@ tasks/build_libjpeg: tasks/patch_libjpeg
                        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 - && \
@@ -275,7 +298,7 @@ tasks/extract_libmspack: tasks/download_libmspack
                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" \
@@ -283,7 +306,7 @@ tasks/build_libmspack: tasks/patch_libmspack tasks/full_toolchain
                        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" \
@@ -303,7 +326,7 @@ tasks/extract_boehmgc: tasks/download_boehmgc
                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 && \
@@ -311,7 +334,7 @@ tasks/build_boehmgc: tasks/patch_boehmgc tasks/full_toolchain
                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