- autogenerate cygwin build script: $package.sh

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  <[EMAIL PROTECTED]>
+
+       * 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  <[EMAIL PROTECTED]>
 
        * 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 <[EMAIL PROTECTED]> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien       | http://www.lilypond.org

Reply via email to