Subject: Re: documentation on building the cygwin dll
From: "Gerrit P. Haase" <[email-masked]>
To: "Carlo Florendo" <[email-masked]>
Cc: [email-masked]
Date: Wed, 23 Jul 2003 17:10:43 +0200

Hallo Carlo,

Am Mittwoch, 23. Juli 2003 um 08:19 schriebst du:

[...]

> Could anyone point out where the documentation to build the cygwin dll is?

I don't know, please write one!

Try this:

#!/bin/bash

# modify these two settings to your needs:
export src=/winsup/src
export inst=/tmp/winsup

mkdir -p ${inst}

build=i686-pc-cygwin
target=i686-pc-cygwin

case $1 in
  conf*) ${src}/configure       \
                --build=i686-pc-cygwin  \
                --host=i686-pc-cygwin   \
                --target=i686-pc-cygwin \
                --prefix=/usr   \
                --exec-prefix=/usr      \
                --sysconfdir=/etc       \
                --libdir=/usr/lib       \
                --libexecdir=/usr/sbin  \
                --disable-nls   \
                --srcdir=${src} \
                2>&1 | tee log.configure
  ;;
  build*) make CFLAGS=-O2 tooldir=/usr  2>&1 | tee log.make
        make info CFLAGS=-O2 tooldir=/usr 2>&1 | tee log.make-info
  ;;
  check*) make CFLAGS=-O2 tooldir=/usr check 2>&1 | tee log.check
  ;;
  clean*) make CFLAGS=-O2 tooldir=/usr clean 2>&1 | tee log.clean
  ;;
  install*) make install prefix=${inst}/usr exec_prefix=${inst}/usr \
                bindir=${inst}/usr/bin libdir=${inst}/usr/lib \
                sysconfdir=${inst}/etc includedir=${inst}/usr/include \
                tooldir=${inst}/usr 2>&1 | tee log.install
        make install-info prefix=${inst}/usr exec_prefix=${inst}/usr \
                bindir=${inst}/usr/bin libdir=${inst}/usr/lib \
        sysconfdir=${inst}/etc includedir=${inst}/usr/include \
        tooldir=${inst}/usr 2>&1 | tee log.install-info
        rm -f ${inst}/usr/info/dir
  ;;
  strip*) (cd ${inst} ; find . -name "*.exe" | xargs strip )
  ;;
  d2u*) (cd ${inst}/usr/man/man1 ; find . -name "*" | xargs d2u && \
        cd ${inst}/usr/info ; find . -name "*" | xargs d2u)
  ;;
  package*) (cd ${inst} ; 
        find . -name "*.exe" | xargs strip ;
        find . -name "*.dll" | xargs strip ;
        rm usr/lib/lib[cgm].a
        for i in c g m
        do
                ln -s libcygwin.a usr/lib/lib$i.a
        done
        rm -rf ${inst}/usr/etc 
        tar cvjf mingw-new.tar.bz2 usr/bin/mingwm10.dll \
                usr/include/mingw usr/lib/mingw ;
        tar cvjf w32api-new.tar.bz2 usr/include/w32api \
                usr/lib/w32api ;
        tar cvjf cygwin-new.tar.bz2 usr --exclude='usr/bin/mingwm10.dll' \
                --exclude='usr/include/mingw' --exclude='usr/lib/mingw' \
                --exclude='usr/include/w32api' --exclude='usr/lib/w32api' \
                --exclude='usr/bin/runtest' --exclude='usr/info/dejagnu.info*' \
                --exclude='usr/share/dejagnu' )
  ;;
  packdebug*) (cd ${inst} ; 
        rm -rf ${inst}/usr/etc 
        rm usr/lib/lib[cgm].a
        for i in c g m
        do
                ln -s libcygwin.a usr/lib/lib$i.a
        done
        tar cvjf mingw-new-debug.tar.bz2 usr/bin/mingwm10.dll \
                usr/include/mingw usr/lib/mingw ;
        tar cvjf w32api-new-debug.tar.bz2 usr/include/w32api \
                usr/lib/w32api ;
        tar cvjf cygwin-new-debug.tar.bz2 usr --exclude='usr/bin/mingwm10.dll' \
                --exclude='usr/include/mingw' --exclude='usr/lib/mingw' \
                --exclude='usr/include/w32api' --exclude='usr/lib/w32api' \
                --exclude='usr/bin/runtest' --exclude='usr/info/dejagnu.info*' \
                --exclude='usr/share/dejagnu' )
  ;;
  *) echo 'argument required: configure, build, install, strip, package, packdebug, d2u,'
  echo    '                   [check, clean]'   
  ;;
esac

-- 
=^..^=

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/