Author: peterw
Date: 2005-07-15 00:53:41 -0400 (Fri, 15 Jul 2005)
New Revision: 47325

Added:
   trunk/mbuild/Makefile.in
   trunk/mbuild/autogen.sh
   trunk/mbuild/configure.ac
   trunk/mbuild/prefix-config.xml.in
Removed:
   trunk/mbuild/Makefile
Modified:
   trunk/mbuild/Buildfile
   trunk/mbuild/ChangeLog
Log:
2005-07-15  Peter Williams  <[EMAIL PROTECTED]>

        Change the Makefile-based build system to use Autoconf. People will want
        to install into custom prefixes, Mono might be in a weird prefix, etc.
        And in general people feel more comfortable if they can do the whole
        ./configure blah blah blah thing. We also add explanatory text on 'make 
install'
        to tell people how to build MBuild with itself; we even import their 
configured
        prefix via a generated result storage XML file. Shows how the XML 
import stuff
        is pretty sweet.
        
        * configure.ac: Check for required proggies.

        * autogen.sh: A necessary evil. You know, in MBuild world, you don't 
need
        this file. Just saying.

        * Makefile.in: New file. Based on Makefile, of course. Add a big 
helpful text
        explaining what to do next after doing a 'make install'. Add autoconf 
rebuild rules
        and a rule to generate prefix-config.xml.

        * Makefile: This is now generated from Makefile.in. 

        * prefix-config.xml.in: New file, template for importing prefix 
information
        into an MBuild build from an Autoconf build.

        * Buildfile: Distribute the above.



Modified: trunk/mbuild/Buildfile
===================================================================
--- trunk/mbuild/Buildfile      2005-07-15 03:53:44 UTC (rev 47324)
+++ trunk/mbuild/Buildfile      2005-07-15 04:53:41 UTC (rev 47325)
@@ -86,7 +86,7 @@
 
 Mono.Build.dll = [
        @Mono.Build.dll.sources
-       System.Xml.dll
+       /config/mbuild/System.Xml.dll
        /config/mbuild/gac_csc_options
 ] with [ install = /config/mbuild/gac_installer ]
 
@@ -181,6 +181,7 @@
 # for now, this is how we do our version of EXTRA_DIST
 
 Makefile = TextSource[]
+prefix-config.xml.in = TextSource[] 
 
 TODO = TextSource[] 
        with [ install = /config/mbuild/doc_installer ]
@@ -190,3 +191,4 @@
        with [ install = /config/mbuild/doc_installer ]
 NEWS = TextSource[] 
        with [ install = /config/mbuild/doc_installer ]
+

Modified: trunk/mbuild/ChangeLog
===================================================================
--- trunk/mbuild/ChangeLog      2005-07-15 03:53:44 UTC (rev 47324)
+++ trunk/mbuild/ChangeLog      2005-07-15 04:53:41 UTC (rev 47325)
@@ -1,3 +1,29 @@
+2005-07-15  Peter Williams  <[EMAIL PROTECTED]>
+
+       Change the Makefile-based build system to use Autoconf. People will want
+       to install into custom prefixes, Mono might be in a weird prefix, etc.
+       And in general people feel more comfortable if they can do the whole
+       ./configure blah blah blah thing. We also add explanatory text on 'make 
install'
+       to tell people how to build MBuild with itself; we even import their 
configured
+       prefix via a generated result storage XML file. Shows how the XML 
import stuff
+       is pretty sweet.
+       
+       * configure.ac: Check for required proggies.
+
+       * autogen.sh: A necessary evil. You know, in MBuild world, you don't 
need
+       this file. Just saying.
+
+       * Makefile.in: New file. Based on Makefile, of course. Add a big 
helpful text
+       explaining what to do next after doing a 'make install'. Add autoconf 
rebuild rules
+       and a rule to generate prefix-config.xml.
+
+       * Makefile: This is now generated from Makefile.in. 
+
+       * prefix-config.xml.in: New file, template for importing prefix 
information
+       into an MBuild build from an Autoconf build.
+
+       * Buildfile: Distribute the above.
+
 2005-07-14  Peter Williams  <[EMAIL PROTECTED]>
 
        * Mono.Build.dll.sources: Get rid of IResultTypeLookup.cs, which I only

