X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=upstream%2FMakefile;h=9bc68d67073b0e4f3a3b9ba02845e06601f07142;hb=b931f17d5d374832498c47ac1bcde0ba15dec0ef;hp=4aaed45af2a799bd25bcd2cdd62324b3044fb3ca;hpb=9310da221320ecd1a2b36f3101180d8a06b3cfa9;p=org.ibex.core.git diff --git a/upstream/Makefile b/upstream/Makefile index 4aaed45..9bc68d6 100644 --- a/upstream/Makefile +++ b/upstream/Makefile @@ -4,65 +4,91 @@ # # upstream packages we need -packages := jikes-1.18 binutils-2.13.2.1 newlib-1.11.0 w32api-2.3 mingw-runtime-3.0 freetype-2.1.4 gcc-3.3 jpeg-6b +packages := jikes-1.18 binutils-2.13.2.1 newlib-1.11.0 w32api-2.3 mingw-runtime-3.0 freetype-2.1.4 gcc-3.3.1 jpeg-6b # where to get stuff url_newlib-1.11.0 := ftp://sources.redhat.com/pub/newlib/newlib-1.11.0.tar.gz url_binutils-2.13.2.1 := ftp://ftp.gnu.org/gnu/binutils/binutils-2.13.2.1.tar.gz -url_w32api-2.3 := http://twtelecom.dl.sourceforge.net/sourceforge/mingw/w32api-2.3.tar.gz -url_mingw-runtime-3.0 := http://twtelecom.dl.sourceforge.net/sourceforge/mingw/mingw-runtime-3.0.tar.gz +url_w32api-2.3 := http://umn.dl.sourceforge.net/sourceforge/mingw/w32api-2.3.tar.gz +url_mingw-runtime-3.0 := http://umn.dl.sourceforge.net/sourceforge/mingw/mingw-runtime-3.0.tar.gz url_freetype-2.1.4 := http://umn.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.4.tar.gz -url_gcc-3.3 := http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-3.3/gcc-3.3.tar.gz +url_gcc-3.3.1 := http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-3.3.1/gcc-3.3.1.tar.gz url_jpeg-6b := http://www.ijg.org/files/jpegsrc.v6b.tar.gz url_jikes-1.18 := http://www.megacz.com/tmp/jikes-1.18.tgz #ftp://www-126.ibm.com/pub/jikes/1.18/jikes-1.18.tar.gz # how to configure it -configure_gcc-3.3 := --enable-languages=c,c++,java --enable-gc-type=boehm --disable-shared --disable-jvmpi -configure_gcc-3.3 += --disable-java-awt --disable-interpreter --enable-static -configure_gcc-3.3-powerpc-apple := --enable-threads=posix --disable-hash-synchronization # FIXME: can we enable hashsync? -configure_gcc-3.3-i686-pc-mingw32 := --enable-threads=win32 --enable-hash-synchronization -configure_gcc-3.3-i686-pc-linux-gnu := --enable-threads=posix --enable-hash-synchronization -configure_gcc-3.3-mips := --nfp --with-newlib=yes --enable-multilib --disable-threads -configure_gcc-3.3-sparc-sun-solaris2.7 := --enable-threads=posix --disable-multilib +configure_gcc-3.3.1 := --enable-languages=c,c++,java --enable-gc-type=boehm --disable-shared --disable-jvmpi +configure_gcc-3.3.1 += --disable-java-awt --disable-interpreter --enable-static +configure_gcc-3.3.1 += --with-gnu-ld --with-gnu-as +configure_gcc-3.3.1-powerpc-apple := --enable-threads=posix --disable-hash-synchronization +configure_gcc-3.3.1-i686-pc-mingw32 := --enable-threads=win32 --enable-hash-synchronization +configure_gcc-3.3.1-i686-pc-linux-gnu := --enable-threads=posix --enable-hash-synchronization +configure_gcc-3.3.1-sparc-sun-solaris2.7 := --enable-threads=posix --disable-multilib +configure_gcc-3.3.1-mips := --enable-languages=c --nfp --with-newlib=yes --enable-multilib --disable-threads # jikes has a special target to autodetect a pre-installed jikes, and to autodetect the JVM's $CLASSPATH .jikes: - echo "jikes " > .jikes - (type jikes && (jikes --version | grep "Version 1.18")) || \ - (make jikes-1.18/src jikes-1.18/.installed && echo -n "upstream/jikes-1.18/install/bin/jikes " > .jikes) + echo "#!/bin/sh" > .jikes + echo 'for A in `find build/class -name \*.class`; do mv $$A $$A.old; done;' >> .jikes + echo -n 'PATH=$$PATH:upstream/install/bin/ jikes -classpath lib/libgcj-minimal.jar $$@ -d build/class/ -sourcepath build/java/ ' >> .jikes + (type jikes && (jikes --version | grep "Version 1.18")) || make jikes-1.18/src jikes-1.18/.installed echo -n "$(jikes_flags) -bootclasspath " >> .jikes echo "public class GetBootClassPath { public static void main(String[] s) { " > GetBootClassPath.java echo "System.out.println(System.getProperty(\"sun.boot.class.path\")); } }" >> GetBootClassPath.java javac GetBootClassPath.java java -cp . GetBootClassPath >> .jikes rm GetBootClassPath.* + echo 'EXIT=$$?' >> .jikes + echo 'for A in `find build/class -name \*.class`; do test -e $$A.old && cmp -s $$A $$A.old && mv $$A.old $$A; done' >> .jikes + echo 'for A in `find build/class -name \*.class`; do test -e $$A.old && rm $$A.old; done' >> .jikes + echo 'exit $$EXIT' >> .jikes + chmod +x .jikes # make the package's directory (if it doesn't exist) $(packages): - mkdir -p $< + mkdir -p $@ install + +.headers: + curl http://www.megacz.com/upstream.tgz | tar xzf - -C upstream/install + touch .headers # if the make target was specified in $(package)-$(target) format, break it apart and recurse $(packages:%=%-$(target)): %-$(target): % - make mkdirs $