[asterisk-commits] mjordan: trunk r418832 - in /trunk: ./ menuselect/ menuselect/contrib/ menuse...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Jul 17 13:42:50 CDT 2014


Author: mjordan
Date: Thu Jul 17 13:42:43 2014
New Revision: 418832

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=418832
Log:
menuselect: Add menuselect to Asterisk trunk (Patch 1)

This is the first patch that adds menuselect to Asterisk trunk, and removes
the svn:externals property. This is being done for two reasons:
(1) The removal of external repositories eases a future migration to git
(2) Asterisk is now the only thing that uses menuselect; as a result, there's
    little need to keep it in an external repository

Subsequent patches will remove the mxml dependency from menuselect and tidy
up the build system.

ASTERISK-20703

Added:
    trunk/menuselect/
    trunk/menuselect/Makefile   (with props)
    trunk/menuselect/README   (with props)
    trunk/menuselect/acinclude.m4   (with props)
    trunk/menuselect/aclocal.m4   (with props)
    trunk/menuselect/autoconfig.h.in   (with props)
    trunk/menuselect/bootstrap.sh   (with props)
    trunk/menuselect/config.guess   (with props)
    trunk/menuselect/config.sub   (with props)
    trunk/menuselect/configure   (with props)
    trunk/menuselect/configure.ac   (with props)
    trunk/menuselect/contrib/
    trunk/menuselect/contrib/Makefile-dummy   (with props)
    trunk/menuselect/contrib/menuselect-dummy   (with props)
    trunk/menuselect/example_menuselect-tree   (with props)
    trunk/menuselect/install-sh   (with props)
    trunk/menuselect/linkedlists.h   (with props)
    trunk/menuselect/make_version   (with props)
    trunk/menuselect/makeopts.in   (with props)
    trunk/menuselect/menuselect.c   (with props)
    trunk/menuselect/menuselect.h   (with props)
    trunk/menuselect/menuselect_curses.c   (with props)
    trunk/menuselect/menuselect_gtk.c   (with props)
    trunk/menuselect/menuselect_newt.c   (with props)
    trunk/menuselect/menuselect_stub.c   (with props)
    trunk/menuselect/missing   (with props)
    trunk/menuselect/mxml/
    trunk/menuselect/mxml/ANNOUNCEMENT   (with props)
    trunk/menuselect/mxml/CHANGES   (with props)
    trunk/menuselect/mxml/COPYING   (with props)
    trunk/menuselect/mxml/Makefile.in   (with props)
    trunk/menuselect/mxml/README   (with props)
    trunk/menuselect/mxml/config.h.in   (with props)
    trunk/menuselect/mxml/configure   (with props)
    trunk/menuselect/mxml/configure.in   (with props)
    trunk/menuselect/mxml/install-sh   (with props)
    trunk/menuselect/mxml/mxml-attr.c   (with props)
    trunk/menuselect/mxml/mxml-entity.c   (with props)
    trunk/menuselect/mxml/mxml-file.c   (with props)
    trunk/menuselect/mxml/mxml-index.c   (with props)
    trunk/menuselect/mxml/mxml-node.c   (with props)
    trunk/menuselect/mxml/mxml-private.c   (with props)
    trunk/menuselect/mxml/mxml-search.c   (with props)
    trunk/menuselect/mxml/mxml-set.c   (with props)
    trunk/menuselect/mxml/mxml-string.c   (with props)
    trunk/menuselect/mxml/mxml.h   (with props)
    trunk/menuselect/mxml/mxml.list.in   (with props)
    trunk/menuselect/mxml/mxml.pc.in   (with props)
    trunk/menuselect/strcompat.c   (with props)
    trunk/menuselect/test/
    trunk/menuselect/test/build_tools/
    trunk/menuselect/test/build_tools/menuselect-deps   (with props)
    trunk/menuselect/test/menuselect-tree   (with props)
Modified:
    trunk/   (props changed)

