#!/bin/sh
export VER=5.2
export REV=7
export NAM=ncurses
export src=/usr/src/ncurses/ncurses-${VER}
export obj=/usr/src/ncurses/obj
export inst=/usr/src/ncurses/inst
export CFLAGS="-O2"
export LINKHEADERS="ncurses.h curses.h form.h menu.h panel.h unctrl.h"
export incdir="/usr/include/ncurses"
build=i686-pc-cygwin
target=i686-pc-cygwin
case $1 in
  conf*) ${src}/configure --build=${build} --target=${target} \
  --srcdir=${src} --prefix=/usr --includedir=${incdir} \
  --enable-symlinks --enable-sigwinch --enable-colorfgbg \
  --enable-tcap-names --with-manpage-symlinks --without-debug \
  --with-normal --disable-termcap --enable-broken-linker \
  --with-default-terminfo-dir=/usr/share/terminfo \
  --with-install-prefix=${inst} \
  --enable-echo --with-manpage-symlinks 
  STATUS=$?
  ;;
  build-static*) make CFLAGS="${CFLAGS}"
  STATUS=$?
  ;;
  build-dynamic*) make CFLAGS="${CFLAGS}"
  STATUS=$?
  ;;
  clean*) make CFLAGS="${CFLAGS}" clean
  STATUS=$?
  ;;
  install-static*) 
  make install.progs && \
  make install.libs && \
  mkdir -p ${inst}/usr/bin/ncurses-test-stat && \
  install -m 755 -s test/*.exe ${inst}/usr/bin/ncurses-test-stat && \
  install -m 755 -s c++/demo.exe ${inst}/usr/bin/ncurses-test-stat && \
  mkdir -p ${inst}/usr/bin/ncurses-stat &&
  (cd ${inst}/usr/bin ; mv *.exe ncurses-stat )
  STATUS=$?
  ;;
  install-dynamic*)
  make install.progs && \
  make install.libs && \
  mkdir -p ${inst}/usr/bin/ncurses-test-dll && \
  install -m 755 -s test/*.exe ${inst}/usr/bin/ncurses-test-dll && \
  install -m 755 -s c++/demo.exe ${inst}/usr/bin/ncurses-test-dll
  STATUS=$?
  ;;
  install-extra*) 
  make install.data && \
  make install.man && \
  mkdir -p ${inst}/usr/doc/Cygwin && \
  install -m 644 ${src}/CYGWIN-PATCHES/ncurses-5.2.README ${inst}/usr/doc/Cygwin/ && \
  mv ${inst}${incdir}/termcap.h ${inst}${incdir}/termcapn.h && \
  for fn in ${LINKHEADERS}; do 
   (cd ${inst}${incdir}/..; rm ${fn} ; ln -s ncurses/${fn} ${fn})
  done
  STATUS=$?
  ;;
  strip*) (cd ${inst} && \
    find . -name "*.exe" | xargs strip && \
    find . -name "*.dll" | xargs strip )
  STATUS=$?
  ;;
  package*) (cd ${inst} ; 
    tar cvjf ../${NAM}-${VER}-${REV}.tar.bz2 usr/ \
      --exclude='usr/share/terminfo' --exclude='usr/lib/terminfo' \
      --exclude='usr/bin/ncurses-test-stat' --exclude='usr/bin/ncurses-stat' \
      --exclude='usr/share/tabset' --exclude='usr/bin/*.dll' && \
    tar cvjf ../lib${NAM}X-${VER}.tar.bz2 usr/bin/*.dll && \
    tar cvjf ../terminfo-new.tar.bz2 \
      usr/share/terminfo usr/lib/terminfo usr/share/tabset )
  STATUS=$?
  ;;
  src-package*) ( cd ${src}/.. 
    cstm=`basename ${src}`/CYGWIN-PATCHES
    p1nam=${NAM}-${VER}-${REV}.patch
    p2nam=${NAM}-${VER}-${REV}-dll.patch
    find ${src} -name "*~" | xargs rm -f
    find ${src} -name "*.orig" | xargs rm -f
    find ${src} -name "*.rej" | xargs rm -f
    cp ${cstm}/${p2nam} .
    rm -f ${cstm}/*.patch
    rm -f ${cstm}/${NAM}-build
    diff -urN `basename ${src}`-orig `basename ${src}` > ${p1nam}
    cp ${p1nam} ${cstm}
    cp ${p2nam} ${cstm}
    cp ${NAM}-build ${cstm}
    tar cvjf ${NAM}-${VER}-${REV}-src.tar.bz2 `basename ${src}` )
  ;;
  *) echo 'argument required: configure, build-static, build-dynamic'
  echo    '                   install-static, install-dynamic, install-extra,'
  echo    '                   Strip, package, src-package, [check, clean]'   
  ;;
esac
exit ${STATUS}
