[Home]

Summary:ASTERISK-13351: [patch] fixes for autoconf 2.63 and ptlib-devel (Fedora 10)
Reporter:Alexander 'Leo' Bergolth (bergolth)Labels:
Date Opened:2009-01-12 17:01:17.000-0600Date Closed:2009-02-18 14:16:33.000-0600
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/BuildSystem
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) asterisk-1.4.22.1-autoconf.patch
( 1) asterisk-autoconf-pwlib.patch
( 2) asterisk-autoconf-pwlib-v2.patch
( 3) asterisk-autoconf-pwlib-v3.patch
( 4) asterisk-autoconf-sed.patch
( 5) asterisk-pwlib-v3.patch
Description:autoconf 2.62 renamed _AC_PATH_PROGS_FEATURE_CHECK to _AC_PATH_PROG_FEATURE_CHECK and introduced AC_PATH_PROGS_FEATURE_CHECK.

Moreover Fedora 10 replaced pwlib-devel with ptlib-devel. ptlib-config now resides in /usr/share/ptlib/make instead of /usr/share/pwlib/make. (But there is also a link in /usr/bin).

Unfortunately, an option to ptlib-config also changed:
 /usr/bin/ptlib-config --pwlibdir
... is now:
 /usr/bin/ptlib-config --ptlibdir

The attached patch (against asterisk-1.4.22.1) tries to address those problems.
Comments:By: Leif Madsen (lmadsen) 2009-01-13 12:05:58.000-0600

Assigned this issue to putnopvut so he can learn some mad new skills.

By: Mark Michelson (mmichelson) 2009-01-13 14:10:35.000-0600

Recent autoconf changes have caused acinclude.m4 to be removed in favor of having individual m4 files in the autoconf directory instead.

That being said, will you please update your patch to change the autoconf/ast_check_pwlib.m4 file in the 1.4 branch instead? Thank you very much.

By: Alexander 'Leo' Bergolth (bergolth) 2009-01-14 07:47:46.000-0600

OK.

I've attached two patches:
asterisk-autoconf-pwlib.patch should fix the pwlib/ptlib issues,
asterisk-autoconf-sed.patch should address the _AC_PATH_PROGS?_FEATURE_CHECK problems.

By: Mark Michelson (mmichelson) 2009-01-15 15:06:18.000-0600

The patches you have uploaded pass my scrutiny for sure. I'm trying to get another developer to sign off on it before I put the changes in since I rarely handle autoconf-related changes.

By: Jeff Peeler (jpeeler) 2009-01-30 12:05:16.000-0600

We use AST_CHECK_PWLIB_VERSION for both pwlib and h323, so the change in that macro needs to be reverted. I think everything else is good.

By: Alexander 'Leo' Bergolth (bergolth) 2009-01-31 05:10:35.000-0600

Hmm - maybe the name of the check is a little bit misleading? :-)

I've attached a v2 of the AST_CHECK_PWLIB_VERSION patch. This one should work both for pwlib and h323.

By: Alexander 'Leo' Bergolth (bergolth) 2009-01-31 05:40:54.000-0600

