Re: support for lzma in automake?

2007-10-07 Thread Jim Meyering
[EMAIL PROTECTED] (Karl Berry) wrote:
 Could we have a new option in automake for making lzma-compressed
 tarballs, a la bzip2?  The package to use is lzma-utils, from
 http://tukaani.org/lzma/.  Generally, it compresses better and
 uncompresses faster than bzip.

Not just better.  Significantly better.

Coreutils compressed tarball goes from 5.3MB w/.bz2 to 3.3MB w/.lzma.
Emacs goes from ~30MB to ~24MB.

Decompression time is 2x to 2.5x faster.
Not surprisingly, compression is slower: from ~2x for coreutils
to about 3.5x for emacs.




Re: support for lzma in automake?

2007-10-07 Thread Jim Meyering
[EMAIL PROTECTED] (Karl Berry) wrote:
 Could we have a new option in automake for making lzma-compressed
 tarballs, a la bzip2?  The package to use is lzma-utils, from
 http://tukaani.org/lzma/.  Generally, it compresses better and
 uncompresses faster than bzip.

 Jim, perhaps you would like to supply a patch :)?  (Jim was the one who
 instigated this.)

Here's the patch.  It works for coreutils.
It also passed make check, well at least up to pr401.test
where I interrupted it.

[BTW, if there's interest (ha!) I will set up a read-only git mirror
 on sourceware.org of the primary automake-cvs repository there.
 Lvm2 and device-mapper were the first test subjects there:
  http://sources.redhat.com/git/gitweb.cgi
 ]

2007-10-07  Jim Meyering  [EMAIL PROTECTED]

Add lzma compression support.
* NEWS: Mention it.
* automake.in (handle_dist): Recognize dist-lzma.
(make_paragraphs): Map LZMA to dist-lzma.
* doc/automake.texi (Dist): Add dist-lzma.
(Options): Likewise.
* lib/Automake/Options.pm (_process_option_list):
* lib/am/distdir.am (dist-lzma): New rule.
(dist dist-all): Add command to create an lzma-compressed tarball.
(distcheck): Handle lzma-compressed tarballs just like the others.
* tests/defs.in: Test for lzma, too.
* tests/lzma.test: New file, based on nogzip.test.
* tests/Makefile.am (TESTS): Add lzma.test.

I'll commit it in a couple days.

Signed-off-by: Jim Meyering [EMAIL PROTECTED]
---
 NEWS|2 ++
 automake.in |3 ++-
 doc/automake.texi   |   15 +--
 lib/Automake/Options.pm |3 ++-
 lib/am/distdir.am   |9 +
 tests/Makefile.am   |1 +
 tests/defs.in   |4 
 tests/lzma.test |   45 +
 8 files changed, 78 insertions(+), 4 deletions(-)
 create mode 100755 tests/lzma.test

diff --git a/NEWS b/NEWS
index 6304757..467208e 100644
--- a/NEWS
+++ b/NEWS
@@ -21,6 +21,8 @@ New in 1.10a:

 * Miscellaneous changes:

