X-Git-Url: http://git.megacz.com/?p=nestedvm.git;a=blobdiff_plain;f=upstream%2FMakefile;h=021ad83e65eb23b0702afdeda7fcdba8abac72f0;hp=ec0d9a4e58029060298a59a993dac886dfe8844c;hb=e66d9be5010b59d11b7895ca523a2c8c20aeec93;hpb=fd9029a7104f769a45dc56eeff9a3ce14febf5dc diff --git a/upstream/Makefile b/upstream/Makefile index ec0d9a4..021ad83 100644 --- a/upstream/Makefile +++ b/upstream/Makefile @@ -1,6 +1,6 @@ # Inspired by XWT's Makefile.upstream -sourceforge = http://softlayer.dl.sourceforge.net/sourceforge/ +sourceforge = http://download.sourceforge.net/ tasks/everything: \ tasks/build_newlib \ @@ -10,6 +10,9 @@ tasks/everything: \ tasks/build_regex \ tasks/build_openbsdglob \ tasks/build_zlib \ + tasks/build_libpng \ + tasks/build_libiconv \ + tasks/build_gd \ tasks/build_expat \ tasks/build_gmp \ tasks/build_expat \ @@ -30,8 +33,10 @@ tasks/everything: \ tasks/build_linpack \ -darcs_gcclass = http://darcs.brianweb.net/gcclass -darcs_classgen = http://darcs.brianweb.net/classgen +darcs_gcclass = http://gcclass.ibex.org/ +darcs_classgen = http://classgen.ibex.org/ +git_gcclass = http://gcclass.ibex.org/.git/ +git_classgen = http://classgen.ibex.org/.git/ cross_root := $(usr)/mips-unknown-elf .SECONDARY: # This is broken in gmake < 3.79.1 @@ -100,6 +105,30 @@ tasks/build_darcs_%: tasks/extract_darcs_% cd "build/$*" && $(MAKE) touch $@ +tasks/extract_git_%: + if [ -e $@ ]; then echo "Error: $@ exists. something isn't right"; false; else true; fi + mkdir -p build + if [ -z "$(git_$*)" ]; then echo "No git url for $*" >&2; false; fi + if [ -d "$(root)/.git" ]; then \ + cd build && git clone "$(git_$*)" "$*"; \ + else \ + mkdir -p "build/" && cd "build/"; \ + git clone $(darcs_$*) $*; \ + fi + touch $@ + +update_git_%: tasks/extract_git_% + if [ -d "build/$*/.git" ]; then \ + cd "build/$*" && git fetch; \ + else \ + cd "build/$*" && git clone $(git_$*); \ + fi + rm -f "tasks/build_git_$*" # to force a rebuild + +tasks/build_git_%: tasks/extract_git_% + cd "build/$*" && $(MAKE) + touch $@ + clean_%: rm -rf "build/$(*)"* rm -f "tasks/build_$*" "tasks/patch_$*" "tasks/extract_$*" @@ -132,7 +161,7 @@ url_gcc-core = http://mirrors.kernel.org/gnu/gcc/gcc-$(version_gcc)/gcc-core-$(v url_gcc-c++ = http://mirrors.kernel.org/gnu/gcc/gcc-$(version_gcc)/gcc-g++-$(version_gcc).tar.gz url_gcc-g77 = http://mirrors.kernel.org/gnu/gcc/gcc-$(version_gcc)/gcc-g77-$(version_gcc).tar.gz -patches_gcc = gcc-fixes.patch gcc-fdata-sections-bss.patch gcc-64bitclean.patch +patches_gcc = gcc-fixes.patch gcc-fdata-sections-bss.patch gcc-64bitclean.patch gcc-with-newer-version.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++,f77" @@ -211,7 +240,7 @@ tasks/build_newlib: tasks/build_gcc ## openbsdglob ############################################################################## -url_openbsdglob = http://www.brianweb.net/xwt/openbsdglob.tar.gz +url_openbsdglob = http://nestedvm.ibex.org/upstream/openbsdglob.tar.gz tasks/build_openbsdglob: tasks/download_openbsdglob tasks/build_newlib @mkdir -p $(usr)/mips-unknown-elf/{include,lib} @@ -249,13 +278,56 @@ url_linpack = http://www.math.iastate.edu/burkardt/f_src/linpack_bench/linpack_b ## zlib ############################################################################## -version_zlib = 1.2.3 +version_zlib = 1.2.7 url_zlib = http://www.zlib.net/zlib-$(version_zlib).tar.gz +configure_zlib = --static tasks/build_zlib: tasks/patch_zlib mkdir -p $(usr) cd build/zlib-$(version_zlib) && \ - AR="mips-unknown-elf-ar rc" CC=mips-unknown-elf-gcc ./configure --prefix=$(usr) $(configure_$*) && \ + AR=mips-unknown-elf-ar CC=mips-unknown-elf-gcc ./configure --prefix=$(usr) $(configure_zlib) && \ + $(MAKE) TARGET_CFLAGS="$(MIPS_CFLAGS)" && \ + $(MAKE) install + touch $@ + +## libpng ############################################################################## + +version_libpng = 1.5.10 +url_libpng = $(sourceforge)libpng/libpng-$(version_libpng).tar.gz +configure_libpng = --disable-shared --host=mips-unknown-elf + +tasks/build_libpng: tasks/patch_libpng tasks/build_libc + mkdir -p $(usr) + cd build/libpng-$(version_libpng) && \ + CPPFLAGS=-I$(usr)/include LDFLAGS=-L$(usr)/lib ./configure --prefix=$(usr) $(configure_libpng) && \ + $(MAKE) TARGET_CFLAGS="$(MIPS_CFLAGS)" && \ + $(MAKE) install + touch $@ + +## libiconv ############################################################################## + +version_libiconv = 1.14 +url_libiconv = http://ftp.gnu.org/gnu/libiconv/libiconv-$(version_libiconv).tar.gz +configure_libiconv = --disable-shared --host=mips-unknown-elf + +tasks/build_libiconv: tasks/patch_libiconv tasks/build_libc + mkdir -p $(usr) + cd build/libiconv-$(version_libiconv) && \ + ./configure --prefix=$(usr) $(configure_libiconv) && \ + $(MAKE) TARGET_CFLAGS="$(MIPS_CFLAGS)" && \ + $(MAKE) install + touch $@ + +## gd ############################################################################## + +version_gd = 2.0.35 +url_gd = http://www.chipsnbytes.net/downloads/gd-$(version_gd).tar.gz +configure_gd = --disable-shared --host=mips-unknown-elf + +tasks/build_gd: tasks/patch_gd tasks/build_libc + mkdir -p $(usr) + cd build/gd-$(version_gd) && \ + CPPFLAGS=-I$(usr)/include/freetype2 LDFLAGS=-L$(usr)/lib ./configure --prefix=$(usr) $(configure_gd) && \ $(MAKE) TARGET_CFLAGS="$(MIPS_CFLAGS)" && \ $(MAKE) install touch $@ @@ -359,9 +431,9 @@ tasks/build_libmspack: tasks/patch_libmspack tasks/build_libc ## freetype ############################################################################## -version_freetype = 2.1.4 +version_freetype = 2.4.9 url_freetype = $(sourceforge)freetype/freetype-$(version_freetype).tar.gz -patches_freetype = freetype.patch ft-nostdio.patch +#patches_freetype = freetype.patch ft-nostdio.patch tasks/build_freetype: tasks/patch_freetype tasks/build_libc cd build/freetype-$(version_freetype) && \ @@ -377,7 +449,7 @@ tasks/build_freetype: tasks/patch_freetype tasks/build_libc 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.brianweb.net/misc/gc$(version_boehmgc).tar.gz +url_boehmgc = http://nestedvm.ibex.org/upstream/gc$(version_boehmgc).tar.gz patches_boehmgc = boehm-gc.patch tasks/extract_boehmgc: tasks/download_boehmgc