Just found another problem:
The following check also fails:

               AST_CHECK_PWLIB_BUILD([PWLib], [PWLIB],
                       [Define if your system has the PWLib libraries.],
                       [#include "ptlib.h"],
                       [BOOL q = PTime::IsDaylightSavings();])

... because recent versions of ptlib use PBoolean instead of BOOL.

See
 http://www.opalvoip.org/wiki/index.php?n=Main.BoolChanges
for details about this change and some hints on how to fix it:

----------------------------------------
If compatibility with previous versions of OPAL/PTLib is required, then replace all occurrences of 'BOOL' with 'PBoolean, and add the following code to each application compilation unit (preferably via a header file)

  #include <ptbuildopts.h>
  #if ! defined(P_USE_STANDARD_CXX_BOOL) && !defined(P_USE_INTEGER_BOOL)
  typedef BOOL PBoolean;
  #define PTrue TRUE
  #define PFalse FALSE
  #endif
----------------------------------------

By: Jeff Peeler (jpeeler) 2009-02-06 00:51:12.000-0600

What about something like v3? It would be nice to pass in the boolean type as a variable, but I don't know if that can be done.

By: Jeff Peeler (jpeeler) 2009-02-06 00:55:21.000-0600

Also, I noticed that on this particular system the check initially failed because I didn't have the openssl headers installed. Probably should check for that.

By: Alexander 'Leo' Bergolth (bergolth) 2009-02-06 07:22:58.000-0600

Here is an untested v3 of the patch.
It replaces BOOL with int in the configure-check, since this one should only check for the existence of a function and not for the type BOOL.
Furthermore it adds the above code and replaces BOOL with PBoolean.

By: Jeff Peeler (jpeeler) 2009-02-10 23:56:08.000-0600

Your version is much better. However, I had to change chan_h323.h to be included before ast_h323.h in ast_h323.cxx. I could not find any good way of including header files to make cisco-h323.cxx compile. It would be nice to not have to duplicate the conditional BOOL typedef.

By: Alexander 'Leo' Bergolth (bergolth) 2009-02-11 03:16:57.000-0600

Maybe the ptbuildopts and typedef-block should be moved to a separate header file like ast_ptlib.h:

----------------------------------------
#ifndef AST_PTLIB_H
#define AST_PTLIB_H

#include <ptbuildopts.h>
#if ! defined(P_USE_STANDARD_CXX_BOOL) && !defined(P_USE_INTEGER_BOOL)
typedef BOOL PBoolean;
#define PTrue TRUE
#define PFalse FALSE
#endif

#endif /* !defined AST_PTLIB_H */
----------------------------------------

This one could be easily included by other files without duplicating the logic.

By: Digium Subversion (svnbot) 2009-02-18 14:06:47.000-0600

Repository: asterisk
Revision: 177160

U   branches/1.4/autoconf/ast_check_pwlib.m4
U   branches/1.4/autoconf/ast_prog_sed.m4
U   branches/1.4/channels/h323/ast_h323.cxx
U   branches/1.4/channels/h323/ast_h323.h
A   branches/1.4/channels/h323/ast_ptlib.h
U   branches/1.4/channels/h323/caps_h323.cxx
U   branches/1.4/channels/h323/caps_h323.h
U   branches/1.4/channels/h323/chan_h323.h
U   branches/1.4/channels/h323/cisco-h225.cxx
U   branches/1.4/channels/h323/cisco-h225.h
U   branches/1.4/channels/h323/compat_h323.cxx
U   branches/1.4/channels/h323/compat_h323.h
U   branches/1.4/configure
U   branches/1.4/configure.ac

------------------------------------------------------------------------
r177160 | jpeeler | 2009-02-18 14:06:46 -0600 (Wed, 18 Feb 2009) | 15 lines

Modify h323 to build against PTLib as well as the older PWLib

Several changes in PTLib have occurred requiring build time detection. Changes
accounted for include the library name change, config option change, install
location change, and a boolean type change which is handled by ast_ptlib.h.
Also, the sed check has been modified to properly work with autoconf >= 2.62.

(closes issue ASTERISK-13351)
Reported by: bergolth
Patches:
     asterisk-autoconf-sed.patch uploaded by bergolth (license 661)
     asterisk-pwlib-v3.patch uploaded by bergolth (license 661)
Tested by: jpeeler


------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=177160

By: Digium Subversion (svnbot) 2009-02-18 14:08:43.000-0600

Repository: asterisk
Revision: 177161

_U  trunk/

------------------------------------------------------------------------
r177161 | jpeeler | 2009-02-18 14:08:43 -0600 (Wed, 18 Feb 2009) | 20 lines

Blocked revisions 177160 via svnmerge

........
 r177160 | jpeeler | 2009-02-18 14:06:45 -0600 (Wed, 18 Feb 2009) | 15 lines
 
 Modify h323 to build against PTLib as well as the older PWLib
 
 Several changes in PTLib have occurred requiring build time detection. Changes
 accounted for include the library name change, config option change, install
 location change, and a boolean type change which is handled by ast_ptlib.h.
 Also, the sed check has been modified to properly work with autoconf >= 2.62.
 
 (closes issue ASTERISK-13351)
 Reported by: bergolth
 Patches:
       asterisk-autoconf-sed.patch uploaded by bergolth (license 661)
       asterisk-pwlib-v3.patch uploaded by bergolth (license 661)
 Tested by: jpeeler
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=177161

By: Digium Subversion (svnbot) 2009-02-18 14:11:58.000-0600

Repository: asterisk
Revision: 177162

U   trunk/autoconf/ast_check_pwlib.m4
U   trunk/autoconf/ast_prog_sed.m4
U   trunk/channels/h323/ast_h323.cxx
U   trunk/channels/h323/ast_h323.h
A   trunk/channels/h323/ast_ptlib.h
U   trunk/channels/h323/caps_h323.cxx
U   trunk/channels/h323/caps_h323.h
U   trunk/channels/h323/chan_h323.h
U   trunk/channels/h323/cisco-h225.cxx
U   trunk/channels/h323/cisco-h225.h
U   trunk/channels/h323/compat_h323.cxx
U   trunk/channels/h323/compat_h323.h
U   trunk/configure
U   trunk/configure.ac

------------------------------------------------------------------------
r177162 | jpeeler | 2009-02-18 14:11:58 -0600 (Wed, 18 Feb 2009) | 14 lines

Modify h323 to build against PTLib as well as the older PWLib

Several changes in PTLib have occurred requiring build time detection. Changes
accounted for include the library name change, config option change, install
location change, and a boolean type change which is handled by ast_ptlib.h.
Also, the sed check has been modified to properly work with autoconf >= 2.62.

(closes issue ASTERISK-13351)
Reported by: bergolth
Patches:
     asterisk-autoconf-sed.patch uploaded by bergolth (license 661)
     asterisk-pwlib-v3.patch uploaded by bergolth (license 661)
Tested by: jpeeler

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=177162

By: Digium Subversion (svnbot) 2009-02-18 14:15:38.000-0600

Repository: asterisk
Revision: 177163

_U  branches/1.6.0/
U   branches/1.6.0/autoconf/ast_check_pwlib.m4
U   branches/1.6.0/autoconf/ast_prog_sed.m4
U   branches/1.6.0/channels/h323/ast_h323.cxx
U   branches/1.6.0/channels/h323/ast_h323.h
A   branches/1.6.0/channels/h323/ast_ptlib.h
U   branches/1.6.0/channels/h323/caps_h323.cxx
U   branches/1.6.0/channels/h323/caps_h323.h
U   branches/1.6.0/channels/h323/chan_h323.h
U   branches/1.6.0/channels/h323/cisco-h225.cxx
U   branches/1.6.0/channels/h323/cisco-h225.h
U   branches/1.6.0/channels/h323/compat_h323.cxx
U   branches/1.6.0/channels/h323/compat_h323.h
U   branches/1.6.0/configure
U   branches/1.6.0/configure.ac

------------------------------------------------------------------------
r177163 | jpeeler | 2009-02-18 14:15:38 -0600 (Wed, 18 Feb 2009) | 21 lines

Merged revisions 177162 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
 r177162 | jpeeler | 2009-02-18 14:11:57 -0600 (Wed, 18 Feb 2009) | 14 lines
 
 Modify h323 to build against PTLib as well as the older PWLib
 
 Several changes in PTLib have occurred requiring build time detection. Changes
 accounted for include the library name change, config option change, install
 location change, and a boolean type change which is handled by ast_ptlib.h.
 Also, the sed check has been modified to properly work with autoconf >= 2.62.
 
 (closes issue ASTERISK-13351)
 Reported by: bergolth
 Patches:
       asterisk-autoconf-sed.patch uploaded by bergolth (license 661)
       asterisk-pwlib-v3.patch uploaded by bergolth (license 661)
 Tested by: jpeeler
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=177163

By: Digium Subversion (svnbot) 2009-02-18 14:16:32.000-0600

Repository: asterisk
Revision: 177164

_U  branches/1.6.1/
U   branches/1.6.1/autoconf/ast_check_pwlib.m4
U   branches/1.6.1/autoconf/ast_prog_sed.m4
U   branches/1.6.1/channels/h323/ast_h323.cxx
U   branches/1.6.1/channels/h323/ast_h323.h
A   branches/1.6.1/channels/h323/ast_ptlib.h
U   branches/1.6.1/channels/h323/caps_h323.cxx
U   branches/1.6.1/channels/h323/caps_h323.h
U   branches/1.6.1/channels/h323/chan_h323.h
U   branches/1.6.1/channels/h323/cisco-h225.cxx
U   branches/1.6.1/channels/h323/cisco-h225.h
U   branches/1.6.1/channels/h323/compat_h323.cxx
U   branches/1.6.1/channels/h323/compat_h323.h
U   branches/1.6.1/configure
U   branches/1.6.1/configure.ac

------------------------------------------------------------------------
r177164 | jpeeler | 2009-02-18 14:16:32 -0600 (Wed, 18 Feb 2009) | 21 lines

Merged revisions 177162 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
 r177162 | jpeeler | 2009-02-18 14:11:57 -0600 (Wed, 18 Feb 2009) | 14 lines
 
 Modify h323 to build against PTLib as well as the older PWLib
 
 Several changes in PTLib have occurred requiring build time detection. Changes
 accounted for include the library name change, config option change, install
 location change, and a boolean type change which is handled by ast_ptlib.h.
 Also, the sed check has been modified to properly work with autoconf >= 2.62.
 
 (closes issue ASTERISK-13351)
 Reported by: bergolth
 Patches:
       asterisk-autoconf-sed.patch uploaded by bergolth (license 661)
       asterisk-pwlib-v3.patch uploaded by bergolth (license 661)
 Tested by: jpeeler
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=177164