+  - Supports lzma-compressed tarballs.
+
   - Automake is licensed under GPLv3+.  `automake --add-missing' will
 by default install the GPLv3 file as COPYING if it is missing.
 Note that Automake will never overwrite an existing COPYING file,
diff --git a/automake.in b/automake.in
index 47023ba..234947b 100755
--- a/automake.in
+++ b/automake.in
@@ -3613,7 +3613,7 @@ sub handle_dist ()
 {
   my $archive_defined = option 'no-dist-gzip' ? 0 : 1;
   $archive_defined ||=
-   grep { option dist-$_ } ('shar', 'zip', 'tarZ', 'bzip2');
+   grep { option dist-$_ } qw(shar zip tarZ bzip2 lzma);
   error (option 'no-dist-gzip',
 no-dist-gzip specified but no dist-* specified, 
 . at least one archive format must be enabled)
@@ -6446,6 +6446,7 @@ sub make_paragraphs ($%)
 'MAINTAINER-MODE'
 = $seen_maint_mode ? subst ('MAINTAINER_MODE_TRUE') : '',

+'LZMA'= !! option 'dist-lzma',
 'BZIP2'   = !! option 'dist-bzip2',
 'COMPRESS'= !! option 'dist-tarZ',
 'GZIP'=  ! option 'no-dist-gzip',
diff --git a/doc/automake.texi b/doc/automake.texi
index b3361d3..1b7e521 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -8082,6 +8082,11 @@ frequently smaller than gzipped archives.
 Generate a gzip tar archive of the distribution.
 @trindex dist-gzip

[EMAIL PROTECTED] @code{dist-lzma}
+Generate a lzma tar archive of the distribution.  lzma archives are
+frequently smaller than bzipped archives.
[EMAIL PROTECTED] dist-lzma
+
 @item @code{dist-shar}
 Generate a shar archive of the distribution.
 @trindex dist-shar
@@ -8369,6 +8374,12 @@ Cause @command{dejagnu}-specific rules to be generated.  
@xref{Tests}.
 Hook @code{dist-bzip2} to @code{dist}.
 @trindex dist-bzip2

[EMAIL PROTECTED] @option{dist-lzma}
[EMAIL PROTECTED] Option, @option{dist-lzma}
[EMAIL PROTECTED] dist-lzma
+Hook @code{dist-lzma} to @code{dist}.
[EMAIL PROTECTED] dist-lzma
+
 @item @option{dist-shar}
 @cindex Option, @option{dist-shar}
 @opindex dist-shar
@@ -8540,7 +8551,7 @@ In order to use this option with C sources, you should add
 These three mutually exclusive options select the tar format to use
 when generating tarballs with @samp{make dist}.  (The tar file created
 is then compressed according to the set of @option{no-dist-gzip},
[EMAIL PROTECTED] and @option{dist-tarZ} options in use.)
[EMAIL PROTECTED], @option{dist-lzma} and @option{dist-tarZ} options in use.)

 These options must be passed as argument to @code{AM_INIT_AUTOMAKE}
 (@pxref{Macros}) because they can require additional configure checks.
@@ -12074,4 +12085,4 @@ The number of test cases in the test suite.
 @c  LocalWords:  LTALLOCA MALLOC malloc memcmp strdup alloca libcompat xyz DFOO
 @c  LocalWords:  unprefixed buildable preprocessed DBAZ DDATADIR 

Re: support for lzma in automake?

2007-10-07 Thread Benoit SIGOURE

On Oct 7, 2007, at 11:44 AM, Jim Meyering wrote:


BTW, if there's interest (ha!) I will set up a read-only git mirror
 on sourceware.org of the primary automake-cvs repository there.
 Lvm2 and device-mapper were the first test subjects there:
  http://sources.redhat.com/git/gitweb.cgi


I'd be interested indeed.

--
Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory




PGP.sig
Description: This is a digitally signed message part


Re: files left in build directory after distclean using subdir-objects

2007-10-07 Thread Benoit SIGOURE

On Oct 7, 2007, at 7:36 AM, Braden McDaniel wrote:


On Sat, 2007-10-06 at 14:18 -0400, Braden McDaniel wrote:

[snip]

Might I be tripping over some bug that occurs when the  
subdirectory name

is the same as the built executable?


The addition of

CLEANFILES = openvrml-xembed/.libs/openvrml-xembed

has worked around the problem. Suboptimal, I know, since .libs is an
implementation detail of libtool.



Hello Braden,
I downloaded OpenVRML 0.16.6 from sourceforge but couldn't get past  
configure (I'm on OSX and have Boost installed under /opt/local and  
although your configure script doesn't provide any way to indicate  
where Boost is, I passed it CPPFLAGS='-I/opt/local/include' and  
LDFLAGS='-L/opt/local/lib', but it was looking for -lboost_thread,  
except that it is common to not have libboost_thread.* while having  
libboost_thread-mt.* -- for instance).


Anyways, would it be possible for you to shrink down the problem to a  
small configure script and Makefile.am so that others can try to  
reproduce it easily?


Cheers,

--
Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory




PGP.sig
Description: This is a digitally signed message part


Re: files left in build directory after distclean using subdir-objects

2007-10-07 Thread Braden McDaniel
On Sun, 2007-10-07 at 18:59 +0200, Benoit SIGOURE wrote:
 On Oct 7, 2007, at 7:36 AM, Braden McDaniel wrote:
 
  On Sat, 2007-10-06 at 14:18 -0400, Braden McDaniel wrote:
 
  [snip]
 
  Might I be tripping over some bug that occurs when the  
  subdirectory name
  is the same as the built executable?
 
  The addition of
 
  CLEANFILES = openvrml-xembed/.libs/openvrml-xembed
 
  has worked around the problem. Suboptimal, I know, since .libs is an
  implementation detail of libtool.
 
 
 Hello Braden,
 I downloaded OpenVRML 0.16.6 from sourceforge but couldn't get past  
 configure (I'm on OSX and have Boost installed under /opt/local and  
 although your configure script doesn't provide any way to indicate  
 where Boost is, I passed it CPPFLAGS='-I/opt/local/include' and  
 LDFLAGS='-L/opt/local/lib', but it was looking for -lboost_thread,  
 except that it is common to not have libboost_thread.* while having  
 libboost_thread-mt.* -- for instance).

You won't see the problem in the 0.16.6 release, anyway. It is on the
CVS HEAD, though. You will need to comment out the aforementioned
CLEANFILES occurrence in src/Makefile.am in order to observe the
problem.

The solution to the problem you encountered is to set
BOOST_LIB_SUFFIX=-mt at configure time. I have successfully configured
OpenVRML using the MacPorts toolchain (which it sounds like you might
also be using) with the following options:

$ ../configure -C --prefix=$HOME --disable-static --enable-gtk-doc 
--with-apple-opengl-framework --with-libjs --disable-mozilla-plugin 
CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib BOOST_LIB_SUFFIX=-mt

You will need to get gtk-doc, libgnomeui, libglade2, and spidermonkey
from MacPorts if you don't already have them. Also libsdl; or pass
--disable-examples. The spidermonkey dependency can also be suppressed
by passing --disable-script-node-javascript instead of --with-libjs.

 Anyways, would it be possible for you to shrink down the problem to a  
 small configure script and Makefile.am so that others can try to  
 reproduce it easily?

I don't know. Given the fact that this problem has occurred for one
program and not the other, it's not obvious to me what could be
triggering this behavior. As I mentioned, the install location is the
only difference that jumps out at me.

-- 
Braden McDaniel   e-mail: [EMAIL PROTECTED]
http://endoframe.comJabber: [EMAIL PROTECTED]






Re: files left in build directory after distclean using subdir-objects

2007-10-07 Thread Braden McDaniel
On Sun, 2007-10-07 at 16:41 -0400, Braden McDaniel wrote:

[snip]

 I have successfully configured
 OpenVRML using the MacPorts toolchain (which it sounds like you might
 also be using) with the following options:
 
 $ ../configure -C --prefix=$HOME --disable-static --enable-gtk-doc 
 --with-apple-opengl-framework --with-libjs --disable-mozilla-plugin 
 CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib BOOST_LIB_SUFFIX=-mt

Unfortunately, after that, it seems it doesn't build because some of the
gtkglext configure tests don't work correctly with MacPorts.

I will work on fixing that.

-- 
Braden McDaniel   e-mail: [EMAIL PROTECTED]
http://endoframe.comJabber: [EMAIL PROTECTED]






Re: files left in build directory after distclean using subdir-objects

2007-10-07 Thread Braden McDaniel
On Sun, 2007-10-07 at 18:06 -0400, Braden McDaniel wrote:
 On Sun, 2007-10-07 at 16:41 -0400, Braden McDaniel wrote:
 
 [snip]
 
  I have successfully configured
  OpenVRML using the MacPorts toolchain (which it sounds like you might
  also be using) with the following options:
  
  $ ../configure -C --prefix=$HOME --disable-static --enable-gtk-doc 
  --with-apple-opengl-framework --with-libjs --disable-mozilla-plugin 
  CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib BOOST_LIB_SUFFIX=-mt
 
 Unfortunately, after that, it seems it doesn't build because some of the
 gtkglext configure tests don't work correctly with MacPorts.
 
 I will work on fixing that.

Fix checked in. However, for some reason AC_PATH_X(TRA) on MacPorts
doesn't set x_includes/X_CFLAGS--even though it apparently needs to. As
a result, you need to configure with --x-includes=/usr/X11R6/include.

-- 
Braden McDaniel   e-mail: [EMAIL PROTECTED]
http://endoframe.comJabber: [EMAIL PROTECTED]