]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
ftmod_libpri: Add configure check for pri_maintenance_service()
authorStefan Knoblich <stkn@openisdn.net>
Tue, 8 Jan 2013 13:30:59 +0000 (14:30 +0100)
committerStefan Knoblich <stkn@openisdn.net>
Tue, 8 Jan 2013 14:07:29 +0000 (15:07 +0100)
Said function has been added in libpri-1.4.11 and breaks
building with older libpri versions (i.e. the passive one for ftmod_pritap).

Check for pri_maintenance_service() in configure and disable
the "maintenance" subcommand if it is not available.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
libs/freetdm/configure.ac
libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c

index 93e30f6d4067f6fc127ca0b60b2091e5183d44e1..ce5450abc89ff92e94f11fed781940708e465dbe 100644 (file)
@@ -283,6 +283,19 @@ then
                 AC_MSG_NOTICE([You will need libpri-1.4.12_beta1 or newer for AOC event support])]
        )
 
+
+       AC_MSG_CHECKING([whether libpri has pri_maintenance_service()])
+       AC_LINK_IFELSE(
+               [AC_LANG_PROGRAM(
+                       [extern int pri_maintenance_service(void);],
+                       [pri_maintenance_service();]
+               )],
+               [AC_DEFINE([HAVE_LIBPRI_MAINT_SERVICE], [1], [libpri has pri_maintenance_service()])
+                AC_MSG_RESULT([yes])],
+               [AC_MSG_RESULT([no])
+                AC_MSG_NOTICE([You will need libpri-1.4.11 or newer for the ftdm libpri maintenance set of commands])]
+       )
+
        # libpri is available, set variables for Makefile(.am)
        AC_SUBST([LIBPRI_LIBS], [-lpri])
        AC_SUBST([LIBPRI_LDFLAGS])
index 0e22b0f3506aa0b9328984d960973a2e16b12cbf..d1c74cd42e6d108db3f88f192a50d7a8e79de98f 100644 (file)
@@ -207,6 +207,7 @@ static int parse_debug(const char *in, uint32_t *flags)
        return res;
 }
 
+#ifdef HAVE_LIBPRI_MAINT_SERVICE
 /**
  * \brief Parses a change status string to flags
  * \param in change status string to parse for
@@ -232,6 +233,8 @@ static int parse_change_status(const char *in)
 
        return flags;
 }
+#endif
+
 
 static int print_debug(uint32_t flags, char *tmp, const int size)
 {
@@ -441,7 +444,9 @@ static const char *ftdm_libpri_usage =
        "libpri kill <span>\n"
        "libpri reset <span>\n"
        "libpri restart <span> <channel/all>\n"
+#ifdef HAVE_LIBPRI_MAINT_SERVICE
        "libpri maintenance <span> <channel/all> <in/maint/out>\n"
+#endif
        "libpri debug <span> [all|none|flag,...flagN]\n"
        "libpri msn <span>\n"
        "\n"
@@ -650,6 +655,7 @@ static FIO_API_FUNCTION(ftdm_libpri_api)
                                goto done;
                        }
                }
+#ifdef HAVE_LIBPRI_MAINT_SERVICE
                if (!strcasecmp(argv[0], "maintenance") && argc > 3) {
                        ftdm_span_t *span = NULL;
                        if (ftdm_span_find_by_name(argv[1], &span) == FTDM_SUCCESS) {
@@ -681,6 +687,7 @@ static FIO_API_FUNCTION(ftdm_libpri_api)
                                goto done;
                        }
                }
+#endif
        } else {
                /* zero args print usage */
                stream->write_function(stream, ftdm_libpri_usage);