2010年12月6日月曜日

pthread-win32, lapack on mingw32

Debian 上の Mingw を用いてコンパイルする必要がやはりあったので、まとめてできるようにシェルスクリプトにした。
以下のスクリプトを実行すると、pthread-current, lapack-current に mingw のコンパイルのものができる。
ただし、前もって mingw をインストールしておくこと。
$ sudo aptitude -y install gcc-mingw32 mingw-w64 mingw32-binutils mingw32-runtime
あと、現状では amd64-mingw32msvc を用いてのコンパイルはできないようである。

===以下がスクリプト===
#!/bin/sh

# choose one depending on the target system
CROSS=i586-mingw32msvc-
# CROSS=amd64-mingw32msvc-

###### pthread-mingw32
echo "*******Password is anoncvs******"
rm -rf pthreads-current
cvs -d :pserver:anoncvs@sourceware.org:/cvs/pthreads-win32 login
cvs -d :pserver:anoncvs@sourceware.org:/cvs/pthreads-win32 checkout pthreads
if [ ! -d pthreads ]
then
    echo "Cannot download pthread-win32"
    exit
fi
mv pthreads pthreads-current
cd pthreads-current
make -f GNUmakefile CROSS=${CROSS} clean GC-static
cd ..

###### lapack-mingw32
rm -f lapack.tgz*
wget http://www.netlib.org/lapack/lapack.tgz
rm -rf lapack-current
tar xzf lapack.tgz
mv lapack-3.* lapack-current
if [ ! -d lapack-current ]
then
    echo "Cannot download lapack"
    exit
fi
cd lapack-current
cp INSTALL/make.inc.gfortran make.inc
sed -i.bak 's+\./test+wine ./test+g' Makefile
make \
   FORTRAN=${CROSS}gfortran \
   LOADER=${CROSS}gfortran \
   ARCH=${CROSS}ar \
   RANLIB=${CROSS}ranlib \
   blaslib lapacklib
cd .. 
 
== 以上がスクリプト ==
 
今日の作業内容:出張片付け、mingw32 チェック
今日のランチ:らく ネギとろ丼
明日の予測作業時間:6h

0 件のコメント:

コメントを投稿