List Info

Thread: Autotool build system to trunk




Autotool build system to trunk
user name
2007-06-11 11:37:03
Hi all,

The autotools branch work has progressed nicely and I would
like to
get some wider exposure to the new build system by merging
these
changes to the trunk. I am going to merge this into the
trunk tomorrow
unless there are objections.

These changes bring iaxclient's build system into the modern
era by
using the whole gambit of autotools (automake, autoconf,
libtool, and
pkg-config) to hopefully yield a more portable, more
familiar, and
more configurable iaxclient.

Tremendous thanks goes to Mikael Magnusson for his excellent
Debian
patch that serves as the foundation for the new iaxclient
build
system.

Currently, the source you get from a subversion checkout
does not
include the configure script and Makefile.in files. This
means that
you have to run the autogen.sh script before running
configure:

  $ cd iaxclient
  $ ./autogen.sh
  $ ./configure <...>
  $ make

I plan on leaving the subversion source pristine by not
checking in
generated files like configure and friends. This puts an
onus on
developers to have all the autotools installed along with
development
packages for even optionally required libraries (like SDL
and
wxWidgets). I'm happy to discuss the relative merits of
checking in
the configure script and Makefile.in's -- I don't know the
right
answer to this issue.

Right now, only testcall and vtestcall are known to build.
The other
clients will need some love before they will be usable. I
believe this
has less to do with the new build system and more to do with
the
client code needing maintenance. I have not put much effort
into
getting iaxphone and iaxcomm working.

The latest version of portaudio from their v19 branch in
subversion is
required to build iaxclient. The portaudio folks added some
interfaces
that allow us to decouple portmixer from portaudio so now
portmixer
only uses public portaudio interfaces.

Speex 1.2beta1 is required. The speex folks cleaned up their
public
interfaces in 1.2beta2 such that we can no longer access
their private
structures for our AGC scheme. It is on the to-do list to
work out
this issue so that we can use the latest speex code.

At the moment, I am able to build iaxclient successfully on
Linux
(Ubuntu 7.04) and Mac OS X 10.4. I would like to get
feedback from
those building on other Linux/Unix flavors. I have not yet
attempted
to build iaxclient in a mingw or cygwin environment.
Eventually I
would like to cross compile iaxclient for windows using
mingw on a
Linux or Mac OS X machine. Any help in this arena would be
greatly
appreciated.

Toughts? Feedback? Flames?

Pete

------------------------------------------------------------
-------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and
take
control of your XML. No limits. Just data. Click to get it
now.
http://sourcefor
ge.net/powerbar/db2/
_______________________________________________
Iaxclient-devel mailing list
Iaxclient-devellists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iaxclie
nt-devel

Re: Autotool build system to trunk
user name
2007-06-12 19:35:32
On Mon, 11 Jun 2007 12:37:03 -0400, "Peter
Grayson"
<jpgraysongmail.com> said:
<...>
> These changes bring iaxclient's build system into the
modern era by
> using the whole gambit of autotools (automake,
autoconf, libtool, and
> pkg-config) to hopefully yield a more portable, more
familiar, and
> more configurable iaxclient.
> 
That's great!

<...> 
> I plan on leaving the subversion source pristine by not
checking in
> generated files like configure and friends. This puts
an onus on
> developers to have all the autotools installed along
with development
> packages for even optionally required libraries (like
SDL and
> wxWidgets). I'm happy to discuss the relative merits of
checking in
> the configure script and Makefile.in's -- I don't know
the right
> answer to this issue.

That sounds like a pain, and likely to result in fewer
developers
helping out. The cost seems quite high (in order to compile
the code you
need to install a range of packages, many of which you may
not even need
yourself) - what's the benefit to weight this up against?

-- 
  Jeremy

------------------------------------------------------------
-------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and
take
control of your XML. No limits. Just data. Click to get it
now.
http://sourcefor
ge.net/powerbar/db2/
_______________________________________________
Iaxclient-devel mailing list
Iaxclient-devellists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iaxclie
nt-devel

Re: Autotool build system to trunk
user name
2007-06-12 19:35:32
On Mon, 11 Jun 2007 12:37:03 -0400, "Peter
Grayson"
<jpgraysongmail.com> said:
<...>
> These changes bring iaxclient's build system into the
modern era by
> using the whole gambit of autotools (automake,
autoconf, libtool, and
> pkg-config) to hopefully yield a more portable, more
familiar, and
> more configurable iaxclient.
> 
That's great!

<...> 
> I plan on leaving the subversion source pristine by not
checking in
> generated files like configure and friends. This puts
an onus on
> developers to have all the autotools installed along
with development
> packages for even optionally required libraries (like
SDL and
> wxWidgets). I'm happy to discuss the relative merits of
checking in
> the configure script and Makefile.in's -- I don't know
the right
> answer to this issue.

That sounds like a pain, and likely to result in fewer
developers
helping out. The cost seems quite high (in order to compile
the code you
need to install a range of packages, many of which you may
not even need
yourself) - what's the benefit to weight this up against?

-- 
  Jeremy

------------------------------------------------------------
-------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and
take
control of your XML. No limits. Just data. Click to get it
now.
http://sourcefor
ge.net/powerbar/db2/
_______________________________________________
Iaxclient-devel mailing list
Iaxclient-devellists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iaxclie
nt-devel