Deleted: trunk/mbuild/Makefile
===================================================================
--- trunk/mbuild/Makefile       2005-07-15 03:53:44 UTC (rev 47324)
+++ trunk/mbuild/Makefile       2005-07-15 04:53:41 UTC (rev 47325)
@@ -1,141 +0,0 @@
-# Bootstrapping ahoy!
-
-# keep in sync with Buildfile
-VERSION=0.0.4.0
-COMPAT=0.0
-NAME=mbuild
-COMPAT_NAME=$(NAME)-$(COMPAT)
-
-PREFIX=/usr
-libdir=$(PREFIX)/lib
-bindir=$(PREFIX)/bin
-exedir=$(libdir)/$(COMPAT_NAME)
-
-MCS=mcs /debug
-INSTALL=install
-GACUTIL=gacutil
-JAY=jay
-JAY_SKELETON=$(PREFIX)/share/jay/skeleton.cs
-BUNDLEGEN=mono mb-bundlegen.exe /v:$(VERSION)
-SN=sn -q
-
-default: all
-
-all: Mono.Build.dll MBuildDynamic.Core.dll MBuildDynamic.Languages.CSharp.dll 
MBuildDynamic.Tools.Jay.dll MBuildDynamic.Tools.Bundlegen.dll 
MBuildDynamic.Tools.Monodoc.dll MBuildDynamic.Tools.PkgConfig.dll 
Monkeywrench.dll mbuild.exe mb-bundlegen.exe mb-bd2xhtml.exe 
scripts/mb-bd2xhtml scripts/mb-bundlegen scripts/mbuild
-
-# ghastly
-mb-bundlegen.exe: mb-bundlegen/mb-bundlegen.exe.sources $(patsubst 
%,mb-bundlegen/%,$(shell cat mb-bundlegen/mb-bundlegen.exe.sources))
-       (cd mb-bundlegen && $(MCS) /target:exe /out:../$@ 
/r:Mono.GetOptions.dll @mb-bundlegen.exe.sources)
-
-mb-bd2xhtml.exe: mb-bd2xhtml/mb-bd2xhtml.exe.sources $(patsubst 
%,mb-bd2xhtml/%,$(shell cat mb-bd2xhtml/mb-bd2xhtml.exe.sources))
-       (cd mb-bd2xhtml && $(MCS) /target:exe /out:../$@ /r:Mono.GetOptions.dll 
/r:System.Xml.dll /resource:bd2xhtml.xsl,bs2xhtml.xsl @mb-bd2xhtml.exe.sources)
-
-# horrendous
-make-version.stamp: phonydep
-       @if test -f $@ ; then \
-               echo "$(VERSION)" >[EMAIL PROTECTED] ; \
-               if ! cmp $@ [EMAIL PROTECTED] ; then \
-                       cp -f [EMAIL PROTECTED] $@ ; \
-                       echo Version stamp $@ updated ; \
-               fi ; \
-               rm [EMAIL PROTECTED] ; \
-       else \
-               echo "$(VERSION)" >$@ ; \
-               echo Version stamp $@ created ; \
-       fi
-
-# awful
-.PHONY: phonydep
-
-MB_VERSION_FILE=Mono.Build/Assembly/GeneratedAssemblyVersionInfo.cs
-BG_VERSION_FILE=mb-bundlegen/GeneratedAssemblyVersionInfo.cs
-BD_VERSION_FILE=mb-bd2xhtml/GeneratedAssemblyVersionInfo.cs
-CL_VERSION_FILE=mbuild/GeneratedAssemblyVersionInfo.cs
-
-# terrible
-$(MB_VERSION_FILE): make-version.stamp
-       echo '[assembly: System.Reflection.AssemblyVersion("$(VERSION)")]' >$@
-
-# dastardly
-$(CL_VERSION_FILE): make-version.stamp
-       echo '[assembly: System.Reflection.AssemblyVersion("$(VERSION)")]' >$@
-
-# despicable
-$(BD_VERSION_FILE): make-version.stamp
-       echo '[assembly: System.Reflection.AssemblyVersion("$(VERSION)")]' >$@
-
-# shit like this is why I wrote mbuild
-$(BG_VERSION_FILE): make-version.stamp
-       echo '[assembly: System.Reflection.AssemblyVersion("$(VERSION)")]' >$@
-
-Mono.Build.dll: Mono.Build.dll.sources $(shell cat Mono.Build.dll.sources)
-       $(MCS) /target:library /out:$@ /keyfile:mbuild.snk @$<
-       $(SN) -R $@ mbuild.snk
-
-MBuildDynamic.Core.dll: MBuildDynamic.Core.dll.sources $(shell cat 
MBuildDynamic.Core.dll.sources) Mono.Build.dll mb-bundlegen.exe
-       $(BUNDLEGEN) /out:$@ /keyfile:mbuild.snk /r:./Mono.Build.dll $(shell 
cat MBuildDynamic.Core.dll.sources)
-       $(SN) -R $@ mbuild.snk
-
-MBuildDynamic.Languages.CSharp.dll: Languages.CSharp.bundle Mono.Build.dll 
MBuildDynamic.Core.dll mb-bundlegen.exe csharp-check-template.cs.in
-       $(BUNDLEGEN) /out:$@ /keyfile:mbuild.snk /r:./Mono.Build.dll 
/r:./MBuildDynamic.Core.dll /resource:csharp-check-template.cs.in $<
-       $(SN) -R $@ mbuild.snk
-
-MBuildDynamic.Tools.PkgConfig.dll: Tools.PkgConfig.bundle Mono.Build.dll 
MBuildDynamic.Core.dll mb-bundlegen.exe
-       $(BUNDLEGEN) /out:$@ /keyfile:mbuild.snk /r:./Mono.Build.dll 
/r:./MBuildDynamic.Core.dll $<
-       $(SN) -R $@ mbuild.snk
-
-MBuildDynamic.Tools.Bundlegen.dll: Tools.Bundlegen.bundle Mono.Build.dll 
MBuildDynamic.Core.dll mb-bundlegen.exe mbuild.snk
-       $(BUNDLEGEN) /out:$@ /keyfile:mbuild.snk /r:./Mono.Build.dll 
/r:./MBuildDynamic.Core.dll /resource:mbuild.snk $<
-       $(SN) -R $@ mbuild.snk
-
-MBuildDynamic.Tools.Monodoc.dll: Tools.Monodoc.bundle Mono.Build.dll 
MBuildDynamic.Core.dll mb-bundlegen.exe api-docs/mkmstoc.xsl
-       $(BUNDLEGEN) /out:$@ /keyfile:mbuild.snk /r:./Mono.Build.dll 
/r:./MBuildDynamic.Core.dll /resource:api-docs/mkmstoc.xsl $<
-       $(SN) -R $@ mbuild.snk
-
-MBuildDynamic.Tools.Jay.dll: Tools.Jay.bundle Mono.Build.dll 
MBuildDynamic.Core.dll MBuildDynamic.Languages.CSharp.dll mb-bundlegen.exe
-       $(BUNDLEGEN) /out:$@ /keyfile:mbuild.snk /r:./Mono.Build.dll 
/r:./MBuildDynamic.Core.dll /r:./MBuildDynamic.Languages.CSharp.dll $<
-       $(SN) -R $@ mbuild.snk
-
-Monkeywrench.dll: Monkeywrench.dll.sources $(shell cat 
Monkeywrench.dll.sources) Mono.Build.dll
-       $(MCS) /target:library /out:$@ /r:./Mono.Build.dll @$<
-
-mbuild.exe: mbuild.exe.sources $(shell cat mbuild.exe.sources) 
Monkeywrench.dll Mono.Build.dll
-       $(MCS) /target:exe /out:$@ /r:./Monkeywrench.dll /r:./Mono.Build.dll 
/r:Mono.GetOptions.dll @$<
-
-Monkeywrench/Monkeywrench/BuildfileParser.cs: 
Monkeywrench/Monkeywrench/BuildfileParser.jay
-       $(JAY) -ct <$(JAY_SKELETON) $< >$@
-
-mb-bundlegen/Parser.cs: mb-bundlegen/Parser.jay
-       $(JAY) -ct <$(JAY_SKELETON) $< >$@
-
-scripts/%: scripts/%.in
-       sed -e 's,@prefix@,$(PREFIX),g' <$< >$@
-
-# Utility
-
-clean:
-       rm -f *.exe *.dll
-
-install: all
-       mkdir -p $(libdir)
-       mkdir -p $(exedir)
-       mkdir -p $(bindir)
-       $(INSTALL) -m 755 Monkeywrench.dll $(exedir)
-       $(INSTALL) -m 755 Monkeywrench.dll.mdb $(exedir)
-       $(INSTALL) -m 755 mbuild.exe $(exedir)
-       $(INSTALL) -m 755 mbuild.exe.mdb $(exedir)
-       $(INSTALL) -m 755 mb-bundlegen.exe $(exedir)
-       $(INSTALL) -m 755 mb-bundlegen.exe.mdb $(exedir)
-       $(INSTALL) -m 755 mb-bd2xhtml.exe $(exedir)
-       $(INSTALL) -m 755 mb-bd2xhtml.exe.mdb $(exedir)
-       $(INSTALL) -m 755 scripts/mbuild $(bindir)
-       $(INSTALL) -m 755 scripts/mb-bundlegen $(bindir)
-       $(INSTALL) -m 755 scripts/mb-bd2xhtml $(bindir)
-       $(GACUTIL) /i Mono.Build.dll /f /root $(libdir) /package $(COMPAT_NAME)
-       for t in Core Languages.CSharp Tools.Jay Tools.PkgConfig 
Tools.Bundlegen Tools.Monodoc ; do \
-               $(GACUTIL) /i MBuildDynamic.$$t.dll /f /root $(libdir) /package 
$(COMPAT_NAME) ; \
-       done
-
-install-extra:
-       $(INSTALL) -m 755 scripts/mb-gtkconfig $(bindir)
-       $(INSTALL) -m 755 scripts/mb-bd2xhtml $(bindir)

Added: trunk/mbuild/Makefile.in
===================================================================
--- trunk/mbuild/Makefile.in    2005-07-15 03:53:44 UTC (rev 47324)
+++ trunk/mbuild/Makefile.in    2005-07-15 04:53:41 UTC (rev 47325)
@@ -0,0 +1,194 @@
+# Bootstrapping ahoy!
+
+# keep in sync with Buildfile
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
+COMPAT_NAME=$(NAME)-$(COMPAT)
[EMAIL PROTECTED] '        '
+
+# don't subst @libdir@ here since it may be
+# lib64 which is not what we want
+
[EMAIL PROTECTED]@
+libdir=$(PREFIX)/lib
[EMAIL PROTECTED]@
+exedir=$(libdir)/$(COMPAT_NAME)
+
[EMAIL PROTECTED]@ /debug
+INSTALL=install
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@ mb-bundlegen.exe /v:$(VERSION)
[EMAIL PROTECTED]@ -q
+
+default: all
+
+all: Mono.Build.dll MBuildDynamic.Core.dll MBuildDynamic.Languages.CSharp.dll 
MBuildDynamic.Tools.Jay.dll MBuildDynamic.Tools.Bundlegen.dll 
MBuildDynamic.Tools.Monodoc.dll MBuildDynamic.Tools.PkgConfig.dll 
Monkeywrench.dll mbuild.exe mb-bundlegen.exe mb-bd2xhtml.exe 
scripts/mb-bd2xhtml scripts/mb-bundlegen scripts/mbuild prefix-config.xml
+
+# ghastly
+mb-bundlegen.exe: mb-bundlegen/mb-bundlegen.exe.sources $(patsubst 
%,mb-bundlegen/%,$(shell cat mb-bundlegen/mb-bundlegen.exe.sources))
+       (cd mb-bundlegen && $(MCS) /target:exe /out:../$@ 
/r:Mono.GetOptions.dll @mb-bundlegen.exe.sources)
+
+mb-bd2xhtml.exe: mb-bd2xhtml/mb-bd2xhtml.exe.sources $(patsubst 
%,mb-bd2xhtml/%,$(shell cat mb-bd2xhtml/mb-bd2xhtml.exe.sources))
+       (cd mb-bd2xhtml && $(MCS) /target:exe /out:../$@ /r:Mono.GetOptions.dll 
/r:System.Xml.dll /resource:bd2xhtml.xsl,bs2xhtml.xsl @mb-bd2xhtml.exe.sources)
+
+# horrendous
+make-version.stamp: phonydep
+       @if test -f $@ ; then \
+               echo "$(VERSION)" >[EMAIL PROTECTED] ; \
+               if ! cmp $@ [EMAIL PROTECTED] ; then \
+                       cp -f [EMAIL PROTECTED] $@ ; \
+                       echo Version stamp $@ updated ; \
+               fi ; \
+               rm [EMAIL PROTECTED] ; \
+       else \
+               echo "$(VERSION)" >$@ ; \
+               echo Version stamp $@ created ; \
+       fi
+
+make-prefix.stamp: phonydep
+       @if test -f $@ ; then \
+               echo "$(PREFIX)" >[EMAIL PROTECTED] ; \
+               if ! cmp $@ [EMAIL PROTECTED] ; then \
+                       cp -f [EMAIL PROTECTED] $@ ; \
+                       echo Prefix stamp $@ updated ; \
+               fi ; \
+               rm [EMAIL PROTECTED] ; \
+       else \
+               echo "$(PREFIX)" >$@ ; \
+               echo Prefix stamp $@ created ; \
+       fi
+
+# awful
+.PHONY: phonydep
+
+MB_VERSION_FILE=Mono.Build/Assembly/GeneratedAssemblyVersionInfo.cs
+BG_VERSION_FILE=mb-bundlegen/GeneratedAssemblyVersionInfo.cs
+BD_VERSION_FILE=mb-bd2xhtml/GeneratedAssemblyVersionInfo.cs
+CL_VERSION_FILE=mbuild/GeneratedAssemblyVersionInfo.cs
+
+# terrible
+$(MB_VERSION_FILE): make-version.stamp
+       echo '[assembly: System.Reflection.AssemblyVersion("$(VERSION)")]' >$@
+
+# dastardly
+$(CL_VERSION_FILE): make-version.stamp
+       echo '[assembly: System.Reflection.AssemblyVersion("$(VERSION)")]' >$@
+
+# despicable
+$(BD_VERSION_FILE): make-version.stamp
+       echo '[assembly: System.Reflection.AssemblyVersion("$(VERSION)")]' >$@
+
+# shit like this is why I wrote mbuild
+$(BG_VERSION_FILE): make-version.stamp
+       echo '[assembly: System.Reflection.AssemblyVersion("$(VERSION)")]' >$@
+
+Mono.Build.dll: Mono.Build.dll.sources $(shell cat Mono.Build.dll.sources)
+       $(MCS) /target:library /out:$@ /keyfile:mbuild.snk @$<
+       $(SN) -R $@ mbuild.snk
+
+MBuildDynamic.Core.dll: MBuildDynamic.Core.dll.sources $(shell cat 
MBuildDynamic.Core.dll.sources) Mono.Build.dll mb-bundlegen.exe
+       $(BUNDLEGEN) /out:$@ /keyfile:mbuild.snk /r:./Mono.Build.dll $(shell 
cat MBuildDynamic.Core.dll.sources)
+       $(SN) -R $@ mbuild.snk
+
+MBuildDynamic.Languages.CSharp.dll: Languages.CSharp.bundle Mono.Build.dll 
MBuildDynamic.Core.dll mb-bundlegen.exe csharp-check-template.cs.in
+       $(BUNDLEGEN) /out:$@ /keyfile:mbuild.snk /r:./Mono.Build.dll 
/r:./MBuildDynamic.Core.dll /resource:csharp-check-template.cs.in $<
+       $(SN) -R $@ mbuild.snk
+
+MBuildDynamic.Tools.PkgConfig.dll: Tools.PkgConfig.bundle Mono.Build.dll 
MBuildDynamic.Core.dll mb-bundlegen.exe
+       $(BUNDLEGEN) /out:$@ /keyfile:mbuild.snk /r:./Mono.Build.dll 
/r:./MBuildDynamic.Core.dll $<
+       $(SN) -R $@ mbuild.snk
+
+MBuildDynamic.Tools.Bundlegen.dll: Tools.Bundlegen.bundle Mono.Build.dll 
MBuildDynamic.Core.dll mb-bundlegen.exe mbuild.snk
+       $(BUNDLEGEN) /out:$@ /keyfile:mbuild.snk /r:./Mono.Build.dll 
/r:./MBuildDynamic.Core.dll /resource:mbuild.snk $<
+       $(SN) -R $@ mbuild.snk
+
+MBuildDynamic.Tools.Monodoc.dll: Tools.Monodoc.bundle Mono.Build.dll 
MBuildDynamic.Core.dll mb-bundlegen.exe api-docs/mkmstoc.xsl
+       $(BUNDLEGEN) /out:$@ /keyfile:mbuild.snk /r:./Mono.Build.dll 
/r:./MBuildDynamic.Core.dll /resource:api-docs/mkmstoc.xsl $<
+       $(SN) -R $@ mbuild.snk
+
+MBuildDynamic.Tools.Jay.dll: Tools.Jay.bundle Mono.Build.dll 
MBuildDynamic.Core.dll MBuildDynamic.Languages.CSharp.dll mb-bundlegen.exe
+       $(BUNDLEGEN) /out:$@ /keyfile:mbuild.snk /r:./Mono.Build.dll 
/r:./MBuildDynamic.Core.dll /r:./MBuildDynamic.Languages.CSharp.dll $<
+       $(SN) -R $@ mbuild.snk
+
+Monkeywrench.dll: Monkeywrench.dll.sources $(shell cat 
Monkeywrench.dll.sources) Mono.Build.dll
+       $(MCS) /target:library /out:$@ /r:./Mono.Build.dll @$<
+
+mbuild.exe: mbuild.exe.sources $(shell cat mbuild.exe.sources) 
Monkeywrench.dll Mono.Build.dll
+       $(MCS) /target:exe /out:$@ /r:./Monkeywrench.dll /r:./Mono.Build.dll 
/r:Mono.GetOptions.dll @$<
+
+Monkeywrench/Monkeywrench/BuildfileParser.cs: 
Monkeywrench/Monkeywrench/BuildfileParser.jay
+       $(JAY) -ct <$(JAY_SKELETON) $< >$@
+
+mb-bundlegen/Parser.cs: mb-bundlegen/Parser.jay
+       $(JAY) -ct <$(JAY_SKELETON) $< >$@
+
+scripts/%: scripts/%.in make-prefix.stamp
+       sed -e 's,@''prefix@,$(PREFIX),g' <$< >$@
+
+prefix-config.xml: prefix-config.xml.in make-prefix.stamp
+       sed -e 's,@''prefix@,$(PREFIX),g' <$< >$@
+
+# Utility
+
+clean:
+       rm -f *.exe *.dll *.mdb *.stamp scripts/mbuild scripts/mb-bundlegen 
scripts/mb-bd2xhtml
+
+maintainer-clean: clean
+       rm -f config.status configure Makefile
+
+dist:
+       @echo You should only create distributions of MBuild using MBuild
+       @false
+
+install: all
+       mkdir -p $(libdir)
+       mkdir -p $(exedir)
+       mkdir -p $(bindir)
+       $(INSTALL) -m 755 Monkeywrench.dll $(exedir)
+       $(INSTALL) -m 755 Monkeywrench.dll.mdb $(exedir)
+       $(INSTALL) -m 755 mbuild.exe $(exedir)
+       $(INSTALL) -m 755 mbuild.exe.mdb $(exedir)
+       $(INSTALL) -m 755 mb-bundlegen.exe $(exedir)
+       $(INSTALL) -m 755 mb-bundlegen.exe.mdb $(exedir)
+       $(INSTALL) -m 755 mb-bd2xhtml.exe $(exedir)
+       $(INSTALL) -m 755 mb-bd2xhtml.exe.mdb $(exedir)
+       $(INSTALL) -m 755 scripts/mbuild $(bindir)
+       $(INSTALL) -m 755 scripts/mb-bundlegen $(bindir)
+       $(INSTALL) -m 755 scripts/mb-bd2xhtml $(bindir)
+       $(GACUTIL) /i Mono.Build.dll /f /root $(libdir) /package $(COMPAT_NAME)
+       for t in Core Languages.CSharp Tools.Jay Tools.PkgConfig 
Tools.Bundlegen Tools.Monodoc ; do \
+               $(GACUTIL) /i MBuildDynamic.$$t.dll /f /root $(libdir) /package 
$(COMPAT_NAME) ; \
+       done
+       $(ECHOPFX)
+       $(ECHOPFX) NOTE: You have only installed a partial version of MBuild. 
The rest
+       $(ECHOPFX) of MBuild is built with MBuild itself. You can build the 
rest of the
+       $(ECHOPFX) tools by running the following commands:
+       $(ECHOPFX)
+       $(ECHOPFX) '  mkdir BUILD && (cd BUILD ; mbuild -i .. && mbuild 
--import-xml:../prefix-config.xml' \\
+       $(ECHOPFX) '    && mbuild)'
+       $(ECHOPFX)
+       $(ECHOPFX) and install them by running
+       $(ECHOPFX)
+       $(ECHOPFX) '  (cd BUILD ; mbuild -I)' 
+       $(ECHOPFX)
+       $(ECHOPFX) with the necessary privileges. The first command will 
generate a lot
+       $(ECHOPFX) of output, so write down the second command in case you 
forget what to do.
+       $(ECHOPFX)
+
+install-extra:
+       $(INSTALL) -m 755 scripts/mb-gtkconfig $(bindir)
+       $(INSTALL) -m 755 scripts/mb-bd2xhtml $(bindir)
+
+# Auto-foo
+
+configure: configure.ac
+       autoconf
+
+config.status: configure
+       ./config.status --recheck
+
+Makefile: Makefile.in config.status
+       CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status

Added: trunk/mbuild/autogen.sh
===================================================================
--- trunk/mbuild/autogen.sh     2005-07-15 03:53:44 UTC (rev 47324)
+++ trunk/mbuild/autogen.sh     2005-07-15 04:53:41 UTC (rev 47325)
@@ -0,0 +1,42 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+# Ripped off from the Mono ripoff from GNOME macros version
+
+PKG_NAME=MBuild
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+if test "x$srcdir" = "x." ; then
+  :
+else
+  echo "Sorry, $PKG_NAME cannot be compiled out of its source directory."
+  echo "Please run autogen.sh from inside the $PKG_NAME source package."
+  exit 1
+fi
+
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+  echo
+  echo "**Error**: You must have \`autoconf' installed to compile $PKG_NAME."
+  echo "Download the appropriate package for your distribution,"
+  echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/";
+  exit 1
+}
+
+echo "Running autoconf ..."
+autoconf || { echo "**Error**: autoconf failed."; exit 1; }
+
+if test -z "$*"; then
+  echo "**Warning**: I am going to run \`configure' with no arguments."
+  echo "If you wish to pass any to it, please specify them on the"
+  echo \`$0\'" command line."
+  echo
+fi
+
+if test x$NOCONFIGURE = x; then
+  echo Running $srcdir/configure $conf_flags "$@" ...
+  $srcdir/configure $conf_flags "$@" \
+  && echo Now type \`make\' to compile $PKG_NAME || exit 1
+else
+  echo Skipping configure process.
+fi


Property changes on: trunk/mbuild/autogen.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/mbuild/configure.ac
===================================================================
--- trunk/mbuild/configure.ac   2005-07-15 03:53:44 UTC (rev 47324)
+++ trunk/mbuild/configure.ac   2005-07-15 04:53:41 UTC (rev 47325)
@@ -0,0 +1,98 @@
+dnl -*- mode: m4 -*-
+AC_PREREQ(2.52)
+
+dnl Keep these in sync with the Buildfile
+
+AC_INIT(MBuild, 0.0.4.0, [EMAIL PROTECTED], mbuild)
+
+COMPAT=0.0
+AC_SUBST(COMPAT)
+
+dnl blah blah blah
+
+if test "x$srcdir" = "x." ; then
+       :
+else
+       AC_MSG_ERROR([Sorry, MBuild cannot be built outside of its source 
directory.])
+fi
+
+AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+if test "x$PKG_CONFIG" = "xno"; then
+       AC_MSG_ERROR([MBuild requires pkg-config to be compiled])
+fi
+
+AC_ARG_WITH([mono],
+[  --with-mono=/path/to/mono    Tell me the prefix that Mono is installed in 
(normally not needed)],
+[], [with_mono=no])
+
+AC_MSG_CHECKING([for Mono])
+
+if test "x$with_mono" = "xno" ; then
+       if $PKG_CONFIG --exists mono ; then
+               AC_MSG_RESULT(ok)
+       else
+               AC_MSG_RESULT(pkg-config failed)
+               AC_MSG_ERROR([The program \'$PKG_CONFIG\' failed to run or
+find Mono. Either pkg-config is not correctly installed, Mono is not correctly
+installed, or you need to use the PKG_CONFIG_PATH environment variable.])
+       fi
+
+       monoprefix=`$PKG_CONFIG --variable=prefix mono`
+else
+       AC_MSG_RESULT([specified: $with_mono])
+       monoprefix="$with_mono"
+fi
+
+AC_PATH_PROG(MONO, mono, no, [$monoprefix/bin:$PATH])
+if test "x$MONO" = "xno"; then
+       AC_MSG_ERROR([Could not find 'mono'. To compile MBuild, you must have 
the Mono
+runtime installed])
+fi
+
+AC_PATH_PROG(MCS, mcs, no, [$monoprefix/bin:$PATH])
+if test "x$MCS" = "xno"; then
+       AC_MSG_ERROR([Could not find 'mcs'. To compile MBuild, you must have the
+Mono C-Sharp compiler installed.])
+fi
+
+AC_PATH_PROG(GACUTIL, gacutil, no, [$monoprefix/bin:$PATH])
+if test "x$GACUTIL" = "xno"; then
+       AC_MSG_ERROR([Could not find 'gacutil'. To compile MBuild, you must 
have the
+Mono runtime installed.])
+fi
+
+AC_PATH_PROG(JAY, jay, no, [$monoprefix/bin:$PATH])
+if test "x$JAY" = "xno"; then
+       AC_MSG_ERROR([Could not find 'jay'. To compile MBuild, you must have the
+Mono development toolkit installed.])
+fi
+
+AC_PATH_PROG(SN, sn, no, [$monoprefix/bin:$PATH])
+if test "x$SN" = "xno"; then
+       AC_MSG_ERROR([Could not find 'sn'. To compile MBuild, you must have the
+Mono development toolkit installed.])
+fi
+
+AC_ARG_WITH([jay-skeleton],
+[  --with-jay-skeleton=filename Tell me where to find the Jay skeleton file 
(normally not needed)],
+[], [with_jay_skeleton=no])
+
+AC_MSG_CHECKING([for Jay skeleton file])
+
+if test x$with_jay_skeleton = xno ; then
+       if test -f "$monoprefix/share/jay/skeleton.cs" ; then
+               AC_MSG_RESULT(ok)
+       else
+               AC_MSG_RESULT([did not find $monoprefix/share/jay/skeleton.cs])
+               AC_MSG_ERROR([I could not find the Jay skeleton template, a 
development
+file that should be installed along with Mono. Do you have the Mono developer 
files
+installed?])
+       fi
+else
+       AC_MSG_RESULT([specified: $with_jay_skeleton])
+fi
+
+JAY_SKELETON_FILE="$with_jay_skeleton"
+AC_SUBST(JAY_SKELETON_FILE)
+
+AC_OUTPUT([Makefile])

Added: trunk/mbuild/prefix-config.xml.in
===================================================================
--- trunk/mbuild/prefix-config.xml.in   2005-07-15 03:53:44 UTC (rev 47324)
+++ trunk/mbuild/prefix-config.xml.in   2005-07-15 04:53:41 UTC (rev 47325)
@@ -0,0 +1,15 @@
+<!-- We use this file to import Autoconf's idea of the prefix
+     into MBuild, avoiding the annoying prompt of a bare-bones
+     'mbuild -C'. This is suggested in the instructions printed
+     after the user runs a 'make install'.
+
+     This file also serves as a cute demo of how the -import-xml
+     and -export-xml commands are useful.
+-->
+
+<mbuild-results>
+  <metadata />
+  <targets>
+    <result id="/config/install/prefix" 
type="Mono.Build.MBString">@prefix@</result>
+  </targets>
+</mbuild-results>

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to