<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-1480</id>
	<title>Nabble - Gnu - Autoconf - General</title>
	<updated>2009-11-28T10:54:13Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Gnu---Autoconf---General-f1480.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Gnu---Autoconf---General-f1480.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26555891</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T10:54:13Z</published>
	<updated>2009-11-28T10:54:13Z</updated>
	<author>
		<name>Eric Blake</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;According to Rasmus Lerdorf on 11/28/2009 11:34 AM:
&lt;br&gt;&amp;gt; I may have spoken too soon. &amp;nbsp;Someone is now reporting that with 2.62 he
&lt;br&gt;&amp;gt; is getting:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; configure.in:12: error: m4_defn: undefined macro: _m4_divert_diversion
&lt;br&gt;&amp;gt; autom4te: /usr/bin/m4 failed with exit status: 1
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 12: AC_PRESERVE_HELP_ORDER
&lt;br&gt;&amp;gt; 13: AC_INIT(README.SVN-RULES)
&lt;br&gt;&lt;br&gt;AC_PRESERVE_HELP_ORDER must come after AC_INIT.
&lt;br&gt;&lt;br&gt;- --
&lt;br&gt;Don't work too hard, make some time for fun as well!
&lt;br&gt;&lt;br&gt;Eric Blake &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26555891&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebb9@...&lt;/a&gt;
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (Cygwin)
&lt;br&gt;Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAksRcdUACgkQ84KuGfSFAYBkRACfdG5NQC6IlkSukxgzUOH9ZXXT
&lt;br&gt;CekAoLxL5OuBazwxmWeHnQEMov6qiMkJ
&lt;br&gt;=/3LW
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26555891&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26555891.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26555702</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T10:34:09Z</published>
	<updated>2009-11-28T10:34:09Z</updated>
	<author>
		<name>Rasmus Lerdorf</name>
	</author>
	<content type="html">I may have spoken too soon. &amp;nbsp;Someone is now reporting that with 2.62 he
&lt;br&gt;is getting:
&lt;br&gt;&lt;br&gt;configure.in:12: error: m4_defn: undefined macro: _m4_divert_diversion
&lt;br&gt;autom4te: /usr/bin/m4 failed with exit status: 1
&lt;br&gt;&lt;br&gt;where the top of configure.in contains:
&lt;br&gt;&lt;br&gt;...
&lt;br&gt;&amp;nbsp;6: sinclude(Zend/acinclude.m4)
&lt;br&gt;...
&lt;br&gt;11: AC_PREREQ(2.60)
&lt;br&gt;12: AC_PRESERVE_HELP_ORDER
&lt;br&gt;13: AC_INIT(README.SVN-RULES)
&lt;br&gt;&lt;br&gt;-Rasmus
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26555702&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26555702.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26555293</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T09:47:39Z</published>
	<updated>2009-11-28T09:47:39Z</updated>
	<author>
		<name>Rasmus Lerdorf</name>
	</author>
	<content type="html">Eric Blake wrote:
&lt;br&gt;&amp;gt; It appears that you are asking for a way to make all --help output appear
&lt;br&gt;&amp;gt; in the same order in which you generate it, and to be able to intersperse
&lt;br&gt;&amp;gt; text strings of your choosing in between strings generated by AC_ARG_WITH
&lt;br&gt;&amp;gt; and AC_ARG_ENABLE.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; First, it looks like you need to use AC_PRESERVE_HELP_ORDER (added in
&lt;br&gt;&amp;gt; 2.59c, so it will work for 2.65 but won't help you for 2.59 proper, but if
&lt;br&gt;&amp;gt; that's the least of your worries, I can still help you with backporting it
&lt;br&gt;&amp;gt; to 2.59 if you aren't willing to jump all the way to modern autoconf).
&lt;br&gt;&lt;br&gt;Aha. &amp;nbsp;If I get rid of all the divert() calls and add:
&lt;br&gt;&lt;br&gt;AC_PREREQ(2.60)
&lt;br&gt;AC_PRESERVE_HELP_ORDER
&lt;br&gt;&lt;br&gt;Things are looking sane. &amp;nbsp;That doesn't work in 2.13, of course, but I
&lt;br&gt;guess it would be a lot simpler to just leave that for older versions
&lt;br&gt;and force people to upgrade for newer ones.
&lt;br&gt;&lt;br&gt;-Rasmus
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26555293&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26555293.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26554305</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T07:54:14Z</published>
	<updated>2009-11-28T07:54:14Z</updated>
	<author>
		<name>Thomas Dickey-2</name>
	</author>
	<content type="html">On Sat, 28 Nov 2009, Eric Blake wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; -----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;&amp;gt; Hash: SHA1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; According to Thomas Dickey on 11/28/2009 8:40 AM:
&lt;br&gt;&amp;gt;&amp;gt; well, in my view, not bothering to research a detail to provide an
&lt;br&gt;&amp;gt;&amp;gt; accurate reply falls short of professional behavior.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; You get the level of support that you pay for. &amp;nbsp;I need a more compelling
&lt;br&gt;&amp;gt; reason to look at 2.13 than name-calling. &amp;nbsp;After all:
&lt;br&gt;&lt;br&gt;no point in arguing. &amp;nbsp;I expect that your standards are applied to each of 
&lt;br&gt;your endeavors.
&lt;br&gt;&lt;br&gt;People with more than one set of standards have no standards at all.
&lt;br&gt;&lt;br&gt;awai
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Thomas E. Dickey
&lt;br&gt;&lt;a href=&quot;http://invisible-island.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://invisible-island.net&lt;/a&gt;&lt;br&gt;ftp://invisible-island.net
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26554305&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26554305.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26554274</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T07:51:16Z</published>
	<updated>2009-11-28T07:51:16Z</updated>
	<author>
		<name>Eric Blake</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;According to Thomas Dickey on 11/28/2009 8:40 AM:
&lt;br&gt;&amp;gt; well, in my view, not bothering to research a detail to provide an
&lt;br&gt;&amp;gt; accurate reply falls short of professional behavior.
&lt;br&gt;&lt;br&gt;You get the level of support that you pay for. &amp;nbsp;I need a more compelling
&lt;br&gt;reason to look at 2.13 than name-calling. &amp;nbsp;After all:
&lt;br&gt;&lt;br&gt;This is free software: you are free to change and redistribute it.
&lt;br&gt;There is NO WARRANTY, to the extent permitted by law.
&lt;br&gt;&lt;br&gt;- --
&lt;br&gt;Don't work too hard, make some time for fun as well!
&lt;br&gt;&lt;br&gt;Eric Blake &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26554274&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebb9@...&lt;/a&gt;
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (Cygwin)
&lt;br&gt;Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAksRRvQACgkQ84KuGfSFAYArfwCdGPPFO+dEEiG0D8NuziVxxhDl
&lt;br&gt;UYwAn0hizYYeuaIHQomAHxmjK13QWFBR
&lt;br&gt;=uSWg
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26554274&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26554274.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26554256</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T07:49:11Z</published>
	<updated>2009-11-28T07:49:11Z</updated>
	<author>
		<name>Eric Blake</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;According to Rasmus Lerdorf on 11/28/2009 8:23 AM:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; But again, what's wrong with the
&lt;br&gt;&amp;gt;&amp;gt; documented interfaces, or what is a specific example of a particular
&lt;br&gt;&amp;gt;&amp;gt; string that outputs in a different location in the --help output than
&lt;br&gt;&amp;gt;&amp;gt; where you want?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; We probably hold the world record for the most configure switches, so in
&lt;br&gt;&amp;gt; order to make it somewhat plausible to figure them all out, we
&lt;br&gt;&amp;gt; categorized them. &amp;nbsp;The help output from 2.13 looks like this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lerdorf.com/c.txt&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lerdorf.com/c.txt&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Getting the TSRM switches to show up under the TSRM section in 2.59+
&lt;br&gt;&amp;gt; isn't working, for example.
&lt;/div&gt;&lt;br&gt;Now we're getting somewhere. &amp;nbsp;From that file:
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp; --enable-zend-multibyte Compile with zend multibyte support
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; TSRM:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; --with-tsrm-pth[=pth-config]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Use GNU Pth
&lt;br&gt;&lt;br&gt;It appears that you are asking for a way to make all --help output appear
&lt;br&gt;in the same order in which you generate it, and to be able to intersperse
&lt;br&gt;text strings of your choosing in between strings generated by AC_ARG_WITH
&lt;br&gt;and AC_ARG_ENABLE.
&lt;br&gt;&lt;br&gt;First, it looks like you need to use AC_PRESERVE_HELP_ORDER (added in
&lt;br&gt;2.59c, so it will work for 2.65 but won't help you for 2.59 proper, but if
&lt;br&gt;that's the least of your worries, I can still help you with backporting it
&lt;br&gt;to 2.59 if you aren't willing to jump all the way to modern autoconf).
&lt;br&gt;&lt;br&gt;Then, at the place where you want TSRM: to appear (so probably just after
&lt;br&gt;you did AC_ARG_ENABLE([zend-multibyte],...), but before
&lt;br&gt;AC_ARG_WITH([tsrm-pth],...)), use:
&lt;br&gt;&lt;br&gt;m4_divert_text([HELP_ENABLE],
&lt;br&gt;[AS_ECHO([&amp;quot;
&lt;br&gt;TSRM:
&lt;br&gt;&amp;quot;])])
&lt;br&gt;&lt;br&gt;- --
&lt;br&gt;Don't work too hard, make some time for fun as well!
&lt;br&gt;&lt;br&gt;Eric Blake &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26554256&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebb9@...&lt;/a&gt;
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (Cygwin)
&lt;br&gt;Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAksRRnYACgkQ84KuGfSFAYAh/QCfeUaouMwPAEnaH8/oKQ0zMLLZ
&lt;br&gt;niIAoMtnLKe4qNuga+jVUDrBx8MK4ZCF
&lt;br&gt;=E5Nq
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26554256&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26554256.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26554191</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T07:40:33Z</published>
	<updated>2009-11-28T07:40:33Z</updated>
	<author>
		<name>Thomas Dickey-2</name>
	</author>
	<content type="html">On Sat, 28 Nov 2009, Eric Blake wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;&amp;gt; Hash: SHA1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; According to Thomas Dickey on 11/28/2009 8:26 AM:
&lt;br&gt;&amp;gt;&amp;gt; For more recent changes, one would assume you knew offhand the history.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; autoconf, and I have no interest in trying to make it work). &amp;nbsp;But, on the
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; that comment doesn't sound as if you looked at 2.13 before answering.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Exactly. &amp;nbsp;I haven't bothered to dig up 2.13, because it is morally
&lt;br&gt;&amp;gt; equivalent to digging up hacks needed to make K&amp;R compilers work - so
&lt;br&gt;&amp;gt; anachronistic and/or obsolete, that it isn't worth my time.
&lt;/div&gt;&lt;br&gt;well, in my view, not bothering to research a detail to provide an 
&lt;br&gt;accurate reply falls short of professional behavior.
&lt;br&gt;&lt;br&gt;awai
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Thomas E. Dickey
&lt;br&gt;&lt;a href=&quot;http://invisible-island.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://invisible-island.net&lt;/a&gt;&lt;br&gt;ftp://invisible-island.net
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26554191&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26554191.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26554165</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T07:38:11Z</published>
	<updated>2009-11-28T07:38:11Z</updated>
	<author>
		<name>Eric Blake</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;According to Thomas Dickey on 11/28/2009 8:26 AM:
&lt;br&gt;&amp;gt; For more recent changes, one would assume you knew offhand the history.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; autoconf, and I have no interest in trying to make it work). &amp;nbsp;But, on the
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; that comment doesn't sound as if you looked at 2.13 before answering.
&lt;br&gt;&lt;br&gt;Exactly. &amp;nbsp;I haven't bothered to dig up 2.13, because it is morally
&lt;br&gt;equivalent to digging up hacks needed to make K&amp;R compilers work - so
&lt;br&gt;anachronistic and/or obsolete, that it isn't worth my time.
&lt;br&gt;&lt;br&gt;- --
&lt;br&gt;Don't work too hard, make some time for fun as well!
&lt;br&gt;&lt;br&gt;Eric Blake &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26554165&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebb9@...&lt;/a&gt;
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (Cygwin)
&lt;br&gt;Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAksRQ+MACgkQ84KuGfSFAYAg0gCgqoTcR7cP8TIY3XOdw2Xp9JOB
&lt;br&gt;xcMAn1CX/PsuvTLUVWEsOBcpYpXieaOY
&lt;br&gt;=mUha
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26554165&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26554165.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26554077</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T07:26:58Z</published>
	<updated>2009-11-28T07:26:58Z</updated>
	<author>
		<name>Thomas Dickey-2</name>
	</author>
	<content type="html">On Sat, 28 Nov 2009, Eric Blake wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;&amp;gt; Hash: SHA1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; According to Rasmus Lerdorf on 11/28/2009 6:42 AM:
