[Mono-devel-list] [LONG] Any Interest in FreeBSD Patches? Then see attached.

John Merryweather Cooper john_m_cooper at yahoo.com
Fri Jul 16 18:51:42 EDT 2004

On Fri, 2004-07-16 at 14:30, Dick Porter wrote:
> On Fri, 2004-07-16 at 22:13, John Merryweather Cooper wrote:
> > On Fri, 2004-07-16 at 13:28, Dick Porter wrote:
> > > > # patch-configure
> > > > #####
> > > > 
> > > > The build environment in the FreeBSD Ports system defines two
> > > > environment variables:  PTHREAD_CFLAGS and PTHREAD_LIBS.  The contents
> > > > of these two environments vary depending on the FreeBSD version,
> > > 
> > > How does this patch impact FreeBSD builders of the tarball?  I'm
> > > assuming PTHREAD_CFLAGS and PTHREAD_LIBS won't be set automatically for
> > > them.  Is it possible to have a set of probably-correct defaults, and
> > > let the ports build override them?
> > 
> > I'm unclear about your reference to "FreeBSD builders of the tarball." 
> I mean someone running FreeBSD that happens to download the tarball from
> the mono web site, and tries to build it themselves.

O.K.  Well, what I recommend is:

1) point potential FreeBSD binary users to use pkg_add lang/mono which
will suck down the pre-built tarball from FreeBSD.org and install it. 
I've worked very hard to make this a no-brainer for such users.

2) point potential FreeBSD source users who don't want to be cutting
edge to /usr/ports/lang/mono on there machines where a "make install"
will fetch, compile, and install mono for them.

3) for the cutting edge user, I'd support overriding
PTHREAD_[CFLAGS|LIBS] in the environment for configure and document in
the help portion of configure just like CFLAGS, et al. are documented
now when one does a "configure --help."  I'd be happy if you'd also
provide such users with my support e-mail address-- coop9211 at uidaho.edu
--so that I can assist them with the particulars.  Meanwhile, I'd
support the -STABLE (the first set) and -CURRENT (the last set) of
options.  You can distinguish this by the build host using *freebsd4 for
-STABLE and *freebsd5 for -CURRENT.  For completeness, a warning if
PTHREAD_CFLAGS or PTHREAD_LIBS is not defined in the environment can
alert such users that they're about to enter uncharted waters.  :)  This
approach is used on libESMTP which I am also the FreeBSD maintainer for
and it has worked quite well.

> > These values can always be recovered from /usr/ports/Mk/bsd.port.mk. 
> > Note that only the first (-STABLE) and last (-CURRENT) choices are
> > maintained in for ports (such as lang/mono) in the ports tree, but there
> > are still plenty of people running older -CURRENTs.  However, nobody has
> > been able to get lang/mono to run on the non-KSE -CURRENTs, so it's a
> > pretty dead choice.
> > 
> > Since there's considerable development energy on threads in -CURRENT,
> > expect these flags to change "early and often" on -CURRENT.
> That doesn't sound like we can do this in configure then.  We need to
> reach a consensus from the FreeBSD users here:  do we just put the ports
> options in configure.in?
> > > > # patch-ltmain.sh
> > > 
> > > ltmain is a generated file (from libtool.)
> > > 
> > > > # patch-mono_Makefile.in
> > > 
> > > Again, Makefile.in is a generated file, built from Makefile.am.  There
> > > is no tests directory specified in Makefile.am.
> > > 
> > 
> > As a general rule, we try to avoid using automake.  So, we take the
> > configure scripts and *.in files as we find them and patch them to
> > work.  There's just too much chaos in the auto[tools] stuff--although
> > there is a strong effort to resolve this chaos for FreeBSD, we're not
> > there yet.
> I think you're going to have to maintain these particular patches
> yourself then.

That's what I expected, so no problem.

> - Dick

More information about the Mono-devel-list mailing list