Propchange: trunk/
            ('svn:externals' removed)

Added: trunk/menuselect/Makefile
URL: http://svnview.digium.com/svn/asterisk/trunk/menuselect/Makefile?view=auto&rev=418832
==============================================================================
--- trunk/menuselect/Makefile (added)
+++ trunk/menuselect/Makefile Thu Jul 17 13:42:43 2014
@@ -1,0 +1,123 @@
+#
+# Asterisk -- A telephony toolkit for Linux.
+# 
+# Makefile for Menuselect
+#
+# Copyright (C) 2005-2008, Digium, Inc.
+#
+# Russell Bryant <russell at digium.com>
+#
+# This program is free software, distributed under the terms of
+# the GNU General Public License
+#
+
+# even though we could use '-include makeopts' here, use a wildcard
+# lookup anyway, so that make won't try to build makeopts if it doesn't
+# exist (other rules will force it to be built if needed)
+ifneq ($(wildcard makeopts),)
+  include makeopts
+endif
+
+.PHONY: clean dist-clean distclean test ntest ctest gtest
+
+# Basic set of sources and flags/libraries/includes
+OBJS:=menuselect.o strcompat.o
+CFLAGS+=-g -D_GNU_SOURCE -Wall
+
+ifeq ($(MENUSELECT_DEBUG),yes)
+  CFLAGS += -DMENUSELECT_DEBUG
+endif
+
+ifdef NCURSES_LIB
+  C_OBJS += menuselect_curses.o
+  C_LIBS +=$(NCURSES_LIB)
+  C_INCLUDE += $(NCURSES_INCLUDE)
+  ALL_TGTS += cmenuselect
+else
+  ifdef CURSES_LIB
+    C_OBJS += menuselect_curses.o
+    C_LIBS +=$(CURSES_LIB)
+    C_INCLUDE += $(CURSES_INCLUDE)
+    ALL_TGTS += cmenuselect
+  endif
+endif
+
+ifdef GTK2_LIB
+  G_OBJS += menuselect_gtk.o
+  G_LIBS += $(GTK2_LIB)
+  G_INCLUDE += $(GTK2_INCLUDE)
+  ALL_TGTS += gmenuselect
+endif
+
+ifdef NEWT_LIB
+  N_OBJS += menuselect_newt.o
+  N_LIBS += $(NEWT_LIB)
+  N_INCLUDE += $(NEWT_INCLUDE)
+  ALL_TGTS += nmenuselect
+endif
+
+M_OBJS += menuselect_stub.o
+ALL_TGTS += menuselect
+
+all: $(ALL_TGTS)
+
+$(OBJS) $(C_OBJS) $(N_OBJS) $(G_OBJS) $(M_OBJS): autoconfig.h menuselect.h
+
+makeopts autoconfig.h: autoconfig.h.in makeopts.in
+	@./configure $(CONFIGURE_SILENT)
+
+$(ALL_TGTS): mxml/libmxml.a
+
+ifdef C_OBJS
+menuselect_curses.o: CFLAGS+=$(C_INCLUDE)
+cmenuselect: $(OBJS) $(C_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $^ $(C_LIBS)
+else
+cmenuselect:
+endif
+
+ifdef G_OBJS
+menuselect_gtk.o: CFLAGS+=$(G_INCLUDE)
+gmenuselect: $(OBJS) $(G_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $^ $(G_LIBS)
+else
+gmenuselect:
+endif
+
+ifdef N_OBJS
+menuselect_newt.o: CFLAGS+=$(N_INCLUDE)
+nmenuselect: $(OBJS) $(N_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $^ $(N_LIBS)
+else
+nmenuselect:
+endif
+
+menuselect: $(OBJS) $(M_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $^ $(M_LIBS)
+
+mxml/libmxml.a:
+	@if test ! -f mxml/Makefile ; then cd mxml && ./configure ; fi
+	@$(MAKE) -C mxml libmxml.a
+
+test: menuselect
+	(cd test; ../$< menuselect.makeopts)
+
+ctest: cmenuselect
+	(cd test; ../$< menuselect.makeopts)
+
+gtest: gmenuselect
+	(cd test; ../$< menuselect.makeopts)
+
+ntest: nmenuselect
+	(cd test; ../$< menuselect.makeopts)
+
+clean:
+	rm -f menuselect cmenuselect gmenuselect nmenuselect $(OBJS) $(M_OBJS) $(C_OBJS) $(G_OBJS) $(N_OBJS)
+	@if test -f mxml/Makefile ; then $(MAKE) -C mxml clean ; fi
+
+dist-clean: distclean
+
+distclean: clean
+	@if test -f mxml/Makefile ; then $(MAKE) -C mxml distclean ; fi
+	rm -f autoconfig.h config.status config.log makeopts
+	rm -rf autom4te.cache

Propchange: trunk/menuselect/Makefile
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/menuselect/Makefile
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: trunk/menuselect/Makefile
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: trunk/menuselect/README
URL: http://svnview.digium.com/svn/asterisk/trunk/menuselect/README?view=auto&rev=418832
==============================================================================
--- trunk/menuselect/README (added)
+++ trunk/menuselect/README Thu Jul 17 13:42:43 2014
@@ -1,0 +1,179 @@
+MENUSELECT
+Copyright (C) 2005-2006, Digium, Inc.
+Russell Bryant <russell at digium.com>
+-------------------------------------------------------------------------------
+
+
+ABOUT
+
+Menuselect is a tool designed to be used in conjunction with GNU make. It
+allows for an XML specification of Makefile variables and optional space
+delimited values of these variables. These values can then be used in the
+Makefile to make various decisions during the build process.
+
+Menuselect also provides a mechanism for dependency checking for each possible
+member (value) of each category (Makefile variable). These dependencies are
+generally checked by using autoconf and the results provided to menuselect. If
+dependencies for a member are not met, the user will not be allowed to make
+that selection. In the same way the menuselect does dependency checking, it
+also does conflict checking. If a listed conflict for a member is met, then
+the user will not be allowed to select it.
+
+For use with automated builds or when the user has no desire to make selections
+different than the defined defaults, menuselect can generate a default output
+file for use in the build.
+
+Menuselect can also do a sanity check on existing input files. If any member
+has been selected that has conflicts or unmet dependencies, then menuselect
+will exit with an error and output to notify the user of the situation. This is
+typically done at the beginning of the build process to ensure that given all
+of the known information, the build is going to be successful.
+
+
+MENUSELECT DEPENDENCIES
+
+libncurses -- This is needed for the curses frontend.
+libnewt -- This is needed for the newt frontend (optional).
+libmxml -- This library, Mini-XML, is used for XML parsing. 
+           (http://www.easysw.com/~mike/mxml/)
+	   (Asterisk uses the code in http://svn.digium.com/svn/mxml/ )
+
+
+ENVIRONMENT SETUP
+
+The file menuselect.h contains a couple of defines which specify locations for
+various files.  These locations are relative to the directory from which
+menuselect will be executed.
+
+#define OUTPUT_MAKEOPTS_DEFAULT "menuselect.makeopts"
+This is the location where the menuselect output will be saved.
+
+#define MENUSELECT_DEPS         "build_tools/menuselect-deps"
+This is the location where menuselect will expect to find the input file that
+provides dependency and conflict information. More information on the format of
+this file can be found in the section about dependency and conflict checking.
+
+
+DEPENDENCY AND CONFLICT CHECKING
+
+Members may have as many conflicts and dependencies specified as needed. An
+example of the MENUSELECT_DEPS file would look like this:
+
+DEPENDENCY1=1
+DEPENDENCY2=0
+CONFLICT1=0
+
+In this case, "DEPENDENCY1" has been met, "DEPENDENCY2" has not been met, and
+"CONFLICT1" is not present.
+
+To ask menuselect to do a background sanity check on dependencies and
+conflicts, it can be called like this:
+
+./menuselect --check-deps <input_file1> [input_file2] [...]
+
+The format of the input files must be of the same format menuselect uses to
+create the OUPUT_MAKEOPTS_DEFAULT.
+
+
+ENABLING AND DISABLING OPTIONS FROM THE COMMAND LINE
+
+If you would like menuselect to update choices via the command line, it can be
+done with the following syntax:
+
+Enable an option:
+   $ menuselect/menuselect --enable TEST_FRAMEWORK menuselect.makeopts
+
+Enable all options in a category:
+   $ menuselect/menuselect --enable-category MENUSELECT_TEST menuselect.makeopts
+
+Disable an option:
+   $ menuselect/menuselect --disable TEST_FRAMEWORK menuselect.makeopts
+
+Disable all options in a category:
+   $ menuselect/menuselect --disable-category MENUSELECT_TEST menuselect.makeopts
+
+
+SETTING UP AVAILABLE OPTIONS
+
+The XML specification for the menu lives in the file "menuselect-tree" and should
+be in the same directory that menuselect will be executed from. An example
+menuselect-tree file as used in the Asterisk project (http://www.asterisk.org) is
+provided in example_menuselect-tree
+
+Menu:
+   The top level tag in menuselect-tree is the <menu> tag. All of the categories
+   reside inside of the <menu> ... </menu> block.
+
+Menu Attributes:
+   name="Asterisk Module Selection"
+   This specifies the title of the menu. It is displayed at the top of the
+   screen when using the curses frontend
+
+Categories:
+   A <category> contains members. The category tag can contain a number of
+   different attributes to specify different behavior.
+
+Category Attributes:
+   name="MENUSELECT_APPS"
+   The name attribute is required. This is the name of the variable that will
+   be in the output from menuselect.
+	
+   displayname="Applications"
+   If this is specfied, this is what will be shown in the menu to the user.
+
+   positive_output="yes"
+   The default for menuselect is to output all of the members of a category
+   that are *not* selected. This is because it is often convenient to be able
+   to define a full list in the Makefile and then filter out the results from
+   menuselect. Using GNU make, an example of this would be:
+   APPS:=$(filter-out $(MENUSELECT_APPS),$(APPS)) 
+
+   remove_on_change=".lastclean"
+   This attribute can contain a space delimited list of files to be deleted
+   when it is time to build an output file if any of the members of this
+   category have changed values from their values for existing input when the
+   application was started.
+
+Members:
+   A <member> contains conflicts and dependencies. The member tag can contain a
+   number of different attributes to specify different behavior.
+
+Member Attributes:
+   name="app_meetme"
+   The name attribute is required. This is the value that will be added to the 
+   variable specified by the category when selected (or not selected) depending
+   on the setting of the positive_output attribute of the category.
+	
+   displayname="Call Conferencing Application"
+   If this is specified, this will be provided as a description of this member
+   when the cursor is on it in the menu.
+
+   remove_on_change="apps/app_meetme.o apps/app_meetme.so"
+   This attribute can contain a space delimeted list of files to be deleted
+   when it is time to build an output file if the value of this member has
+   changed from its value in any existing input when the application was
+   started.
+
+Dependencies:
+   A dependency for a <member> is specified using a <depend> tag. The name of
+   the dependency corresponds to names in the MENUSELECT_DEPS file. This is an
+   example of specifying a dependency for a member:
+      <member name="app_meetme">
+         <depend>zaptel</depend>
+      </member>   
+
+Conflicts:
+   A conflict for a <member> is specified using a <conflict> tag. The name of
+   the conflict corresponds to names in the MENUSELECT_DEPS file. This is an
+   example of specifying a dependency for a member:
+      <member name="res_musiconhold">
+         <conflict>win32</conflict>
+      </member>
+
+
+REPORTING BUGS
+
+Any bug reports or feature enhancement submissions to menuselect should be
+submitted at https://issues.asterisk.org/
+
+Thank you!

Propchange: trunk/menuselect/README
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/menuselect/README
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: trunk/menuselect/README
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: trunk/menuselect/acinclude.m4
URL: http://svnview.digium.com/svn/asterisk/trunk/menuselect/acinclude.m4?view=auto&rev=418832
==============================================================================
--- trunk/menuselect/acinclude.m4 (added)
+++ trunk/menuselect/acinclude.m4 Thu Jul 17 13:42:43 2014
@@ -1,0 +1,199 @@
+# Helper function to check for gcc attributes.
+# AST_GCC_ATTRIBUTE([attribute name], [attribute syntax], [attribute scope], [makeopts flag])
+
+AC_DEFUN([AST_GCC_ATTRIBUTE],
+[
+AC_MSG_CHECKING(checking for compiler 'attribute $1' support)
+saved_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -Wall -Wno-unused -Werror"
+m4_ifval([$4],$4=0)
+
+if test "x$2" = "x"
+then
+AC_COMPILE_IFELSE(
+	AC_LANG_PROGRAM([$3 void __attribute__(($1)) *test(void *muffin, ...) {return (void *) 0;}],
+			[]),
+	AC_MSG_RESULT(yes)
+	m4_ifval([$4],$4=1)
+	AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
+	AC_MSG_RESULT(no)
+)
+else
+AC_COMPILE_IFELSE(
+	AC_LANG_PROGRAM([$3 void __attribute__(($2)) *test(void *muffin, ...) {return (void *) 0;}],
+			[]),
+	AC_MSG_RESULT(yes)
+	m4_ifval([$4],$4=1)
+	AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]),
+	AC_MSG_RESULT(no)
+)
+fi
+
+m4_ifval([$4],[AC_SUBST($4)])
+CFLAGS="$saved_CFLAGS"
+])
+
+# AST_EXT_LIB_SETUP([package symbol name], [package friendly name], [package option name], [additional help text])
+
+AC_DEFUN([AST_EXT_LIB_SETUP],
+[
+$1_DESCRIP="$2"
+$1_OPTION="$3"
+AC_ARG_WITH([$3], AC_HELP_STRING([--with-$3=PATH],[use $2 files in PATH $4]),[
+case ${withval} in
+     n|no)
+     USE_$1=no
+     ;;
+     y|ye|yes)
+     $1_MANDATORY="yes"
+     ;;
+     *)
+     $1_DIR="${withval}"
+     $1_MANDATORY="yes"
+     ;;
+esac
+])
+PBX_$1=0
+AC_SUBST([$1_LIB])
+AC_SUBST([$1_INCLUDE])
+AC_SUBST([PBX_$1])
+])
+
+# AST_EXT_LIB_CHECK([package symbol name], [package library name], [function to check], [package header], [additional LIB data])
+
+AC_DEFUN([AST_EXT_LIB_CHECK],
+[
+if test "${USE_$1}" != "no"; then
+   pbxlibdir=""
+   if test "x${$1_DIR}" != "x"; then
+      if test -d ${$1_DIR}/lib; then
+      	 pbxlibdir="-L${$1_DIR}/lib"
+      else
+      	 pbxlibdir="-L${$1_DIR}"
+      fi
+   fi
+   AC_CHECK_LIB([$2], [$3], [AST_$1_FOUND=yes], [AST_$1_FOUND=no], ${pbxlibdir} $5)
+
+   if test "${AST_$1_FOUND}" = "yes"; then
+      $1_LIB="-l$2 $5"
+      $1_HEADER_FOUND="1"
+      if test "x${$1_DIR}" != "x"; then
+         $1_LIB="${pbxlibdir} ${$1_LIB}"
+	 $1_INCLUDE="-I${$1_DIR}/include"
+	 if test "x$4" != "x" ; then
+	    AC_CHECK_HEADER([${$1_DIR}/include/$4], [$1_HEADER_FOUND=1], [$1_HEADER_FOUND=0] )
+	 fi
+      else
+	 if test "x$4" != "x" ; then
+            AC_CHECK_HEADER([$4], [$1_HEADER_FOUND=1], [$1_HEADER_FOUND=0] )
+	 fi
+      fi
+      if test "x${$1_HEADER_FOUND}" = "x0" ; then
+         if test ! -z "${$1_MANDATORY}" ;
+         then
+            AC_MSG_NOTICE( ***)
+            AC_MSG_NOTICE( *** It appears that you do not have the $2 development package installed.)
+            AC_MSG_NOTICE( *** Please install it to include ${$1_DESCRIP} support, or re-run configure)
+            AC_MSG_NOTICE( *** without explicitly specifying --with-${$1_OPTION})
+            exit 1
+         fi
+         $1_LIB=""
+         $1_INCLUDE=""
+         PBX_$1=0
+      else
+         PBX_$1=1
+         AC_DEFINE_UNQUOTED([HAVE_$1], 1, [Define to indicate the ${$1_DESCRIP} library])
+      fi
+   elif test ! -z "${$1_MANDATORY}";
+   then
+      AC_MSG_NOTICE(***)
+      AC_MSG_NOTICE(*** The ${$1_DESCRIP} installation on this system appears to be broken.)
+      AC_MSG_NOTICE(*** Either correct the installation, or run configure)
+      AC_MSG_NOTICE(*** without explicitly specifying --with-${$1_OPTION})
+      exit 1
+   fi
+fi
+])
+
+
+AC_DEFUN(
+[AST_CHECK_GNU_MAKE], [AC_CACHE_CHECK([for GNU make], [ac_cv_GNU_MAKE],
+   ac_cv_GNU_MAKE='Not Found' ;
+   ac_cv_GNU_MAKE_VERSION_MAJOR=0 ;
+   ac_cv_GNU_MAKE_VERSION_MINOR=0 ;
+   for a in make gmake gnumake ; do
+      if test -z "$a" ; then continue ; fi ;
+      if ( sh -c "$a --version" 2> /dev/null | grep GNU  2>&1 > /dev/null ) ;  then
+         ac_cv_GNU_MAKE=$a ;
+         ac_cv_GNU_MAKE_VERSION_MAJOR=`$ac_cv_GNU_MAKE --version | grep "GNU Make" | cut -f3 -d' ' | cut -f1 -d'.'`
+         ac_cv_GNU_MAKE_VERSION_MINOR=`$ac_cv_GNU_MAKE --version | grep "GNU Make" | cut -f2 -d'.' | cut -c1-2`
+         break;
+      fi
+   done ;
+) ;
+if test  "x$ac_cv_GNU_MAKE" = "xNot Found"  ; then
+   AC_MSG_ERROR( *** Please install GNU make.  It is required to build Asterisk!)
+   exit 1
+fi
+AC_SUBST([GNU_MAKE], [$ac_cv_GNU_MAKE])
+])
+
+# AST_FUNC_FORK
+# -------------
+AN_FUNCTION([fork],  [AST_FUNC_FORK])
+AN_FUNCTION([vfork], [AST_FUNC_FORK])
+AC_DEFUN([AST_FUNC_FORK],
+[AC_REQUIRE([AC_TYPE_PID_T])dnl
+AC_CHECK_HEADERS(vfork.h)
+AC_CHECK_FUNCS(fork vfork)
+if test "x$ac_cv_func_fork" = xyes; then
+  _AST_FUNC_FORK
+else
+  ac_cv_func_fork_works=$ac_cv_func_fork
+fi
+if test "x$ac_cv_func_fork_works" = xcross; then
+  case $host in
+    *-*-amigaos* | *-*-msdosdjgpp* | *-*-uclinux* | *-*-linux-uclibc* )
+      # Override, as these systems have only a dummy fork() stub
+      ac_cv_func_fork_works=no
+      ;;
+    *)
+      ac_cv_func_fork_works=yes
+      ;;
+  esac
+  AC_MSG_WARN([result $ac_cv_func_fork_works guessed because of cross compilation])
+fi
+ac_cv_func_vfork_works=$ac_cv_func_vfork
+if test "x$ac_cv_func_vfork" = xyes; then
+  _AC_FUNC_VFORK
+fi;
+if test "x$ac_cv_func_fork_works" = xcross; then
+  ac_cv_func_vfork_works=$ac_cv_func_vfork
+  AC_MSG_WARN([result $ac_cv_func_vfork_works guessed because of cross compilation])
+fi
+
+if test "x$ac_cv_func_vfork_works" = xyes; then
+  AC_DEFINE(HAVE_WORKING_VFORK, 1, [Define to 1 if `vfork' works.])
+else
+  AC_DEFINE(vfork, fork, [Define as `fork' if `vfork' does not work.])
+fi
+if test "x$ac_cv_func_fork_works" = xyes; then
+  AC_DEFINE(HAVE_WORKING_FORK, 1, [Define to 1 if `fork' works.])
+fi
+])# AST_FUNC_FORK
+
+
+# _AST_FUNC_FORK
+# -------------
+AC_DEFUN([_AST_FUNC_FORK],
+  [AC_CACHE_CHECK(for working fork, ac_cv_func_fork_works,
+    [AC_RUN_IFELSE(
+      [AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
+	[
+	  /* By Ruediger Kuhlmann. */
+	  return fork () < 0;
+	])],
+      [ac_cv_func_fork_works=yes],
+      [ac_cv_func_fork_works=no],
+      [ac_cv_func_fork_works=cross])])]
+)# _AST_FUNC_FORK

Propchange: trunk/menuselect/acinclude.m4
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/menuselect/acinclude.m4
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: trunk/menuselect/acinclude.m4
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: trunk/menuselect/aclocal.m4
URL: http://svnview.digium.com/svn/asterisk/trunk/menuselect/aclocal.m4?view=auto&rev=418832
==============================================================================
--- trunk/menuselect/aclocal.m4 (added)
+++ trunk/menuselect/aclocal.m4 Thu Jul 17 13:42:43 2014
@@ -1,0 +1,14 @@
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_include([acinclude.m4])

Propchange: trunk/menuselect/aclocal.m4
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/menuselect/aclocal.m4
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: trunk/menuselect/aclocal.m4
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: trunk/menuselect/autoconfig.h.in
URL: http://svnview.digium.com/svn/asterisk/trunk/menuselect/autoconfig.h.in?view=auto&rev=418832
==============================================================================
--- trunk/menuselect/autoconfig.h.in (added)
+++ trunk/menuselect/autoconfig.h.in Thu Jul 17 13:42:43 2014
@@ -1,0 +1,128 @@
+/* autoconfig.h.in.  Generated from configure.ac by autoheader.  */
+
+#ifndef MENUSELECT_AUTOCONFIG_H
+#define MENUSELECT_AUTOCONFIG_H
+
+#ifndef _REENTRANT
+#define _REENTRANT
+#endif
+
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+#undef CRAY_STACKSEG_END
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#undef HAVE_ALLOCA_H
+
+/* Define to 1 if you have the `asprintf' function. */
+#undef HAVE_ASPRINTF
+
+/* Define to 1 if your GCC C compiler supports the 'weak' attribute. */
+#undef HAVE_ATTRIBUTE_weak
+
+/* Define to 1 if your GCC C compiler supports the 'weak_import' attribute. */
+#undef HAVE_ATTRIBUTE_weak_import
+
+/* Define to 1 if your GCC C compiler supports the 'weakref' attribute. */
+#undef HAVE_ATTRIBUTE_weakref
+
+/* Define to indicate the ${CURSES_DESCRIP} library */
+#undef HAVE_CURSES
+
+/* Define to 1 if you have the `getloadavg' function. */
+#undef HAVE_GETLOADAVG
+
+/* Define if your system has the GTK2 libraries. */
+#undef HAVE_GTK2
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to indicate the ${NCURSES_DESCRIP} library */
+#undef HAVE_NCURSES
+
+/* Define to indicate the ${NEWT_DESCRIP} library */
+#undef HAVE_NEWT
+
+/* Define to 1 if you have the `setenv' function. */
+#undef HAVE_SETENV
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strcasestr' function. */
+#undef HAVE_STRCASESTR
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strndup' function. */
+#undef HAVE_STRNDUP
+
+/* Define to 1 if you have the `strnlen' function. */
+#undef HAVE_STRNLEN
+
+/* Define to 1 if you have the `strsep' function. */
+#undef HAVE_STRSEP
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `unsetenv' function. */
+#undef HAVE_UNSETENV
+
+/* Define to 1 if you have the `vasprintf' function. */
+#undef HAVE_VASPRINTF
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+#endif
+

Propchange: trunk/menuselect/autoconfig.h.in
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/menuselect/autoconfig.h.in
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: trunk/menuselect/autoconfig.h.in
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: trunk/menuselect/bootstrap.sh
URL: http://svnview.digium.com/svn/asterisk/trunk/menuselect/bootstrap.sh?view=auto&rev=418832
==============================================================================
--- trunk/menuselect/bootstrap.sh (added)
+++ trunk/menuselect/bootstrap.sh Thu Jul 17 13:42:43 2014
@@ -1,0 +1,41 @@
+#!/bin/sh
+
+check_for_app() {
+	$1 --version 2>&1 >/dev/null
+	if [ $? != 0 ]
+	then
+		echo "Please install $1 and run bootstrap.sh again!"
+		exit 1
+	fi
+}
+
+uname -s | grep -q FreeBSD
+if [ $? = 0 ]
+then
+	check_for_app autoconf259
+	check_for_app autoheader259
+	check_for_app automake19
+	check_for_app aclocal19
+	echo "Generating the configure script ..."
+	aclocal19 2>/dev/null
+	autoconf259
+	autoheader259
+	automake19 --add-missing --copy 2>/dev/null
+else
+	AUTOCONF_VERSION=2.59
+	AUTOMAKE_VERSION=1.9
+	export AUTOCONF_VERSION
+	export AUTOMAKE_VERSION
+
+	check_for_app autoconf
+	check_for_app autoheader
+	check_for_app automake
+	check_for_app aclocal
+	echo "Generating the configure script ..."
+	aclocal 2>/dev/null
+	autoconf
+	autoheader
+	automake --add-missing --copy 2>/dev/null
+fi
+
+exit 0

Propchange: trunk/menuselect/bootstrap.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/menuselect/bootstrap.sh
------------------------------------------------------------------------------
    svn:executable = *

Propchange: trunk/menuselect/bootstrap.sh
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: trunk/menuselect/bootstrap.sh
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: trunk/menuselect/config.guess
URL: http://svnview.digium.com/svn/asterisk/trunk/menuselect/config.guess?view=auto&rev=418832
==============================================================================
--- trunk/menuselect/config.guess (added)
+++ trunk/menuselect/config.guess Thu Jul 17 13:42:43 2014
@@ -1,0 +1,1501 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+#   Free Software Foundation, Inc.
+
+timestamp='2009-12-13'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner.  Please send patches (context
+# diff format) to <config-patches at gnu.org> and include a ChangeLog
+# entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi at noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep -q __ELF__
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    *:SolidBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos

[... 19439 lines stripped ...]



More information about the asterisk-commits mailing list