This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: [PATCH]: mknetrel builds Guile #4: genscript
- From: Christopher Faylor <cgf at redhat dot com>
- To: cygwin-apps at cygwin dot com
- Date: Mon, 8 Jul 2002 22:29:47 -0400
- Subject: Re: [PATCH]: mknetrel builds Guile #4: genscript
- References: <8765zp3ggi.fsf@peder.flower>
- Reply-to: cygwin-apps at cygwin dot com
On Tue, Jul 09, 2002 at 02:14:37AM +0200, Jan Nieuwenhuizen wrote:
>
> - autogenerate cygwin build script: $package.sh
This looks like a prepackage function to me. No need to modify mknetrel.
cgf
Content-Description: mknetrel.jcn4.genscript
>diff -purNX .cvsignore ../mknetrel.jcn3.libtool/ChangeLog ./ChangeLog
>--- ../mknetrel.jcn3.libtool/ChangeLog Tue Jul 9 01:17:09 2002
>+++ ./ChangeLog Tue Jul 9 01:16:46 2002
>@@ -1,3 +1,14 @@
>+2002-07-09 Jan Nieuwenhuizen <janneke@gnu.org>
>+
>+ * VERSION mknetrel.jcn4.genscript
>+
>+ * bin/mknetrel: Delay `main' for autobuild.
>+ (parseopts): New function (previously second part
>+ of setup ().
>+ (setup): Remove option parsing.
>+ (genscript): New function. Generate required Cygwin autobuild
>+ script.
>+
> 2002-07-08 Jan Nieuwenhuizen <janneke@gnu.org>
>
> * VERSION mknetrel.jcn3.libtool
>diff -purNX .cvsignore ../mknetrel.jcn3.libtool/bin/mknetrel ./bin/mknetrel
>--- ../mknetrel.jcn3.libtool/bin/mknetrel Tue Jul 9 01:07:18 2002
>+++ ./bin/mknetrel Tue Jul 9 01:13:17 2002
>@@ -1,4 +1,5 @@
> #!/bin/bash
>+# mknetrel
>
> read_user_config() {
> [ -r "$HOME/.mknetrel" ] && . "$HOME/.mknetrel"
>@@ -83,6 +84,7 @@ setup() {
> preinstall() { :; }
> postinstall() { :; }
> prepackage() { :; }
>+ presplit() { :; }
> prepath() { :; }
> postpackage() { :; }
> rebuild() { :; }
>@@ -92,6 +94,9 @@ setup() {
> verbose() { :; }
> mkdist() { domkdist; }
> read_user_config
>+}
>+
>+parseopts () {
> clean=false
> opt="-O2"
> export knownpath="$cygwin_root/bin:"
>@@ -299,6 +304,58 @@ dousrstuff() {
> hard2soft
> }
>
>+genscript () {
>+ script=$here/src/$package.sh
>+ cat <<EOS > $script
>+#!/bin/bash
>+# $package.sh -- Automagically generated by $0.
>+# Do not edit, changes will be lost.
>+
>+# we're autobuilding $package
>+autogen=$package
>+
>+# in /usr/src
>+netrel_root=/usr
>+
>+# natively on Cygwin
>+build_cxx='g++'
>+build_cc='gcc'
>+build_ld='ld'
>+build_ranlib='ranlib'
>+build_dllwrap='dllwrap'
>+build_ar='ar'
>+build_nm='nm'
>+build_strip='strip'
>+build_config_opts=
>+
>+EOS
>+
>+ cat $mknetrel/$0 >> $script
>+
>+ cat <<EOS2 >> $script
>+
>+setup
>+
>+newest () { return 1 }
>+genscript () { :; }
>+
>+EOS2
>+
>+ [ -r "$extra/$what" ] && cat $extra/$what >> $script
>+
>+ cat <<EOS3 >> $script
>+
>+parseopts ${@+"$@"} $base
>+if background; then
>+ rest&
>+else
>+ rest
>+fi
>+EOS3
>+
>+ chmod 755 $script
>+}
>+
> domkdist() {
> #
> # Fix up installation slightly
>@@ -319,7 +376,11 @@ domkdist() {
>
> cd $src/.. || exit 1
> echo creating "$tarstem"-src.tar.bz2
>- find $package_src/* -print -follow | egrep -v '\.cvsignore|\.bak$|\.orig$|\.o$|~$|^.#|CVS|%redact|/tags$' | egrep -v "$src_exclude" | sort | tar -T - --no-recursion -cjf "$tarstem"-src.tar.bz2
>+
>+ # Generate required autobuild script
>+ genscript
>+
>+ find $package_src/* $package.sh -print -follow | egrep -v '\.cvsignore|\.bak$|\.orig$|\.o$|~$|^.#|CVS|%redact|/tags$' | egrep -v "$src_exclude" | sort | tar -T - --no-recursion -cjf "$tarstem"-src.tar.bz2
> postpackage
> }
>
>@@ -374,10 +435,17 @@ rest() {
> fi
> }
>
>-setup ${@+"$@"}
>+# Delay this when we're part of autobuild script
>+if [ -z "$autogen" ]; then
>+ setup
>+ parseopts ${@+"$@"}
>+ if background; then
>+ rest&
>+ else
>+ rest
>+ fi
>+ # unreachable
>+ exit 1
>+fi
>
>-if background; then
>- rest&
>-else
>- rest
>-fi
>+## End of mknetnel
>
>--
>Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond - The music typesetter
>http://www.xs4all.nl/~jantien | http://www.lilypond.org