Re: Autotool build system to trunk
user name
2007-06-13 09:53:54
On 6/12/07, iaxclientj.howard.fm <iaxclientj.howard.fm> wrote:
> On Mon, 11 Jun 2007 12:37:03 -0400, "Peter
Grayson"
> <jpgraysongmail.com> said:
> <...>
> > These changes bring iaxclient's build system into
the modern era by
> > using the whole gambit of autotools (automake,
autoconf, libtool, and
> > pkg-config) to hopefully yield a more portable,
more familiar, and
> > more configurable iaxclient.
> >
> That's great!

Thank you, I'm excited about it too.

> <...>
> > I plan on leaving the subversion source pristine
by not checking in
> > generated files like configure and friends. This
puts an onus on
> > developers to have all the autotools installed
along with development
> > packages for even optionally required libraries
(like SDL and
> > wxWidgets). I'm happy to discuss the relative
merits of checking in
> > the configure script and Makefile.in's -- I don't
know the right
> > answer to this issue.
>
> That sounds like a pain, and likely to result in fewer
developers
> helping out. The cost seems quite high (in order to
compile the code you
> need to install a range of packages, many of which you
may not even need
> yourself) - what's the benefit to weight this up
against?

I appreciate your point of view here. There were two
rationales
supporting not committing the files to make iaxclient
"configure-ready".

The first rationale is the principle of not checking in
generated
files. Just as we don't check in object files generated by
the
compiler, we do not want to check in a configure script
generated by
autoconf.

The second rationale is that if these files were checked in,
then
whenever someone re-ran autogen.sh (which runs automake,
autoconf, and
friends), the whole mess of these generated files would show
up as
modified in the subversion working copy and would likely be
checked
in. Some of these files might be wholesale different if, for
example,
two developers happened to be running two different versions
of
autoconf. This might lead to people dueling for configure
script
supremacy and add noise to the development process.

The idea would be that source tarballs (e.g.
iaxclient-2.0.0.tar.gz)
would be released with all the configure-ready bits in them.
This
pattern is consistent with several other open source
projects (speex
and theora are examples).

That said, I feel compelled by your argument for enabling
developers.
To backup that stance, one could argue that changes to the
build
system (configure.ac, Makefile.am) will be relatively
infrequent. This
would obviate rationale #2. Furthermore, with some
experience, we
should be able to figure out how to manage the who, when,
and how the
build system is changed.

I would love to hear from other interested parties on this
issue.
Also, this decision does not have to be set in stone -- we
can make
the switch either way in the future without too much
trouble. Thanks
subversion.

Pete

------------------------------------------------------------
-------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and
take
control of your XML. No limits. Just data. Click to get it
now.
http://sourcefor
ge.net/powerbar/db2/
_______________________________________________
Iaxclient-devel mailing list
Iaxclient-devellists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iaxclie
nt-devel

Re: Autotool build system to trunk
user name
2007-06-13 09:53:54
On 6/12/07, iaxclientj.howard.fm <iaxclientj.howard.fm> wrote:
> On Mon, 11 Jun 2007 12:37:03 -0400, "Peter
Grayson"
> <jpgraysongmail.com> said:
> <...>
> > These changes bring iaxclient's build system into
the modern era by
> > using the whole gambit of autotools (automake,
autoconf, libtool, and
> > pkg-config) to hopefully yield a more portable,
more familiar, and
> > more configurable iaxclient.
> >
> That's great!

Thank you, I'm excited about it too.

> <...>
> > I plan on leaving the subversion source pristine
by not checking in
> > generated files like configure and friends. This
puts an onus on
> > developers to have all the autotools installed
along with development
> > packages for even optionally required libraries
(like SDL and
> > wxWidgets). I'm happy to discuss the relative
merits of checking in
> > the configure script and Makefile.in's -- I don't
know the right
> > answer to this issue.
>
> That sounds like a pain, and likely to result in fewer
developers
> helping out. The cost seems quite high (in order to
compile the code you
> need to install a range of packages, many of which you
may not even need
> yourself) - what's the benefit to weight this up
against?

I appreciate your point of view here. There were two
rationales
supporting not committing the files to make iaxclient
"configure-ready".

The first rationale is the principle of not checking in
generated
files. Just as we don't check in object files generated by
the
compiler, we do not want to check in a configure script
generated by
autoconf.

The second rationale is that if these files were checked in,
then
whenever someone re-ran autogen.sh (which runs automake,
autoconf, and
friends), the whole mess of these generated files would show
up as
modified in the subversion working copy and would likely be
checked
in. Some of these files might be wholesale different if, for
example,
two developers happened to be running two different versions
of
autoconf. This might lead to people dueling for configure
script
supremacy and add noise to the development process.

The idea would be that source tarballs (e.g.
iaxclient-2.0.0.tar.gz)
would be released with all the configure-ready bits in them.
This
pattern is consistent with several other open source
projects (speex
and theora are examples).

That said, I feel compelled by your argument for enabling
developers.
To backup that stance, one could argue that changes to the
build
system (configure.ac, Makefile.am) will be relatively
infrequent. This
would obviate rationale #2. Furthermore, with some
experience, we
should be able to figure out how to manage the who, when,
and how the
build system is changed.

I would love to hear from other interested parties on this
issue.
Also, this decision does not have to be set in stone -- we
can make
the switch either way in the future without too much
trouble. Thanks
subversion.

Pete

------------------------------------------------------------
-------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and
take
control of your XML. No limits. Just data. Click to get it
now.
http://sourcefor
ge.net/powerbar/db2/
_______________________________________________
Iaxclient-devel mailing list
Iaxclient-devellists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iaxclie
nt-devel

[1-5]

about | contact  Other archives ( Real Estate discussion Medical topics )