Mercurial > mxe-octave
view build_static_win32_libs.sh @ 4:b79ac488fd9a
simplified handling of $PATH
author | Volker Grabsch <vog@notjusthosting.com> |
---|---|
date | Fri, 15 Jun 2007 13:39:13 +0200 |
parents | f2c5fb913829 |
children | 2fe8e94dfc85 |
line wrap: on
line source
#!/bin/bash set -e # # configuration # #TARGET=`gcc -dumpmachine` # native compiler (win32/MinGW, Cygwin) #TARGET="i386-mingw32msvc" # MinGW cross compiler (http://www.libsdl.org/extras/win32/cross/README.txt) TARGET="i586-mingw32msvc" # MinGW cross compiler of Debian (package mingw32) BUILD=`gcc -dumpmachine` ROOT=`pwd` PREFIX="$ROOT/usr" SOURCE="$ROOT/src" DOWNLOAD="$ROOT/download" PATH="$PREFIX/bin:$PATH" VERSION_pkg_config=0.21 VERSION_pthreads=2-8-0 VERSION_zlib=1.2.3 VERSION_libxml2=2.6.29 VERSION_libgpg_error=1.5 VERSION_libgcrypt=1.2.4 VERSION_gnutls=1.6.3 VERSION_curl=7.16.2 VERSION_libpng=1.2.18 VERSION_jpeg=6b VERSION_tiff=3.8.2 VERSION_freetype=2.3.4 VERSION_fontconfig=2.4.2 VERSION_gd=2.0.35RC4 VERSION_SDL=1.2.11 VERSION_smpeg=0.4.5+cvs20030824 VERSION_SDL_mixer=1.2.7 VERSION_geos=3.0.0rc4 VERSION_proj=4.5.0 VERSION_libgeotiff=1.2.3 VERSION_gdal=1.4.1 # # cleanup # rm -rfv "$PREFIX" rm -rfv "$SOURCE" mkdir -p "$PREFIX" mkdir -p "$SOURCE" mkdir -p "$DOWNLOAD" # # download # cd "$DOWNLOAD" tar tfz "pkg-config-$VERSION_pkg_config.tar.gz" &>/dev/null || wget -c "http://pkgconfig.freedesktop.org/releases/pkg-config-$VERSION_pkg_config.tar.gz" tar tfz "pthreads-w32-$VERSION_pthreads-release.tar.gz" &>/dev/null || wget -c "ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-$VERSION_pthreads-release.tar.gz" tar tfj "zlib-$VERSION_zlib.tar.bz2" &>/dev/null || wget -c "http://downloads.sourceforge.net/libpng/zlib-$VERSION_zlib.tar.bz2" tar tfz "libxml2-$VERSION_libxml2.tar.gz" &>/dev/null || wget -c "ftp://xmlsoft.org/libxml2/libxml2-$VERSION_libxml2.tar.gz" tar tfj "libgpg-error-$VERSION_libgpg_error.tar.bz2" &>/dev/null || wget -c "ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-$VERSION_libgpg_error.tar.bz2" tar tfj "libgcrypt-$VERSION_libgcrypt.tar.bz2" &>/dev/null || wget -c "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-$VERSION_libgcrypt.tar.bz2" tar tfj "gnutls-$VERSION_gnutls.tar.bz2" &>/dev/null || wget -c "ftp://ftp.gnutls.org/pub/gnutls/gnutls-$VERSION_gnutls.tar.bz2" tar tfj "curl-$VERSION_curl.tar.bz2" &>/dev/null || wget -c "http://curl.haxx.se/download/curl-$VERSION_curl.tar.bz2" tar tfj "libpng-$VERSION_libpng.tar.bz2" &>/dev/null || wget -c "http://downloads.sourceforge.net/libpng/libpng-$VERSION_libpng.tar.bz2" tar tfz "jpegsrc.v$VERSION_jpeg.tar.gz" &>/dev/null || wget -c "http://www.ijg.org/files/jpegsrc.v$VERSION_jpeg.tar.gz" tar tfz "tiff-$VERSION_tiff.tar.gz" &>/dev/null || wget -c "ftp://ftp.remotesensing.org/pub/libtiff/tiff-$VERSION_tiff.tar.gz" tar tfj "freetype-$VERSION_freetype.tar.bz2" &>/dev/null || wget -c "http://download.savannah.gnu.org/releases/freetype/freetype-$VERSION_freetype.tar.bz2" tar tfz "fontconfig-$VERSION_fontconfig.tar.gz" &>/dev/null || wget -c "http://fontconfig.org/release/fontconfig-$VERSION_fontconfig.tar.gz" tar tfj "gd-$VERSION_gd.tar.bz2" &>/dev/null || wget -c "http://www.libgd.org/releases/gd-$VERSION_gd.tar.bz2" tar tfz "SDL-$VERSION_SDL.tar.gz" &>/dev/null || wget -c "http://www.libsdl.org/release/SDL-$VERSION_SDL.tar.gz" tar tfz "smpeg_$VERSION_smpeg.orig.tar.gz" &>/dev/null || wget -c "http://ftp.debian.org/debian/pool/main/s/smpeg/smpeg_$VERSION_smpeg.orig.tar.gz" #svn checkout -r ... svn://svn.icculus.org/smpeg/trunk ... tar tfz "SDL_mixer-$VERSION_SDL_mixer.tar.gz" &>/dev/null || wget -c "http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-$VERSION_SDL_mixer.tar.gz" tar tfj "geos-$VERSION_geos.tar.bz2" &>/dev/null || wget -c "http://geos.refractions.net/geos-$VERSION_geos.tar.bz2" tar tfz "proj-$VERSION_proj.tar.gz" &>/dev/null || wget -c "ftp://ftp.remotesensing.org/proj/proj-$VERSION_proj.tar.gz" tar tfz "libgeotiff-$VERSION_libgeotiff.tar.gz" &>/dev/null || wget -c "ftp://ftp.remotesensing.org/pub/geotiff/libgeotiff/libgeotiff-$VERSION_libgeotiff.tar.gz" tar tfz "gdal-$VERSION_gdal.tar.gz" &>/dev/null || wget -c "http://www.gdal.org/dl/gdal-$VERSION_gdal.tar.gz" # # pkg-config # # http://pkg-config.freedesktop.org/ # cd "$SOURCE" tar xfvz "$DOWNLOAD/pkg-config-$VERSION_pkg_config.tar.gz" cd "pkg-config-$VERSION_pkg_config" ./configure --prefix="$PREFIX" make install # # pthreads-w32 # # http://sourceware.org/pthreads-win32/ # cd "$SOURCE" tar xfvz "$DOWNLOAD/pthreads-w32-$VERSION_pthreads-release.tar.gz" cd "pthreads-w32-$VERSION_pthreads-release" sed '35i\#define PTW32_STATIC_LIB' -i pthread.h make CROSS="$TARGET-" GC-static install -d "$PREFIX/lib" install -m664 libpthreadGC2.a "$PREFIX/lib/libpthread.a" install -d "$PREFIX/include" install -m664 pthread.h sched.h semaphore.h "$PREFIX/include/" # # zlib # # http://www.zlib.net/ # cd "$SOURCE" tar xfvj "$DOWNLOAD/zlib-$VERSION_zlib.tar.bz2" cd "zlib-$VERSION_zlib" CC="$TARGET-gcc" RANLIB="$TARGET-ranlib" ./configure \ --prefix="$PREFIX" make install # # libxml2 # # http://www.xmlsoft.org/ # cd "$SOURCE" tar xfvz "$DOWNLOAD/libxml2-$VERSION_libxml2.tar.gz" cd "libxml2-$VERSION_libxml2" sed 's,`uname`,MinGW,g' -i xml2-config.in ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --without-debug \ --prefix="$PREFIX" \ --without-python make install bin_PROGRAMS= noinst_PROGRAMS= # # libgpg-error # # ftp://ftp.gnupg.org/gcrypt/libgpg-error/ # cd "$SOURCE" tar xfvj "$DOWNLOAD/libgpg-error-$VERSION_libgpg_error.tar.bz2" cd "libgpg-error-$VERSION_libgpg_error" ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" make install bin_PROGRAMS= noinst_PROGRAMS= # # libgcrypt # # ftp://ftp.gnupg.org/gcrypt/libgcrypt/ # cd "$SOURCE" tar xfvj "$DOWNLOAD/libgcrypt-$VERSION_libgcrypt.tar.bz2" cd "libgcrypt-$VERSION_libgcrypt" sed '26i\#include <ws2tcpip.h>' -i src/gcrypt.h.in sed '26i\#include <ws2tcpip.h>' -i src/ath.h sed 's,sys/times.h,sys/time.h,' -i cipher/random.c ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" make install bin_PROGRAMS= noinst_PROGRAMS= # # GnuTLS # # http://www.gnu.org/software/gnutls/ # cd "$SOURCE" tar xfvj "$DOWNLOAD/gnutls-$VERSION_gnutls.tar.bz2" cd "gnutls-$VERSION_gnutls" ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" \ --disable-nls \ --with-included-opencdk \ --with-included-libtasn1 \ --with-included-libcfg \ --with-included-lzo make install bin_PROGRAMS= noinst_PROGRAMS= defexec_DATA= # # cURL # # http://curl.haxx.se/libcurl/ # cd "$SOURCE" tar xfvj "$DOWNLOAD/curl-$VERSION_curl.tar.bz2" cd "curl-$VERSION_curl" sed 's,GNUTLS_ENABLED = 1,GNUTLS_ENABLED=1,' -i configure ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" \ --with-gnutls \ CFLAGS="-I$PREFIX/include" \ LDFLAGS="-L$PREFIX/lib" make install bin_PROGRAMS= noinst_PROGRAMS= # # libpng # # http://www.libpng.org/ # cd "$SOURCE" tar xfvj "$DOWNLOAD/libpng-$VERSION_libpng.tar.bz2" cd "libpng-$VERSION_libpng" ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" \ CFLAGS="-I$PREFIX/include" \ LDFLAGS="-L$PREFIX/lib" make install bin_PROGRAMS= noinst_PROGRAMS= # # jpeg # # http://www.ijg.org/ # cd "$SOURCE" tar xfvz "$DOWNLOAD/jpegsrc.v$VERSION_jpeg.tar.gz" cd "jpeg-$VERSION_jpeg" ./configure \ CC="$TARGET-gcc" RANLIB="$TARGET-ranlib" \ --disable-shared \ --prefix="$PREFIX" make install-lib # # LibTIFF # # http://www.remotesensing.org/libtiff/ # cd "$SOURCE" tar xfvz "$DOWNLOAD/tiff-$VERSION_tiff.tar.gz" cd "tiff-$VERSION_tiff" ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" \ CFLAGS="-I$PREFIX/include" \ LDFLAGS="-L$PREFIX/lib" \ --without-x make install bin_PROGRAMS= noinst_PROGRAMS= # # freetype # # http://freetype.sourceforge.net/ # cd "$SOURCE" tar xfvj "$DOWNLOAD/freetype-$VERSION_freetype.tar.bz2" cd "freetype-$VERSION_freetype" ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" make install # # fontconfig # # http://fontconfig.org/ # cd "$SOURCE" tar xfvz "$DOWNLOAD/fontconfig-$VERSION_fontconfig.tar.gz" cd "fontconfig-$VERSION_fontconfig" sed 's,^install-data-local:.*,install-data-local:,' -i src/Makefile.in ./configure \ --with-arch="$BUILD" --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" \ --enable-libxml2 \ LIBXML2_CFLAGS="`xml2-config --cflags`" \ LIBXML2_LIBS="`xml2-config --libs`" make install bin_PROGRAMS= noinst_PROGRAMS= # # GD # (without support for xpm) # # http://www.libgd.org/ # cd "$SOURCE" tar xfvj "$DOWNLOAD/gd-$VERSION_gd.tar.bz2" cd "gd-$VERSION_gd" touch aclocal.m4 touch config.hin touch Makefile.in sed 's,-lX11 ,,g' -i configure ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" \ --without-x \ CFLAGS="-DNONDLL -DXMD_H" \ LIBS="`xml2-config --libs`" make install bin_PROGRAMS= noinst_PROGRAMS= # # SDL # # http://www.libsdl.org/ # cd "$SOURCE" tar xfvz "$DOWNLOAD/SDL-$VERSION_SDL.tar.gz" cd "SDL-$VERSION_SDL" ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --disable-debug \ --prefix="$PREFIX" make install bin_PROGRAMS= noinst_PROGRAMS= # # smpeg # # http://icculus.org/smpeg/ # http://packages.debian.org/unstable/source/smpeg # cd "$SOURCE" tar xfvz "$DOWNLOAD/smpeg_$VERSION_smpeg.orig.tar.gz" cd "smpeg-$VERSION_smpeg.orig" #cp -R "$DOWNLOAD/smpeg-trunk" smpeg-trunk #cd smpeg-trunk ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --disable-debug \ --prefix="$PREFIX" \ --disable-gtk-player \ --disable-opengl-player make install bin_PROGRAMS= noinst_PROGRAMS= # # SDL_mixer # # http://www.libsdl.org/projects/SDL_mixer/ # cd "$SOURCE" tar xfvz "$DOWNLOAD/SDL_mixer-$VERSION_SDL_mixer.tar.gz" cd "SDL_mixer-$VERSION_SDL_mixer" sed 's,for path in /usr/local; do,for path in; do,' -i configure ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" make install bin_PROGRAMS= noinst_PROGRAMS= # # GEOS # # http://geos.refractions.net/ # cd "$SOURCE" tar xfvj "$DOWNLOAD/geos-$VERSION_geos.tar.bz2" cd "geos-$VERSION_geos" ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" \ --disable-swig make install bin_PROGRAMS= noinst_PROGRAMS= # # proj # # http://www.remotesensing.org/proj/ # cd "$SOURCE" tar xfvz "$DOWNLOAD/proj-$VERSION_proj.tar.gz" cd "proj-$VERSION_proj" sed 's,install-exec-local[^:],,' -i src/Makefile.in ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" make install bin_PROGRAMS= noinst_PROGRAMS= # # GeoTiff # # http://www.remotesensing.org/geotiff/ # cd "$SOURCE" tar xfvz "$DOWNLOAD/libgeotiff-$VERSION_libgeotiff.tar.gz" cd "libgeotiff-$VERSION_libgeotiff" sed 's,/usr/local,@prefix@,' -i bin/Makefile.in touch configure ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" \ CFLAGS="-I$PREFIX/include" \ LDFLAGS="-L$PREFIX/lib" make all install EXEEXT=.remove-me rm -fv "$PREFIX"/bin/*.remove-me # # GDAL # # http://www.gdal.org/ # cd "$SOURCE" tar xfvz "$DOWNLOAD/gdal-$VERSION_gdal.tar.gz" cd "gdal-$VERSION_gdal" ./configure \ --build="$BUILD" --host="$TARGET" \ --disable-shared \ --prefix="$PREFIX" \ EXTRA_INCLUDES="-I$PREFIX/include" \ LDFLAGS="-L$PREFIX/lib" \ LIBS="-ljpeg" \ CC="$TARGET-g++" \ CFLAGS="-O2 -fpermissive" \ --with-png="$PREFIX" \ --with-libtiff="$PREFIX" \ --with-geotiff="$PREFIX" \ --with-jpeg="$PREFIX" \ --without-python \ --without-ngpython make lib-target install-lib make -C port install make -C gcore install make -C frmts install make -C alg install make -C ogr install OGR_ENABLED= make -C apps install BIN_LIST= # # packing # cd "$PREFIX" tar cv bin include lib | bzip2 -9 >"$ROOT/static_win32_libs.tar.bz2"