# HG changeset patch # User Volker Grabsch # Date 1289951567 -3600 # Node ID 08b296ec290e3bb65dc3e71ba36f156a203f776e # Parent 1a256899c0aafdccc524e1922fa3b0683633e00f cleanup packages: blas cblas lapack metis suitesparse diff -r 1a256899c0aa -r 08b296ec290e src/blas.mk --- a/src/blas.mk Wed Nov 17 00:48:20 2010 +0100 +++ b/src/blas.mk Wed Nov 17 00:52:47 2010 +0100 @@ -1,31 +1,26 @@ # This file is part of mingw-cross-env. # See doc/index.html for further information. -# -# # blas PKG := blas $(PKG)_IGNORE := -$(PKG)_VERSION := +$(PKG)_VERSION := 1 $(PKG)_CHECKSUM := 0aeca4ed45f2e5519977747ed6bcf80d1b0335d2 $(PKG)_SUBDIR := BLAS -$(PKG)_FILE := blas.tgz +$(PKG)_FILE := $(PKG).tgz $(PKG)_WEBSITE := http://www.netlib.org/ -$(PKG)_URL := http://www.netlib.org/blas/blas.tgz +$(PKG)_URL := http://www.netlib.org/$(PKG)/$($(PKG)_FILE) $(PKG)_DEPS := gcc define $(PKG)_UPDATE + echo 1 endef define $(PKG)_BUILD - - $(SED) -i 's,$$(FORTRAN),$(TARGET)-gfortran,g' '$(1)/Makefile' - make -C $(1) - cd $(1) && $(TARGET)-ar cr libblas.a *.o + $(SED) -i 's,$$(FORTRAN),$(TARGET)-gfortran,g' '$(1)/Makefile' + $(MAKE) -C '$(1)' -j '$(JOBS)' + cd '$(1)' && $(TARGET)-ar cr libblas.a *.o $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib' $(INSTALL) -m664 '$(1)/libblas.a' '$(PREFIX)/$(TARGET)/lib/' - endef - - diff -r 1a256899c0aa -r 08b296ec290e src/cblas.mk --- a/src/cblas.mk Wed Nov 17 00:48:20 2010 +0100 +++ b/src/cblas.mk Wed Nov 17 00:52:47 2010 +0100 @@ -4,31 +4,30 @@ # cblas PKG := cblas $(PKG)_IGNORE := -$(PKG)_VERSION := +$(PKG)_VERSION := 1 $(PKG)_CHECKSUM := a8a765ebb8d753c7ad161ccd9191be42d3dc8bd9 $(PKG)_SUBDIR := CBLAS -$(PKG)_FILE := cblas.tgz -$(PKG)_WEBSITE := http://www.netlib.org/blas -$(PKG)_URL := http://www.netlib.org/blas/blast-forum/cblas.tgz +$(PKG)_FILE := $(PKG).tgz +$(PKG)_WEBSITE := http://www.netlib.org/blas/ +$(PKG)_URL := http://www.netlib.org/blas/blast-forum/$($(PKG)_FILE) $(PKG)_DEPS := gcc +define $(PKG)_UPDATE + echo 1 +endef define $(PKG)_BUILD + cp '$(1)/Makefile.LINUX' '$(1)/Makefile.MINGW32' + $(SED) -i 's,CBDIR =.*,CBDIR = $(1),g' '$(1)/Makefile.MINGW32' + $(SED) -i 's,FC =.*,FC = $(TARGET)-gfortran,g' '$(1)/Makefile.MINGW32' + ln -s '$(1)/Makefile.MINGW32' '$(1)/Makefile.in' + mkdir '$(1)/MINGW32' + $(MAKE) -C '$(1)' -j '$(JOBS)' alllib + cd '$(1)' && $(TARGET)-ar cr libcblas.a src/*.o - cp $(1)/Makefile.LINUX $(1)/Makefile.MINGW32 - $(SED) -i 's,CBDIR = $$(HOME)/CBLAS,CBDIR = $(1),g' '$(1)/Makefile.MINGW32' - $(SED) -i 's,FC = g77,FC = $(TARGET)-gfortran,g' '$(1)/Makefile.MINGW32' - ln -s $(1)/Makefile.MINGW32 $(1)/Makefile.in - mkdir $(1)/MINGW32 - make -C $(1) alllib - cd $(1) && $(TARGET)-ar cr libcblas.a src/*.o - - $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib' - $(INSTALL) -m664 '$(1)/libcblas.a' '$(PREFIX)/$(TARGET)/lib/' - $(INSTALL) -d '$(PREFIX)/$(TARGET)/include' - $(INSTALL) -m664 '$(1)/src/cblas.h' '$(PREFIX)/$(TARGET)/include/' + $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib' + $(INSTALL) -m664 '$(1)/libcblas.a' '$(PREFIX)/$(TARGET)/lib/' + $(INSTALL) -d '$(PREFIX)/$(TARGET)/include' + $(INSTALL) -m664 '$(1)/src/cblas.h' '$(PREFIX)/$(TARGET)/include/' $(INSTALL) -m664 '$(1)/src/cblas_f77.h' '$(PREFIX)/$(TARGET)/include/' - endef - - diff -r 1a256899c0aa -r 08b296ec290e src/lapack.mk --- a/src/lapack.mk Wed Nov 17 00:48:20 2010 +0100 +++ b/src/lapack.mk Wed Nov 17 00:52:47 2010 +0100 @@ -1,16 +1,15 @@ # This file is part of mingw-cross-env. # See doc/index.html for further information. - # lapack PKG := lapack $(PKG)_IGNORE := $(PKG)_VERSION := 3.2.2 $(PKG)_CHECKSUM := a434c45932f6affb654b3abde21dd669f5751633 -$(PKG)_SUBDIR := lapack-$($(PKG)_VERSION) -$(PKG)_FILE := lapack-$($(PKG)_VERSION).tgz -$(PKG)_WEBSITE := http://www.netlib.org/lapack -$(PKG)_URL := http://www.netlib.org/lapack/$($(PKG)_FILE) +$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) +$(PKG)_FILE := $($(PKG)_SUBDIR).tgz +$(PKG)_WEBSITE := http://www.netlib.org/$(PKG)/ +$(PKG)_URL := http://www.netlib.org/$(PKG)/$($(PKG)_FILE) $(PKG)_DEPS := gcc define $(PKG)_UPDATE @@ -20,19 +19,13 @@ endef define $(PKG)_BUILD - cp $(1)/make.inc.example $(1)/make.inc - $(SED) -i 's,PLAT = _LINUX,PLAT = _MINGW32,g' '$(1)/make.inc' - $(SED) -i 's,gfortran,$(TARGET)-gfortran,g' '$(1)/make.inc' - $(SED) -i 's, ar, $(TARGET)-ar,g' '$(1)/make.inc' + cp $(1)/make.inc.example $(1)/make.inc + $(SED) -i 's,PLAT =.*,PLAT = _MINGW32,g' '$(1)/make.inc' + $(SED) -i 's,gfortran,$(TARGET)-gfortran,g' '$(1)/make.inc' + $(SED) -i 's, ar, $(TARGET)-ar,g' '$(1)/make.inc' $(SED) -i 's, ranlib, $(TARGET)-ranlib,g' '$(1)/make.inc' - ## build Blas and Lapack - make -C $(1) lapacklib blaslib - cp $(1)/lapack_MINGW32.a $(1)/liblapack.a - cp $(1)/blas_MINGW32.a $(1)/libblas.a - $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib' - $(INSTALL) -m664 '$(1)/libblas.a' '$(PREFIX)/$(TARGET)/lib/' - $(INSTALL) -m664 '$(1)/liblapack.a' '$(PREFIX)/$(TARGET)/lib/' + $(MAKE) -C '$(1)' -j '$(JOBS)' lapacklib + $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib' + $(INSTALL) -m664 '$(1)/lapack_MINGW32.a' '$(PREFIX)/$(TARGET)/lib/liblapack.a' endef - - diff -r 1a256899c0aa -r 08b296ec290e src/metis.mk --- a/src/metis.mk Wed Nov 17 00:48:20 2010 +0100 +++ b/src/metis.mk Wed Nov 17 00:52:47 2010 +0100 @@ -6,26 +6,26 @@ $(PKG)_IGNORE := $(PKG)_VERSION := 4.0 $(PKG)_CHECKSUM := 580568308e1fa40e5a7a77cacbf27f865d6c01af -$(PKG)_SUBDIR := metis-4.0 -$(PKG)_FILE := metis-$($(PKG)_VERSION).tar.gz -$(PKG)_WEBSITE := http://glaros.dtc.umn.edu -$(PKG)_URL := http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-4.0.tar.gz +$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) +$(PKG)_FILE := $($(PKG)_SUBDIR).tar.gz +$(PKG)_WEBSITE := http://glaros.dtc.umn.edu/ +$(PKG)_URL := http://glaros.dtc.umn.edu/gkhome/fetch/sw/$(PKG)/$($(PKG)_FILE) $(PKG)_DEPS := gcc define $(PKG)_UPDATE wget -q -O- 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' | \ - $(SED) -n 's,.*metis-\([0-9]\.[0-9]\)\.tar.gz,\1,ip' | \ + $(SED) -n 's,.*metis-\([0-9][^"]*\)\.tar.*,\1,p' | \ head -1 endef define $(PKG)_BUILD - $(SED) -i 's,cc,$(TARGET)-gcc,' $(1)/Makefile.in - $(SED) -i 's,ar ,$(TARGET)-ar ,' $(1)/Makefile.in - $(SED) -i 's,ranlib,$(TARGET)-ranlib,' $(1)/Makefile.in - $(MAKE) -C '$(1)/Lib' - $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib' + $(SED) -i 's,cc,$(TARGET)-gcc,' '$(1)/Makefile.in' + $(SED) -i 's,ar ,$(TARGET)-ar ,' '$(1)/Makefile.in' + $(SED) -i 's,ranlib,$(TARGET)-ranlib,' '$(1)/Makefile.in' + $(MAKE) -C '$(1)/Lib' -j '$(JOBS)' + $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib' $(INSTALL) -m664 '$(1)/libmetis.a' '$(PREFIX)/$(TARGET)/lib/libmetis.a' - $(INSTALL) -d '$(PREFIX)/$(TARGET)/include/metis/Lib' + $(INSTALL) -d '$(PREFIX)/$(TARGET)/include/metis/Lib' $(INSTALL) -m664 '$(1)/Lib/metis.h' '$(PREFIX)/$(TARGET)/include/metis/Lib/metis.h' $(INSTALL) -m664 '$(1)/Lib/defs.h' '$(PREFIX)/$(TARGET)/include/metis/Lib/defs.h' $(INSTALL) -m664 '$(1)/Lib/struct.h' '$(PREFIX)/$(TARGET)/include/metis/Lib/struct.h' diff -r 1a256899c0aa -r 08b296ec290e src/suitesparse.mk --- a/src/suitesparse.mk Wed Nov 17 00:48:20 2010 +0100 +++ b/src/suitesparse.mk Wed Nov 17 00:52:47 2010 +0100 @@ -9,63 +9,54 @@ $(PKG)_SUBDIR := SuiteSparse $(PKG)_FILE := SuiteSparse-$($(PKG)_VERSION).tar.gz $(PKG)_WEBSITE := http://www.cise.ufl.edu/ -$(PKG)_URL := http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-$($(PKG)_VERSION).tar.gz -$(PKG)_DEPS := gcc metis lapack +$(PKG)_URL := http://www.cise.ufl.edu/research/sparse/SuiteSparse/$($(PKG)_FILE) +$(PKG)_DEPS := gcc metis blas lapack define $(PKG)_UPDATE wget -q -O- 'http://www.cise.ufl.edu/research/sparse/SuiteSparse/' | \ - $(SED) -n 's,.*SuiteSparse-\([0-9]\.[0-9]\.[0-9]\)\.tar.*,\1,ip' | \ + $(SED) -n 's,.*SuiteSparse-\([0-9][^"]*\)\.tar.*,\1,p' | \ head -1 endef define $(PKG)_BUILD - - # change the config to find metis - $(SED) -i 's,\(METIS_PATH = \)\(. $(INSTALL) -m664 '$(1)/. $(INSTALL) -m664 '$(1)/metis-4.0\),\1'$(PREFIX)/$(TARGET)/include/metis',' $(1)/UFconfig/UFconfig.mk - $(SED) -i 's,\(METIS = \)\(. $(INSTALL) -m664 '$(1)/. $(INSTALL) -m664 '$(1)/metis-4.0/libmetis.a\),\1'$(PREFIX)/$(TARGET)/lib/libmetis.a',' $(1)/UFconfig/UFconfig.mk - - # use cross tools - $(SED) -i 's,cc,$(TARGET)-gcc,' $(1)/UFconfig/UFconfig.mk - $(SED) -i 's,g++,$(TARGET)-g++,' $(1)/UFconfig/UFconfig.mk - $(SED) -i 's,f77,$(TARGET)-gfortran,' $(1)/UFconfig/UFconfig.mk - $(SED) -i 's,ar ,$(TARGET)-ar ,' $(1)/UFconfig/UFconfig.mk - $(SED) -i 's,ranlib,$(TARGET)-ranlib,' $(1)/UFconfig/UFconfig.mk + # set path to metis + $(SED) -i 's,METIS_PATH =.*,METIS_PATH = $(PREFIX)/$(TARGET)/include/metis,' '$(1)/UFconfig/UFconfig.mk' + $(SED) -i 's,METIS =.*,METIS = $(PREFIX)/$(TARGET)/lib/libmetis.a,' '$(1)/UFconfig/UFconfig.mk' - # gfortran does not need libg2c - $(SED) -i 's,-lblas -lgfortran -lgfortranbegin -lg2c,-lblas -lgfortran -lgfortranbegin,' $(1)/UFconfig/UFconfig.mk - - # Missing _drand48 and _srand48 cause problems in demos - #$(TARGET)-gcc -c $(1)/CHOLMOD/MATLAB/Windows/rand48.c -o $(1)/CHOLMOD/Lib/rand48.o - #$(SED) -i 's,libcholmod.a: $$(OBJ),libcholmod.a: $$(OBJ) rand48.o,' $(1)/CHOLMOD/Lib/Makefile - #$(SED) -i 's,$$(AR) libcholmod.a $$(OBJ),$$(AR) libcholmod.a $$(OBJ) rand48.o,' $(1)/CHOLMOD/Lib/Makefile - # Here we choose to exclude the demos from building in order to avoid the _rand48 problems - $(SED) -i 's,( cd Demo ; $$(MAKE) ),#( cd Demo ; $$(MAKE) ),' $(1)/CHOLMOD/Makefile - $(SED) -i 's,( cd Demo ; $$(MAKE) ),#( cd Demo ; $$(MAKE) ),' $(1)/SPQR/Makefile + # use cross tools + $(SED) -i 's,cc,$(TARGET)-gcc,' '$(1)/UFconfig/UFconfig.mk' + $(SED) -i 's,g++,$(TARGET)-g++,' '$(1)/UFconfig/UFconfig.mk' + $(SED) -i 's,f77,$(TARGET)-gfortran,' '$(1)/UFconfig/UFconfig.mk' + $(SED) -i 's,ar ,$(TARGET)-ar ,' '$(1)/UFconfig/UFconfig.mk' + $(SED) -i 's,ranlib,$(TARGET)-ranlib,' '$(1)/UFconfig/UFconfig.mk' - # Built all + # gfortran does not need libg2c + $(SED) -i 's,-lg2c,,' '$(1)/UFconfig/UFconfig.mk' + + # exclude the demos from building in order to avoid the _rand48 problems + $(SED) -i 's,( cd Demo ; $$(MAKE) ),#( cd Demo ; $$(MAKE) ),' '$(1)/CHOLMOD/Makefile' + $(SED) -i 's,( cd Demo ; $$(MAKE) ),#( cd Demo ; $$(MAKE) ),' '$(1)/SPQR/Makefile' + + # build all $(MAKE) -C '$(1)' -j '$(JOBS)' - # Install library files + # install library files $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib' - for i in `cd $(1) && find . -name *.a`; do \ - $(INSTALL) -m664 '$(1)/'$$i '$(PREFIX)/$(TARGET)/lib/' ; \ - done; + find '$(1)' -name '*.a' \ + -exec $(INSTALL) -m664 {} '$(PREFIX)/$(TARGET)/lib/' \; - # Install include files - $(INSTALL) -d '$(PREFIX)/$(TARGET)/include/suitesparse/' - $(INSTALL) -m664 '$(1)/AMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' - $(INSTALL) -m664 '$(1)/BTF/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' - $(INSTALL) -m664 '$(1)/CAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' - $(INSTALL) -m664 '$(1)/CCOLAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' - $(INSTALL) -m664 '$(1)/CHOLMOD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' - $(INSTALL) -m664 '$(1)/COLAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' + # install include files + $(INSTALL) -d '$(PREFIX)/$(TARGET)/include/suitesparse/' + $(INSTALL) -m664 '$(1)/AMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' + $(INSTALL) -m664 '$(1)/BTF/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' + $(INSTALL) -m664 '$(1)/CAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' + $(INSTALL) -m664 '$(1)/CCOLAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' + $(INSTALL) -m664 '$(1)/CHOLMOD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' + $(INSTALL) -m664 '$(1)/COLAMD/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' $(INSTALL) -m664 '$(1)/CXSparse/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' - $(INSTALL) -m664 '$(1)/KLU/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' - $(INSTALL) -m664 '$(1)/LDL/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' - $(INSTALL) -m664 '$(1)/SPQR/Include/'* '$(PREFIX)/$(TARGET)/include/suitesparse/' - $(INSTALL) -m664 '$(1)/UFconfig/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' - $(INSTALL) -m664 '$(1)/UMFPACK/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' - + $(INSTALL) -m664 '$(1)/KLU/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' + $(INSTALL) -m664 '$(1)/LDL/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' + $(INSTALL) -m664 '$(1)/SPQR/Include/'* '$(PREFIX)/$(TARGET)/include/suitesparse/' + $(INSTALL) -m664 '$(1)/UFconfig/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' + $(INSTALL) -m664 '$(1)/UMFPACK/Include/'*.h '$(PREFIX)/$(TARGET)/include/suitesparse/' endef - -