&lt;br&gt;&amp;gt;&amp;gt; Basically the diversions are there to organize the phases of the checks.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;From
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/configure.in?view=markup&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/configure.in?view=markup&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ## Diversion 1 is the autoconf + automake setup phase. We also
&lt;br&gt;&amp;gt;&amp;gt; ## set the PHP version, deal with platform-specific compile
&lt;br&gt;&amp;gt;&amp;gt; ## options and check for the basic compile tools.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Here's a thought. &amp;nbsp;I'm not sure whether the divert's were necessary in
&lt;br&gt;&amp;gt; autoconf 2.13 (that is so old that it pre-dates my involvement with
&lt;/div&gt;&lt;br&gt;2.13 uses diverts for help-messages, etc.
&lt;br&gt;&lt;br&gt;2.5x added more, later as part of duplicating the text with/without the
&lt;br&gt;--enable/--disable stuff.
&lt;br&gt;&lt;br&gt;For more recent changes, one would assume you knew offhand the history.
&lt;br&gt;&lt;br&gt;&amp;gt; autoconf, and I have no interest in trying to make it work). &amp;nbsp;But, on the
&lt;br&gt;&lt;br&gt;that comment doesn't sound as if you looked at 2.13 before answering.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Thomas E. Dickey
&lt;br&gt;&lt;a href=&quot;http://invisible-island.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://invisible-island.net&lt;/a&gt;&lt;br&gt;ftp://invisible-island.net
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26554077&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26554077.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26554052</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T07:23:12Z</published>
	<updated>2009-11-28T07:23:12Z</updated>
	<author>
		<name>Rasmus Lerdorf</name>
	</author>
	<content type="html">Eric Blake wrote:&amp;gt; configure --help output is a special case where
&lt;br&gt;diversion magic is
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; necessary. &amp;nbsp;Using diversion BODY is too late. &amp;nbsp;But what's wrong with using
&lt;br&gt;&amp;gt; the documented AC_ARG_ENABLE and AC_ARG_WITH, which properly manage the
&lt;br&gt;&amp;gt; diversions on your behalf? &amp;nbsp;Under the hood, they are using
&lt;br&gt;&amp;gt; m4_divert_text([HELP_ENABLE], [text]) or m4_divert_text([HELP_WITH]) to
&lt;br&gt;&amp;gt; output text into the --help stream. &amp;nbsp;So technically, if you needed to use
&lt;br&gt;&amp;gt; these (intentionally undocumented) named diversions, you could likewise
&lt;br&gt;&amp;gt; impact the --help output. &amp;nbsp;Reading lib/autoconf/general.m4 to learn about
&lt;br&gt;&amp;gt; named diversions may be useful. &amp;nbsp;But again, what's wrong with the
&lt;br&gt;&amp;gt; documented interfaces, or what is a specific example of a particular
&lt;br&gt;&amp;gt; string that outputs in a different location in the --help output than
&lt;br&gt;&amp;gt; where you want?
&lt;/div&gt;&lt;br&gt;We probably hold the world record for the most configure switches, so in
&lt;br&gt;order to make it somewhat plausible to figure them all out, we
&lt;br&gt;categorized them. &amp;nbsp;The help output from 2.13 looks like this:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://lerdorf.com/c.txt&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lerdorf.com/c.txt&lt;/a&gt;&lt;br&gt;&lt;br&gt;Getting the TSRM switches to show up under the TSRM section in 2.59+
&lt;br&gt;isn't working, for example.
&lt;br&gt;&lt;br&gt;-Rasmus
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26554052&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26554052.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26554009</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T07:18:44Z</published>
	<updated>2009-11-28T07:18:44Z</updated>
	<author>
		<name>Eric Blake</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;According to Rasmus Lerdorf on 11/28/2009 6:42 AM:
&lt;br&gt;&amp;gt; Basically the diversions are there to organize the phases of the checks.
&lt;br&gt;&amp;gt; &amp;nbsp;From
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/configure.in?view=markup&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/configure.in?view=markup&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ## Diversion 1 is the autoconf + automake setup phase. We also
&lt;br&gt;&amp;gt; ## set the PHP version, deal with platform-specific compile
&lt;br&gt;&amp;gt; ## options and check for the basic compile tools.
&lt;br&gt;&lt;br&gt;Here's a thought. &amp;nbsp;I'm not sure whether the divert's were necessary in
&lt;br&gt;autoconf 2.13 (that is so old that it pre-dates my involvement with
&lt;br&gt;autoconf, and I have no interest in trying to make it work). &amp;nbsp;But, on the
&lt;br&gt;premise that they were needed back then, but are causing problems now, why
&lt;br&gt;not just:
&lt;br&gt;&lt;br&gt;AC_DEFUN([PHP_DIVERT],[
&lt;br&gt;&amp;nbsp; &amp;nbsp;ifdef([AC_AUTOCONF_VERSION], [],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;divert($1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;])
&lt;br&gt;])
&lt;br&gt;&lt;br&gt;that is, only use the divert for the autoconf version that required the
&lt;br&gt;divert.
&lt;br&gt;&lt;br&gt;- --
&lt;br&gt;Don't work too hard, make some time for fun as well!
&lt;br&gt;&lt;br&gt;Eric Blake &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26554009&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebb9@...&lt;/a&gt;
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (Cygwin)
&lt;br&gt;Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAksRP1MACgkQ84KuGfSFAYCuqwCeKvLriJcUOso4GFVhNMO9BJYf
&lt;br&gt;xBAAoNaeyIIGrmw/Y1+fxOCiQIfraCbP
&lt;br&gt;=fVgb
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26554009&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26554009.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26553604</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T06:28:11Z</published>
	<updated>2009-11-28T06:28:11Z</updated>
	<author>
		<name>Eric Blake</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;According to Rasmus Lerdorf on 11/28/2009 6:42 AM:
&lt;br&gt;&amp;gt; Basically the diversions are there to organize the phases of the checks.
&lt;br&gt;&amp;gt; &amp;nbsp;From
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/configure.in?view=markup&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/configure.in?view=markup&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ## Diversion 1 is the autoconf + automake setup phase. We also
&lt;br&gt;&amp;gt; ## set the PHP version, deal with platform-specific compile
&lt;br&gt;&amp;gt; ## options and check for the basic compile tools.
&lt;br&gt;&lt;br&gt;Autoconf itself now uses multiple diversions under the hood for setup, and
&lt;br&gt;you cannot assume which diversion number is in use. &amp;nbsp;You can use named
&lt;br&gt;diversions to ease the pain. &amp;nbsp;The named diversion BODY is (currently)
&lt;br&gt;equivalent to 1000; that is the diversion that is used if you don't use
&lt;br&gt;m4_divert at all. &amp;nbsp;But WHY do you need diversions in the first place?
&lt;br&gt;Looking at the above link, EVERY one of the diversions occurs in textual
&lt;br&gt;order, meaning there is NO rearranging of the output text. &amp;nbsp;So everything
&lt;br&gt;you do will occur in the SAME order even if you don't play with raw
&lt;br&gt;diversions (unless I'm missing some diverts that you are using in
&lt;br&gt;secondary files being used with sinclude).
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ## Diversion 2 is the initial checking of OS features, programs,
&lt;br&gt;&amp;gt; ## libraries and so on.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ## In diversion 3 we check for compile-time options to the PHP
&lt;br&gt;&amp;gt; ## core and how to deal with different system dependencies.
&lt;br&gt;&amp;gt; ## This includes whether debugging or short tags are enabled
&lt;br&gt;&amp;gt; ## and the default behaviour of php.ini options.
&lt;br&gt;&amp;gt; ## This is also where a SAPI interface is selected (choosing between
&lt;br&gt;&amp;gt; ## Apache module, CGI etc.)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ## In diversion 4 we check user-configurable general settings.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ## In diversion 5 we check which extensions should be compiled.
&lt;br&gt;&amp;gt; ## All of these are normally in the extension directories.
&lt;br&gt;&amp;gt; ## Diversion 5 is the last one. &amp;nbsp;Here we generate files and clean up.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I changed these from 1-5 to 1001-1005, but that breaks the build under
&lt;br&gt;&amp;gt; 2.13 and even under 2.65 it messes up the output of configure --help
&lt;/div&gt;&lt;br&gt;configure --help output is a special case where diversion magic is
&lt;br&gt;necessary. &amp;nbsp;Using diversion BODY is too late. &amp;nbsp;But what's wrong with using
&lt;br&gt;the documented AC_ARG_ENABLE and AC_ARG_WITH, which properly manage the
&lt;br&gt;diversions on your behalf? &amp;nbsp;Under the hood, they are using
&lt;br&gt;m4_divert_text([HELP_ENABLE], [text]) or m4_divert_text([HELP_WITH]) to
&lt;br&gt;output text into the --help stream. &amp;nbsp;So technically, if you needed to use
&lt;br&gt;these (intentionally undocumented) named diversions, you could likewise
&lt;br&gt;impact the --help output. &amp;nbsp;Reading lib/autoconf/general.m4 to learn about
&lt;br&gt;named diversions may be useful. &amp;nbsp;But again, what's wrong with the
&lt;br&gt;documented interfaces, or what is a specific example of a particular
&lt;br&gt;string that outputs in a different location in the --help output than
&lt;br&gt;where you want?
&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I would love to get off of 2.13, but it would be easier to do if I had a
&lt;br&gt;&amp;gt; migration phase where things worked in both.
&lt;br&gt;&lt;br&gt;Good luck with that. &amp;nbsp;2.13 is so old, that it may be easier to not try
&lt;br&gt;this approach, and just bite the bullet and use the newer release. &amp;nbsp;Ask
&lt;br&gt;the gcc folks how they did their conversion from 2.13 to 2.5x.
&lt;br&gt;&lt;br&gt;&amp;gt; As far as my little naiive attempt at replacing my divert() calls with a
&lt;br&gt;&amp;gt; little macro that will use different diversions in 2.65 go, changing it
&lt;br&gt;&amp;gt; to use m4_divert() didn't make a difference. &amp;nbsp;And I don't really
&lt;br&gt;&amp;gt; understand how I messed up the diversion stack.
&lt;br&gt;&lt;br&gt;The diversion stack tracks which diversion you were in. &amp;nbsp;After AC_INIT,
&lt;br&gt;the stack looks like:
&lt;br&gt;&lt;br&gt;KILL (aka -1)
&lt;br&gt;BODY (aka 1000)
&lt;br&gt;&lt;br&gt;calling m4_divert(1001) is the equivalent of calling
&lt;br&gt;m4_divert_pop()m4_divert_push(1001), leaving the stack at:
&lt;br&gt;&lt;br&gt;KILL
&lt;br&gt;1001
&lt;br&gt;&lt;br&gt;But autoconf expects the stack to be on BODY when you exit. &amp;nbsp;Since 1001 is
&lt;br&gt;not BODY, you have broken the stack behind autoconf's back.
&lt;br&gt;&lt;br&gt;&amp;gt; Why does that change the stack? &amp;nbsp;Shouldn't it still be pushing those
&lt;br&gt;&amp;gt; diversions onto the stack in exactly the same order or is there some m4
&lt;br&gt;&amp;gt; scoping thing going on?
&lt;br&gt;&lt;br&gt;You should consider using m4_divert_push/m4_divert_pop rather than
&lt;br&gt;m4_divert; but if you must use m4_divert, then remember to change
&lt;br&gt;m4_divert back to the diversion that was in use before you started
&lt;br&gt;changing diversions behind autoconf's back. &amp;nbsp;Also, you may be interested
&lt;br&gt;in m4_divert_text, which is a friendlier wrapper that automatically puts
&lt;br&gt;text in the right diversion, then restores the diversion stack.
&lt;br&gt;&lt;br&gt;- --
&lt;br&gt;Don't work too hard, make some time for fun as well!
&lt;br&gt;&lt;br&gt;Eric Blake &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26553604&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebb9@...&lt;/a&gt;
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (Cygwin)
&lt;br&gt;Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAksRM3sACgkQ84KuGfSFAYC8VQCg1NePCMfjRRW0xu0NlM3pTiHI
&lt;br&gt;AtcAoKTxXRCfk6HbOW7hkeyhwm7KKVy3
&lt;br&gt;=yPZm
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26553604&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26553604.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26553238</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T05:42:38Z</published>
	<updated>2009-11-28T05:42:38Z</updated>
	<author>
		<name>Rasmus Lerdorf</name>
	</author>
	<content type="html">Eric Blake wrote:
&lt;br&gt;&amp;gt; What exactly are you trying to accomplish? &amp;nbsp;Without knowing your end goal,
&lt;br&gt;&amp;gt; I can't properly suggest a better alternative (and note that the better
&lt;br&gt;&amp;gt; alternative might mean using a different interface altogether). &amp;nbsp;It may be
&lt;br&gt;&amp;gt; better off to use the documented interface of m4_divert_text or a proper
&lt;br&gt;&amp;gt; use of AC_REQUIRE to cause the topological sorting necessary to achieve
&lt;br&gt;&amp;gt; your desired output order, without having to rely on raw diversions.
&lt;br&gt;&lt;br&gt;Basically the diversions are there to organize the phases of the checks.
&lt;br&gt;&amp;nbsp;From
&lt;br&gt;&lt;a href=&quot;http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/configure.in?view=markup&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/configure.in?view=markup&lt;/a&gt;&lt;br&gt;&lt;br&gt;## Diversion 1 is the autoconf + automake setup phase. We also
&lt;br&gt;## set the PHP version, deal with platform-specific compile
&lt;br&gt;## options and check for the basic compile tools.
&lt;br&gt;&lt;br&gt;## Diversion 2 is the initial checking of OS features, programs,
&lt;br&gt;## libraries and so on.
&lt;br&gt;&lt;br&gt;## In diversion 3 we check for compile-time options to the PHP
&lt;br&gt;## core and how to deal with different system dependencies.
&lt;br&gt;## This includes whether debugging or short tags are enabled
&lt;br&gt;## and the default behaviour of php.ini options.
&lt;br&gt;## This is also where a SAPI interface is selected (choosing between
&lt;br&gt;## Apache module, CGI etc.)
&lt;br&gt;&lt;br&gt;## In diversion 4 we check user-configurable general settings.
&lt;br&gt;&lt;br&gt;## In diversion 5 we check which extensions should be compiled.
&lt;br&gt;## All of these are normally in the extension directories.
&lt;br&gt;## Diversion 5 is the last one. &amp;nbsp;Here we generate files and clean up.
&lt;br&gt;&lt;br&gt;I changed these from 1-5 to 1001-1005, but that breaks the build under
&lt;br&gt;2.13 and even under 2.65 it messes up the output of configure --help
&lt;br&gt;&lt;br&gt;I would love to get off of 2.13, but it would be easier to do if I had a
&lt;br&gt;migration phase where things worked in both. &amp;nbsp;As it is there is a strong
&lt;br&gt;faction that is of the opinion that everything works fine in 2.13, and
&lt;br&gt;it all breaks in 2.65, so we'll just stick to 2.13 forever since
&lt;br&gt;fiddling with m4 scripts isn't a whole lot of fun.
&lt;br&gt;&lt;br&gt;As far as my little naiive attempt at replacing my divert() calls with a
&lt;br&gt;little macro that will use different diversions in 2.65 go, changing it
&lt;br&gt;to use m4_divert() didn't make a difference. &amp;nbsp;And I don't really
&lt;br&gt;understand how I messed up the diversion stack. &amp;nbsp;All I am doing is
&lt;br&gt;replacing a direct call to divert(1) with a call to PHP_DIVERT(1) where
&lt;br&gt;PHP_DIVERT is now:
&lt;br&gt;&lt;br&gt;AC_DEFUN([PHP_DIVERT],[
&lt;br&gt;&amp;nbsp; &amp;nbsp;ifdef([AC_AUTOCONF_VERSION],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m4_case([$1],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[1],[m4_divert(1001)],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[2],[m4_divert(1002)],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[3],[m4_divert(1003)],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[4],[m4_divert(1004)],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[5],[m4_divert(1005)])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m4_divert($1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;])
&lt;br&gt;])
&lt;br&gt;&lt;br&gt;Why does that change the stack? &amp;nbsp;Shouldn't it still be pushing those
&lt;br&gt;diversions onto the stack in exactly the same order or is there some m4
&lt;br&gt;scoping thing going on?
&lt;br&gt;&lt;br&gt;-Rasmus
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26553238&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26553238.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26552977</id>
	<title>Re: regression in autoconf 2.65 ?</title>
	<published>2009-11-28T05:02:36Z</published>
	<updated>2009-11-28T05:02:36Z</updated>
	<author>
		<name>Eric Blake</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;According to Vincent Torri on 11/27/2009 3:26 PM:
