#! /bin/sh ############################################################################## # # 1) Put gcc-1.7 in the same directory as this file # 2) Put file gsl.djgpp in the same directory (it will be renamed as # readme.djgpp in both binary and source packages) # 3) If there is any changes needed for source then put them in file # gsl.diff # 4) Run this script and wait for the results # ############################################################################## # # Requirements: # - LFN support # - DJGPP v2.04 development version # # I have tested building GSL under WinXP Pro (SP2) only # ############################################################################## package=gsl djname=gsl version=1.7 pkgdir0=gnu run_tests=true conf_opt= ############################################################################## dver=`echo $version | sed -e 's:\.::2g'` dver0=`echo $version | sed -e 's:\.::g'` djsrc=${djname}${dver0}s djbin=${djname}${dver0}b pkgdir=$pkgdir0/$package-$dver export FNCASE=Y top=`pwd` test -d $pkgdir0 || mkdir $pkgdir0 || exit 1 cd $pkgdir0 || exit 1 UnpackSources () { if [ -d $package-$version ] ; then rm -rf $package-$version fi if [ -d $package-$dver ] ; then rm -rf $package-$dver fi if [ -f $top/$package-$version.tar.gz ] ; then tar xzf $top/$package-$version.tar.gz || exit 1 elif [ -f $top/$package-$version.tar.bz2 ] ; then tar xf $top/$package-$version.tar.bz2 --use=bzip2 || exit 1 else echo "Sources archive of $package-$version is not found" exit 1 fi if test "$version" != "$dver" ; then mv -v $package-$version $package-$dver || exit 1 fi if [ -f $top/$package.diff ] ; then cd $package-$dver || exit 1 cp -v $top/$package.diff $package.diff patch -p1 <$top/$package.diff || exit 1 libtoolize --force ./autogen.sh cd .. fi } MakeSourcePackage () { cp $top/$package.build $top/$pkgdir/ cp $top/$package.djgpp $top/$pkgdir/readme.DJGPP rm -rf $top/manifest mkdir $top/manifest echo "$djsrc.zip - $package-$version source package for DJGPP" >$top/manifest/$djsrc.ver echo "" >$top/manifest/$djsrc.mft ( cd $top ; find $pkgdir -type f ; find manifest -name "$djsrc.*" ) |\ sort >$top/manifest/$djsrc.mft ( cd $top && zip -9q@ $djsrc.zip $top/$package-$version.build.log 2>&1 UnpackSources || exit 1 cat >$package-$dver/djconfig.sh <dj_check.log 2>&1 fi make install prefix=`pwd`/install.djg || exit 1 cd install.djg || exit 1 mkdir -p $pkgdir0/$package-$dver mv -v share/doc/$package-$version/* $pkgdir0/$package-$dver if [ -f ../dj_check.log ] ; then cp -v ../dj_check.log $pkgdir0/$package-$dver/check.log fi for x in about-nls authors ChangeLog COPYING INSTALL NEWS README README.DJGPP ; do if [ -f ../$x ] ; then cp -v ../$x $pkgdir0/$package-$dver/ fi done if [ -d info ] ; then if [ -f info/dir ] ; then rm -v info/dir ; fi # Fixes info files generated by makeinfo to fit in # MS-DOS 8+3 filename limits # for file in info/*.info-*; do mv $file `echo $file | sed -e 's,info-,i,'`; done for file in info/*.info; do echo $file cat $file | \ awk 'substr($0,1,9)=="Indirect:" { active=1; } \ substr($0,1,10)=="Tag Table:" { active=0; } \ { if (active) gsub("info-","i"); \ print $0 }' > $file.new mv -f $file.new $file done fi if [ -d man ] ; then echo "Converting man pages ..." for x in `find man -type f -and -name '*.[1-9]*'`; do case $x in man/man*) echo `basename $x` x1=`echo $x | sed -e 's,^man/,,g'` c1=`echo $x1 | sed -e 's,man\([1-9]\)/,cat\1/,g'` ginstall -d man/`dirname $c1` ( cd man && groff -man -Tascii $x1 >$c1 ) rm $x ;; esac done fi strip bin/*.exe strip -g lib/*.a mkdir -p manifest echo "$djbin.zip - $package-$version binary archive for DJGPP" >manifest/$djbin.ver echo '' >manifest/$djbin.mft find . -type f | sed -e 's#^\./##' | sort >manifest/$djbin.mft cat manifest/$djbin.mft | zip -9@ $top/$djbin.zip