Merge branch 'master' into v1.4
This commit is contained in:
commit
af97a59956
|
@ -141,10 +141,6 @@ if HAVE_ODBC
|
|||
CORE_CFLAGS += -DSWITCH_HAVE_ODBC $(ODBC_INC_FLAGS)
|
||||
endif
|
||||
|
||||
if ENABLE_TIMERFD_WRAPPER
|
||||
CORE_CFLAGS += -DTIMERFD_WRAP
|
||||
endif
|
||||
|
||||
##
|
||||
## libfreeswitch
|
||||
##
|
||||
|
|
|
@ -1,4 +1,14 @@
|
|||
<include>
|
||||
<macro name="fifo_position">
|
||||
<input pattern="^(.*)$">
|
||||
<match>
|
||||
<action function="play-file" data="ivr/ivr-you_are_number.wav"/>
|
||||
<action function="say" data="${fifo_position}" method="pronounced" type="items"/>
|
||||
<action function="play-file" data="ivr/ivr-in_line.wav"/>
|
||||
</match>
|
||||
</input>
|
||||
</macro>
|
||||
|
||||
<macro name="queue_position">
|
||||
<input pattern="^(\d+)$">
|
||||
<match>
|
||||
|
|
|
@ -630,10 +630,6 @@ if test x"$enable_deprecated_core_db_events" = x"yes" ; then
|
|||
AC_DEFINE([SWITCH_DEPRECATED_CORE_DB], [1], [Define to 1 to enable deprecated core db events])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(timerfd-wrapper,
|
||||
[AC_HELP_STRING([--enable-timerfd-wrapper],[timerfd is in the kernel but not in your libc])],[enable_timer_fd_wrapper="$enableval"],[enable_timer_fd_wrapper="no"])
|
||||
AM_CONDITIONAL([ENABLE_TIMERFD_WRAPPER],[test "x$enable_timer_fd_wrapper" != "xno"])
|
||||
|
||||
ESL_LDFLAGS=
|
||||
PLATFORM_CORE_LDFLAGS=
|
||||
PLATFORM_CORE_LIBS=
|
||||
|
|
|
@ -666,7 +666,7 @@ opal
|
|||
/unimrcp/build/svnrev/Makefile.in
|
||||
/unimrcp/build/svnrev/svnrev
|
||||
!/unimrcp/build/tools/unimrcpservice.exe.manifest
|
||||
/unimrcp/build/uni_revision.h
|
||||
!/unimrcp/build/uni_revision.h
|
||||
!/unimrcp/configure.gnu
|
||||
/unimrcp/conf/Makefile
|
||||
/unimrcp/conf/Makefile.in
|
||||
|
|
|
@ -76,7 +76,7 @@ typedef int apr_signum_t;
|
|||
* @return offset
|
||||
*/
|
||||
|
||||
#if defined(CRAY) || (defined(__arm) && !defined(LINUX))
|
||||
#if defined(CRAY) || (defined(__arm) && !(defined(LINUX) || defined(__FreeBSD__)))
|
||||
#ifdef __STDC__
|
||||
#define APR_OFFSET(p_type,field) _Offsetof(p_type,field)
|
||||
#else
|
||||
|
|
|
@ -377,6 +377,30 @@
|
|||
#define APR_RING_REMOVE(ep, link) \
|
||||
APR_RING_UNSPLICE((ep), (ep), link)
|
||||
|
||||
/**
|
||||
* Iterate over a ring
|
||||
* @param ep The current element
|
||||
* @param head The head of the ring
|
||||
* @param elem The name of the element struct
|
||||
* @param link The name of the APR_RING_ENTRY in the element struct
|
||||
*/
|
||||
#define APR_RING_FOREACH(ep, head, elem, link) \
|
||||
for (ep = APR_RING_FIRST(head); \
|
||||
ep != APR_RING_SENTINEL(head, elem, link); \
|
||||
ep = APR_RING_NEXT(ep, link))
|
||||
|
||||
/**
|
||||
* Iterate over a ring safe against removal of the current element
|
||||
* @param ep1 The current element
|
||||
* @param ep2 Iteration cursor
|
||||
* @param head The head of the ring
|
||||
* @param elem The name of the element struct
|
||||
* @param link The name of the APR_RING_ENTRY in the element struct
|
||||
*/
|
||||
#define APR_RING_FOREACH_SAFE(ep1, ep2, head, elem, link) \
|
||||
for (ep1 = APR_RING_FIRST(head), ep2 = APR_RING_NEXT(ep1, link); \
|
||||
ep1 != APR_RING_SENTINEL(head, elem, link); \
|
||||
ep1 = ep2, ep2 = APR_RING_NEXT(ep1, link))
|
||||
|
||||
/* Debugging tools: */
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
Thu Jun 16 15:02:31 UTC 2011
|
||||
Mon Nov 17 11:06:30 EST 2014
|
||||
|
|
|
@ -0,0 +1,214 @@
|
|||
Changes for UniMRCP-1.2.0
|
||||
|
||||
APR-toolkit library
|
||||
|
||||
* Implemented a new interface for the NLSML parser in accordance with the NSLML schema defined in http://tools.ietf.org/html/rfc6787#section-16.1.
|
||||
* Took out the legacy NLSML interface.
|
||||
* Fixed a gcc warning for strict-aliasing rules.
|
||||
* Implemented apt_pair_array_generate() in 2 passes, apr_pstrcatv() alike.
|
||||
* Prevent compilation warnings for unused-but-set-variable.
|
||||
* Use int instead of apt_task_msg_type_e to suppress a warning triggered by gcc 4.7: case value not in enumerated type 'apt_task_msg_type_e'.
|
||||
* Upon creation of a new memory pool, register apr_abortfunc_t callback which is supposed to be invoked when memory allocation fails within apr_pool.
|
||||
* Added apt_va_log() which accepts va_list as an input argument.
|
||||
* Set the default maximum number of log files used in rotation to 100.
|
||||
* Set thread names for APT tasks to be shown in debuggers. Thanks Vali.
|
||||
* Enable apt_timer logs only if APT_TIMER_DEBUG is defined.
|
||||
* Use a local temporary char buffer to construct the hostname in apt_ip_get() not to allocate memory from a permanent pool.
|
||||
* Unified pointer logging in APT style. Thanks Vali.
|
||||
* Define APT_PTR_FMT as 0x%I64x for 64-bit Windows.
|
||||
* Removed unused function apt_text_boolean_value_insert/apt_boolean_value_insert (inconsistent declaration/definition). Thanks Vali.
|
||||
|
||||
MPF library
|
||||
|
||||
* The function mpf_codec_lists_intersect() now returns FALSE if there is no match for the primary codec descriptor.
|
||||
* Reject the RTP session if there is no match in remote and local codecs.
|
||||
* Use the reserved RTP payload type 19 in case codec list is empty (media stream is rejected).
|
||||
* If the codec list does not match the capabilities, mark the stream as disabled.
|
||||
* Do not set SO_REUSEADDR on RTP sockets.
|
||||
* Made G.711 implementation bit-exact with ITU-T reference implementation.
|
||||
* Use APR typedefs in G.711 implementation.
|
||||
* Improved the RTP port management for those cases when the specified RTP port range is not enough to handle concurrent MRCP sessions.
|
||||
* Check the number of ports per engine to be even to ensure there is a room for a pair of RTP/RTCP ports.
|
||||
* Added debugging capabilities to mpf_frame_buffer.
|
||||
* Copy name string when adding to codec capabilities. Thanks Vali.
|
||||
|
||||
MRCP common library
|
||||
|
||||
* Use apr_snprintf() instead of sprintf() in mrcp_request_id_generate().
|
||||
* Get rid of local fixed-size char buffers and additional string copies. Instead, allocate buffers from memory pool and generate strings straight into the buffers.
|
||||
|
||||
MRCP client library
|
||||
|
||||
* Completed the implementation of the new API function to retrieve a SIP/RTSP response code received from the server (Issue-90).
|
||||
* Fixed a potential crash of the client stack which could happen when the server unexpectedly closes the MRCPv2 connection while the client stack is processing an application request.
|
||||
* Allow a pool/factory of signaling agents to be defined with the MRCPv1 and/or MRCPv2 profiles.
|
||||
* Respond straight away with success to the session termination request if the session creation failed in the first place.
|
||||
* Keep track of associations between RTP termination factories (pools of RTP ports) and media engines.
|
||||
* Allow a pool/factory of media processing engines to be defined with the MRCPv1 and/or MRCPv2 profiles.
|
||||
* Allow a pool/factory of MRCPv2 connection agents to be defined with the MRCPv2 profiles.
|
||||
* Added the ability to specify an IP address by the name of network interface/adapter.
|
||||
* Added a new accessor function to the client API mrcp_client_profiles_get() which retrieves the available profiles.
|
||||
* Store the profile name not only as a key in the profile table but also in the profile structure.
|
||||
* Allow setting an arbitrary tag to the profile.
|
||||
|
||||
MRCP server library
|
||||
|
||||
* Handle separately the case when an RTSP SETUP contains no SDP, which means it's up to the server to decide which codec to use.
|
||||
* Fixed a crash if MRCP resource not found. Thanks Vali.
|
||||
* Keep track of associations between RTP termination factories (pools of RTP ports) and media engines.
|
||||
* Added the ability to specify an IP address by the name of network interface/adapter.
|
||||
* Log maximum engine channel count exceeded. Thanks Vali.
|
||||
|
||||
Sofia-SIP module (MRCPv2 agent)
|
||||
|
||||
* Do not generate media format list for a disabled audio stream.
|
||||
* Use snprintf() consistently in mrcp_sdp.c.
|
||||
* Implemented the log redirection routine of SofiaSIP.
|
||||
* Added an indentifier of the SofiaSIP agent to the log statement "Receive SIP Event".
|
||||
|
||||
RTSP module (MRCPv1 agent)
|
||||
|
||||
* Do not generate media format list for a disabled audio stream.
|
||||
|
||||
Demo plugins
|
||||
|
||||
* Respond with failure if codec descriptor is unavailable (associated media stream is disabled).
|
||||
|
||||
UMC sample application
|
||||
|
||||
* Terminate execution of sample application if media descriptor is unavailable (media stream is disabled).
|
||||
* Use the new NLSML parser interface in sample apps.
|
||||
* Set the header field Save-Waveform to TRUE in the sample umc recog application.
|
||||
* Fixed an invalid read of 8 bytes in umc application: sizeof(mpf_codec_capabilities_t) was meant to be allocated.
|
||||
|
||||
ASR Client application (and library)
|
||||
|
||||
* Get rid of 1Kb grammar file limit in libasrclient. Load the content into an allocated buffer instead.
|
||||
|
||||
Miscellaneous
|
||||
|
||||
* Copy the version and revision header files located in the build directory to the SDK include directory.
|
||||
* Added/fixed support for DESTDIR.
|
||||
* Take into consideration m4 macro files generated for/by libtool 2.
|
||||
* Set ac_macro_dir variable manually, since newer versions of autoconf don't do that.
|
||||
* Enable silent build rules (--enable-silent-rules)and use silent build by default.
|
||||
* Enhanced the report generated by the ./configure script.
|
||||
* Pass no-define to AM_INIT_AUTOMAKE in order not to define PACKAGE and VERSION.
|
||||
* Do not use autoconf generated compiler DEFS by replacing confdefs.h after AC_INIT, AM_INIT_AUTOMAKE and AC_PROG_LIBTOLL getting called.
|
||||
* Updated definition of the macro AX_COMPILER_VENDOR and moved it out from configure.ac to a separate m4 file.
|
||||
* Added missing dereferences of pointers to the (potential) terminal NUL of some strings. Thanks Vali.
|
||||
* Disabled DEFAULT_INCLUDES provided by automake.
|
||||
* Added generic apr_common.m4 in order to use helper m4 macros APR_ADDTO() and APR_CONFIG_NICE().
|
||||
* Generate ./config.nice to reuse ./configure command-line.
|
||||
* Added uni_plugin.m4 which provides generic macros UNI_PLUGIN_ENABLED(name) and UNI_PLUGIN_DISABLED(name).
|
||||
* Added common GNU make rules/vars for plugins, client and server libs/apps alike VS property sheets.
|
||||
* The macro UNIMRCP_CHECK_APR() now checks and sets variables for both APR and APR-util libraries.
|
||||
* Added a brief description of the license definition which is intended to be used for Windows resource files only.
|
||||
* Brought XML schema definitions of configuration file formats up to date.
|
||||
* Cppcheck: printf-like formats fix, possible NULL pointer dereference, member not initialized in the constructor,
|
||||
unused variable/value, method can be made static. Thanks Vali.
|
||||
* Define _WIN64 in Visual Studio x64 targets (for IDE only, the compiler defines _WIN64 anyway). Thanks Vali.
|
||||
* Fixed some GCC warnings. Thanks Vali.
|
||||
* Moved mrcp-flite and mrcp-pocketsphinx plugins out of the source tree into the external solutions directory.
|
||||
|
||||
|
||||
Changes for UniMRCP-1.1.0
|
||||
|
||||
APR-toolkit library
|
||||
|
||||
* The function apt_log_file_open() makes a copy of dir_path and file_name variables passed from a user application.
|
||||
* Applied a patch to the apt_log routine which allows the log file to be appended instead of being overwritten. The patch was submitted by Dani. Thanks.
|
||||
* Added a new parameter to the function apt_log_file_open() which specifies whether the log file should be appended or overwritten.
|
||||
* Fixed the formatting of float values in the header fields. Applied a patch submitted by Randy (Issue-108). Thanks.
|
||||
* Fixed apt_log_output_mode_check() which returned TRUE if any mode was enabled or checked regardless their correspondence. Thanks Vali.
|
||||
* Enhanced the debug output by adding task message identifier to the log statements "Signal Message" and "Process Message".
|
||||
* Fixed a potential crash related to the use of pollsets.
|
||||
* Fixed a potential buffer overflow in apt_text_pair_array_insert(). Thanks Vali.
|
||||
* Remove a socket descriptor from the pollset only if the descriptor has been properly added to the pollset. Otherwise, this operation could cause a crash.
|
||||
|
||||
MPF library
|
||||
|
||||
* Tweaked DTMF detector's energy thresholds to eliminate false positives during in-band (from audio) DTMF detection. Thanks Vali.
|
||||
* Took into consideration the RTP marker in order to re-sync the jitter buffer on a new talkspurt. Audio data loss could be experienced in the RTP receiver in case of consecutive SPEAK (for client) or RECOGNIZE (for server) requests.
|
||||
* Instead of discarding a non-aligned RTP packet, adjust the timestamp and write available frames to the jitter buffer (Issue-122).
|
||||
* Added support for the adaptive jitter buffer. Applied a reworked patch submitted by Erik. Thanks.
|
||||
* Enhanced the detection of a new RTP talkspurt by implicitly setting the RTP marker if a gap between two RTP packets is more than the specified threshold (INTER_TALSKPUSRT_GAP = 1000 msec).
|
||||
* Allow the initial playout delay in the jitter buffer to be set to 0.
|
||||
* Implemented a time skew detection algorithm for RTP streams. The detection can be enabled and used for both the adaptive and static jitter buffer.
|
||||
* Added support for redirection of RTP traces (RTP_TRACE, JB_TRACE) to the debug output window of Visual Studio.
|
||||
* Enhanced the processing of the RTP named events.
|
||||
|
||||
RTSP library
|
||||
|
||||
* Use strcasecmp() instead of apr_strnatcasecmp() to match RTSP resource names (Issue-94).
|
||||
* Fixed a crash in the RTSP client stack when the server closes a TCP connection while the associated RTSP session is being destroyed (Issue-124).
|
||||
* Fixed the processing of RTSP TEARDOWN requests being timed out. Applied a patch submitted to Issue-125 by Chris. Thanks.
|
||||
* For logging purposes, pass a string identifier of the RTSP/MRCPv1 signaling agent to the RTSP client and server stacks.
|
||||
|
||||
MRCP common library
|
||||
|
||||
* Added missing recognizer header fields used for voice enrollment (speaker-dependent recognition).
|
||||
* Added support for custom MRCP header fields.
|
||||
* Added support for speaker verification and identification resource.
|
||||
* Added missing recognizer methods used for voice enrollment and interpretation.
|
||||
* Updated the state machine of the recognizer resource to take into consideration requests, responses and events used for interpretation.
|
||||
* Enhanced helper functions which operate on the MRCP header to properly set, get and inherit header fields (Issue-110).
|
||||
|
||||
MRCP client library
|
||||
|
||||
* Added support for SIP redirection with 300 Multiple Choices used by the Nuance Resource Manager.
|
||||
* Added support for feature-tags set in the SIP Accept-Contact header field in an outgoing SIP INVITE message sent to the Nuance Resource Manager.
|
||||
* Added a new accessor function to the client API to get an audio stream associated with the specified channel. The function name is mrcp_application_audio_stream_get().
|
||||
* Added the ability to retrieve an external object associated with the MRCP session through the log handler (apt_log_ext_handler_f).
|
||||
* Fixed the processing of a response to the SIP OPTIONS request used for resource discovery (Issue-112).
|
||||
* Added a new constructor function unimrcp_client_create2() which allows to pass the client XML configuration not by a file, but rather by a string parameter. Thanks Vali.
|
||||
* Fixed the processing of more than one pending application requests upon reception of a SIP BYE message from the server.
|
||||
* Fixed the loading of the client configuration parameter <offer-new-connection>.
|
||||
* Respond to client user application requests with failure if a new session couldn't be created due to an error in initialization of the SIP stack (Issue-127).
|
||||
* When originating an offer from the client, take into account capabilities of an audio stream created by the client user application.
|
||||
* Added a new function to the client API to retrieve a SIP/RTSP response code received from the server (Issue-90). The support is incomplete.
|
||||
|
||||
MRCP server library
|
||||
|
||||
* Fixed an interoperability issue with AVP. The mid attribute is not required when the SDP contains only one m-line.
|
||||
* Fixed the build of C++ MRCP plugins for platforms other than Win32. Thanks Vali.
|
||||
* Added the ability to take and use parameters set by the plugin in a response to the GET-PARAMS request. Thanks Vali.
|
||||
|
||||
Sofia-SIP module
|
||||
|
||||
* Took out unused tags (variables) to compile with Sofia-SIP 1.12.11.
|
||||
* Added support for Sofia-SIP's TPTAG_LOG() and TPTAG_DUMP() tags which can be enabled from the client and server configuration to print out and/or dump SIP messages.
|
||||
|
||||
PocketSphinx plugin
|
||||
|
||||
* In the PocketSphinx plugin, instead of using one common timeout for detection of speech activity and inactivity, use two different timeouts: one for activity and the other for inactivity detection.
|
||||
* In the recognition results sent from the PocketSphinx plugin, set both <instance> and <input> elements.
|
||||
* Fixed a race condition in the PocketSphinx plugin which caused the server to crash.
|
||||
* Fixed the use of recognition timer in the PocketSphinx plugin.
|
||||
* Set an MRCP version specific completion cause in the PocketSphinx plugin.
|
||||
|
||||
UniMRCP server application
|
||||
|
||||
* Enhanced the UniMRCP Windows service manager. Thanks Vali.
|
||||
* Corrected FileType in Windows resources from DLL to APP. Thanks Vali.
|
||||
* Added a Windows resource file for the unimrcpservice application.
|
||||
|
||||
UMC sample application
|
||||
|
||||
* Set the default profile name in umcscenarios.xml to "uni2".
|
||||
* Added sample 8kHz and 16 kHz voiceprints in the data directory which are used by the umc application for a sample verification scenario.
|
||||
* Added mandatory attributes for the SSML <speak> element in the sample speak.xml file.
|
||||
* Added support for a binary recognition grammar used in RecogScenario by the sample umc application. Thanks Vali.
|
||||
* Added a sample SRGS ABNF grammar to the data directory.
|
||||
|
||||
Miscellaneous
|
||||
|
||||
* Added init.d script. The script was originally submitted by pdeschen. Thanks.
|
||||
* Modified the "prepare" utility project to use the new location of PthreadVC2.dll which is now built from source with other dependencies.
|
||||
* Added support for Visual Studio 2010.
|
||||
* Modified the MPF test application to read a raw PCM data from one file, transmit it over RTP, and write the data back to another file.
|
||||
* Set the libtool parameters link_all_deplibs and link_all_deplibs_CXX to "yes" by default, with an option to disable them (--disable-interlib-deps), if ever needed. This fixes a link error on recent Debian/Ubuntu distributions.
|
||||
* Modified the apr.m4 and apu.m4 macros to use '--link-ld' instead of '--link-libtool --libs' for the APR library dependencies. This addresses the problem with a wrong -L path to the expat library.
|
||||
* Set prerequisite version for autoconf to 2.59.
|
||||
* Added a checking for pkg-config to the configure script.
|
||||
* Added a new option (-v or --version) to the unimrcpserver as well as the sample umc and unimrcpclient applications.
|
|
@ -1,96 +1,117 @@
|
|||
BUILD REQUIREMENTS
|
||||
==================
|
||||
UniMRCP depends on a number of third party tools and libraries,
|
||||
which are required and must be installed first.
|
||||
|
||||
The easiest and recommended way is to install an appropriate
|
||||
dependency package from the download area, which contains APR,
|
||||
APR-Util and Sofia-SIP libraries prepackaged for UniMRCP use.
|
||||
The UniMRCP project depends on a number of third party tools and libraries which must be installed first.
|
||||
|
||||
http://code.google.com/p/unimrcp/downloads/
|
||||
All the required dependencies are available to download prepackaged for the UniMRCP use from the
|
||||
following location:
|
||||
|
||||
Alternatively, the original packages of APR, APR-Util and
|
||||
Sofia-SIP libraries and patches for them can be downloaded from
|
||||
http://www.unimrcp.org/downloads/dependencies
|
||||
|
||||
http://www.unimrcp.org/dependencies/
|
||||
Alternatively, original versions of the libraries as well as patches on them can be downloaded
|
||||
separately from the following location:
|
||||
|
||||
http://www.unimrcp.org/dependencies
|
||||
|
||||
References:
|
||||
|
||||
1. Apache Portable Runtime [>=1.2.x] (http://apr.apache.org/).
|
||||
Whenever you want to build any part of UniMRCP, you need the
|
||||
Apache Portable Runtime (APR) and the APR Utility (APR-util)
|
||||
libraries.
|
||||
|
||||
2. Sofia-SIP [>=1.12.6] (http://sofia-sip.sourceforge.net/).
|
||||
Sofia-SIP library is used to implement MRCPv2 specification
|
||||
compliant SIP signaling. Sofia-SIP is an open-source SIP User-Agent
|
||||
library, compliant with the IETF RFC3261 specification.
|
||||
1. Apache Portable Runtime [>=1.2.x] (http://apr.apache.org).
|
||||
In order to build any part of the UniMRCP project, the Apache Portable Runtime (APR) and
|
||||
the APR Utility (APR-util) libraries are required. The libraries provide a consistent interface to
|
||||
underlying platform-specific implementations.
|
||||
|
||||
2. Sofia-SIP [>=1.12.6] (http://sofia-sip.sourceforge.net).
|
||||
Sofia-SIP is an open-source SIP User-Agent library, compliant with the IETF RFC3261 specification.
|
||||
The library is utilized for implementation of SIP signaling for MRCPv2. The SDP message parser is
|
||||
also used for both MRCPv2 (SIP/SDP) and MRCPv1 (RTSP/SDP).
|
||||
|
||||
|
||||
GNU BUILD
|
||||
===================
|
||||
Additional requirements
|
||||
- autoconf 2.57 or newer
|
||||
- automake
|
||||
- libtool 1.4 or newer
|
||||
- gcc
|
||||
- pkg-config
|
||||
=========
|
||||
|
||||
Build procedure
|
||||
$ ./bootstrap
|
||||
$ ./configure
|
||||
$ make
|
||||
$ make install
|
||||
Prerequisites:
|
||||
|
||||
Installed directory layout
|
||||
bin - binaries (unimrcpserver, unimrcpclient)
|
||||
conf - configuration files
|
||||
data - data files
|
||||
include - header files
|
||||
lib - shared (convenient) libraries
|
||||
log - log files
|
||||
plugin - run-time loadable modules
|
||||
autoconf 2.59 or newer
|
||||
automake
|
||||
libtool 1.4 or newer
|
||||
gcc
|
||||
pkg-config
|
||||
|
||||
There are a couple of options to "./configure".
|
||||
To specify where to look for the APR and APR-util libraries
|
||||
use the "--with-apr=" and "--with-apr-util=" options.
|
||||
For example
|
||||
$ ./configure --with-apr=/usr/local/apr \
|
||||
--with-apr-util=/usr/local/apr
|
||||
|
||||
To specify where to look for the Sofia-SIP library
|
||||
use the "--with-sofia-sip=" option.
|
||||
For example
|
||||
$ ./configure --with-sofia-sip=/usr/local/sofia-sip
|
||||
Procedure:
|
||||
|
||||
To cross-compile for 64-bit platform use
|
||||
CFLAGS=-m64 CXXFLAGS=-m64 LDFLAGS=-m64 ./configure
|
||||
If the UniMRCP source is checked out from the repository, the "bootstrap" script must be run first
|
||||
in order to generate the "configure" script and other required files.
|
||||
|
||||
To cross-compile for 32-bit platform use
|
||||
CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 ./configure
|
||||
./bootstrap
|
||||
|
||||
To install the default configuration use
|
||||
$ cd conf
|
||||
$ make def-conf
|
||||
The usual "configure", "make", "make install" sequence of commands should follow in order to build
|
||||
and install the project from source.
|
||||
|
||||
To install the default data use
|
||||
$ cd data
|
||||
$ make def-data
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
|
||||
To generate doxygen documentation from the source use
|
||||
$ make dox
|
||||
As a result, the project will be installed in the directory "/usr/local/unimrcp" with the following
|
||||
layout:
|
||||
|
||||
bin binaries (unimrcpserver, unimrcpclient, ...)
|
||||
conf configuration files (unimrcpserver.xml, unimrcpclient.xml, ...)
|
||||
data data files
|
||||
include header files
|
||||
lib shared (convenience) libraries
|
||||
log log files
|
||||
plugin run-time loadable modules
|
||||
|
||||
There are a couple of options which can additionally be configured.
|
||||
In order to specify where to look for the APR and APR-util libraries, use the "--with-apr=" and
|
||||
"--with-apr-util=" options respectively. For example:
|
||||
|
||||
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
|
||||
|
||||
In order to specify where to look for the Sofia-SIP library, use the "--with-sofia-sip=" option.
|
||||
For example:
|
||||
|
||||
./configure --with-sofia-sip=/usr/local/sofia-sip
|
||||
|
||||
In order to generate executables and shared libraries for x86-64 architecture, use the "-m64"
|
||||
option as follows:
|
||||
|
||||
CFLAGS=-m64 CXXFLAGS=-m64 LDFLAGS=-m64 ./configure
|
||||
|
||||
In order to generate executables and shared libraries for i386 architecture, use the "-m32" option
|
||||
as follows:
|
||||
|
||||
CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 ./configure
|
||||
|
||||
In order to install the default configuration, use the following commands:
|
||||
|
||||
cd conf
|
||||
make def-conf
|
||||
|
||||
In order to install the default data files, use the following commands:
|
||||
|
||||
cd data
|
||||
make def-data
|
||||
|
||||
In order to build a Doxygen generated documentation, use the following command:
|
||||
|
||||
make dox
|
||||
|
||||
|
||||
WINDOWS BUILD
|
||||
======================
|
||||
Additional requirements
|
||||
- Microsoft Visual Studio 2005
|
||||
=============
|
||||
|
||||
One-time pre-build preparation
|
||||
You may need to adjust the paths for 3-rd party libraries
|
||||
in appropriate property sheets to match your local installation,
|
||||
while below are the defaults (build/vsprops).
|
||||
Prerequisites:
|
||||
|
||||
Microsoft Visual Studio 2005 or 2010.
|
||||
|
||||
One-time pre-build setup: [optional]
|
||||
|
||||
This step can be skipped if the dependencies are installed in their default locations. Otherwise,
|
||||
the paths in the corresponding property sheets must be modified accordingly. Below is the content
|
||||
of property sheets for Visual Studio 2005, which are located in the directory "build/vsprops".
|
||||
Similarly, property sheets for Visual Studio 2010 can be found in the directory "build/props".
|
||||
|
||||
apr.vsprops
|
||||
<UserMacro
|
||||
|
@ -108,22 +129,30 @@ sofiasip.vsprops
|
|||
Value="$(SolutionDir)libs\sofia-sip"
|
||||
/>
|
||||
|
||||
Build procedure
|
||||
- open unimrcp.sln solution file
|
||||
- choose an appropriate solution platform (Build -> Configuration Manager) either win32 or x64
|
||||
- choose an appropriate solution configuration (Build -> Configuration Manager) either Debug or Release
|
||||
- build the solution (Build -> Build Solution)
|
||||
Procedure:
|
||||
|
||||
One-time pre-run output directory preparation
|
||||
Build prepare.vcproj utility project (right click on tools -> prebuild in
|
||||
Solution Explorer and select Build from context menu). This is a one-time
|
||||
output directory preparation. It copies all the required APR and SofiaSIP
|
||||
libraries and the default configuration to the output directory.
|
||||
1. Open one of the available solution files:
|
||||
* for Visual Studio 2005, use unimrcp.sln,
|
||||
* for Visual Studio 2010, use unimrcp-2010.sln.
|
||||
2. Choose a platform (Build -> Configuration Manager):
|
||||
* win32
|
||||
* x64.
|
||||
3. Choose a configuration (Build -> Configuration Manager):
|
||||
* Debug
|
||||
* Release.
|
||||
4. Build the solution (Build -> Build Solution).
|
||||
|
||||
Output directory layout
|
||||
bin - binaries (unimrcpserver, unimrcpclient) and all the required dlls
|
||||
conf - configuration files
|
||||
data - data files
|
||||
lib - libraries
|
||||
log - log files
|
||||
plugin - run-time loadable modules
|
||||
One-time output directory setup:
|
||||
|
||||
Build the "prepare.vcproj" utility project by right clicking on the project icon from the Solution
|
||||
Explorer (tools->prepare) and selecting the Build command from the context menu. This routine will
|
||||
setup the output directory and copy all the required APR, APR-Util, and Sofia-SIP libraries as well
|
||||
as the default configuration and data files. As a result, the output directory layout will look
|
||||
like the following:
|
||||
|
||||
bin binaries (unimrcpserver, unimrcpclient, ...) and all the required dlls
|
||||
conf configuration files (unimrcpserver.xml, unimrcpclient.xml, ...)
|
||||
data data files
|
||||
lib libraries
|
||||
log log files
|
||||
plugin run-time loadable modules
|
||||
|
|
|
@ -1,26 +1,36 @@
|
|||
macrodir = @ac_macro_dir@
|
||||
auxdir = @ac_aux_dir@
|
||||
AUX_DIST = $(auxdir)/config.guess \
|
||||
$(auxdir)/config.sub \
|
||||
$(auxdir)/install-sh \
|
||||
$(auxdir)/ltconfig \
|
||||
$(auxdir)/ltmain.sh \
|
||||
$(auxdir)/depcomp \
|
||||
$(auxdir)/missing
|
||||
EXTRA_DIST = bootstrap
|
||||
macrodir = @ac_macro_dir@
|
||||
auxdir = @ac_aux_dir@
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure $(AUX_DIST)
|
||||
AUX_DIST = $(auxdir)/compile \
|
||||
$(auxdir)/config.guess \
|
||||
$(auxdir)/config.sub \
|
||||
$(auxdir)/install-sh \
|
||||
$(auxdir)/ltconfig \
|
||||
$(auxdir)/ltmain.sh \
|
||||
$(auxdir)/depcomp \
|
||||
$(auxdir)/missing
|
||||
|
||||
ACLOCAL = aclocal
|
||||
MACRO_DIST = $(macrodir)/libtool.m4 \
|
||||
$(macrodir)/ltoptions.m4 \
|
||||
$(macrodir)/ltsugar.m4 \
|
||||
$(macrodir)/ltversion.m4 \
|
||||
$(macrodir)/lt~obsolete.m4
|
||||
|
||||
SUBDIRS = build conf data libs modules plugins platforms
|
||||
EXTRA_DIST = bootstrap
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config.nice $(AUX_DIST) $(MACRO_DIST)
|
||||
|
||||
ACLOCAL = aclocal -I $(macrodir)
|
||||
|
||||
SUBDIRS = build conf data libs modules plugins platforms
|
||||
if TEST_SUITES
|
||||
SUBDIRS += tests
|
||||
SUBDIRS += tests
|
||||
endif
|
||||
|
||||
dox:
|
||||
doxygen $(top_srcdir)/docs/doxygen.conf
|
||||
|
||||
|
||||
install-data-local:
|
||||
test -d $(logdir) || $(mkinstalldirs) $(logdir)
|
||||
test -d $(DESTDIR)$(logdir) || $(mkinstalldirs) $(DESTDIR)$(logdir)
|
||||
test -d $(DESTDIR)$(vardir) || $(mkinstalldirs) $(DESTDIR)$(vardir)
|
||||
|
|
|
@ -1,30 +1,37 @@
|
|||
INTRODUCTION
|
||||
============
|
||||
UniMRCP is an open source MRCP Project.
|
||||
|
||||
UniMRCP is an open source project compliant with the IETF RFC6787 (MRCPv2) and RFC4463 (MRCPv1)
|
||||
specifications.
|
||||
|
||||
|
||||
INSTALLATION
|
||||
============
|
||||
See the file "INSTALLATION" for installation tips.
|
||||
|
||||
See the file "INSTALL" for installation tips.
|
||||
|
||||
|
||||
DOCUMENTATION
|
||||
=============
|
||||
See the directory "docs/dox" for doxygen generated documentation.
|
||||
See the directory "docs/ea" for UML based design concepts
|
||||
(Enterpise Architect generated HTML pages).
|
||||
|
||||
Use the directory "docs/dox" for a documentation generated by Doxygen.
|
||||
Use the directory "docs/ea" for UML based design concepts, HTML pages generated by Enterpise Architect.
|
||||
|
||||
|
||||
REFERENCES
|
||||
==========
|
||||
|
||||
Website:
|
||||
http://www.unimrcp.org
|
||||
|
||||
Project Home:
|
||||
http://code.google.com/p/unimrcp
|
||||
Downloads:
|
||||
http://www.unimrcp.org/downloads
|
||||
|
||||
Wiki:
|
||||
http://code.google.com/p/unimrcp/w/list
|
||||
Documentation:
|
||||
http://www.unimrcp.org/documentation
|
||||
|
||||
Google Code:
|
||||
http://code.google.com/p/unimrcp
|
||||
|
||||
Issue Tracker:
|
||||
http://code.google.com/p/unimrcp/issues/list
|
||||
|
@ -45,7 +52,8 @@ Commit Monitor:
|
|||
|
||||
LICENSING
|
||||
=========
|
||||
UniMRCP is licensed under terms of the Apache 2.0 license.
|
||||
|
||||
UniMRCP is licensed under terms of the Apache License 2.0.
|
||||
See the file "LICENSE" for more information.
|
||||
|
||||
Copyright 2008 - 2010 Arsen Chaloyan
|
||||
Copyright 2008 - 2014 Arsen Chaloyan
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
m4_include([build/acmacros/apr.m4])
|
||||
m4_include([build/acmacros/apu.m4])
|
||||
m4_include([build/acmacros/find_apr.m4])
|
||||
m4_include([build/acmacros/find_apu.m4])
|
||||
m4_include([build/acmacros/sofia-sip.m4])
|
||||
m4_include([build/acmacros/sphinxbase.m4])
|
||||
m4_include([build/acmacros/pocketsphinx.m4])
|
||||
m4_include([build/acmacros/flite.m4])
|
||||
m4_include([build/acmacros/ax_compiler_vendor.m4])
|
||||
m4_include([build/acmacros/apr_common.m4])
|
||||
m4_include([build/acmacros/uni_plugin.m4])
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
MAINTAINERCLEANFILES = Makefile.in
|
||||
CLEANFILES = uni_revision.h
|
||||
|
||||
SUBDIRS = pkgconfig svnrev
|
||||
SUBDIRS = pkgconfig
|
||||
|
||||
include_HEADERS = uni_version.h uni_revision.h
|
||||
|
||||
uni_revision.h :
|
||||
svnrev/svnrev -rsvnrev/svnrev.input -p../ -ouni_revision.h
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
dnl UNIMRCP_CHECK_APR
|
||||
|
||||
dnl
|
||||
dnl UNIMRCP_CHECK_APR
|
||||
dnl
|
||||
dnl This macro attempts to find APR and APR-util libraries and
|
||||
dnl set corresponding variables on exit.
|
||||
dnl
|
||||
AC_DEFUN([UNIMRCP_CHECK_APR],
|
||||
[
|
||||
AC_MSG_NOTICE([Apache Portable Runtime (APR) library configuration])
|
||||
|
@ -16,18 +20,39 @@ AC_DEFUN([UNIMRCP_CHECK_APR],
|
|||
fi
|
||||
|
||||
dnl check APR version number
|
||||
|
||||
apr_version="`$apr_config --version`"
|
||||
AC_MSG_RESULT([$apr_version])
|
||||
|
||||
dnl Get build information from APR
|
||||
APR_ADDTO(CPPFLAGS,`$apr_config --cppflags`)
|
||||
APR_ADDTO(CFLAGS,`$apr_config --cflags`)
|
||||
APR_ADDTO(LDFLAGS,`$apr_config --ldflags`)
|
||||
|
||||
CPPFLAGS="$CPPFLAGS `$apr_config --cppflags`"
|
||||
CFLAGS="$CFLAGS `$apr_config --cflags`"
|
||||
LDFLAGS="$LDFLAGS `$apr_config --ldflags`"
|
||||
APR_ADDTO(UNIMRCP_APR_INCLUDES,`$apr_config --includes`)
|
||||
APR_ADDTO(UNIMRCP_APR_LIBS,`$apr_config --link-ld`)
|
||||
|
||||
UNIMRCP_APR_INCLUDES="`$apr_config --includes`"
|
||||
UNIMRCP_APR_LIBS="`$apr_config --link-libtool --libs`"
|
||||
AC_MSG_NOTICE([Apache Portable Runtime Utility (APU) library configuration])
|
||||
|
||||
APR_FIND_APU("", "", 1, 1)
|
||||
|
||||
if test $apu_found = "no"; then
|
||||
AC_MSG_WARN([APU not found])
|
||||
UNIMRCP_DOWNLOAD_APU
|
||||
fi
|
||||
|
||||
if test $apu_found = "reconfig"; then
|
||||
AC_MSG_WARN([APU reconfig])
|
||||
fi
|
||||
|
||||
dnl check APU version number
|
||||
apu_version="`$apu_config --version`"
|
||||
AC_MSG_RESULT([$apu_version])
|
||||
|
||||
dnl Get build information from APU
|
||||
APR_ADDTO(LDFLAGS,`$apu_config --ldflags`)
|
||||
|
||||
APR_ADDTO(UNIMRCP_APR_INCLUDES,`$apu_config --includes`)
|
||||
APR_ADDTO(UNIMRCP_APR_LIBS,`$apu_config --link-ld`)
|
||||
|
||||
AC_SUBST(UNIMRCP_APR_INCLUDES)
|
||||
AC_SUBST(UNIMRCP_APR_LIBS)
|
||||
|
@ -42,3 +67,13 @@ AC_DEFUN([UNIMRCP_DOWNLOAD_APR],
|
|||
echo "--with-apr option to 'configure'"
|
||||
AC_MSG_ERROR([no suitable APR found])
|
||||
])
|
||||
|
||||
dnl UNIMRCP_DOWNLOAD_APU
|
||||
dnl no apr-util found, print out a message telling the user what to do
|
||||
AC_DEFUN([UNIMRCP_DOWNLOAD_APU],
|
||||
[
|
||||
echo "The Apache Portable Runtime Utility (APU) library cannot be found."
|
||||
echo "Please install APRUTIL on this system and supply the appropriate"
|
||||
echo "--with-apr-util option to 'configure'"
|
||||
AC_MSG_ERROR([no suitable APU found])
|
||||
])
|
||||
|
|
|
@ -0,0 +1,990 @@
|
|||
dnl -------------------------------------------------------- -*- autoconf -*-
|
||||
dnl Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
dnl contributor license agreements. See the NOTICE file distributed with
|
||||
dnl this work for additional information regarding copyright ownership.
|
||||
dnl The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
dnl (the "License"); you may not use this file except in compliance with
|
||||
dnl the License. You may obtain a copy of the License at
|
||||
dnl
|
||||
dnl http://www.apache.org/licenses/LICENSE-2.0
|
||||
dnl
|
||||
dnl Unless required by applicable law or agreed to in writing, software
|
||||
dnl distributed under the License is distributed on an "AS IS" BASIS,
|
||||
dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
dnl See the License for the specific language governing permissions and
|
||||
dnl limitations under the License.
|
||||
|
||||
dnl
|
||||
dnl apr_common.m4: APR's general-purpose autoconf macros
|
||||
dnl
|
||||
|
||||
dnl
|
||||
dnl APR_CONFIG_NICE(filename)
|
||||
dnl
|
||||
dnl Saves a snapshot of the configure command-line for later reuse
|
||||
dnl
|
||||
AC_DEFUN([APR_CONFIG_NICE], [
|
||||
rm -f $1
|
||||
cat >$1<<EOF
|
||||
#! /bin/sh
|
||||
#
|
||||
# Created by configure
|
||||
|
||||
EOF
|
||||
if test -n "$CC"; then
|
||||
echo "CC=\"$CC\"; export CC" >> $1
|
||||
fi
|
||||
if test -n "$CFLAGS"; then
|
||||
echo "CFLAGS=\"$CFLAGS\"; export CFLAGS" >> $1
|
||||
fi
|
||||
if test -n "$CPPFLAGS"; then
|
||||
echo "CPPFLAGS=\"$CPPFLAGS\"; export CPPFLAGS" >> $1
|
||||
fi
|
||||
if test -n "$LDFLAGS"; then
|
||||
echo "LDFLAGS=\"$LDFLAGS\"; export LDFLAGS" >> $1
|
||||
fi
|
||||
if test -n "$LTFLAGS"; then
|
||||
echo "LTFLAGS=\"$LTFLAGS\"; export LTFLAGS" >> $1
|
||||
fi
|
||||
if test -n "$LIBS"; then
|
||||
echo "LIBS=\"$LIBS\"; export LIBS" >> $1
|
||||
fi
|
||||
if test -n "$INCLUDES"; then
|
||||
echo "INCLUDES=\"$INCLUDES\"; export INCLUDES" >> $1
|
||||
fi
|
||||
if test -n "$NOTEST_CFLAGS"; then
|
||||
echo "NOTEST_CFLAGS=\"$NOTEST_CFLAGS\"; export NOTEST_CFLAGS" >> $1
|
||||
fi
|
||||
if test -n "$NOTEST_CPPFLAGS"; then
|
||||
echo "NOTEST_CPPFLAGS=\"$NOTEST_CPPFLAGS\"; export NOTEST_CPPFLAGS" >> $1
|
||||
fi
|
||||
if test -n "$NOTEST_LDFLAGS"; then
|
||||
echo "NOTEST_LDFLAGS=\"$NOTEST_LDFLAGS\"; export NOTEST_LDFLAGS" >> $1
|
||||
fi
|
||||
if test -n "$NOTEST_LIBS"; then
|
||||
echo "NOTEST_LIBS=\"$NOTEST_LIBS\"; export NOTEST_LIBS" >> $1
|
||||
fi
|
||||
|
||||
# Retrieve command-line arguments.
|
||||
eval "set x $[0] $ac_configure_args"
|
||||
shift
|
||||
|
||||
for arg
|
||||
do
|
||||
APR_EXPAND_VAR(arg, $arg)
|
||||
echo "\"[$]arg\" \\" >> $1
|
||||
done
|
||||
echo '"[$]@"' >> $1
|
||||
chmod +x $1
|
||||
])dnl
|
||||
|
||||
dnl APR_MKDIR_P_CHECK(fallback-mkdir-p)
|
||||
dnl checks whether mkdir -p works
|
||||
AC_DEFUN([APR_MKDIR_P_CHECK], [
|
||||
AC_CACHE_CHECK(for working mkdir -p, ac_cv_mkdir_p,[
|
||||
test -d conftestdir && rm -rf conftestdir
|
||||
mkdir -p conftestdir/somedir >/dev/null 2>&1
|
||||
if test -d conftestdir/somedir; then
|
||||
ac_cv_mkdir_p=yes
|
||||
else
|
||||
ac_cv_mkdir_p=no
|
||||
fi
|
||||
rm -rf conftestdir
|
||||
])
|
||||
if test "$ac_cv_mkdir_p" = "yes"; then
|
||||
mkdir_p="mkdir -p"
|
||||
else
|
||||
mkdir_p="$1"
|
||||
fi
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl APR_SUBDIR_CONFIG(dir [, sub-package-cmdline-args, args-to-drop])
|
||||
dnl
|
||||
dnl dir: directory to find configure in
|
||||
dnl sub-package-cmdline-args: arguments to add to the invocation (optional)
|
||||
dnl args-to-drop: arguments to drop from the invocation (optional)
|
||||
dnl
|
||||
dnl Note: This macro relies on ac_configure_args being set properly.
|
||||
dnl
|
||||
dnl The args-to-drop argument is shoved into a case statement, so
|
||||
dnl multiple arguments can be separated with a |.
|
||||
dnl
|
||||
dnl Note: Older versions of autoconf do not single-quote args, while 2.54+
|
||||
dnl places quotes around every argument. So, if you want to drop the
|
||||
dnl argument called --enable-layout, you must pass the third argument as:
|
||||
dnl [--enable-layout=*|\'--enable-layout=*]
|
||||
dnl
|
||||
dnl Trying to optimize this is left as an exercise to the reader who wants
|
||||
dnl to put up with more autoconf craziness. I give up.
|
||||
dnl
|
||||
AC_DEFUN([APR_SUBDIR_CONFIG], [
|
||||
# save our work to this point; this allows the sub-package to use it
|
||||
AC_CACHE_SAVE
|
||||
|
||||
echo "configuring package in $1 now"
|
||||
ac_popdir=`pwd`
|
||||
apr_config_subdirs="$1"
|
||||
test -d $1 || $mkdir_p $1
|
||||
ac_abs_srcdir=`(cd $srcdir/$1 && pwd)`
|
||||
cd $1
|
||||
|
||||
changequote(, )dnl
|
||||
# A "../" for each directory in /$config_subdirs.
|
||||
ac_dots=`echo $apr_config_subdirs|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
|
||||
changequote([, ])dnl
|
||||
|
||||
# Make the cache file pathname absolute for the subdirs
|
||||
# required to correctly handle subdirs that might actually
|
||||
# be symlinks
|
||||
case "$cache_file" in
|
||||
/*) # already absolute
|
||||
ac_sub_cache_file=$cache_file ;;
|
||||
*) # Was relative path.
|
||||
ac_sub_cache_file="$ac_popdir/$cache_file" ;;
|
||||
esac
|
||||
|
||||
ifelse($3, [], [apr_configure_args=$ac_configure_args],[
|
||||
apr_configure_args=
|
||||
apr_sep=
|
||||
for apr_configure_arg in $ac_configure_args
|
||||
do
|
||||
case "$apr_configure_arg" in
|
||||
$3)
|
||||
continue ;;
|
||||
esac
|
||||
apr_configure_args="$apr_configure_args$apr_sep'$apr_configure_arg'"
|
||||
apr_sep=" "
|
||||
done
|
||||
])
|
||||
|
||||
dnl autoconf doesn't add --silent to ac_configure_args; explicitly pass it
|
||||
test "x$silent" = "xyes" && apr_configure_args="$apr_configure_args --silent"
|
||||
|
||||
dnl AC_CONFIG_SUBDIRS silences option warnings, emulate this for 2.62
|
||||
apr_configure_args="--disable-option-checking $apr_configure_args"
|
||||
|
||||
dnl The eval makes quoting arguments work - specifically the second argument
|
||||
dnl where the quoting mechanisms used is "" rather than [].
|
||||
dnl
|
||||
dnl We need to execute another shell because some autoconf/shell combinations
|
||||
dnl will choke after doing repeated APR_SUBDIR_CONFIG()s. (Namely Solaris
|
||||
dnl and autoconf-2.54+)
|
||||
if eval $SHELL $ac_abs_srcdir/configure $apr_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_abs_srcdir $2
|
||||
then :
|
||||
echo "$1 configured properly"
|
||||
else
|
||||
echo "configure failed for $1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $ac_popdir
|
||||
|
||||
# grab any updates from the sub-package
|
||||
AC_CACHE_LOAD
|
||||
])dnl
|
||||
|
||||
dnl
|
||||
dnl APR_SAVE_THE_ENVIRONMENT(variable_name)
|
||||
dnl
|
||||
dnl Stores the variable (usually a Makefile macro) for later restoration
|
||||
dnl
|
||||
AC_DEFUN([APR_SAVE_THE_ENVIRONMENT], [
|
||||
apr_ste_save_$1="$$1"
|
||||
])dnl
|
||||
|
||||
dnl
|
||||
dnl APR_RESTORE_THE_ENVIRONMENT(variable_name, prefix_)
|
||||
dnl
|
||||
dnl Uses the previously saved variable content to figure out what configure
|
||||
dnl has added to the variable, moving the new bits to prefix_variable_name
|
||||
dnl and restoring the original variable contents. This makes it possible
|
||||
dnl for a user to override configure when it does something stupid.
|
||||
dnl
|
||||
AC_DEFUN([APR_RESTORE_THE_ENVIRONMENT], [
|
||||
dnl Check whether $apr_ste_save_$1 is empty or
|
||||
dnl only whitespace. The verbatim "X" is token number 1,
|
||||
dnl the following whitespace will be ignored.
|
||||
set X $apr_ste_save_$1
|
||||
if test ${#} -eq 1; then
|
||||
$2$1="$$1"
|
||||
$1=
|
||||
else
|
||||
if test "x$apr_ste_save_$1" = "x$$1"; then
|
||||
$2$1=
|
||||
else
|
||||
$2$1=`echo "$$1" | sed -e "s%${apr_ste_save_$1}%%"`
|
||||
$1="$apr_ste_save_$1"
|
||||
fi
|
||||
fi
|
||||
if test "x$silent" != "xyes"; then
|
||||
echo " restoring $1 to \"$$1\""
|
||||
echo " setting $2$1 to \"$$2$1\""
|
||||
fi
|
||||
AC_SUBST($2$1)
|
||||
])dnl
|
||||
|
||||
dnl
|
||||
dnl APR_SETIFNULL(variable, value)
|
||||
dnl
|
||||
dnl Set variable iff it's currently null
|
||||
dnl
|
||||
AC_DEFUN([APR_SETIFNULL], [
|
||||
if test -z "$$1"; then
|
||||
test "x$silent" != "xyes" && echo " setting $1 to \"$2\""
|
||||
$1="$2"
|
||||
fi
|
||||
])dnl
|
||||
|
||||
dnl
|
||||
dnl APR_SETVAR(variable, value)
|
||||
dnl
|
||||
dnl Set variable no matter what
|
||||
dnl
|
||||
AC_DEFUN([APR_SETVAR], [
|
||||
test "x$silent" != "xyes" && echo " forcing $1 to \"$2\""
|
||||
$1="$2"
|
||||
])dnl
|
||||
|
||||
dnl
|
||||
dnl APR_ADDTO(variable, value)
|
||||
dnl
|
||||
dnl Add value to variable
|
||||
dnl
|
||||
AC_DEFUN([APR_ADDTO], [
|
||||
if test "x$$1" = "x"; then
|
||||
test "x$silent" != "xyes" && echo " setting $1 to \"$2\""
|
||||
$1="$2"
|
||||
else
|
||||
apr_addto_bugger="$2"
|
||||
for i in $apr_addto_bugger; do
|
||||
apr_addto_duplicate="0"
|
||||
for j in $$1; do
|
||||
if test "x$i" = "x$j"; then
|
||||
apr_addto_duplicate="1"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test $apr_addto_duplicate = "0"; then
|
||||
test "x$silent" != "xyes" && echo " adding \"$i\" to $1"
|
||||
$1="$$1 $i"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
])dnl
|
||||
|
||||
dnl
|
||||
dnl APR_REMOVEFROM(variable, value)
|
||||
dnl
|
||||
dnl Remove a value from a variable
|
||||
dnl
|
||||
AC_DEFUN([APR_REMOVEFROM], [
|
||||
if test "x$$1" = "x$2"; then
|
||||
test "x$silent" != "xyes" && echo " nulling $1"
|
||||
$1=""
|
||||
else
|
||||
apr_new_bugger=""
|
||||
apr_removed=0
|
||||
for i in $$1; do
|
||||
if test "x$i" != "x$2"; then
|
||||
apr_new_bugger="$apr_new_bugger $i"
|
||||
else
|
||||
apr_removed=1
|
||||
fi
|
||||
done
|
||||
if test $apr_removed = "1"; then
|
||||
test "x$silent" != "xyes" && echo " removed \"$2\" from $1"
|
||||
$1=$apr_new_bugger
|
||||
fi
|
||||
fi
|
||||
]) dnl
|
||||
|
||||
dnl
|
||||
dnl APR_CHECK_DEFINE_FILES( symbol, header_file [header_file ...] )
|
||||
dnl
|
||||
AC_DEFUN([APR_CHECK_DEFINE_FILES], [
|
||||
AC_CACHE_CHECK([for $1 in $2],ac_cv_define_$1,[
|
||||
ac_cv_define_$1=no
|
||||
for curhdr in $2
|
||||
do
|
||||
AC_EGREP_CPP(YES_IS_DEFINED, [
|
||||
#include <$curhdr>
|
||||
#ifdef $1
|
||||
YES_IS_DEFINED
|
||||
#endif
|
||||
], ac_cv_define_$1=yes)
|
||||
done
|
||||
])
|
||||
if test "$ac_cv_define_$1" = "yes"; then
|
||||
AC_DEFINE(HAVE_$1, 1, [Define if $1 is defined])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl
|
||||
dnl APR_CHECK_DEFINE(symbol, header_file)
|
||||
dnl
|
||||
AC_DEFUN([APR_CHECK_DEFINE], [
|
||||
AC_CACHE_CHECK([for $1 in $2],ac_cv_define_$1,[
|
||||
AC_EGREP_CPP(YES_IS_DEFINED, [
|
||||
#include <$2>
|
||||
#ifdef $1
|
||||
YES_IS_DEFINED
|
||||
#endif
|
||||
], ac_cv_define_$1=yes, ac_cv_define_$1=no)
|
||||
])
|
||||
if test "$ac_cv_define_$1" = "yes"; then
|
||||
AC_DEFINE(HAVE_$1, 1, [Define if $1 is defined in $2])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl APR_CHECK_APR_DEFINE( symbol )
|
||||
dnl
|
||||
AC_DEFUN([APR_CHECK_APR_DEFINE], [
|
||||
apr_old_cppflags=$CPPFLAGS
|
||||
CPPFLAGS="$CPPFLAGS $INCLUDES"
|
||||
AC_EGREP_CPP(YES_IS_DEFINED, [
|
||||
#include <apr.h>
|
||||
#if $1
|
||||
YES_IS_DEFINED
|
||||
#endif
|
||||
], ac_cv_define_$1=yes, ac_cv_define_$1=no)
|
||||
CPPFLAGS=$apr_old_cppflags
|
||||
])
|
||||
|
||||
dnl APR_CHECK_FILE(filename); set ac_cv_file_filename to
|
||||
dnl "yes" if 'filename' is readable, else "no".
|
||||
dnl @deprecated! - use AC_CHECK_FILE instead
|
||||
AC_DEFUN([APR_CHECK_FILE], [
|
||||
dnl Pick a safe variable name
|
||||
define([apr_cvname], ac_cv_file_[]translit([$1], [./+-], [__p_]))
|
||||
AC_CACHE_CHECK([for $1], [apr_cvname],
|
||||
[if test -r $1; then
|
||||
apr_cvname=yes
|
||||
else
|
||||
apr_cvname=no
|
||||
fi])
|
||||
])
|
||||
|
||||
define(APR_IFALLYES,[dnl
|
||||
ac_rc=yes
|
||||
for ac_spec in $1; do
|
||||
ac_type=`echo "$ac_spec" | sed -e 's/:.*$//'`
|
||||
ac_item=`echo "$ac_spec" | sed -e 's/^.*://'`
|
||||
case $ac_type in
|
||||
header )
|
||||
ac_item=`echo "$ac_item" | sed 'y%./+-%__p_%'`
|
||||
ac_var="ac_cv_header_$ac_item"
|
||||
;;
|
||||
file )
|
||||
ac_item=`echo "$ac_item" | sed 'y%./+-%__p_%'`
|
||||
ac_var="ac_cv_file_$ac_item"
|
||||
;;
|
||||
func ) ac_var="ac_cv_func_$ac_item" ;;
|
||||
struct ) ac_var="ac_cv_struct_$ac_item" ;;
|
||||
define ) ac_var="ac_cv_define_$ac_item" ;;
|
||||
custom ) ac_var="$ac_item" ;;
|
||||
esac
|
||||
eval "ac_val=\$$ac_var"
|
||||
if test ".$ac_val" != .yes; then
|
||||
ac_rc=no
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test ".$ac_rc" = .yes; then
|
||||
:
|
||||
$2
|
||||
else
|
||||
:
|
||||
$3
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
define(APR_BEGIN_DECISION,[dnl
|
||||
ac_decision_item='$1'
|
||||
ac_decision_msg='FAILED'
|
||||
ac_decision=''
|
||||
])
|
||||
|
||||
|
||||
AC_DEFUN([APR_DECIDE],[dnl
|
||||
dnl Define the flag (or not) in apr_private.h via autoheader
|
||||
AH_TEMPLATE($1, [Define if $2 will be used])
|
||||
ac_decision='$1'
|
||||
ac_decision_msg='$2'
|
||||
ac_decision_$1=yes
|
||||
ac_decision_$1_msg='$2'
|
||||
])
|
||||
|
||||
|
||||
define(APR_DECISION_OVERRIDE,[dnl
|
||||
ac_decision=''
|
||||
for ac_item in $1; do
|
||||
eval "ac_decision_this=\$ac_decision_${ac_item}"
|
||||
if test ".$ac_decision_this" = .yes; then
|
||||
ac_decision=$ac_item
|
||||
eval "ac_decision_msg=\$ac_decision_${ac_item}_msg"
|
||||
fi
|
||||
done
|
||||
])
|
||||
|
||||
|
||||
define(APR_DECISION_FORCE,[dnl
|
||||
ac_decision="$1"
|
||||
eval "ac_decision_msg=\"\$ac_decision_${ac_decision}_msg\""
|
||||
])
|
||||
|
||||
|
||||
define(APR_END_DECISION,[dnl
|
||||
if test ".$ac_decision" = .; then
|
||||
echo "[$]0:Error: decision on $ac_decision_item failed" 1>&2
|
||||
exit 1
|
||||
else
|
||||
if test ".$ac_decision_msg" = .; then
|
||||
ac_decision_msg="$ac_decision"
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED(${ac_decision_item})
|
||||
AC_MSG_RESULT([decision on $ac_decision_item... $ac_decision_msg])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl
|
||||
dnl APR_CHECK_SIZEOF_EXTENDED(INCLUDES, TYPE [, CROSS_SIZE])
|
||||
dnl
|
||||
dnl A variant of AC_CHECK_SIZEOF which allows the checking of
|
||||
dnl sizes of non-builtin types
|
||||
dnl
|
||||
AC_DEFUN([APR_CHECK_SIZEOF_EXTENDED],
|
||||
[changequote(<<, >>)dnl
|
||||
dnl The name to #define.
|
||||
define(<<AC_TYPE_NAME>>, translit(sizeof_$2, [a-z *], [A-Z_P]))dnl
|
||||
dnl The cache variable name.
|
||||
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$2, [ *], [_p]))dnl
|
||||
changequote([, ])dnl
|
||||
AC_MSG_CHECKING(size of $2)
|
||||
AC_CACHE_VAL(AC_CV_NAME,
|
||||
[AC_TRY_RUN([#include <stdio.h>
|
||||
$1
|
||||
#ifdef WIN32
|
||||
#define binmode "b"
|
||||
#else
|
||||
#define binmode
|
||||
#endif
|
||||
main()
|
||||
{
|
||||
FILE *f=fopen("conftestval", "w" binmode);
|
||||
if (!f) exit(1);
|
||||
fprintf(f, "%d\n", sizeof($2));
|
||||
exit(0);
|
||||
}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$3],,,
|
||||
AC_CV_NAME=$3))])dnl
|
||||
AC_MSG_RESULT($AC_CV_NAME)
|
||||
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The size of ]$2)
|
||||
undefine([AC_TYPE_NAME])dnl
|
||||
undefine([AC_CV_NAME])dnl
|
||||
])
|
||||
|
||||
|
||||
dnl
|
||||
dnl APR_TRY_COMPILE_NO_WARNING(INCLUDES, FUNCTION-BODY,
|
||||
dnl [ACTIONS-IF-NO-WARNINGS], [ACTIONS-IF-WARNINGS])
|
||||
dnl
|
||||
dnl Tries a compile test with warnings activated so that the result
|
||||
dnl is false if the code doesn't compile cleanly. For compilers
|
||||
dnl where it is not known how to activate a "fail-on-error" mode,
|
||||
dnl it is undefined which of the sets of actions will be run.
|
||||
dnl
|
||||
AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
|
||||
[apr_save_CFLAGS=$CFLAGS
|
||||
CFLAGS="$CFLAGS $CFLAGS_WARN"
|
||||
if test "$ac_cv_prog_gcc" = "yes"; then
|
||||
CFLAGS="$CFLAGS -Werror"
|
||||
fi
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_SOURCE(
|
||||
[#include "confdefs.h"
|
||||
]
|
||||
[[$1]]
|
||||
[int main(int argc, const char *const *argv) {]
|
||||
[[$2]]
|
||||
[ return 0; }]
|
||||
)],
|
||||
[$3], [$4])
|
||||
CFLAGS=$apr_save_CFLAGS
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl APR_CHECK_STRERROR_R_RC
|
||||
dnl
|
||||
dnl Decide which style of retcode is used by this system's
|
||||
dnl strerror_r(). It either returns int (0 for success, -1
|
||||
dnl for failure), or it returns a pointer to the error
|
||||
dnl string.
|
||||
dnl
|
||||
dnl
|
||||
AC_DEFUN([APR_CHECK_STRERROR_R_RC], [
|
||||
AC_MSG_CHECKING(for type of return code from strerror_r)
|
||||
AC_TRY_RUN([
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
char buf[1024];
|
||||
if (strerror_r(ERANGE, buf, sizeof buf) < 1) {
|
||||
exit(0);
|
||||
}
|
||||
else {
|
||||
exit(1);
|
||||
}
|
||||
}], [
|
||||
ac_cv_strerror_r_rc_int=yes ], [
|
||||
ac_cv_strerror_r_rc_int=no ], [
|
||||
ac_cv_strerror_r_rc_int=no ] )
|
||||
if test "x$ac_cv_strerror_r_rc_int" = xyes; then
|
||||
AC_DEFINE(STRERROR_R_RC_INT, 1, [Define if strerror returns int])
|
||||
msg="int"
|
||||
else
|
||||
msg="pointer"
|
||||
fi
|
||||
AC_MSG_RESULT([$msg])
|
||||
] )
|
||||
|
||||
dnl
|
||||
dnl APR_CHECK_DIRENT_INODE
|
||||
dnl
|
||||
dnl Decide if d_fileno or d_ino are available in the dirent
|
||||
dnl structure on this platform. Single UNIX Spec says d_ino,
|
||||
dnl BSD uses d_fileno. Undef to find the real beast.
|
||||
dnl
|
||||
AC_DEFUN([APR_CHECK_DIRENT_INODE], [
|
||||
AC_CACHE_CHECK([for inode member of struct dirent], apr_cv_dirent_inode, [
|
||||
apr_cv_dirent_inode=no
|
||||
AC_TRY_COMPILE([
|
||||
#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
],[
|
||||
#ifdef d_ino
|
||||
#undef d_ino
|
||||
#endif
|
||||
struct dirent de; de.d_fileno;
|
||||
], apr_cv_dirent_inode=d_fileno)
|
||||
if test "$apr_cv_dirent_inode" = "no"; then
|
||||
AC_TRY_COMPILE([
|
||||
#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
],[
|
||||
#ifdef d_fileno
|
||||
#undef d_fileno
|
||||
#endif
|
||||
struct dirent de; de.d_ino;
|
||||
], apr_cv_dirent_inode=d_ino)
|
||||
fi
|
||||
])
|
||||
if test "$apr_cv_dirent_inode" != "no"; then
|
||||
AC_DEFINE_UNQUOTED(DIRENT_INODE, $apr_cv_dirent_inode,
|
||||
[Define if struct dirent has an inode member])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl APR_CHECK_DIRENT_TYPE
|
||||
dnl
|
||||
dnl Decide if d_type is available in the dirent structure
|
||||
dnl on this platform. Not part of the Single UNIX Spec.
|
||||
dnl Note that this is worthless without DT_xxx macros, so
|
||||
dnl look for one while we are at it.
|
||||
dnl
|
||||
AC_DEFUN([APR_CHECK_DIRENT_TYPE], [
|
||||
AC_CACHE_CHECK([for file type member of struct dirent], apr_cv_dirent_type,[
|
||||
apr_cv_dirent_type=no
|
||||
AC_TRY_COMPILE([
|
||||
#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
],[
|
||||
struct dirent de; de.d_type = DT_REG;
|
||||
], apr_cv_dirent_type=d_type)
|
||||
])
|
||||
if test "$apr_cv_dirent_type" != "no"; then
|
||||
AC_DEFINE_UNQUOTED(DIRENT_TYPE, $apr_cv_dirent_type,
|
||||
[Define if struct dirent has a d_type member])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl the following is a newline, a space, a tab, and a backslash (the
|
||||
dnl backslash is used by the shell to skip newlines, but m4 sees it;
|
||||
dnl treat it like whitespace).
|
||||
dnl WARNING: don't reindent these lines, or the space/tab will be lost!
|
||||
define([apr_whitespace],[
|
||||
\])
|
||||
|
||||
dnl
|
||||
dnl APR_COMMA_ARGS(ARG1 ...)
|
||||
dnl convert the whitespace-separated arguments into comman-separated
|
||||
dnl arguments.
|
||||
dnl
|
||||
dnl APR_FOREACH(CODE-BLOCK, ARG1, ARG2, ...)
|
||||
dnl subsitute CODE-BLOCK for each ARG[i]. "eachval" will be set to ARG[i]
|
||||
dnl within each iteration.
|
||||
dnl
|
||||
changequote({,})
|
||||
define({APR_COMMA_ARGS},{patsubst([$}{1],[[}apr_whitespace{]+],[,])})
|
||||
define({APR_FOREACH},
|
||||
{ifelse($}{2,,,
|
||||
[define([eachval],
|
||||
$}{2)$}{1[]APR_FOREACH([$}{1],
|
||||
builtin([shift],
|
||||
builtin([shift], $}{@)))])})
|
||||
changequote([,])
|
||||
|
||||
dnl APR_FLAG_HEADERS(HEADER-FILE ... [, FLAG-TO-SET ] [, "yes" ])
|
||||
dnl we set FLAG-TO-SET to 1 if we find HEADER-FILE, otherwise we set to 0
|
||||
dnl if FLAG-TO-SET is null, we automagically determine it's name
|
||||
dnl by changing all "/" to "_" in the HEADER-FILE and dropping
|
||||
dnl all "." and "-" chars. If the 3rd parameter is "yes" then instead of
|
||||
dnl setting to 1 or 0, we set FLAG-TO-SET to yes or no.
|
||||
dnl
|
||||
AC_DEFUN([APR_FLAG_HEADERS], [
|
||||
AC_CHECK_HEADERS($1)
|
||||
for aprt_i in $1
|
||||
do
|
||||
ac_safe=`echo "$aprt_i" | sed 'y%./+-%__p_%'`
|
||||
aprt_2=`echo "$aprt_i" | sed -e 's%/%_%g' -e 's/\.//g' -e 's/-//g'`
|
||||
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
|
||||
eval "ifelse($2,,$aprt_2,$2)=ifelse($3,yes,yes,1)"
|
||||
else
|
||||
eval "ifelse($2,,$aprt_2,$2)=ifelse($3,yes,no,0)"
|
||||
fi
|
||||
done
|
||||
])
|
||||
|
||||
dnl APR_FLAG_FUNCS(FUNC ... [, FLAG-TO-SET] [, "yes" ])
|
||||
dnl if FLAG-TO-SET is null, we automagically determine it's name
|
||||
dnl prepending "have_" to the function name in FUNC, otherwise
|
||||
dnl we use what's provided as FLAG-TO-SET. If the 3rd parameter
|
||||
dnl is "yes" then instead of setting to 1 or 0, we set FLAG-TO-SET
|
||||
dnl to yes or no.
|
||||
dnl
|
||||
AC_DEFUN([APR_FLAG_FUNCS], [
|
||||
AC_CHECK_FUNCS($1)
|
||||
for aprt_j in $1
|
||||
do
|
||||
aprt_3="have_$aprt_j"
|
||||
if eval "test \"`echo '$ac_cv_func_'$aprt_j`\" = yes"; then
|
||||
eval "ifelse($2,,$aprt_3,$2)=ifelse($3,yes,yes,1)"
|
||||
else
|
||||
eval "ifelse($2,,$aprt_3,$2)=ifelse($3,yes,no,0)"
|
||||
fi
|
||||
done
|
||||
])
|
||||
|
||||
dnl Iteratively interpolate the contents of the second argument
|
||||
dnl until interpolation offers no new result. Then assign the
|
||||
dnl final result to $1.
|
||||
dnl
|
||||
dnl Example:
|
||||
dnl
|
||||
dnl foo=1
|
||||
dnl bar='${foo}/2'
|
||||
dnl baz='${bar}/3'
|
||||
dnl APR_EXPAND_VAR(fraz, $baz)
|
||||
dnl $fraz is now "1/2/3"
|
||||
dnl
|
||||
AC_DEFUN([APR_EXPAND_VAR], [
|
||||
ap_last=
|
||||
ap_cur="$2"
|
||||
while test "x${ap_cur}" != "x${ap_last}";
|
||||
do
|
||||
ap_last="${ap_cur}"
|
||||
ap_cur=`eval "echo ${ap_cur}"`
|
||||
done
|
||||
$1="${ap_cur}"
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Removes the value of $3 from the string in $2, strips of any leading
|
||||
dnl slashes, and returns the value in $1.
|
||||
dnl
|
||||
dnl Example:
|
||||
dnl orig_path="${prefix}/bar"
|
||||
dnl APR_PATH_RELATIVE(final_path, $orig_path, $prefix)
|
||||
dnl $final_path now contains "bar"
|
||||
AC_DEFUN([APR_PATH_RELATIVE], [
|
||||
ap_stripped=`echo $2 | sed -e "s#^$3##"`
|
||||
# check if the stripping was successful
|
||||
if test "x$2" != "x${ap_stripped}"; then
|
||||
# it was, so strip of any leading slashes
|
||||
$1="`echo ${ap_stripped} | sed -e 's#^/*##'`"
|
||||
else
|
||||
# it wasn't so return the original
|
||||
$1="$2"
|
||||
fi
|
||||
])
|
||||
|
||||
dnl APR_HELP_STRING(LHS, RHS)
|
||||
dnl Autoconf 2.50 can not handle substr correctly. It does have
|
||||
dnl AC_HELP_STRING, so let's try to call it if we can.
|
||||
dnl Note: this define must be on one line so that it can be properly returned
|
||||
dnl as the help string. When using this macro with a multi-line RHS, ensure
|
||||
dnl that you surround the macro invocation with []s
|
||||
AC_DEFUN([APR_HELP_STRING], [ifelse(regexp(AC_ACVERSION, 2\.1), -1, AC_HELP_STRING([$1],[$2]),[ ][$1] substr([ ],len($1))[$2])])
|
||||
|
||||
dnl
|
||||
dnl APR_LAYOUT(configlayout, layoutname [, extravars])
|
||||
dnl
|
||||
AC_DEFUN([APR_LAYOUT], [
|
||||
if test ! -f $srcdir/config.layout; then
|
||||
echo "** Error: Layout file $srcdir/config.layout not found"
|
||||
echo "** Error: Cannot use undefined layout '$LAYOUT'"
|
||||
exit 1
|
||||
fi
|
||||
# Catch layout names including a slash which will otherwise
|
||||
# confuse the heck out of the sed script.
|
||||
case $2 in
|
||||
*/*)
|
||||
echo "** Error: $2 is not a valid layout name"
|
||||
exit 1 ;;
|
||||
esac
|
||||
pldconf=./config.pld
|
||||
changequote({,})
|
||||
sed -e "1s/[ ]*<[lL]ayout[ ]*$2[ ]*>[ ]*//;1t" \
|
||||
-e "1,/[ ]*<[lL]ayout[ ]*$2[ ]*>[ ]*/d" \
|
||||
-e '/[ ]*<\/Layout>[ ]*/,$d' \
|
||||
-e "s/^[ ]*//g" \
|
||||
-e "s/:[ ]*/=\'/g" \
|
||||
-e "s/[ ]*$/'/g" \
|
||||
$1 > $pldconf
|
||||
layout_name=$2
|
||||
if test ! -s $pldconf; then
|
||||
echo "** Error: unable to find layout $layout_name"
|
||||
exit 1
|
||||
fi
|
||||
. $pldconf
|
||||
rm $pldconf
|
||||
for var in prefix exec_prefix bindir sbindir libexecdir mandir \
|
||||
sysconfdir datadir includedir localstatedir runtimedir \
|
||||
logfiledir libdir installbuilddir libsuffix $3; do
|
||||
eval "val=\"\$$var\""
|
||||
case $val in
|
||||
*+)
|
||||
val=`echo $val | sed -e 's;\+$;;'`
|
||||
eval "$var=\"\$val\""
|
||||
autosuffix=yes
|
||||
;;
|
||||
*)
|
||||
autosuffix=no
|
||||
;;
|
||||
esac
|
||||
val=`echo $val | sed -e 's:\(.\)/*$:\1:'`
|
||||
val=`echo $val | sed -e 's:[\$]\([a-z_]*\):${\1}:g'`
|
||||
if test "$autosuffix" = "yes"; then
|
||||
if echo $val | grep apache >/dev/null; then
|
||||
addtarget=no
|
||||
else
|
||||
addtarget=yes
|
||||
fi
|
||||
if test "$addtarget" = "yes"; then
|
||||
val="$val/apache2"
|
||||
fi
|
||||
fi
|
||||
eval "$var='$val'"
|
||||
done
|
||||
changequote([,])
|
||||
])dnl
|
||||
|
||||
dnl
|
||||
dnl APR_ENABLE_LAYOUT(default layout name [, extra vars])
|
||||
dnl
|
||||
AC_DEFUN([APR_ENABLE_LAYOUT], [
|
||||
AC_ARG_ENABLE(layout,
|
||||
[ --enable-layout=LAYOUT],[
|
||||
LAYOUT=$enableval
|
||||
])
|
||||
|
||||
if test -z "$LAYOUT"; then
|
||||
LAYOUT="$1"
|
||||
fi
|
||||
APR_LAYOUT($srcdir/config.layout, $LAYOUT, $2)
|
||||
|
||||
AC_MSG_CHECKING(for chosen layout)
|
||||
AC_MSG_RESULT($layout_name)
|
||||
])
|
||||
|
||||
|
||||
dnl
|
||||
dnl APR_PARSE_ARGUMENTS
|
||||
dnl a reimplementation of autoconf's argument parser,
|
||||
dnl used here to allow us to co-exist layouts and argument based
|
||||
dnl set ups.
|
||||
AC_DEFUN([APR_PARSE_ARGUMENTS], [
|
||||
ac_prev=
|
||||
# Retrieve the command-line arguments. The eval is needed because
|
||||
# the arguments are quoted to preserve accuracy.
|
||||
eval "set x $ac_configure_args"
|
||||
shift
|
||||
for ac_option
|
||||
do
|
||||
# If the previous option needs an argument, assign it.
|
||||
if test -n "$ac_prev"; then
|
||||
eval "$ac_prev=\$ac_option"
|
||||
ac_prev=
|
||||
continue
|
||||
fi
|
||||
|
||||
ac_optarg=`expr "x$ac_option" : 'x[[^=]]*=\(.*\)'`
|
||||
|
||||
case $ac_option in
|
||||
|
||||
-bindir | --bindir | --bindi | --bind | --bin | --bi)
|
||||
ac_prev=bindir ;;
|
||||
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
|
||||
bindir="$ac_optarg" ;;
|
||||
|
||||
-datadir | --datadir | --datadi | --datad | --data | --dat | --da)
|
||||
ac_prev=datadir ;;
|
||||
-datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
|
||||
| --da=*)
|
||||
datadir="$ac_optarg" ;;
|
||||
|
||||
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
|
||||
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
|
||||
| --exec | --exe | --ex)
|
||||
ac_prev=exec_prefix ;;
|
||||
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
|
||||
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
|
||||
| --exec=* | --exe=* | --ex=*)
|
||||
exec_prefix="$ac_optarg" ;;
|
||||
|
||||
-includedir | --includedir | --includedi | --included | --include \
|
||||
| --includ | --inclu | --incl | --inc)
|
||||
ac_prev=includedir ;;
|
||||
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
|
||||
| --includ=* | --inclu=* | --incl=* | --inc=*)
|
||||
includedir="$ac_optarg" ;;
|
||||
|
||||
-infodir | --infodir | --infodi | --infod | --info | --inf)
|
||||
ac_prev=infodir ;;
|
||||
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
|
||||
infodir="$ac_optarg" ;;
|
||||
|
||||
-libdir | --libdir | --libdi | --libd)
|
||||
ac_prev=libdir ;;
|
||||
-libdir=* | --libdir=* | --libdi=* | --libd=*)
|
||||
libdir="$ac_optarg" ;;
|
||||
|
||||
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
|
||||
| --libexe | --libex | --libe)
|
||||
ac_prev=libexecdir ;;
|
||||
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
|
||||
| --libexe=* | --libex=* | --libe=*)
|
||||
libexecdir="$ac_optarg" ;;
|
||||
|
||||
-localstatedir | --localstatedir | --localstatedi | --localstated \
|
||||
| --localstate | --localstat | --localsta | --localst \
|
||||
| --locals | --local | --loca | --loc | --lo)
|
||||
ac_prev=localstatedir ;;
|
||||
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
|
||||
| --localstate=* | --localstat=* | --localsta=* | --localst=* \
|
||||
| --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
|
||||
localstatedir="$ac_optarg" ;;
|
||||
|
||||
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
|
||||
ac_prev=mandir ;;
|
||||
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
|
||||
mandir="$ac_optarg" ;;
|
||||
|
||||
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
|
||||
ac_prev=prefix ;;
|
||||
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
|
||||
prefix="$ac_optarg" ;;
|
||||
|
||||
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
|
||||
ac_prev=sbindir ;;
|
||||
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
|
||||
| --sbi=* | --sb=*)
|
||||
sbindir="$ac_optarg" ;;
|
||||
|
||||
-sharedstatedir | --sharedstatedir | --sharedstatedi \
|
||||
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
|
||||
| --sharedst | --shareds | --shared | --share | --shar \
|
||||
| --sha | --sh)
|
||||
ac_prev=sharedstatedir ;;
|
||||
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
|
||||
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
|
||||
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
|
||||
| --sha=* | --sh=*)
|
||||
sharedstatedir="$ac_optarg" ;;
|
||||
|
||||
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
|
||||
| --syscon | --sysco | --sysc | --sys | --sy)
|
||||
ac_prev=sysconfdir ;;
|
||||
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
|
||||
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
|
||||
sysconfdir="$ac_optarg" ;;
|
||||
|
||||
esac
|
||||
done
|
||||
|
||||
# Be sure to have absolute paths.
|
||||
for ac_var in exec_prefix prefix
|
||||
do
|
||||
eval ac_val=$`echo $ac_var`
|
||||
case $ac_val in
|
||||
[[\\/$]]* | ?:[[\\/]]* | NONE | '' ) ;;
|
||||
*) AC_MSG_ERROR([expected an absolute path for --$ac_var: $ac_val]);;
|
||||
esac
|
||||
done
|
||||
|
||||
])dnl
|
||||
|
||||
dnl
|
||||
dnl APR_CHECK_DEPEND
|
||||
dnl
|
||||
dnl Determine what program we can use to generate .deps-style dependencies
|
||||
dnl
|
||||
AC_DEFUN([APR_CHECK_DEPEND], [
|
||||
dnl Try to determine what depend program we can use
|
||||
dnl All GCC-variants should have -MM.
|
||||
dnl If not, then we can check on those, too.
|
||||
if test "$GCC" = "yes"; then
|
||||
MKDEP='$(CC) -MM'
|
||||
else
|
||||
rm -f conftest.c
|
||||
dnl <sys/types.h> should be available everywhere!
|
||||
cat > conftest.c <<EOF
|
||||
#include <sys/types.h>
|
||||
int main() { return 0; }
|
||||
EOF
|
||||
MKDEP="true"
|
||||
for i in "$CC -MM" "$CC -M" "$CPP -MM" "$CPP -M" "cpp -M"; do
|
||||
AC_MSG_CHECKING([if $i can create proper make dependencies])
|
||||
if $i conftest.c 2>/dev/null | grep 'conftest.o: conftest.c' >/dev/null; then
|
||||
MKDEP=$i
|
||||
AC_MSG_RESULT(yes)
|
||||
break;
|
||||
fi
|
||||
AC_MSG_RESULT(no)
|
||||
done
|
||||
rm -f conftest.c
|
||||
fi
|
||||
|
||||
AC_SUBST(MKDEP)
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl APR_CHECK_TYPES_COMPATIBLE(TYPE-1, TYPE-2, [ACTION-IF-TRUE])
|
||||
dnl
|
||||
dnl Try to determine whether two types are the same. Only works
|
||||
dnl for gcc and icc.
|
||||
dnl
|
||||
AC_DEFUN([APR_CHECK_TYPES_COMPATIBLE], [
|
||||
define([apr_cvname], apr_cv_typematch_[]translit([$1], [ ], [_])_[]translit([$2], [ ], [_]))
|
||||
AC_CACHE_CHECK([whether $1 and $2 are the same], apr_cvname, [
|
||||
AC_TRY_COMPILE(AC_INCLUDES_DEFAULT, [
|
||||
int foo[0 - !__builtin_types_compatible_p($1, $2)];
|
||||
], [apr_cvname=yes
|
||||
$3], [apr_cvname=no])])
|
||||
])
|
|
@ -1,42 +1,2 @@
|
|||
dnl UNIMRCP_CHECK_APU
|
||||
|
||||
AC_DEFUN([UNIMRCP_CHECK_APU],
|
||||
[
|
||||
AC_MSG_NOTICE([Apache Portable Runtime Utility (APU) library configuration])
|
||||
|
||||
APR_FIND_APU("", "", 1, 1)
|
||||
|
||||
if test $apu_found = "no"; then
|
||||
AC_MSG_WARN([APU not found])
|
||||
UNIMRCP_DOWNLOAD_APU
|
||||
fi
|
||||
|
||||
if test $apu_found = "reconfig"; then
|
||||
AC_MSG_WARN([APU reconfig])
|
||||
fi
|
||||
|
||||
dnl check APU version number
|
||||
|
||||
apu_version="`$apu_config --version`"
|
||||
AC_MSG_RESULT([$apu_version])
|
||||
|
||||
dnl Get build information from APU
|
||||
|
||||
LDFLAGS="$LDFLAGS `$apu_config --ldflags`"
|
||||
|
||||
UNIMRCP_APU_INCLUDES="`$apu_config --includes`"
|
||||
UNIMRCP_APU_LIBS="`$apu_config --link-libtool --libs`"
|
||||
|
||||
AC_SUBST(UNIMRCP_APU_INCLUDES)
|
||||
AC_SUBST(UNIMRCP_APU_LIBS)
|
||||
])
|
||||
|
||||
dnl UNIMRCP_DOWNLOAD_APU
|
||||
dnl no apr-util found, print out a message telling the user what to do
|
||||
AC_DEFUN([UNIMRCP_DOWNLOAD_APU],
|
||||
[
|
||||
echo "The Apache Portable Runtime Utility (APU) library cannot be found."
|
||||
echo "Please install APRUTIL on this system and supply the appropriate"
|
||||
echo "--with-apr-util option to 'configure'"
|
||||
AC_MSG_ERROR([no suitable APU found])
|
||||
])
|
||||
dnl The macro UNIMRCP_CHECK_APU() has been merged with the macro UNIMRCP_CHECK_APR().
|
||||
dnl This file is no longer used and pending for removal.
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
dnl Determine the vendor of the C/C++ compiler, e.g., gnu, intel, ibm, sun,
|
||||
dnl hp, borland, comeau, dec, cray, kai, lcc, metrowerks, sgi, microsoft,
|
||||
dnl watcom, etc. The vendor is returned in the cache variable
|
||||
dnl $ax_cv_c_compiler_vendor for C and $ax_cv_cxx_compiler_vendor for C++.
|
||||
|
||||
AC_DEFUN([AX_COMPILER_VENDOR],
|
||||
[AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor,
|
||||
[dnl note: don't check for gcc first since some other compilers define __GNUC__
|
||||
vendors="intel: __ICC,__ECC,__INTEL_COMPILER
|
||||
ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__
|
||||
pathscale: __PATHCC__,__PATHSCALE__
|
||||
clang: __clang__
|
||||
gnu: __GNUC__
|
||||
sun: __SUNPRO_C,__SUNPRO_CC
|
||||
hp: __HP_cc,__HP_aCC
|
||||
dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
|
||||
borland: __BORLANDC__,__TURBOC__
|
||||
comeau: __COMO__
|
||||
cray: _CRAYC
|
||||
kai: __KCC
|
||||
lcc: __LCC__
|
||||
sgi: __sgi,sgi
|
||||
microsoft: _MSC_VER
|
||||
metrowerks: __MWERKS__
|
||||
watcom: __WATCOMC__
|
||||
portland: __PGI
|
||||
unknown: UNKNOWN"
|
||||
for ventest in $vendors; do
|
||||
case $ventest in
|
||||
*:) vendor=$ventest; continue ;;
|
||||
*) vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
|
||||
esac
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[
|
||||
#if !($vencpp)
|
||||
thisisanerror;
|
||||
#endif
|
||||
])], [break])
|
||||
done
|
||||
ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=`echo $vendor | cut -d: -f1`
|
||||
])
|
||||
])
|
|
@ -1,53 +0,0 @@
|
|||
dnl UNIMRCP_CHECK_FLITE
|
||||
|
||||
AC_DEFUN([UNIMRCP_CHECK_FLITE],
|
||||
[
|
||||
AC_MSG_NOTICE([Flite library configuration])
|
||||
|
||||
AC_MSG_CHECKING([for Flite])
|
||||
AC_ARG_WITH(flite,
|
||||
[ --with-flite=PATH path to Flite build tree],
|
||||
[flite_path=$withval],
|
||||
[flite_path="/usr/src/flite"]
|
||||
)
|
||||
|
||||
found_flite="no"
|
||||
|
||||
flite_config="config/config"
|
||||
for dir in $flite_path ; do
|
||||
cd $dir && flite_dir=`pwd` && cd - > /dev/null
|
||||
if test -f "$flite_dir/$flite_config"; then
|
||||
target_os=`grep TARGET_OS "$flite_dir/$flite_config" | sed "s/^.*= //"` ;\
|
||||
target_cpu=`grep TARGET_CPU "$flite_dir/$flite_config" | sed "s/^.*= //"` ;\
|
||||
flite_libdir=$flite_dir/build/$target_cpu-$target_os/lib
|
||||
if test -d "$flite_libdir"; then
|
||||
UNIMRCP_FLITE_INCLUDES="-I$flite_dir/include"
|
||||
UNIMRCP_FLITE_LIBS="$flite_libdir/libflite_cmu_us_awb.a \
|
||||
$flite_libdir/libflite_cmu_us_kal.a \
|
||||
$flite_libdir/libflite_cmu_us_rms.a \
|
||||
$flite_libdir/libflite_cmu_us_slt.a \
|
||||
$flite_libdir/libflite_cmulex.a \
|
||||
$flite_libdir/libflite_usenglish.a \
|
||||
$flite_libdir/libflite.a"
|
||||
found_flite="yes"
|
||||
break
|
||||
else
|
||||
AC_MSG_WARN(Cannot find Flite lib dir: $flite_libdir)
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if test x_$found_flite != x_yes; then
|
||||
AC_MSG_ERROR(Cannot find Flite - looked for srcdir:$flite_srcdir in $flite_path)
|
||||
else
|
||||
AC_MSG_RESULT([$found_flite])
|
||||
|
||||
case "$host" in
|
||||
*darwin*)
|
||||
UNIMRCP_FLITE_LIBS="$UNIMRCP_FLITE_LIBS -framework CoreFoundation -framework SystemConfiguration" ;;
|
||||
esac
|
||||
|
||||
AC_SUBST(UNIMRCP_FLITE_INCLUDES)
|
||||
AC_SUBST(UNIMRCP_FLITE_LIBS)
|
||||
fi
|
||||
])
|
|
@ -1,53 +0,0 @@
|
|||
dnl UNIMRCP_CHECK_POCKETSPHINX
|
||||
|
||||
AC_DEFUN([UNIMRCP_CHECK_POCKETSPHINX],
|
||||
[
|
||||
AC_MSG_NOTICE([PocketSphinx library configuration])
|
||||
|
||||
AC_MSG_CHECKING([for PocketSphinx])
|
||||
AC_ARG_WITH(pocketsphinx,
|
||||
[ --with-pocketsphinx=PATH prefix for installed PocketSphinx or
|
||||
path to PocketSphinx build tree],
|
||||
[pocketsphinx_path=$withval],
|
||||
[pocketsphinx_path="/usr/local"]
|
||||
)
|
||||
|
||||
found_pocketsphinx="no"
|
||||
pocketsphinx_config="lib/pkgconfig/pocketsphinx.pc"
|
||||
pocketsphinx_srcdir="src"
|
||||
for dir in $pocketsphinx_path ; do
|
||||
cd $dir && pocketsphinx_dir=`pwd` && cd - > /dev/null
|
||||
if test -f "$dir/$pocketsphinx_config"; then
|
||||
found_pocketsphinx="yes"
|
||||
UNIMRCP_POCKETSPHINX_INCLUDES="`pkg-config --cflags $dir/$pocketsphinx_config`"
|
||||
UNIMRCP_POCKETSPHINX_LIBS="`pkg-config --libs $dir/$pocketsphinx_config`"
|
||||
UNIMRCP_POCKETSPHINX_MODELS=
|
||||
pocketsphinx_version="`pkg-config --modversion $dir/$pocketsphinx_config`"
|
||||
break
|
||||
fi
|
||||
if test -d "$dir/$pocketsphinx_srcdir"; then
|
||||
found_pocketsphinx="yes"
|
||||
UNIMRCP_POCKETSPHINX_INCLUDES="-I$pocketsphinx_dir/include"
|
||||
UNIMRCP_POCKETSPHINX_LIBS="$pocketsphinx_dir/$pocketsphinx_srcdir/libpocketsphinx/libpocketsphinx.la"
|
||||
UNIMRCP_POCKETSPHINX_MODELS="$pocketsphinx_dir/model"
|
||||
pocketsphinx_version="`pkg-config --modversion $pocketsphinx_dir/pocketsphinx.pc`"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if test x_$found_pocketsphinx != x_yes; then
|
||||
AC_MSG_ERROR(Cannot find PocketSphinx - looked for pocketsphinx-config:$pocketsphinx_config and srcdir:$pocketsphinx_srcdir in $pocketsphinx_path)
|
||||
else
|
||||
AC_MSG_RESULT([$found_pocketsphinx])
|
||||
AC_MSG_RESULT([$pocketsphinx_version])
|
||||
|
||||
case "$host" in
|
||||
*darwin*)
|
||||
UNIMRCP_POCKETSPHINX_LIBS="$UNIMRCP_POCKETSPHINX_LIBS -framework CoreFoundation -framework SystemConfiguration" ;;
|
||||
esac
|
||||
|
||||
AC_SUBST(UNIMRCP_POCKETSPHINX_INCLUDES)
|
||||
AC_SUBST(UNIMRCP_POCKETSPHINX_LIBS)
|
||||
AC_SUBST(UNIMRCP_POCKETSPHINX_MODELS)
|
||||
fi
|
||||
])
|
|
@ -1,48 +1,75 @@
|
|||
dnl
|
||||
dnl UNIMRCP_CHECK_SOFIA
|
||||
|
||||
dnl
|
||||
dnl This macro attempts to find the Sofia-SIP library and
|
||||
dnl set corresponding variables on exit.
|
||||
dnl
|
||||
AC_DEFUN([UNIMRCP_CHECK_SOFIA],
|
||||
[
|
||||
[
|
||||
AC_MSG_NOTICE([Sofia SIP library configuration])
|
||||
|
||||
AC_MSG_CHECKING([for Sofia-SIP])
|
||||
AC_ARG_WITH(sofia-sip,
|
||||
[ --with-sofia-sip=PATH prefix for installed Sofia-SIP or
|
||||
path to Sofia-SIP build tree],
|
||||
[ --with-sofia-sip=PATH prefix for installed Sofia-SIP,
|
||||
path to Sofia-SIP source/build tree,
|
||||
or the full path to Sofia-SIP pkg-config],
|
||||
[sofia_path=$withval],
|
||||
[sofia_path="/usr/local"]
|
||||
)
|
||||
|
||||
found_sofia="no"
|
||||
sofiaconfig="lib/pkgconfig/sofia-sip-ua.pc"
|
||||
sofiasrcdir="libsofia-sip-ua"
|
||||
for dir in $sofia_path ; do
|
||||
cd $dir && sofiadir=`pwd` && cd - > /dev/null
|
||||
sofiadirsrc=`(cd $srcdir/$dir && pwd)`
|
||||
if test -f "$dir/$sofiaconfig"; then
|
||||
found_sofia="yes"
|
||||
UNIMRCP_SOFIA_INCLUDES="`pkg-config --cflags $dir/$sofiaconfig`"
|
||||
UNIMRCP_SOFIA_LIBS="`pkg-config --libs $dir/$sofiaconfig`"
|
||||
sofia_version="`pkg-config --modversion $dir/$sofiaconfig`"
|
||||
break
|
||||
fi
|
||||
if test -d "$dir/$sofiasrcdir"; then
|
||||
found_sofia="yes"
|
||||
UNIMRCP_SOFIA_INCLUDES="-I$sofiadir/$sofiasrcdir -I$sofiadir/$sofiasrcdir/bnf -I$sofiadir/$sofiasrcdir/features -I$sofiadir/$sofiasrcdir/http -I$sofiadir/$sofiasrcdir/ipt -I$sofiadir/$sofiasrcdir/iptsec -I$sofiadir/$sofiasrcdir/msg -I$sofiadir/$sofiasrcdir/nea -I$sofiadir/$sofiasrcdir/nta -I$sofiadir/$sofiasrcdir/nth -I$sofiadir/$sofiasrcdir/nua -I$sofiadir/$sofiasrcdir/sdp -I$sofiadir/$sofiasrcdir/sip -I$sofiadir/$sofiasrcdir/soa -I$sofiadir/$sofiasrcdir/sresolv -I$sofiadir/$sofiasrcdir/stun -I$sofiadir/$sofiasrcdir/su -I$sofiadir/$sofiasrcdir/tport -I$sofiadir/$sofiasrcdir/url -I$sofiadirsrc/$sofiasrcdir -I$sofiadirsrc/$sofiasrcdir/bnf -I$sofiadirsrc/$sofiasrcdir/features -I$sofiadirsrc/$sofiasrcdir/http -I$sofiadirsrc/$sofiasrcdir/ipt -I$sofiadirsrc/$sofiasrcdir/iptsec -I$sofiadirsrc/$sofiasrcdir/msg -I$sofiadirsrc/$sofiasrcdir/nea -I$sofiadirsrc/$sofiasrcdir/nta -I$sofiadirsrc/$sofiasrcdir/nth -I$sofiadirsrc/$sofiasrcdir/nua -I$sofiadirsrc/$sofiasrcdir/sdp -I$sofiadirsrc/$sofiasrcdir/sip -I$sofiadirsrc/$sofiasrcdir/soa -I$sofiadirsrc/$sofiasrcdir/sresolv -I$sofiadirsrc/$sofiasrcdir/stun -I$sofiadirsrc/$sofiasrcdir/su -I$sofiadirsrc/$sofiasrcdir/tport -I$sofiadirsrc/$sofiasrcdir/url"
|
||||
UNIMRCP_SOFIA_LIBS="$sofiadir/$sofiasrcdir/libsofia-sip-ua.la"
|
||||
sofia_version="`pkg-config --modversion $sofiadir/packages/sofia-sip-ua.pc`"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if test x_$found_sofia != x_yes; then
|
||||
AC_MSG_ERROR(Cannot find Sofia-SIP - looked for sofia-config:$sofiaconfig and srcdir:$sofiasrcdir in $sofia_path)
|
||||
found_sofia="no"
|
||||
|
||||
if test -n "$PKG_CONFIG"; then
|
||||
dnl Check for installed Sofia-SIP
|
||||
for dir in $sofia_path ; do
|
||||
sofia_config_path=$dir/lib/pkgconfig/sofia-sip-ua.pc
|
||||
if test -f "$sofia_config_path" && $PKG_CONFIG $sofia_config_path > /dev/null 2>&1; then
|
||||
found_sofia="yes"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
dnl Check for full path to Sofia-SIP pkg-config file
|
||||
if test "$found_sofia" != "yes" && test -f "$sofia_path" && $PKG_CONFIG $sofia_path > /dev/null 2>&1 ; then
|
||||
found_sofia="yes"
|
||||
sofia_config_path=$sofia_path
|
||||
fi
|
||||
|
||||
if test "$found_sofia" = "yes" ; then
|
||||
UNIMRCP_SOFIA_INCLUDES="`$PKG_CONFIG --cflags $sofia_config_path`"
|
||||
UNIMRCP_SOFIA_LIBS="`$PKG_CONFIG --libs $sofia_config_path`"
|
||||
sofia_version="`$PKG_CONFIG --modversion $sofia_config_path`"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$found_sofia" != "yes" ; then
|
||||
dnl Check for path to Sofia-SIP source/build tree
|
||||
for dir in $sofia_path ; do
|
||||
sofia_uadir="$dir/libsofia-sip-ua"
|
||||
if test -d "$sofia_uadir"; then
|
||||
found_sofia="yes"
|
||||
UNIMRCP_SOFIA_INCLUDES="-I$sofia_uadir -I$sofia_uadir/bnf -I$sofia_uadir/features -I$sofia_uadir/http -I$sofia_uadir/ipt -I$sofia_uadir/iptsec -I$sofia_uadir/msg -I$sofia_uadir/nea -I$sofia_uadir/nta -I$sofia_uadir/nth -I$sofia_uadir/nua -I$sofia_uadir/sdp -I$sofia_uadir/sip -I$sofia_uadir/soa -I$sofia_uadir/sresolv -I$sofia_uadir/stun -I$sofia_uadir/su -I$sofia_uadir/tport -I$sofia_uadir/url"
|
||||
UNIMRCP_SOFIA_LIBS="$sofia_uadir/libsofia-sip-ua.la"
|
||||
sofia_version="`sed -n 's/#define SOFIA_SIP_VERSION.* "\(.*\)"/\1/p' $sofia_uadir/features/sofia-sip/sofia_features.h`"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if test $found_sofia != "yes" ; then
|
||||
if test -n "$PKG_CONFIG"; then
|
||||
AC_MSG_ERROR(Cannot find Sofia-SIP - looked for sofia-config and libsofia-sip-ua in $sofia_path)
|
||||
else
|
||||
AC_MSG_ERROR(Cannot find Sofia-SIP - pkg-config not available, looked for libsofia-sip-ua in $sofia_path)
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT([$found_sofia])
|
||||
AC_MSG_RESULT([$sofia_version])
|
||||
|
||||
case "$host" in
|
||||
*darwin*)
|
||||
UNIMRCP_SOFIA_LIBS="$UNIMRCP_SOFIA_LIBS -framework CoreFoundation -framework SystemConfiguration" ;;
|
||||
UNIMRCP_SOFIA_LIBS="$UNIMRCP_SOFIA_LIBS -framework CoreFoundation -framework SystemConfiguration"
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST(UNIMRCP_SOFIA_INCLUDES)
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
dnl UNIMRCP_CHECK_SPHINXBASE
|
||||
|
||||
AC_DEFUN([UNIMRCP_CHECK_SPHINXBASE],
|
||||
[
|
||||
AC_MSG_NOTICE([SphinxBase library configuration])
|
||||
|
||||
AC_MSG_CHECKING([for SphinxBase])
|
||||
AC_ARG_WITH(sphinxbase,
|
||||
[ --with-sphinxbase=PATH prefix for installed SphinxBase or
|
||||
path to SphinxBase build tree],
|
||||
[sphinxbase_path=$withval],
|
||||
[sphinxbase_path="/usr/local"]
|
||||
)
|
||||
|
||||
found_sphinxbase="no"
|
||||
sphinxbase_config="lib/pkgconfig/sphinxbase.pc"
|
||||
sphinxbase_srcdir="src"
|
||||
for dir in $sphinxbase_path ; do
|
||||
cd $dir && sphinxbase_dir=`pwd` && cd - > /dev/null
|
||||
if test -f "$dir/$sphinxbase_config"; then
|
||||
found_sphinxbase="yes"
|
||||
UNIMRCP_SPHINXBASE_INCLUDES="`pkg-config --cflags $dir/$sphinxbase_config`"
|
||||
UNIMRCP_SPHINXBASE_LIBS="`pkg-config --libs $dir/$sphinxbase_config`"
|
||||
sphinxbase_version="`pkg-config --modversion $dir/$sphinxbase_config`"
|
||||
break
|
||||
fi
|
||||
if test -d "$dir/$sphinxbase_srcdir"; then
|
||||
found_sphinxbase="yes"
|
||||
UNIMRCP_SPHINXBASE_INCLUDES="-I$sphinxbase_dir/include"
|
||||
UNIMRCP_SPHINXBASE_LIBS="$sphinxbase_dir/$sphinxbase_srcdir/libsphinxbase/libsphinxbase.la $sphinxbase_dir/$sphinxbase_srcdir/libsphinxad/libsphinxad.la"
|
||||
sphinxbase_version="`pkg-config --modversion $sphinxbase_dir/sphinxbase.pc`"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if test x_$found_sphinxbase != x_yes; then
|
||||
AC_MSG_ERROR(Cannot find SphinxBase - looked for sphinxbase-config:$sphinxbase_config and srcdir:$sphinxbase_srcdir in $sphinxbase_path)
|
||||
else
|
||||
AC_MSG_RESULT([$found_sphinxbase])
|
||||
AC_MSG_RESULT([$sphinxbase_version])
|
||||
|
||||
case "$host" in
|
||||
*darwin*)
|
||||
UNIMRCP_SPHINXBASE_LIBS="$UNIMRCP_SPHINXBASE_LIBS -framework CoreFoundation -framework SystemConfiguration" ;;
|
||||
esac
|
||||
|
||||
AC_SUBST(UNIMRCP_SPHINXBASE_INCLUDES)
|
||||
AC_SUBST(UNIMRCP_SPHINXBASE_LIBS)
|
||||
fi
|
||||
])
|
|
@ -0,0 +1,45 @@
|
|||
dnl
|
||||
dnl UNI_PLUGIN_ENABLED(name)
|
||||
dnl
|
||||
dnl where name is the name of the plugin.
|
||||
dnl
|
||||
dnl This macro can be used for a plugin which must be enabled by default.
|
||||
dnl
|
||||
dnl Adds the following argument to the configure script:
|
||||
dnl
|
||||
dnl --disable-$1-plugin
|
||||
dnl
|
||||
dnl Sets the following variable on exit:
|
||||
dnl
|
||||
dnl enable_$1_plugin : "yes" or "no"
|
||||
dnl
|
||||
AC_DEFUN([UNI_PLUGIN_ENABLED],[
|
||||
AC_ARG_ENABLE(
|
||||
[$1-plugin],
|
||||
[AC_HELP_STRING([--disable-$1-plugin],[exclude $1 plugin from build])],
|
||||
[enable_$1_plugin="$enableval"],
|
||||
[enable_$1_plugin="yes"])
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl UNI_PLUGIN_DISABLED(name)
|
||||
dnl
|
||||
dnl where name is the name of the plugin.
|
||||
dnl
|
||||
dnl This macro can be used for a plugin which must be disabled by default.
|
||||
dnl
|
||||
dnl Adds the following argument to the configure script:
|
||||
dnl
|
||||
dnl --enable-$1-plugin
|
||||
dnl
|
||||
dnl Sets the following variable on exit:
|
||||
dnl
|
||||
dnl enable_$1_plugin : "yes" or "no"
|
||||
dnl
|
||||
AC_DEFUN([UNI_PLUGIN_DISABLED],[
|
||||
AC_ARG_ENABLE(
|
||||
[$1-plugin],
|
||||
[AC_HELP_STRING([--enable-$1-plugin],[include $1 plugin in build])],
|
||||
[enable_$1_plugin="$enableval"],
|
||||
[enable_$1_plugin="no"])
|
||||
])
|
|
@ -1,271 +1,270 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# unimrcp-server This shell script takes care of starting and stopping the UniMRCP server.
|
||||
#
|
||||
# chkconfig: 2345 65 35
|
||||
# description: UniMRCP is an open source MRCP v1 & v2 server
|
||||
|
||||
# Some global variables
|
||||
|
||||
# Application
|
||||
APP_NAME="unimrcpserver"
|
||||
APP_LONG_NAME="unimrcpserver"
|
||||
UNIMRCP_DIR="/usr/local/unimrcp/"
|
||||
|
||||
EXEC="${UNIMRCP_DIR}bin/${APP_NAME} -d -o 2 -r ${UNIMRCP_DIR}"
|
||||
|
||||
# sudo user
|
||||
USERNAME=root
|
||||
|
||||
# Priority at which to run the server. See "man nice" for valid priorities.
|
||||
# nice is only used if a priority is specified.
|
||||
PRIORITY=
|
||||
|
||||
# Location of the pid file.
|
||||
PIDDIR="/var/run/"
|
||||
pid=
|
||||
|
||||
LOG="/var/log/${APP_NAME}.log"
|
||||
|
||||
if [ -e $PIDDIR ]; then
|
||||
echo
|
||||
else
|
||||
mkdir $PIDDIR
|
||||
fi
|
||||
|
||||
# Allow configuration overrides in /etc/sysconfig/$APP_NAME
|
||||
CONFIGFILE=/etc/sysconfig/$APP_NAME
|
||||
|
||||
[ -x $CONFIGFILE ] && . $CONFIGFILE
|
||||
|
||||
# Do not modify anything beyond this point
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
# Get the fully qualified path to the script
|
||||
case $0 in
|
||||
/*)
|
||||
SCRIPT="$0"
|
||||
;;
|
||||
*)
|
||||
PWD=`pwd`
|
||||
SCRIPT="$PWD/$0"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Change spaces to ":" so the tokens can be parsed.
|
||||
SCRIPT=`echo $SCRIPT | sed -e 's; ;:;g'`
|
||||
# Get the real path to this script, resolving any symbolic links
|
||||
TOKENS=`echo $SCRIPT | sed -e 's;/; ;g'`
|
||||
REALPATH=
|
||||
for C in $TOKENS; do
|
||||
REALPATH="$REALPATH/$C"
|
||||
while [ -h "$REALPATH" ] ; do
|
||||
LS="`ls -ld "$REALPATH"`"
|
||||
LINK="`expr "$LS" : '.*-> \(.*\)$'`"
|
||||
if expr "$LINK" : '/.*' > /dev/null; then
|
||||
REALPATH="$LINK"
|
||||
else
|
||||
REALPATH="`dirname "$REALPATH"`""/$LINK"
|
||||
fi
|
||||
done
|
||||
done
|
||||
# Change ":" chars back to spaces.
|
||||
REALPATH=`echo $REALPATH | sed -e 's;:; ;g'`
|
||||
|
||||
# Change the current directory to the location of the script
|
||||
cd "`dirname "$REALPATH"`"
|
||||
|
||||
chown $USERNAME $PIDDIR
|
||||
|
||||
# Process ID
|
||||
PIDFILE="$PIDDIR/$APP_NAME.pid"
|
||||
|
||||
# Resolve the location of the 'ps' command
|
||||
PSEXE="/usr/bin/ps"
|
||||
if [ ! -x $PSEXE ]
|
||||
then
|
||||
PSEXE="/bin/ps"
|
||||
if [ ! -x $PSEXE ]
|
||||
then
|
||||
echo "Unable to locate 'ps'."
|
||||
echo "Please report this with the location on your system."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Build the nice clause
|
||||
if [ "X$PRIORITY" = "X" ]
|
||||
then
|
||||
CMDNICE=""
|
||||
else
|
||||
CMDNICE="nice -$PRIORITY"
|
||||
fi
|
||||
|
||||
getpid() {
|
||||
if [ -f $PIDFILE ]
|
||||
then
|
||||
if [ -r $PIDFILE ]
|
||||
then
|
||||
pid=`cat $PIDFILE`
|
||||
if [ "X$pid" != "X" ]
|
||||
then
|
||||
# Verify that a process with this pid is still running.
|
||||
pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
|
||||
if [ "X$pid" = "X" ]
|
||||
then
|
||||
# This is a stale pid file.
|
||||
rm -f $PIDFILE
|
||||
echo "Removed stale pid file: $PIDFILE"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "Cannot read $PIDFILE."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
testpid() {
|
||||
pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
|
||||
if [ "X$pid" = "X" ]
|
||||
then
|
||||
# Process is gone so remove the pid file.
|
||||
rm -f $PIDFILE
|
||||
fi
|
||||
}
|
||||
|
||||
console() {
|
||||
echo "Running $APP_LONG_NAME..."
|
||||
getpid
|
||||
if [ "X$pid" = "X" ]
|
||||
then
|
||||
exec sudo -u $USERNAME $CMDNICE $EXEC
|
||||
else
|
||||
echo "$APP_LONG_NAME is already running."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
start() {
|
||||
echo "Starting $APP_LONG_NAME..."
|
||||
getpid
|
||||
if [ "X$pid" = "X" ]
|
||||
then
|
||||
sudo -u $USERNAME $CMDNICE $EXEC
|
||||
pid=`$PSEXE -C $APP_NAME -o pid=`
|
||||
echo $pid
|
||||
echo $pid > $PIDFILE
|
||||
else
|
||||
echo "$APP_LONG_NAME is already running."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
stopit() {
|
||||
echo "Stopping $APP_LONG_NAME..."
|
||||
getpid
|
||||
if [ "X$pid" = "X" ]
|
||||
then
|
||||
echo "$APP_LONG_NAME was not running."
|
||||
else
|
||||
# Running so try to stop it.
|
||||
sudo -u $USERNAME kill $pid
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
# An explanation for the failure should have been given
|
||||
echo "Unable to stop $APP_LONG_NAME."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# We can not predict how long it will take for the wrapper to
|
||||
# actually stop as it depends on settings in wrapper.conf.
|
||||
# Loop until it does.
|
||||
savepid=$pid
|
||||
CNT=0
|
||||
TOTCNT=0
|
||||
while [ "X$pid" != "X" ]
|
||||
do
|
||||
# Loop for up to 5 minutes
|
||||
if [ "$TOTCNT" -lt "300" ]
|
||||
then
|
||||
if [ "$CNT" -lt "5" ]
|
||||
then
|
||||
CNT=`expr $CNT + 1`
|
||||
else
|
||||
echo "Waiting for $APP_LONG_NAME to exit..."
|
||||
CNT=0
|
||||
fi
|
||||
TOTCNT=`expr $TOTCNT + 1`
|
||||
|
||||
sleep 1
|
||||
|
||||
testpid
|
||||
else
|
||||
pid=
|
||||
fi
|
||||
done
|
||||
|
||||
pid=$savepid
|
||||
testpid
|
||||
if [ "X$pid" != "X" ]
|
||||
then
|
||||
echo "Timed out waiting for $APP_LONG_NAME to exit."
|
||||
echo " Attempting a forced exit..."
|
||||
kill -9 $pid
|
||||
fi
|
||||
|
||||
pid=$savepid
|
||||
testpid
|
||||
if [ "X$pid" != "X" ]
|
||||
then
|
||||
echo "Failed to stop $APP_LONG_NAME."
|
||||
exit 1
|
||||
else
|
||||
echo "Stopped $APP_LONG_NAME."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
status() {
|
||||
getpid
|
||||
if [ "X$pid" = "X" ]
|
||||
then
|
||||
echo "$APP_LONG_NAME is not running."
|
||||
exit 1
|
||||
else
|
||||
echo "$APP_LONG_NAME is running ($pid)."
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
|
||||
'console')
|
||||
console
|
||||
;;
|
||||
|
||||
'start')
|
||||
start
|
||||
;;
|
||||
|
||||
'stop')
|
||||
stopit
|
||||
;;
|
||||
|
||||
'restart')
|
||||
stopit
|
||||
start
|
||||
;;
|
||||
|
||||
'status')
|
||||
status
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $0 { console | start | stop | restart | status }"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
#!/bin/sh
|
||||
#
|
||||
# unimrcp-server This shell script takes care of starting and stopping the UniMRCP server.
|
||||
#
|
||||
# chkconfig: 2345 65 35
|
||||
# description: UniMRCP is an open source MRCP v1 & v2 server.
|
||||
|
||||
# Some global variables
|
||||
|
||||
# Application
|
||||
APP_NAME="unimrcpserver"
|
||||
APP_LONG_NAME="UniMRCP Server"
|
||||
UNIMRCP_DIR="/usr/local/unimrcp/"
|
||||
DAEMON_ARGS="-d -r ${UNIMRCP_DIR}"
|
||||
APP_ARGS="-o 2"
|
||||
|
||||
EXEC="${UNIMRCP_DIR}bin/${APP_NAME}"
|
||||
|
||||
# sudo user
|
||||
USERNAME=root
|
||||
|
||||
# Priority at which to run the server. See "man nice" for valid priorities.
|
||||
# nice is only used if a priority is specified.
|
||||
PRIORITY=
|
||||
|
||||
# Location of the pid file.
|
||||
PIDDIR="/var/run/"
|
||||
pid=
|
||||
|
||||
if [ -e $PIDDIR ]; then
|
||||
echo
|
||||
else
|
||||
mkdir $PIDDIR
|
||||
fi
|
||||
|
||||
# Allow configuration overrides in /etc/sysconfig/$APP_NAME
|
||||
CONFIGFILE=/etc/sysconfig/$APP_NAME
|
||||
|
||||
[ -x $CONFIGFILE ] && . $CONFIGFILE
|
||||
|
||||
# Do not modify anything beyond this point
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
# Get the fully qualified path to the script
|
||||
case $0 in
|
||||
/*)
|
||||
SCRIPT="$0"
|
||||
;;
|
||||
*)
|
||||
PWD=`pwd`
|
||||
SCRIPT="$PWD/$0"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Change spaces to ":" so the tokens can be parsed.
|
||||
SCRIPT=`echo $SCRIPT | sed -e 's; ;:;g'`
|
||||
# Get the real path to this script, resolving any symbolic links
|
||||
TOKENS=`echo $SCRIPT | sed -e 's;/; ;g'`
|
||||
REALPATH=
|
||||
for C in $TOKENS; do
|
||||
REALPATH="$REALPATH/$C"
|
||||
while [ -h "$REALPATH" ] ; do
|
||||
LS="`ls -ld "$REALPATH"`"
|
||||
LINK="`expr "$LS" : '.*-> \(.*\)$'`"
|
||||
if expr "$LINK" : '/.*' > /dev/null; then
|
||||
REALPATH="$LINK"
|
||||
else
|
||||
REALPATH="`dirname "$REALPATH"`""/$LINK"
|
||||
fi
|
||||
done
|
||||
done
|
||||
# Change ":" chars back to spaces.
|
||||
REALPATH=`echo $REALPATH | sed -e 's;:; ;g'`
|
||||
|
||||
# Change the current directory to the location of the script
|
||||
cd "`dirname "$REALPATH"`"
|
||||
|
||||
chown $USERNAME $PIDDIR
|
||||
|
||||
# Process ID
|
||||
PIDFILE="$PIDDIR/$APP_NAME.pid"
|
||||
|
||||
# Resolve the location of the 'ps' command
|
||||
PSEXE="/usr/bin/ps"
|
||||
if [ ! -x $PSEXE ]
|
||||
then
|
||||
PSEXE="/bin/ps"
|
||||
if [ ! -x $PSEXE ]
|
||||
then
|
||||
echo "Unable to locate 'ps'."
|
||||
echo "Please report this with the location on your system."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Build the nice clause
|
||||
if [ "X$PRIORITY" = "X" ]
|
||||
then
|
||||
CMDNICE=""
|
||||
else
|
||||
CMDNICE="nice -$PRIORITY"
|
||||
fi
|
||||
|
||||
getpid() {
|
||||
if [ -f $PIDFILE ]
|
||||
then
|
||||
if [ -r $PIDFILE ]
|
||||
then
|
||||
pid=`cat $PIDFILE`
|
||||
if [ "X$pid" != "X" ]
|
||||
then
|
||||
# Verify that a process with this pid is still running.
|
||||
pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
|
||||
if [ "X$pid" = "X" ]
|
||||
then
|
||||
# This is a stale pid file.
|
||||
rm -f $PIDFILE
|
||||
echo "Removed stale pid file: $PIDFILE"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "Cannot read $PIDFILE."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
testpid() {
|
||||
pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
|
||||
if [ "X$pid" = "X" ]
|
||||
then
|
||||
# Process is gone so remove the pid file.
|
||||
rm -f $PIDFILE
|
||||
fi
|
||||
}
|
||||
|
||||
console() {
|
||||
echo "Running $APP_LONG_NAME..."
|
||||
getpid
|
||||
if [ "X$pid" = "X" ]
|
||||
then
|
||||
exec sudo -u $USERNAME $CMDNICE $EXEC $APP_ARGS
|
||||
echo $pid > $PIDFILE
|
||||
else
|
||||
echo "$APP_LONG_NAME is already running."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
start() {
|
||||
echo "Starting $APP_LONG_NAME..."
|
||||
getpid
|
||||
if [ "X$pid" = "X" ]
|
||||
then
|
||||
sudo -u $USERNAME $CMDNICE $EXEC $DAEMON_ARGS $APP_ARGS
|
||||
pid=`$PSEXE -C $APP_NAME -o pid=`
|
||||
echo $pid > $PIDFILE
|
||||
else
|
||||
echo "$APP_LONG_NAME is already running."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
stopit() {
|
||||
echo "Stopping $APP_LONG_NAME..."
|
||||
getpid
|
||||
if [ "X$pid" = "X" ]
|
||||
then
|
||||
echo "$APP_LONG_NAME was not running."
|
||||
else
|
||||
# Running so try to stop it.
|
||||
sudo -u $USERNAME kill $pid
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
# An explanation for the failure should have been given
|
||||
echo "Unable to stop $APP_LONG_NAME."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# We can not predict how long it will take for the wrapper to
|
||||
# actually stop as it depends on settings in wrapper.conf.
|
||||
# Loop until it does.
|
||||
savepid=$pid
|
||||
CNT=0
|
||||
TOTCNT=0
|
||||
while [ "X$pid" != "X" ]
|
||||
do
|
||||
# Loop for up to 5 minutes
|
||||
if [ "$TOTCNT" -lt "300" ]
|
||||
then
|
||||
if [ "$CNT" -lt "5" ]
|
||||
then
|
||||
CNT=`expr $CNT + 1`
|
||||
else
|
||||
echo "Waiting for $APP_LONG_NAME to exit..."
|
||||
CNT=0
|
||||
fi
|
||||
TOTCNT=`expr $TOTCNT + 1`
|
||||
|
||||
sleep 1
|
||||
|
||||
testpid
|
||||
else
|
||||
pid=
|
||||
fi
|
||||
done
|
||||
|
||||
pid=$savepid
|
||||
testpid
|
||||
if [ "X$pid" != "X" ]
|
||||
then
|
||||
echo "Timed out waiting for $APP_LONG_NAME to exit."
|
||||
echo " Attempting a forced exit..."
|
||||
kill -9 $pid
|
||||
fi
|
||||
|
||||
pid=$savepid
|
||||
testpid
|
||||
if [ "X$pid" != "X" ]
|
||||
then
|
||||
echo "Failed to stop $APP_LONG_NAME."
|
||||
exit 1
|
||||
else
|
||||
echo "Stopped $APP_LONG_NAME."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
status() {
|
||||
getpid
|
||||
if [ "X$pid" = "X" ]
|
||||
then
|
||||
echo "$APP_LONG_NAME is not running."
|
||||
exit 1
|
||||
else
|
||||
echo "$APP_LONG_NAME is running ($pid)."
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
|
||||
'console')
|
||||
console
|
||||
;;
|
||||
|
||||
'start')
|
||||
start
|
||||
;;
|
||||
|
||||
'stop')
|
||||
stopit
|
||||
;;
|
||||
|
||||
'restart')
|
||||
stopit
|
||||
start
|
||||
;;
|
||||
|
||||
'status')
|
||||
status
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $0 { console | start | stop | restart | status }"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@ @UNIMRCP_APR_INCLUDES@ @UNIMRCP_APU_INCLUDES@
|
||||
includedir=@includedir@ @UNIMRCP_APR_INCLUDES@
|
||||
|
||||
Name: unimrcpclient
|
||||
Description: UniMRCP Client Stack
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@ @UNIMRCP_APR_INCLUDES@ @UNIMRCP_APU_INCLUDES@
|
||||
includedir=@includedir@ @UNIMRCP_APR_INCLUDES@
|
||||
|
||||
Name: unimrcpplugin
|
||||
Description: UniMRCP Server Plugin
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@ @UNIMRCP_APR_INCLUDES@ @UNIMRCP_APU_INCLUDES@
|
||||
includedir=@includedir@ @UNIMRCP_APR_INCLUDES@
|
||||
|
||||
Name: unimrcpserver
|
||||
Description: UniMRCP Server Stack
|
||||
|
|
|
@ -1,27 +1,33 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(ProjectDir)..\..\build\vsprops\unibase.props" Condition=" '$(UnibasePropsImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<AprDir>$(LibRootDir)libs\apr</AprDir>
|
||||
<AprUtilDir>$(LibRootDir)libs\apr-util</AprUtilDir>
|
||||
<AprIconvDir>$(LibRootDir)libs\apr-iconv</AprIconvDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(AprDir)\include;$(AprUtilDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="AprDir">
|
||||
<Value>$(AprDir)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="AprUtilDir">
|
||||
<Value>$(AprUtilDir)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="AprIconvDir">
|
||||
<Value>$(AprIconvDir)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(ProjectDir)..\..\build\props\unibase.props" Condition=" '$(UniBaseImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<AprDir>$(LibRootDir)libs\apr</AprDir>
|
||||
<AprUtilDir>$(LibRootDir)libs\apr-util</AprUtilDir>
|
||||
<AprIconvDir>$(LibRootDir)libs\apr-iconv</AprIconvDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<AprImported>true</AprImported>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(AprDir)\include;$(AprUtilDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="AprDir">
|
||||
<Value>$(AprDir)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="AprUtilDir">
|
||||
<Value>$(AprUtilDir)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="AprIconvDir">
|
||||
<Value>$(AprIconvDir)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -1,15 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="apr.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<AptPropsImported>true</AptPropsImported>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\apr-toolkit\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>APT_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="apr.props" Condition=" '$(AprImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<AptImported>true</AptImported>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\apr-toolkit\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>APT_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -1,12 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="apt.props" Condition=" '$(AptPropsImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mpf\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>MPF_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="apt.props" Condition=" '$(AptImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<MpfImported>true</MpfImported>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mpf\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>MPF_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -1,15 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="apt.props" Condition=" '$(AptPropsImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<MrcpPropsImported>true</MrcpPropsImported>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcp\include;$(ProjectRootDir)libs\mrcp\message\include;$(ProjectRootDir)libs\mrcp\control\include;$(ProjectRootDir)libs\mrcp\resources\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>MRCP_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="apt.props" Condition=" '$(AptImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<MrcpImported>true</MrcpImported>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcp\include;$(ProjectRootDir)libs\mrcp\message\include;$(ProjectRootDir)libs\mrcp\control\include;$(ProjectRootDir)libs\mrcp\resources\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>MRCP_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -1,15 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="mrcpsignaling.props" />
|
||||
<Import Project="mrcpv2transport.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcp-client\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="mrcpsignaling.props" />
|
||||
<Import Project="mrcpv2transport.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcp-client\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="mpf.props" Condition=" '$(MpfImported)' == '' " />
|
||||
<Import Project="mrcp.props" Condition=" '$(MrcpImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcp-engine\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="mrcpengine.props" />
|
||||
<Import Project="mrcpsignaling.props" />
|
||||
<Import Project="mrcpv2transport.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcp-server\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -1,12 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="mpf.props" />
|
||||
<Import Project="mrcp.props" Condition=" '$(MrcpPropsImported)' == ''" />
|
||||
</ImportGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcp-signaling\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="mpf.props" Condition=" '$(MpfImported)' == '' " />
|
||||
<Import Project="mrcp.props" Condition=" '$(MrcpImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcp-signaling\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -1,11 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="mrcp.props" Condition=" '$(MrcpPropsImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcpv2-transport\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="mrcp.props" Condition=" '$(MrcpImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcpv2-transport\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="unimrcpsdk.props"/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup>
|
||||
<Link>
|
||||
<AdditionalDependencies>libunimrcpclient.lib mrcpsofiasip.lib mrcpunirtsp.lib unirtsp.lib mrcpclient.lib mrcpv2transport.lib mrcpsignaling.lib libsofia_sip_ua.lib ws2_32.lib winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="unimrcpsdk.props"/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup>
|
||||
<Link>
|
||||
<AdditionalDependencies>mrcpengine.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<ProjectRootDir>C:\Program Files\UniMRCP</ProjectRootDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>APT_STATIC_LIB;MPF_STATIC_LIB;MRCP_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>$(ProjectRootDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>mrcp.lib;mpf.lib;aprtoolkit.lib;libaprutil-1.lib;libapr-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="ProjectRootDir">
|
||||
<Value>$(ProjectRootDir)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="unimrcpsdk.props"/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup>
|
||||
<Link>
|
||||
<AdditionalDependencies>libunimrcpserver.lib mrcpsofiasip.lib mrcpunirtsp.lib unirtsp.lib mrcpserver.lib mrcpv2transport.lib mrcpsignaling.lib mrcpengine.lib libsofia_sip_ua.lib ws2_32.lib winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
|
@ -1,19 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="unibase.props" Condition=" '$(UnibasePropsImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<SofiaDir>$(LibRootDir)libs\sofia-sip</SofiaDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(SofiaDir)\win32;$(SofiaDir)\libsofia-sip-ua\su;$(SofiaDir)\libsofia-sip-ua\nua;$(SofiaDir)\libsofia-sip-ua\url;$(SofiaDir)\libsofia-sip-ua\sip;$(SofiaDir)\libsofia-sip-ua\msg;$(SofiaDir)\libsofia-sip-ua\sdp;$(SofiaDir)\libsofia-sip-ua\nta;$(SofiaDir)\libsofia-sip-ua\nea;$(SofiaDir)\libsofia-sip-ua\soa;$(SofiaDir)\libsofia-sip-ua\iptsec;$(SofiaDir)\libsofia-sip-ua\bnf;$(SofiaDir)\libsofia-sip-ua\features;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="SofiaDir">
|
||||
<Value>$(SofiaDir)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(ProjectDir)..\..\build\props\unibase.props" Condition=" '$(UniBaseImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<SofiaDir>$(LibRootDir)libs\sofia-sip</SofiaDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SofiaSipImported>true</SofiaSipImported>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(SofiaDir)\win32;$(SofiaDir)\libsofia-sip-ua\su;$(SofiaDir)\libsofia-sip-ua\nua;$(SofiaDir)\libsofia-sip-ua\url;$(SofiaDir)\libsofia-sip-ua\sip;$(SofiaDir)\libsofia-sip-ua\msg;$(SofiaDir)\libsofia-sip-ua\sdp;$(SofiaDir)\libsofia-sip-ua\nta;$(SofiaDir)\libsofia-sip-ua\nea;$(SofiaDir)\libsofia-sip-ua\soa;$(SofiaDir)\libsofia-sip-ua\iptsec;$(SofiaDir)\libsofia-sip-ua\bnf;$(SofiaDir)\libsofia-sip-ua\features;$(SofiaDir)\libsofia-sip-ua\tport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="SofiaDir">
|
||||
<Value>$(SofiaDir)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -1,28 +1,29 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<ProjectRootDir>$(ProjectDir)..\..\</ProjectRootDir>
|
||||
<LibRootDir>$(SolutionDir)</LibRootDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<UnibasePropsImported>true</UnibasePropsImported>
|
||||
</PropertyGroup><ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DisableSpecificWarnings>4100;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="ProjectRootDir">
|
||||
<Value>$(ProjectRootDir)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="LibRootDir">
|
||||
<Value>$(LibRootDir)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<ProjectRootDir>$(ProjectDir)..\..\</ProjectRootDir>
|
||||
<LibRootDir>$(SolutionDir)</LibRootDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<UniBaseImported>true</UniBaseImported>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DisableSpecificWarnings>4100;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="ProjectRootDir">
|
||||
<Value>$(ProjectRootDir)</Value>
|
||||
</BuildMacro>
|
||||
<BuildMacro Include="LibRootDir">
|
||||
<Value>$(LibRootDir)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="apr.props" Condition=" '$(AprImported)' == '' "/>
|
||||
<Import Project="sofiasip.props" Condition=" '$(SofiaSipImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir>$(SolutionDir)$(PlatformName)\$(Configuration)\bin\</OutDir>
|
||||
<IntDir>$(PlatformName)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>$(AprDir)\$(Platform)\$(Configuration);$(AprUtilDir)\$(Platform)\$(Configuration);$(SofiaDir)\win32\libsofia-sip-ua\$(Platform)\$(Configuration);$(SolutionDir)$(Platform)\$(Configuration)\lib;$(SolutionDir)$(Platform)\$(Configuration)\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="apr.props" Condition=" '$(AprImported)' == '' "/>
|
||||
<Import Project="sofiasip.props" Condition=" '$(SofiaSipImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir>$(SolutionDir)$(Configuration)\bin\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>$(AprDir)\$(Configuration);$(AprUtilDir)\$(Configuration);$(SofiaDir)\win32\libsofia-sip-ua\$(Configuration);$(SolutionDir)$(Configuration)\lib;$(SolutionDir)$(Configuration)\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -1,19 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(ProjectDir)..\..\build\props\unibase.props" Condition=" '$(UniBaseImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir>$(SolutionDir)$(PlatformName)\$(Configuration)\lib\</OutDir>
|
||||
<IntDir>$(PlatformName)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir>$(SolutionDir)$(Configuration)\lib\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="mrcpclient.props" />
|
||||
<Import Project="sofiasip.props" Condition=" '$(SofiaSipImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<UniMRCPClientLibs>libunimrcpclient.lib;mrcpsofiasip.lib;mrcpunirtsp.lib;unirtsp.lib;mrcpclient.lib;mrcpv2transport.lib;mrcpsignaling.lib;mrcp.lib;mpf.lib;aprtoolkit.lib;libaprutil-1.lib;libapr-1.lib;libsofia_sip_ua.lib;ws2_32.lib;winmm.lib</UniMRCPClientLibs>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)platforms\libunimrcp-client\include;$(ProjectRootDir)build;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="UniMRCPClientLibs">
|
||||
<Value>$(UniMRCPClientLibs)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="mrcpserver.props" />
|
||||
<Import Project="sofiasip.props" Condition=" '$(SofiaSipImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<UniMRCPServerLibs>libunimrcpserver.lib;mrcpsofiasip.lib;mrcpunirtsp.lib;unirtsp.lib;mrcpserver.lib;mrcpv2transport.lib;mrcpsignaling.lib;mrcpengine.lib;mrcp.lib;mpf.lib;aprtoolkit.lib;libaprutil-1.lib;libapr-1.lib;libsofia_sip_ua.lib;ws2_32.lib;winmm.lib</UniMRCPServerLibs>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)platforms\libunimrcp-server\include;$(ProjectRootDir)build;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="UniMRCPServerLibs">
|
||||
<Value>$(UniMRCPServerLibs)</Value>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="apr.props" Condition=" '$(AprImported)' == '' "/>
|
||||
<Import Project="mrcpengine.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir>$(SolutionDir)$(PlatformName)\$(Configuration)\plugin\</OutDir>
|
||||
<IntDir>$(PlatformName)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>$(AprDir)\$(Platform)\$(Configuration);$(AprUtilDir)\$(Platform)\$(Configuration);$(SolutionDir)$(Platform)\$(Configuration)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>mrcpengine.lib;mrcp.lib;mpf.lib;aprtoolkit.lib;libaprutil-1.lib;libapr-1.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="apr.props" Condition=" '$(AprImported)' == '' "/>
|
||||
<Import Project="mrcpengine.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir>$(SolutionDir)$(Configuration)\plugin\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>$(AprDir)\$(Configuration);$(AprUtilDir)\$(Configuration);$(SolutionDir)$(Configuration)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>mrcpengine.lib;mrcp.lib;mpf.lib;aprtoolkit.lib;libaprutil-1.lib;libapr-1.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -1,16 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(ProjectDir)..\..\build\props\unibase.props" Condition=" '$(UniBaseImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -1,15 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="apt.props" Condition=" '$(AptPropsImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\uni-rtsp\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>RTSP_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="apt.props" Condition=" '$(AptImported)' == '' "/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\uni-rtsp\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>RTSP_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
|
@ -0,0 +1,24 @@
|
|||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
# Includes
|
||||
UNIMRCP_CLIENTAPP_INCLUDES = -I$(top_srcdir)/platforms/libunimrcp-client/include \
|
||||
-I$(top_srcdir)/libs/mrcp-client/include \
|
||||
-I$(top_srcdir)/libs/mrcp-signaling/include \
|
||||
-I$(top_srcdir)/libs/mrcpv2-transport/include \
|
||||
-I$(top_srcdir)/libs/mrcp/include \
|
||||
-I$(top_srcdir)/libs/mrcp/message/include \
|
||||
-I$(top_srcdir)/libs/mrcp/control/include \
|
||||
-I$(top_srcdir)/libs/mrcp/resources/include \
|
||||
-I$(top_srcdir)/libs/mpf/include \
|
||||
-I$(top_srcdir)/libs/apr-toolkit/include \
|
||||
-I$(top_srcdir)/build \
|
||||
$(UNIMRCP_APR_INCLUDES)
|
||||
|
||||
# Libraries (LDADD)
|
||||
UNIMRCP_CLIENTAPP_LIBS = $(top_builddir)/platforms/libunimrcp-client/libunimrcpclient.la
|
||||
|
||||
# Linker options (LDFLAGS)
|
||||
UNIMRCP_CLIENTAPP_OPTS =
|
||||
if ISMAC
|
||||
UNIMRCP_CLIENTAPP_OPTS += -framework CoreFoundation -framework SystemConfiguration
|
||||
endif
|
|
@ -0,0 +1,30 @@
|
|||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
# Includes
|
||||
UNIMRCP_CLIENTLIB_INCLUDES = -I$(top_srcdir)/modules/mrcp-sofiasip/include \
|
||||
-I$(top_srcdir)/modules/mrcp-unirtsp/include \
|
||||
-I$(top_srcdir)/libs/mrcp-client/include \
|
||||
-I$(top_srcdir)/libs/mrcp-signaling/include \
|
||||
-I$(top_srcdir)/libs/mrcpv2-transport/include \
|
||||
-I$(top_srcdir)/libs/mrcp/include \
|
||||
-I$(top_srcdir)/libs/mrcp/message/include \
|
||||
-I$(top_srcdir)/libs/mrcp/control/include \
|
||||
-I$(top_srcdir)/libs/mrcp/resources/include \
|
||||
-I$(top_srcdir)/libs/mpf/include \
|
||||
-I$(top_srcdir)/libs/apr-toolkit/include \
|
||||
-I$(top_srcdir)/build \
|
||||
$(UNIMRCP_APR_INCLUDES)
|
||||
|
||||
# Libraries (LIBADD)
|
||||
UNIMRCP_CLIENTLIB_LIBS = $(top_builddir)/modules/mrcp-sofiasip/libmrcpsofiasip.la \
|
||||
$(top_builddir)/modules/mrcp-unirtsp/libmrcpunirtsp.la \
|
||||
$(top_builddir)/libs/mrcpv2-transport/libmrcpv2transport.la \
|
||||
$(top_builddir)/libs/mrcp-client/libmrcpclient.la \
|
||||
$(top_builddir)/libs/mrcp-signaling/libmrcpsignaling.la \
|
||||
$(top_builddir)/libs/mrcp/libmrcp.la \
|
||||
$(top_builddir)/libs/mpf/libmpf.la \
|
||||
$(top_builddir)/libs/apr-toolkit/libaprtoolkit.la \
|
||||
$(UNIMRCP_APR_LIBS) $(UNIMRCP_SOFIA_LIBS) -lm
|
||||
|
||||
# Linker options (LDFLAGS)
|
||||
UNIMRCP_CLIENTLIB_OPTS = $(UNI_LT_VERSION)
|
|
@ -0,0 +1,14 @@
|
|||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
# Includes
|
||||
UNIMRCP_PLUGIN_INCLUDES = -I$(top_srcdir)/libs/mrcp-engine/include \
|
||||
-I$(top_srcdir)/libs/mrcp/include \
|
||||
-I$(top_srcdir)/libs/mrcp/message/include \
|
||||
-I$(top_srcdir)/libs/mrcp/control/include \
|
||||
-I$(top_srcdir)/libs/mrcp/resources/include \
|
||||
-I$(top_srcdir)/libs/mpf/include \
|
||||
-I$(top_srcdir)/libs/apr-toolkit/include \
|
||||
$(UNIMRCP_APR_INCLUDES)
|
||||
|
||||
# Linker options (LDFLAGS)
|
||||
UNIMRCP_PLUGIN_OPTS = -module $(PLUGIN_LT_VERSION)
|
|
@ -0,0 +1,25 @@
|
|||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
# Includes
|
||||
UNIMRCP_SERVERAPP_INCLUDES = -I$(top_srcdir)/platforms/libunimrcp-server/include \
|
||||
-I$(top_srcdir)/libs/mrcp-server/include \
|
||||
-I$(top_srcdir)/libs/mrcp-engine/include \
|
||||
-I$(top_srcdir)/libs/mrcp-signaling/include \
|
||||
-I$(top_srcdir)/libs/mrcpv2-transport/include \
|
||||
-I$(top_srcdir)/libs/mrcp/include \
|
||||
-I$(top_srcdir)/libs/mrcp/message/include \
|
||||
-I$(top_srcdir)/libs/mrcp/control/include \
|
||||
-I$(top_srcdir)/libs/mrcp/resources/include \
|
||||
-I$(top_srcdir)/libs/mpf/include \
|
||||
-I$(top_srcdir)/libs/apr-toolkit/include \
|
||||
-I$(top_srcdir)/build \
|
||||
$(UNIMRCP_APR_INCLUDES)
|
||||
|
||||
# Libraries (LDADD)
|
||||
UNIMRCP_SERVERAPP_LIBS = $(top_builddir)/platforms/libunimrcp-server/libunimrcpserver.la
|
||||
|
||||
# Linker options (LDFLAGS)
|
||||
UNIMRCP_SERVERAPP_OPTS =
|
||||
if ISMAC
|
||||
UNIMRCP_SERVERAPP_OPTS += -framework CoreFoundation -framework SystemConfiguration
|
||||
endif
|
|
@ -0,0 +1,32 @@
|
|||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
# Includes
|
||||
UNIMRCP_SERVERLIB_INCLUDES = -I$(top_srcdir)/modules/mrcp-sofiasip/include \
|
||||
-I$(top_srcdir)/modules/mrcp-unirtsp/include \
|
||||
-I$(top_srcdir)/libs/mrcp-server/include \
|
||||
-I$(top_srcdir)/libs/mrcp-engine/include \
|
||||
-I$(top_srcdir)/libs/mrcp-signaling/include \
|
||||
-I$(top_srcdir)/libs/mrcpv2-transport/include \
|
||||
-I$(top_srcdir)/libs/mrcp/include \
|
||||
-I$(top_srcdir)/libs/mrcp/message/include \
|
||||
-I$(top_srcdir)/libs/mrcp/control/include \
|
||||
-I$(top_srcdir)/libs/mrcp/resources/include \
|
||||
-I$(top_srcdir)/libs/mpf/include \
|
||||
-I$(top_srcdir)/libs/apr-toolkit/include \
|
||||
-I$(top_srcdir)/build \
|
||||
$(UNIMRCP_APR_INCLUDES)
|
||||
|
||||
# Libraries (LIBADD)
|
||||
UNIMRCP_SERVERLIB_LIBS = $(top_builddir)/modules/mrcp-sofiasip/libmrcpsofiasip.la \
|
||||
$(top_builddir)/modules/mrcp-unirtsp/libmrcpunirtsp.la \
|
||||
$(top_builddir)/libs/mrcp-server/libmrcpserver.la \
|
||||
$(top_builddir)/libs/mrcp-signaling/libmrcpsignaling.la \
|
||||
$(top_builddir)/libs/mrcpv2-transport/libmrcpv2transport.la \
|
||||
$(top_builddir)/libs/mrcp-engine/libmrcpengine.la \
|
||||
$(top_builddir)/libs/mrcp/libmrcp.la \
|
||||
$(top_builddir)/libs/mpf/libmpf.la \
|
||||
$(top_builddir)/libs/apr-toolkit/libaprtoolkit.la \
|
||||
$(UNIMRCP_APR_LIBS) $(UNIMRCP_SOFIA_LIBS) -lm
|
||||
|
||||
# Linker options (LDFLAGS)
|
||||
UNIMRCP_SERVERLIB_OPTS = $(UNI_LT_VERSION)
|
|
@ -1,10 +0,0 @@
|
|||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
AM_CPPFLAGS = $(UNIMRCP_APR_INCLUDES) $(UNIMRCP_APU_INCLUDES)
|
||||
|
||||
noinst_PROGRAMS = svnrev
|
||||
svnrev_LDADD = $(UNIMRCP_APR_LIBS) $(UNIMRCP_APU_LIBS)
|
||||
svnrev_SOURCES = svnrev.c
|
||||
|
||||
rev:
|
||||
./svnrev -rsvnrev.input -p../../ -o../uni_revision.h
|
|
@ -1,381 +0,0 @@
|
|||
/* SvnRev
|
||||
*
|
||||
* This utility retrieves the highest number that follows the "$Id: $" keyword
|
||||
* or a combination of the $Rev: $ and $Date: $ keywords. The Subversion
|
||||
* version control system expands these keywords and keeps them up to date.
|
||||
* For an example of the tag, see the end of this comment.
|
||||
*
|
||||
* Details on the usage and the operation of this utility is available on-line
|
||||
* at http://www.compuphase.com/svnrev.htm.
|
||||
*
|
||||
*
|
||||
* Acknowledgements
|
||||
*
|
||||
* The support for .java files is contributed by Tom McCann (tommc@spoken.com).
|
||||
* The option for prefixing and/or suffixing the build number (in the string
|
||||
* constant SVN_REVSTR) was suggested by Robert Nitzel.
|
||||
*
|
||||
*
|
||||
* License
|
||||
*
|
||||
* Copyright (c) 2005-2009, ITB CompuPhase (www.compuphase.com).
|
||||
*
|
||||
* This software is provided "as-is", without any express or implied warranty.
|
||||
* In no event will the authors be held liable for any damages arising from
|
||||
* the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software in
|
||||
* a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*
|
||||
* Version: $Id: svnrev.c 1497 2010-02-12 17:20:21Z achaloyan $
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <apr_pools.h>
|
||||
#include <apr_file_io.h>
|
||||
|
||||
|
||||
#if defined __WIN32__ || defined _Win32 || defined _WIN32
|
||||
#define DIRSEP '\\'
|
||||
#elif defined macintosh
|
||||
#define DIRSEP ':'
|
||||
#else
|
||||
/* assume Linux/Unix */
|
||||
#define DIRSEP '/'
|
||||
#endif
|
||||
|
||||
#define MAX_LINELENGTH 512
|
||||
#define MAX_SYMBOLLENGTH 32
|
||||
|
||||
static void about(void)
|
||||
{
|
||||
printf("svnrev 1.7.\n\n");
|
||||
printf("Usage: svnrev [options] <input> [input [...]]\n\n"
|
||||
"Options:\n"
|
||||
"-ofilename\tOutput filename for the file with the build number. When no\n"
|
||||
"\t\tfilename follows \"-o\", the result is written to stdout. The\n"
|
||||
"\t\tdefault filename is \"svnrev.h\" for C/C++ and \"VersionInfo.java\"\n"
|
||||
"\t\tfor Java.\n\n"
|
||||
"-fpattern\tFormat: Adds text before or after the build number in the\n"
|
||||
"\t\tconstant SVN_REVSTR. The pattern has the form \"text#text\"\n"
|
||||
"\t\t(without the quotes) where \"text\" is arbitrary text and \"#\"\n"
|
||||
"\t\twill be replaced by the build number.\n\n"
|
||||
"-i\t\tIncremental: this option should be used when the list of input\n"
|
||||
"\t\tfiles is a subset of all files in the project. When -i is\n"
|
||||
"\t\tpresent, svnrev also scans the output file that was generated\n"
|
||||
"\t\ton a previous run.\n\n"
|
||||
"-jname\t\tJava: this option writes a java package file instead of a C/C++\n"
|
||||
"\t\theader file. The name of the Java package must follow the\n"
|
||||
"\t\toption (this is not the filename).\n\n"
|
||||
"-v\t\tVerbose: prints the names of files that are modified since the\n"
|
||||
"\t\tlast commit (into version control) to stderr.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
static void processfile(const char *name, int failsilent,
|
||||
int *max_build, int *accum_build,
|
||||
int *max_year, int *max_month, int *max_day,
|
||||
int *ismodified)
|
||||
|
||||
{
|
||||
char str[MAX_LINELENGTH], str_base[MAX_LINELENGTH];
|
||||
char name_base[MAX_LINELENGTH];
|
||||
char *p1;
|
||||
FILE *fp, *fp_base;
|
||||
int build, maj_build;
|
||||
int year, month, day;
|
||||
int cnt;
|
||||
char modchar;
|
||||
|
||||
/* since we also want to verify whether the file is modified in version
|
||||
* control, get the path to the working copy name
|
||||
* for every source file "<path>\<filename>, the "working copy" base can
|
||||
* be found in "<path>\.svn\text-base\<filename>.svn-base"
|
||||
*/
|
||||
if ((p1 = strrchr(name, DIRSEP)) != NULL) {
|
||||
++p1; /* skip directory separator character ('\' in Windows, '/' in Linux) */
|
||||
strncpy(name_base, name, (int)(p1 - name));
|
||||
name_base[(int)(p1 - name)] = '\0';
|
||||
} else {
|
||||
name_base[0] = '\0';
|
||||
p1 = (char*)name;
|
||||
} /* if */
|
||||
sprintf(name_base + strlen(name_base), ".svn%ctext-base%c%s.svn-base",
|
||||
DIRSEP, DIRSEP, p1);
|
||||
|
||||
/* first extract the revision keywords */
|
||||
fp = fopen(name, "r");
|
||||
if (fp == NULL) {
|
||||
if (!failsilent)
|
||||
fprintf(stderr, "Failed to open input file '%s'\n", name);
|
||||
return;
|
||||
} /* if */
|
||||
fp_base = fopen(name_base, "r"); /* fail silently */
|
||||
build = 0;
|
||||
maj_build = 0; /* RCS / CVS */
|
||||
year = month = day = 0;
|
||||
|
||||
while (fgets(str, sizeof str, fp) != NULL) {
|
||||
if (fp_base == NULL || fgets(str_base, sizeof str_base, fp_base) == NULL)
|
||||
str_base[0] = '\0';
|
||||
if ((p1 = strstr(str, "$Id:")) != NULL && strchr(p1+1, '$') != NULL) {
|
||||
if (sscanf(p1, "$Id: %*s %d %d-%d-%d", &build, &year, &month, &day) < 4
|
||||
&& sscanf(p1, "$Id: %*s %d %d/%d/%d", &build, &year, &month, &day) < 4)
|
||||
if (sscanf(p1, "$Id: %*s %d.%d %d-%d-%d", &maj_build, &build, &year, &month, &day) < 5)
|
||||
sscanf(p1, "$Id: %*s %d.%d %d/%d/%d", &maj_build, &build, &year, &month, &day);
|
||||
} else if ((p1 = strstr(str, "$Rev:")) != NULL && strchr(p1+1, '$') != NULL) {
|
||||
if (sscanf(p1, "$Rev: %d.%d", &maj_build, &build) < 2) {
|
||||
sscanf(p1, "$Rev: %d", &build);
|
||||
maj_build = 0;
|
||||
} /* if */
|
||||
} else if ((p1 = strstr(str, "$Revision:")) != NULL && strchr(p1+1, '$') != NULL) {
|
||||
if (sscanf(p1, "$Revision: %d.%d", &maj_build, &build) < 2) {
|
||||
/* SvnRev also writes this keyword in its own generated file; read it
|
||||
* back for partial updates
|
||||
*/
|
||||
cnt = sscanf(p1, "$Revision: %d%c", &build, &modchar);
|
||||
if (cnt == 2 && modchar == 'M' && ismodified != NULL)
|
||||
*ismodified = 1;
|
||||
maj_build = 0;
|
||||
} /* if */
|
||||
} else if ((p1 = strstr(str, "$Date:")) != NULL && strchr(p1+1, '$') != NULL) {
|
||||
if (sscanf(p1, "$Date: %d-%d-%d", &year, &month, &day) < 3)
|
||||
sscanf(p1, "$Date: %d/%d/%d", &year, &month, &day);
|
||||
} else if (ismodified != NULL && *ismodified == 0 && fp_base != NULL) {
|
||||
/* no keyword present, compare the lines for equivalence */
|
||||
*ismodified = strcmp(str, str_base) != 0;
|
||||
} /* if */
|
||||
|
||||
if (maj_build)
|
||||
*accum_build += build; /* RCS / CVS */
|
||||
else if (build > *max_build)
|
||||
*max_build = build; /* Subversion */
|
||||
if (year > *max_year
|
||||
|| (year == *max_year && month > *max_month)
|
||||
|| (year == *max_year && month == *max_month && day > *max_day))
|
||||
{
|
||||
*max_year = year;
|
||||
*max_month = month;
|
||||
*max_day = day;
|
||||
} /* if */
|
||||
if (build > 0 && year > 0 && (fp_base == NULL || ismodified == NULL || *ismodified != 0))
|
||||
break; /* both build # and date found, not comparing or modification
|
||||
* already found => no need to search further */
|
||||
|
||||
} /* while */
|
||||
fclose(fp);
|
||||
if (fp_base != NULL)
|
||||
fclose(fp_base);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
char *outname = NULL;
|
||||
FILE *fp;
|
||||
FILE *input_file;
|
||||
char *input_file_name = NULL;
|
||||
char *path_prefix = NULL;
|
||||
int index;
|
||||
int process_self = 0;
|
||||
int verbose = 0;
|
||||
int max_build, accum_build;
|
||||
int max_year, max_month, max_day;
|
||||
int ismodified, filemodified;
|
||||
char prefix[MAX_SYMBOLLENGTH], suffix[MAX_SYMBOLLENGTH];
|
||||
char modified_suffix[2];
|
||||
int write_java = 0; /* flag for Java output, 0=.h output, 1=.java output */
|
||||
/* java package to put revision info in.
|
||||
* REVIEW - I assume if you want Java output you will specify a package. */
|
||||
char *java_package = NULL;
|
||||
|
||||
if (argc <= 1)
|
||||
about();
|
||||
|
||||
/* collect the options */
|
||||
prefix[0] = '\0';
|
||||
suffix[0] = '\0';
|
||||
|
||||
for (index = 1; index < argc; index++) {
|
||||
/* check for options */
|
||||
if (argv[index][0] == '-'
|
||||
#if defined __WIN32__ || defined _Win32 || defined _WIN32
|
||||
|| argv[index][0] == '/'
|
||||
#endif
|
||||
)
|
||||
{
|
||||
switch (argv[index][1]) {
|
||||
case 'f': {
|
||||
int len;
|
||||
char *ptr = strchr(&argv[index][2], '#');
|
||||
len = (ptr != NULL) ? (int)(ptr - &argv[index][2]) : (int)strlen(&argv[index][2]);
|
||||
if (len >= MAX_SYMBOLLENGTH)
|
||||
len = MAX_SYMBOLLENGTH - 1;
|
||||
strncpy(prefix, &argv[index][2], len);
|
||||
prefix[len] = '\0';
|
||||
ptr = (ptr != NULL) ? ptr + 1 : strchr(argv[index], '\0');
|
||||
len = (int)strlen(ptr);
|
||||
if (len >= MAX_SYMBOLLENGTH)
|
||||
len = MAX_SYMBOLLENGTH - 1;
|
||||
strncpy(suffix, ptr, len);
|
||||
suffix[len] = '\0';
|
||||
break;
|
||||
} /* case */
|
||||
case 'i':
|
||||
process_self = 1;
|
||||
break;
|
||||
case 'j':
|
||||
write_java=1;
|
||||
java_package = &argv[index][2];
|
||||
break;
|
||||
case 'o':
|
||||
outname = &argv[index][2];
|
||||
break;
|
||||
case 'r':
|
||||
input_file_name = &argv[index][2];
|
||||
break;
|
||||
case 'p':
|
||||
path_prefix = &argv[index][2];
|
||||
break;
|
||||
case 'v':
|
||||
verbose = 1;
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "Invalid option '%s'\n", argv[index]);
|
||||
about();
|
||||
} /* switch */
|
||||
} /* if */
|
||||
} /* for */
|
||||
|
||||
if (outname == NULL)
|
||||
outname = write_java ? "SvnRevision.java" : "uni_revision.h";
|
||||
if (!process_self && *outname != '\0')
|
||||
remove(outname);
|
||||
|
||||
/* phase 1: scan through all files and get the highest build number */
|
||||
|
||||
max_build = 0;
|
||||
accum_build = 0; /* for RCS / CVS */
|
||||
max_year = max_month = max_day = 0;
|
||||
ismodified = 0;
|
||||
|
||||
if(input_file_name) {
|
||||
input_file = fopen(input_file_name, "r");
|
||||
if (input_file != NULL) {
|
||||
apr_dir_t *dir;
|
||||
apr_finfo_t finfo;
|
||||
apr_status_t rv;
|
||||
apr_pool_t *pool;
|
||||
char *file_path;
|
||||
char dir_path[256]; /* line */
|
||||
int offset = 0;
|
||||
if(path_prefix)
|
||||
offset = sprintf(dir_path, "%s", path_prefix);
|
||||
else
|
||||
offset = sprintf(dir_path, "../../");
|
||||
|
||||
apr_initialize();
|
||||
apr_pool_create(&pool,NULL);
|
||||
while (fgets(dir_path + offset, sizeof(dir_path) - offset, input_file) != NULL ) { /* read a line */
|
||||
size_t len = strlen(dir_path)-1;
|
||||
if(dir_path[len] == '\n')
|
||||
dir_path[len] = 0;
|
||||
rv = apr_dir_open(&dir,dir_path,pool);
|
||||
if(rv == APR_SUCCESS) {
|
||||
while (apr_dir_read(&finfo, APR_FINFO_NAME, dir) == APR_SUCCESS) { /* get next file */
|
||||
if(finfo.filetype != APR_REG) continue;
|
||||
|
||||
apr_filepath_merge(&file_path,dir_path,finfo.name,0,pool);
|
||||
|
||||
filemodified = 0;
|
||||
if (strcasecmp(file_path, outname)!=0)
|
||||
processfile(file_path, 0, &max_build, &accum_build, &max_year, &max_month, &max_day, &filemodified);
|
||||
if (filemodified && verbose)
|
||||
fprintf(stderr, "\tNotice: modified file '%s'\n", file_path);
|
||||
ismodified = ismodified || filemodified;
|
||||
}
|
||||
apr_dir_close(dir);
|
||||
}
|
||||
else {
|
||||
fprintf(stderr, "No such directory '%s'\n", dir_path);
|
||||
}
|
||||
}
|
||||
fclose (input_file);
|
||||
apr_pool_destroy(pool);
|
||||
apr_terminate();
|
||||
}
|
||||
else {
|
||||
fprintf(stderr, "No such input file '%s'\n", input_file_name);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (index = 1; index < argc; index++) {
|
||||
/* skip the options (already handled) */
|
||||
if (argv[index][0] == '-'
|
||||
#if defined __WIN32__ || defined _Win32 || defined _WIN32
|
||||
|| argv[index][0] == '/'
|
||||
#endif
|
||||
)
|
||||
continue;
|
||||
|
||||
filemodified = 0;
|
||||
if (strcasecmp(argv[index], outname)!=0)
|
||||
processfile(argv[index], 0, &max_build, &accum_build, &max_year, &max_month, &max_day, &filemodified);
|
||||
if (filemodified && verbose)
|
||||
fprintf(stderr, "\tNotice: modified file '%s'\n", argv[index]);
|
||||
ismodified = ismodified || filemodified;
|
||||
} /* for */
|
||||
}
|
||||
|
||||
/* also run over the existing header file, if any */
|
||||
if (process_self && *outname != '\0')
|
||||
processfile(outname, 1, &max_build, &accum_build, &max_year, &max_month, &max_day, NULL/*&ismodified*/);
|
||||
|
||||
if (accum_build > max_build)
|
||||
max_build = accum_build;
|
||||
modified_suffix[0] = ismodified ? 'M' : '\0';
|
||||
modified_suffix[1] = '\0';
|
||||
|
||||
/* phase 2: write a file with this highest build number */
|
||||
if (*outname == '\0') {
|
||||
fp = stdout;
|
||||
} else if ((fp = fopen(outname, "w")) == NULL) {
|
||||
fprintf(stderr, "Failed to create output file '%s'\n", outname);
|
||||
return 2;
|
||||
} /* if */
|
||||
if (*outname != '\0') {
|
||||
/* don't print the comments to stdout */
|
||||
fprintf(fp, "/* This file was generated by the \"svnrev\" utility\n"
|
||||
" * (http://www.compuphase.com/svnrev.htm).\n"
|
||||
" * You should not modify it manually, as it may be re-generated.\n"
|
||||
" *\n"
|
||||
" * $Revision: %d%s$\n"
|
||||
" * $Date: %04d-%02d-%02d$\n"
|
||||
" */\n\n", max_build, modified_suffix, max_year, max_month, max_day);
|
||||
} /* if */
|
||||
|
||||
fprintf(fp, "#ifndef UNI_REVISION_H\n");
|
||||
fprintf(fp, "#define UNI_REVISION_H\n\n");
|
||||
fprintf(fp, "#define UNI_REVISION\t\t%d\n", max_build);
|
||||
fprintf(fp, "#define UNI_REVISION_STRING\t\"%s%d%s%s\"\n", prefix, max_build, modified_suffix, suffix);
|
||||
fprintf(fp, "#define UNI_REVISION_DATE\t\"%04d-%02d-%02d\"\n", max_year, max_month, max_day);
|
||||
fprintf(fp, "#define UNI_REVISION_STAMP\t%04d%02d%02dL\n", max_year, max_month, max_day);
|
||||
fprintf(fp, "#define UNI_REVISION_MODIFIED\t%d\n", ismodified);
|
||||
fprintf(fp, "\n#endif /* UNI_REVISION_H */\n");
|
||||
|
||||
if (*outname != '\0')
|
||||
fclose(fp);
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
build
|
||||
libs/apr-toolkit/include
|
||||
libs/apr-toolkit/src
|
||||
libs/mpf/include
|
||||
libs/mpf/src
|
||||
libs/mrcp/control/include
|
||||
libs/mrcp/control/src
|
||||
libs/mrcp/include
|
||||
libs/mrcp/message/include
|
||||
libs/mrcp/message/src
|
||||
libs/mrcp/resources/include
|
||||
libs/mrcp/resources/src
|
||||
libs/mrcp-client/include
|
||||
libs/mrcp-client/src
|
||||
libs/mrcp-server/include
|
||||
libs/mrcp-server/src
|
||||
libs/mrcp-engine/include
|
||||
libs/mrcp-engine/src
|
||||
libs/mrcp-signaling/include
|
||||
libs/mrcp-signaling/src
|
||||
libs/mrcpv2-transport/include
|
||||
libs/mrcpv2-transport/src
|
||||
libs/uni-rtsp/include
|
||||
libs/uni-rtsp/src
|
||||
modules/mrcp-sofiasip/include
|
||||
modules/mrcp-sofiasip/src
|
||||
modules/mrcp-unirtsp/include
|
||||
modules/mrcp-unirtsp/src
|
||||
platforms/libunimrcp-client/include
|
||||
platforms/libunimrcp-client/src
|
||||
platforms/libunimrcp-server/include
|
||||
platforms/libunimrcp-server/src
|
|
@ -1,345 +0,0 @@
|
|||
<?xml version="1.0" encoding="windows-1251"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="svnrev"
|
||||
ProjectGUID="{49AAB3FE-63D3-41CA-B92B-65828B79902B}"
|
||||
RootNamespace="svnrev"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\apt.vsprops;$(ProjectDir)..\..\build\vsprops\unibin.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="$(SolutionDir)$(ConfigurationName)\bin\svnrev -r$(SolutionDir)build\svnrev\svnrev.input -p$(SolutionDir) -o$(SolutionDir)build\uni_revision.h
"
|
||||
Outputs="$(SolutionDir)build\uni_revision.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libaprutil-1.lib libapr-1.lib"
|
||||
GenerateDebugInformation="true"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\apt.vsprops;$(ProjectDir)..\..\build\vsprops\unibin-x64.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\svnrev -r$(SolutionDir)build\svnrev\svnrev.input -p$(SolutionDir) -o$(SolutionDir)build\uni_revision.h
"
|
||||
Outputs="$(SolutionDir)build\uni_revision.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libaprutil-1.lib libapr-1.lib"
|
||||
GenerateDebugInformation="true"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\apt.vsprops;$(ProjectDir)..\..\build\vsprops\unibin.vsprops"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="$(SolutionDir)$(ConfigurationName)\bin\svnrev -r$(SolutionDir)build\svnrev\svnrev.input -p$(SolutionDir) -o$(SolutionDir)build\uni_revision.h
"
|
||||
Outputs="$(SolutionDir)build\uni_revision.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
RuntimeLibrary="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libaprutil-1.lib libapr-1.lib"
|
||||
GenerateDebugInformation="true"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\apt.vsprops;$(ProjectDir)..\..\build\vsprops\unibin-x64.vsprops"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\svnrev -r$(SolutionDir)build\svnrev\svnrev.input -p$(SolutionDir) -o$(SolutionDir)build\uni_revision.h
"
|
||||
Outputs="$(SolutionDir)build\uni_revision.h"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
RuntimeLibrary="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libaprutil-1.lib libapr-1.lib"
|
||||
GenerateDebugInformation="true"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\svnrev.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -1,68 +0,0 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="prepare"
|
||||
ProjectGUID="{01D63BF5-7798-4746-852A-4B45229BB735}"
|
||||
RootNamespace="prepare"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="10"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\apr.vsprops;$(ProjectDir)..\..\build\vsprops\sofiasip.vsprops"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="xcopy "$(AprDir)\$(ConfigurationName)\libapr-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(AprUtilDir)\$(ConfigurationName)\libaprutil-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(ConfigurationName)\libsofia_sip_ua.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\pthread\pthreadVC2.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

if not exist "$(SolutionDir)$(ConfigurationName)\conf" xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(ConfigurationName)\conf\" /Y
if not exist "$(SolutionDir)$(ConfigurationName)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(ConfigurationName)\data\" /Y
if not exist "$(SolutionDir)$(ConfigurationName)\log" mkdir "$(SolutionDir)$(ConfigurationName)\log\"
"
|
||||
ExcludedFromBuild="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
ConfigurationType="10"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\apr.vsprops;$(ProjectDir)..\..\build\vsprops\sofiasip.vsprops"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="xcopy "$(AprDir)\$(ConfigurationName)\libapr-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(AprUtilDir)\$(ConfigurationName)\libaprutil-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(ConfigurationName)\libsofia_sip_ua.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\pthread\pthreadVC2.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

if not exist "$(SolutionDir)$(ConfigurationName)\conf" xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(ConfigurationName)\conf\" /Y
if not exist "$(SolutionDir)$(ConfigurationName)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(ConfigurationName)\data\" /Y
if not exist "$(SolutionDir)$(ConfigurationName)\log" mkdir "$(SolutionDir)$(ConfigurationName)\log\"
"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
</Files>
|
||||
</VisualStudioProject>
|
|
@ -28,7 +28,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="xcopy "$(AprDir)\$(ConfigurationName)\libapr-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(AprUtilDir)\$(ConfigurationName)\libaprutil-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

if exist "$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll" (
xcopy "$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
if exist "$(AprIconvDir)\$(ConfigurationName)\iconv" (
if not exist "$(SolutionDir)$(ConfigurationName)\bin\iconv" mkdir "$(SolutionDir)$(ConfigurationName)\bin\iconv"
xcopy "$(AprIconvDir)\$(ConfigurationName)\iconv\*.so" "$(SolutionDir)$(ConfigurationName)\bin\iconv\" /Y
)
)

xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(ConfigurationName)\libsofia_sip_ua.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\pthread\pthreadVC2.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

if not exist "$(SolutionDir)$(ConfigurationName)\conf" (
xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\*.xsd" "$(SolutionDir)$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\client-profiles\*.xml" "$(SolutionDir)$(ConfigurationName)\conf\client-profiles\" /Y
)

if not exist "$(SolutionDir)$(ConfigurationName)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(ConfigurationName)\data\" /Y
if not exist "$(SolutionDir)$(ConfigurationName)\log" mkdir "$(SolutionDir)$(ConfigurationName)\log\"
"
|
||||
CommandLine="xcopy "$(AprDir)\$(ConfigurationName)\libapr-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(AprUtilDir)\$(ConfigurationName)\libaprutil-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

if exist "$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll" (
xcopy "$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
if exist "$(AprIconvDir)\$(ConfigurationName)\iconv" (
if not exist "$(SolutionDir)$(ConfigurationName)\bin\iconv" mkdir "$(SolutionDir)$(ConfigurationName)\bin\iconv"
xcopy "$(AprIconvDir)\$(ConfigurationName)\iconv\*.so" "$(SolutionDir)$(ConfigurationName)\bin\iconv\" /Y
)
)

xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(ConfigurationName)\libsofia_sip_ua.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\pthread\$(ConfigurationName)\pthreadVC2.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

if not exist "$(SolutionDir)$(ConfigurationName)\conf" (
xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\*.xsd" "$(SolutionDir)$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\client-profiles\*.xml" "$(SolutionDir)$(ConfigurationName)\conf\client-profiles\" /Y
)

if not exist "$(SolutionDir)$(ConfigurationName)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(ConfigurationName)\data\" /Y
if not exist "$(SolutionDir)$(ConfigurationName)\log" mkdir "$(SolutionDir)$(ConfigurationName)\log\"
if not exist "$(SolutionDir)$(ConfigurationName)\var" mkdir "$(SolutionDir)$(ConfigurationName)\var\"
"
|
||||
ExcludedFromBuild="false"
|
||||
/>
|
||||
<Tool
|
||||
|
@ -51,7 +51,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="xcopy "$(AprDir)\$(PlatformName)\$(ConfigurationName)\libapr-1.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
xcopy "$(AprUtilDir)\$(PlatformName)\$(ConfigurationName)\libaprutil-1.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y

if exist "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll" (
xcopy "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
if exist "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv" (
if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv" mkdir "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv"
xcopy "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv\*.so" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv\" /Y
)
)

xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(PlatformName)\$(ConfigurationName)\libsofia_sip_ua.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\pthread\$(PlatformName)\pthreadVC2.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y

if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf" (
xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\*.xsd" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\client-profiles\*.xml" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\client-profiles\" /Y
)

if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\" /Y
if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log" mkdir "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log\"
"
|
||||
CommandLine="xcopy "$(AprDir)\$(PlatformName)\$(ConfigurationName)\libapr-1.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
xcopy "$(AprUtilDir)\$(PlatformName)\$(ConfigurationName)\libaprutil-1.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y

if exist "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll" (
xcopy "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
if exist "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv" (
if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv" mkdir "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv"
xcopy "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv\*.so" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv\" /Y
)
)

xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(PlatformName)\$(ConfigurationName)\libsofia_sip_ua.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\pthread\$(PlatformName)\$(ConfigurationName)\pthreadVC2.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y

if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf" (
xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\*.xsd" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\client-profiles\*.xml" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\client-profiles\" /Y
)

if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\" /Y
if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log" mkdir "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log\"
if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\var" mkdir "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\var\"
"
|
||||
ExcludedFromBuild="false"
|
||||
/>
|
||||
<Tool
|
||||
|
@ -76,7 +76,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="xcopy "$(AprDir)\$(ConfigurationName)\libapr-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(AprUtilDir)\$(ConfigurationName)\libaprutil-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

if exist "$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll" (
xcopy "$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
if exist "$(AprIconvDir)\$(ConfigurationName)\iconv" (
if not exist "$(SolutionDir)$(ConfigurationName)\bin\iconv" mkdir "$(SolutionDir)$(ConfigurationName)\bin\iconv"
xcopy "$(AprIconvDir)\$(ConfigurationName)\iconv\*.so" "$(SolutionDir)$(ConfigurationName)\bin\iconv\" /Y
)
)

xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(ConfigurationName)\libsofia_sip_ua.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\pthread\pthreadVC2.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

if not exist "$(SolutionDir)$(ConfigurationName)\conf" (
xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\*.xsd" "$(SolutionDir)$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\client-profiles\*.xml" "$(SolutionDir)$(ConfigurationName)\conf\client-profiles\" /Y
)

if not exist "$(SolutionDir)$(ConfigurationName)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(ConfigurationName)\data\" /Y
if not exist "$(SolutionDir)$(ConfigurationName)\log" mkdir "$(SolutionDir)$(ConfigurationName)\log\"
"
|
||||
CommandLine="xcopy "$(AprDir)\$(ConfigurationName)\libapr-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(AprUtilDir)\$(ConfigurationName)\libaprutil-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

if exist "$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll" (
xcopy "$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
if exist "$(AprIconvDir)\$(ConfigurationName)\iconv" (
if not exist "$(SolutionDir)$(ConfigurationName)\bin\iconv" mkdir "$(SolutionDir)$(ConfigurationName)\bin\iconv"
xcopy "$(AprIconvDir)\$(ConfigurationName)\iconv\*.so" "$(SolutionDir)$(ConfigurationName)\bin\iconv\" /Y
)
)

xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(ConfigurationName)\libsofia_sip_ua.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\pthread\$(ConfigurationName)\pthreadVC2.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

if not exist "$(SolutionDir)$(ConfigurationName)\conf" (
xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\*.xsd" "$(SolutionDir)$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\client-profiles\*.xml" "$(SolutionDir)$(ConfigurationName)\conf\client-profiles\" /Y
)

if not exist "$(SolutionDir)$(ConfigurationName)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(ConfigurationName)\data\" /Y
if not exist "$(SolutionDir)$(ConfigurationName)\log" mkdir "$(SolutionDir)$(ConfigurationName)\log\"
if not exist "$(SolutionDir)$(ConfigurationName)\var" mkdir "$(SolutionDir)$(ConfigurationName)\var\"
"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
|
@ -99,7 +99,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="xcopy "$(AprDir)\$(PlatformName)\$(ConfigurationName)\libapr-1.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
xcopy "$(AprUtilDir)\$(PlatformName)\$(ConfigurationName)\libaprutil-1.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y

if exist "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll" (
xcopy "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
if exist "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv" (
if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv" mkdir "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv"
xcopy "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv\*.so" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv\" /Y
)
)

xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(PlatformName)\$(ConfigurationName)\libsofia_sip_ua.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\pthread\$(PlatformName)\pthreadVC2.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y

if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf" (
xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\*.xsd" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\client-profiles\*.xml" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\client-profiles\" /Y
)

if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\" /Y
if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log" mkdir "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log\"
"
|
||||
CommandLine="xcopy "$(AprDir)\$(PlatformName)\$(ConfigurationName)\libapr-1.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
xcopy "$(AprUtilDir)\$(PlatformName)\$(ConfigurationName)\libaprutil-1.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y

if exist "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll" (
xcopy "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
if exist "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv" (
if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv" mkdir "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv"
xcopy "$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv\*.so" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv\" /Y
)
)

xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(PlatformName)\$(ConfigurationName)\libsofia_sip_ua.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\pthread\$(PlatformName)\$(ConfigurationName)\pthreadVC2.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y

if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf" (
xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\*.xsd" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\" /Y
xcopy "$(SolutionDir)conf\client-profiles\*.xml" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\client-profiles\" /Y
)

if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\" /Y
if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log" mkdir "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log\"
if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\var" mkdir "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\var\"
"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
|
|
|
@ -0,0 +1,205 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{01D63BF5-7798-4746-852A-4B45229BB735}</ProjectGuid>
|
||||
<RootNamespace>prepare</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Utility</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Utility</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Utility</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Utility</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\apr.props" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\sofiasip.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\apr.props" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\sofiasip.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\apr.props" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\sofiasip.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\apr.props" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\sofiasip.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
|
||||
<PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
|
||||
<PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreBuildEventUseInBuild>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>xcopy "$(AprDir)\$(Configuration)\libapr-1.dll" "$(SolutionDir)$(Configuration)\bin\" /Y
|
||||
xcopy "$(AprUtilDir)\$(Configuration)\libaprutil-1.dll" "$(SolutionDir)$(Configuration)\bin\" /Y
|
||||
|
||||
if exist "$(AprIconvDir)\$(Configuration)\libapriconv-1.dll" (
|
||||
xcopy "$(AprIconvDir)\$(Configuration)\libapriconv-1.dll" "$(SolutionDir)$(Configuration)\bin\" /Y
|
||||
if exist "$(AprIconvDir)\$(Configuration)\iconv" (
|
||||
if not exist "$(SolutionDir)$(Configuration)\bin\iconv" mkdir "$(SolutionDir)$(Configuration)\bin\iconv"
|
||||
xcopy "$(AprIconvDir)\$(Configuration)\iconv\*.so" "$(SolutionDir)$(Configuration)\bin\iconv\" /Y
|
||||
)
|
||||
)
|
||||
|
||||
xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(Configuration)\libsofia_sip_ua.dll" "$(SolutionDir)$(Configuration)\bin\" /Y
|
||||
xcopy "$(SofiaDir)\win32\pthread\$(Configuration)\pthreadVC2.dll" "$(SolutionDir)$(Configuration)\bin\" /Y
|
||||
|
||||
if not exist "$(SolutionDir)$(Configuration)\conf" (
|
||||
xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(Configuration)\conf\" /Y
|
||||
xcopy "$(SolutionDir)conf\*.xsd" "$(SolutionDir)$(Configuration)\conf\" /Y
|
||||
xcopy "$(SolutionDir)conf\client-profiles\*.xml" "$(SolutionDir)$(Configuration)\conf\client-profiles\" /Y
|
||||
)
|
||||
|
||||
if not exist "$(SolutionDir)$(Configuration)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(Configuration)\data\" /Y
|
||||
if not exist "$(SolutionDir)$(Configuration)\log" mkdir "$(SolutionDir)$(Configuration)\log\"
|
||||
if not exist "$(SolutionDir)$(Configuration)\var" mkdir "$(SolutionDir)$(Configuration)\var\"
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<PreBuildEvent>
|
||||
<Command>xcopy "$(AprDir)\$(Platform)\$(Configuration)\libapr-1.dll" "$(SolutionDir)$(Platform)\$(Configuration)\bin\" /Y
|
||||
xcopy "$(AprUtilDir)\$(Platform)\$(Configuration)\libaprutil-1.dll" "$(SolutionDir)$(Platform)\$(Configuration)\bin\" /Y
|
||||
|
||||
if exist "$(AprIconvDir)\$(Platform)\$(Configuration)\libapriconv-1.dll" (
|
||||
xcopy "$(AprIconvDir)\$(Platform)\$(Configuration)\libapriconv-1.dll" "$(SolutionDir)$(Platform)\$(Configuration)\bin\" /Y
|
||||
if exist "$(AprIconvDir)\$(Platform)\$(Configuration)\iconv" (
|
||||
if not exist "$(SolutionDir)$(Platform)\$(Configuration)\bin\iconv" mkdir "$(SolutionDir)$(Platform)\$(Configuration)\bin\iconv"
|
||||
xcopy "$(AprIconvDir)\$(Platform)\$(Configuration)\iconv\*.so" "$(SolutionDir)$(Platform)\$(Configuration)\bin\iconv\" /Y
|
||||
)
|
||||
)
|
||||
|
||||
xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(Platform)\$(Configuration)\libsofia_sip_ua.dll" "$(SolutionDir)$(Platform)\$(Configuration)\bin\" /Y
|
||||
xcopy "$(SofiaDir)\win32\pthread\$(Platform)\$(Configuration)\pthreadVC2.dll" "$(SolutionDir)$(Platform)\$(Configuration)\bin\" /Y
|
||||
|
||||
if not exist "$(SolutionDir)$(Platform)\$(Configuration)\conf" (
|
||||
xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(Platform)\$(Configuration)\conf\" /Y
|
||||
xcopy "$(SolutionDir)conf\*.xsd" "$(SolutionDir)$(Platform)\$(Configuration)\conf\" /Y
|
||||
xcopy "$(SolutionDir)conf\client-profiles\*.xml" "$(SolutionDir)$(Platform)\$(Configuration)\conf\client-profiles\" /Y
|
||||
)
|
||||
|
||||
if not exist "$(SolutionDir)$(Platform)\$(Configuration)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(Platform)\$(Configuration)\data\" /Y
|
||||
if not exist "$(SolutionDir)$(Platform)\$(Configuration)\log" mkdir "$(SolutionDir)$(Platform)\$(Configuration)\log\"
|
||||
if not exist "$(SolutionDir)$(Platform)\$(Configuration)\var" mkdir "$(SolutionDir)$(Platform)\$(Configuration)\var\"
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>xcopy "$(AprDir)\$(Configuration)\libapr-1.dll" "$(SolutionDir)$(Configuration)\bin\" /Y
|
||||
xcopy "$(AprUtilDir)\$(Configuration)\libaprutil-1.dll" "$(SolutionDir)$(Configuration)\bin\" /Y
|
||||
|
||||
if exist "$(AprIconvDir)\$(Configuration)\libapriconv-1.dll" (
|
||||
xcopy "$(AprIconvDir)\$(Configuration)\libapriconv-1.dll" "$(SolutionDir)$(Configuration)\bin\" /Y
|
||||
if exist "$(AprIconvDir)\$(Configuration)\iconv" (
|
||||
if not exist "$(SolutionDir)$(Configuration)\bin\iconv" mkdir "$(SolutionDir)$(Configuration)\bin\iconv"
|
||||
xcopy "$(AprIconvDir)\$(Configuration)\iconv\*.so" "$(SolutionDir)$(Configuration)\bin\iconv\" /Y
|
||||
)
|
||||
)
|
||||
|
||||
xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(Configuration)\libsofia_sip_ua.dll" "$(SolutionDir)$(Configuration)\bin\" /Y
|
||||
xcopy "$(SofiaDir)\win32\pthread\$(Configuration)\pthreadVC2.dll" "$(SolutionDir)$(Configuration)\bin\" /Y
|
||||
|
||||
if not exist "$(SolutionDir)$(Configuration)\conf" (
|
||||
xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(Configuration)\conf\" /Y
|
||||
xcopy "$(SolutionDir)conf\*.xsd" "$(SolutionDir)$(Configuration)\conf\" /Y
|
||||
xcopy "$(SolutionDir)conf\client-profiles\*.xml" "$(SolutionDir)$(Configuration)\conf\client-profiles\" /Y
|
||||
)
|
||||
|
||||
if not exist "$(SolutionDir)$(Configuration)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(Configuration)\data\" /Y
|
||||
if not exist "$(SolutionDir)$(Configuration)\log" mkdir "$(SolutionDir)$(Configuration)\log\"
|
||||
if not exist "$(SolutionDir)$(Configuration)\var" mkdir "$(SolutionDir)$(Configuration)\var\"
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<PreBuildEvent>
|
||||
<Command>xcopy "$(AprDir)\$(Platform)\$(Configuration)\libapr-1.dll" "$(SolutionDir)$(Platform)\$(Configuration)\bin\" /Y
|
||||
xcopy "$(AprUtilDir)\$(Platform)\$(Configuration)\libaprutil-1.dll" "$(SolutionDir)$(Platform)\$(Configuration)\bin\" /Y
|
||||
|
||||
if exist "$(AprIconvDir)\$(Platform)\$(Configuration)\libapriconv-1.dll" (
|
||||
xcopy "$(AprIconvDir)\$(Platform)\$(Configuration)\libapriconv-1.dll" "$(SolutionDir)$(Platform)\$(Configuration)\bin\" /Y
|
||||
if exist "$(AprIconvDir)\$(Platform)\$(Configuration)\iconv" (
|
||||
if not exist "$(SolutionDir)$(Platform)\$(Configuration)\bin\iconv" mkdir "$(SolutionDir)$(Platform)\$(Configuration)\bin\iconv"
|
||||
xcopy "$(AprIconvDir)\$(Platform)\$(Configuration)\iconv\*.so" "$(SolutionDir)$(Platform)\$(Configuration)\bin\iconv\" /Y
|
||||
)
|
||||
)
|
||||
|
||||
xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(Platform)\$(Configuration)\libsofia_sip_ua.dll" "$(SolutionDir)$(Platform)\$(Configuration)\bin\" /Y
|
||||
xcopy "$(SofiaDir)\win32\pthread\$(Platform)\$(Configuration)\pthreadVC2.dll" "$(SolutionDir)$(Platform)\$(Configuration)\bin\" /Y
|
||||
|
||||
if not exist "$(SolutionDir)$(Platform)\$(Configuration)\conf" (
|
||||
xcopy "$(SolutionDir)conf\*.xml" "$(SolutionDir)$(Platform)\$(Configuration)\conf\" /Y
|
||||
xcopy "$(SolutionDir)conf\*.xsd" "$(SolutionDir)$(Platform)\$(Configuration)\conf\" /Y
|
||||
xcopy "$(SolutionDir)conf\client-profiles\*.xml" "$(SolutionDir)$(Platform)\$(Configuration)\conf\client-profiles\" /Y
|
||||
)
|
||||
|
||||
if not exist "$(SolutionDir)$(Platform)\$(Configuration)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(Platform)\$(Configuration)\data\" /Y
|
||||
if not exist "$(SolutionDir)$(Platform)\$(Configuration)\log" mkdir "$(SolutionDir)$(Platform)\$(Configuration)\log\"
|
||||
if not exist "$(SolutionDir)$(Platform)\$(Configuration)\var" mkdir "$(SolutionDir)$(Platform)\$(Configuration)\var\"
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
|
@ -1,120 +0,0 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="preparesphinx"
|
||||
ProjectGUID="{71D62A04-8EF6-4C6B-AC12-0C15A875E53A}"
|
||||
RootNamespace="preparesphinx"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="10"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\pocketsphinx.vsprops"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="xcopy "$(PocketSphinxDir)\bin\$(ConfigurationName)\pocketsphinx.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(SphinxBaseDir)\lib\$(ConfigurationName)\sphinxbase.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

xcopy "$(PocketSphinxDir)\model\hmm\wsj1\*" "$(SolutionDir)$(ConfigurationName)\data\wsj1\" /Y
copy "$(PocketSphinxDir)\model\lm\cmudict.0.6d" "$(SolutionDir)$(ConfigurationName)\data\default.dic"

if not exist "$(SolutionDir)$(ConfigurationName)\conf\pocketsphinx.xml" xcopy "$(SolutionDir)plugins\mrcp-pocketsphinx\conf\pocketsphinx.xml" "$(SolutionDir)$(ConfigurationName)\conf\" /Y
"
|
||||
ExcludedFromBuild="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
ConfigurationType="10"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\pocketsphinx.vsprops"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="xcopy "$(PocketSphinxDir)\bin\$(ConfigurationName)\pocketsphinx.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(SphinxBaseDir)\lib\$(ConfigurationName)\sphinxbase.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

xcopy "$(PocketSphinxDir)\model\hmm\wsj1\*" "$(SolutionDir)$(ConfigurationName)\data\wsj1\" /Y
copy "$(PocketSphinxDir)\model\lm\cmudict.0.6d" "$(SolutionDir)$(ConfigurationName)\data\default.dic"

if not exist "$(SolutionDir)$(ConfigurationName)\conf\pocketsphinx.xml" xcopy "$(SolutionDir)plugins\mrcp-pocketsphinx\conf\pocketsphinx.xml" "$(SolutionDir)$(ConfigurationName)\conf\" /Y
"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="10"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\pocketsphinx.vsprops"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="xcopy "$(PocketSphinxDir)\bin\$(PlatformName)\$(ConfigurationName)\pocketsphinx.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
xcopy "$(SphinxBaseDir)\lib\$(PlatformName)\$(ConfigurationName)\sphinxbase.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y

xcopy "$(PocketSphinxDir)\model\hmm\wsj1\*" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\wsj1\" /Y
copy "$(PocketSphinxDir)\model\lm\cmudict.0.6d" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\default.dic"

if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\pocketsphinx.xml" xcopy "$(SolutionDir)plugins\mrcp-pocketsphinx\conf\pocketsphinx.xml" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\" /Y
"
|
||||
ExcludedFromBuild="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="10"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\pocketsphinx.vsprops"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="xcopy "$(PocketSphinxDir)\bin\$(PlatformName)\$(ConfigurationName)\pocketsphinx.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y
xcopy "$(SphinxBaseDir)\lib\$(PlatformName)\$(ConfigurationName)\sphinxbase.dll" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\" /Y

xcopy "$(PocketSphinxDir)\model\hmm\wsj1\*" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\wsj1\" /Y
copy "$(PocketSphinxDir)\model\lm\cmudict.0.6d" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\default.dic"

if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\pocketsphinx.xml" xcopy "$(SolutionDir)plugins\mrcp-pocketsphinx\conf\pocketsphinx.xml" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\" /Y
"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2008-2010 Arsen Chaloyan
|
||||
* Copyright 2008-2014 Arsen Chaloyan
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -13,136 +13,241 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
* $Id: unimrcp_service.c 1474 2010-02-07 20:51:47Z achaloyan $
|
||||
* $Id: unimrcp_service.c 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <apr_getopt.h>
|
||||
#include <apr_file_info.h>
|
||||
#include <apr_strings.h>
|
||||
#include "apt.h"
|
||||
#include "apt_pool.h"
|
||||
|
||||
#define WIN_SERVICE_NAME "unimrcp"
|
||||
|
||||
/** UniMRCP service register command enumeration */
|
||||
typedef enum uni_service_register_e {
|
||||
USR_NONE, USR_REGISTER, USR_UNREGISTER
|
||||
} uni_service_register_e;
|
||||
|
||||
/** UniMRCP service control command enumeration */
|
||||
typedef enum uni_service_control_e {
|
||||
USC_NONE, USC_START, USC_STOP
|
||||
} uni_service_control_e;
|
||||
|
||||
|
||||
/** Display error message with Windows error code and description */
|
||||
static void winerror(const char *msg)
|
||||
{
|
||||
char buf[128];
|
||||
DWORD err = GetLastError();
|
||||
int ret = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||
NULL,
|
||||
err,
|
||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
|
||||
buf, sizeof(buf), NULL);
|
||||
printf("%s: %lu %.*s\n", msg, err, ret, buf);
|
||||
}
|
||||
|
||||
/** Register/install service in SCM */
|
||||
static apt_bool_t uni_service_register(const char *root_dir_path, apr_pool_t *pool)
|
||||
static apt_bool_t uni_service_register(const char *root_dir_path, apr_pool_t *pool,
|
||||
const char *name,
|
||||
apt_bool_t autostart,
|
||||
unsigned long recover,
|
||||
int log_priority,
|
||||
const char *disp_name,
|
||||
const char *description)
|
||||
{
|
||||
char *bin_path;
|
||||
apr_status_t status;
|
||||
char buf[4096];
|
||||
static const size_t len = sizeof(buf);
|
||||
size_t pos = 0;
|
||||
char *root_dir;
|
||||
SERVICE_DESCRIPTION desc;
|
||||
SC_HANDLE sch_service;
|
||||
SC_HANDLE sch_manager = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
|
||||
if(!sch_manager) {
|
||||
printf("Failed to Open SCManager %d\n", GetLastError());
|
||||
SC_HANDLE sch_manager;
|
||||
|
||||
/* Normalize root directory path and make it absolute */
|
||||
status = apr_filepath_merge(&root_dir, NULL, root_dir_path,
|
||||
APR_FILEPATH_NOTRELATIVE | APR_FILEPATH_NATIVE | APR_FILEPATH_TRUENAME, pool);
|
||||
if (status != APR_SUCCESS) {
|
||||
printf("Error making root directory absolute: %d %.512s\n", status,
|
||||
apr_strerror(status, buf, 512));
|
||||
return FALSE;
|
||||
}
|
||||
buf[pos++] = '"';
|
||||
pos = apr_cpystrn(buf + pos, root_dir, len - pos) - buf;
|
||||
if ((buf[pos - 1] != '\\') && (pos < len))
|
||||
/* Add trailing backslash */
|
||||
buf[pos++] = '\\';
|
||||
pos = apr_cpystrn(buf + pos, "bin\\unimrcpserver.exe\" --service -o 2", len - pos) - buf;
|
||||
if (log_priority >= 0) {
|
||||
pos = apr_cpystrn(buf + pos, " -l ", len - pos) - buf;
|
||||
if (pos < len - 34)
|
||||
pos += strlen(itoa(log_priority, buf + pos, 10));
|
||||
}
|
||||
if (name) {
|
||||
pos = apr_cpystrn(buf + pos, " --name \"", len - pos) - buf;
|
||||
pos = apr_cpystrn(buf + pos, name, len - pos) - buf;
|
||||
if ((buf[pos - 1] == '\\') && (pos < len))
|
||||
/* `\"' might be misinterpreted as escape, so replace `\' with `\\' */
|
||||
buf[pos++] = '\\';
|
||||
if (pos < len)
|
||||
buf[pos++] = '"';
|
||||
}
|
||||
pos = apr_cpystrn(buf + pos, " --root-dir \"", len - pos) - buf;
|
||||
pos = apr_cpystrn(buf + pos, root_dir, len - pos) - buf;
|
||||
if ((buf[pos - 1] == '\\') && (pos < len))
|
||||
/* `\"' might be misinterpreted as escape, so replace `\' with `\\' */
|
||||
buf[pos++] = '\\';
|
||||
if (pos < len)
|
||||
buf[pos++] = '"';
|
||||
if (pos < len)
|
||||
buf[pos] = 0;
|
||||
else {
|
||||
puts("Service Command Too Long");
|
||||
return FALSE;
|
||||
}
|
||||
if (!disp_name || !*disp_name) {
|
||||
if (name)
|
||||
disp_name = apr_pstrcat(pool, name, " ", "UniMRCP Server", NULL);
|
||||
else
|
||||
disp_name = "UniMRCP Server";
|
||||
}
|
||||
if (!description || !*description)
|
||||
description = "Launches UniMRCP Server";
|
||||
|
||||
bin_path = apr_psprintf(pool,"%s\\bin\\unimrcpserver.exe --service --root-dir \"%s\" -o 2",
|
||||
root_dir_path,
|
||||
root_dir_path);
|
||||
sch_manager = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
|
||||
if(!sch_manager) {
|
||||
winerror("Failed to Open SCManager");
|
||||
return FALSE;
|
||||
}
|
||||
sch_service = CreateService(
|
||||
sch_manager,
|
||||
WIN_SERVICE_NAME,
|
||||
"UniMRCP Server",
|
||||
name ? name : WIN_SERVICE_NAME,
|
||||
disp_name,
|
||||
GENERIC_EXECUTE | SERVICE_CHANGE_CONFIG,
|
||||
SERVICE_WIN32_OWN_PROCESS,
|
||||
SERVICE_DEMAND_START,
|
||||
autostart ? SERVICE_AUTO_START : SERVICE_DEMAND_START,
|
||||
SERVICE_ERROR_NORMAL,
|
||||
bin_path,0,0,0,0,0);
|
||||
buf,0,0,0,0,0);
|
||||
if(!sch_service) {
|
||||
printf("Failed to Create Service %d\n", GetLastError());
|
||||
winerror("Failed to Create Service");
|
||||
CloseServiceHandle(sch_manager);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
desc.lpDescription = "Launches UniMRCP Server";
|
||||
desc.lpDescription = (char *) description;
|
||||
if(!ChangeServiceConfig2(sch_service,SERVICE_CONFIG_DESCRIPTION,&desc)) {
|
||||
printf("Failed to Set Service Description %d\n", GetLastError());
|
||||
winerror("Failed to Set Service Description");
|
||||
}
|
||||
|
||||
if (recover) {
|
||||
SERVICE_FAILURE_ACTIONS sfa;
|
||||
SC_ACTION action;
|
||||
sfa.dwResetPeriod = 0;
|
||||
sfa.lpCommand = "";
|
||||
sfa.lpRebootMsg = "";
|
||||
sfa.cActions = 1;
|
||||
sfa.lpsaActions = &action;
|
||||
action.Delay = recover * 1000;
|
||||
action.Type = SC_ACTION_RESTART;
|
||||
if (!ChangeServiceConfig2(sch_service,SERVICE_CONFIG_FAILURE_ACTIONS,&sfa)) {
|
||||
winerror("Failed to Set Service Restart on Failure");
|
||||
}
|
||||
}
|
||||
|
||||
CloseServiceHandle(sch_service);
|
||||
CloseServiceHandle(sch_manager);
|
||||
printf("UniMRCP service %s registered\n", name ? name : WIN_SERVICE_NAME);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/** Unregister/uninstall service from SCM */
|
||||
static apt_bool_t uni_service_unregister()
|
||||
static apt_bool_t uni_service_unregister(const char *name)
|
||||
{
|
||||
apt_bool_t status = TRUE;
|
||||
SERVICE_STATUS ss_status;
|
||||
SC_HANDLE sch_service;
|
||||
SC_HANDLE sch_manager = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
|
||||
if (!name) name = WIN_SERVICE_NAME;
|
||||
if(!sch_manager) {
|
||||
printf("Failed to Open SCManager %d\n", GetLastError());
|
||||
winerror("Failed to Open SCManager");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
sch_service = OpenService(sch_manager,WIN_SERVICE_NAME,DELETE|SERVICE_STOP);
|
||||
sch_service = OpenService(sch_manager,name,DELETE|SERVICE_STOP);
|
||||
if(!sch_service) {
|
||||
printf("Failed to Open Service %d\n", GetLastError());
|
||||
winerror("Failed to Open Service");
|
||||
CloseServiceHandle(sch_manager);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ControlService(sch_service,SERVICE_CONTROL_STOP,&ss_status);
|
||||
if(!DeleteService(sch_service)) {
|
||||
printf("Failed to Delete Service %d\n", GetLastError());
|
||||
winerror("Failed to Delete Service");
|
||||
status = FALSE;
|
||||
}
|
||||
} else
|
||||
printf("UniMRCP service %s unregistered\n", name);
|
||||
CloseServiceHandle(sch_service);
|
||||
CloseServiceHandle(sch_manager);
|
||||
return status;
|
||||
}
|
||||
|
||||
/** Start service */
|
||||
static apt_bool_t uni_service_start()
|
||||
static apt_bool_t uni_service_start(const char *name)
|
||||
{
|
||||
apt_bool_t status = TRUE;
|
||||
SC_HANDLE sch_service;
|
||||
SC_HANDLE sch_manager = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
|
||||
if (!name) name = WIN_SERVICE_NAME;
|
||||
if(!sch_manager) {
|
||||
printf("Failed to Open SCManager %d\n", GetLastError());
|
||||
winerror("Failed to Open SCManager");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
sch_service = OpenService(sch_manager,WIN_SERVICE_NAME,SERVICE_START);
|
||||
sch_service = OpenService(sch_manager,name,SERVICE_START);
|
||||
if(!sch_service) {
|
||||
printf("Failed to Open Service %d\n", GetLastError());
|
||||
winerror("Failed to Open Service");
|
||||
CloseServiceHandle(sch_manager);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if(!StartService(sch_service,0,NULL)) {
|
||||
printf("Failed to Start Service %d\n", GetLastError());
|
||||
winerror("Failed to Start Service");
|
||||
status = FALSE;
|
||||
}
|
||||
} else
|
||||
printf("UniMRCP service %s started\n", name);
|
||||
CloseServiceHandle(sch_service);
|
||||
CloseServiceHandle(sch_manager);
|
||||
return status;
|
||||
}
|
||||
|
||||
/** Stop service */
|
||||
static apt_bool_t uni_service_stop()
|
||||
static apt_bool_t uni_service_stop(const char *name)
|
||||
{
|
||||
apt_bool_t status = TRUE;
|
||||
SERVICE_STATUS ss_status;
|
||||
SC_HANDLE sch_service;
|
||||
SC_HANDLE sch_manager = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
|
||||
if (!name) name = WIN_SERVICE_NAME;
|
||||
if(!sch_manager) {
|
||||
printf("Failed to Open SCManager %d\n", GetLastError());
|
||||
winerror("Failed to Open SCManager");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
sch_service = OpenService(sch_manager,WIN_SERVICE_NAME,SERVICE_STOP);
|
||||
sch_service = OpenService(sch_manager,name,SERVICE_STOP);
|
||||
if(!sch_service) {
|
||||
printf("Failed to Open Service %d\n", GetLastError());
|
||||
winerror("Failed to Open Service");
|
||||
CloseServiceHandle(sch_manager);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if(!ControlService(sch_service,SERVICE_CONTROL_STOP,&ss_status)) {
|
||||
printf("Failed to Stop Service %d\n", GetLastError());
|
||||
winerror("Failed to Stop Service");
|
||||
status = FALSE;
|
||||
}
|
||||
} else
|
||||
printf("UniMRCP service %s stopped\n", name);
|
||||
|
||||
CloseServiceHandle(sch_service);
|
||||
CloseServiceHandle(sch_manager);
|
||||
|
@ -152,6 +257,8 @@ static apt_bool_t uni_service_stop()
|
|||
|
||||
static void usage()
|
||||
{
|
||||
static apt_bool_t written = FALSE;
|
||||
if (written) return;
|
||||
printf(
|
||||
"\n"
|
||||
"Usage:\n"
|
||||
|
@ -168,8 +275,21 @@ static void usage()
|
|||
"\n"
|
||||
" -t [--stop] : Stop the Windows service.\n"
|
||||
"\n"
|
||||
" -n [--name] svcname : Service name (default: unimrcp)\n"
|
||||
"\n"
|
||||
" -a [--autostart] : Start service after boot-up\n"
|
||||
"\n"
|
||||
" -f [--fail-restart] n : If crashed, restart after n secs\n"
|
||||
"\n"
|
||||
" -l [--log-prio] priority: Set the log priority.\n"
|
||||
" (0-emergency, ..., 7-debug)\n"
|
||||
" -p [--disp-name] title : Set service display name\n"
|
||||
" (default: [svcname] UniMRCP Server)\n"
|
||||
" -c [--description] desc : Set service description\n"
|
||||
" (default: Launches UniMRCP Server)\n"
|
||||
" -h [--help] : Show the help.\n"
|
||||
"\n");
|
||||
written = TRUE;
|
||||
}
|
||||
|
||||
int main(int argc, const char * const *argv)
|
||||
|
@ -177,28 +297,44 @@ int main(int argc, const char * const *argv)
|
|||
apr_pool_t *pool;
|
||||
apr_status_t rv;
|
||||
apr_getopt_t *opt;
|
||||
apt_bool_t ret = TRUE;
|
||||
uni_service_register_e reg = USR_NONE;
|
||||
uni_service_control_e control = USC_NONE;
|
||||
const char *root_dir = "..";
|
||||
const char *name = NULL;
|
||||
apt_bool_t autostart = FALSE;
|
||||
unsigned long recover = 0;
|
||||
int log_priority = -1;
|
||||
const char *disp_name = NULL;
|
||||
const char *description = NULL;
|
||||
|
||||
static const apr_getopt_option_t opt_option[] = {
|
||||
/* long-option, short-option, has-arg flag, description */
|
||||
{ "register", 'r', TRUE, "register service" }, /* -r or --register arg */
|
||||
{ "unregister", 'u', FALSE, "unregister service" },/* -u or --unregister */
|
||||
{ "start", 's', FALSE, "start service" }, /* -s or --start */
|
||||
{ "stop", 't', FALSE, "stop service" }, /* -t or --stop */
|
||||
{ "help", 'h', FALSE, "show help" }, /* -h or --help */
|
||||
{ NULL, 0, 0, NULL }, /* end */
|
||||
{ "register", 'r', TRUE, "register service" }, /* -r or --register arg */
|
||||
{ "unregister", 'u', FALSE, "unregister service" }, /* -u or --unregister */
|
||||
{ "start", 's', FALSE, "start service" }, /* -s or --start */
|
||||
{ "stop", 't', FALSE, "stop service" }, /* -t or --stop */
|
||||
{ "name", 'n', TRUE, "service name" }, /* -n or --name arg */
|
||||
{ "autostart", 'a', FALSE, "start automatically" },/* -a or --autostart */
|
||||
{ "fail-restart",'f', TRUE, "restart if fails" }, /* -f or --fail-restart arg */
|
||||
{ "log-prio", 'l', TRUE, "log priority" }, /* -l arg or --log-prio arg */
|
||||
{ "disp-name", 'p', TRUE, "display name" }, /* -p arg or --disp-name arg */
|
||||
{ "description", 'c', TRUE, "description" }, /* -c arg or --description arg */
|
||||
{ "help", 'h', FALSE, "show help" }, /* -h or --help */
|
||||
{ NULL, 0, 0, NULL }, /* end */
|
||||
};
|
||||
|
||||
/* APR global initialization */
|
||||
if(apr_initialize() != APR_SUCCESS) {
|
||||
apr_terminate();
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* create APR pool */
|
||||
pool = apt_pool_create();
|
||||
if(!pool) {
|
||||
apr_terminate();
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
rv = apr_getopt_init(&opt, pool , argc, argv);
|
||||
|
@ -208,30 +344,103 @@ int main(int argc, const char * const *argv)
|
|||
while((rv = apr_getopt_long(opt, opt_option, &optch, &optarg)) == APR_SUCCESS) {
|
||||
switch(optch) {
|
||||
case 'r':
|
||||
uni_service_register(optarg,pool);
|
||||
if ((reg == USR_NONE) || (reg == USR_REGISTER)) {
|
||||
reg = USR_REGISTER;
|
||||
root_dir = optarg;
|
||||
} else {
|
||||
puts("Incosistent arguments");
|
||||
ret = FALSE;
|
||||
}
|
||||
break;
|
||||
case 'u':
|
||||
uni_service_unregister();
|
||||
if ((reg == USR_NONE) || (reg == USR_UNREGISTER))
|
||||
reg = USR_UNREGISTER;
|
||||
else {
|
||||
puts("Incosistent arguments");
|
||||
ret = FALSE;
|
||||
}
|
||||
break;
|
||||
case 's':
|
||||
uni_service_start();
|
||||
if ((control == USC_NONE) || (control == USC_START))
|
||||
control = USC_START;
|
||||
else {
|
||||
puts("Incosistent arguments");
|
||||
ret = FALSE;
|
||||
}
|
||||
break;
|
||||
case 't':
|
||||
uni_service_stop();
|
||||
if ((control == USC_NONE) || (control == USC_STOP))
|
||||
control = USC_STOP;
|
||||
else {
|
||||
puts("Incosistent arguments");
|
||||
ret = FALSE;
|
||||
}
|
||||
break;
|
||||
case 'n':
|
||||
name = optarg;
|
||||
break;
|
||||
case 'a':
|
||||
autostart = TRUE;
|
||||
break;
|
||||
case 'f':
|
||||
if (sscanf(optarg, "%lu", &recover) != 1) {
|
||||
puts("Invalid value for param --fail-restart");
|
||||
ret = FALSE;
|
||||
}
|
||||
break;
|
||||
case 'l':
|
||||
if ((sscanf(optarg, "%d", &log_priority) != 1) ||
|
||||
(log_priority < 0) || (log_priority > 7))
|
||||
{
|
||||
puts("Invalid value for param --log-prio");
|
||||
ret = FALSE;
|
||||
}
|
||||
break;
|
||||
case 'p':
|
||||
disp_name = optarg;
|
||||
break;
|
||||
case 'c':
|
||||
description = optarg;
|
||||
break;
|
||||
case 'h':
|
||||
usage();
|
||||
break;
|
||||
}
|
||||
if (!ret) break;
|
||||
}
|
||||
if(rv != APR_EOF) {
|
||||
if (ret &&
|
||||
(((reg == USR_REGISTER) && (control == USC_STOP)) ||
|
||||
((reg == USR_UNREGISTER) && (control == USC_START)))) {
|
||||
ret = FALSE;
|
||||
puts("Inconsistent arguments");
|
||||
}
|
||||
if((rv != APR_EOF) || !ret || (!reg && !control)) {
|
||||
ret = FALSE;
|
||||
usage();
|
||||
}
|
||||
}
|
||||
|
||||
while (ret) { /* No problem so far */
|
||||
if (reg == USR_REGISTER)
|
||||
ret = uni_service_register(root_dir, pool, name, autostart, recover, log_priority, disp_name, description);
|
||||
if (!ret) break;
|
||||
|
||||
if (control == USC_START)
|
||||
ret = uni_service_start(name);
|
||||
if (!ret) break;
|
||||
|
||||
if (control == USC_STOP)
|
||||
ret = uni_service_stop(name);
|
||||
/* Do not break here, stop failure should not matter before unregistration */
|
||||
|
||||
if (reg == USR_UNREGISTER)
|
||||
ret = uni_service_unregister(name);
|
||||
break;
|
||||
}
|
||||
|
||||
/* destroy APR pool */
|
||||
apr_pool_destroy(pool);
|
||||
/* APR global termination */
|
||||
apr_terminate();
|
||||
return 0;
|
||||
return ret ? 0 : 1;
|
||||
}
|
||||
|
|
|
@ -1,158 +0,0 @@
|
|||
<?xml version="1.0" encoding="windows-1251"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="unimrcpservice"
|
||||
ProjectGUID="{4714EF49-BFD5-4B22-95F7-95A07F1EAC25}"
|
||||
RootNamespace="unimrcpservice"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unidebug.vsprops;$(ProjectDir)..\..\build\vsprops\apt.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libaprutil-1.lib libapr-1.lib"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
AdditionalManifestFiles="unimrcpservice.exe.manifest"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unirelease.vsprops;$(ProjectDir)..\..\build\vsprops\apt.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libaprutil-1.lib libapr-1.lib"
|
||||
LinkTimeCodeGeneration="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
AdditionalManifestFiles="unimrcpservice.exe.manifest"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="src"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\unimrcp_service.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -0,0 +1,39 @@
|
|||
#include "uni_version.h"
|
||||
|
||||
1 VERSIONINFO
|
||||
FILEVERSION UNI_VERSION_STRING_CSV,0
|
||||
PRODUCTVERSION UNI_VERSION_STRING_CSV,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#if defined(_DEBUG)
|
||||
FILEFLAGS 0x01L
|
||||
#else
|
||||
FILEFLAGS 0x00L
|
||||
#endif
|
||||
#if defined(WINNT) || defined(WIN64)
|
||||
FILEOS 0x40004L
|
||||
#else
|
||||
FILEOS 0x4L
|
||||
#endif
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "Comments", UNI_LICENSE "\0"
|
||||
VALUE "CompanyName", "UniMRCP\0"
|
||||
VALUE "FileDescription", "UniMRCP Service Manager\0"
|
||||
VALUE "FileVersion", UNI_VERSION_STRING "\0"
|
||||
VALUE "InternalName", "unimrcpservice" "\0"
|
||||
VALUE "LegalCopyright", UNI_COPYRIGHT "\0"
|
||||
VALUE "OriginalFilename", "unimrcpservice.exe" "\0"
|
||||
VALUE "ProductName", "UniMRCP Project\0"
|
||||
VALUE "ProductVersion", UNI_VERSION_STRING "\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
|
@ -284,6 +284,42 @@
|
|||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\unimrcpservice.rc"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="..\..\build"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="..\..\build"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="..\..\build"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="..\..\build"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
|
|
|
@ -0,0 +1,136 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{4714EF49-BFD5-4B22-95F7-95A07F1EAC25}</ProjectGuid>
|
||||
<RootNamespace>unimrcpservice</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\unirelease.props" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\unibin.props" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\apt.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\unidebug.props" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\unibin.props" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\apt.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\unirelease.props" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\unibin-x64.props" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\apt.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\unidebug.props" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\unibin-x64.props" />
|
||||
<Import Project="$(ProjectDir)..\..\build\props\apt.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Link>
|
||||
<AdditionalDependencies>aprtoolkit.lib;libaprutil-1.lib;libapr-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Link>
|
||||
<AdditionalDependencies>aprtoolkit.lib;libaprutil-1.lib;libapr-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>aprtoolkit.lib;libaprutil-1.lib;libapr-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<Link>
|
||||
<AdditionalDependencies>aprtoolkit.lib;libaprutil-1.lib;libapr-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="unimrcp_service.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\libs\apr-toolkit\aprtoolkit.vcxproj">
|
||||
<Project>{13deeca0-bdd4-4744-a1a2-8eb0a44df3d2}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="unimrcpservice.rc">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\build;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\build;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\build;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\build;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="src">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="unimrcp_service.c">
|
||||
<Filter>src</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="unimrcpservice.rc" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright 2008-2014 Arsen Chaloyan
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the License);
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an AS IS BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef UNI_REVISION_H
|
||||
#define UNI_REVISION_H
|
||||
|
||||
/**
|
||||
* @file uni_revision.h
|
||||
* @brief UniMRCP Revision
|
||||
*
|
||||
* This file contains the revision base number and other relevant information.
|
||||
*/
|
||||
|
||||
/** Revision base number. */
|
||||
#define UNI_REVISION 2208
|
||||
|
||||
/** Revision base string. */
|
||||
#define UNI_REVISION_STRING "2208"
|
||||
|
||||
/** Revision base date. */
|
||||
#define UNI_REVISION_DATE "2014-10-31"
|
||||
|
||||
/** Revision base stamp. */
|
||||
#define UNI_REVISION_STAMP 20141031L
|
||||
|
||||
|
||||
/** Check at compile time if the revision base number is at least a certain level. */
|
||||
#define UNI_REVISION_AT_LEAST(rev) ((rev) < UNI_REVISION)
|
||||
|
||||
#endif /* UNI_REVISION_H */
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2008-2010 Arsen Chaloyan
|
||||
* Copyright 2008-2014 Arsen Chaloyan
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -13,7 +13,7 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
* $Id: uni_version.h 1724 2010-06-02 18:42:20Z achaloyan $
|
||||
* $Id: uni_version.h 2139 2014-07-07 05:06:19Z achaloyan@gmail.com $
|
||||
*/
|
||||
|
||||
#ifndef UNI_VERSION_H
|
||||
|
@ -21,11 +21,11 @@
|
|||
|
||||
/**
|
||||
* @file uni_version.h
|
||||
* @brief UniMRCP Version Numbering
|
||||
* @brief UniMRCP Version
|
||||
*
|
||||
* UniMRCP version numbering is derived from APR project specified in:
|
||||
* UniMRCP uses a version numbering scheme derived from the APR project.
|
||||
*
|
||||
* http://apr.apache.org/versioning.html
|
||||
* <a href="http://apr.apache.org/versioning.html"> APR's Version Numbering </a>
|
||||
*/
|
||||
|
||||
/** major version
|
||||
|
@ -37,60 +37,64 @@
|
|||
|
||||
/** minor version
|
||||
* Minor API changes that do not cause binary compatibility problems.
|
||||
* Reset to 0 when upgrading UNI_MAJOR_VERSION
|
||||
* Reset to 0 when upgrading UNI_MAJOR_VERSION.
|
||||
*/
|
||||
#define UNI_MINOR_VERSION 0
|
||||
#define UNI_MINOR_VERSION 2
|
||||
|
||||
/** patch level
|
||||
* The Patch Level never includes API changes, simply bug fixes.
|
||||
* Reset to 0 when upgrading UNI_MINOR_VERSION
|
||||
* Reset to 0 when upgrading UNI_MINOR_VERSION.
|
||||
*/
|
||||
#define UNI_PATCH_VERSION 0
|
||||
|
||||
|
||||
/**
|
||||
* Check at compile time if the UNI version is at least a certain
|
||||
* level.
|
||||
*/
|
||||
/** Check at compile time if the version of UniMRCP is at least a certain level. */
|
||||
#define UNI_VERSION_AT_LEAST(major,minor,patch) \
|
||||
(((major) < UNI_MAJOR_VERSION) \
|
||||
|| ((major) == UNI_MAJOR_VERSION && (minor) < UNI_MINOR_VERSION) \
|
||||
|| ((major) == UNI_MAJOR_VERSION && (minor) == UNI_MINOR_VERSION && (patch) <= UNI_PATCH_VERSION))
|
||||
|
||||
|
||||
/** Properly quote a value as a string in the C preprocessor */
|
||||
/** Properly quote a value as a string in the C preprocessor. */
|
||||
#define UNI_STRINGIFY(n) UNI_STRINGIFY_HELPER(n)
|
||||
/** Helper macro for UNI_STRINGIFY */
|
||||
/** Helper macro for UNI_STRINGIFY. */
|
||||
#define UNI_STRINGIFY_HELPER(n) #n
|
||||
|
||||
/** The formatted string of UniMRCP's version */
|
||||
/** The formatted string of UniMRCP's version. */
|
||||
#define UNI_VERSION_STRING \
|
||||
UNI_STRINGIFY(UNI_MAJOR_VERSION) "." \
|
||||
UNI_STRINGIFY(UNI_MINOR_VERSION) "." \
|
||||
UNI_STRINGIFY(UNI_PATCH_VERSION)
|
||||
|
||||
/** An alternative formatted string of UniMRCP's version
|
||||
macro for Win32 .rc files using numeric csv representation */
|
||||
macro for Win32 .rc files using numeric CSV representation. */
|
||||
#define UNI_VERSION_STRING_CSV UNI_MAJOR_VERSION ##, \
|
||||
##UNI_MINOR_VERSION ##, \
|
||||
##UNI_PATCH_VERSION
|
||||
|
||||
/** The Copyright */
|
||||
#define UNI_COPYRIGHT "Copyright 2008-2010 Arsen Chaloyan"
|
||||
/** The Copyright. */
|
||||
#define UNI_COPYRIGHT "Copyright 2008-2014 Arsen Chaloyan"
|
||||
|
||||
/** The License */
|
||||
/*
|
||||
* Use the brief description of the license for Win32 .rc files;
|
||||
* otherwise, use the full description.
|
||||
*/
|
||||
#if defined(APSTUDIO_INVOKED) || defined(RC_INVOKED)
|
||||
/** The License (brief description). */
|
||||
#define UNI_LICENSE "The Apache License, Version 2.0"
|
||||
#else
|
||||
/** The License (full description). */
|
||||
#define UNI_LICENSE \
|
||||
"Licensed under the Apache License, Version 2.0 (the ""License"");" \
|
||||
"you may not use this file except in compliance with the License." \
|
||||
"You may obtain a copy of the License at" \
|
||||
"" \
|
||||
" http://www.apache.org/licenses/LICENSE-2.0" \
|
||||
"" \
|
||||
"Unless required by applicable law or agreed to in writing, software" \
|
||||
"distributed under the License is distributed on an ""AS IS"" BASIS," \
|
||||
"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied." \
|
||||
"See the License for the specific language governing permissions and" \
|
||||
"limitations under the License."
|
||||
|
||||
" * Licensed under the Apache License, Version 2.0 (the ""License"");\n" \
|
||||
" * you may not use this file except in compliance with the License.\n" \
|
||||
" * You may obtain a copy of the License at\n" \
|
||||
" * \n" \
|
||||
" * http://www.apache.org/licenses/LICENSE-2.0 \n" \
|
||||
" * \n" \
|
||||
" * Unless required by applicable law or agreed to in writing, software\n" \
|
||||
" * distributed under the License is distributed on an ""AS IS"" BASIS,\n" \
|
||||
" * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" \
|
||||
" * See the License for the specific language governing permissions and\n" \
|
||||
" * limitations under the License.\n"
|
||||
#endif /* APSTUDIO_INVOKED || RC_INVOKED */
|
||||
|
||||
#endif /* UNI_VERSION_H */
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
<?xml version="1.0" encoding="windows-1251"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="flite"
|
||||
InheritedPropertySheets=".\unibase.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""$(FliteDir)\include""
|
||||
PreprocessorDefinitions="APT_LIB_EXPORT"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="flite.lib"
|
||||
AdditionalLibraryDirectories=""$(FliteDir)\$(ConfigurationName)""
|
||||
/>
|
||||
<UserMacro
|
||||
Name="FliteDir"
|
||||
Value="$(LibRootDir)libs\flite"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
|
@ -1,25 +0,0 @@
|
|||
<?xml version="1.0" encoding="windows-1251"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pocketsphinx"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unibase.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""$(PocketSphinxDir)\include";"$(SphinxBaseDir)\include""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="sphinxbase.lib pocketsphinx.lib"
|
||||
AdditionalLibraryDirectories=""$(PocketSphinxDir)\bin\$(ConfigurationName)";"$(SphinxBaseDir)\lib\$(ConfigurationName)""
|
||||
/>
|
||||
<UserMacro
|
||||
Name="PocketSphinxDir"
|
||||
Value="$(LibRootDir)libs\pocketsphinx"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="SphinxBaseDir"
|
||||
Value="$(LibRootDir)libs\sphinxbase"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
|
@ -7,7 +7,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""$(SofiaDir)\win32";"$(SofiaDir)\libsofia-sip-ua\su";"$(SofiaDir)\libsofia-sip-ua\nua";"$(SofiaDir)\libsofia-sip-ua\url";"$(SofiaDir)\libsofia-sip-ua\sip";"$(SofiaDir)\libsofia-sip-ua\msg";"$(SofiaDir)\libsofia-sip-ua\sdp";"$(SofiaDir)\libsofia-sip-ua\nta";"$(SofiaDir)\libsofia-sip-ua\nea";"$(SofiaDir)\libsofia-sip-ua\soa";"$(SofiaDir)\libsofia-sip-ua\iptsec";"$(SofiaDir)\libsofia-sip-ua\bnf";"$(SofiaDir)\libsofia-sip-ua\features""
|
||||
AdditionalIncludeDirectories=""$(SofiaDir)\win32";"$(SofiaDir)\libsofia-sip-ua\su";"$(SofiaDir)\libsofia-sip-ua\nua";"$(SofiaDir)\libsofia-sip-ua\url";"$(SofiaDir)\libsofia-sip-ua\sip";"$(SofiaDir)\libsofia-sip-ua\msg";"$(SofiaDir)\libsofia-sip-ua\sdp";"$(SofiaDir)\libsofia-sip-ua\nta";"$(SofiaDir)\libsofia-sip-ua\nea";"$(SofiaDir)\libsofia-sip-ua\soa";"$(SofiaDir)\libsofia-sip-ua\iptsec";"$(SofiaDir)\libsofia-sip-ua\bnf";"$(SofiaDir)\libsofia-sip-ua\features";"$(SofiaDir)\libsofia-sip-ua\tport""
|
||||
/>
|
||||
<UserMacro
|
||||
Name="SofiaDir"
|
||||
|
|
|
@ -7,6 +7,10 @@
|
|||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
InheritedPropertySheets="apr.vsprops;sofiasip.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="_WIN64"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalLibraryDirectories="$(AprDir)\$(PlatformName)\$(ConfigurationName);$(AprUtilDir)\$(PlatformName)\$(ConfigurationName);$(SofiaDir)\win32\libsofia-sip-ua\$(PlatformName)\$(ConfigurationName);$(SolutionDir)$(PlatformName)\$(ConfigurationName)\lib;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin"
|
||||
|
|
|
@ -6,6 +6,10 @@
|
|||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)\lib"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="_WIN64"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
TargetMachine="17"
|
||||
|
|
|
@ -7,6 +7,10 @@
|
|||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
InheritedPropertySheets="apr.vsprops;mrcpengine.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="_WIN64"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalLibraryDirectories="$(AprDir)\$(PlatformName)\$(ConfigurationName);$(AprUtilDir)\$(PlatformName)\$(ConfigurationName);$(SolutionDir)$(PlatformName)\$(ConfigurationName)\lib"
|
||||
|
|
|
@ -1,18 +1,31 @@
|
|||
MAINTAINERCLEANFILES = Makefile.in
|
||||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
CONFFILES = logger.xml dirlayout.xml
|
||||
|
||||
if UNIMRCP_CLIENT_LIB
|
||||
CONFFILES += unimrcpclient.xml unimrcpclient.xsd
|
||||
endif
|
||||
|
||||
if UNIMRCP_SERVER_LIB
|
||||
CONFFILES += unimrcpserver.xml unimrcpserver.xsd
|
||||
endif
|
||||
|
||||
if UMC
|
||||
CONFFILES += umcscenarios.xml
|
||||
endif
|
||||
|
||||
def-conf:
|
||||
test -d $(confdir) || $(mkinstalldirs) $(confdir)
|
||||
for conffile in `find ./ -maxdepth 1 -name \*.xml -o -name \*.xsd` ; do \
|
||||
filename=`echo $$conffile | sed -e 's|^.*/||'`; \
|
||||
$(INSTALL) -m 644 $$filename $(confdir); \
|
||||
test -d $(DESTDIR)$(sysconfdir) || $(mkinstalldirs) $(DESTDIR)$(sysconfdir)
|
||||
for conffile in $(CONFFILES) ; do \
|
||||
$(INSTALL) -m 644 $(top_srcdir)/conf/$$conffile $(DESTDIR)$(sysconfdir); \
|
||||
done
|
||||
|
||||
test -d $(confdir)/client-profiles || $(mkinstalldirs) $(confdir)/client-profiles
|
||||
for conffile in `find ./client-profiles/ -maxdepth 1 -name \*.xml -o -name \*.xsd` ; do \
|
||||
filename=`echo $$conffile | sed -e 's|^.*/||'`; \
|
||||
$(INSTALL) -m 644 client-profiles/$$filename $(confdir)/client-profiles; \
|
||||
if UNIMRCP_CLIENT_LIB
|
||||
test -d $(DESTDIR)$(sysconfdir)/client-profiles || $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/client-profiles
|
||||
for conffile in `find $(top_srcdir)/conf/client-profiles/ -maxdepth 1 -name \*.xml -o -name \*.xsd` ; do \
|
||||
filename=`echo $$conffile | sed -e 's|^.*/||'`; \
|
||||
$(INSTALL) -m 644 $(top_srcdir)/conf/client-profiles/$$filename $(DESTDIR)$(sysconfdir)/client-profiles; \
|
||||
done
|
||||
|
||||
endif
|
||||
|
||||
install-data-local:
|
||||
test -d $(confdir) || $(MAKE) def-conf
|
||||
test -d $(DESTDIR)$(sysconfdir) || $(MAKE) def-conf
|
||||
|
|
|
@ -29,8 +29,10 @@
|
|||
<!-- RTP/RTCP settings -->
|
||||
<rtp-settings id="Nuance-RTP-Settings">
|
||||
<jitter-buffer>
|
||||
<adaptive>1</adaptive>
|
||||
<playout-delay>50</playout-delay>
|
||||
<max-playout-delay>200</max-playout-delay>
|
||||
<max-playout-delay>600</max-playout-delay>
|
||||
<time-skew-detection>1</time-skew-detection>
|
||||
</jitter-buffer>
|
||||
<ptime>20</ptime>
|
||||
<codecs>PCMU PCMA L16/96/8000 telephone-event/101/8000</codecs>
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Directories Layout
|
||||
|
||||
The root element of the document is <dirlayout>, which accepts an optional
|
||||
attribute rootdir. The rootdir attribute defaults to "../" and can be specified
|
||||
as an absolute or relative path. For instance,
|
||||
|
||||
<dirlayout rootdir="../">
|
||||
<dirlayout rootdir="C:\unimrcp">
|
||||
<dirlayout rootdir="/usr/local/unimrcp">
|
||||
|
||||
Each subdirectory can be specified as an absolute path or a name relative to
|
||||
the rootdir path. For instance,
|
||||
|
||||
<confdir>conf</confdir>
|
||||
<confdir>C:\unimrcp\conf</confdir>
|
||||
<confdir>/etc/conf</confdir>
|
||||
-->
|
||||
|
||||
<dirlayout>
|
||||
<confdir>conf</confdir>
|
||||
<plugindir>plugin</plugindir>
|
||||
<logdir>log</logdir>
|
||||
<datadir>data</datadir>
|
||||
<vardir>var</vardir>
|
||||
</dirlayout>
|
|
@ -5,11 +5,17 @@
|
|||
version="1.0"
|
||||
subfolder="client-profiles">
|
||||
<properties>
|
||||
<!-- By default, network interface (IP address) to bind to will be implicitly identified.
|
||||
Alternatively, it can be explicitly set.
|
||||
-->
|
||||
<!-- If the attribute "type" is set to "auto", IP address is
|
||||
determined implicitly by the hostname. This is the default setting. -->
|
||||
<ip type="auto"/>
|
||||
|
||||
<!-- If the attribute "type" is set to "iface", IP address is
|
||||
determined by the specified name of network interface/adapter. -->
|
||||
<!-- <ip type="iface">eth0</ip>-->
|
||||
|
||||
<!-- IP address can also be specified explicitly. -->
|
||||
<!-- <ip>10.10.0.1</ip> -->
|
||||
|
||||
<!-- <ext-ip>a.b.c.d</ext-ip> -->
|
||||
<!-- <server-ip>a.b.c.d</server-ip> -->
|
||||
</properties>
|
||||
|
@ -38,6 +44,8 @@
|
|||
<!-- <sip-t2>4000</sip-t2> -->
|
||||
<!-- <sip-t4>4000</sip-t4> -->
|
||||
<!-- <sip-t1x64>32000</sip-t1x64> -->
|
||||
<!-- <sip-message-output>true</sip-message-output> -->
|
||||
<!-- <sip-message-dump>sofia-sip-uac.log</sip-message-dump> -->
|
||||
</sip-uac>
|
||||
|
||||
<!-- UniRTSP MRCPv1 signaling agent -->
|
||||
|
@ -77,8 +85,10 @@
|
|||
<!-- common (default) RTP/RTCP settings -->
|
||||
<rtp-settings id="RTP-Settings-1">
|
||||
<jitter-buffer>
|
||||
<adaptive>1</adaptive>
|
||||
<playout-delay>50</playout-delay>
|
||||
<max-playout-delay>200</max-playout-delay>
|
||||
<max-playout-delay>600</max-playout-delay>
|
||||
<time-skew-detection>1</time-skew-detection>
|
||||
</jitter-buffer>
|
||||
<ptime>20</ptime>
|
||||
<codecs>PCMU PCMA L16/96/8000 telephone-event/101/8000</codecs>
|
||||
|
|
|
@ -67,6 +67,8 @@
|
|||
<xsd:element name="sip-t2" type="xsd:long" minOccurs="0" />
|
||||
<xsd:element name="sip-t4" type="xsd:long" minOccurs="0" />
|
||||
<xsd:element name="sip-t1x64" type="xsd:long" minOccurs="0" />
|
||||
<xsd:element name="sip-message-output" type="xsd:boolean" />
|
||||
<xsd:element name="sip-message-dump" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="type" type="xsd:string" use="required" />
|
||||
|
@ -191,8 +193,10 @@
|
|||
<xsd:element name="jitter-buffer" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="adaptive" type="xsd:byte" />
|
||||
<xsd:element name="playout-delay" type="xsd:long" />
|
||||
<xsd:element name="max-playout-delay" type="xsd:long" />
|
||||
<xsd:element name="time-skew-detection" type="xsd:byte" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
@ -258,6 +262,13 @@
|
|||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="misc" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="sofiasip-logger" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="version" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="subfolder" type="xsd:string" use="optional" />
|
||||
|
|
|
@ -2,11 +2,17 @@
|
|||
<!-- UniMRCP server document -->
|
||||
<unimrcpserver xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="unimrcpserver.xsd" version="1.0">
|
||||
<properties>
|
||||
<!-- By default, network interface (IP address) to bind to will be implicitly identified.
|
||||
Alternatively, it can be explicitly set.
|
||||
-->
|
||||
<!-- If the attribute "type" is set to "auto", IP address is
|
||||
determined implicitly by the hostname. This is the default setting. -->
|
||||
<ip type="auto"/>
|
||||
|
||||
<!-- If the attribute "type" is set to "iface", IP address is
|
||||
determined by the specified name of network interface/adapter. -->
|
||||
<!-- <ip type="iface">eth0</ip>-->
|
||||
|
||||
<!-- IP address can also be specified explicitly. -->
|
||||
<!-- <ip>10.10.0.1</ip> -->
|
||||
|
||||
<!-- <ext-ip>a.b.c.d</ext-ip> -->
|
||||
</properties>
|
||||
|
||||
|
@ -35,6 +41,8 @@
|
|||
<!-- <sip-t2>4000</sip-t2> -->
|
||||
<!-- <sip-t4>4000</sip-t4> -->
|
||||
<!-- <sip-t1x64>32000</sip-t1x64> -->
|
||||
<!-- <sip-message-output>true</sip-message-output> -->
|
||||
<!-- <sip-message-dump>sofia-sip-uas.log</sip-message-dump> -->
|
||||
</sip-uas>
|
||||
|
||||
<!-- UniRTSP MRCPv1 signaling agent -->
|
||||
|
@ -85,8 +93,6 @@
|
|||
|
||||
<!-- Factory of plugins (MRCP engines) -->
|
||||
<plugin-factory>
|
||||
<engine id="PocketSphinx-1" name="mrcppocketsphinx" enable="false"/>
|
||||
<engine id="Flite-1" name="mrcpflite" enable="false"/>
|
||||
<engine id="Demo-Synth-1" name="demosynth" enable="true"/>
|
||||
<engine id="Demo-Recog-1" name="demorecog" enable="true"/>
|
||||
<engine id="Demo-Verifier-1" name="demoverifier" enable="true"/>
|
||||
|
@ -105,8 +111,10 @@
|
|||
<!-- RTP/RTCP settings -->
|
||||
<rtp-settings id="RTP-Settings-1">
|
||||
<jitter-buffer>
|
||||
<adaptive>1</adaptive>
|
||||
<playout-delay>50</playout-delay>
|
||||
<max-playout-delay>200</max-playout-delay>
|
||||
<max-playout-delay>600</max-playout-delay>
|
||||
<time-skew-detection>1</time-skew-detection>
|
||||
</jitter-buffer>
|
||||
<ptime>20</ptime>
|
||||
<codecs own-preference="false">PCMU PCMA L16/96/8000 telephone-event/101/8000</codecs>
|
||||
|
|
|
@ -1,266 +1,277 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||
<xsd:element name="unimrcpserver">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>UniMRCP server document</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="properties" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Generic properties</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="ip" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="type" type="xsd:string"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="ext-ip" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="type" type="xsd:string"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="components" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Common components</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="resource-factory" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Factory of MRCP resources</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence maxOccurs="unbounded">
|
||||
<xsd:element name="resource">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="sip-uas" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>SIP signaling agent</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="sip-ip" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="sip-ext-ip" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="sip-port" type="xsd:short"/>
|
||||
<xsd:element name="sip-transport" type="xsd:string"/>
|
||||
<xsd:element name="force-destination" type="xsd:boolean" default="false" minOccurs="0"/>
|
||||
<xsd:element name="ua-name" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="sdp-origin" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="sip-t1" type="xsd:long" minOccurs="0" />
|
||||
<xsd:element name="sip-t2" type="xsd:long" minOccurs="0" />
|
||||
<xsd:element name="sip-t4" type="xsd:long" minOccurs="0" />
|
||||
<xsd:element name="sip-t1x64" type="xsd:long" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="type" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="rtsp-uas" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>RTSP signaling agent</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rtsp-ip" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="rtsp-ext-ip" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="rtsp-port" type="xsd:string"/>
|
||||
<xsd:element name="resource-map">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="param" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="value" type="xsd:string" use="required"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="max-connection-count" type="xsd:short" minOccurs="0"/>
|
||||
<xsd:element name="sdp-origin" type="xsd:string" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="type" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="mrcpv2-uas" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>MRCPv2 connection agent</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="mrcp-ip" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="mrcp-port" type="xsd:string"/>
|
||||
<xsd:element name="max-connection-count" type="xsd:short" minOccurs="0"/>
|
||||
<xsd:element name="force-new-connection" type="xsd:boolean" minOccurs="0"/>
|
||||
<xsd:element name="rx-buffer-size" type="xsd:long" minOccurs="0"/>
|
||||
<xsd:element name="tx-buffer-size" type="xsd:long" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="media-engine" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Media processing engine</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="realtime-rate" type="xsd:short" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="rtp-factory" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Factory of RTP terminations</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rtp-ip" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="rtp-ext-ip" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="rtp-port-min" type="xsd:short"/>
|
||||
<xsd:element name="rtp-port-max" type="xsd:short"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="plugin-factory" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Factory of plugins (MRCP engines)</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence maxOccurs="unbounded">
|
||||
<xsd:element name="engine">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="max-channel-count" minOccurs="0"/>
|
||||
<xsd:element name="param" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="value" type="xsd:string" use="required"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="settings" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Settings</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rtp-settings" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>RTP settings</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="jitter-buffer" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="playout-delay" type="xsd:long"/>
|
||||
<xsd:element name="max-playout-delay" type="xsd:long"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="ptime" type="xsd:long" minOccurs="0"/>
|
||||
<xsd:element name="codecs">
|
||||
<xsd:complexType>
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:string">
|
||||
<xsd:attribute name="own-preference" type="xsd:boolean" use="optional"/>
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="rtcp" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rtcp-bye" type="xsd:int"/>
|
||||
<xsd:element name="tx-interval" type="xsd:long"/>
|
||||
<xsd:element name="rx-resolution" type="xsd:long"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="profiles" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Profiles</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="mrcpv2-profile" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>MRCPv2 profile</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="sip-uas" type="xsd:string"/>
|
||||
<xsd:element name="mrcpv2-uas" type="xsd:string"/>
|
||||
<xsd:element name="media-engine" type="xsd:string"/>
|
||||
<xsd:element name="rtp-factory" type="xsd:string"/>
|
||||
<xsd:element name="rtp-settings" type="xsd:string"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="mrcpv1-profile" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>MRCPv1 profile</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rtsp-uas" type="xsd:string"/>
|
||||
<xsd:element name="media-engine" type="xsd:string"/>
|
||||
<xsd:element name="rtp-factory" type="xsd:string"/>
|
||||
<xsd:element name="rtp-settings" type="xsd:string"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="version" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="subfolder" type="xsd:string" use="optional"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<xsd:element name="unimrcpserver">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>UniMRCP server document</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="properties" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Generic properties</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="ip" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="ext-ip" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="components" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Common components</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="resource-factory" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Factory of MRCP resources</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence maxOccurs="unbounded">
|
||||
<xsd:element name="resource">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="sip-uas" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>SIP signaling agent</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="sip-ip" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="sip-ext-ip" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="sip-port" type="xsd:short" />
|
||||
<xsd:element name="sip-transport" type="xsd:string" />
|
||||
<xsd:element name="force-destination" type="xsd:boolean" default="false" minOccurs="0" />
|
||||
<xsd:element name="ua-name" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="sdp-origin" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="sip-t1" type="xsd:long" minOccurs="0" />
|
||||
<xsd:element name="sip-t2" type="xsd:long" minOccurs="0" />
|
||||
<xsd:element name="sip-t4" type="xsd:long" minOccurs="0" />
|
||||
<xsd:element name="sip-t1x64" type="xsd:long" minOccurs="0" />
|
||||
<xsd:element name="sip-message-output" type="xsd:boolean" />
|
||||
<xsd:element name="sip-message-dump" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="type" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="rtsp-uas" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>RTSP signaling agent</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rtsp-ip" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="rtsp-ext-ip" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="rtsp-port" type="xsd:string" />
|
||||
<xsd:element name="resource-map">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="param" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="value" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="max-connection-count" type="xsd:short" minOccurs="0" />
|
||||
<xsd:element name="sdp-origin" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="type" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="mrcpv2-uas" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>MRCPv2 connection agent</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="mrcp-ip" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="mrcp-port" type="xsd:string" />
|
||||
<xsd:element name="max-connection-count" type="xsd:short" minOccurs="0" />
|
||||
<xsd:element name="force-new-connection" type="xsd:boolean" minOccurs="0" />
|
||||
<xsd:element name="rx-buffer-size" type="xsd:long" minOccurs="0" />
|
||||
<xsd:element name="tx-buffer-size" type="xsd:long" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="media-engine" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Media processing engine</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="realtime-rate" type="xsd:short" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="rtp-factory" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Factory of RTP terminations</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rtp-ip" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="rtp-ext-ip" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="rtp-port-min" type="xsd:short" />
|
||||
<xsd:element name="rtp-port-max" type="xsd:short" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="plugin-factory" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Factory of plugins (MRCP engines)</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence maxOccurs="unbounded">
|
||||
<xsd:element name="engine">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="max-channel-count" minOccurs="0" />
|
||||
<xsd:element name="param" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="value" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="settings" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Settings</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rtp-settings" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>RTP settings</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="jitter-buffer" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="adaptive" type="xsd:byte" />
|
||||
<xsd:element name="playout-delay" type="xsd:long" />
|
||||
<xsd:element name="max-playout-delay" type="xsd:long" />
|
||||
<xsd:element name="time-skew-detection" type="xsd:byte" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="ptime" type="xsd:long" minOccurs="0" />
|
||||
<xsd:element name="codecs">
|
||||
<xsd:complexType>
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:string">
|
||||
<xsd:attribute name="own-preference" type="xsd:boolean" use="optional" />
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="rtcp" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rtcp-bye" type="xsd:int" />
|
||||
<xsd:element name="tx-interval" type="xsd:long" />
|
||||
<xsd:element name="rx-resolution" type="xsd:long" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="profiles" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>Profiles</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="mrcpv2-profile" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>MRCPv2 profile</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="sip-uas" type="xsd:string" />
|
||||
<xsd:element name="mrcpv2-uas" type="xsd:string" />
|
||||
<xsd:element name="media-engine" type="xsd:string" />
|
||||
<xsd:element name="rtp-factory" type="xsd:string" />
|
||||
<xsd:element name="rtp-settings" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="mrcpv1-profile" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>MRCPv1 profile</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rtsp-uas" type="xsd:string" />
|
||||
<xsd:element name="media-engine" type="xsd:string" />
|
||||
<xsd:element name="rtp-factory" type="xsd:string" />
|
||||
<xsd:element name="rtp-settings" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="misc" minOccurs="0">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="sofiasip-logger" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="version" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="subfolder" type="xsd:string" use="optional" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
|
@ -0,0 +1,26 @@
|
|||
##
|
||||
## config.layout -- Pre-defined Installation Path Layouts
|
||||
##
|
||||
## Hints:
|
||||
## - layouts can be loaded with configure's --enable-layout=ID option
|
||||
## - when no --enable-layout option is given, the default layout is `classic'
|
||||
|
||||
# Classical UniMRCP path layout.
|
||||
<Layout classic>
|
||||
prefix: /usr/local/unimrcp
|
||||
exec_prefix: ${prefix}
|
||||
bindir: ${exec_prefix}/bin
|
||||
sbindir: ${exec_prefix}/bin
|
||||
libdir: ${exec_prefix}/lib
|
||||
libexecdir: ${exec_prefix}/modules
|
||||
mandir: ${prefix}/man
|
||||
sysconfdir: ${prefix}/conf
|
||||
confdir: ${prefix}/conf
|
||||
datadir: ${prefix}/data
|
||||
plugindir: ${exec_prefix}/plugin
|
||||
logdir: ${exec_prefix}/log
|
||||
vardir: ${exec_prefix}/var
|
||||
installbuilddir: ${exec_prefix}/build
|
||||
includedir: ${prefix}/include
|
||||
localstatedir: ${prefix}
|
||||
</Layout>
|
|
@ -1,34 +1,72 @@
|
|||
# -*- Autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
dnl
|
||||
dnl Autoconf configuration file for UniMRCP.
|
||||
dnl
|
||||
dnl Use ./bootstrap to produce a configure script.
|
||||
dnl
|
||||
|
||||
AC_PREREQ(2.57)
|
||||
AC_PREREQ(2.59)
|
||||
|
||||
AC_INIT([unimrcp],[1.0.0])
|
||||
AC_INIT([unimrcp],[1.2.0])
|
||||
|
||||
AC_CONFIG_AUX_DIR([build])
|
||||
AC_CONFIG_MACRO_DIR([build/acmacros])
|
||||
|
||||
dnl Set ac_macro_dir variable manually for autoconf 2.61 and above.
|
||||
ac_macro_dir="build/acmacros"
|
||||
|
||||
AC_SUBST(ac_aux_dir)
|
||||
AC_SUBST(ac_macro_dir)
|
||||
|
||||
dnl Include m4 macros for libtool 2.
|
||||
sinclude(build/acmacros/libtool.m4)
|
||||
sinclude(build/acmacros/ltoptions.m4)
|
||||
sinclude(build/acmacros/ltsugar.m4)
|
||||
sinclude(build/acmacros/ltversion.m4)
|
||||
sinclude(build/acmacros/lt~obsolete.m4)
|
||||
|
||||
AC_PREFIX_DEFAULT(/usr/local/unimrcp)
|
||||
|
||||
plugindir='${prefix}/plugin'
|
||||
confdir='${prefix}/conf'
|
||||
logdir='${prefix}/log'
|
||||
datadir='${prefix}/data'
|
||||
dnl Define the directory layout.
|
||||
APR_ENABLE_LAYOUT(classic, [plugindir logdir vardir])
|
||||
AC_SUBST(plugindir)
|
||||
AC_SUBST(logdir)
|
||||
AC_SUBST(vardir)
|
||||
|
||||
AM_INIT_AUTOMAKE(foreign)
|
||||
dnl Reparse the configure arguments.
|
||||
APR_PARSE_ARGUMENTS
|
||||
|
||||
# Set default language
|
||||
dnl Generate ./config.nice to reuse ./configure command-line.
|
||||
APR_CONFIG_NICE(config.nice)
|
||||
|
||||
AM_INIT_AUTOMAKE([no-define nostdinc foreign subdir-objects])
|
||||
|
||||
dnl Enable silent build rules available since automake 1.11.
|
||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||
|
||||
dnl Set default language.
|
||||
AC_LANG_C
|
||||
|
||||
AC_PROG_CC
|
||||
AC_PROG_CXX
|
||||
AM_PROG_CC_C_O
|
||||
AC_PROG_INSTALL
|
||||
|
||||
# Skip detection of Fortran
|
||||
dnl Skip detection of Fortran.
|
||||
m4_undefine([AC_PROG_F77])
|
||||
m4_defun([AC_PROG_F77],[])
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
# Get version information
|
||||
dnl Do not use autoconf generated compiler DEFS.
|
||||
rm confdefs.h
|
||||
touch confdefs.h
|
||||
|
||||
dnl Check for C compiler vendor.
|
||||
AX_COMPILER_VENDOR
|
||||
|
||||
dnl Search for pkg-config.
|
||||
AC_PATH_PROG(PKG_CONFIG, pkg-config)
|
||||
|
||||
dnl Get version information.
|
||||
get_version="$srcdir/build/get-version.sh"
|
||||
version_hdr="$srcdir/build/uni_version.h"
|
||||
plugin_version_hdr="$srcdir/libs/mrcp-engine/include/mrcp_engine_plugin.h"
|
||||
|
@ -42,59 +80,111 @@ AC_SUBST(PLUGIN_LT_VERSION)
|
|||
|
||||
echo "UniMRCP Version: ${UNI_DOTTED_VERSION}"
|
||||
|
||||
# Absolute source/build directory
|
||||
unimrcp_srcdir=`(cd $srcdir && pwd)`
|
||||
unimrcp_builddir=`pwd`
|
||||
AC_SUBST(unimrcp_srcdir)
|
||||
AC_SUBST(unimrcp_builddir)
|
||||
|
||||
# Check APR
|
||||
dnl Check for the APR and APR-util libraries.
|
||||
UNIMRCP_CHECK_APR
|
||||
UNIMRCP_CHECK_APU
|
||||
|
||||
# Check SOFIA
|
||||
dnl Check for the Sofia-SIP library.
|
||||
UNIMRCP_CHECK_SOFIA
|
||||
|
||||
dnl Enable inter-library dependencies.
|
||||
AC_ARG_ENABLE(interlib-deps,
|
||||
[AC_HELP_STRING([--disable-interlib-deps ],[disable inter-library dependencies (might break builds)])],
|
||||
[enable_interlib_deps="$enableval"],
|
||||
[enable_interlib_deps="yes"])
|
||||
|
||||
AC_MSG_NOTICE([enable inter-library dependencies: $enable_interlib_deps])
|
||||
if test "${enable_interlib_deps}" == "yes"; then
|
||||
link_all_deplibs=yes
|
||||
link_all_deplibs_CXX=yes
|
||||
else
|
||||
link_all_deplibs=no
|
||||
link_all_deplibs_CXX=no
|
||||
fi
|
||||
|
||||
AC_SUBST(ac_aux_dir)
|
||||
AC_SUBST(ac_macro_dir)
|
||||
AC_SUBST(plugindir)
|
||||
AC_SUBST(confdir)
|
||||
AC_SUBST(logdir)
|
||||
|
||||
AC_DEFUN([AX_COMPILER_VENDOR],
|
||||
[
|
||||
AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor,
|
||||
[ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=unknown
|
||||
# note: don't check for gcc first since some other compilers define __GNUC__
|
||||
for ventest in intel:__ICC,__ECC,__INTEL_COMPILER ibm:__xlc__,__xlC__,__IBMC__,__IBMCPP__ gnu:__GNUC__ sun:__SUNPRO_C,__SUNPRO_CC hp:__HP_cc,__HP_aCC dec:__DECC,__DECCXX,__DECC_VER,__DECCXX_VER borland:__BORLANDC__,__TURBOC__ comeau:__COMO__ cray:_CRAYC kai:__KCC lcc:__LCC__ metrowerks:__MWERKS__ sgi:__sgi,sgi microsoft:_MSC_VER watcom:__WATCOMC__ portland:__PGI; do
|
||||
vencpp="defined("`echo $ventest | cut -d: -f2 | sed 's/,/) || defined(/g'`")"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[
|
||||
#if !($vencpp)
|
||||
thisisanerror;
|
||||
#endif
|
||||
])], [ax_cv_]_AC_LANG_ABBREV[_compiler_vendor=`echo $ventest | cut -d: -f1`; break])
|
||||
done
|
||||
])
|
||||
])
|
||||
|
||||
AX_COMPILER_VENDOR
|
||||
|
||||
#Enable maintainer mode
|
||||
dnl Enable maintainer mode.
|
||||
AC_ARG_ENABLE(maintainer-mode,
|
||||
[AC_HELP_STRING([--enable-maintainer-mode ],[turn on debugging and compile time warnings])],
|
||||
[enable_maintainer_mode="$enableval"],
|
||||
[enable_maintainer_mode="no"])
|
||||
|
||||
AC_MSG_NOTICE([enable maintainer mode: $enable_maintainer_mode])
|
||||
if test "${enable_maintainer_mode}" != "no"; then
|
||||
CFLAGS="$CFLAGS -g"
|
||||
APR_ADDTO(CFLAGS,-g)
|
||||
if test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then
|
||||
CFLAGS="$CFLAGS -Wall -Werror"
|
||||
APR_ADDTO(CFLAGS,-Wall -Werror)
|
||||
fi
|
||||
fi
|
||||
|
||||
#Enable test suites
|
||||
dnl UniMRCP client library.
|
||||
AC_ARG_ENABLE(client-lib,
|
||||
[AC_HELP_STRING([--disable-client-lib ],[exclude unimrcpclient lib from build])],
|
||||
[enable_client_lib="$enableval"],
|
||||
[enable_client_lib="yes"])
|
||||
|
||||
AM_CONDITIONAL([UNIMRCP_CLIENT_LIB],[test "${enable_client_lib}" = "yes"])
|
||||
|
||||
dnl Sample UniMRCP client application in C.
|
||||
AC_ARG_ENABLE(client-app,
|
||||
[AC_HELP_STRING([--disable-client-app ],[exclude sample unimrcpclient app from build])],
|
||||
[enable_client_app="$enableval"],
|
||||
[enable_client_app="yes"])
|
||||
|
||||
AM_CONDITIONAL([UNIMRCP_CLIENT_APP],[test "${enable_client_lib}" = "yes" && test "${enable_client_app}" = "yes"])
|
||||
|
||||
dnl Sample UniMRCP client application in C++.
|
||||
AC_ARG_ENABLE(umc,
|
||||
[AC_HELP_STRING([--disable-umc ],[exclude sample unimrcpclient C++ app from build])],
|
||||
[enable_umc="$enableval"],
|
||||
[enable_umc="yes"])
|
||||
|
||||
AM_CONDITIONAL([UMC],[test "${enable_client_lib}" = "yes" && test "${enable_umc}" = "yes"])
|
||||
|
||||
dnl Miscellaneous ASR client library and application.
|
||||
AC_ARG_ENABLE(asr-client,
|
||||
[AC_HELP_STRING([--disable-asr-client ],[exclude misc ASR client lib and app from build])],
|
||||
[enable_asr_client="$enableval"],
|
||||
[enable_asr_client="yes"])
|
||||
|
||||
AM_CONDITIONAL([ASR_CLIENT],[test "${enable_client_lib}" = "yes" && test "${enable_asr_client}" = "yes"])
|
||||
|
||||
AM_CONDITIONAL([COMMON_CLIENT_DATA],[test "${enable_client_app}" = "yes" || test "${enable_umc}" = "yes" ||test "${enable_asr_client}" = "yes"])
|
||||
|
||||
dnl UniMRCP server library.
|
||||
AC_ARG_ENABLE(server-lib,
|
||||
[AC_HELP_STRING([--disable-server-lib ],[exclude unimrcpserver lib from build])],
|
||||
[enable_server_lib="$enableval"],
|
||||
[enable_server_lib="yes"])
|
||||
|
||||
AM_CONDITIONAL([UNIMRCP_SERVER_LIB],[test "${enable_server_lib}" = "yes"])
|
||||
|
||||
dnl UniMRCP server application.
|
||||
AC_ARG_ENABLE(server-app,
|
||||
[AC_HELP_STRING([--disable-server-app ],[exclude unimrcpserver app from build])],
|
||||
[enable_server_app="$enableval"],
|
||||
[enable_server_app="yes"])
|
||||
|
||||
AM_CONDITIONAL([UNIMRCP_SERVER_APP],[test "${enable_server_lib}" = "yes" && test "${enable_server_app}" = "yes"])
|
||||
|
||||
dnl Demo synthesizer plugin.
|
||||
UNI_PLUGIN_ENABLED(demosynth)
|
||||
|
||||
AM_CONDITIONAL([DEMOSYNTH_PLUGIN],[test "${enable_demosynth_plugin}" = "yes"])
|
||||
|
||||
dnl Demo recognizer plugin.
|
||||
UNI_PLUGIN_ENABLED(demorecog)
|
||||
|
||||
AM_CONDITIONAL([DEMORECOG_PLUGIN],[test "${enable_demorecog_plugin}" = "yes"])
|
||||
|
||||
dnl Demo verifier plugin.
|
||||
UNI_PLUGIN_ENABLED(demoverifier)
|
||||
|
||||
AM_CONDITIONAL([DEMOVERIFIER_PLUGIN],[test "${enable_demoverifier_plugin}" = "yes"])
|
||||
|
||||
dnl Recorder plugin.
|
||||
UNI_PLUGIN_ENABLED(recorder)
|
||||
|
||||
AM_CONDITIONAL([RECORDER_PLUGIN],[test "${enable_recorder_plugin}" = "yes"])
|
||||
|
||||
dnl Enable test suites.
|
||||
AC_ARG_ENABLE(test-suites,
|
||||
[AC_HELP_STRING([--enable-test-suites ],[build test suites])],
|
||||
[enable_test_suites="$enableval"],
|
||||
|
@ -102,136 +192,82 @@ AC_ARG_ENABLE(test-suites,
|
|||
|
||||
AM_CONDITIONAL([TEST_SUITES],[test "${enable_test_suites}" != "no"])
|
||||
|
||||
|
||||
### Plugins ###
|
||||
|
||||
#Enable demo synthesizer plugin
|
||||
AC_ARG_ENABLE(demosynth-plugin,
|
||||
[AC_HELP_STRING([--disable-demosynth-plugin ],[exclude demo synthesizer plugin from build])],
|
||||
[enable_demosynth_plugin="$enableval"],
|
||||
[enable_demosynth_plugin="yes"])
|
||||
|
||||
AM_CONDITIONAL([DEMOSYNTH_PLUGIN],[test "${enable_demosynth_plugin}" = "yes"])
|
||||
|
||||
|
||||
#Enable demo recognizer plugin
|
||||
AC_ARG_ENABLE(demorecog-plugin,
|
||||
[AC_HELP_STRING([--disable-demorecog-plugin ],[exclude demo recognizer plugin from build])],
|
||||
[enable_demorecog_plugin="$enableval"],
|
||||
[enable_demorecog_plugin="yes"])
|
||||
|
||||
AM_CONDITIONAL([DEMORECOG_PLUGIN],[test "${enable_demorecog_plugin}" = "yes"])
|
||||
|
||||
|
||||
#Enable demo verifier plugin
|
||||
AC_ARG_ENABLE(demoverifier-plugin,
|
||||
[AC_HELP_STRING([--disable-demoverifier-plugin ],[exclude demo verifier plugin from build])],
|
||||
[enable_demoverifier_plugin="$enableval"],
|
||||
[enable_demoverifier_plugin="yes"])
|
||||
|
||||
AM_CONDITIONAL([DEMOVERIFIER_PLUGIN],[test "${enable_demoverifier_plugin}" = "yes"])
|
||||
|
||||
|
||||
#Enable recorder plugin
|
||||
AC_ARG_ENABLE(recorder-plugin,
|
||||
[AC_HELP_STRING([--disable-recorder-plugin ],[exclude recorder plugin from build])],
|
||||
[enable_recorder_plugin="$enableval"],
|
||||
[enable_recorder_plugin="yes"])
|
||||
|
||||
AM_CONDITIONAL([RECORDER_PLUGIN],[test "${enable_recorder_plugin}" = "yes"])
|
||||
|
||||
|
||||
#Enable PocketSphinx plugin
|
||||
AC_ARG_ENABLE(pocketsphinx-plugin,
|
||||
[AC_HELP_STRING([--enable-pocketsphinx-plugin ],[enable pocketsphinx plugin])],
|
||||
[enable_pocketsphinx_plugin="$enableval"],
|
||||
[enable_pocketsphinx_plugin="no"])
|
||||
|
||||
if test "${enable_pocketsphinx_plugin}" != "no"; then
|
||||
UNIMRCP_CHECK_SPHINXBASE
|
||||
UNIMRCP_CHECK_POCKETSPHINX
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([POCKETSPHINX_PLUGIN],[test "${enable_pocketsphinx_plugin}" = "yes" &&\
|
||||
test "${found_pocketsphinx}" = "yes" &&\
|
||||
test "${found_sphinxbase}" = "yes"])
|
||||
|
||||
|
||||
#Enable Flite plugin
|
||||
AC_ARG_ENABLE(flite-plugin,
|
||||
[AC_HELP_STRING([--enable-flite-plugin ],[enable flite plugin])],
|
||||
[enable_flite_plugin="$enableval"],
|
||||
[enable_flite_plugin="no"])
|
||||
|
||||
if test "${enable_flite_plugin}" != "no"; then
|
||||
UNIMRCP_CHECK_FLITE
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([FLITE_PLUGIN],[test "${enable_flite_plugin}" = "yes" &&\
|
||||
test "${found_flite}" = "yes"])
|
||||
|
||||
|
||||
AM_CONDITIONAL(ISMAC, [test `uname -s` = Darwin])
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
libs/Makefile
|
||||
libs/apr-toolkit/Makefile
|
||||
libs/mpf/Makefile
|
||||
libs/mrcp/Makefile
|
||||
libs/mrcp-signaling/Makefile
|
||||
libs/mrcpv2-transport/Makefile
|
||||
libs/mrcp-engine/Makefile
|
||||
libs/mrcp-server/Makefile
|
||||
libs/mrcp-client/Makefile
|
||||
libs/uni-rtsp/Makefile
|
||||
modules/Makefile
|
||||
modules/mrcp-sofiasip/Makefile
|
||||
modules/mrcp-unirtsp/Makefile
|
||||
plugins/Makefile
|
||||
plugins/mrcp-pocketsphinx/Makefile
|
||||
plugins/mrcp-flite/Makefile
|
||||
plugins/mrcp-recorder/Makefile
|
||||
plugins/demo-synth/Makefile
|
||||
plugins/demo-recog/Makefile
|
||||
plugins/demo-verifier/Makefile
|
||||
platforms/Makefile
|
||||
platforms/libunimrcp-server/Makefile
|
||||
platforms/libunimrcp-client/Makefile
|
||||
platforms/unimrcp-server/Makefile
|
||||
platforms/unimrcp-client/Makefile
|
||||
platforms/libasr-client/Makefile
|
||||
platforms/asr-client/Makefile
|
||||
platforms/umc/Makefile
|
||||
tests/Makefile
|
||||
tests/apttest/Makefile
|
||||
tests/mpftest/Makefile
|
||||
tests/mrcptest/Makefile
|
||||
tests/rtsptest/Makefile
|
||||
tests/strtablegen/Makefile
|
||||
build/Makefile
|
||||
build/pkgconfig/Makefile
|
||||
build/pkgconfig/unimrcpclient.pc
|
||||
build/pkgconfig/unimrcpserver.pc
|
||||
build/pkgconfig/unimrcpplugin.pc
|
||||
build/svnrev/Makefile
|
||||
conf/Makefile
|
||||
data/Makefile
|
||||
docs/doxygen.conf
|
||||
Makefile
|
||||
libs/Makefile
|
||||
libs/apr-toolkit/Makefile
|
||||
libs/mpf/Makefile
|
||||
libs/mrcp/Makefile
|
||||
libs/mrcp-signaling/Makefile
|
||||
libs/mrcpv2-transport/Makefile
|
||||
libs/mrcp-engine/Makefile
|
||||
libs/mrcp-server/Makefile
|
||||
libs/mrcp-client/Makefile
|
||||
libs/uni-rtsp/Makefile
|
||||
modules/Makefile
|
||||
modules/mrcp-sofiasip/Makefile
|
||||
modules/mrcp-unirtsp/Makefile
|
||||
plugins/Makefile
|
||||
plugins/mrcp-recorder/Makefile
|
||||
plugins/demo-synth/Makefile
|
||||
plugins/demo-recog/Makefile
|
||||
plugins/demo-verifier/Makefile
|
||||
platforms/Makefile
|
||||
platforms/libunimrcp-server/Makefile
|
||||
platforms/libunimrcp-client/Makefile
|
||||
platforms/unimrcp-server/Makefile
|
||||
platforms/unimrcp-client/Makefile
|
||||
platforms/libasr-client/Makefile
|
||||
platforms/asr-client/Makefile
|
||||
platforms/umc/Makefile
|
||||
tests/Makefile
|
||||
tests/apttest/Makefile
|
||||
tests/mpftest/Makefile
|
||||
tests/mrcptest/Makefile
|
||||
tests/rtsptest/Makefile
|
||||
tests/strtablegen/Makefile
|
||||
build/Makefile
|
||||
build/pkgconfig/Makefile
|
||||
build/pkgconfig/unimrcpclient.pc
|
||||
build/pkgconfig/unimrcpserver.pc
|
||||
build/pkgconfig/unimrcpplugin.pc
|
||||
conf/Makefile
|
||||
data/Makefile
|
||||
docs/doxygen.conf
|
||||
])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
AC_MSG_NOTICE
|
||||
AC_MSG_NOTICE([Report:])
|
||||
AC_MSG_NOTICE([ UniMRCP: $UNI_DOTTED_VERSION])
|
||||
AC_MSG_NOTICE([ APR: $apr_version])
|
||||
AC_MSG_NOTICE([ APR-Util: $apu_version])
|
||||
AC_MSG_NOTICE([ Sofia-SIP: $sofia_version])
|
||||
AC_MSG_NOTICE([Plugins:])
|
||||
AC_MSG_NOTICE([ Demo Synthesizer: $enable_demosynth_plugin])
|
||||
AC_MSG_NOTICE([ Demo Recognizer: $enable_demorecog_plugin])
|
||||
AC_MSG_NOTICE([ Demo Verifier: $enable_demoverifier_plugin])
|
||||
AC_MSG_NOTICE([ Recorder: $enable_recorder_plugin])
|
||||
AC_MSG_NOTICE([ PocketSphinx: $enable_pocketsphinx_plugin])
|
||||
AC_MSG_NOTICE([ Flite: $enable_flite_plugin])
|
||||
echo
|
||||
echo '****************************** REPORT ******************************'
|
||||
echo
|
||||
echo UniMRCP version............... : $UNI_DOTTED_VERSION
|
||||
echo
|
||||
echo APR version................... : $apr_version
|
||||
echo APR-util version.............. : $apu_version
|
||||
echo Sofia-SIP version............. : $sofia_version
|
||||
echo
|
||||
echo Compiler...................... : $CC
|
||||
echo Compiler flags................ : $CFLAGS
|
||||
echo Preprocessor definitions...... : $CPPFLAGS
|
||||
echo Linker flags.................. : $LDFLAGS
|
||||
echo
|
||||
echo UniMRCP client lib............ : $enable_client_lib
|
||||
echo Sample UniMRCP client app..... : $enable_client_app
|
||||
echo Sample UMC C++ client app..... : $enable_umc
|
||||
echo Misc ASR client lib and app... : $enable_asr_client
|
||||
echo
|
||||
echo UniMRCP server lib............ : $enable_server_lib
|
||||
echo UniMRCP server app............ : $enable_server_app
|
||||
echo
|
||||
echo Demo synthesizer plugin....... : $enable_demosynth_plugin
|
||||
echo Demo recognizer plugin........ : $enable_demorecog_plugin
|
||||
echo Demo verifier plugin.......... : $enable_demoverifier_plugin
|
||||
echo Recorder plugin............... : $enable_recorder_plugin
|
||||
echo
|
||||
echo Installation layout........... : $layout_name
|
||||
echo Installation directory........ : $prefix
|
||||
echo
|
||||
echo '********************************************************************'
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#! /bin/sh
|
||||
srcpath=$(dirname $0 2>/dev/null ) || srcpath="."
|
||||
$srcpath/configure "$@" --with-apr=../apr --disable-shared --with-pic --with-apr-util=../apr-util --with-sofia-sip=../sofia-sip
|
||||
srcpath=$(pwd)
|
||||
$srcpath/configure "$@" --with-apr=$srcpath/../apr --disable-shared --with-pic --with-apr-util=$srcpath/../apr-util --with-sofia-sip=$srcpath/../sofia-sip
|
||||
|
||||
|
|
|
@ -1,11 +1,31 @@
|
|||
MAINTAINERCLEANFILES = Makefile.in
|
||||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
DATAFILES =
|
||||
|
||||
if COMMON_CLIENT_DATA
|
||||
DATAFILES += grammar.jsgf grammar.mixed grammar.srgs grammar.xml \
|
||||
speak.txt speak.xml \
|
||||
one-16kHz.pcm one-8kHz.pcm \
|
||||
johnsmith-16kHz.pcm johnsmith-8kHz.pcm
|
||||
endif
|
||||
|
||||
if DEMOSYNTH_PLUGIN
|
||||
DATAFILES += demo-16kHz.pcm demo-8kHz.pcm
|
||||
endif
|
||||
|
||||
if DEMORECOG_PLUGIN
|
||||
DATAFILES += result.xml
|
||||
endif
|
||||
|
||||
if DEMOVERIFIER_PLUGIN
|
||||
DATAFILES += result-verification.xml
|
||||
endif
|
||||
|
||||
def-data:
|
||||
test -d $(datadir) || $(mkinstalldirs) $(datadir)
|
||||
for datafile in `find ./ -name \*.pcm -o -name \*.xml -o -name \*.jsgf -o -name \*.txt` ; do \
|
||||
filename=`echo $$datafile | sed -e 's|^.*/||'`; \
|
||||
$(INSTALL) -m 644 $$filename $(datadir); \
|
||||
test -d $(DESTDIR)$(datadir) || $(mkinstalldirs) $(DESTDIR)$(datadir)
|
||||
for datafile in $(DATAFILES) ; do \
|
||||
$(INSTALL) -m 644 $(top_srcdir)/data/$$datafile $(DESTDIR)$(datadir); \
|
||||
done
|
||||
|
||||
|
||||
install-data-local:
|
||||
test -d $(datadir) || $(MAKE) def-data
|
||||
test -d $(DESTDIR)$(datadir) || $(MAKE) def-data
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
#JSGF V1.0;
|
||||
grammar digits;
|
||||
public <numbers> = (one | two | three);
|
||||
#JSGF V1.0;
|
||||
grammar digits;
|
||||
public <numbers> = (one | two | three);
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
|
||||
--break
|
||||
Content-Type:text/uri-list
|
||||
Content-Length: 22
|
||||
|
||||
builtin:grammar/digits
|
||||
|
||||
--break
|
||||
Content-Type:application/srgs+xml
|
||||
Content-Length: 230
|
||||
|
||||
<?xml version="1.0"?>
|
||||
<grammar root="digit" version="1.0" xml:lang="en-US"
|
||||
xmlns="http://www.w3.org/2001/06/grammar">
|
||||
<rule id="digit" scope="public">
|
||||
<item>one two three four five</item>
|
||||
</rule>
|
||||
</grammar>
|
||||
|
||||
--break
|
||||
Content-Type:text/uri-list
|
||||
Content-Length: 22
|
||||
|
||||
builtin:grammar/digits
|
||||
|
||||
--break
|
||||
Content-Type:application/srgs+xml
|
||||
Content-Length: 230
|
||||
|
||||
<?xml version="1.0"?>
|
||||
<grammar root="digit" version="1.0" xml:lang="en-US"
|
||||
xmlns="http://www.w3.org/2001/06/grammar">
|
||||
<rule id="digit" scope="public">
|
||||
<item>one two three four five</item>
|
||||
</rule>
|
||||
</grammar>
|
||||
--break--
|
|
@ -0,0 +1,4 @@
|
|||
#ABNF 1.0;
|
||||
language en-US;
|
||||
mode voice;
|
||||
public $digit = one | two | three;
|
|
@ -1,10 +1,10 @@
|
|||
<?xml version="1.0"?>
|
||||
<grammar xmlns="http://www.w3.org/2001/06/grammar" xml:lang="en-US" version="1.0" mode="voice" root="digit">
|
||||
<rule id="digit">
|
||||
<one-of>
|
||||
<item>one</item>
|
||||
<item>two</item>
|
||||
<item>three</item>
|
||||
</one-of>
|
||||
</rule>
|
||||
<?xml version="1.0"?>
|
||||
<grammar xmlns="http://www.w3.org/2001/06/grammar" xml:lang="en-US" version="1.0" mode="voice" root="digit">
|
||||
<rule id="digit">
|
||||
<one-of>
|
||||
<item>one</item>
|
||||
<item>two</item>
|
||||
<item>three</item>
|
||||
</one-of>
|
||||
</rule>
|
||||
</grammar>
|
|
@ -1,21 +1,21 @@
|
|||
<?xml version="1.0"?>
|
||||
<result>
|
||||
<verification-result>
|
||||
<voiceprint id="johnsmith">
|
||||
<incremental>
|
||||
<utterance-length> 500 </utterance-length>
|
||||
<device> cellular-phone </device>
|
||||
<gender> male </gender>
|
||||
<decision> accepted </decision>
|
||||
<verification-score> 0.85 </verification-score>
|
||||
</incremental>
|
||||
<cumulative>
|
||||
<utterance-length> 1500 </utterance-length>
|
||||
<device> cellular-phone </device>
|
||||
<gender> male </gender>
|
||||
<decision> accepted </decision>
|
||||
<verification-score> 0.75 </verification-score>
|
||||
</cumulative>
|
||||
</voiceprint>
|
||||
</verification-result>
|
||||
<?xml version="1.0"?>
|
||||
<result>
|
||||
<verification-result>
|
||||
<voiceprint id="johnsmith">
|
||||
<incremental>
|
||||
<utterance-length> 500 </utterance-length>
|
||||
<device> cellular-phone </device>
|
||||
<gender> male </gender>
|
||||
<decision> accepted </decision>
|
||||
<verification-score> 0.85 </verification-score>
|
||||
</incremental>
|
||||
<cumulative>
|
||||
<utterance-length> 1500 </utterance-length>
|
||||
<device> cellular-phone </device>
|
||||
<gender> male </gender>
|
||||
<decision> accepted </decision>
|
||||
<verification-score> 0.75 </verification-score>
|
||||
</cumulative>
|
||||
</voiceprint>
|
||||
</verification-result>
|
||||
</result>
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0"?>
|
||||
<result>
|
||||
<interpretation grammar="session:request1@form-level.store" confidence="97">
|
||||
<instance>one</instance>
|
||||
<input mode="speech">one</input>
|
||||
</interpretation>
|
||||
<?xml version="1.0"?>
|
||||
<result>
|
||||
<interpretation grammar="session:request1@form-level.store" confidence="0.97">
|
||||
<instance>one</instance>
|
||||
<input mode="speech">one</input>
|
||||
</interpretation>
|
||||
</result>
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<speak version="1.0" xml:lang="en-US" xmlns="http://www.w3.org/2001/10/synthesis">
|
||||
<p>
|
||||
<s>Welcome to Uni MRCP.</s>
|
||||
</p>
|
||||
<?xml version="1.0"?>
|
||||
<speak version="1.0" xml:lang="en-US" xmlns="http://www.w3.org/2001/10/synthesis">
|
||||
<p>
|
||||
<s>Welcome to Uni MRCP.</s>
|
||||
</p>
|
||||
</speak>
|
|
@ -1,92 +1,71 @@
|
|||
/**
|
||||
@mainpage UniMRCP
|
||||
@mainpage UniMRCP API Reference
|
||||
|
||||
<br>
|
||||
@section Introduction
|
||||
|
||||
UniMRCP is an open source cross-platform MRCP project, which provides everything required for MRCP client and server side deployment.
|
||||
<br>
|
||||
UniMRCP encapsulates SIP/MRCPv2, RTSP, SDP and RTP/RTCP stacks inside and provides MRCP version independent user level interface for the integration.
|
||||
UniMRCP is an open source project compliant with the IETF RFC6787 (MRCPv2) and RFC4463 (MRCPv1) specifications.
|
||||
The project encapsulates SIP, RTSP, SDP, MRCPv2, and RTP/RTCP stacks and provides integrators with a protocol version consistent interface.
|
||||
|
||||
- Compliance: MRCPv1, MRCPv2 (client and server)
|
||||
- Resources: Synthesizer (TTS), Recognizer (ASR), Verifier (SVI), Recorder
|
||||
- License: Apache 2.0
|
||||
- OS: Cross-platform (Windows, Linux, ...)
|
||||
- Language: C, C++
|
||||
<br>
|
||||
<br>
|
||||
@section Source Tree Structure
|
||||
@section _ Source Tree Structure
|
||||
|
||||
<br>
|
||||
Libraries
|
||||
|
||||
* apr-toolkit - set of utilities built on top of APR and APR-Util libraries (task abstraction, logging, etc)
|
||||
<br>
|
||||
* mpf - media processing framework
|
||||
<br>
|
||||
* mrcp - implementation of MRCP basics (message, parser, resources)
|
||||
<br>
|
||||
* mrcpv2-transport - implementation of MRCPv2 transport layer
|
||||
<br>
|
||||
* mrcp-signaling - abstract MRCP signaling (session management) interface
|
||||
<br>
|
||||
* mrcp-engine - abstract resource engine interface
|
||||
<br>
|
||||
* mrcp-client - implementation of MRCP client stack based on abstract signaling interface
|
||||
<br>
|
||||
* mrcp-server - implementation of MRCP server stack based on abstract signaling and engine interfaces
|
||||
<br>
|
||||
* uni-rtsp - implementation of minimal RTSP stack required for MRCPv1
|
||||
@subsection Libraries
|
||||
|
||||
- apr-toolkit - Set of utilities built on top of the APR and APR-util libraries (task abstraction, logging, etc).
|
||||
- mpf - Media processing framework.
|
||||
- mrcp - Implementation of MRCP basics (message, parser, resources).
|
||||
- mrcpv2-transport - Implementation of the MRCPv2 transport layer.
|
||||
- mrcp-signaling - Abstract MRCP signaling (session management) interface.
|
||||
- mrcp-engine - Abstract resource engine interface.
|
||||
- mrcp-client - Implementation of an MRCP client stack based on the abstract signaling interface.
|
||||
- mrcp-server - Implementation of an MRCP server stack based on the abstract signaling and engine interfaces.
|
||||
- uni-rtsp - Implementation of a minimal RTSP stack required for MRCPv1.
|
||||
|
||||
<br>
|
||||
Modules
|
||||
|
||||
* mrcp-sofiasip - implementation of abstract signaling interface using SofiaSIP library
|
||||
<br>
|
||||
* mrcp-unirtsp - implementation of abstract signaling interface using UniRTSP library
|
||||
<br>
|
||||
@subsection Modules
|
||||
|
||||
- mrcp-sofiasip - Implementation of the abstract signaling interface using the SofiaSIP library.
|
||||
- mrcp-unirtsp - Implementation of the abstract signaling interface using the UniRTSP library.
|
||||
|
||||
<br>
|
||||
Plugins
|
||||
@subsection Plugins
|
||||
|
||||
* demo-synth - simulation of actual synthesizer engine
|
||||
<br>
|
||||
* demo-recog - simulation of actual recognizer engine
|
||||
<br>
|
||||
* mrcp-recorder - implementation of recorder resource
|
||||
<br>
|
||||
* mrcp-flite - implementation of synthesizer resource using open source Flite engine
|
||||
<br>
|
||||
* mrcp-pocketsphinx - implementation of recognizer resource using open source PocketSphinx engine
|
||||
- demo-synth - Implementation of a TTS plugin which simulates synthesis.
|
||||
- demo-recog - Implementation of an ASR plugin which simulates recognition.
|
||||
- demo-verif - Implementation of an SVI plugin which simulates speaker verification.
|
||||
- mrcp-recorder - Implementation of a recorder plugin.
|
||||
|
||||
<br>
|
||||
Platforms
|
||||
@subsection Platforms
|
||||
|
||||
* libunimrcpclient - unimrcp client stack based on libraries and modules above
|
||||
<br>
|
||||
* libunimrcpserver - unimrcp server stack based on libraries, modules and plugins above
|
||||
<br>
|
||||
* unimrcpclient - sample C application based on unimrcp client stack
|
||||
<br>
|
||||
* umc - sample C++ application based on unimrcp client stack
|
||||
<br>
|
||||
* unimrcpserver - final unimrcp server application
|
||||
- libunimrcpclient - The UniMRCP client stack built on top of the underlying mrcp-client library using the mrcp-sofiasip and mrcp-unirtsp modules.
|
||||
- libunimrcpserver - The UniMRCP server stack based on top of the underlying mrcp-server library using the mrcp-sofiasip and mrcp-unirtsp modules.
|
||||
- unimrcpclient - Sample C application based on the UniMRCP client stack.
|
||||
- umc - Sample C++ application based on the UniMRCP client stack.
|
||||
- unimrcpserver - The UniMRCP server application.
|
||||
|
||||
<br>
|
||||
@section Dependencies
|
||||
|
||||
<a href="http://apr.apache.org"> APR - Apache Portable Runtime </a>
|
||||
<br>
|
||||
<a href="http://sofia-sip.sourceforge.net"> Sofia-SIP - SIP User Agent Library </a>
|
||||
- <a href="http://apr.apache.org"> APR - Apache Portable Runtime Library </a>
|
||||
- <a href="http://sofia-sip.sourceforge.net"> Sofia-SIP - SIP User Agent Library </a>
|
||||
|
||||
<br>
|
||||
@section Project Links
|
||||
|
||||
<a href="http://www.unimrcp.org"> Website </a>
|
||||
<br>
|
||||
<a href="http://code.google.com/p/unimrcp/downloads/list"> Downloads </a>
|
||||
<br>
|
||||
<a href="http://code.google.com/p/unimrcp/w/list"> Wiki </a>
|
||||
<br>
|
||||
<a href="http://code.google.com/p/unimrcp/issues/list"> Issue Tracker </a>
|
||||
<br>
|
||||
<a href="http://groups.google.com/group/unimrcp"> Discussion Group </a>
|
||||
- <a href="http://www.unimrcp.org"> Website </a>
|
||||
- <a href="http://www.unimrcp.org/downloads"> Downloads </a>
|
||||
- <a href="http://www.unimrcp.org/documentation"> Documentation </a>
|
||||
- <a href="http://code.google.com/p/unimrcp/issues/list"> Issue Tracker </a>
|
||||
- <a href="http://groups.google.com/group/unimrcp"> Discussion Group </a>
|
||||
<br>
|
||||
|
||||
*/
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
MAINTAINERCLEANFILES = Makefile.in
|
||||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/libs/apr-toolkit/include \
|
||||
$(UNIMRCP_APR_INCLUDES) $(UNIMRCP_APU_INCLUDES)
|
||||
$(UNIMRCP_APR_INCLUDES)
|
||||
|
||||
noinst_LTLIBRARIES = libaprtoolkit.la
|
||||
|
||||
|
|
|
@ -1,433 +0,0 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="aprtoolkit"
|
||||
ProjectGUID="{13DEECA0-BDD4-4744-A1A2-8EB0A44DF3D2}"
|
||||
RootNamespace="aprtoolkit"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unidebug.vsprops;$(ProjectDir)..\..\build\vsprops\apt.vsprops"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="APT_STATIC_LIB"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unidebug.vsprops;$(ProjectDir)..\..\build\vsprops\apt.vsprops"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="APT_STATIC_LIB"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unirelease.vsprops;$(ProjectDir)..\..\build\vsprops\apt.vsprops"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="APT_STATIC_LIB"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unirelease.vsprops;$(ProjectDir)..\..\build\vsprops\apt.vsprops"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="APT_STATIC_LIB"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="include"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\include\apt.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_consumer_task.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_cyclic_queue.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_dir_layout.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_header_field.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_log.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_multipart_content.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_net.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_nlsml_doc.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_obj_list.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_pair.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_poller_task.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_pollset.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_pool.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_string.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_string_table.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_task.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_task_msg.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_test_suite.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_text_message.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_text_stream.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\include\apt_timer_queue.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="src"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\src\apt_consumer_task.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_cyclic_queue.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_dir_layout.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_header_field.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_log.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_multipart_content.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_net.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_nlsml_doc.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_obj_list.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_pair.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_poller_task.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_pollset.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_pool.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_string_table.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_task.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_task_msg.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_test_suite.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_text_message.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_text_stream.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\apt_timer_queue.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue