[Mono-devel-list] Packaging mono applications
monoman at gmail.com
Thu Mar 24 09:47:02 EST 2005
See documentation for automake/autoconf, and in case of managed code pkg-config.
autoconf looks at your configure.in template and gives you some macros
to create a sofisticated configure script, that checks the environment
where the build will take place and call automake.
automake gets the Makefile.am templates, normally expanded from
Makefile.in templates by autoconf, and creates detailed makefile, with
targets like all, install and the family of dist*. dist* allow you to
create a tarball (a compressed package with your source, and auto*
pkg-config allows programs/libraries to tell where they were installed
for the benefit of others. normally a pkg-config.in template is
massaged by autoconf and correctly installed by make install.
mono compilers (mcs/mbas) has built-in support to reference libraries
by their pkg-config information, using the -pkg option, so that is
makes things easy for client devs to use it.
about the GAC, in your Makefile.in template you just have to add some
rules for the install target calling gacutil to register your by them
already installed libs.
I advise your to look at some of Mono's Makefile.in, to get a better
grasp of it. But beware that our build system, is very modular, with
many includes allowing for the reuse of common parts.
On Wed, 23 Mar 2005 14:07:00 -0600, Ben Davis <ben at xsusio.com> wrote:
> I'd like to learn more about how to package my applications and
> libraries in linux. For instance, how can I make it so that someone can
> do the usual "./configure; make; make install" to install something?
> What do I need to do to have my library (a compiled .dll) installed in
> the GAC when someone does a "configure; make; make install" ?
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
Rafael "Monoman" Teixeira
I'm trying to become a "Rosh Gadol" before my own eyes.
See http://www.joelonsoftware.com/items/2004/12/06.html for enlightment.
More information about the Mono-devel-list