&lt;br&gt;&amp;gt; AC_DEFUN([EVAS_CHECK_IMAGE_LOADER],
&lt;br&gt;&amp;gt; [
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; m4_pushdef([UP], m4_toupper([[$1]]))
&lt;br&gt;&amp;gt; m4_pushdef([DOWN], m4_tolower([[$1]]))
&lt;br&gt;&lt;br&gt;See my other mail - the quoting of m4_toupper changed, so losing the extra
&lt;br&gt;layer of quotes will probably resolve this issue, too.
&lt;br&gt;&lt;br&gt;&amp;gt; AC_MSG_CHECKING([whether to enable $1 image loader])
&lt;br&gt;&amp;gt; AC_MSG_RESULT([${want_loader}])
&lt;br&gt;&lt;br&gt;Stylistic point - it is simpler to use $want_loader rather than
&lt;br&gt;${want_loader} in this case. &amp;nbsp;And there are some places in autoconf code
&lt;br&gt;where indirection requires the former instead of the latter (for example,
&lt;br&gt;in config.log, autoconf decides whether to expand or escape $ sequences
&lt;br&gt;when outputting a line about what is about to be executed); in those
&lt;br&gt;cases, autoconf will expand $want_loader, but refuses to expand anything
&lt;br&gt;containing &amp;quot;${&amp;quot; because it would be unsafe to attempt expansion of
&lt;br&gt;${foo-`command`}.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; if test &amp;quot;x${want_loader}&amp;quot; = &amp;quot;xyes&amp;quot; -o &amp;quot;x${want_loader}&amp;quot; = &amp;quot;xstatic&amp;quot; -o
&lt;br&gt;&amp;gt; &amp;quot;x${want_loader}&amp;quot; = &amp;quot;xauto&amp;quot;; then
&lt;br&gt;&lt;br&gt;Portability bug. &amp;nbsp;Not all shells support test -o. &amp;nbsp;And on those that do,
&lt;br&gt;you risk failure if one of the strings being compared looks like an
&lt;br&gt;operator recognized by test. &amp;nbsp;The manual recommends that you write this as:
&lt;br&gt;&lt;br&gt;if test &amp;quot;x$want_loader&amp;quot; = xyes || test &amp;quot;x$want_loader&amp;quot; = xstatic \
&lt;br&gt;&amp;nbsp; || test &amp;quot;x$want_loader&amp;quot; = xauto; then
&lt;br&gt;&lt;br&gt;&amp;gt; if test &amp;quot;x${have_dep}&amp;quot; = &amp;quot;xyes&amp;quot; ; then
&lt;br&gt;&amp;gt; &amp;nbsp; m4_default([$3], [:])
&lt;br&gt;&amp;gt; else
&lt;br&gt;&amp;gt; &amp;nbsp; m4_default([$4], [:])
&lt;br&gt;&amp;gt; fi
&lt;br&gt;&lt;br&gt;This could be written as AS_IF([test &amp;quot;x$have_dep&amp;quot; = xyes], [$3], [$4]) to
&lt;br&gt;be more compact (and to avoid an unused branch of the if, when $4 is empty).
&lt;br&gt;&lt;br&gt;&amp;gt; Is it a problem in the m4 code (then older autoconf were less strict) ?
&lt;br&gt;&amp;gt; Or is it a problem in the 2.65 version of autoconf ?
&lt;br&gt;&lt;br&gt;Rather, a documented change in semantics of m4_toupper in autoconf 2.65.
&lt;br&gt;&lt;br&gt;- --
&lt;br&gt;Don't work too hard, make some time for fun as well!
&lt;br&gt;&lt;br&gt;Eric Blake &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26552977&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebb9@...&lt;/a&gt;
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (Cygwin)
&lt;br&gt;Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAksRH2wACgkQ84KuGfSFAYD+GwCfdZvQIa3YTu6fgKbdrnxl9PEg
&lt;br&gt;E34AoKK7lIHH5jdQw2JZbgpM9RIV/v/A
&lt;br&gt;=L0iH
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26552977&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/regression-in-autoconf-2.65---tp26548611p26552977.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26552876</id>
	<title>Re: regression in autoconf 2.65 ?</title>
	<published>2009-11-28T04:51:26Z</published>
	<updated>2009-11-28T04:51:26Z</updated>
	<author>
		<name>Eric Blake</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;According to Vincent Torri on 11/28/2009 2:22 AM:
&lt;br&gt;&amp;gt; AC_DEFUN([ECORE_CHECK_MODULE],
&lt;br&gt;&amp;gt; [
&lt;br&gt;&amp;gt; m4_pushdef([UP], m4_toupper([[$1]]))dnl
&lt;br&gt;&amp;gt; m4_pushdef([DOWN], m4_tolower([[$1]]))dnl
&lt;br&gt;&lt;br&gt;Lose the extra quotes. &amp;nbsp;Per the NEWS, m4_toupper and m4_tolower now
&lt;br&gt;properly quote their expansion. &amp;nbsp;So you need:
&lt;br&gt;&lt;br&gt;m4_pushdef([UP], m4_toupper([$1]))dnl
&lt;br&gt;m4_pushdef([DOWN], m4_tolower([$1]))dnl
&lt;br&gt;&lt;br&gt;and everything else should fall into place. &amp;nbsp;For example,
&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; have_ecore_[]m4_defn([DOWN])=no
&lt;br&gt;&lt;br&gt;with the extra quotes, this line was producing
&lt;br&gt;have_ecore_foo[foo]=no
&lt;br&gt;instead of the intended
&lt;br&gt;have_ecore_foo=no
&lt;br&gt;&lt;br&gt;Sorry that this is a backwards-incompatible change, but we did document
&lt;br&gt;it, and it makes m4_toupper more consistent with other m4sugar text
&lt;br&gt;manipulation macros, in that it does not spuriously cause macro expansion
&lt;br&gt;of the resulting text if the case-change happens to name an existing macro.
&lt;br&gt;&lt;br&gt;In order to write a configure.ac script that will work with both 2.64 and
&lt;br&gt;younger, and with 2.65, you will need a wrapper function. &amp;nbsp;Here's one way
&lt;br&gt;to write it:
&lt;br&gt;&lt;br&gt;m4_pushdef([AAA],[BBB])dnl
&lt;br&gt;m4_if(m4_toupper([aaa]),[BBB],
&lt;br&gt;&amp;nbsp; [m4_define([my_toupper],[m4_toupper([[$1]])])],
&lt;br&gt;&amp;nbsp; [m4_copy([m4_toupper], [my_toupper])])
&lt;br&gt;m4_popdef([AAA])
&lt;br&gt;&lt;br&gt;and likewise for m4_tolower; then use my_toupper instead of m4_toupper.
&lt;br&gt;&lt;br&gt;- --
&lt;br&gt;Don't work too hard, make some time for fun as well!
&lt;br&gt;&lt;br&gt;Eric Blake &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26552876&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebb9@...&lt;/a&gt;
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (Cygwin)
&lt;br&gt;Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAksRHM4ACgkQ84KuGfSFAYCRowCfexlfAt/MutExPK+254LDe2lR
&lt;br&gt;GaMAoK7548FrWALelGWdeD0o9MQUe1CI
&lt;br&gt;=SoNg
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26552876&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/regression-in-autoconf-2.65---tp26548611p26552876.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26552825</id>
	<title>Re: Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-28T04:42:32Z</published>
	<updated>2009-11-28T04:42:32Z</updated>
	<author>
		<name>Eric Blake</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;According to Rasmus Lerdorf on 11/28/2009 12:35 AM:
&lt;br&gt;&amp;gt; Having plenty of problems getting our old 2.13-based autoconf setup
&lt;br&gt;&amp;gt; working under the new diversions in 2.6
&lt;br&gt;&lt;br&gt;There is no version 2.6, but there is 2.65.
&lt;br&gt;&lt;br&gt;What exactly are you trying to accomplish? &amp;nbsp;Without knowing your end goal,
&lt;br&gt;I can't properly suggest a better alternative (and note that the better
&lt;br&gt;alternative might mean using a different interface altogether). &amp;nbsp;It may be
&lt;br&gt;better off to use the documented interface of m4_divert_text or a proper
&lt;br&gt;use of AC_REQUIRE to cause the topological sorting necessary to achieve
&lt;br&gt;your desired output order, without having to rely on raw diversions.
&lt;br&gt;&lt;br&gt;&amp;gt; AC_DEFUN([PHP_DIVERT],[
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;ifdef([AC_AUTOCONF_VERSION],
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m4_case([$1],
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[1],[divert(1001)],
&lt;br&gt;&lt;br&gt;Use of m4_divert is better than plain divert, in that it makes it obvious
&lt;br&gt;that you are using a known m4 macro. &amp;nbsp;But using m4_divert at all is
&lt;br&gt;generally asking for problems. &amp;nbsp;Also, I'm nearly complete with a patch for
&lt;br&gt;the next autoconf that will complain loudly if you use a raw number
&lt;br&gt;instead of a named diversion (and the manual will probably not document
&lt;br&gt;how to create named diversions, so you would have to read the source code
&lt;br&gt;for that).
&lt;br&gt;&lt;br&gt;&amp;gt; configure.in:4: error: m4_divert_pop(GROW): diversion mismatch:
&lt;br&gt;&amp;gt; configure.in:4: m4_divert: 1001
&lt;br&gt;&amp;gt; ../../lib/m4sugar/m4sugar.m4:3251: m4_divert_push: KILL
&lt;br&gt;&amp;gt; autom4te: /usr/bin/m4 failed with exit status: 1
&lt;br&gt;&lt;br&gt;Have you read this thread yet?
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/archive/html/bug-autoconf/2009-11/msg00045.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/archive/html/bug-autoconf/2009-11/msg00045.html&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/archive/html/bug-autoconf/2009-11/msg00057.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/archive/html/bug-autoconf/2009-11/msg00057.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;That error message is symptomatic of breaking the diversion stack behind
&lt;br&gt;autoconf's back. &amp;nbsp;In other words, autoconf expected to be in the GROW
&lt;br&gt;diversion, but instead found itself in diversion 1001. &amp;nbsp;It may be possible
&lt;br&gt;to avoid that error with a well-placed m4_divert([GROW]) before the end of
&lt;br&gt;your file, but I can't even guarantee that that will give your desired
&lt;br&gt;output ordering without seeing how you are using PHP_DIVERT.
&lt;br&gt;&lt;br&gt;&amp;gt; There must be a better way to map 2.13 behaviour to 2.6. &amp;nbsp;Has anybody
&lt;br&gt;&amp;gt; tackled this?
&lt;br&gt;&lt;br&gt;I don't know what behavior you were expecting in 2.13, but that is so old
&lt;br&gt;and interfaces have changed so much since then, including several bug
&lt;br&gt;fixes, which, when not fixed, could lead to the silent output of an
&lt;br&gt;invalid script for the majority of configure.ac that did not directly use
&lt;br&gt;m4_divert in the first place. &amp;nbsp;Personally, I won't maintain compatibility
&lt;br&gt;with anything older than 2.59; 2.13 is so old that it is not worth even
&lt;br&gt;trying to make a configure.ac still work with something that old. &amp;nbsp;Since
&lt;br&gt;m4_divert is already documented as a seldom-needed interface, I had no
&lt;br&gt;qualms about making it more robust, even though it caused regressions for
&lt;br&gt;the few people that were previously using it in an unsafe manner. &amp;nbsp;The
&lt;br&gt;number of configure.ac that directly played with diversions is small
&lt;br&gt;(perhaps PHP was the only culprit). &amp;nbsp;I'd like to help you fix that
&lt;br&gt;breakage, but I can't/won't fix it until I know why the use of explicit
&lt;br&gt;diversion management seems to be the only way to achieve your end goal.
&lt;br&gt;&lt;br&gt;The current manual states that playing with diversions is dangerous (it's
&lt;br&gt;better to use AC_REQUIRE or m4_divert_text to a known diversion to
&lt;br&gt;accomplish those goals instead), and I'm still working on a patch to make
&lt;br&gt;the manual even more explicit that use of m4_divert without proper
&lt;br&gt;maintenance of the diversion stack is discouraged, and that calling ANY
&lt;br&gt;autoconf macro while the diversion stack is not in its usual state is
&lt;br&gt;risking syntax errors in the resulting script.
&lt;br&gt;&lt;br&gt;- --
&lt;br&gt;Don't work too hard, make some time for fun as well!
&lt;br&gt;&lt;br&gt;Eric Blake &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26552825&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebb9@...&lt;/a&gt;
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (Cygwin)
&lt;br&gt;Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAksRGrgACgkQ84KuGfSFAYDT/QCfeX2JaHPs1wC8NPw7zdVp3S2H
&lt;br&gt;aWQAoI+vOcl0naYbQ/LRSmEghN23LHfP
&lt;br&gt;=BdIi
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26552825&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26552825.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26551465</id>
	<title>Re: regression in autoconf 2.65 ?</title>
	<published>2009-11-28T01:22:34Z</published>
	<updated>2009-11-28T01:22:34Z</updated>
	<author>
		<name>Vincent Torri-2</name>
	</author>
	<content type="html">&lt;br&gt;Hey
&lt;br&gt;&lt;br&gt;another simpler example of m4 macro that fails with autoconf 2.65.
&lt;br&gt;&lt;br&gt;Error:
&lt;br&gt;&lt;br&gt;configure.ac:791: error: AC_SUBST: `ecore_[job]_cflags' is not a valid shell variable name
&lt;br&gt;m4/ecore_check_module.m4:2: ECORE_CHECK_MODULE is expanded from...
&lt;br&gt;&lt;br&gt;Call:
&lt;br&gt;&lt;br&gt;ECORE_CHECK_MODULE([Job], [${want_ecore_job}])
&lt;br&gt;&lt;br&gt;Macro:
&lt;br&gt;&lt;br&gt;AC_DEFUN([ECORE_CHECK_MODULE],
&lt;br&gt;[
&lt;br&gt;m4_pushdef([UP], m4_toupper([[$1]]))dnl
&lt;br&gt;m4_pushdef([DOWN], m4_tolower([[$1]]))dnl
&lt;br&gt;&lt;br&gt;have_ecore_[]m4_defn([DOWN])=no
&lt;br&gt;ecore_[]m4_defn([DOWN])[]_cflags=
&lt;br&gt;ecore_[]m4_defn([DOWN])[]_libs=
&lt;br&gt;want_module=$2
&lt;br&gt;&lt;br&gt;AC_ARG_ENABLE(ecore-[]m4_defn([DOWN]),
&lt;br&gt;&amp;nbsp; &amp;nbsp; [AC_HELP_STRING(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [--enable-ecore-[]m4_defn([DOWN])],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [enable the ecore_]m4_defn([DOWN])[ module. [[default=disabled]]])],
&lt;br&gt;&amp;nbsp; &amp;nbsp; [want_module=$enableval],
&lt;br&gt;&amp;nbsp; &amp;nbsp; [want_module=no])
&lt;br&gt;&lt;br&gt;AC_MSG_CHECKING([whether ecore_]m4_defn([DOWN])[ module is to be built])
&lt;br&gt;&lt;br&gt;if test &amp;quot;x${want_module}&amp;quot; = &amp;quot;xyes&amp;quot; ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; if test &amp;quot;x$3&amp;quot; = &amp;quot;x&amp;quot; -o &amp;quot;x$3&amp;quot; = &amp;quot;xyes&amp;quot; ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC_DEFINE([BUILD_ECORE_]m4_defn([UP]), [1], [Build Ecore_$1 Module])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;have_ecore_[]m4_defn([DOWN])=&amp;quot;yes&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ecore_[]m4_defn([DOWN])[]_libs=&amp;quot;-lecore_[]m4_defn([DOWN])&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC_MSG_RESULT([yes])
&lt;br&gt;&amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC_MSG_RESULT([no (dependency failed)])
&lt;br&gt;&amp;nbsp; &amp;nbsp; fi
&lt;br&gt;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; AC_MSG_RESULT([no])
&lt;br&gt;fi
&lt;br&gt;&lt;br&gt;AM_CONDITIONAL([BUILD_ECORE_]UP, [test &amp;quot;x$have_ecore_]DOWN[&amp;quot; = &amp;quot;xyes&amp;quot;])
&lt;br&gt;&lt;br&gt;if test &amp;quot;x$have_ecore_[]m4_defn([DOWN])&amp;quot; = &amp;quot;xyes&amp;quot; ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; m4_default([$4], [:])
&lt;br&gt;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; m4_default([$5], [:])
&lt;br&gt;fi
&lt;br&gt;&lt;br&gt;AC_SUBST(ecore_[]m4_defn([DOWN])[]_cflags)
&lt;br&gt;AC_SUBST(ecore_[]m4_defn([DOWN])[]_libs)
&lt;br&gt;&lt;br&gt;m4_popdef([UP])
&lt;br&gt;m4_popdef([DOWN])
&lt;br&gt;])
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26551465&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/regression-in-autoconf-2.65---tp26548611p26551465.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26551048</id>
	<title>Quick divert() 2.13/2.6x portability macro</title>
	<published>2009-11-27T23:35:01Z</published>
	<updated>2009-11-27T23:35:01Z</updated>
	<author>
		<name>Rasmus Lerdorf</name>
	</author>
	<content type="html">Having plenty of problems getting our old 2.13-based autoconf setup
&lt;br&gt;working under the new diversions in 2.6
&lt;br&gt;&lt;br&gt;I tried an initial naiive approach of simply wrapping divert in a
&lt;br&gt;version check like this:
&lt;br&gt;&lt;br&gt;AC_DEFUN([PHP_DIVERT],[
&lt;br&gt;&amp;nbsp; &amp;nbsp;ifdef([AC_AUTOCONF_VERSION],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m4_case([$1],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[1],[divert(1001)],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[2],[divert(1002)],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[3],[divert(1003)],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[4],[divert(1004)],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[5],[divert(1005)])
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;],
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;divert($1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;])
&lt;br&gt;])
&lt;br&gt;&lt;br&gt;Under 2.13 it seems happy enough with it, but with 2.64 I get:
&lt;br&gt;&lt;br&gt;configure.in:4: error: m4_divert_pop(GROW): diversion mismatch:
&lt;br&gt;configure.in:4: m4_divert: 1001
&lt;br&gt;../../lib/m4sugar/m4sugar.m4:3251: m4_divert_push: KILL
&lt;br&gt;autom4te: /usr/bin/m4 failed with exit status: 1
&lt;br&gt;&lt;br&gt;There must be a better way to map 2.13 behaviour to 2.6. &amp;nbsp;Has anybody
&lt;br&gt;tackled this?
&lt;br&gt;&lt;br&gt;-Rasmus
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26551048&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Quick-divert%28%29-2.13-2.6x-portability-macro-tp26551048p26551048.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26548611</id>
	<title>regression in autoconf 2.65 ?</title>
	<published>2009-11-27T14:26:44Z</published>
	<updated>2009-11-27T14:26:44Z</updated>
	<author>
		<name>Vincent Torri-2</name>
	</author>
	<content type="html">&lt;br&gt;Hey,
&lt;br&gt;&lt;br&gt;one of our configure script fails with autoconf 2.65 while it does not 
&lt;br&gt;with previous versions. The error is:
&lt;br&gt;&lt;br&gt;./configure: line 24198: syntax error near unexpected token `edb,'
&lt;br&gt;./configure: line 24198: ` &amp;nbsp; EVAS_CHECK_LOADER_DEP_EDB(edb, ${want_loader}, have_loader=&amp;quot;yes&amp;quot;, have_loader=&amp;quot;no&amp;quot;)'
&lt;br&gt;&lt;br&gt;The macro EVAS_CHECK_LOADER_DEP_EDB() is called indirectly. In 
&lt;br&gt;configure.ac :
&lt;br&gt;&lt;br&gt;EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
&lt;br&gt;&lt;br&gt;The EVAS_CHECK_IMAGE_LOADER() macro is defined in an m4 file:
&lt;br&gt;&lt;br&gt;[code]
&lt;br&gt;&lt;br&gt;dnl use: EVAS_CHECK_IMAGE_LOADER(loader, want_loader)
&lt;br&gt;&lt;br&gt;AC_DEFUN([EVAS_CHECK_IMAGE_LOADER],
&lt;br&gt;[
&lt;br&gt;&lt;br&gt;m4_pushdef([UP], m4_toupper([[$1]]))
&lt;br&gt;m4_pushdef([DOWN], m4_tolower([[$1]]))
&lt;br&gt;&lt;br&gt;want_loader=&amp;quot;$2&amp;quot;
&lt;br&gt;want_static_loader=&amp;quot;no&amp;quot;
&lt;br&gt;have_loader=&amp;quot;no&amp;quot;
&lt;br&gt;have_evas_image_loader_[]DOWN=&amp;quot;no&amp;quot;
&lt;br&gt;&lt;br&gt;AC_ARG_ENABLE([image-loader-[]DOWN],
&lt;br&gt;&amp;nbsp; &amp;nbsp; [AC_HELP_STRING([--enable-image-loader-[]DOWN], [enable $1 image loader])],
&lt;br&gt;&amp;nbsp; &amp;nbsp; [
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if test &amp;quot;x${enableval}&amp;quot; = &amp;quot;xyes&amp;quot; ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; want_loader=&amp;quot;yes&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if test &amp;quot;x${enableval}&amp;quot; = &amp;quot;xstatic&amp;quot; ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;want_loader=&amp;quot;static&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;want_loader=&amp;quot;no&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fi
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fi
&lt;br&gt;&amp;nbsp; &amp;nbsp; ]
&lt;br&gt;)
&lt;br&gt;&lt;br&gt;AC_MSG_CHECKING([whether to enable $1 image loader])
&lt;br&gt;AC_MSG_RESULT([${want_loader}])
&lt;br&gt;&lt;br&gt;if test &amp;quot;x${want_loader}&amp;quot; = &amp;quot;xyes&amp;quot; -o &amp;quot;x${want_loader}&amp;quot; = &amp;quot;xstatic&amp;quot; -o &amp;quot;x${want_loader}&amp;quot; = &amp;quot;xauto&amp;quot;; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; m4_default([EVAS_CHECK_LOADER_DEP_]m4_defn([UP]))(DOWN, ${want_loader}, [have_loader=&amp;quot;yes&amp;quot;], [have_loader=&amp;quot;no&amp;quot;])
&lt;br&gt;fi
&lt;br&gt;&lt;br&gt;if test &amp;quot;x${have_loader}&amp;quot; = &amp;quot;xno&amp;quot; -a &amp;quot;x${want_loader}&amp;quot; = &amp;quot;xyes&amp;quot; -a &amp;quot;x${use_strict}&amp;quot; = &amp;quot;xyes&amp;quot; ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; AC_MSG_ERROR([$1 dependencies not found (strict dependencies checking)])
&lt;br&gt;fi
&lt;br&gt;&lt;br&gt;AC_MSG_CHECKING([whether $1 image loader will be built])
&lt;br&gt;AC_MSG_RESULT([${have_loader}])
&lt;br&gt;&lt;br&gt;if test &amp;quot;x${have_loader}&amp;quot; = &amp;quot;xyes&amp;quot; ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; if test &amp;quot;x${want_loader}&amp;quot; = &amp;quot;xstatic&amp;quot; ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;have_evas_image_loader_[]DOWN=&amp;quot;static&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;want_static_loader=&amp;quot;yes&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;have_evas_image_loader_[]DOWN=&amp;quot;yes&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; fi
&lt;br&gt;fi
&lt;br&gt;&lt;br&gt;if test &amp;quot;x${have_loader}&amp;quot; = &amp;quot;xyes&amp;quot; ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; AC_DEFINE(BUILD_LOADER_[]UP, [1], [UP Image Loader Support])
&lt;br&gt;fi
&lt;br&gt;&lt;br&gt;AM_CONDITIONAL(BUILD_LOADER_[]UP, [test &amp;quot;x${have_loader}&amp;quot; = &amp;quot;xyes&amp;quot;])
&lt;br&gt;&lt;br&gt;if test &amp;quot;x${want_static_loader}&amp;quot; = &amp;quot;xyes&amp;quot; ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; AC_DEFINE(EVAS_STATIC_BUILD_[]UP, [1], [Build $1 image loader inside libevas])
&lt;br&gt;&amp;nbsp; &amp;nbsp; have_static_module=&amp;quot;yes&amp;quot;
&lt;br&gt;fi
&lt;br&gt;&lt;br&gt;AM_CONDITIONAL(EVAS_STATIC_BUILD_[]UP, [test &amp;quot;x${want_static_loader}&amp;quot; = 
&lt;br&gt;&amp;quot;xyes&amp;quot;])
&lt;br&gt;&lt;br&gt;m4_popdef([UP])
&lt;br&gt;m4_popdef([DOWN])
&lt;br&gt;&lt;br&gt;])
&lt;br&gt;&lt;br&gt;[/code]
&lt;br&gt;&lt;br&gt;Tha macro calls EVAS_CHECK_LOADER_DEP_EDB() which is defined in the same 
&lt;br&gt;m4 file:
&lt;br&gt;&lt;br&gt;[code]
&lt;br&gt;&lt;br&gt;dnl use: EVAS_CHECK_LOADER_DEP_EDB(loader, want_static[, ACTION-IF-FOUND[, 
&lt;br&gt;ACTION-IF-NOT-FOUND]])
&lt;br&gt;&lt;br&gt;AC_DEFUN([EVAS_CHECK_LOADER_DEP_EDB],
&lt;br&gt;[
&lt;br&gt;&lt;br&gt;requirement=&amp;quot;&amp;quot;
&lt;br&gt;have_dep=&amp;quot;no&amp;quot;
&lt;br&gt;evas_image_loader_[]$1[]_cflags=&amp;quot;&amp;quot;
&lt;br&gt;evas_image_loader_[]$1[]_libs=&amp;quot;&amp;quot;
&lt;br&gt;&lt;br&gt;PKG_CHECK_MODULES([EDB], [edb], [have_dep=&amp;quot;yes&amp;quot; requirement=&amp;quot;edb&amp;quot;], 
&lt;br&gt;[have_dep=&amp;quot;no&amp;quot;])
&lt;br&gt;evas_image_loader_[]$1[]_cflags=&amp;quot;${EDB_CFLAGS}&amp;quot;
&lt;br&gt;evas_image_loader_[]$1[]_libs=&amp;quot;${EDB_LIBS}&amp;quot;
&lt;br&gt;&lt;br&gt;AC_SUBST([evas_image_loader_$1_cflags])
&lt;br&gt;AC_SUBST([evas_image_loader_$1_libs])
&lt;br&gt;&lt;br&gt;if test &amp;quot;x$2&amp;quot; = &amp;quot;xstatic&amp;quot; ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp; requirement_evas=&amp;quot;${requirement} ${requirement_evas}&amp;quot;
&lt;br&gt;fi
&lt;br&gt;&lt;br&gt;if test &amp;quot;x${have_dep}&amp;quot; = &amp;quot;xyes&amp;quot; ; then
&lt;br&gt;&amp;nbsp; &amp;nbsp;m4_default([$3], [:])
&lt;br&gt;else
&lt;br&gt;&amp;nbsp; &amp;nbsp;m4_default([$4], [:])
&lt;br&gt;fi
&lt;br&gt;&lt;br&gt;])
&lt;br&gt;&lt;br&gt;[/code]
&lt;br&gt;&lt;br&gt;So I don't understand why the expansion is not done.
&lt;br&gt;&lt;br&gt;Is it a problem in the m4 code (then older autoconf were less strict) ? Or 
&lt;br&gt;is it a problem in the 2.65 version of autoconf ?
&lt;br&gt;&lt;br&gt;thank you
&lt;br&gt;&lt;br&gt;Vincent Torri
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26548611&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/regression-in-autoconf-2.65---tp26548611p26548611.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26546540</id>
	<title>Re: libpthread check immature and broken</title>
	<published>2009-11-27T10:59:11Z</published>
	<updated>2009-11-27T10:59:11Z</updated>
	<author>
		<name>Ralf Wildenhues</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;* kordex - wrote on Fri, Nov 27, 2009 at 04:16:29PM CET:
&lt;br&gt;&amp;gt; Yes, doing the wrong thing is most likely to happen when one does not
&lt;br&gt;&amp;gt; know the software one is trying to work with. But why does confgure
&lt;br&gt;&amp;gt; fail even if there is -lpthread and &amp;lt;pthread.h&amp;gt; available on hpux?
&lt;br&gt;&lt;br&gt;Presumably (I haven't looked at the sources of the package you're trying
&lt;br&gt;to build) the configure.{ac,in} simply used
&lt;br&gt;&amp;nbsp; AC_CHECK_LIB([pthread], [pthread_create])
&lt;br&gt;&lt;br&gt;which fails if pthread_create is a #define, which it is under the HP-UX
&lt;br&gt;I'm looking at.
&lt;br&gt;&lt;br&gt;You can override the AC_CHECK_LIB test with something like
&lt;br&gt;&amp;nbsp; ./configure ac_cv_lib_pthread_pthread_create=yes
&lt;br&gt;&lt;br&gt;&amp;gt; i
&lt;br&gt;&amp;gt; can compile and link (and run programs) with gcc mypthread.source.c
&lt;br&gt;&amp;gt; -lpthread . But still configure does not detect the presence of
&lt;br&gt;&amp;gt; pthreads.
&lt;br&gt;&lt;br&gt;The tests from the ACX_PTHREAD macro are smart enough to cope with this
&lt;br&gt;situation.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Ralf
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26546540&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/libpthread-check-immature-and-broken-tp26542540p26546540.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26543756</id>
	<title>Re: libpthread check immature and broken</title>
	<published>2009-11-27T07:16:29Z</published>
	<updated>2009-11-27T07:16:29Z</updated>
	<author>
		<name>kordex -</name>
	</author>
	<content type="html">2009/11/27 Eric Blake &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26543756&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebb9@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;&amp;gt; Hash: SHA1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; According to kordex - on 11/27/2009 6:33 AM:
&lt;br&gt;&amp;gt;&amp;gt; I found libpthread check broken on hpux and the cause is obvious.
&lt;br&gt;&amp;gt;&amp;gt; First of all it does not include &amp;lt;pthread.h&amp;gt; second of all invoking
&lt;br&gt;&amp;gt;&amp;gt; pthread_create() without arguments will cause an error. as third
&lt;br&gt;&amp;gt;&amp;gt; argument pthread_create must be under main().
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Unfortunately, you are patching the wrong thing.  configure is a generated
&lt;br&gt;&amp;gt; script, your patch needs to touch the upstream file for things to make a
&lt;br&gt;&amp;gt; difference.  Furthermore, it looks like you are patching an AC_LINK_IFELSE
&lt;br&gt;&amp;gt; test, whose job is to determine whether there is an external symbol named
&lt;br&gt;&amp;gt; pthread_create that can be linked against (hence the re-declaration with
&lt;br&gt;&amp;gt; the odd signature), and not whether it can be called properly (the test
&lt;br&gt;&amp;gt; program being linked cannot be successfully run).  If you were patching an
&lt;br&gt;&amp;gt; AC_RUN_IFELSE test, it would make sense.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - --
&lt;br&gt;&amp;gt; Don't work too hard, make some time for fun as well!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Eric Blake             &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26543756&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebb9@...&lt;/a&gt;
&lt;br&gt;&amp;gt; -----BEGIN PGP SIGNATURE-----
&lt;br&gt;&amp;gt; Version: GnuPG v1.4.9 (Cygwin)
&lt;br&gt;&amp;gt; Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
&lt;br&gt;&amp;gt; Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; iEYEARECAAYFAksP1+UACgkQ84KuGfSFAYDs9gCguKpFbxbzKtaziWPkGhPh0eag
&lt;br&gt;&amp;gt; YW8An1OBVO65v0euycLcnx0/k+XbUDTO
&lt;br&gt;&amp;gt; =TE0K
&lt;br&gt;&amp;gt; -----END PGP SIGNATURE-----
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Yes, doing the wrong thing is most likely to happen when one does not
&lt;br&gt;know the software one is trying to work with. But why does confgure
&lt;br&gt;fail even if there is -lpthread and &amp;lt;pthread.h&amp;gt; available on hpux? i
&lt;br&gt;can compile and link (and run programs) with gcc mypthread.source.c
&lt;br&gt;-lpthread . But still configure does not detect the presence of
&lt;br&gt;pthreads.
&lt;br&gt;&lt;br&gt;--Mikko
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26543756&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/libpthread-check-immature-and-broken-tp26542540p26543756.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26543672</id>
	<title>Re: libpthread check immature and broken</title>
	<published>2009-11-27T07:09:15Z</published>
	<updated>2009-11-27T07:09:15Z</updated>
	<author>
		<name>kordex -</name>
	</author>
	<content type="html">2009/11/27 Philip Herron &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26543672&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;herron.philip@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Fri, 2009-11-27 at 15:33 +0200, kordex - wrote:
&lt;br&gt;&amp;gt;&amp;gt; I found libpthread check broken on hpux and the cause is obvious.
&lt;br&gt;&amp;gt;&amp;gt; First of all it does not include &amp;lt;pthread.h&amp;gt; second of all invoking
&lt;br&gt;&amp;gt;&amp;gt; pthread_create() without arguments will cause an error. as third
&lt;br&gt;&amp;gt;&amp;gt; argument pthread_create must be under main().
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; --Mikko Kortelainen
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; --- configure.old       2009-11-27 15:21:47.575062221 +0200
&lt;br&gt;&amp;gt;&amp;gt; +++ configure   2009-11-27 15:21:42.230061258 +0200
&lt;br&gt;&amp;gt;&amp;gt; @@ -6448,11 +6448,18 @@
&lt;br&gt;&amp;gt;&amp;gt;  #ifdef __cplusplus
&lt;br&gt;&amp;gt;&amp;gt;  extern &amp;quot;C&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;  #endif
&lt;br&gt;&amp;gt;&amp;gt; -char pthread_create ();
&lt;br&gt;&amp;gt;&amp;gt; +#include &amp;lt;pthread.h&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; +void *threadfunc(void)
&lt;br&gt;&amp;gt;&amp;gt; +{
&lt;br&gt;&amp;gt;&amp;gt; +  pthread_exit(NULL);
&lt;br&gt;&amp;gt;&amp;gt; +}
&lt;br&gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;  int
&lt;br&gt;&amp;gt;&amp;gt;  main ()
&lt;br&gt;&amp;gt;&amp;gt;  {
&lt;br&gt;&amp;gt;&amp;gt; -return pthread_create ();
&lt;br&gt;&amp;gt;&amp;gt; +  pthread_t thread;
&lt;br&gt;&amp;gt;&amp;gt; +  int ret = pthread_create(&amp;thread, NULL, threadfunc, NULL);
&lt;br&gt;&amp;gt;&amp;gt; +  return ret;
&lt;br&gt;&amp;gt;&amp;gt;    ;
&lt;br&gt;&amp;gt;&amp;gt;    return 0;
&lt;br&gt;&amp;gt;&amp;gt;  }
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Are you using &lt;a href=&quot;http://www.nongnu.org/autoconf-archive/acx_pthread.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.nongnu.org/autoconf-archive/acx_pthread.html&lt;/a&gt;&lt;br&gt;&amp;gt; ACX_PTHREAD? its been working very well for me but i haven't got access
&lt;br&gt;&amp;gt; to any hpux to test that for you, but it works for me on linux, solaris,
&lt;br&gt;&amp;gt; freebsd and Mac OSX I just tested this morning.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --Phil
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;I am not using ACX_PTHEARD. I thought i would be doing the wrong
&lt;br&gt;thing. This is actually xmms1 configure script which fails to detect
&lt;br&gt;the presence of pthreads on hpux. I will take a look at that and if
&lt;br&gt;it's possible to implement it in the current build.
&lt;br&gt;&lt;br&gt;--Mikko
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26543672&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/libpthread-check-immature-and-broken-tp26542540p26543672.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26543138</id>
	<title>Re: libpthread check immature and broken</title>
	<published>2009-11-27T06:25:54Z</published>
	<updated>2009-11-27T06:25:54Z</updated>
	<author>
		<name>Philip Herron</name>
	</author>
	<content type="html">On Fri, 2009-11-27 at 15:33 +0200, kordex - wrote:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I found libpthread check broken on hpux and the cause is obvious.
&lt;br&gt;&amp;gt; First of all it does not include &amp;lt;pthread.h&amp;gt; second of all invoking
&lt;br&gt;&amp;gt; pthread_create() without arguments will cause an error. as third
&lt;br&gt;&amp;gt; argument pthread_create must be under main().
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; --Mikko Kortelainen
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; --- configure.old &amp;nbsp; &amp;nbsp; &amp;nbsp; 2009-11-27 15:21:47.575062221 +0200
&lt;br&gt;&amp;gt; +++ configure &amp;nbsp; 2009-11-27 15:21:42.230061258 +0200
&lt;br&gt;&amp;gt; @@ -6448,11 +6448,18 @@
&lt;br&gt;&amp;gt; &amp;nbsp;#ifdef __cplusplus
&lt;br&gt;&amp;gt; &amp;nbsp;extern &amp;quot;C&amp;quot;
&lt;br&gt;&amp;gt; &amp;nbsp;#endif
&lt;br&gt;&amp;gt; -char pthread_create ();
&lt;br&gt;&amp;gt; +#include &amp;lt;pthread.h&amp;gt;
&lt;br&gt;&amp;gt; +void *threadfunc(void)
&lt;br&gt;&amp;gt; +{
&lt;br&gt;&amp;gt; + &amp;nbsp;pthread_exit(NULL);
&lt;br&gt;&amp;gt; +}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; &amp;nbsp;int
&lt;br&gt;&amp;gt; &amp;nbsp;main ()
&lt;br&gt;&amp;gt; &amp;nbsp;{
&lt;br&gt;&amp;gt; -return pthread_create ();
&lt;br&gt;&amp;gt; + &amp;nbsp;pthread_t thread;
&lt;br&gt;&amp;gt; + &amp;nbsp;int ret = pthread_create(&amp;thread, NULL, threadfunc, NULL);
&lt;br&gt;&amp;gt; + &amp;nbsp;return ret;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;return 0;
&lt;br&gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;/div&gt;Are you using &lt;a href=&quot;http://www.nongnu.org/autoconf-archive/acx_pthread.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.nongnu.org/autoconf-archive/acx_pthread.html&lt;/a&gt;&lt;br&gt;ACX_PTHREAD? its been working very well for me but i haven't got access
&lt;br&gt;to any hpux to test that for you, but it works for me on linux, solaris,
&lt;br&gt;freebsd and Mac OSX I just tested this morning.
&lt;br&gt;&lt;br&gt;--Phil
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;br /&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26543138&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26543138/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/libpthread-check-immature-and-broken-tp26542540p26543138.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26542954</id>
	<title>Re: libpthread check immature and broken</title>
	<published>2009-11-27T05:45:09Z</published>
	<updated>2009-11-27T05:45:09Z</updated>
	<author>
		<name>Eric Blake</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;According to kordex - on 11/27/2009 6:33 AM:
&lt;br&gt;&amp;gt; I found libpthread check broken on hpux and the cause is obvious.
&lt;br&gt;&amp;gt; First of all it does not include &amp;lt;pthread.h&amp;gt; second of all invoking
&lt;br&gt;&amp;gt; pthread_create() without arguments will cause an error. as third
&lt;br&gt;&amp;gt; argument pthread_create must be under main().
&lt;br&gt;&lt;br&gt;Unfortunately, you are patching the wrong thing. &amp;nbsp;configure is a generated
&lt;br&gt;script, your patch needs to touch the upstream file for things to make a
&lt;br&gt;difference. &amp;nbsp;Furthermore, it looks like you are patching an AC_LINK_IFELSE
&lt;br&gt;test, whose job is to determine whether there is an external symbol named
&lt;br&gt;pthread_create that can be linked against (hence the re-declaration with
&lt;br&gt;the odd signature), and not whether it can be called properly (the test
&lt;br&gt;program being linked cannot be successfully run). &amp;nbsp;If you were patching an
&lt;br&gt;AC_RUN_IFELSE test, it would make sense.
&lt;br&gt;&lt;br&gt;- --
&lt;br&gt;Don't work too hard, make some time for fun as well!
&lt;br&gt;&lt;br&gt;Eric Blake &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26542954&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebb9@...&lt;/a&gt;
&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v1.4.9 (Cygwin)
&lt;br&gt;Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;iEYEARECAAYFAksP1+UACgkQ84KuGfSFAYDs9gCguKpFbxbzKtaziWPkGhPh0eag
&lt;br&gt;YW8An1OBVO65v0euycLcnx0/k+XbUDTO
&lt;br&gt;=TE0K
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26542954&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/libpthread-check-immature-and-broken-tp26542540p26542954.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26542540</id>
	<title>libpthread check immature and broken</title>
	<published>2009-11-27T05:33:10Z</published>
	<updated>2009-11-27T05:33:10Z</updated>
	<author>
		<name>kordex -</name>
	</author>
	<content type="html">I found libpthread check broken on hpux and the cause is obvious.
&lt;br&gt;First of all it does not include &amp;lt;pthread.h&amp;gt; second of all invoking
&lt;br&gt;pthread_create() without arguments will cause an error. as third
&lt;br&gt;argument pthread_create must be under main().
&lt;br&gt;&lt;br&gt;--Mikko Kortelainen
&lt;br&gt;&lt;br&gt;--- configure.old &amp;nbsp; &amp;nbsp; &amp;nbsp; 2009-11-27 15:21:47.575062221 +0200
&lt;br&gt;+++ configure &amp;nbsp; 2009-11-27 15:21:42.230061258 +0200
&lt;br&gt;@@ -6448,11 +6448,18 @@
&lt;br&gt;&amp;nbsp;#ifdef __cplusplus
&lt;br&gt;&amp;nbsp;extern &amp;quot;C&amp;quot;
&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;-char pthread_create ();
&lt;br&gt;+#include &amp;lt;pthread.h&amp;gt;
&lt;br&gt;+void *threadfunc(void)
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;pthread_exit(NULL);
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;int
&lt;br&gt;&amp;nbsp;main ()
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;-return pthread_create ();
&lt;br&gt;+ &amp;nbsp;pthread_t thread;
&lt;br&gt;+ &amp;nbsp;int ret = pthread_create(&amp;thread, NULL, threadfunc, NULL);
&lt;br&gt;+ &amp;nbsp;return ret;
&lt;br&gt;&amp;nbsp; &amp;nbsp;;
&lt;br&gt;&amp;nbsp; &amp;nbsp;return 0;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26542540&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/libpthread-check-immature-and-broken-tp26542540p26542540.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26527535</id>
	<title>Re: How to work around a missing library function?</title>
	<published>2009-11-26T02:44:17Z</published>
	<updated>2009-11-26T02:44:17Z</updated>
	<author>
		<name>Andrew W. Nosenko</name>
	</author>
	<content type="html">On Wed, Nov 25, 2009 at 19:13, Dr. David Kirkby &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26527535&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;david.kirkby@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I have some source code
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://magma.maths.usyd.edu.au/~watkins/sympow.tar.bz2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://magma.maths.usyd.edu.au/~watkins/sympow.tar.bz2&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; which will not build on an old release of HP-UX as this lacks the atoll()
&lt;br&gt;&amp;gt; (convert string to a long long) library function.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It is relatively easy to test for this in a configure script. I also found
&lt;br&gt;&amp;gt; on the web a 10-line bit of code, which implements my_atoll()
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://p2p.wrox.com/c-programming/16319-string-long-long-without-using-atoll.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p2p.wrox.com/c-programming/16319-string-long-long-without-using-atoll.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; in a way which works on older HP-UX releases.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm reluctant to use this code on every OS, as its not my code, and the
&lt;br&gt;&amp;gt; author might not like that, as this does no error checking. But it would be
&lt;br&gt;&amp;gt; good to implement it when atoll() is not in the library.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I was thinking of:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1) Changing the code from isomg atoll() to using my_atoll()
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2) Having in configure.ac
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; AC_CHECK_FUNC (atoll, [], [])
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 3)Having something like the following in the source code. I think the
&lt;br&gt;&amp;gt; 'AC_CHECK_FUNC' will have defined HAVE_ATOLL, though I might be wrong on
&lt;br&gt;&amp;gt; that.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; #ifdef HAVE_ATOLL
&lt;br&gt;&amp;gt; long long my_atoll(char *instr){
&lt;br&gt;&amp;gt;  return atoll(instr);
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; #else
&lt;br&gt;&amp;gt; long long my_atoll(char *instr)
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt;  long long retval;
&lt;br&gt;&amp;gt;  int i;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;  retval = 0;
&lt;br&gt;&amp;gt;  for (; *instr; instr++) {
&lt;br&gt;&amp;gt;    retval = 10*retval + (*instr - '0');
&lt;br&gt;&amp;gt;  }
&lt;br&gt;&amp;gt;  return retval;
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; #fi
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is it as simple as that, or am I missing something? How would that be
&lt;br&gt;&amp;gt; improved - I somewhat doubt my method is optimal.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;What about
&lt;br&gt;&amp;nbsp; &amp;nbsp; AC_CHECK_FUNC (atoll, [], [AC_LIBOBJ(atoll)])
&lt;br&gt;and place your atoll() implementation into atoll.c ?
&lt;br&gt;&lt;br&gt;Also you will need to declare prototype somewere:
&lt;br&gt;&lt;br&gt;#ifndef HAVE_ATOLL
&lt;br&gt;long long atoll(const char *nptr);
&lt;br&gt;#endif
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Andrew W. Nosenko &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26527535&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andrew.w.nosenko@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26527535&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-work-around-a-missing-library-function--tp26516745p26527535.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26527391</id>
	<title>Re: How to work around a missing library function?</title>
	<published>2009-11-26T02:31:55Z</published>
	<updated>2009-11-26T02:31:55Z</updated>
	<author>
		<name>Christian Egli-3</name>
	</author>
	<content type="html">&amp;quot;Dr. David Kirkby&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26527391&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;david.kirkby@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&amp;gt; The person who wrote the software is not using autoconf, but I've
&lt;br&gt;&amp;gt; offered to convert it to autoconf, as his 'Configure' script has not
&lt;br&gt;&amp;gt; worked well for use in the Sage project, and peoples attempts to hack
&lt;br&gt;&amp;gt; it to work have been less than successful too.
&lt;br&gt;That's of course a political question and I can feel your pain. My
&lt;br&gt;recommendation is to start small, show real benefit from your changes
&lt;br&gt;and if possible do one step at a time building up trust with the main
&lt;br&gt;developer. As soon as you have autoolified the project, gnulib
&lt;br&gt;integration should be fairly easy.
&lt;br&gt;&lt;br&gt;&amp;gt; The library had various macros, which will only complicate things. I
&lt;br&gt;&amp;gt; really do want to keep this as simple as possible, as I fear otherwise
&lt;br&gt;&amp;gt; he will abandon the autoconf/automake approach, and go back to his
&lt;br&gt;&amp;gt; Configure' script, which works well for him.
&lt;br&gt;Show him that an autotooled project works very well for the users on
&lt;br&gt;various platforms.
&lt;br&gt;&lt;br&gt;HTH
&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26527391&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-work-around-a-missing-library-function--tp26516745p26527391.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26522925</id>
	<title>Re: compile wrapper script with C++ file</title>
	<published>2009-11-25T16:56:27Z</published>
	<updated>2009-11-25T16:56:27Z</updated>
	<author>
		<name>Carsten Heinrici</name>
	</author>
	<content type="html">&amp;gt; but it still wouldn't help with MSVC: first, it *has* an /Fo$object switch
&lt;br&gt;&lt;br&gt;that's the problem I just ran into, after adding some extra CPPFLAGS
&lt;br&gt;to a library, like
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;libfoo_a_CPPFLAGS=something
&lt;br&gt;&lt;br&gt;which leads to the result, that automake starts to compile
&lt;br&gt;&amp;nbsp; &amp;nbsp;CL.EXE -c -o libfoo_a_foo.obj foo.c
&lt;br&gt;&lt;br&gt;but CL.EXE always ignores the output name and generates foo.obj.
&lt;br&gt;&lt;br&gt;Just replacing -o by -Fo does not work because this is only true for the
&lt;br&gt;compile step (-c also given) but not for linking.
&lt;br&gt;&lt;br&gt;Since we already have our own CL.EXE wrapper script, we can handle this.
&lt;br&gt;&lt;br&gt;Of course it we would be nice, if this handling would be already done
&lt;br&gt;by compile,
&lt;br&gt;but there are many other issues with other compilers (i.a. armcc)
&lt;br&gt;which still require
&lt;br&gt;own wrappers.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Regards, Carsten
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26522925&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/compile-wrapper-script-with-C%2B%2B-file-tp24977916p26522925.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26522756</id>
	<title>Re: [crazy bug] please help me</title>
	<published>2009-11-25T16:37:16Z</published>
	<updated>2009-11-25T16:37:16Z</updated>
	<author>
		<name>Carsten Heinrici</name>
	</author>
	<content type="html">&amp;gt; Or are there some features not working with textmode when using
&lt;br&gt;&amp;gt; autotools? I think this could almost be expected because those
&lt;br&gt;&amp;gt; LFs IMHO can be really painfull...
&lt;br&gt;&lt;br&gt;there also some issues while using autotools.
&lt;br&gt;one example are linefeeds in macros, i.e.
&lt;br&gt;&lt;br&gt;&amp;nbsp; AC_CONFIG_FILES([
&lt;br&gt;&amp;nbsp; &amp;nbsp; x
&lt;br&gt;&amp;nbsp; ])
&lt;br&gt;&lt;br&gt;will produce strange results if used with DOS linefeeds.
&lt;br&gt;&lt;br&gt;this makes some guys think, it might be better to mark those files as
&lt;br&gt;binary in cvs and maintain it using unix linefeeds, even in a DOS
&lt;br&gt;environment.
&lt;br&gt;&lt;br&gt;strange conclusion ... that's my experience.
&lt;br&gt;&lt;br&gt;&amp;gt; One feature with issues with LF translation is &amp;quot;make dist&amp;quot; (even
&lt;br&gt;&amp;gt; with export CYGWIN=binmode).
&lt;br&gt;&lt;br&gt;this seems to be an issue of tar, because it can be avoided with the
&lt;br&gt;automake option &amp;quot;tar-pax&amp;quot; (without knowing what exactly this does).
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; Use of binmode mounts means that you don't have to worry about
&lt;br&gt;&amp;gt;&amp;gt; spurious carriage returns getting inserted in files by tools
&lt;br&gt;&amp;gt;&amp;gt; that speak text, only to confuse tools that only speak binary.
&lt;br&gt;&lt;br&gt;this is exactly my experience, too. I am using binmode only since many
&lt;br&gt;years without real issues.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; Textmode mounts, on the other hand, are painful to
&lt;br&gt;&amp;gt;&amp;gt; manage without a lot of care.
&lt;br&gt;&lt;br&gt;this is true only for some tools, not most of them. unfortunately
&lt;br&gt;microsoft visual studio is one them, which is used often in
&lt;br&gt;development.
&lt;br&gt;&lt;br&gt;but as a developper, I see no problem for handling it.
&lt;br&gt;&lt;br&gt;&amp;gt; I think with binmode mounts practically ALL (windows)
&lt;br&gt;&amp;gt; tools fail, but of course heavily depends on the used tools.
&lt;br&gt;&lt;br&gt;I would say, most windows tools are able to handle linux linefeeds.
&lt;br&gt;only some can't, and for me, it is no problem to avoid using them.
&lt;br&gt;&lt;br&gt;regards, carsten
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26522756&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-crazy-bug--please-help-me-tp26461173p26522756.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26522008</id>
	<title>Re: How to work around a missing library function?</title>
	<published>2009-11-25T15:17:28Z</published>
	<updated>2009-11-25T15:17:28Z</updated>
	<author>
		<name>Dr. David Kirkby</name>
	</author>
	<content type="html">Mike Frysinger wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; if you arent using autoconf, i'm not sure why you're posting to the autoconf 
&lt;br&gt;&amp;gt; list. &amp;nbsp;gnulib really doesnt add any dependencies above autoconf/automake, and 
&lt;br&gt;&amp;gt; those are pretty basic as it is.
&lt;br&gt;&amp;gt; -mike
&lt;br&gt;&lt;br&gt;The person who wrote the software is not using autoconf, but I've offered to 
&lt;br&gt;convert it to autoconf, as his 'Configure' script has not worked well for use in 
&lt;br&gt;the Sage project, and peoples attempts to hack it to work have been less than 
&lt;br&gt;successful too.
&lt;br&gt;&lt;br&gt;The library had various macros, which will only complicate things. I really do 
&lt;br&gt;want to keep this as simple as possible, as I fear otherwise he will abandon the 
&lt;br&gt;autoconf/automake approach, and go back to his 'Configure' script, which works 
&lt;br&gt;well for him.
&lt;br&gt;&lt;br&gt;That's my dilema.
&lt;br&gt;&lt;br&gt;Dave
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26522008&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-work-around-a-missing-library-function--tp26516745p26522008.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26521531</id>
	<title>Re: How to work around a missing library function?</title>
	<published>2009-11-25T14:39:20Z</published>
	<updated>2009-11-25T14:39:20Z</updated>
	<author>
		<name>Mike Frysinger</name>
	</author>
	<content type="html">On Wednesday 25 November 2009 16:25:54 Dr. David Kirkby wrote:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Mike Frysinger wrote:
&lt;br&gt;&amp;gt; &amp;gt; On Wednesday 25 November 2009 13:43:34 Dr. David Kirkby wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Mike Frysinger wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; On Wednesday 25 November 2009 12:13:56 Dr. David Kirkby wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; I'm reluctant to use this code on every OS, as its not my code, and
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; the author might not like that, as this does no error checking. But it
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; would be good to implement it when atoll() is not in the library.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; check out the gnulib project
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Thank you Mike, I will do that. I assume that will provide an
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp;implementation for atoll(). But is the rest of my logic ok?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; while your logic looked ok, you dont need to worry about it with gnulib. 
&lt;br&gt;&amp;gt; &amp;gt; not only does it provide atoll replacements, but it takes care of the
&lt;br&gt;&amp;gt; &amp;gt; configure tests and enabling it as needed as well. &amp;nbsp;your source code
&lt;br&gt;&amp;gt; &amp;gt; shouldnt need to change -- it can be written to assume atoll exists. 
&lt;br&gt;&amp;gt; &amp;gt; it's a pretty badass project.
&lt;br&gt;&amp;gt; &amp;gt; -mike
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; A big problem is gnulib is GPL3 - I need to code to be GPL2, so I can not
&lt;br&gt;&amp;gt; &amp;nbsp;use the library.
&lt;/div&gt;&lt;/div&gt;no, specific modules have different licenses. &amp;nbsp;review the license for the 
&lt;br&gt;specific module you wish to import, or use the --lgpl2 option to the gnulib-
&lt;br&gt;tool script so it'll abort early if importing something with gpl3.
&lt;br&gt;&lt;br&gt;if a module you want is under gpl3 only, you can always ask to have it be 
&lt;br&gt;allowed under the lgpl2. &amp;nbsp;it isnt an uncommon request.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; The second issue is that I am not totally convinced the person who wrote
&lt;br&gt;&amp;gt; &amp;nbsp;that code would appreciate all the dependencies of gnublib.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I've suggested I convert his 'Configure' script to one which uses
&lt;br&gt;&amp;gt; autoconf/automake. I think simplicity is needed here. I can't see him
&lt;br&gt;&amp;gt; &amp;nbsp;objecting to a few lines of C inserted, but the code in gnulib has various
&lt;br&gt;&amp;gt; &amp;nbsp;dependencies. It also calls strtoll() which does not exist, so that too
&lt;br&gt;&amp;gt; &amp;nbsp;would have to be built.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The author of the code does not use autoconf/automake, but said he would my
&lt;br&gt;&amp;gt; changes as long as he could make changes easily. I'm a bit worried he might
&lt;br&gt;&amp;gt; &amp;nbsp;just prefer his 'Configure' script anyway, which works well for him.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I would like to avoid having m4 macros, and anything else that makes it
&lt;br&gt;&amp;gt; &amp;nbsp;more difficult for someone to understand.
&lt;/div&gt;&lt;/div&gt;if you arent using autoconf, i'm not sure why you're posting to the autoconf 
&lt;br&gt;list. &amp;nbsp;gnulib really doesnt add any dependencies above autoconf/automake, and 
&lt;br&gt;those are pretty basic as it is.
&lt;br&gt;-mike
&lt;br&gt;&lt;br /&gt; &lt;br /&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26521531&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (853 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26521531/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-work-around-a-missing-library-function--tp26516745p26521531.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26520603</id>
	<title>Re: How to work around a missing library function?</title>
	<published>2009-11-25T13:25:54Z</published>
	<updated>2009-11-25T13:25:54Z</updated>
	<author>
		<name>Dr. David Kirkby</name>
	</author>
	<content type="html">Mike Frysinger wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Wednesday 25 November 2009 13:43:34 Dr. David Kirkby wrote:
&lt;br&gt;&amp;gt;&amp;gt; Mike Frysinger wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Wednesday 25 November 2009 12:13:56 Dr. David Kirkby wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I'm reluctant to use this code on every OS, as its not my code, and the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;author might not like that, as this does no error checking. But it
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; would be good to implement it when atoll() is not in the library.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check out the gnulib project
&lt;br&gt;&amp;gt;&amp;gt; Thank you Mike, I will do that. I assume that will provide an
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;implementation for atoll(). But is the rest of my logic ok?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; while your logic looked ok, you dont need to worry about it with gnulib. &amp;nbsp;not 
&lt;br&gt;&amp;gt; only does it provide atoll replacements, but it takes care of the configure 
&lt;br&gt;&amp;gt; tests and enabling it as needed as well. &amp;nbsp;your source code shouldnt need to 
&lt;br&gt;&amp;gt; change -- it can be written to assume atoll exists. &amp;nbsp;it's a pretty badass 
&lt;br&gt;&amp;gt; project.
&lt;br&gt;&amp;gt; -mike
&lt;/div&gt;&lt;br&gt;A big problem is gnulib is GPL3 - I need to code to be GPL2, so I can not use 
&lt;br&gt;the library.
&lt;br&gt;&lt;br&gt;The second issue is that I am not totally convinced the person who wrote that 
&lt;br&gt;code would appreciate all the dependencies of gnublib.
&lt;br&gt;&lt;br&gt;I've suggested I convert his 'Configure' script to one which uses 
&lt;br&gt;autoconf/automake. I think simplicity is needed here. I can't see him objecting 
&lt;br&gt;to a few lines of C inserted, but the code in gnulib has various dependencies. 
&lt;br&gt;It also calls strtoll() which does not exist, so that too would have to be built.
&lt;br&gt;&lt;br&gt;The author of the code does not use autoconf/automake, but said he would my 
&lt;br&gt;changes as long as he could make changes easily. I'm a bit worried he might just 
&lt;br&gt;prefer his 'Configure' script anyway, which works well for him.
&lt;br&gt;&lt;br&gt;I would like to avoid having m4 macros, and anything else that makes it more 
&lt;br&gt;difficult for someone to understand.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26520603&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-work-around-a-missing-library-function--tp26516745p26520603.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26520457</id>
	<title>Re: How to work around a missing library function?</title>
	<published>2009-11-25T13:08:28Z</published>
	<updated>2009-11-25T13:08:28Z</updated>
	<author>
		<name>Mike Frysinger</name>
	</author>
	<content type="html">On Wednesday 25 November 2009 13:43:34 Dr. David Kirkby wrote:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Mike Frysinger wrote:
&lt;br&gt;&amp;gt; &amp;gt; On Wednesday 25 November 2009 12:13:56 Dr. David Kirkby wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; I'm reluctant to use this code on every OS, as its not my code, and the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp;author might not like that, as this does no error checking. But it
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; would be good to implement it when atoll() is not in the library.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; check out the gnulib project
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thank you Mike, I will do that. I assume that will provide an
&lt;br&gt;&amp;gt; &amp;nbsp;implementation for atoll(). But is the rest of my logic ok?
&lt;/div&gt;&lt;/div&gt;while your logic looked ok, you dont need to worry about it with gnulib. &amp;nbsp;not 
&lt;br&gt;only does it provide atoll replacements, but it takes care of the configure 
&lt;br&gt;tests and enabling it as needed as well. &amp;nbsp;your source code shouldnt need to 
&lt;br&gt;change -- it can be written to assume atoll exists. &amp;nbsp;it's a pretty badass 
&lt;br&gt;project.
&lt;br&gt;-mike
&lt;br&gt;&lt;br /&gt; &lt;br /&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26520457&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (853 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26520457/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-work-around-a-missing-library-function--tp26516745p26520457.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26520185</id>
	<title>Re: How to work around a missing library function?</title>
	<published>2009-11-25T12:35:26Z</published>
	<updated>2009-11-25T12:35:26Z</updated>
	<author>
		<name>Harlan Stenn-5</name>
	</author>
	<content type="html">NTP does a fair amount of providing missing library code as well - we
&lt;br&gt;generally only use a package-provided copy if one is not availble from
&lt;br&gt;the system.
&lt;br&gt;&lt;br&gt;H
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26520185&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-work-around-a-missing-library-function--tp26516745p26520185.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26518143</id>
	<title>Re: How to work around a missing library function?</title>
	<published>2009-11-25T10:43:34Z</published>
	<updated>2009-11-25T10:43:34Z</updated>
	<author>
		<name>Dr. David Kirkby</name>
	</author>
	<content type="html">Mike Frysinger wrote:
&lt;br&gt;&amp;gt; On Wednesday 25 November 2009 12:13:56 Dr. David Kirkby wrote:
&lt;br&gt;&amp;gt;&amp;gt; I'm reluctant to use this code on every OS, as its not my code, and the
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;author might not like that, as this does no error checking. But it would
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;be good to implement it when atoll() is not in the library.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; check out the gnulib project
&lt;br&gt;&amp;gt; -mike
&lt;br&gt;&lt;br&gt;Thank you Mike, I will do that. I assume that will provide an implementation for
&lt;br&gt;atoll(). But is the rest of my logic ok?
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Autoconf mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518143&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Autoconf@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.gnu.org/mailman/listinfo/autoconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.gnu.org/mailman/listinfo/autoconf&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-work-around-a-missing-library-function--tp26516745p26518143.html" />
</entry>

</feed>
