FS-6450 [unimrcp] Update library

[apr] Backport APR_RING_FOREACH and APR_RING_FOREACH_SAFE macros to APR for unimrcp compatibility.

 [unimrcp] configure.gnu - need full path, not relative path for library paths

 [unimrcp] added uni_revision.h - couldn't get it to autogenerate from build

 [mod_unimrcp] add better logging and error checking on module load.  Currently dumps core on MRCPv1 TTS attempt

 [mod_unimrcp] don't configure MRCPv1 session with a connection agent- causes crash
This commit is contained in:
Chris Rienzo 2014-11-17 11:37:15 -05:00
parent f198d82bac
commit 8330336e9a
533 changed files with 16389 additions and 19000 deletions

2
libs/.gitignore vendored
View File

@ -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

View File

@ -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: */

View File

@ -1 +1 @@
Thu Jun 16 15:02:31 UTC 2011
Mon Nov 17 11:06:30 EST 2014

214
libs/unimrcp/CHANGES Normal file
View File

@ -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.

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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])

View File

@ -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

View File

@ -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])
])

View File

@ -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])])
])

View File

@ -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.

View File

@ -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`
])
])

View File

@ -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
])

View File

@ -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
])

View File

@ -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)

View File

@ -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
])

View File

@ -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"])
])

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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;
}

View File

@ -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

View File

@ -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&#x0D;&#x0A;"
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&#x0D;&#x0A;"
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&#x0D;&#x0A;"
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&#x0D;&#x0A;"
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>

View File

@ -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 &quot;$(AprDir)\$(ConfigurationName)\libapr-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(AprUtilDir)\$(ConfigurationName)\libaprutil-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\libsofia-sip-ua\$(ConfigurationName)\libsofia_sip_ua.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\pthread\pthreadVC2.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\conf&quot; xcopy &quot;$(SolutionDir)conf\*.xml&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\data&quot; xcopy &quot;$(SolutionDir)data\*&quot; &quot;$(SolutionDir)$(ConfigurationName)\data\&quot; /Y&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\log&quot; mkdir &quot;$(SolutionDir)$(ConfigurationName)\log\&quot;&#x0D;&#x0A;"
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 &quot;$(AprDir)\$(ConfigurationName)\libapr-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(AprUtilDir)\$(ConfigurationName)\libaprutil-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\libsofia-sip-ua\$(ConfigurationName)\libsofia_sip_ua.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\pthread\pthreadVC2.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\conf&quot; xcopy &quot;$(SolutionDir)conf\*.xml&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\data&quot; xcopy &quot;$(SolutionDir)data\*&quot; &quot;$(SolutionDir)$(ConfigurationName)\data\&quot; /Y&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\log&quot; mkdir &quot;$(SolutionDir)$(ConfigurationName)\log\&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
</Files>
</VisualStudioProject>

View File

@ -28,7 +28,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="xcopy &quot;$(AprDir)\$(ConfigurationName)\libapr-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(AprUtilDir)\$(ConfigurationName)\libaprutil-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll&quot; (&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(ConfigurationName)\iconv&quot; (&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\bin\iconv&quot; mkdir &quot;$(SolutionDir)$(ConfigurationName)\bin\iconv&quot;&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(ConfigurationName)\iconv\*.so&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\iconv\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\libsofia-sip-ua\$(ConfigurationName)\libsofia_sip_ua.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\pthread\pthreadVC2.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\conf&quot; (&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xml&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xsd&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\client-profiles\*.xml&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\client-profiles\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\data&quot; xcopy &quot;$(SolutionDir)data\*&quot; &quot;$(SolutionDir)$(ConfigurationName)\data\&quot; /Y&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\log&quot; mkdir &quot;$(SolutionDir)$(ConfigurationName)\log\&quot;&#x0D;&#x0A;"
CommandLine="xcopy &quot;$(AprDir)\$(ConfigurationName)\libapr-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(AprUtilDir)\$(ConfigurationName)\libaprutil-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll&quot; (&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(ConfigurationName)\iconv&quot; (&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\bin\iconv&quot; mkdir &quot;$(SolutionDir)$(ConfigurationName)\bin\iconv&quot;&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(ConfigurationName)\iconv\*.so&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\iconv\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\libsofia-sip-ua\$(ConfigurationName)\libsofia_sip_ua.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\pthread\$(ConfigurationName)\pthreadVC2.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\conf&quot; (&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xml&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xsd&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\client-profiles\*.xml&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\client-profiles\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\data&quot; xcopy &quot;$(SolutionDir)data\*&quot; &quot;$(SolutionDir)$(ConfigurationName)\data\&quot; /Y&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\log&quot; mkdir &quot;$(SolutionDir)$(ConfigurationName)\log\&quot;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\var&quot; mkdir &quot;$(SolutionDir)$(ConfigurationName)\var\&quot;&#x0D;&#x0A;"
ExcludedFromBuild="false"
/>
<Tool
@ -51,7 +51,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="xcopy &quot;$(AprDir)\$(PlatformName)\$(ConfigurationName)\libapr-1.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(AprUtilDir)\$(PlatformName)\$(ConfigurationName)\libaprutil-1.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll&quot; (&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv&quot; (&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv&quot; mkdir &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv&quot;&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv\*.so&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\libsofia-sip-ua\$(PlatformName)\$(ConfigurationName)\libsofia_sip_ua.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\pthread\$(PlatformName)\pthreadVC2.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf&quot; (&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xml&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xsd&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\client-profiles\*.xml&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\client-profiles\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data&quot; xcopy &quot;$(SolutionDir)data\*&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\&quot; /Y&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log&quot; mkdir &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log\&quot;&#x0D;&#x0A;"
CommandLine="xcopy &quot;$(AprDir)\$(PlatformName)\$(ConfigurationName)\libapr-1.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(AprUtilDir)\$(PlatformName)\$(ConfigurationName)\libaprutil-1.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll&quot; (&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv&quot; (&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv&quot; mkdir &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv&quot;&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv\*.so&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\libsofia-sip-ua\$(PlatformName)\$(ConfigurationName)\libsofia_sip_ua.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\pthread\$(PlatformName)\$(ConfigurationName)\pthreadVC2.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf&quot; (&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xml&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xsd&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\client-profiles\*.xml&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\client-profiles\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data&quot; xcopy &quot;$(SolutionDir)data\*&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\&quot; /Y&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log&quot; mkdir &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log\&quot;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\var&quot; mkdir &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\var\&quot;&#x0D;&#x0A;"
ExcludedFromBuild="false"
/>
<Tool
@ -76,7 +76,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="xcopy &quot;$(AprDir)\$(ConfigurationName)\libapr-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(AprUtilDir)\$(ConfigurationName)\libaprutil-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll&quot; (&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(ConfigurationName)\iconv&quot; (&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\bin\iconv&quot; mkdir &quot;$(SolutionDir)$(ConfigurationName)\bin\iconv&quot;&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(ConfigurationName)\iconv\*.so&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\iconv\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\libsofia-sip-ua\$(ConfigurationName)\libsofia_sip_ua.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\pthread\pthreadVC2.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\conf&quot; (&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xml&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xsd&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\client-profiles\*.xml&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\client-profiles\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\data&quot; xcopy &quot;$(SolutionDir)data\*&quot; &quot;$(SolutionDir)$(ConfigurationName)\data\&quot; /Y&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\log&quot; mkdir &quot;$(SolutionDir)$(ConfigurationName)\log\&quot;&#x0D;&#x0A;"
CommandLine="xcopy &quot;$(AprDir)\$(ConfigurationName)\libapr-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(AprUtilDir)\$(ConfigurationName)\libaprutil-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll&quot; (&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(ConfigurationName)\iconv&quot; (&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\bin\iconv&quot; mkdir &quot;$(SolutionDir)$(ConfigurationName)\bin\iconv&quot;&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(ConfigurationName)\iconv\*.so&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\iconv\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\libsofia-sip-ua\$(ConfigurationName)\libsofia_sip_ua.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\pthread\$(ConfigurationName)\pthreadVC2.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\conf&quot; (&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xml&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xsd&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\client-profiles\*.xml&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\client-profiles\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\data&quot; xcopy &quot;$(SolutionDir)data\*&quot; &quot;$(SolutionDir)$(ConfigurationName)\data\&quot; /Y&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\log&quot; mkdir &quot;$(SolutionDir)$(ConfigurationName)\log\&quot;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\var&quot; mkdir &quot;$(SolutionDir)$(ConfigurationName)\var\&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCCustomBuildTool"
@ -99,7 +99,7 @@
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="xcopy &quot;$(AprDir)\$(PlatformName)\$(ConfigurationName)\libapr-1.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(AprUtilDir)\$(PlatformName)\$(ConfigurationName)\libaprutil-1.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll&quot; (&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv&quot; (&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv&quot; mkdir &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv&quot;&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv\*.so&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\libsofia-sip-ua\$(PlatformName)\$(ConfigurationName)\libsofia_sip_ua.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\pthread\$(PlatformName)\pthreadVC2.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf&quot; (&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xml&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xsd&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\client-profiles\*.xml&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\client-profiles\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data&quot; xcopy &quot;$(SolutionDir)data\*&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\&quot; /Y&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log&quot; mkdir &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log\&quot;&#x0D;&#x0A;"
CommandLine="xcopy &quot;$(AprDir)\$(PlatformName)\$(ConfigurationName)\libapr-1.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(AprUtilDir)\$(PlatformName)\$(ConfigurationName)\libaprutil-1.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll&quot; (&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\libapriconv-1.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;if exist &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv&quot; (&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv&quot; mkdir &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv&quot;&#x0D;&#x0A;xcopy &quot;$(AprIconvDir)\$(PlatformName)\$(ConfigurationName)\iconv\*.so&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\iconv\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\libsofia-sip-ua\$(PlatformName)\$(ConfigurationName)\libsofia_sip_ua.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SofiaDir)\win32\pthread\$(PlatformName)\$(ConfigurationName)\pthreadVC2.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf&quot; (&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xml&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\*.xsd&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SolutionDir)conf\client-profiles\*.xml&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\client-profiles\&quot; /Y&#x0D;&#x0A;)&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data&quot; xcopy &quot;$(SolutionDir)data\*&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\&quot; /Y&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log&quot; mkdir &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log\&quot;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\var&quot; mkdir &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\var\&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCCustomBuildTool"

View File

@ -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>

View File

@ -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 &quot;$(PocketSphinxDir)\bin\$(ConfigurationName)\pocketsphinx.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SphinxBaseDir)\lib\$(ConfigurationName)\sphinxbase.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;xcopy &quot;$(PocketSphinxDir)\model\hmm\wsj1\*&quot; &quot;$(SolutionDir)$(ConfigurationName)\data\wsj1\&quot; /Y&#x0D;&#x0A;copy &quot;$(PocketSphinxDir)\model\lm\cmudict.0.6d&quot; &quot;$(SolutionDir)$(ConfigurationName)\data\default.dic&quot;&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\conf\pocketsphinx.xml&quot; xcopy &quot;$(SolutionDir)plugins\mrcp-pocketsphinx\conf\pocketsphinx.xml&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;"
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 &quot;$(PocketSphinxDir)\bin\$(ConfigurationName)\pocketsphinx.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SphinxBaseDir)\lib\$(ConfigurationName)\sphinxbase.dll&quot; &quot;$(SolutionDir)$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;xcopy &quot;$(PocketSphinxDir)\model\hmm\wsj1\*&quot; &quot;$(SolutionDir)$(ConfigurationName)\data\wsj1\&quot; /Y&#x0D;&#x0A;copy &quot;$(PocketSphinxDir)\model\lm\cmudict.0.6d&quot; &quot;$(SolutionDir)$(ConfigurationName)\data\default.dic&quot;&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(ConfigurationName)\conf\pocketsphinx.xml&quot; xcopy &quot;$(SolutionDir)plugins\mrcp-pocketsphinx\conf\pocketsphinx.xml&quot; &quot;$(SolutionDir)$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;"
/>
<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 &quot;$(PocketSphinxDir)\bin\$(PlatformName)\$(ConfigurationName)\pocketsphinx.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SphinxBaseDir)\lib\$(PlatformName)\$(ConfigurationName)\sphinxbase.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;xcopy &quot;$(PocketSphinxDir)\model\hmm\wsj1\*&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\wsj1\&quot; /Y&#x0D;&#x0A;copy &quot;$(PocketSphinxDir)\model\lm\cmudict.0.6d&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\default.dic&quot;&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\pocketsphinx.xml&quot; xcopy &quot;$(SolutionDir)plugins\mrcp-pocketsphinx\conf\pocketsphinx.xml&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;"
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 &quot;$(PocketSphinxDir)\bin\$(PlatformName)\$(ConfigurationName)\pocketsphinx.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;xcopy &quot;$(SphinxBaseDir)\lib\$(PlatformName)\$(ConfigurationName)\sphinxbase.dll&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\&quot; /Y&#x0D;&#x0A;&#x0D;&#x0A;xcopy &quot;$(PocketSphinxDir)\model\hmm\wsj1\*&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\wsj1\&quot; /Y&#x0D;&#x0A;copy &quot;$(PocketSphinxDir)\model\lm\cmudict.0.6d&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\default.dic&quot;&#x0D;&#x0A;&#x0D;&#x0A;if not exist &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\pocketsphinx.xml&quot; xcopy &quot;$(SolutionDir)plugins\mrcp-pocketsphinx\conf\pocketsphinx.xml&quot; &quot;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\&quot; /Y&#x0D;&#x0A;"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -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;
}

View File

@ -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>

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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 */

View File

@ -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 */

View File

@ -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="&quot;$(FliteDir)\include&quot;"
PreprocessorDefinitions="APT_LIB_EXPORT"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="flite.lib"
AdditionalLibraryDirectories="&quot;$(FliteDir)\$(ConfigurationName)&quot;"
/>
<UserMacro
Name="FliteDir"
Value="$(LibRootDir)libs\flite"
/>
</VisualStudioPropertySheet>

View File

@ -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="&quot;$(PocketSphinxDir)\include&quot;;&quot;$(SphinxBaseDir)\include&quot;"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="sphinxbase.lib pocketsphinx.lib"
AdditionalLibraryDirectories="&quot;$(PocketSphinxDir)\bin\$(ConfigurationName)&quot;;&quot;$(SphinxBaseDir)\lib\$(ConfigurationName)&quot;"
/>
<UserMacro
Name="PocketSphinxDir"
Value="$(LibRootDir)libs\pocketsphinx"
/>
<UserMacro
Name="SphinxBaseDir"
Value="$(LibRootDir)libs\sphinxbase"
/>
</VisualStudioPropertySheet>

View File

@ -7,7 +7,7 @@
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(SofiaDir)\win32&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\su&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\nua&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\url&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\sip&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\msg&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\sdp&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\nta&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\nea&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\soa&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\iptsec&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\bnf&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\features&quot;"
AdditionalIncludeDirectories="&quot;$(SofiaDir)\win32&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\su&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\nua&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\url&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\sip&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\msg&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\sdp&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\nta&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\nea&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\soa&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\iptsec&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\bnf&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\features&quot;;&quot;$(SofiaDir)\libsofia-sip-ua\tport&quot;"
/>
<UserMacro
Name="SofiaDir"

View File

@ -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"

View File

@ -6,6 +6,10 @@
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)\lib"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="_WIN64"
/>
<Tool
Name="VCLinkerTool"
TargetMachine="17"

View File

@ -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"

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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" />

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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 '********************************************************************'

4
libs/unimrcp/configure.gnu Normal file → Executable file
View File

@ -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

View File

@ -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

View File

@ -1,3 +1,3 @@
#JSGF V1.0;
grammar digits;
public <numbers> = (one | two | three);
#JSGF V1.0;
grammar digits;
public <numbers> = (one | two | three);

View File

@ -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--

View File

@ -0,0 +1,4 @@
#ABNF 1.0;
language en-US;
mode voice;
public $digit = one | two | three;

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>
*/

View File

@ -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

View File

@ -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>

View File

@ -1,167 +0,0 @@
<?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">
<ProjectName>aprtoolkit</ProjectName>
<ProjectGuid>{13DEECA0-BDD4-4744-A1A2-8EB0A44DF3D2}</ProjectGuid>
<RootNamespace>aprtoolkit</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</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\vsprops\unirelease.props" />
<Import Project="$(ProjectDir)..\..\build\vsprops\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\vsprops\unidebug.props" />
<Import Project="$(ProjectDir)..\..\build\vsprops\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\vsprops\unirelease.props" />
<Import Project="$(ProjectDir)..\..\build\vsprops\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\vsprops\unidebug.props" />
<Import Project="$(ProjectDir)..\..\build\vsprops\apt.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(PlatformName)\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(PlatformName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(PlatformName)\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(PlatformName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(PlatformName)\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(PlatformName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(PlatformName)\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(PlatformName)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>APT_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<PreprocessorDefinitions>APT_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>APT_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<PreprocessorDefinitions>APT_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\apt.h" />
<ClInclude Include="include\apt_consumer_task.h" />
<ClInclude Include="include\apt_cyclic_queue.h" />
<ClInclude Include="include\apt_dir_layout.h" />
<ClInclude Include="include\apt_header_field.h" />
<ClInclude Include="include\apt_log.h" />
<ClInclude Include="include\apt_multipart_content.h" />
<ClInclude Include="include\apt_net.h" />
<ClInclude Include="include\apt_nlsml_doc.h" />
<ClInclude Include="include\apt_obj_list.h" />
<ClInclude Include="include\apt_pair.h" />
<ClInclude Include="include\apt_pollset.h" />
<ClInclude Include="include\apt_poller_task.h" />
<ClInclude Include="include\apt_pool.h" />
<ClInclude Include="include\apt_string.h" />
<ClInclude Include="include\apt_string_table.h" />
<ClInclude Include="include\apt_task.h" />
<ClInclude Include="include\apt_task_msg.h" />
<ClInclude Include="include\apt_test_suite.h" />
<ClInclude Include="include\apt_text_message.h" />
<ClInclude Include="include\apt_text_stream.h" />
<ClInclude Include="include\apt_time_queue.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\apt_consumer_task.c" />
<ClCompile Include="src\apt_cyclic_queue.c" />
<ClCompile Include="src\apt_dir_layout.c" />
<ClCompile Include="src\apt_header_field.c" />
<ClCompile Include="src\apt_log.c" />
<ClCompile Include="src\apt_multipart_content.c" />
<ClCompile Include="src\apt_net.c" />
<ClCompile Include="src\apt_nlsml_doc.c" />
<ClCompile Include="src\apt_obj_list.c" />
<ClCompile Include="src\apt_pair.c" />
<ClCompile Include="src\apt_poller_task.c" />
<ClCompile Include="src\apt_pollset.c" />
<ClCompile Include="src\apt_pool.c" />
<ClCompile Include="src\apt_string_table.c" />
<ClCompile Include="src\apt_task.c" />
<ClCompile Include="src\apt_task_msg.c" />
<ClCompile Include="src\apt_test_suite.c" />
<ClCompile Include="src\apt_text_message.c" />
<ClCompile Include="src\apt_text_stream.c" />
<ClCompile Include="src\apt_timer_queue.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\win32\apr-util\libaprutil.2012.vcxproj">
<Project>{f057da7f-79e5-4b00-845c-ef446ef055e3}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,163 +1,139 @@
<?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">
<ProjectName>aprtoolkit</ProjectName>
<ProjectGuid>{13DEECA0-BDD4-4744-A1A2-8EB0A44DF3D2}</ProjectGuid>
<RootNamespace>aprtoolkit</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</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\vsprops\unirelease.props" />
<Import Project="$(ProjectDir)..\..\build\vsprops\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\vsprops\unidebug.props" />
<Import Project="$(ProjectDir)..\..\build\vsprops\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\vsprops\unirelease.props" />
<Import Project="$(ProjectDir)..\..\build\vsprops\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\vsprops\unidebug.props" />
<Import Project="$(ProjectDir)..\..\build\vsprops\apt.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(PlatformName)\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(PlatformName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(PlatformName)\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(PlatformName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(PlatformName)\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(PlatformName)\$(Configuration)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(PlatformName)\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(PlatformName)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>APT_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<PreprocessorDefinitions>APT_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>APT_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<PreprocessorDefinitions>APT_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\apt.h" />
<ClInclude Include="include\apt_consumer_task.h" />
<ClInclude Include="include\apt_cyclic_queue.h" />
<ClInclude Include="include\apt_dir_layout.h" />
<ClInclude Include="include\apt_header_field.h" />
<ClInclude Include="include\apt_log.h" />
<ClInclude Include="include\apt_multipart_content.h" />
<ClInclude Include="include\apt_net.h" />
<ClInclude Include="include\apt_nlsml_doc.h" />
<ClInclude Include="include\apt_obj_list.h" />
<ClInclude Include="include\apt_pair.h" />
<ClInclude Include="include\apt_pollset.h" />
<ClInclude Include="include\apt_poller_task.h" />
<ClInclude Include="include\apt_pool.h" />
<ClInclude Include="include\apt_string.h" />
<ClInclude Include="include\apt_string_table.h" />
<ClInclude Include="include\apt_task.h" />
<ClInclude Include="include\apt_task_msg.h" />
<ClInclude Include="include\apt_test_suite.h" />
<ClInclude Include="include\apt_text_message.h" />
<ClInclude Include="include\apt_text_stream.h" />
<ClInclude Include="include\apt_time_queue.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\apt_consumer_task.c" />
<ClCompile Include="src\apt_cyclic_queue.c" />
<ClCompile Include="src\apt_dir_layout.c" />
<ClCompile Include="src\apt_header_field.c" />
<ClCompile Include="src\apt_log.c" />
<ClCompile Include="src\apt_multipart_content.c" />
<ClCompile Include="src\apt_net.c" />
<ClCompile Include="src\apt_nlsml_doc.c" />
<ClCompile Include="src\apt_obj_list.c" />
<ClCompile Include="src\apt_pair.c" />
<ClCompile Include="src\apt_poller_task.c" />
<ClCompile Include="src\apt_pollset.c" />
<ClCompile Include="src\apt_pool.c" />
<ClCompile Include="src\apt_string_table.c" />
<ClCompile Include="src\apt_task.c" />
<ClCompile Include="src\apt_task_msg.c" />
<ClCompile Include="src\apt_test_suite.c" />
<ClCompile Include="src\apt_text_message.c" />
<ClCompile Include="src\apt_text_stream.c" />
<ClCompile Include="src\apt_timer_queue.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\win32\apr-util\libaprutil.2010.vcxproj">
<Project>{f057da7f-79e5-4b00-845c-ef446ef055e3}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<?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>{13DEECA0-BDD4-4744-A1A2-8EB0A44DF3D2}</ProjectGuid>
<RootNamespace>aprtoolkit</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</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\unirelease.props" />
<Import Project="$(ProjectDir)..\..\build\props\unilib.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\unilib.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\unilib-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\unilib-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>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\apt.h" />
<ClInclude Include="include\apt_consumer_task.h" />
<ClInclude Include="include\apt_cyclic_queue.h" />
<ClInclude Include="include\apt_dir_layout.h" />
<ClInclude Include="include\apt_header_field.h" />
<ClInclude Include="include\apt_log.h" />
<ClInclude Include="include\apt_multipart_content.h" />
<ClInclude Include="include\apt_net.h" />
<ClInclude Include="include\apt_nlsml_doc.h" />
<ClInclude Include="include\apt_obj_list.h" />
<ClInclude Include="include\apt_pair.h" />
<ClInclude Include="include\apt_poller_task.h" />
<ClInclude Include="include\apt_pollset.h" />
<ClInclude Include="include\apt_pool.h" />
<ClInclude Include="include\apt_string.h" />
<ClInclude Include="include\apt_string_table.h" />
<ClInclude Include="include\apt_task.h" />
<ClInclude Include="include\apt_task_msg.h" />
<ClInclude Include="include\apt_test_suite.h" />
<ClInclude Include="include\apt_text_message.h" />
<ClInclude Include="include\apt_text_stream.h" />
<ClInclude Include="include\apt_timer_queue.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\apt_consumer_task.c" />
<ClCompile Include="src\apt_cyclic_queue.c" />
<ClCompile Include="src\apt_dir_layout.c" />
<ClCompile Include="src\apt_header_field.c" />
<ClCompile Include="src\apt_log.c" />
<ClCompile Include="src\apt_multipart_content.c" />
<ClCompile Include="src\apt_net.c" />
<ClCompile Include="src\apt_nlsml_doc.c" />
<ClCompile Include="src\apt_obj_list.c" />
<ClCompile Include="src\apt_pair.c" />
<ClCompile Include="src\apt_poller_task.c" />
<ClCompile Include="src\apt_pollset.c" />
<ClCompile Include="src\apt_pool.c" />
<ClCompile Include="src\apt_string_table.c" />
<ClCompile Include="src\apt_task.c" />
<ClCompile Include="src\apt_task_msg.c" />
<ClCompile Include="src\apt_test_suite.c" />
<ClCompile Include="src\apt_text_message.c" />
<ClCompile Include="src\apt_text_stream.c" />
<ClCompile Include="src\apt_timer_queue.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="include">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="src">
<UniqueIdentifier>{4e9335ac-20e8-4284-ad77-20ad9190c94d}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\apt.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_consumer_task.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_cyclic_queue.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_dir_layout.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_header_field.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_log.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_multipart_content.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_net.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_nlsml_doc.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_obj_list.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_pair.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_poller_task.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_pollset.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_pool.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_string.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_string_table.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_task.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_task_msg.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_test_suite.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_text_message.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_text_stream.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="include\apt_timer_queue.h">
<Filter>include</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\apt_consumer_task.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_cyclic_queue.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_dir_layout.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_header_field.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_log.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_multipart_content.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_net.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_nlsml_doc.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_obj_list.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_pair.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_poller_task.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_pollset.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_pool.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_string_table.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_task.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_task_msg.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_test_suite.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_text_message.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_text_stream.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\apt_timer_queue.c">
<Filter>src</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -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: apt.h 1474 2010-02-07 20:51:47Z achaloyan $
* $Id: apt.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
*/
#ifndef APT_H

Some files were not shown because too many files have changed in this diff Show More