mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-26 12:37:26 +00:00
Merge branch 'unimrcp-update-20141117'
This commit is contained in:
commit
7b80b6249b
2
libs/.gitignore
vendored
2
libs/.gitignore
vendored
@ -666,7 +666,7 @@ opal
|
|||||||
/unimrcp/build/svnrev/Makefile.in
|
/unimrcp/build/svnrev/Makefile.in
|
||||||
/unimrcp/build/svnrev/svnrev
|
/unimrcp/build/svnrev/svnrev
|
||||||
!/unimrcp/build/tools/unimrcpservice.exe.manifest
|
!/unimrcp/build/tools/unimrcpservice.exe.manifest
|
||||||
/unimrcp/build/uni_revision.h
|
!/unimrcp/build/uni_revision.h
|
||||||
!/unimrcp/configure.gnu
|
!/unimrcp/configure.gnu
|
||||||
/unimrcp/conf/Makefile
|
/unimrcp/conf/Makefile
|
||||||
/unimrcp/conf/Makefile.in
|
/unimrcp/conf/Makefile.in
|
||||||
|
@ -377,6 +377,30 @@
|
|||||||
#define APR_RING_REMOVE(ep, link) \
|
#define APR_RING_REMOVE(ep, link) \
|
||||||
APR_RING_UNSPLICE((ep), (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: */
|
/* Debugging tools: */
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
Thu Jun 16 15:02:31 UTC 2011
|
Mon Nov 17 11:06:30 EST 2014
|
||||||
|
214
libs/unimrcp/CHANGES
Normal file
214
libs/unimrcp/CHANGES
Normal 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.
|
@ -1,96 +1,117 @@
|
|||||||
BUILD REQUIREMENTS
|
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
|
The UniMRCP project depends on a number of third party tools and libraries which must be installed first.
|
||||||
dependency package from the download area, which contains APR,
|
|
||||||
APR-Util and Sofia-SIP libraries prepackaged for UniMRCP use.
|
|
||||||
|
|
||||||
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
|
http://www.unimrcp.org/downloads/dependencies
|
||||||
Sofia-SIP libraries and patches for them can be downloaded from
|
|
||||||
|
|
||||||
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:
|
References:
|
||||||
|
|
||||||
1. Apache Portable Runtime [>=1.2.x] (http://apr.apache.org/).
|
1. Apache Portable Runtime [>=1.2.x] (http://apr.apache.org).
|
||||||
Whenever you want to build any part of UniMRCP, you need the
|
In order to build any part of the UniMRCP project, the Apache Portable Runtime (APR) and
|
||||||
Apache Portable Runtime (APR) and the APR Utility (APR-util)
|
the APR Utility (APR-util) libraries are required. The libraries provide a consistent interface to
|
||||||
libraries.
|
underlying platform-specific implementations.
|
||||||
|
|
||||||
2. Sofia-SIP [>=1.12.6] (http://sofia-sip.sourceforge.net/).
|
2. Sofia-SIP [>=1.12.6] (http://sofia-sip.sourceforge.net).
|
||||||
Sofia-SIP library is used to implement MRCPv2 specification
|
Sofia-SIP is an open-source SIP User-Agent library, compliant with the IETF RFC3261 specification.
|
||||||
compliant SIP signaling. Sofia-SIP is an open-source SIP User-Agent
|
The library is utilized for implementation of SIP signaling for MRCPv2. The SDP message parser is
|
||||||
library, compliant with the IETF RFC3261 specification.
|
also used for both MRCPv2 (SIP/SDP) and MRCPv1 (RTSP/SDP).
|
||||||
|
|
||||||
|
|
||||||
GNU BUILD
|
GNU BUILD
|
||||||
===================
|
=========
|
||||||
Additional requirements
|
|
||||||
- autoconf 2.57 or newer
|
|
||||||
- automake
|
|
||||||
- libtool 1.4 or newer
|
|
||||||
- gcc
|
|
||||||
- pkg-config
|
|
||||||
|
|
||||||
Build procedure
|
Prerequisites:
|
||||||
$ ./bootstrap
|
|
||||||
$ ./configure
|
|
||||||
$ make
|
|
||||||
$ make install
|
|
||||||
|
|
||||||
Installed directory layout
|
autoconf 2.59 or newer
|
||||||
bin - binaries (unimrcpserver, unimrcpclient)
|
automake
|
||||||
conf - configuration files
|
libtool 1.4 or newer
|
||||||
data - data files
|
gcc
|
||||||
include - header files
|
pkg-config
|
||||||
lib - shared (convenient) libraries
|
|
||||||
log - log files
|
|
||||||
plugin - run-time loadable modules
|
|
||||||
|
|
||||||
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
|
Procedure:
|
||||||
use the "--with-sofia-sip=" option.
|
|
||||||
For example
|
|
||||||
$ ./configure --with-sofia-sip=/usr/local/sofia-sip
|
|
||||||
|
|
||||||
To cross-compile for 64-bit platform use
|
If the UniMRCP source is checked out from the repository, the "bootstrap" script must be run first
|
||||||
CFLAGS=-m64 CXXFLAGS=-m64 LDFLAGS=-m64 ./configure
|
in order to generate the "configure" script and other required files.
|
||||||
|
|
||||||
To cross-compile for 32-bit platform use
|
./bootstrap
|
||||||
CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 ./configure
|
|
||||||
|
|
||||||
To install the default configuration use
|
The usual "configure", "make", "make install" sequence of commands should follow in order to build
|
||||||
$ cd conf
|
and install the project from source.
|
||||||
$ make def-conf
|
|
||||||
|
|
||||||
To install the default data use
|
./configure
|
||||||
$ cd data
|
make
|
||||||
$ make def-data
|
make install
|
||||||
|
|
||||||
To generate doxygen documentation from the source use
|
As a result, the project will be installed in the directory "/usr/local/unimrcp" with the following
|
||||||
$ make dox
|
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
|
WINDOWS BUILD
|
||||||
======================
|
=============
|
||||||
Additional requirements
|
|
||||||
- Microsoft Visual Studio 2005
|
|
||||||
|
|
||||||
One-time pre-build preparation
|
Prerequisites:
|
||||||
You may need to adjust the paths for 3-rd party libraries
|
|
||||||
in appropriate property sheets to match your local installation,
|
Microsoft Visual Studio 2005 or 2010.
|
||||||
while below are the defaults (build/vsprops).
|
|
||||||
|
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
|
apr.vsprops
|
||||||
<UserMacro
|
<UserMacro
|
||||||
@ -108,22 +129,30 @@ sofiasip.vsprops
|
|||||||
Value="$(SolutionDir)libs\sofia-sip"
|
Value="$(SolutionDir)libs\sofia-sip"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
Build procedure
|
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)
|
|
||||||
|
|
||||||
One-time pre-run output directory preparation
|
1. Open one of the available solution files:
|
||||||
Build prepare.vcproj utility project (right click on tools -> prebuild in
|
* for Visual Studio 2005, use unimrcp.sln,
|
||||||
Solution Explorer and select Build from context menu). This is a one-time
|
* for Visual Studio 2010, use unimrcp-2010.sln.
|
||||||
output directory preparation. It copies all the required APR and SofiaSIP
|
2. Choose a platform (Build -> Configuration Manager):
|
||||||
libraries and the default configuration to the output directory.
|
* win32
|
||||||
|
* x64.
|
||||||
|
3. Choose a configuration (Build -> Configuration Manager):
|
||||||
|
* Debug
|
||||||
|
* Release.
|
||||||
|
4. Build the solution (Build -> Build Solution).
|
||||||
|
|
||||||
Output directory layout
|
One-time output directory setup:
|
||||||
bin - binaries (unimrcpserver, unimrcpclient) and all the required dlls
|
|
||||||
conf - configuration files
|
Build the "prepare.vcproj" utility project by right clicking on the project icon from the Solution
|
||||||
data - data files
|
Explorer (tools->prepare) and selecting the Build command from the context menu. This routine will
|
||||||
lib - libraries
|
setup the output directory and copy all the required APR, APR-Util, and Sofia-SIP libraries as well
|
||||||
log - log files
|
as the default configuration and data files. As a result, the output directory layout will look
|
||||||
plugin - run-time loadable modules
|
like the following:
|
||||||
|
|
||||||
|
bin binaries (unimrcpserver, unimrcpclient, ...) and all the required dlls
|
||||||
|
conf configuration files (unimrcpserver.xml, unimrcpclient.xml, ...)
|
||||||
|
data data files
|
||||||
|
lib libraries
|
||||||
|
log log files
|
||||||
|
plugin run-time loadable modules
|
||||||
|
@ -1,26 +1,36 @@
|
|||||||
macrodir = @ac_macro_dir@
|
macrodir = @ac_macro_dir@
|
||||||
auxdir = @ac_aux_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
|
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = foreign
|
AUX_DIST = $(auxdir)/compile \
|
||||||
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure $(AUX_DIST)
|
$(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
|
if TEST_SUITES
|
||||||
SUBDIRS += tests
|
SUBDIRS += tests
|
||||||
endif
|
endif
|
||||||
|
|
||||||
dox:
|
dox:
|
||||||
doxygen $(top_srcdir)/docs/doxygen.conf
|
doxygen $(top_srcdir)/docs/doxygen.conf
|
||||||
|
|
||||||
install-data-local:
|
install-data-local:
|
||||||
test -d $(logdir) || $(mkinstalldirs) $(logdir)
|
test -d $(DESTDIR)$(logdir) || $(mkinstalldirs) $(DESTDIR)$(logdir)
|
||||||
|
test -d $(DESTDIR)$(vardir) || $(mkinstalldirs) $(DESTDIR)$(vardir)
|
||||||
|
@ -1,30 +1,37 @@
|
|||||||
INTRODUCTION
|
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
|
INSTALLATION
|
||||||
============
|
============
|
||||||
See the file "INSTALLATION" for installation tips.
|
|
||||||
|
See the file "INSTALL" for installation tips.
|
||||||
|
|
||||||
|
|
||||||
DOCUMENTATION
|
DOCUMENTATION
|
||||||
=============
|
=============
|
||||||
See the directory "docs/dox" for doxygen generated documentation.
|
|
||||||
See the directory "docs/ea" for UML based design concepts
|
Use the directory "docs/dox" for a documentation generated by Doxygen.
|
||||||
(Enterpise Architect generated HTML pages).
|
Use the directory "docs/ea" for UML based design concepts, HTML pages generated by Enterpise Architect.
|
||||||
|
|
||||||
|
|
||||||
REFERENCES
|
REFERENCES
|
||||||
==========
|
==========
|
||||||
|
|
||||||
Website:
|
Website:
|
||||||
http://www.unimrcp.org
|
http://www.unimrcp.org
|
||||||
|
|
||||||
Project Home:
|
Downloads:
|
||||||
http://code.google.com/p/unimrcp
|
http://www.unimrcp.org/downloads
|
||||||
|
|
||||||
Wiki:
|
Documentation:
|
||||||
http://code.google.com/p/unimrcp/w/list
|
http://www.unimrcp.org/documentation
|
||||||
|
|
||||||
|
Google Code:
|
||||||
|
http://code.google.com/p/unimrcp
|
||||||
|
|
||||||
Issue Tracker:
|
Issue Tracker:
|
||||||
http://code.google.com/p/unimrcp/issues/list
|
http://code.google.com/p/unimrcp/issues/list
|
||||||
@ -45,7 +52,8 @@ Commit Monitor:
|
|||||||
|
|
||||||
LICENSING
|
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.
|
See the file "LICENSE" for more information.
|
||||||
|
|
||||||
Copyright 2008 - 2010 Arsen Chaloyan
|
Copyright 2008 - 2014 Arsen Chaloyan
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
m4_include([build/acmacros/apr.m4])
|
m4_include([build/acmacros/apr.m4])
|
||||||
m4_include([build/acmacros/apu.m4])
|
|
||||||
m4_include([build/acmacros/find_apr.m4])
|
m4_include([build/acmacros/find_apr.m4])
|
||||||
m4_include([build/acmacros/find_apu.m4])
|
m4_include([build/acmacros/find_apu.m4])
|
||||||
m4_include([build/acmacros/sofia-sip.m4])
|
m4_include([build/acmacros/sofia-sip.m4])
|
||||||
m4_include([build/acmacros/sphinxbase.m4])
|
m4_include([build/acmacros/ax_compiler_vendor.m4])
|
||||||
m4_include([build/acmacros/pocketsphinx.m4])
|
m4_include([build/acmacros/apr_common.m4])
|
||||||
m4_include([build/acmacros/flite.m4])
|
m4_include([build/acmacros/uni_plugin.m4])
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
MAINTAINERCLEANFILES = Makefile.in
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
CLEANFILES = uni_revision.h
|
|
||||||
|
|
||||||
SUBDIRS = pkgconfig svnrev
|
SUBDIRS = pkgconfig
|
||||||
|
|
||||||
include_HEADERS = uni_version.h uni_revision.h
|
include_HEADERS = uni_version.h uni_revision.h
|
||||||
|
|
||||||
uni_revision.h :
|
|
||||||
svnrev/svnrev -rsvnrev/svnrev.input -p../ -ouni_revision.h
|
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
dnl UNIMRCP_CHECK_APR
|
dnl
|
||||||
|
dnl UNIMRCP_CHECK_APR
|
||||||
|
dnl
|
||||||
|
dnl This macro attempts to find APR and APR-util libraries and
|
||||||
|
dnl set corresponding variables on exit.
|
||||||
|
dnl
|
||||||
AC_DEFUN([UNIMRCP_CHECK_APR],
|
AC_DEFUN([UNIMRCP_CHECK_APR],
|
||||||
[
|
[
|
||||||
AC_MSG_NOTICE([Apache Portable Runtime (APR) library configuration])
|
AC_MSG_NOTICE([Apache Portable Runtime (APR) library configuration])
|
||||||
@ -16,18 +20,39 @@ AC_DEFUN([UNIMRCP_CHECK_APR],
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
dnl check APR version number
|
dnl check APR version number
|
||||||
|
|
||||||
apr_version="`$apr_config --version`"
|
apr_version="`$apr_config --version`"
|
||||||
AC_MSG_RESULT([$apr_version])
|
AC_MSG_RESULT([$apr_version])
|
||||||
|
|
||||||
dnl Get build information from APR
|
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`"
|
APR_ADDTO(UNIMRCP_APR_INCLUDES,`$apr_config --includes`)
|
||||||
CFLAGS="$CFLAGS `$apr_config --cflags`"
|
APR_ADDTO(UNIMRCP_APR_LIBS,`$apr_config --link-ld`)
|
||||||
LDFLAGS="$LDFLAGS `$apr_config --ldflags`"
|
|
||||||
|
|
||||||
UNIMRCP_APR_INCLUDES="`$apr_config --includes`"
|
AC_MSG_NOTICE([Apache Portable Runtime Utility (APU) library configuration])
|
||||||
UNIMRCP_APR_LIBS="`$apr_config --link-libtool --libs`"
|
|
||||||
|
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_INCLUDES)
|
||||||
AC_SUBST(UNIMRCP_APR_LIBS)
|
AC_SUBST(UNIMRCP_APR_LIBS)
|
||||||
@ -42,3 +67,13 @@ AC_DEFUN([UNIMRCP_DOWNLOAD_APR],
|
|||||||
echo "--with-apr option to 'configure'"
|
echo "--with-apr option to 'configure'"
|
||||||
AC_MSG_ERROR([no suitable APR found])
|
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])
|
||||||
|
])
|
||||||
|
990
libs/unimrcp/build/acmacros/apr_common.m4
Normal file
990
libs/unimrcp/build/acmacros/apr_common.m4
Normal 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])])
|
||||||
|
])
|
@ -1,42 +1,2 @@
|
|||||||
dnl UNIMRCP_CHECK_APU
|
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.
|
||||||
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])
|
|
||||||
])
|
|
||||||
|
41
libs/unimrcp/build/acmacros/ax_compiler_vendor.m4
Normal file
41
libs/unimrcp/build/acmacros/ax_compiler_vendor.m4
Normal 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`
|
||||||
|
])
|
||||||
|
])
|
@ -1,53 +0,0 @@
|
|||||||
dnl UNIMRCP_CHECK_FLITE
|
|
||||||
|
|
||||||
AC_DEFUN([UNIMRCP_CHECK_FLITE],
|
|
||||||
[
|
|
||||||
AC_MSG_NOTICE([Flite library configuration])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for Flite])
|
|
||||||
AC_ARG_WITH(flite,
|
|
||||||
[ --with-flite=PATH path to Flite build tree],
|
|
||||||
[flite_path=$withval],
|
|
||||||
[flite_path="/usr/src/flite"]
|
|
||||||
)
|
|
||||||
|
|
||||||
found_flite="no"
|
|
||||||
|
|
||||||
flite_config="config/config"
|
|
||||||
for dir in $flite_path ; do
|
|
||||||
cd $dir && flite_dir=`pwd` && cd - > /dev/null
|
|
||||||
if test -f "$flite_dir/$flite_config"; then
|
|
||||||
target_os=`grep TARGET_OS "$flite_dir/$flite_config" | sed "s/^.*= //"` ;\
|
|
||||||
target_cpu=`grep TARGET_CPU "$flite_dir/$flite_config" | sed "s/^.*= //"` ;\
|
|
||||||
flite_libdir=$flite_dir/build/$target_cpu-$target_os/lib
|
|
||||||
if test -d "$flite_libdir"; then
|
|
||||||
UNIMRCP_FLITE_INCLUDES="-I$flite_dir/include"
|
|
||||||
UNIMRCP_FLITE_LIBS="$flite_libdir/libflite_cmu_us_awb.a \
|
|
||||||
$flite_libdir/libflite_cmu_us_kal.a \
|
|
||||||
$flite_libdir/libflite_cmu_us_rms.a \
|
|
||||||
$flite_libdir/libflite_cmu_us_slt.a \
|
|
||||||
$flite_libdir/libflite_cmulex.a \
|
|
||||||
$flite_libdir/libflite_usenglish.a \
|
|
||||||
$flite_libdir/libflite.a"
|
|
||||||
found_flite="yes"
|
|
||||||
break
|
|
||||||
else
|
|
||||||
AC_MSG_WARN(Cannot find Flite lib dir: $flite_libdir)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if test x_$found_flite != x_yes; then
|
|
||||||
AC_MSG_ERROR(Cannot find Flite - looked for srcdir:$flite_srcdir in $flite_path)
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([$found_flite])
|
|
||||||
|
|
||||||
case "$host" in
|
|
||||||
*darwin*)
|
|
||||||
UNIMRCP_FLITE_LIBS="$UNIMRCP_FLITE_LIBS -framework CoreFoundation -framework SystemConfiguration" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_SUBST(UNIMRCP_FLITE_INCLUDES)
|
|
||||||
AC_SUBST(UNIMRCP_FLITE_LIBS)
|
|
||||||
fi
|
|
||||||
])
|
|
@ -1,53 +0,0 @@
|
|||||||
dnl UNIMRCP_CHECK_POCKETSPHINX
|
|
||||||
|
|
||||||
AC_DEFUN([UNIMRCP_CHECK_POCKETSPHINX],
|
|
||||||
[
|
|
||||||
AC_MSG_NOTICE([PocketSphinx library configuration])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for PocketSphinx])
|
|
||||||
AC_ARG_WITH(pocketsphinx,
|
|
||||||
[ --with-pocketsphinx=PATH prefix for installed PocketSphinx or
|
|
||||||
path to PocketSphinx build tree],
|
|
||||||
[pocketsphinx_path=$withval],
|
|
||||||
[pocketsphinx_path="/usr/local"]
|
|
||||||
)
|
|
||||||
|
|
||||||
found_pocketsphinx="no"
|
|
||||||
pocketsphinx_config="lib/pkgconfig/pocketsphinx.pc"
|
|
||||||
pocketsphinx_srcdir="src"
|
|
||||||
for dir in $pocketsphinx_path ; do
|
|
||||||
cd $dir && pocketsphinx_dir=`pwd` && cd - > /dev/null
|
|
||||||
if test -f "$dir/$pocketsphinx_config"; then
|
|
||||||
found_pocketsphinx="yes"
|
|
||||||
UNIMRCP_POCKETSPHINX_INCLUDES="`pkg-config --cflags $dir/$pocketsphinx_config`"
|
|
||||||
UNIMRCP_POCKETSPHINX_LIBS="`pkg-config --libs $dir/$pocketsphinx_config`"
|
|
||||||
UNIMRCP_POCKETSPHINX_MODELS=
|
|
||||||
pocketsphinx_version="`pkg-config --modversion $dir/$pocketsphinx_config`"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
if test -d "$dir/$pocketsphinx_srcdir"; then
|
|
||||||
found_pocketsphinx="yes"
|
|
||||||
UNIMRCP_POCKETSPHINX_INCLUDES="-I$pocketsphinx_dir/include"
|
|
||||||
UNIMRCP_POCKETSPHINX_LIBS="$pocketsphinx_dir/$pocketsphinx_srcdir/libpocketsphinx/libpocketsphinx.la"
|
|
||||||
UNIMRCP_POCKETSPHINX_MODELS="$pocketsphinx_dir/model"
|
|
||||||
pocketsphinx_version="`pkg-config --modversion $pocketsphinx_dir/pocketsphinx.pc`"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if test x_$found_pocketsphinx != x_yes; then
|
|
||||||
AC_MSG_ERROR(Cannot find PocketSphinx - looked for pocketsphinx-config:$pocketsphinx_config and srcdir:$pocketsphinx_srcdir in $pocketsphinx_path)
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([$found_pocketsphinx])
|
|
||||||
AC_MSG_RESULT([$pocketsphinx_version])
|
|
||||||
|
|
||||||
case "$host" in
|
|
||||||
*darwin*)
|
|
||||||
UNIMRCP_POCKETSPHINX_LIBS="$UNIMRCP_POCKETSPHINX_LIBS -framework CoreFoundation -framework SystemConfiguration" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_SUBST(UNIMRCP_POCKETSPHINX_INCLUDES)
|
|
||||||
AC_SUBST(UNIMRCP_POCKETSPHINX_LIBS)
|
|
||||||
AC_SUBST(UNIMRCP_POCKETSPHINX_MODELS)
|
|
||||||
fi
|
|
||||||
])
|
|
@ -1,48 +1,75 @@
|
|||||||
|
dnl
|
||||||
dnl UNIMRCP_CHECK_SOFIA
|
dnl 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_DEFUN([UNIMRCP_CHECK_SOFIA],
|
||||||
[
|
[
|
||||||
AC_MSG_NOTICE([Sofia SIP library configuration])
|
AC_MSG_NOTICE([Sofia SIP library configuration])
|
||||||
|
|
||||||
AC_MSG_CHECKING([for Sofia-SIP])
|
AC_MSG_CHECKING([for Sofia-SIP])
|
||||||
AC_ARG_WITH(sofia-sip,
|
AC_ARG_WITH(sofia-sip,
|
||||||
[ --with-sofia-sip=PATH prefix for installed Sofia-SIP or
|
[ --with-sofia-sip=PATH prefix for installed Sofia-SIP,
|
||||||
path to Sofia-SIP build tree],
|
path to Sofia-SIP source/build tree,
|
||||||
|
or the full path to Sofia-SIP pkg-config],
|
||||||
[sofia_path=$withval],
|
[sofia_path=$withval],
|
||||||
[sofia_path="/usr/local"]
|
[sofia_path="/usr/local"]
|
||||||
)
|
)
|
||||||
|
|
||||||
found_sofia="no"
|
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
|
if test -n "$PKG_CONFIG"; then
|
||||||
AC_MSG_ERROR(Cannot find Sofia-SIP - looked for sofia-config:$sofiaconfig and srcdir:$sofiasrcdir in $sofia_path)
|
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
|
else
|
||||||
AC_MSG_RESULT([$found_sofia])
|
AC_MSG_RESULT([$found_sofia])
|
||||||
AC_MSG_RESULT([$sofia_version])
|
AC_MSG_RESULT([$sofia_version])
|
||||||
|
|
||||||
case "$host" in
|
case "$host" in
|
||||||
*darwin*)
|
*darwin*)
|
||||||
UNIMRCP_SOFIA_LIBS="$UNIMRCP_SOFIA_LIBS -framework CoreFoundation -framework SystemConfiguration" ;;
|
UNIMRCP_SOFIA_LIBS="$UNIMRCP_SOFIA_LIBS -framework CoreFoundation -framework SystemConfiguration"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
AC_SUBST(UNIMRCP_SOFIA_INCLUDES)
|
AC_SUBST(UNIMRCP_SOFIA_INCLUDES)
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
dnl UNIMRCP_CHECK_SPHINXBASE
|
|
||||||
|
|
||||||
AC_DEFUN([UNIMRCP_CHECK_SPHINXBASE],
|
|
||||||
[
|
|
||||||
AC_MSG_NOTICE([SphinxBase library configuration])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for SphinxBase])
|
|
||||||
AC_ARG_WITH(sphinxbase,
|
|
||||||
[ --with-sphinxbase=PATH prefix for installed SphinxBase or
|
|
||||||
path to SphinxBase build tree],
|
|
||||||
[sphinxbase_path=$withval],
|
|
||||||
[sphinxbase_path="/usr/local"]
|
|
||||||
)
|
|
||||||
|
|
||||||
found_sphinxbase="no"
|
|
||||||
sphinxbase_config="lib/pkgconfig/sphinxbase.pc"
|
|
||||||
sphinxbase_srcdir="src"
|
|
||||||
for dir in $sphinxbase_path ; do
|
|
||||||
cd $dir && sphinxbase_dir=`pwd` && cd - > /dev/null
|
|
||||||
if test -f "$dir/$sphinxbase_config"; then
|
|
||||||
found_sphinxbase="yes"
|
|
||||||
UNIMRCP_SPHINXBASE_INCLUDES="`pkg-config --cflags $dir/$sphinxbase_config`"
|
|
||||||
UNIMRCP_SPHINXBASE_LIBS="`pkg-config --libs $dir/$sphinxbase_config`"
|
|
||||||
sphinxbase_version="`pkg-config --modversion $dir/$sphinxbase_config`"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
if test -d "$dir/$sphinxbase_srcdir"; then
|
|
||||||
found_sphinxbase="yes"
|
|
||||||
UNIMRCP_SPHINXBASE_INCLUDES="-I$sphinxbase_dir/include"
|
|
||||||
UNIMRCP_SPHINXBASE_LIBS="$sphinxbase_dir/$sphinxbase_srcdir/libsphinxbase/libsphinxbase.la $sphinxbase_dir/$sphinxbase_srcdir/libsphinxad/libsphinxad.la"
|
|
||||||
sphinxbase_version="`pkg-config --modversion $sphinxbase_dir/sphinxbase.pc`"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if test x_$found_sphinxbase != x_yes; then
|
|
||||||
AC_MSG_ERROR(Cannot find SphinxBase - looked for sphinxbase-config:$sphinxbase_config and srcdir:$sphinxbase_srcdir in $sphinxbase_path)
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([$found_sphinxbase])
|
|
||||||
AC_MSG_RESULT([$sphinxbase_version])
|
|
||||||
|
|
||||||
case "$host" in
|
|
||||||
*darwin*)
|
|
||||||
UNIMRCP_SPHINXBASE_LIBS="$UNIMRCP_SPHINXBASE_LIBS -framework CoreFoundation -framework SystemConfiguration" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_SUBST(UNIMRCP_SPHINXBASE_INCLUDES)
|
|
||||||
AC_SUBST(UNIMRCP_SPHINXBASE_LIBS)
|
|
||||||
fi
|
|
||||||
])
|
|
45
libs/unimrcp/build/acmacros/uni_plugin.m4
Normal file
45
libs/unimrcp/build/acmacros/uni_plugin.m4
Normal 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"])
|
||||||
|
])
|
@ -3,16 +3,18 @@
|
|||||||
# unimrcp-server This shell script takes care of starting and stopping the UniMRCP server.
|
# unimrcp-server This shell script takes care of starting and stopping the UniMRCP server.
|
||||||
#
|
#
|
||||||
# chkconfig: 2345 65 35
|
# chkconfig: 2345 65 35
|
||||||
# description: UniMRCP is an open source MRCP v1 & v2 server
|
# description: UniMRCP is an open source MRCP v1 & v2 server.
|
||||||
|
|
||||||
# Some global variables
|
# Some global variables
|
||||||
|
|
||||||
# Application
|
# Application
|
||||||
APP_NAME="unimrcpserver"
|
APP_NAME="unimrcpserver"
|
||||||
APP_LONG_NAME="unimrcpserver"
|
APP_LONG_NAME="UniMRCP Server"
|
||||||
UNIMRCP_DIR="/usr/local/unimrcp/"
|
UNIMRCP_DIR="/usr/local/unimrcp/"
|
||||||
|
DAEMON_ARGS="-d -r ${UNIMRCP_DIR}"
|
||||||
|
APP_ARGS="-o 2"
|
||||||
|
|
||||||
EXEC="${UNIMRCP_DIR}bin/${APP_NAME} -d -o 2 -r ${UNIMRCP_DIR}"
|
EXEC="${UNIMRCP_DIR}bin/${APP_NAME}"
|
||||||
|
|
||||||
# sudo user
|
# sudo user
|
||||||
USERNAME=root
|
USERNAME=root
|
||||||
@ -25,12 +27,10 @@ PRIORITY=
|
|||||||
PIDDIR="/var/run/"
|
PIDDIR="/var/run/"
|
||||||
pid=
|
pid=
|
||||||
|
|
||||||
LOG="/var/log/${APP_NAME}.log"
|
|
||||||
|
|
||||||
if [ -e $PIDDIR ]; then
|
if [ -e $PIDDIR ]; then
|
||||||
echo
|
echo
|
||||||
else
|
else
|
||||||
mkdir $PIDDIR
|
mkdir $PIDDIR
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Allow configuration overrides in /etc/sysconfig/$APP_NAME
|
# Allow configuration overrides in /etc/sysconfig/$APP_NAME
|
||||||
@ -58,16 +58,16 @@ SCRIPT=`echo $SCRIPT | sed -e 's; ;:;g'`
|
|||||||
TOKENS=`echo $SCRIPT | sed -e 's;/; ;g'`
|
TOKENS=`echo $SCRIPT | sed -e 's;/; ;g'`
|
||||||
REALPATH=
|
REALPATH=
|
||||||
for C in $TOKENS; do
|
for C in $TOKENS; do
|
||||||
REALPATH="$REALPATH/$C"
|
REALPATH="$REALPATH/$C"
|
||||||
while [ -h "$REALPATH" ] ; do
|
while [ -h "$REALPATH" ] ; do
|
||||||
LS="`ls -ld "$REALPATH"`"
|
LS="`ls -ld "$REALPATH"`"
|
||||||
LINK="`expr "$LS" : '.*-> \(.*\)$'`"
|
LINK="`expr "$LS" : '.*-> \(.*\)$'`"
|
||||||
if expr "$LINK" : '/.*' > /dev/null; then
|
if expr "$LINK" : '/.*' > /dev/null; then
|
||||||
REALPATH="$LINK"
|
REALPATH="$LINK"
|
||||||
else
|
else
|
||||||
REALPATH="`dirname "$REALPATH"`""/$LINK"
|
REALPATH="`dirname "$REALPATH"`""/$LINK"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
# Change ":" chars back to spaces.
|
# Change ":" chars back to spaces.
|
||||||
REALPATH=`echo $REALPATH | sed -e 's;:; ;g'`
|
REALPATH=`echo $REALPATH | sed -e 's;:; ;g'`
|
||||||
@ -84,10 +84,10 @@ PIDFILE="$PIDDIR/$APP_NAME.pid"
|
|||||||
PSEXE="/usr/bin/ps"
|
PSEXE="/usr/bin/ps"
|
||||||
if [ ! -x $PSEXE ]
|
if [ ! -x $PSEXE ]
|
||||||
then
|
then
|
||||||
PSEXE="/bin/ps"
|
PSEXE="/bin/ps"
|
||||||
if [ ! -x $PSEXE ]
|
if [ ! -x $PSEXE ]
|
||||||
then
|
then
|
||||||
echo "Unable to locate 'ps'."
|
echo "Unable to locate 'ps'."
|
||||||
echo "Please report this with the location on your system."
|
echo "Please report this with the location on your system."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@ -96,17 +96,17 @@ fi
|
|||||||
# Build the nice clause
|
# Build the nice clause
|
||||||
if [ "X$PRIORITY" = "X" ]
|
if [ "X$PRIORITY" = "X" ]
|
||||||
then
|
then
|
||||||
CMDNICE=""
|
CMDNICE=""
|
||||||
else
|
else
|
||||||
CMDNICE="nice -$PRIORITY"
|
CMDNICE="nice -$PRIORITY"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
getpid() {
|
getpid() {
|
||||||
if [ -f $PIDFILE ]
|
if [ -f $PIDFILE ]
|
||||||
then
|
then
|
||||||
if [ -r $PIDFILE ]
|
if [ -r $PIDFILE ]
|
||||||
then
|
then
|
||||||
pid=`cat $PIDFILE`
|
pid=`cat $PIDFILE`
|
||||||
if [ "X$pid" != "X" ]
|
if [ "X$pid" != "X" ]
|
||||||
then
|
then
|
||||||
# Verify that a process with this pid is still running.
|
# Verify that a process with this pid is still running.
|
||||||
@ -117,12 +117,12 @@ pid=`cat $PIDFILE`
|
|||||||
rm -f $PIDFILE
|
rm -f $PIDFILE
|
||||||
echo "Removed stale pid file: $PIDFILE"
|
echo "Removed stale pid file: $PIDFILE"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "Cannot read $PIDFILE."
|
echo "Cannot read $PIDFILE."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
testpid() {
|
testpid() {
|
||||||
@ -139,9 +139,10 @@ console() {
|
|||||||
getpid
|
getpid
|
||||||
if [ "X$pid" = "X" ]
|
if [ "X$pid" = "X" ]
|
||||||
then
|
then
|
||||||
exec sudo -u $USERNAME $CMDNICE $EXEC
|
exec sudo -u $USERNAME $CMDNICE $EXEC $APP_ARGS
|
||||||
|
echo $pid > $PIDFILE
|
||||||
else
|
else
|
||||||
echo "$APP_LONG_NAME is already running."
|
echo "$APP_LONG_NAME is already running."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -151,12 +152,11 @@ start() {
|
|||||||
getpid
|
getpid
|
||||||
if [ "X$pid" = "X" ]
|
if [ "X$pid" = "X" ]
|
||||||
then
|
then
|
||||||
sudo -u $USERNAME $CMDNICE $EXEC
|
sudo -u $USERNAME $CMDNICE $EXEC $DAEMON_ARGS $APP_ARGS
|
||||||
pid=`$PSEXE -C $APP_NAME -o pid=`
|
pid=`$PSEXE -C $APP_NAME -o pid=`
|
||||||
echo $pid
|
echo $pid > $PIDFILE
|
||||||
echo $pid > $PIDFILE
|
|
||||||
else
|
else
|
||||||
echo "$APP_LONG_NAME is already running."
|
echo "$APP_LONG_NAME is already running."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -166,7 +166,7 @@ stopit() {
|
|||||||
getpid
|
getpid
|
||||||
if [ "X$pid" = "X" ]
|
if [ "X$pid" = "X" ]
|
||||||
then
|
then
|
||||||
echo "$APP_LONG_NAME was not running."
|
echo "$APP_LONG_NAME was not running."
|
||||||
else
|
else
|
||||||
# Running so try to stop it.
|
# Running so try to stop it.
|
||||||
sudo -u $USERNAME kill $pid
|
sudo -u $USERNAME kill $pid
|
||||||
@ -188,52 +188,52 @@ echo "$APP_LONG_NAME was not running."
|
|||||||
# Loop for up to 5 minutes
|
# Loop for up to 5 minutes
|
||||||
if [ "$TOTCNT" -lt "300" ]
|
if [ "$TOTCNT" -lt "300" ]
|
||||||
then
|
then
|
||||||
if [ "$CNT" -lt "5" ]
|
if [ "$CNT" -lt "5" ]
|
||||||
then
|
then
|
||||||
CNT=`expr $CNT + 1`
|
CNT=`expr $CNT + 1`
|
||||||
else
|
else
|
||||||
echo "Waiting for $APP_LONG_NAME to exit..."
|
echo "Waiting for $APP_LONG_NAME to exit..."
|
||||||
CNT=0
|
CNT=0
|
||||||
fi
|
fi
|
||||||
TOTCNT=`expr $TOTCNT + 1`
|
TOTCNT=`expr $TOTCNT + 1`
|
||||||
|
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
testpid
|
testpid
|
||||||
else
|
else
|
||||||
pid=
|
pid=
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
pid=$savepid
|
pid=$savepid
|
||||||
testpid
|
testpid
|
||||||
if [ "X$pid" != "X" ]
|
if [ "X$pid" != "X" ]
|
||||||
then
|
then
|
||||||
echo "Timed out waiting for $APP_LONG_NAME to exit."
|
echo "Timed out waiting for $APP_LONG_NAME to exit."
|
||||||
echo " Attempting a forced exit..."
|
echo " Attempting a forced exit..."
|
||||||
kill -9 $pid
|
kill -9 $pid
|
||||||
fi
|
fi
|
||||||
|
|
||||||
pid=$savepid
|
pid=$savepid
|
||||||
testpid
|
testpid
|
||||||
if [ "X$pid" != "X" ]
|
if [ "X$pid" != "X" ]
|
||||||
then
|
then
|
||||||
echo "Failed to stop $APP_LONG_NAME."
|
echo "Failed to stop $APP_LONG_NAME."
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
echo "Stopped $APP_LONG_NAME."
|
echo "Stopped $APP_LONG_NAME."
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
status() {
|
status() {
|
||||||
getpid
|
getpid
|
||||||
if [ "X$pid" = "X" ]
|
if [ "X$pid" = "X" ]
|
||||||
then
|
then
|
||||||
echo "$APP_LONG_NAME is not running."
|
echo "$APP_LONG_NAME is not running."
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
echo "$APP_LONG_NAME is running ($pid)."
|
echo "$APP_LONG_NAME is running ($pid)."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -268,4 +268,3 @@ case "$1" in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
prefix=@prefix@
|
prefix=@prefix@
|
||||||
exec_prefix=@exec_prefix@
|
exec_prefix=@exec_prefix@
|
||||||
libdir=@libdir@
|
libdir=@libdir@
|
||||||
includedir=@includedir@ @UNIMRCP_APR_INCLUDES@ @UNIMRCP_APU_INCLUDES@
|
includedir=@includedir@ @UNIMRCP_APR_INCLUDES@
|
||||||
|
|
||||||
Name: unimrcpclient
|
Name: unimrcpclient
|
||||||
Description: UniMRCP Client Stack
|
Description: UniMRCP Client Stack
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
prefix=@prefix@
|
prefix=@prefix@
|
||||||
exec_prefix=@exec_prefix@
|
exec_prefix=@exec_prefix@
|
||||||
libdir=@libdir@
|
libdir=@libdir@
|
||||||
includedir=@includedir@ @UNIMRCP_APR_INCLUDES@ @UNIMRCP_APU_INCLUDES@
|
includedir=@includedir@ @UNIMRCP_APR_INCLUDES@
|
||||||
|
|
||||||
Name: unimrcpplugin
|
Name: unimrcpplugin
|
||||||
Description: UniMRCP Server Plugin
|
Description: UniMRCP Server Plugin
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
prefix=@prefix@
|
prefix=@prefix@
|
||||||
exec_prefix=@exec_prefix@
|
exec_prefix=@exec_prefix@
|
||||||
libdir=@libdir@
|
libdir=@libdir@
|
||||||
includedir=@includedir@ @UNIMRCP_APR_INCLUDES@ @UNIMRCP_APU_INCLUDES@
|
includedir=@includedir@ @UNIMRCP_APR_INCLUDES@
|
||||||
|
|
||||||
Name: unimrcpserver
|
Name: unimrcpserver
|
||||||
Description: UniMRCP Server Stack
|
Description: UniMRCP Server Stack
|
||||||
|
@ -1,13 +1,19 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ImportGroup Label="PropertySheets">
|
<ImportGroup Label="PropertySheets">
|
||||||
<Import Project="$(ProjectDir)..\..\build\vsprops\unibase.props" Condition=" '$(UnibasePropsImported)' == '' "/>
|
<Import Project="$(ProjectDir)..\..\build\props\unibase.props" Condition=" '$(UniBaseImported)' == '' "/>
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros">
|
<PropertyGroup Label="UserMacros">
|
||||||
<AprDir>$(LibRootDir)libs\apr</AprDir>
|
<AprDir>$(LibRootDir)libs\apr</AprDir>
|
||||||
<AprUtilDir>$(LibRootDir)libs\apr-util</AprUtilDir>
|
<AprUtilDir>$(LibRootDir)libs\apr-util</AprUtilDir>
|
||||||
<AprIconvDir>$(LibRootDir)libs\apr-iconv</AprIconvDir>
|
<AprIconvDir>$(LibRootDir)libs\apr-iconv</AprIconvDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<AprImported>true</AprImported>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>$(AprDir)\include;$(AprUtilDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(AprDir)\include;$(AprUtilDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
@ -1,10 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ImportGroup Label="PropertySheets">
|
<ImportGroup Label="PropertySheets">
|
||||||
<Import Project="apr.props" />
|
<Import Project="apr.props" Condition=" '$(AprImported)' == '' "/>
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<AptPropsImported>true</AptPropsImported>
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<AptImported>true</AptImported>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
@ -1,8 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ImportGroup Label="PropertySheets">
|
<ImportGroup Label="PropertySheets">
|
||||||
<Import Project="apt.props" Condition=" '$(AptPropsImported)' == '' "/>
|
<Import Project="apt.props" Condition=" '$(AptImported)' == '' "/>
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<MpfImported>true</MpfImported>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mpf\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mpf\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
@ -1,10 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ImportGroup Label="PropertySheets">
|
<ImportGroup Label="PropertySheets">
|
||||||
<Import Project="apt.props" Condition=" '$(AptPropsImported)' == '' "/>
|
<Import Project="apt.props" Condition=" '$(AptImported)' == '' "/>
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<MrcpPropsImported>true</MrcpPropsImported>
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<MrcpImported>true</MrcpImported>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
15
libs/unimrcp/build/props/mrcpengine.props
Normal file
15
libs/unimrcp/build/props/mrcpengine.props
Normal 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>
|
16
libs/unimrcp/build/props/mrcpserver.props
Normal file
16
libs/unimrcp/build/props/mrcpserver.props
Normal 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>
|
@ -1,9 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ImportGroup Label="PropertySheets">
|
<ImportGroup Label="PropertySheets">
|
||||||
<Import Project="mpf.props" />
|
<Import Project="mpf.props" Condition=" '$(MpfImported)' == '' " />
|
||||||
<Import Project="mrcp.props" Condition=" '$(MrcpPropsImported)' == ''" />
|
<Import Project="mrcp.props" Condition=" '$(MrcpImported)' == '' "/>
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcp-signaling\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcp-signaling\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
@ -1,8 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ImportGroup Label="PropertySheets">
|
<ImportGroup Label="PropertySheets">
|
||||||
<Import Project="mrcp.props" Condition=" '$(MrcpPropsImported)' == '' "/>
|
<Import Project="mrcp.props" Condition=" '$(MrcpImported)' == '' "/>
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcpv2-transport\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(ProjectRootDir)libs\mrcpv2-transport\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
14
libs/unimrcp/build/props/sdk/unimrcpclient.props
Normal file
14
libs/unimrcp/build/props/sdk/unimrcpclient.props
Normal 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>
|
14
libs/unimrcp/build/props/sdk/unimrcpplugin.props
Normal file
14
libs/unimrcp/build/props/sdk/unimrcpplugin.props
Normal 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>
|
23
libs/unimrcp/build/props/sdk/unimrcpsdk.props
Normal file
23
libs/unimrcp/build/props/sdk/unimrcpsdk.props
Normal 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>
|
14
libs/unimrcp/build/props/sdk/unimrcpserver.props
Normal file
14
libs/unimrcp/build/props/sdk/unimrcpserver.props
Normal 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>
|
@ -1,14 +1,20 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ImportGroup Label="PropertySheets">
|
<ImportGroup Label="PropertySheets">
|
||||||
<Import Project="unibase.props" Condition=" '$(UnibasePropsImported)' == '' "/>
|
<Import Project="$(ProjectDir)..\..\build\props\unibase.props" Condition=" '$(UniBaseImported)' == '' "/>
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros">
|
<PropertyGroup Label="UserMacros">
|
||||||
<SofiaDir>$(LibRootDir)libs\sofia-sip</SofiaDir>
|
<SofiaDir>$(LibRootDir)libs\sofia-sip</SofiaDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<SofiaSipImported>true</SofiaSipImported>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<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>
|
<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>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
@ -8,8 +8,9 @@
|
|||||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<UnibasePropsImported>true</UnibasePropsImported>
|
<UniBaseImported>true</UniBaseImported>
|
||||||
</PropertyGroup><ItemDefinitionGroup>
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<WarningLevel>Level4</WarningLevel>
|
<WarningLevel>Level4</WarningLevel>
|
21
libs/unimrcp/build/props/unibin-x64.props
Normal file
21
libs/unimrcp/build/props/unibin-x64.props
Normal 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>
|
18
libs/unimrcp/build/props/unibin.props
Normal file
18
libs/unimrcp/build/props/unibin.props
Normal 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>
|
@ -1,8 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ImportGroup Label="PropertySheets" />
|
<ImportGroup Label="PropertySheets">
|
||||||
|
<Import Project="$(ProjectDir)..\..\build\props\unibase.props" Condition=" '$(UniBaseImported)' == '' "/>
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
@ -15,5 +18,8 @@
|
|||||||
</PrecompiledHeader>
|
</PrecompiledHeader>
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
</Project>
|
</Project>
|
13
libs/unimrcp/build/props/unilib-x64.props
Normal file
13
libs/unimrcp/build/props/unilib-x64.props
Normal 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>
|
8
libs/unimrcp/build/props/unilib.props
Normal file
8
libs/unimrcp/build/props/unilib.props
Normal 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>
|
23
libs/unimrcp/build/props/unimrcpclient.props
Normal file
23
libs/unimrcp/build/props/unimrcpclient.props
Normal 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>
|
23
libs/unimrcp/build/props/unimrcpserver.props
Normal file
23
libs/unimrcp/build/props/unimrcpserver.props
Normal 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>
|
22
libs/unimrcp/build/props/uniplugin-x64.props
Normal file
22
libs/unimrcp/build/props/uniplugin-x64.props
Normal 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>
|
19
libs/unimrcp/build/props/uniplugin.props
Normal file
19
libs/unimrcp/build/props/uniplugin.props
Normal 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>
|
@ -1,6 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ImportGroup Label="PropertySheets" />
|
<ImportGroup Label="PropertySheets">
|
||||||
|
<Import Project="$(ProjectDir)..\..\build\props\unibase.props" Condition=" '$(UniBaseImported)' == '' "/>
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ImportGroup Label="PropertySheets">
|
<ImportGroup Label="PropertySheets">
|
||||||
<Import Project="apt.props" Condition=" '$(AptPropsImported)' == '' "/>
|
<Import Project="apt.props" Condition=" '$(AptImported)' == '' "/>
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
24
libs/unimrcp/build/rules/uniclientapp.am
Normal file
24
libs/unimrcp/build/rules/uniclientapp.am
Normal 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
|
30
libs/unimrcp/build/rules/uniclientlib.am
Normal file
30
libs/unimrcp/build/rules/uniclientlib.am
Normal 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)
|
14
libs/unimrcp/build/rules/uniplugin.am
Normal file
14
libs/unimrcp/build/rules/uniplugin.am
Normal 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)
|
25
libs/unimrcp/build/rules/uniserverapp.am
Normal file
25
libs/unimrcp/build/rules/uniserverapp.am
Normal 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
|
32
libs/unimrcp/build/rules/uniserverlib.am
Normal file
32
libs/unimrcp/build/rules/uniserverlib.am
Normal 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)
|
@ -1,10 +0,0 @@
|
|||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
AM_CPPFLAGS = $(UNIMRCP_APR_INCLUDES) $(UNIMRCP_APU_INCLUDES)
|
|
||||||
|
|
||||||
noinst_PROGRAMS = svnrev
|
|
||||||
svnrev_LDADD = $(UNIMRCP_APR_LIBS) $(UNIMRCP_APU_LIBS)
|
|
||||||
svnrev_SOURCES = svnrev.c
|
|
||||||
|
|
||||||
rev:
|
|
||||||
./svnrev -rsvnrev.input -p../../ -o../uni_revision.h
|
|
@ -1,381 +0,0 @@
|
|||||||
/* SvnRev
|
|
||||||
*
|
|
||||||
* This utility retrieves the highest number that follows the "$Id: $" keyword
|
|
||||||
* or a combination of the $Rev: $ and $Date: $ keywords. The Subversion
|
|
||||||
* version control system expands these keywords and keeps them up to date.
|
|
||||||
* For an example of the tag, see the end of this comment.
|
|
||||||
*
|
|
||||||
* Details on the usage and the operation of this utility is available on-line
|
|
||||||
* at http://www.compuphase.com/svnrev.htm.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Acknowledgements
|
|
||||||
*
|
|
||||||
* The support for .java files is contributed by Tom McCann (tommc@spoken.com).
|
|
||||||
* The option for prefixing and/or suffixing the build number (in the string
|
|
||||||
* constant SVN_REVSTR) was suggested by Robert Nitzel.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* License
|
|
||||||
*
|
|
||||||
* Copyright (c) 2005-2009, ITB CompuPhase (www.compuphase.com).
|
|
||||||
*
|
|
||||||
* This software is provided "as-is", without any express or implied warranty.
|
|
||||||
* In no event will the authors be held liable for any damages arising from
|
|
||||||
* the use of this software.
|
|
||||||
*
|
|
||||||
* Permission is granted to anyone to use this software for any purpose,
|
|
||||||
* including commercial applications, and to alter it and redistribute it
|
|
||||||
* freely, subject to the following restrictions:
|
|
||||||
*
|
|
||||||
* 1. The origin of this software must not be misrepresented; you must not
|
|
||||||
* claim that you wrote the original software. If you use this software in
|
|
||||||
* a product, an acknowledgment in the product documentation would be
|
|
||||||
* appreciated but is not required.
|
|
||||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
|
||||||
* misrepresented as being the original software.
|
|
||||||
* 3. This notice may not be removed or altered from any source distribution.
|
|
||||||
*
|
|
||||||
* Version: $Id: svnrev.c 1497 2010-02-12 17:20:21Z achaloyan $
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include <apr_pools.h>
|
|
||||||
#include <apr_file_io.h>
|
|
||||||
|
|
||||||
|
|
||||||
#if defined __WIN32__ || defined _Win32 || defined _WIN32
|
|
||||||
#define DIRSEP '\\'
|
|
||||||
#elif defined macintosh
|
|
||||||
#define DIRSEP ':'
|
|
||||||
#else
|
|
||||||
/* assume Linux/Unix */
|
|
||||||
#define DIRSEP '/'
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MAX_LINELENGTH 512
|
|
||||||
#define MAX_SYMBOLLENGTH 32
|
|
||||||
|
|
||||||
static void about(void)
|
|
||||||
{
|
|
||||||
printf("svnrev 1.7.\n\n");
|
|
||||||
printf("Usage: svnrev [options] <input> [input [...]]\n\n"
|
|
||||||
"Options:\n"
|
|
||||||
"-ofilename\tOutput filename for the file with the build number. When no\n"
|
|
||||||
"\t\tfilename follows \"-o\", the result is written to stdout. The\n"
|
|
||||||
"\t\tdefault filename is \"svnrev.h\" for C/C++ and \"VersionInfo.java\"\n"
|
|
||||||
"\t\tfor Java.\n\n"
|
|
||||||
"-fpattern\tFormat: Adds text before or after the build number in the\n"
|
|
||||||
"\t\tconstant SVN_REVSTR. The pattern has the form \"text#text\"\n"
|
|
||||||
"\t\t(without the quotes) where \"text\" is arbitrary text and \"#\"\n"
|
|
||||||
"\t\twill be replaced by the build number.\n\n"
|
|
||||||
"-i\t\tIncremental: this option should be used when the list of input\n"
|
|
||||||
"\t\tfiles is a subset of all files in the project. When -i is\n"
|
|
||||||
"\t\tpresent, svnrev also scans the output file that was generated\n"
|
|
||||||
"\t\ton a previous run.\n\n"
|
|
||||||
"-jname\t\tJava: this option writes a java package file instead of a C/C++\n"
|
|
||||||
"\t\theader file. The name of the Java package must follow the\n"
|
|
||||||
"\t\toption (this is not the filename).\n\n"
|
|
||||||
"-v\t\tVerbose: prints the names of files that are modified since the\n"
|
|
||||||
"\t\tlast commit (into version control) to stderr.\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void processfile(const char *name, int failsilent,
|
|
||||||
int *max_build, int *accum_build,
|
|
||||||
int *max_year, int *max_month, int *max_day,
|
|
||||||
int *ismodified)
|
|
||||||
|
|
||||||
{
|
|
||||||
char str[MAX_LINELENGTH], str_base[MAX_LINELENGTH];
|
|
||||||
char name_base[MAX_LINELENGTH];
|
|
||||||
char *p1;
|
|
||||||
FILE *fp, *fp_base;
|
|
||||||
int build, maj_build;
|
|
||||||
int year, month, day;
|
|
||||||
int cnt;
|
|
||||||
char modchar;
|
|
||||||
|
|
||||||
/* since we also want to verify whether the file is modified in version
|
|
||||||
* control, get the path to the working copy name
|
|
||||||
* for every source file "<path>\<filename>, the "working copy" base can
|
|
||||||
* be found in "<path>\.svn\text-base\<filename>.svn-base"
|
|
||||||
*/
|
|
||||||
if ((p1 = strrchr(name, DIRSEP)) != NULL) {
|
|
||||||
++p1; /* skip directory separator character ('\' in Windows, '/' in Linux) */
|
|
||||||
strncpy(name_base, name, (int)(p1 - name));
|
|
||||||
name_base[(int)(p1 - name)] = '\0';
|
|
||||||
} else {
|
|
||||||
name_base[0] = '\0';
|
|
||||||
p1 = (char*)name;
|
|
||||||
} /* if */
|
|
||||||
sprintf(name_base + strlen(name_base), ".svn%ctext-base%c%s.svn-base",
|
|
||||||
DIRSEP, DIRSEP, p1);
|
|
||||||
|
|
||||||
/* first extract the revision keywords */
|
|
||||||
fp = fopen(name, "r");
|
|
||||||
if (fp == NULL) {
|
|
||||||
if (!failsilent)
|
|
||||||
fprintf(stderr, "Failed to open input file '%s'\n", name);
|
|
||||||
return;
|
|
||||||
} /* if */
|
|
||||||
fp_base = fopen(name_base, "r"); /* fail silently */
|
|
||||||
build = 0;
|
|
||||||
maj_build = 0; /* RCS / CVS */
|
|
||||||
year = month = day = 0;
|
|
||||||
|
|
||||||
while (fgets(str, sizeof str, fp) != NULL) {
|
|
||||||
if (fp_base == NULL || fgets(str_base, sizeof str_base, fp_base) == NULL)
|
|
||||||
str_base[0] = '\0';
|
|
||||||
if ((p1 = strstr(str, "$Id:")) != NULL && strchr(p1+1, '$') != NULL) {
|
|
||||||
if (sscanf(p1, "$Id: %*s %d %d-%d-%d", &build, &year, &month, &day) < 4
|
|
||||||
&& sscanf(p1, "$Id: %*s %d %d/%d/%d", &build, &year, &month, &day) < 4)
|
|
||||||
if (sscanf(p1, "$Id: %*s %d.%d %d-%d-%d", &maj_build, &build, &year, &month, &day) < 5)
|
|
||||||
sscanf(p1, "$Id: %*s %d.%d %d/%d/%d", &maj_build, &build, &year, &month, &day);
|
|
||||||
} else if ((p1 = strstr(str, "$Rev:")) != NULL && strchr(p1+1, '$') != NULL) {
|
|
||||||
if (sscanf(p1, "$Rev: %d.%d", &maj_build, &build) < 2) {
|
|
||||||
sscanf(p1, "$Rev: %d", &build);
|
|
||||||
maj_build = 0;
|
|
||||||
} /* if */
|
|
||||||
} else if ((p1 = strstr(str, "$Revision:")) != NULL && strchr(p1+1, '$') != NULL) {
|
|
||||||
if (sscanf(p1, "$Revision: %d.%d", &maj_build, &build) < 2) {
|
|
||||||
/* SvnRev also writes this keyword in its own generated file; read it
|
|
||||||
* back for partial updates
|
|
||||||
*/
|
|
||||||
cnt = sscanf(p1, "$Revision: %d%c", &build, &modchar);
|
|
||||||
if (cnt == 2 && modchar == 'M' && ismodified != NULL)
|
|
||||||
*ismodified = 1;
|
|
||||||
maj_build = 0;
|
|
||||||
} /* if */
|
|
||||||
} else if ((p1 = strstr(str, "$Date:")) != NULL && strchr(p1+1, '$') != NULL) {
|
|
||||||
if (sscanf(p1, "$Date: %d-%d-%d", &year, &month, &day) < 3)
|
|
||||||
sscanf(p1, "$Date: %d/%d/%d", &year, &month, &day);
|
|
||||||
} else if (ismodified != NULL && *ismodified == 0 && fp_base != NULL) {
|
|
||||||
/* no keyword present, compare the lines for equivalence */
|
|
||||||
*ismodified = strcmp(str, str_base) != 0;
|
|
||||||
} /* if */
|
|
||||||
|
|
||||||
if (maj_build)
|
|
||||||
*accum_build += build; /* RCS / CVS */
|
|
||||||
else if (build > *max_build)
|
|
||||||
*max_build = build; /* Subversion */
|
|
||||||
if (year > *max_year
|
|
||||||
|| (year == *max_year && month > *max_month)
|
|
||||||
|| (year == *max_year && month == *max_month && day > *max_day))
|
|
||||||
{
|
|
||||||
*max_year = year;
|
|
||||||
*max_month = month;
|
|
||||||
*max_day = day;
|
|
||||||
} /* if */
|
|
||||||
if (build > 0 && year > 0 && (fp_base == NULL || ismodified == NULL || *ismodified != 0))
|
|
||||||
break; /* both build # and date found, not comparing or modification
|
|
||||||
* already found => no need to search further */
|
|
||||||
|
|
||||||
} /* while */
|
|
||||||
fclose(fp);
|
|
||||||
if (fp_base != NULL)
|
|
||||||
fclose(fp_base);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
char *outname = NULL;
|
|
||||||
FILE *fp;
|
|
||||||
FILE *input_file;
|
|
||||||
char *input_file_name = NULL;
|
|
||||||
char *path_prefix = NULL;
|
|
||||||
int index;
|
|
||||||
int process_self = 0;
|
|
||||||
int verbose = 0;
|
|
||||||
int max_build, accum_build;
|
|
||||||
int max_year, max_month, max_day;
|
|
||||||
int ismodified, filemodified;
|
|
||||||
char prefix[MAX_SYMBOLLENGTH], suffix[MAX_SYMBOLLENGTH];
|
|
||||||
char modified_suffix[2];
|
|
||||||
int write_java = 0; /* flag for Java output, 0=.h output, 1=.java output */
|
|
||||||
/* java package to put revision info in.
|
|
||||||
* REVIEW - I assume if you want Java output you will specify a package. */
|
|
||||||
char *java_package = NULL;
|
|
||||||
|
|
||||||
if (argc <= 1)
|
|
||||||
about();
|
|
||||||
|
|
||||||
/* collect the options */
|
|
||||||
prefix[0] = '\0';
|
|
||||||
suffix[0] = '\0';
|
|
||||||
|
|
||||||
for (index = 1; index < argc; index++) {
|
|
||||||
/* check for options */
|
|
||||||
if (argv[index][0] == '-'
|
|
||||||
#if defined __WIN32__ || defined _Win32 || defined _WIN32
|
|
||||||
|| argv[index][0] == '/'
|
|
||||||
#endif
|
|
||||||
)
|
|
||||||
{
|
|
||||||
switch (argv[index][1]) {
|
|
||||||
case 'f': {
|
|
||||||
int len;
|
|
||||||
char *ptr = strchr(&argv[index][2], '#');
|
|
||||||
len = (ptr != NULL) ? (int)(ptr - &argv[index][2]) : (int)strlen(&argv[index][2]);
|
|
||||||
if (len >= MAX_SYMBOLLENGTH)
|
|
||||||
len = MAX_SYMBOLLENGTH - 1;
|
|
||||||
strncpy(prefix, &argv[index][2], len);
|
|
||||||
prefix[len] = '\0';
|
|
||||||
ptr = (ptr != NULL) ? ptr + 1 : strchr(argv[index], '\0');
|
|
||||||
len = (int)strlen(ptr);
|
|
||||||
if (len >= MAX_SYMBOLLENGTH)
|
|
||||||
len = MAX_SYMBOLLENGTH - 1;
|
|
||||||
strncpy(suffix, ptr, len);
|
|
||||||
suffix[len] = '\0';
|
|
||||||
break;
|
|
||||||
} /* case */
|
|
||||||
case 'i':
|
|
||||||
process_self = 1;
|
|
||||||
break;
|
|
||||||
case 'j':
|
|
||||||
write_java=1;
|
|
||||||
java_package = &argv[index][2];
|
|
||||||
break;
|
|
||||||
case 'o':
|
|
||||||
outname = &argv[index][2];
|
|
||||||
break;
|
|
||||||
case 'r':
|
|
||||||
input_file_name = &argv[index][2];
|
|
||||||
break;
|
|
||||||
case 'p':
|
|
||||||
path_prefix = &argv[index][2];
|
|
||||||
break;
|
|
||||||
case 'v':
|
|
||||||
verbose = 1;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
fprintf(stderr, "Invalid option '%s'\n", argv[index]);
|
|
||||||
about();
|
|
||||||
} /* switch */
|
|
||||||
} /* if */
|
|
||||||
} /* for */
|
|
||||||
|
|
||||||
if (outname == NULL)
|
|
||||||
outname = write_java ? "SvnRevision.java" : "uni_revision.h";
|
|
||||||
if (!process_self && *outname != '\0')
|
|
||||||
remove(outname);
|
|
||||||
|
|
||||||
/* phase 1: scan through all files and get the highest build number */
|
|
||||||
|
|
||||||
max_build = 0;
|
|
||||||
accum_build = 0; /* for RCS / CVS */
|
|
||||||
max_year = max_month = max_day = 0;
|
|
||||||
ismodified = 0;
|
|
||||||
|
|
||||||
if(input_file_name) {
|
|
||||||
input_file = fopen(input_file_name, "r");
|
|
||||||
if (input_file != NULL) {
|
|
||||||
apr_dir_t *dir;
|
|
||||||
apr_finfo_t finfo;
|
|
||||||
apr_status_t rv;
|
|
||||||
apr_pool_t *pool;
|
|
||||||
char *file_path;
|
|
||||||
char dir_path[256]; /* line */
|
|
||||||
int offset = 0;
|
|
||||||
if(path_prefix)
|
|
||||||
offset = sprintf(dir_path, "%s", path_prefix);
|
|
||||||
else
|
|
||||||
offset = sprintf(dir_path, "../../");
|
|
||||||
|
|
||||||
apr_initialize();
|
|
||||||
apr_pool_create(&pool,NULL);
|
|
||||||
while (fgets(dir_path + offset, sizeof(dir_path) - offset, input_file) != NULL ) { /* read a line */
|
|
||||||
size_t len = strlen(dir_path)-1;
|
|
||||||
if(dir_path[len] == '\n')
|
|
||||||
dir_path[len] = 0;
|
|
||||||
rv = apr_dir_open(&dir,dir_path,pool);
|
|
||||||
if(rv == APR_SUCCESS) {
|
|
||||||
while (apr_dir_read(&finfo, APR_FINFO_NAME, dir) == APR_SUCCESS) { /* get next file */
|
|
||||||
if(finfo.filetype != APR_REG) continue;
|
|
||||||
|
|
||||||
apr_filepath_merge(&file_path,dir_path,finfo.name,0,pool);
|
|
||||||
|
|
||||||
filemodified = 0;
|
|
||||||
if (strcasecmp(file_path, outname)!=0)
|
|
||||||
processfile(file_path, 0, &max_build, &accum_build, &max_year, &max_month, &max_day, &filemodified);
|
|
||||||
if (filemodified && verbose)
|
|
||||||
fprintf(stderr, "\tNotice: modified file '%s'\n", file_path);
|
|
||||||
ismodified = ismodified || filemodified;
|
|
||||||
}
|
|
||||||
apr_dir_close(dir);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
fprintf(stderr, "No such directory '%s'\n", dir_path);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fclose (input_file);
|
|
||||||
apr_pool_destroy(pool);
|
|
||||||
apr_terminate();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
fprintf(stderr, "No such input file '%s'\n", input_file_name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
for (index = 1; index < argc; index++) {
|
|
||||||
/* skip the options (already handled) */
|
|
||||||
if (argv[index][0] == '-'
|
|
||||||
#if defined __WIN32__ || defined _Win32 || defined _WIN32
|
|
||||||
|| argv[index][0] == '/'
|
|
||||||
#endif
|
|
||||||
)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
filemodified = 0;
|
|
||||||
if (strcasecmp(argv[index], outname)!=0)
|
|
||||||
processfile(argv[index], 0, &max_build, &accum_build, &max_year, &max_month, &max_day, &filemodified);
|
|
||||||
if (filemodified && verbose)
|
|
||||||
fprintf(stderr, "\tNotice: modified file '%s'\n", argv[index]);
|
|
||||||
ismodified = ismodified || filemodified;
|
|
||||||
} /* for */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* also run over the existing header file, if any */
|
|
||||||
if (process_self && *outname != '\0')
|
|
||||||
processfile(outname, 1, &max_build, &accum_build, &max_year, &max_month, &max_day, NULL/*&ismodified*/);
|
|
||||||
|
|
||||||
if (accum_build > max_build)
|
|
||||||
max_build = accum_build;
|
|
||||||
modified_suffix[0] = ismodified ? 'M' : '\0';
|
|
||||||
modified_suffix[1] = '\0';
|
|
||||||
|
|
||||||
/* phase 2: write a file with this highest build number */
|
|
||||||
if (*outname == '\0') {
|
|
||||||
fp = stdout;
|
|
||||||
} else if ((fp = fopen(outname, "w")) == NULL) {
|
|
||||||
fprintf(stderr, "Failed to create output file '%s'\n", outname);
|
|
||||||
return 2;
|
|
||||||
} /* if */
|
|
||||||
if (*outname != '\0') {
|
|
||||||
/* don't print the comments to stdout */
|
|
||||||
fprintf(fp, "/* This file was generated by the \"svnrev\" utility\n"
|
|
||||||
" * (http://www.compuphase.com/svnrev.htm).\n"
|
|
||||||
" * You should not modify it manually, as it may be re-generated.\n"
|
|
||||||
" *\n"
|
|
||||||
" * $Revision: %d%s$\n"
|
|
||||||
" * $Date: %04d-%02d-%02d$\n"
|
|
||||||
" */\n\n", max_build, modified_suffix, max_year, max_month, max_day);
|
|
||||||
} /* if */
|
|
||||||
|
|
||||||
fprintf(fp, "#ifndef UNI_REVISION_H\n");
|
|
||||||
fprintf(fp, "#define UNI_REVISION_H\n\n");
|
|
||||||
fprintf(fp, "#define UNI_REVISION\t\t%d\n", max_build);
|
|
||||||
fprintf(fp, "#define UNI_REVISION_STRING\t\"%s%d%s%s\"\n", prefix, max_build, modified_suffix, suffix);
|
|
||||||
fprintf(fp, "#define UNI_REVISION_DATE\t\"%04d-%02d-%02d\"\n", max_year, max_month, max_day);
|
|
||||||
fprintf(fp, "#define UNI_REVISION_STAMP\t%04d%02d%02dL\n", max_year, max_month, max_day);
|
|
||||||
fprintf(fp, "#define UNI_REVISION_MODIFIED\t%d\n", ismodified);
|
|
||||||
fprintf(fp, "\n#endif /* UNI_REVISION_H */\n");
|
|
||||||
|
|
||||||
if (*outname != '\0')
|
|
||||||
fclose(fp);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
build
|
|
||||||
libs/apr-toolkit/include
|
|
||||||
libs/apr-toolkit/src
|
|
||||||
libs/mpf/include
|
|
||||||
libs/mpf/src
|
|
||||||
libs/mrcp/control/include
|
|
||||||
libs/mrcp/control/src
|
|
||||||
libs/mrcp/include
|
|
||||||
libs/mrcp/message/include
|
|
||||||
libs/mrcp/message/src
|
|
||||||
libs/mrcp/resources/include
|
|
||||||
libs/mrcp/resources/src
|
|
||||||
libs/mrcp-client/include
|
|
||||||
libs/mrcp-client/src
|
|
||||||
libs/mrcp-server/include
|
|
||||||
libs/mrcp-server/src
|
|
||||||
libs/mrcp-engine/include
|
|
||||||
libs/mrcp-engine/src
|
|
||||||
libs/mrcp-signaling/include
|
|
||||||
libs/mrcp-signaling/src
|
|
||||||
libs/mrcpv2-transport/include
|
|
||||||
libs/mrcpv2-transport/src
|
|
||||||
libs/uni-rtsp/include
|
|
||||||
libs/uni-rtsp/src
|
|
||||||
modules/mrcp-sofiasip/include
|
|
||||||
modules/mrcp-sofiasip/src
|
|
||||||
modules/mrcp-unirtsp/include
|
|
||||||
modules/mrcp-unirtsp/src
|
|
||||||
platforms/libunimrcp-client/include
|
|
||||||
platforms/libunimrcp-client/src
|
|
||||||
platforms/libunimrcp-server/include
|
|
||||||
platforms/libunimrcp-server/src
|
|
@ -1,345 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="windows-1251"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="svnrev"
|
|
||||||
ProjectGUID="{49AAB3FE-63D3-41CA-B92B-65828B79902B}"
|
|
||||||
RootNamespace="svnrev"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\apt.vsprops;$(ProjectDir)..\..\build\vsprops\unibin.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
CommandLine="$(SolutionDir)$(ConfigurationName)\bin\svnrev -r$(SolutionDir)build\svnrev\svnrev.input -p$(SolutionDir) -o$(SolutionDir)build\uni_revision.h
"
|
|
||||||
Outputs="$(SolutionDir)build\uni_revision.h"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="libaprutil-1.lib libapr-1.lib"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\apt.vsprops;$(ProjectDir)..\..\build\vsprops\unibin-x64.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
CommandLine="$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\svnrev -r$(SolutionDir)build\svnrev\svnrev.input -p$(SolutionDir) -o$(SolutionDir)build\uni_revision.h
"
|
|
||||||
Outputs="$(SolutionDir)build\uni_revision.h"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="libaprutil-1.lib libapr-1.lib"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\apt.vsprops;$(ProjectDir)..\..\build\vsprops\unibin.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
CommandLine="$(SolutionDir)$(ConfigurationName)\bin\svnrev -r$(SolutionDir)build\svnrev\svnrev.input -p$(SolutionDir) -o$(SolutionDir)build\uni_revision.h
"
|
|
||||||
Outputs="$(SolutionDir)build\uni_revision.h"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="libaprutil-1.lib libapr-1.lib"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\apt.vsprops;$(ProjectDir)..\..\build\vsprops\unibin-x64.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
CommandLine="$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin\svnrev -r$(SolutionDir)build\svnrev\svnrev.input -p$(SolutionDir) -o$(SolutionDir)build\uni_revision.h
"
|
|
||||||
Outputs="$(SolutionDir)build\uni_revision.h"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="libaprutil-1.lib libapr-1.lib"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\svnrev.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Resource Files"
|
|
||||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
|
||||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
|
||||||
>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
@ -1,68 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9.00"
|
|
||||||
Name="prepare"
|
|
||||||
ProjectGUID="{01D63BF5-7798-4746-852A-4B45229BB735}"
|
|
||||||
RootNamespace="prepare"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="10"
|
|
||||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\apr.vsprops;$(ProjectDir)..\..\build\vsprops\sofiasip.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
CommandLine="xcopy "$(AprDir)\$(ConfigurationName)\libapr-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(AprUtilDir)\$(ConfigurationName)\libaprutil-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(AprIconvDir)\$(ConfigurationName)\libapriconv-1.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\libsofia-sip-ua\$(ConfigurationName)\libsofia_sip_ua.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(SofiaDir)\win32\pthread\pthreadVC2.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data" xcopy "$(SolutionDir)data\*" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\data\" /Y
if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log" mkdir "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\log\"
if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\var" mkdir "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\var\"
"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
|
205
libs/unimrcp/build/tools/prepare.vcxproj
Normal file
205
libs/unimrcp/build/tools/prepare.vcxproj
Normal 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>
|
@ -1,120 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="preparesphinx"
|
|
||||||
ProjectGUID="{71D62A04-8EF6-4C6B-AC12-0C15A875E53A}"
|
|
||||||
RootNamespace="preparesphinx"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="10"
|
|
||||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\pocketsphinx.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
CommandLine="xcopy "$(PocketSphinxDir)\bin\$(ConfigurationName)\pocketsphinx.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y
xcopy "$(SphinxBaseDir)\lib\$(ConfigurationName)\sphinxbase.dll" "$(SolutionDir)$(ConfigurationName)\bin\" /Y

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

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

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

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

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

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

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

if not exist "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\pocketsphinx.xml" xcopy "$(SolutionDir)plugins\mrcp-pocketsphinx\conf\pocketsphinx.xml" "$(SolutionDir)$(PlatformName)\$(ConfigurationName)\conf\" /Y
"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2008-2010 Arsen Chaloyan
|
* Copyright 2008-2014 Arsen Chaloyan
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* 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 <windows.h>
|
||||||
#include <apr_getopt.h>
|
#include <apr_getopt.h>
|
||||||
|
#include <apr_file_info.h>
|
||||||
|
#include <apr_strings.h>
|
||||||
#include "apt.h"
|
#include "apt.h"
|
||||||
#include "apt_pool.h"
|
#include "apt_pool.h"
|
||||||
|
|
||||||
#define WIN_SERVICE_NAME "unimrcp"
|
#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 */
|
/** 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;
|
SERVICE_DESCRIPTION desc;
|
||||||
SC_HANDLE sch_service;
|
SC_HANDLE sch_service;
|
||||||
SC_HANDLE sch_manager = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
|
SC_HANDLE sch_manager;
|
||||||
if(!sch_manager) {
|
|
||||||
printf("Failed to Open SCManager %d\n", GetLastError());
|
/* 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;
|
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",
|
sch_manager = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
|
||||||
root_dir_path,
|
if(!sch_manager) {
|
||||||
root_dir_path);
|
winerror("Failed to Open SCManager");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
sch_service = CreateService(
|
sch_service = CreateService(
|
||||||
sch_manager,
|
sch_manager,
|
||||||
WIN_SERVICE_NAME,
|
name ? name : WIN_SERVICE_NAME,
|
||||||
"UniMRCP Server",
|
disp_name,
|
||||||
GENERIC_EXECUTE | SERVICE_CHANGE_CONFIG,
|
GENERIC_EXECUTE | SERVICE_CHANGE_CONFIG,
|
||||||
SERVICE_WIN32_OWN_PROCESS,
|
SERVICE_WIN32_OWN_PROCESS,
|
||||||
SERVICE_DEMAND_START,
|
autostart ? SERVICE_AUTO_START : SERVICE_DEMAND_START,
|
||||||
SERVICE_ERROR_NORMAL,
|
SERVICE_ERROR_NORMAL,
|
||||||
bin_path,0,0,0,0,0);
|
buf,0,0,0,0,0);
|
||||||
if(!sch_service) {
|
if(!sch_service) {
|
||||||
printf("Failed to Create Service %d\n", GetLastError());
|
winerror("Failed to Create Service");
|
||||||
CloseServiceHandle(sch_manager);
|
CloseServiceHandle(sch_manager);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
desc.lpDescription = "Launches UniMRCP Server";
|
desc.lpDescription = (char *) description;
|
||||||
if(!ChangeServiceConfig2(sch_service,SERVICE_CONFIG_DESCRIPTION,&desc)) {
|
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_service);
|
||||||
CloseServiceHandle(sch_manager);
|
CloseServiceHandle(sch_manager);
|
||||||
|
printf("UniMRCP service %s registered\n", name ? name : WIN_SERVICE_NAME);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Unregister/uninstall service from SCM */
|
/** 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;
|
apt_bool_t status = TRUE;
|
||||||
SERVICE_STATUS ss_status;
|
SERVICE_STATUS ss_status;
|
||||||
SC_HANDLE sch_service;
|
SC_HANDLE sch_service;
|
||||||
SC_HANDLE sch_manager = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
|
SC_HANDLE sch_manager = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
|
||||||
|
if (!name) name = WIN_SERVICE_NAME;
|
||||||
if(!sch_manager) {
|
if(!sch_manager) {
|
||||||
printf("Failed to Open SCManager %d\n", GetLastError());
|
winerror("Failed to Open SCManager");
|
||||||
return FALSE;
|
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) {
|
if(!sch_service) {
|
||||||
printf("Failed to Open Service %d\n", GetLastError());
|
winerror("Failed to Open Service");
|
||||||
CloseServiceHandle(sch_manager);
|
CloseServiceHandle(sch_manager);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
ControlService(sch_service,SERVICE_CONTROL_STOP,&ss_status);
|
ControlService(sch_service,SERVICE_CONTROL_STOP,&ss_status);
|
||||||
if(!DeleteService(sch_service)) {
|
if(!DeleteService(sch_service)) {
|
||||||
printf("Failed to Delete Service %d\n", GetLastError());
|
winerror("Failed to Delete Service");
|
||||||
status = FALSE;
|
status = FALSE;
|
||||||
}
|
} else
|
||||||
|
printf("UniMRCP service %s unregistered\n", name);
|
||||||
CloseServiceHandle(sch_service);
|
CloseServiceHandle(sch_service);
|
||||||
CloseServiceHandle(sch_manager);
|
CloseServiceHandle(sch_manager);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Start service */
|
/** Start service */
|
||||||
static apt_bool_t uni_service_start()
|
static apt_bool_t uni_service_start(const char *name)
|
||||||
{
|
{
|
||||||
apt_bool_t status = TRUE;
|
apt_bool_t status = TRUE;
|
||||||
SC_HANDLE sch_service;
|
SC_HANDLE sch_service;
|
||||||
SC_HANDLE sch_manager = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
|
SC_HANDLE sch_manager = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
|
||||||
|
if (!name) name = WIN_SERVICE_NAME;
|
||||||
if(!sch_manager) {
|
if(!sch_manager) {
|
||||||
printf("Failed to Open SCManager %d\n", GetLastError());
|
winerror("Failed to Open SCManager");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
sch_service = OpenService(sch_manager,WIN_SERVICE_NAME,SERVICE_START);
|
sch_service = OpenService(sch_manager,name,SERVICE_START);
|
||||||
if(!sch_service) {
|
if(!sch_service) {
|
||||||
printf("Failed to Open Service %d\n", GetLastError());
|
winerror("Failed to Open Service");
|
||||||
CloseServiceHandle(sch_manager);
|
CloseServiceHandle(sch_manager);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!StartService(sch_service,0,NULL)) {
|
if(!StartService(sch_service,0,NULL)) {
|
||||||
printf("Failed to Start Service %d\n", GetLastError());
|
winerror("Failed to Start Service");
|
||||||
status = FALSE;
|
status = FALSE;
|
||||||
}
|
} else
|
||||||
|
printf("UniMRCP service %s started\n", name);
|
||||||
CloseServiceHandle(sch_service);
|
CloseServiceHandle(sch_service);
|
||||||
CloseServiceHandle(sch_manager);
|
CloseServiceHandle(sch_manager);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Stop service */
|
/** Stop service */
|
||||||
static apt_bool_t uni_service_stop()
|
static apt_bool_t uni_service_stop(const char *name)
|
||||||
{
|
{
|
||||||
apt_bool_t status = TRUE;
|
apt_bool_t status = TRUE;
|
||||||
SERVICE_STATUS ss_status;
|
SERVICE_STATUS ss_status;
|
||||||
SC_HANDLE sch_service;
|
SC_HANDLE sch_service;
|
||||||
SC_HANDLE sch_manager = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
|
SC_HANDLE sch_manager = OpenSCManager(0,0,SC_MANAGER_ALL_ACCESS);
|
||||||
|
if (!name) name = WIN_SERVICE_NAME;
|
||||||
if(!sch_manager) {
|
if(!sch_manager) {
|
||||||
printf("Failed to Open SCManager %d\n", GetLastError());
|
winerror("Failed to Open SCManager");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
sch_service = OpenService(sch_manager,WIN_SERVICE_NAME,SERVICE_STOP);
|
sch_service = OpenService(sch_manager,name,SERVICE_STOP);
|
||||||
if(!sch_service) {
|
if(!sch_service) {
|
||||||
printf("Failed to Open Service %d\n", GetLastError());
|
winerror("Failed to Open Service");
|
||||||
CloseServiceHandle(sch_manager);
|
CloseServiceHandle(sch_manager);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!ControlService(sch_service,SERVICE_CONTROL_STOP,&ss_status)) {
|
if(!ControlService(sch_service,SERVICE_CONTROL_STOP,&ss_status)) {
|
||||||
printf("Failed to Stop Service %d\n", GetLastError());
|
winerror("Failed to Stop Service");
|
||||||
status = FALSE;
|
status = FALSE;
|
||||||
}
|
} else
|
||||||
|
printf("UniMRCP service %s stopped\n", name);
|
||||||
|
|
||||||
CloseServiceHandle(sch_service);
|
CloseServiceHandle(sch_service);
|
||||||
CloseServiceHandle(sch_manager);
|
CloseServiceHandle(sch_manager);
|
||||||
@ -152,6 +257,8 @@ static apt_bool_t uni_service_stop()
|
|||||||
|
|
||||||
static void usage()
|
static void usage()
|
||||||
{
|
{
|
||||||
|
static apt_bool_t written = FALSE;
|
||||||
|
if (written) return;
|
||||||
printf(
|
printf(
|
||||||
"\n"
|
"\n"
|
||||||
"Usage:\n"
|
"Usage:\n"
|
||||||
@ -168,8 +275,21 @@ static void usage()
|
|||||||
"\n"
|
"\n"
|
||||||
" -t [--stop] : Stop the Windows service.\n"
|
" -t [--stop] : Stop the Windows service.\n"
|
||||||
"\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"
|
" -h [--help] : Show the help.\n"
|
||||||
"\n");
|
"\n");
|
||||||
|
written = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, const char * const *argv)
|
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_pool_t *pool;
|
||||||
apr_status_t rv;
|
apr_status_t rv;
|
||||||
apr_getopt_t *opt;
|
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[] = {
|
static const apr_getopt_option_t opt_option[] = {
|
||||||
/* long-option, short-option, has-arg flag, description */
|
/* long-option, short-option, has-arg flag, description */
|
||||||
{ "register", 'r', TRUE, "register service" }, /* -r or --register arg */
|
{ "register", 'r', TRUE, "register service" }, /* -r or --register arg */
|
||||||
{ "unregister", 'u', FALSE, "unregister service" },/* -u or --unregister */
|
{ "unregister", 'u', FALSE, "unregister service" }, /* -u or --unregister */
|
||||||
{ "start", 's', FALSE, "start service" }, /* -s or --start */
|
{ "start", 's', FALSE, "start service" }, /* -s or --start */
|
||||||
{ "stop", 't', FALSE, "stop service" }, /* -t or --stop */
|
{ "stop", 't', FALSE, "stop service" }, /* -t or --stop */
|
||||||
{ "help", 'h', FALSE, "show help" }, /* -h or --help */
|
{ "name", 'n', TRUE, "service name" }, /* -n or --name arg */
|
||||||
{ NULL, 0, 0, NULL }, /* end */
|
{ "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 */
|
/* APR global initialization */
|
||||||
if(apr_initialize() != APR_SUCCESS) {
|
if(apr_initialize() != APR_SUCCESS) {
|
||||||
apr_terminate();
|
apr_terminate();
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* create APR pool */
|
/* create APR pool */
|
||||||
pool = apt_pool_create();
|
pool = apt_pool_create();
|
||||||
if(!pool) {
|
if(!pool) {
|
||||||
apr_terminate();
|
apr_terminate();
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
rv = apr_getopt_init(&opt, pool , argc, argv);
|
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) {
|
while((rv = apr_getopt_long(opt, opt_option, &optch, &optarg)) == APR_SUCCESS) {
|
||||||
switch(optch) {
|
switch(optch) {
|
||||||
case 'r':
|
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;
|
break;
|
||||||
case 'u':
|
case 'u':
|
||||||
uni_service_unregister();
|
if ((reg == USR_NONE) || (reg == USR_UNREGISTER))
|
||||||
|
reg = USR_UNREGISTER;
|
||||||
|
else {
|
||||||
|
puts("Incosistent arguments");
|
||||||
|
ret = FALSE;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 's':
|
case 's':
|
||||||
uni_service_start();
|
if ((control == USC_NONE) || (control == USC_START))
|
||||||
|
control = USC_START;
|
||||||
|
else {
|
||||||
|
puts("Incosistent arguments");
|
||||||
|
ret = FALSE;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 't':
|
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;
|
break;
|
||||||
case 'h':
|
case 'h':
|
||||||
usage();
|
usage();
|
||||||
break;
|
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();
|
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 */
|
/* destroy APR pool */
|
||||||
apr_pool_destroy(pool);
|
apr_pool_destroy(pool);
|
||||||
/* APR global termination */
|
/* APR global termination */
|
||||||
apr_terminate();
|
apr_terminate();
|
||||||
return 0;
|
return ret ? 0 : 1;
|
||||||
}
|
}
|
||||||
|
@ -1,158 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="windows-1251"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9.00"
|
|
||||||
Name="unimrcpservice"
|
|
||||||
ProjectGUID="{4714EF49-BFD5-4B22-95F7-95A07F1EAC25}"
|
|
||||||
RootNamespace="unimrcpservice"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unidebug.vsprops;$(ProjectDir)..\..\build\vsprops\apt.vsprops"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="libaprutil-1.lib libapr-1.lib"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
AdditionalManifestFiles="unimrcpservice.exe.manifest"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unirelease.vsprops;$(ProjectDir)..\..\build\vsprops\apt.vsprops"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="libaprutil-1.lib libapr-1.lib"
|
|
||||||
LinkTimeCodeGeneration="1"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
AdditionalManifestFiles="unimrcpservice.exe.manifest"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="src"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\unimrcp_service.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
39
libs/unimrcp/build/tools/unimrcpservice.rc
Normal file
39
libs/unimrcp/build/tools/unimrcpservice.rc
Normal 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
|
@ -284,6 +284,42 @@
|
|||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</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>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
</Globals>
|
</Globals>
|
||||||
|
136
libs/unimrcp/build/tools/unimrcpservice.vcxproj
Normal file
136
libs/unimrcp/build/tools/unimrcpservice.vcxproj
Normal 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>
|
17
libs/unimrcp/build/tools/unimrcpservice.vcxproj.filters
Normal file
17
libs/unimrcp/build/tools/unimrcpservice.vcxproj.filters
Normal 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>
|
43
libs/unimrcp/build/uni_revision.h
Normal file
43
libs/unimrcp/build/uni_revision.h
Normal 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 */
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2008-2010 Arsen Chaloyan
|
* Copyright 2008-2014 Arsen Chaloyan
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "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 not use this file except in compliance with the License.
|
||||||
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* 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
|
#ifndef UNI_VERSION_H
|
||||||
@ -21,11 +21,11 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @file uni_version.h
|
* @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
|
/** major version
|
||||||
@ -37,60 +37,64 @@
|
|||||||
|
|
||||||
/** minor version
|
/** minor version
|
||||||
* Minor API changes that do not cause binary compatibility problems.
|
* 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
|
/** patch level
|
||||||
* The Patch Level never includes API changes, simply bug fixes.
|
* 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
|
#define UNI_PATCH_VERSION 0
|
||||||
|
|
||||||
|
|
||||||
/**
|
/** Check at compile time if the version of UniMRCP is at least a certain level. */
|
||||||
* Check at compile time if the UNI version is at least a certain
|
|
||||||
* level.
|
|
||||||
*/
|
|
||||||
#define UNI_VERSION_AT_LEAST(major,minor,patch) \
|
#define UNI_VERSION_AT_LEAST(major,minor,patch) \
|
||||||
(((major) < UNI_MAJOR_VERSION) \
|
(((major) < UNI_MAJOR_VERSION) \
|
||||||
|| ((major) == UNI_MAJOR_VERSION && (minor) < UNI_MINOR_VERSION) \
|
|| ((major) == UNI_MAJOR_VERSION && (minor) < UNI_MINOR_VERSION) \
|
||||||
|| ((major) == UNI_MAJOR_VERSION && (minor) == UNI_MINOR_VERSION && (patch) <= UNI_PATCH_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)
|
#define UNI_STRINGIFY(n) UNI_STRINGIFY_HELPER(n)
|
||||||
/** Helper macro for UNI_STRINGIFY */
|
/** Helper macro for UNI_STRINGIFY. */
|
||||||
#define UNI_STRINGIFY_HELPER(n) #n
|
#define UNI_STRINGIFY_HELPER(n) #n
|
||||||
|
|
||||||
/** The formatted string of UniMRCP's version */
|
/** The formatted string of UniMRCP's version. */
|
||||||
#define UNI_VERSION_STRING \
|
#define UNI_VERSION_STRING \
|
||||||
UNI_STRINGIFY(UNI_MAJOR_VERSION) "." \
|
UNI_STRINGIFY(UNI_MAJOR_VERSION) "." \
|
||||||
UNI_STRINGIFY(UNI_MINOR_VERSION) "." \
|
UNI_STRINGIFY(UNI_MINOR_VERSION) "." \
|
||||||
UNI_STRINGIFY(UNI_PATCH_VERSION)
|
UNI_STRINGIFY(UNI_PATCH_VERSION)
|
||||||
|
|
||||||
/** An alternative formatted string of UniMRCP's 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 ##, \
|
#define UNI_VERSION_STRING_CSV UNI_MAJOR_VERSION ##, \
|
||||||
##UNI_MINOR_VERSION ##, \
|
##UNI_MINOR_VERSION ##, \
|
||||||
##UNI_PATCH_VERSION
|
##UNI_PATCH_VERSION
|
||||||
|
|
||||||
/** The Copyright */
|
/** The Copyright. */
|
||||||
#define UNI_COPYRIGHT "Copyright 2008-2010 Arsen Chaloyan"
|
#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 \
|
#define UNI_LICENSE \
|
||||||
"Licensed under the Apache License, Version 2.0 (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." \
|
" * you may not use this file except in compliance with the License.\n" \
|
||||||
"You may obtain a copy of the License at" \
|
" * You may obtain a copy of the License at\n" \
|
||||||
"" \
|
" * \n" \
|
||||||
" http://www.apache.org/licenses/LICENSE-2.0" \
|
" * http://www.apache.org/licenses/LICENSE-2.0 \n" \
|
||||||
"" \
|
" * \n" \
|
||||||
"Unless required by applicable law or agreed to in writing, software" \
|
" * Unless required by applicable law or agreed to in writing, software\n" \
|
||||||
"distributed under the License is distributed on an ""AS IS"" BASIS," \
|
" * distributed under the License is distributed on an ""AS IS"" BASIS,\n" \
|
||||||
"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied." \
|
" * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" \
|
||||||
"See the License for the specific language governing permissions and" \
|
" * See the License for the specific language governing permissions and\n" \
|
||||||
"limitations under the License."
|
" * limitations under the License.\n"
|
||||||
|
#endif /* APSTUDIO_INVOKED || RC_INVOKED */
|
||||||
|
|
||||||
#endif /* UNI_VERSION_H */
|
#endif /* UNI_VERSION_H */
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="windows-1251"?>
|
|
||||||
<VisualStudioPropertySheet
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="flite"
|
|
||||||
InheritedPropertySheets=".\unibase.vsprops"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""$(FliteDir)\include""
|
|
||||||
PreprocessorDefinitions="APT_LIB_EXPORT"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="flite.lib"
|
|
||||||
AdditionalLibraryDirectories=""$(FliteDir)\$(ConfigurationName)""
|
|
||||||
/>
|
|
||||||
<UserMacro
|
|
||||||
Name="FliteDir"
|
|
||||||
Value="$(LibRootDir)libs\flite"
|
|
||||||
/>
|
|
||||||
</VisualStudioPropertySheet>
|
|
@ -1,25 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="windows-1251"?>
|
|
||||||
<VisualStudioPropertySheet
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="pocketsphinx"
|
|
||||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unibase.vsprops"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""$(PocketSphinxDir)\include";"$(SphinxBaseDir)\include""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="sphinxbase.lib pocketsphinx.lib"
|
|
||||||
AdditionalLibraryDirectories=""$(PocketSphinxDir)\bin\$(ConfigurationName)";"$(SphinxBaseDir)\lib\$(ConfigurationName)""
|
|
||||||
/>
|
|
||||||
<UserMacro
|
|
||||||
Name="PocketSphinxDir"
|
|
||||||
Value="$(LibRootDir)libs\pocketsphinx"
|
|
||||||
/>
|
|
||||||
<UserMacro
|
|
||||||
Name="SphinxBaseDir"
|
|
||||||
Value="$(LibRootDir)libs\sphinxbase"
|
|
||||||
/>
|
|
||||||
</VisualStudioPropertySheet>
|
|
@ -7,7 +7,7 @@
|
|||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalIncludeDirectories=""$(SofiaDir)\win32";"$(SofiaDir)\libsofia-sip-ua\su";"$(SofiaDir)\libsofia-sip-ua\nua";"$(SofiaDir)\libsofia-sip-ua\url";"$(SofiaDir)\libsofia-sip-ua\sip";"$(SofiaDir)\libsofia-sip-ua\msg";"$(SofiaDir)\libsofia-sip-ua\sdp";"$(SofiaDir)\libsofia-sip-ua\nta";"$(SofiaDir)\libsofia-sip-ua\nea";"$(SofiaDir)\libsofia-sip-ua\soa";"$(SofiaDir)\libsofia-sip-ua\iptsec";"$(SofiaDir)\libsofia-sip-ua\bnf";"$(SofiaDir)\libsofia-sip-ua\features""
|
AdditionalIncludeDirectories=""$(SofiaDir)\win32";"$(SofiaDir)\libsofia-sip-ua\su";"$(SofiaDir)\libsofia-sip-ua\nua";"$(SofiaDir)\libsofia-sip-ua\url";"$(SofiaDir)\libsofia-sip-ua\sip";"$(SofiaDir)\libsofia-sip-ua\msg";"$(SofiaDir)\libsofia-sip-ua\sdp";"$(SofiaDir)\libsofia-sip-ua\nta";"$(SofiaDir)\libsofia-sip-ua\nea";"$(SofiaDir)\libsofia-sip-ua\soa";"$(SofiaDir)\libsofia-sip-ua\iptsec";"$(SofiaDir)\libsofia-sip-ua\bnf";"$(SofiaDir)\libsofia-sip-ua\features";"$(SofiaDir)\libsofia-sip-ua\tport""
|
||||||
/>
|
/>
|
||||||
<UserMacro
|
<UserMacro
|
||||||
Name="SofiaDir"
|
Name="SofiaDir"
|
||||||
|
@ -7,6 +7,10 @@
|
|||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
InheritedPropertySheets="apr.vsprops;sofiasip.vsprops"
|
InheritedPropertySheets="apr.vsprops;sofiasip.vsprops"
|
||||||
>
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
PreprocessorDefinitions="_WIN64"
|
||||||
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalLibraryDirectories="$(AprDir)\$(PlatformName)\$(ConfigurationName);$(AprUtilDir)\$(PlatformName)\$(ConfigurationName);$(SofiaDir)\win32\libsofia-sip-ua\$(PlatformName)\$(ConfigurationName);$(SolutionDir)$(PlatformName)\$(ConfigurationName)\lib;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin"
|
AdditionalLibraryDirectories="$(AprDir)\$(PlatformName)\$(ConfigurationName);$(AprUtilDir)\$(PlatformName)\$(ConfigurationName);$(SofiaDir)\win32\libsofia-sip-ua\$(PlatformName)\$(ConfigurationName);$(SolutionDir)$(PlatformName)\$(ConfigurationName)\lib;$(SolutionDir)$(PlatformName)\$(ConfigurationName)\bin"
|
||||||
|
@ -6,6 +6,10 @@
|
|||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)\lib"
|
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)\lib"
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
>
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
PreprocessorDefinitions="_WIN64"
|
||||||
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
TargetMachine="17"
|
TargetMachine="17"
|
||||||
|
@ -7,6 +7,10 @@
|
|||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
InheritedPropertySheets="apr.vsprops;mrcpengine.vsprops"
|
InheritedPropertySheets="apr.vsprops;mrcpengine.vsprops"
|
||||||
>
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
PreprocessorDefinitions="_WIN64"
|
||||||
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalLibraryDirectories="$(AprDir)\$(PlatformName)\$(ConfigurationName);$(AprUtilDir)\$(PlatformName)\$(ConfigurationName);$(SolutionDir)$(PlatformName)\$(ConfigurationName)\lib"
|
AdditionalLibraryDirectories="$(AprDir)\$(PlatformName)\$(ConfigurationName);$(AprUtilDir)\$(PlatformName)\$(ConfigurationName);$(SolutionDir)$(PlatformName)\$(ConfigurationName)\lib"
|
||||||
|
@ -1,18 +1,31 @@
|
|||||||
MAINTAINERCLEANFILES = Makefile.in
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
|
|
||||||
|
CONFFILES = logger.xml dirlayout.xml
|
||||||
|
|
||||||
|
if UNIMRCP_CLIENT_LIB
|
||||||
|
CONFFILES += unimrcpclient.xml unimrcpclient.xsd
|
||||||
|
endif
|
||||||
|
|
||||||
|
if UNIMRCP_SERVER_LIB
|
||||||
|
CONFFILES += unimrcpserver.xml unimrcpserver.xsd
|
||||||
|
endif
|
||||||
|
|
||||||
|
if UMC
|
||||||
|
CONFFILES += umcscenarios.xml
|
||||||
|
endif
|
||||||
|
|
||||||
def-conf:
|
def-conf:
|
||||||
test -d $(confdir) || $(mkinstalldirs) $(confdir)
|
test -d $(DESTDIR)$(sysconfdir) || $(mkinstalldirs) $(DESTDIR)$(sysconfdir)
|
||||||
for conffile in `find ./ -maxdepth 1 -name \*.xml -o -name \*.xsd` ; do \
|
for conffile in $(CONFFILES) ; do \
|
||||||
filename=`echo $$conffile | sed -e 's|^.*/||'`; \
|
$(INSTALL) -m 644 $(top_srcdir)/conf/$$conffile $(DESTDIR)$(sysconfdir); \
|
||||||
$(INSTALL) -m 644 $$filename $(confdir); \
|
|
||||||
done
|
done
|
||||||
|
if UNIMRCP_CLIENT_LIB
|
||||||
test -d $(confdir)/client-profiles || $(mkinstalldirs) $(confdir)/client-profiles
|
test -d $(DESTDIR)$(sysconfdir)/client-profiles || $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/client-profiles
|
||||||
for conffile in `find ./client-profiles/ -maxdepth 1 -name \*.xml -o -name \*.xsd` ; do \
|
for conffile in `find $(top_srcdir)/conf/client-profiles/ -maxdepth 1 -name \*.xml -o -name \*.xsd` ; do \
|
||||||
filename=`echo $$conffile | sed -e 's|^.*/||'`; \
|
filename=`echo $$conffile | sed -e 's|^.*/||'`; \
|
||||||
$(INSTALL) -m 644 client-profiles/$$filename $(confdir)/client-profiles; \
|
$(INSTALL) -m 644 $(top_srcdir)/conf/client-profiles/$$filename $(DESTDIR)$(sysconfdir)/client-profiles; \
|
||||||
done
|
done
|
||||||
|
endif
|
||||||
|
|
||||||
install-data-local:
|
install-data-local:
|
||||||
test -d $(confdir) || $(MAKE) def-conf
|
test -d $(DESTDIR)$(sysconfdir) || $(MAKE) def-conf
|
||||||
|
@ -29,8 +29,10 @@
|
|||||||
<!-- RTP/RTCP settings -->
|
<!-- RTP/RTCP settings -->
|
||||||
<rtp-settings id="Nuance-RTP-Settings">
|
<rtp-settings id="Nuance-RTP-Settings">
|
||||||
<jitter-buffer>
|
<jitter-buffer>
|
||||||
|
<adaptive>1</adaptive>
|
||||||
<playout-delay>50</playout-delay>
|
<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>
|
</jitter-buffer>
|
||||||
<ptime>20</ptime>
|
<ptime>20</ptime>
|
||||||
<codecs>PCMU PCMA L16/96/8000 telephone-event/101/8000</codecs>
|
<codecs>PCMU PCMA L16/96/8000 telephone-event/101/8000</codecs>
|
||||||
|
26
libs/unimrcp/conf/dirlayout.xml
Normal file
26
libs/unimrcp/conf/dirlayout.xml
Normal 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>
|
@ -5,11 +5,17 @@
|
|||||||
version="1.0"
|
version="1.0"
|
||||||
subfolder="client-profiles">
|
subfolder="client-profiles">
|
||||||
<properties>
|
<properties>
|
||||||
<!-- By default, network interface (IP address) to bind to will be implicitly identified.
|
<!-- If the attribute "type" is set to "auto", IP address is
|
||||||
Alternatively, it can be explicitly set.
|
determined implicitly by the hostname. This is the default setting. -->
|
||||||
-->
|
|
||||||
<ip type="auto"/>
|
<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> -->
|
<!-- <ip>10.10.0.1</ip> -->
|
||||||
|
|
||||||
<!-- <ext-ip>a.b.c.d</ext-ip> -->
|
<!-- <ext-ip>a.b.c.d</ext-ip> -->
|
||||||
<!-- <server-ip>a.b.c.d</server-ip> -->
|
<!-- <server-ip>a.b.c.d</server-ip> -->
|
||||||
</properties>
|
</properties>
|
||||||
@ -38,6 +44,8 @@
|
|||||||
<!-- <sip-t2>4000</sip-t2> -->
|
<!-- <sip-t2>4000</sip-t2> -->
|
||||||
<!-- <sip-t4>4000</sip-t4> -->
|
<!-- <sip-t4>4000</sip-t4> -->
|
||||||
<!-- <sip-t1x64>32000</sip-t1x64> -->
|
<!-- <sip-t1x64>32000</sip-t1x64> -->
|
||||||
|
<!-- <sip-message-output>true</sip-message-output> -->
|
||||||
|
<!-- <sip-message-dump>sofia-sip-uac.log</sip-message-dump> -->
|
||||||
</sip-uac>
|
</sip-uac>
|
||||||
|
|
||||||
<!-- UniRTSP MRCPv1 signaling agent -->
|
<!-- UniRTSP MRCPv1 signaling agent -->
|
||||||
@ -77,8 +85,10 @@
|
|||||||
<!-- common (default) RTP/RTCP settings -->
|
<!-- common (default) RTP/RTCP settings -->
|
||||||
<rtp-settings id="RTP-Settings-1">
|
<rtp-settings id="RTP-Settings-1">
|
||||||
<jitter-buffer>
|
<jitter-buffer>
|
||||||
|
<adaptive>1</adaptive>
|
||||||
<playout-delay>50</playout-delay>
|
<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>
|
</jitter-buffer>
|
||||||
<ptime>20</ptime>
|
<ptime>20</ptime>
|
||||||
<codecs>PCMU PCMA L16/96/8000 telephone-event/101/8000</codecs>
|
<codecs>PCMU PCMA L16/96/8000 telephone-event/101/8000</codecs>
|
||||||
|
@ -67,6 +67,8 @@
|
|||||||
<xsd:element name="sip-t2" type="xsd:long" minOccurs="0" />
|
<xsd:element name="sip-t2" type="xsd:long" minOccurs="0" />
|
||||||
<xsd:element name="sip-t4" 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-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:sequence>
|
||||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||||
<xsd:attribute name="type" 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:element name="jitter-buffer" minOccurs="0">
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:sequence>
|
<xsd:sequence>
|
||||||
|
<xsd:element name="adaptive" type="xsd:byte" />
|
||||||
<xsd:element name="playout-delay" type="xsd:long" />
|
<xsd:element name="playout-delay" type="xsd:long" />
|
||||||
<xsd:element name="max-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:sequence>
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
@ -258,6 +262,13 @@
|
|||||||
</xsd:sequence>
|
</xsd:sequence>
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</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:sequence>
|
||||||
<xsd:attribute name="version" type="xsd:string" use="required" />
|
<xsd:attribute name="version" type="xsd:string" use="required" />
|
||||||
<xsd:attribute name="subfolder" type="xsd:string" use="optional" />
|
<xsd:attribute name="subfolder" type="xsd:string" use="optional" />
|
||||||
|
@ -2,11 +2,17 @@
|
|||||||
<!-- UniMRCP server document -->
|
<!-- UniMRCP server document -->
|
||||||
<unimrcpserver xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="unimrcpserver.xsd" version="1.0">
|
<unimrcpserver xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="unimrcpserver.xsd" version="1.0">
|
||||||
<properties>
|
<properties>
|
||||||
<!-- By default, network interface (IP address) to bind to will be implicitly identified.
|
<!-- If the attribute "type" is set to "auto", IP address is
|
||||||
Alternatively, it can be explicitly set.
|
determined implicitly by the hostname. This is the default setting. -->
|
||||||
-->
|
|
||||||
<ip type="auto"/>
|
<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> -->
|
<!-- <ip>10.10.0.1</ip> -->
|
||||||
|
|
||||||
<!-- <ext-ip>a.b.c.d</ext-ip> -->
|
<!-- <ext-ip>a.b.c.d</ext-ip> -->
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
@ -35,6 +41,8 @@
|
|||||||
<!-- <sip-t2>4000</sip-t2> -->
|
<!-- <sip-t2>4000</sip-t2> -->
|
||||||
<!-- <sip-t4>4000</sip-t4> -->
|
<!-- <sip-t4>4000</sip-t4> -->
|
||||||
<!-- <sip-t1x64>32000</sip-t1x64> -->
|
<!-- <sip-t1x64>32000</sip-t1x64> -->
|
||||||
|
<!-- <sip-message-output>true</sip-message-output> -->
|
||||||
|
<!-- <sip-message-dump>sofia-sip-uas.log</sip-message-dump> -->
|
||||||
</sip-uas>
|
</sip-uas>
|
||||||
|
|
||||||
<!-- UniRTSP MRCPv1 signaling agent -->
|
<!-- UniRTSP MRCPv1 signaling agent -->
|
||||||
@ -85,8 +93,6 @@
|
|||||||
|
|
||||||
<!-- Factory of plugins (MRCP engines) -->
|
<!-- Factory of plugins (MRCP engines) -->
|
||||||
<plugin-factory>
|
<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-Synth-1" name="demosynth" enable="true"/>
|
||||||
<engine id="Demo-Recog-1" name="demorecog" enable="true"/>
|
<engine id="Demo-Recog-1" name="demorecog" enable="true"/>
|
||||||
<engine id="Demo-Verifier-1" name="demoverifier" enable="true"/>
|
<engine id="Demo-Verifier-1" name="demoverifier" enable="true"/>
|
||||||
@ -105,8 +111,10 @@
|
|||||||
<!-- RTP/RTCP settings -->
|
<!-- RTP/RTCP settings -->
|
||||||
<rtp-settings id="RTP-Settings-1">
|
<rtp-settings id="RTP-Settings-1">
|
||||||
<jitter-buffer>
|
<jitter-buffer>
|
||||||
|
<adaptive>1</adaptive>
|
||||||
<playout-delay>50</playout-delay>
|
<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>
|
</jitter-buffer>
|
||||||
<ptime>20</ptime>
|
<ptime>20</ptime>
|
||||||
<codecs own-preference="false">PCMU PCMA L16/96/8000 telephone-event/101/8000</codecs>
|
<codecs own-preference="false">PCMU PCMA L16/96/8000 telephone-event/101/8000</codecs>
|
||||||
|
@ -1,266 +1,277 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||||
<xsd:element name="unimrcpserver">
|
<xsd:element name="unimrcpserver">
|
||||||
<xsd:annotation>
|
<xsd:annotation>
|
||||||
<xsd:documentation>UniMRCP server document</xsd:documentation>
|
<xsd:documentation>UniMRCP server document</xsd:documentation>
|
||||||
</xsd:annotation>
|
</xsd:annotation>
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:sequence>
|
<xsd:sequence>
|
||||||
<xsd:element name="properties" minOccurs="0">
|
<xsd:element name="properties" minOccurs="0">
|
||||||
<xsd:annotation>
|
<xsd:annotation>
|
||||||
<xsd:documentation>Generic properties</xsd:documentation>
|
<xsd:documentation>Generic properties</xsd:documentation>
|
||||||
</xsd:annotation>
|
</xsd:annotation>
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:sequence>
|
<xsd:sequence>
|
||||||
<xsd:element name="ip" minOccurs="0">
|
<xsd:element name="ip" minOccurs="0">
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:attribute name="type" type="xsd:string"/>
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
<xsd:element name="ext-ip" minOccurs="0">
|
<xsd:element name="ext-ip" minOccurs="0">
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:attribute name="type" type="xsd:string"/>
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
</xsd:sequence>
|
</xsd:sequence>
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
<xsd:element name="components" minOccurs="0">
|
<xsd:element name="components" minOccurs="0">
|
||||||
<xsd:annotation>
|
<xsd:annotation>
|
||||||
<xsd:documentation>Common components</xsd:documentation>
|
<xsd:documentation>Common components</xsd:documentation>
|
||||||
</xsd:annotation>
|
</xsd:annotation>
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:sequence>
|
<xsd:sequence>
|
||||||
<xsd:element name="resource-factory" minOccurs="0">
|
<xsd:element name="resource-factory" minOccurs="0">
|
||||||
<xsd:annotation>
|
<xsd:annotation>
|
||||||
<xsd:documentation>Factory of MRCP resources</xsd:documentation>
|
<xsd:documentation>Factory of MRCP resources</xsd:documentation>
|
||||||
</xsd:annotation>
|
</xsd:annotation>
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:sequence maxOccurs="unbounded">
|
<xsd:sequence maxOccurs="unbounded">
|
||||||
<xsd:element name="resource">
|
<xsd:element name="resource">
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
</xsd:sequence>
|
</xsd:sequence>
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
<xsd:element name="sip-uas" minOccurs="0" maxOccurs="unbounded">
|
<xsd:element name="sip-uas" minOccurs="0" maxOccurs="unbounded">
|
||||||
<xsd:annotation>
|
<xsd:annotation>
|
||||||
<xsd:documentation>SIP signaling agent</xsd:documentation>
|
<xsd:documentation>SIP signaling agent</xsd:documentation>
|
||||||
</xsd:annotation>
|
</xsd:annotation>
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:sequence>
|
<xsd:sequence>
|
||||||
<xsd:element name="sip-ip" type="xsd:string" minOccurs="0"/>
|
<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-ext-ip" type="xsd:string" minOccurs="0" />
|
||||||
<xsd:element name="sip-port" type="xsd:short"/>
|
<xsd:element name="sip-port" type="xsd:short" />
|
||||||
<xsd:element name="sip-transport" type="xsd:string"/>
|
<xsd:element name="sip-transport" type="xsd:string" />
|
||||||
<xsd:element name="force-destination" type="xsd:boolean" default="false" minOccurs="0"/>
|
<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="ua-name" type="xsd:string" minOccurs="0" />
|
||||||
<xsd:element name="sdp-origin" 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-t1" type="xsd:long" minOccurs="0" />
|
||||||
<xsd:element name="sip-t2" 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-t4" type="xsd:long" minOccurs="0" />
|
||||||
<xsd:element name="sip-t1x64" type="xsd:long" minOccurs="0" />
|
<xsd:element name="sip-t1x64" type="xsd:long" minOccurs="0" />
|
||||||
</xsd:sequence>
|
<xsd:element name="sip-message-output" type="xsd:boolean" />
|
||||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
<xsd:element name="sip-message-dump" type="xsd:string" />
|
||||||
<xsd:attribute name="type" type="xsd:string" use="required"/>
|
</xsd:sequence>
|
||||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||||
</xsd:complexType>
|
<xsd:attribute name="type" type="xsd:string" use="required" />
|
||||||
</xsd:element>
|
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||||
<xsd:element name="rtsp-uas" minOccurs="0" maxOccurs="unbounded">
|
</xsd:complexType>
|
||||||
<xsd:annotation>
|
</xsd:element>
|
||||||
<xsd:documentation>RTSP signaling agent</xsd:documentation>
|
<xsd:element name="rtsp-uas" minOccurs="0" maxOccurs="unbounded">
|
||||||
</xsd:annotation>
|
<xsd:annotation>
|
||||||
<xsd:complexType>
|
<xsd:documentation>RTSP signaling agent</xsd:documentation>
|
||||||
<xsd:sequence>
|
</xsd:annotation>
|
||||||
<xsd:element name="rtsp-ip" type="xsd:string" minOccurs="0"/>
|
<xsd:complexType>
|
||||||
<xsd:element name="rtsp-ext-ip" type="xsd:string" minOccurs="0"/>
|
<xsd:sequence>
|
||||||
<xsd:element name="rtsp-port" type="xsd:string"/>
|
<xsd:element name="rtsp-ip" type="xsd:string" minOccurs="0" />
|
||||||
<xsd:element name="resource-map">
|
<xsd:element name="rtsp-ext-ip" type="xsd:string" minOccurs="0" />
|
||||||
<xsd:complexType>
|
<xsd:element name="rtsp-port" type="xsd:string" />
|
||||||
<xsd:sequence>
|
<xsd:element name="resource-map">
|
||||||
<xsd:element name="param" maxOccurs="unbounded">
|
<xsd:complexType>
|
||||||
<xsd:complexType>
|
<xsd:sequence>
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
<xsd:element name="param" maxOccurs="unbounded">
|
||||||
<xsd:attribute name="value" type="xsd:string" use="required"/>
|
<xsd:complexType>
|
||||||
</xsd:complexType>
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
</xsd:element>
|
<xsd:attribute name="value" type="xsd:string" use="required" />
|
||||||
</xsd:sequence>
|
</xsd:complexType>
|
||||||
</xsd:complexType>
|
</xsd:element>
|
||||||
</xsd:element>
|
</xsd:sequence>
|
||||||
<xsd:element name="max-connection-count" type="xsd:short" minOccurs="0"/>
|
</xsd:complexType>
|
||||||
<xsd:element name="sdp-origin" type="xsd:string" minOccurs="0"/>
|
</xsd:element>
|
||||||
</xsd:sequence>
|
<xsd:element name="max-connection-count" type="xsd:short" minOccurs="0" />
|
||||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
<xsd:element name="sdp-origin" type="xsd:string" minOccurs="0" />
|
||||||
<xsd:attribute name="type" type="xsd:string" use="required"/>
|
</xsd:sequence>
|
||||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||||
</xsd:complexType>
|
<xsd:attribute name="type" type="xsd:string" use="required" />
|
||||||
</xsd:element>
|
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||||
<xsd:element name="mrcpv2-uas" minOccurs="0" maxOccurs="unbounded">
|
</xsd:complexType>
|
||||||
<xsd:annotation>
|
</xsd:element>
|
||||||
<xsd:documentation>MRCPv2 connection agent</xsd:documentation>
|
<xsd:element name="mrcpv2-uas" minOccurs="0" maxOccurs="unbounded">
|
||||||
</xsd:annotation>
|
<xsd:annotation>
|
||||||
<xsd:complexType>
|
<xsd:documentation>MRCPv2 connection agent</xsd:documentation>
|
||||||
<xsd:sequence>
|
</xsd:annotation>
|
||||||
<xsd:element name="mrcp-ip" type="xsd:string" minOccurs="0"/>
|
<xsd:complexType>
|
||||||
<xsd:element name="mrcp-port" type="xsd:string"/>
|
<xsd:sequence>
|
||||||
<xsd:element name="max-connection-count" type="xsd:short" minOccurs="0"/>
|
<xsd:element name="mrcp-ip" type="xsd:string" minOccurs="0" />
|
||||||
<xsd:element name="force-new-connection" type="xsd:boolean" minOccurs="0"/>
|
<xsd:element name="mrcp-port" type="xsd:string" />
|
||||||
<xsd:element name="rx-buffer-size" type="xsd:long" minOccurs="0"/>
|
<xsd:element name="max-connection-count" type="xsd:short" minOccurs="0" />
|
||||||
<xsd:element name="tx-buffer-size" type="xsd:long" minOccurs="0"/>
|
<xsd:element name="force-new-connection" type="xsd:boolean" minOccurs="0" />
|
||||||
</xsd:sequence>
|
<xsd:element name="rx-buffer-size" type="xsd:long" minOccurs="0" />
|
||||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
<xsd:element name="tx-buffer-size" type="xsd:long" minOccurs="0" />
|
||||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
</xsd:sequence>
|
||||||
</xsd:complexType>
|
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||||
</xsd:element>
|
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||||
<xsd:element name="media-engine" minOccurs="0" maxOccurs="unbounded">
|
</xsd:complexType>
|
||||||
<xsd:annotation>
|
</xsd:element>
|
||||||
<xsd:documentation>Media processing engine</xsd:documentation>
|
<xsd:element name="media-engine" minOccurs="0" maxOccurs="unbounded">
|
||||||
</xsd:annotation>
|
<xsd:annotation>
|
||||||
<xsd:complexType>
|
<xsd:documentation>Media processing engine</xsd:documentation>
|
||||||
<xsd:sequence>
|
</xsd:annotation>
|
||||||
<xsd:element name="realtime-rate" type="xsd:short" minOccurs="0"/>
|
<xsd:complexType>
|
||||||
</xsd:sequence>
|
<xsd:sequence>
|
||||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
<xsd:element name="realtime-rate" type="xsd:short" minOccurs="0" />
|
||||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
</xsd:sequence>
|
||||||
</xsd:complexType>
|
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||||
</xsd:element>
|
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||||
<xsd:element name="rtp-factory" minOccurs="0" maxOccurs="unbounded">
|
</xsd:complexType>
|
||||||
<xsd:annotation>
|
</xsd:element>
|
||||||
<xsd:documentation>Factory of RTP terminations</xsd:documentation>
|
<xsd:element name="rtp-factory" minOccurs="0" maxOccurs="unbounded">
|
||||||
</xsd:annotation>
|
<xsd:annotation>
|
||||||
<xsd:complexType>
|
<xsd:documentation>Factory of RTP terminations</xsd:documentation>
|
||||||
<xsd:sequence>
|
</xsd:annotation>
|
||||||
<xsd:element name="rtp-ip" type="xsd:string" minOccurs="0"/>
|
<xsd:complexType>
|
||||||
<xsd:element name="rtp-ext-ip" type="xsd:string" minOccurs="0"/>
|
<xsd:sequence>
|
||||||
<xsd:element name="rtp-port-min" type="xsd:short"/>
|
<xsd:element name="rtp-ip" type="xsd:string" minOccurs="0" />
|
||||||
<xsd:element name="rtp-port-max" type="xsd:short"/>
|
<xsd:element name="rtp-ext-ip" type="xsd:string" minOccurs="0" />
|
||||||
</xsd:sequence>
|
<xsd:element name="rtp-port-min" type="xsd:short" />
|
||||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
<xsd:element name="rtp-port-max" type="xsd:short" />
|
||||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
</xsd:sequence>
|
||||||
</xsd:complexType>
|
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||||
</xsd:element>
|
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||||
<xsd:element name="plugin-factory" minOccurs="0">
|
</xsd:complexType>
|
||||||
<xsd:annotation>
|
</xsd:element>
|
||||||
<xsd:documentation>Factory of plugins (MRCP engines)</xsd:documentation>
|
<xsd:element name="plugin-factory" minOccurs="0">
|
||||||
</xsd:annotation>
|
<xsd:annotation>
|
||||||
<xsd:complexType>
|
<xsd:documentation>Factory of plugins (MRCP engines)</xsd:documentation>
|
||||||
<xsd:sequence maxOccurs="unbounded">
|
</xsd:annotation>
|
||||||
<xsd:element name="engine">
|
<xsd:complexType>
|
||||||
<xsd:complexType>
|
<xsd:sequence maxOccurs="unbounded">
|
||||||
<xsd:sequence>
|
<xsd:element name="engine">
|
||||||
<xsd:element name="max-channel-count" minOccurs="0"/>
|
<xsd:complexType>
|
||||||
<xsd:element name="param" minOccurs="0" maxOccurs="unbounded">
|
<xsd:sequence>
|
||||||
<xsd:complexType>
|
<xsd:element name="max-channel-count" minOccurs="0" />
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
<xsd:element name="param" minOccurs="0" maxOccurs="unbounded">
|
||||||
<xsd:attribute name="value" type="xsd:string" use="required"/>
|
<xsd:complexType>
|
||||||
</xsd:complexType>
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
</xsd:element>
|
<xsd:attribute name="value" type="xsd:string" use="required" />
|
||||||
</xsd:sequence>
|
</xsd:complexType>
|
||||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
</xsd:element>
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
</xsd:sequence>
|
||||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||||
</xsd:complexType>
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
</xsd:element>
|
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||||
</xsd:sequence>
|
</xsd:complexType>
|
||||||
</xsd:complexType>
|
</xsd:element>
|
||||||
</xsd:element>
|
</xsd:sequence>
|
||||||
</xsd:sequence>
|
</xsd:complexType>
|
||||||
</xsd:complexType>
|
</xsd:element>
|
||||||
</xsd:element>
|
</xsd:sequence>
|
||||||
<xsd:element name="settings" minOccurs="0">
|
</xsd:complexType>
|
||||||
<xsd:annotation>
|
</xsd:element>
|
||||||
<xsd:documentation>Settings</xsd:documentation>
|
<xsd:element name="settings" minOccurs="0">
|
||||||
</xsd:annotation>
|
<xsd:annotation>
|
||||||
<xsd:complexType>
|
<xsd:documentation>Settings</xsd:documentation>
|
||||||
<xsd:sequence>
|
</xsd:annotation>
|
||||||
<xsd:element name="rtp-settings" minOccurs="0" maxOccurs="unbounded">
|
<xsd:complexType>
|
||||||
<xsd:annotation>
|
<xsd:sequence>
|
||||||
<xsd:documentation>RTP settings</xsd:documentation>
|
<xsd:element name="rtp-settings" minOccurs="0" maxOccurs="unbounded">
|
||||||
</xsd:annotation>
|
<xsd:annotation>
|
||||||
<xsd:complexType>
|
<xsd:documentation>RTP settings</xsd:documentation>
|
||||||
<xsd:sequence>
|
</xsd:annotation>
|
||||||
<xsd:element name="jitter-buffer" minOccurs="0">
|
<xsd:complexType>
|
||||||
<xsd:complexType>
|
<xsd:sequence>
|
||||||
<xsd:sequence>
|
<xsd:element name="jitter-buffer" minOccurs="0">
|
||||||
<xsd:element name="playout-delay" type="xsd:long"/>
|
<xsd:complexType>
|
||||||
<xsd:element name="max-playout-delay" type="xsd:long"/>
|
<xsd:sequence>
|
||||||
</xsd:sequence>
|
<xsd:element name="adaptive" type="xsd:byte" />
|
||||||
</xsd:complexType>
|
<xsd:element name="playout-delay" type="xsd:long" />
|
||||||
</xsd:element>
|
<xsd:element name="max-playout-delay" type="xsd:long" />
|
||||||
<xsd:element name="ptime" type="xsd:long" minOccurs="0"/>
|
<xsd:element name="time-skew-detection" type="xsd:byte" />
|
||||||
<xsd:element name="codecs">
|
</xsd:sequence>
|
||||||
<xsd:complexType>
|
</xsd:complexType>
|
||||||
<xsd:simpleContent>
|
</xsd:element>
|
||||||
<xsd:extension base="xsd:string">
|
<xsd:element name="ptime" type="xsd:long" minOccurs="0" />
|
||||||
<xsd:attribute name="own-preference" type="xsd:boolean" use="optional"/>
|
<xsd:element name="codecs">
|
||||||
</xsd:extension>
|
<xsd:complexType>
|
||||||
</xsd:simpleContent>
|
<xsd:simpleContent>
|
||||||
</xsd:complexType>
|
<xsd:extension base="xsd:string">
|
||||||
</xsd:element>
|
<xsd:attribute name="own-preference" type="xsd:boolean" use="optional" />
|
||||||
<xsd:element name="rtcp" minOccurs="0">
|
</xsd:extension>
|
||||||
<xsd:complexType>
|
</xsd:simpleContent>
|
||||||
<xsd:sequence>
|
</xsd:complexType>
|
||||||
<xsd:element name="rtcp-bye" type="xsd:int"/>
|
</xsd:element>
|
||||||
<xsd:element name="tx-interval" type="xsd:long"/>
|
<xsd:element name="rtcp" minOccurs="0">
|
||||||
<xsd:element name="rx-resolution" type="xsd:long"/>
|
<xsd:complexType>
|
||||||
</xsd:sequence>
|
<xsd:sequence>
|
||||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
<xsd:element name="rtcp-bye" type="xsd:int" />
|
||||||
</xsd:complexType>
|
<xsd:element name="tx-interval" type="xsd:long" />
|
||||||
</xsd:element>
|
<xsd:element name="rx-resolution" type="xsd:long" />
|
||||||
</xsd:sequence>
|
</xsd:sequence>
|
||||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
</xsd:complexType>
|
||||||
</xsd:complexType>
|
</xsd:element>
|
||||||
</xsd:element>
|
</xsd:sequence>
|
||||||
</xsd:sequence>
|
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||||
</xsd:complexType>
|
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||||
</xsd:element>
|
</xsd:complexType>
|
||||||
<xsd:element name="profiles" minOccurs="0">
|
</xsd:element>
|
||||||
<xsd:annotation>
|
</xsd:sequence>
|
||||||
<xsd:documentation>Profiles</xsd:documentation>
|
</xsd:complexType>
|
||||||
</xsd:annotation>
|
</xsd:element>
|
||||||
<xsd:complexType>
|
<xsd:element name="profiles" minOccurs="0">
|
||||||
<xsd:sequence>
|
<xsd:annotation>
|
||||||
<xsd:element name="mrcpv2-profile" minOccurs="0" maxOccurs="unbounded">
|
<xsd:documentation>Profiles</xsd:documentation>
|
||||||
<xsd:annotation>
|
</xsd:annotation>
|
||||||
<xsd:documentation>MRCPv2 profile</xsd:documentation>
|
<xsd:complexType>
|
||||||
</xsd:annotation>
|
<xsd:sequence>
|
||||||
<xsd:complexType>
|
<xsd:element name="mrcpv2-profile" minOccurs="0" maxOccurs="unbounded">
|
||||||
<xsd:sequence>
|
<xsd:annotation>
|
||||||
<xsd:element name="sip-uas" type="xsd:string"/>
|
<xsd:documentation>MRCPv2 profile</xsd:documentation>
|
||||||
<xsd:element name="mrcpv2-uas" type="xsd:string"/>
|
</xsd:annotation>
|
||||||
<xsd:element name="media-engine" type="xsd:string"/>
|
<xsd:complexType>
|
||||||
<xsd:element name="rtp-factory" type="xsd:string"/>
|
<xsd:sequence>
|
||||||
<xsd:element name="rtp-settings" type="xsd:string"/>
|
<xsd:element name="sip-uas" type="xsd:string" />
|
||||||
</xsd:sequence>
|
<xsd:element name="mrcpv2-uas" type="xsd:string" />
|
||||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
<xsd:element name="media-engine" type="xsd:string" />
|
||||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
<xsd:element name="rtp-factory" type="xsd:string" />
|
||||||
</xsd:complexType>
|
<xsd:element name="rtp-settings" type="xsd:string" />
|
||||||
</xsd:element>
|
</xsd:sequence>
|
||||||
<xsd:element name="mrcpv1-profile" minOccurs="0" maxOccurs="unbounded">
|
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||||
<xsd:annotation>
|
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||||
<xsd:documentation>MRCPv1 profile</xsd:documentation>
|
</xsd:complexType>
|
||||||
</xsd:annotation>
|
</xsd:element>
|
||||||
<xsd:complexType>
|
<xsd:element name="mrcpv1-profile" minOccurs="0" maxOccurs="unbounded">
|
||||||
<xsd:sequence>
|
<xsd:annotation>
|
||||||
<xsd:element name="rtsp-uas" type="xsd:string"/>
|
<xsd:documentation>MRCPv1 profile</xsd:documentation>
|
||||||
<xsd:element name="media-engine" type="xsd:string"/>
|
</xsd:annotation>
|
||||||
<xsd:element name="rtp-factory" type="xsd:string"/>
|
<xsd:complexType>
|
||||||
<xsd:element name="rtp-settings" type="xsd:string"/>
|
<xsd:sequence>
|
||||||
</xsd:sequence>
|
<xsd:element name="rtsp-uas" type="xsd:string" />
|
||||||
<xsd:attribute name="id" type="xsd:string" use="required"/>
|
<xsd:element name="media-engine" type="xsd:string" />
|
||||||
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
|
<xsd:element name="rtp-factory" type="xsd:string" />
|
||||||
</xsd:complexType>
|
<xsd:element name="rtp-settings" type="xsd:string" />
|
||||||
</xsd:element>
|
</xsd:sequence>
|
||||||
</xsd:sequence>
|
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||||
</xsd:complexType>
|
<xsd:attribute name="enable" type="xsd:boolean" use="optional" />
|
||||||
</xsd:element>
|
</xsd:complexType>
|
||||||
</xsd:sequence>
|
</xsd:element>
|
||||||
<xsd:attribute name="version" type="xsd:string" use="required"/>
|
</xsd:sequence>
|
||||||
<xsd:attribute name="subfolder" type="xsd:string" use="optional"/>
|
</xsd:complexType>
|
||||||
</xsd:complexType>
|
</xsd:element>
|
||||||
</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>
|
</xsd:schema>
|
26
libs/unimrcp/config.layout
Normal file
26
libs/unimrcp/config.layout
Normal 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>
|
@ -1,34 +1,72 @@
|
|||||||
# -*- Autoconf -*-
|
dnl
|
||||||
# Process this file with autoconf to produce a configure script.
|
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_AUX_DIR([build])
|
||||||
AC_CONFIG_MACRO_DIR([build/acmacros])
|
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)
|
AC_PREFIX_DEFAULT(/usr/local/unimrcp)
|
||||||
|
|
||||||
plugindir='${prefix}/plugin'
|
dnl Define the directory layout.
|
||||||
confdir='${prefix}/conf'
|
APR_ENABLE_LAYOUT(classic, [plugindir logdir vardir])
|
||||||
logdir='${prefix}/log'
|
AC_SUBST(plugindir)
|
||||||
datadir='${prefix}/data'
|
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_LANG_C
|
||||||
|
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
AC_PROG_CXX
|
AC_PROG_CXX
|
||||||
|
AM_PROG_CC_C_O
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
|
|
||||||
# Skip detection of Fortran
|
dnl Skip detection of Fortran.
|
||||||
m4_undefine([AC_PROG_F77])
|
m4_undefine([AC_PROG_F77])
|
||||||
m4_defun([AC_PROG_F77],[])
|
m4_defun([AC_PROG_F77],[])
|
||||||
AC_PROG_LIBTOOL
|
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"
|
get_version="$srcdir/build/get-version.sh"
|
||||||
version_hdr="$srcdir/build/uni_version.h"
|
version_hdr="$srcdir/build/uni_version.h"
|
||||||
plugin_version_hdr="$srcdir/libs/mrcp-engine/include/mrcp_engine_plugin.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}"
|
echo "UniMRCP Version: ${UNI_DOTTED_VERSION}"
|
||||||
|
|
||||||
# Absolute source/build directory
|
dnl Check for the APR and APR-util libraries.
|
||||||
unimrcp_srcdir=`(cd $srcdir && pwd)`
|
|
||||||
unimrcp_builddir=`pwd`
|
|
||||||
AC_SUBST(unimrcp_srcdir)
|
|
||||||
AC_SUBST(unimrcp_builddir)
|
|
||||||
|
|
||||||
# Check APR
|
|
||||||
UNIMRCP_CHECK_APR
|
UNIMRCP_CHECK_APR
|
||||||
UNIMRCP_CHECK_APU
|
dnl Check for the Sofia-SIP library.
|
||||||
|
|
||||||
# Check SOFIA
|
|
||||||
UNIMRCP_CHECK_SOFIA
|
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)
|
dnl Enable maintainer mode.
|
||||||
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
|
|
||||||
AC_ARG_ENABLE(maintainer-mode,
|
AC_ARG_ENABLE(maintainer-mode,
|
||||||
[AC_HELP_STRING([--enable-maintainer-mode ],[turn on debugging and compile time warnings])],
|
[AC_HELP_STRING([--enable-maintainer-mode ],[turn on debugging and compile time warnings])],
|
||||||
[enable_maintainer_mode="$enableval"],
|
[enable_maintainer_mode="$enableval"],
|
||||||
[enable_maintainer_mode="no"])
|
[enable_maintainer_mode="no"])
|
||||||
|
|
||||||
|
AC_MSG_NOTICE([enable maintainer mode: $enable_maintainer_mode])
|
||||||
if test "${enable_maintainer_mode}" != "no"; then
|
if test "${enable_maintainer_mode}" != "no"; then
|
||||||
CFLAGS="$CFLAGS -g"
|
APR_ADDTO(CFLAGS,-g)
|
||||||
if test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then
|
if test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then
|
||||||
CFLAGS="$CFLAGS -Wall -Werror"
|
APR_ADDTO(CFLAGS,-Wall -Werror)
|
||||||
fi
|
fi
|
||||||
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_ARG_ENABLE(test-suites,
|
||||||
[AC_HELP_STRING([--enable-test-suites ],[build test suites])],
|
[AC_HELP_STRING([--enable-test-suites ],[build test suites])],
|
||||||
[enable_test_suites="$enableval"],
|
[enable_test_suites="$enableval"],
|
||||||
@ -102,136 +192,82 @@ AC_ARG_ENABLE(test-suites,
|
|||||||
|
|
||||||
AM_CONDITIONAL([TEST_SUITES],[test "${enable_test_suites}" != "no"])
|
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])
|
AM_CONDITIONAL(ISMAC, [test `uname -s` = Darwin])
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
Makefile
|
Makefile
|
||||||
libs/Makefile
|
libs/Makefile
|
||||||
libs/apr-toolkit/Makefile
|
libs/apr-toolkit/Makefile
|
||||||
libs/mpf/Makefile
|
libs/mpf/Makefile
|
||||||
libs/mrcp/Makefile
|
libs/mrcp/Makefile
|
||||||
libs/mrcp-signaling/Makefile
|
libs/mrcp-signaling/Makefile
|
||||||
libs/mrcpv2-transport/Makefile
|
libs/mrcpv2-transport/Makefile
|
||||||
libs/mrcp-engine/Makefile
|
libs/mrcp-engine/Makefile
|
||||||
libs/mrcp-server/Makefile
|
libs/mrcp-server/Makefile
|
||||||
libs/mrcp-client/Makefile
|
libs/mrcp-client/Makefile
|
||||||
libs/uni-rtsp/Makefile
|
libs/uni-rtsp/Makefile
|
||||||
modules/Makefile
|
modules/Makefile
|
||||||
modules/mrcp-sofiasip/Makefile
|
modules/mrcp-sofiasip/Makefile
|
||||||
modules/mrcp-unirtsp/Makefile
|
modules/mrcp-unirtsp/Makefile
|
||||||
plugins/Makefile
|
plugins/Makefile
|
||||||
plugins/mrcp-pocketsphinx/Makefile
|
plugins/mrcp-recorder/Makefile
|
||||||
plugins/mrcp-flite/Makefile
|
plugins/demo-synth/Makefile
|
||||||
plugins/mrcp-recorder/Makefile
|
plugins/demo-recog/Makefile
|
||||||
plugins/demo-synth/Makefile
|
plugins/demo-verifier/Makefile
|
||||||
plugins/demo-recog/Makefile
|
platforms/Makefile
|
||||||
plugins/demo-verifier/Makefile
|
platforms/libunimrcp-server/Makefile
|
||||||
platforms/Makefile
|
platforms/libunimrcp-client/Makefile
|
||||||
platforms/libunimrcp-server/Makefile
|
platforms/unimrcp-server/Makefile
|
||||||
platforms/libunimrcp-client/Makefile
|
platforms/unimrcp-client/Makefile
|
||||||
platforms/unimrcp-server/Makefile
|
platforms/libasr-client/Makefile
|
||||||
platforms/unimrcp-client/Makefile
|
platforms/asr-client/Makefile
|
||||||
platforms/libasr-client/Makefile
|
platforms/umc/Makefile
|
||||||
platforms/asr-client/Makefile
|
tests/Makefile
|
||||||
platforms/umc/Makefile
|
tests/apttest/Makefile
|
||||||
tests/Makefile
|
tests/mpftest/Makefile
|
||||||
tests/apttest/Makefile
|
tests/mrcptest/Makefile
|
||||||
tests/mpftest/Makefile
|
tests/rtsptest/Makefile
|
||||||
tests/mrcptest/Makefile
|
tests/strtablegen/Makefile
|
||||||
tests/rtsptest/Makefile
|
build/Makefile
|
||||||
tests/strtablegen/Makefile
|
build/pkgconfig/Makefile
|
||||||
build/Makefile
|
build/pkgconfig/unimrcpclient.pc
|
||||||
build/pkgconfig/Makefile
|
build/pkgconfig/unimrcpserver.pc
|
||||||
build/pkgconfig/unimrcpclient.pc
|
build/pkgconfig/unimrcpplugin.pc
|
||||||
build/pkgconfig/unimrcpserver.pc
|
conf/Makefile
|
||||||
build/pkgconfig/unimrcpplugin.pc
|
data/Makefile
|
||||||
build/svnrev/Makefile
|
docs/doxygen.conf
|
||||||
conf/Makefile
|
|
||||||
data/Makefile
|
|
||||||
docs/doxygen.conf
|
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
||||||
AC_MSG_NOTICE
|
echo
|
||||||
AC_MSG_NOTICE([Report:])
|
echo '****************************** REPORT ******************************'
|
||||||
AC_MSG_NOTICE([ UniMRCP: $UNI_DOTTED_VERSION])
|
echo
|
||||||
AC_MSG_NOTICE([ APR: $apr_version])
|
echo UniMRCP version............... : $UNI_DOTTED_VERSION
|
||||||
AC_MSG_NOTICE([ APR-Util: $apu_version])
|
echo
|
||||||
AC_MSG_NOTICE([ Sofia-SIP: $sofia_version])
|
echo APR version................... : $apr_version
|
||||||
AC_MSG_NOTICE([Plugins:])
|
echo APR-util version.............. : $apu_version
|
||||||
AC_MSG_NOTICE([ Demo Synthesizer: $enable_demosynth_plugin])
|
echo Sofia-SIP version............. : $sofia_version
|
||||||
AC_MSG_NOTICE([ Demo Recognizer: $enable_demorecog_plugin])
|
echo
|
||||||
AC_MSG_NOTICE([ Demo Verifier: $enable_demoverifier_plugin])
|
echo Compiler...................... : $CC
|
||||||
AC_MSG_NOTICE([ Recorder: $enable_recorder_plugin])
|
echo Compiler flags................ : $CFLAGS
|
||||||
AC_MSG_NOTICE([ PocketSphinx: $enable_pocketsphinx_plugin])
|
echo Preprocessor definitions...... : $CPPFLAGS
|
||||||
AC_MSG_NOTICE([ Flite: $enable_flite_plugin])
|
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
4
libs/unimrcp/configure.gnu
Normal file → Executable file
@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
srcpath=$(dirname $0 2>/dev/null ) || srcpath="."
|
srcpath=$(pwd)
|
||||||
$srcpath/configure "$@" --with-apr=../apr --disable-shared --with-pic --with-apr-util=../apr-util --with-sofia-sip=../sofia-sip
|
$srcpath/configure "$@" --with-apr=$srcpath/../apr --disable-shared --with-pic --with-apr-util=$srcpath/../apr-util --with-sofia-sip=$srcpath/../sofia-sip
|
||||||
|
|
||||||
|
@ -1,11 +1,31 @@
|
|||||||
MAINTAINERCLEANFILES = Makefile.in
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
|
|
||||||
|
DATAFILES =
|
||||||
|
|
||||||
|
if COMMON_CLIENT_DATA
|
||||||
|
DATAFILES += grammar.jsgf grammar.mixed grammar.srgs grammar.xml \
|
||||||
|
speak.txt speak.xml \
|
||||||
|
one-16kHz.pcm one-8kHz.pcm \
|
||||||
|
johnsmith-16kHz.pcm johnsmith-8kHz.pcm
|
||||||
|
endif
|
||||||
|
|
||||||
|
if DEMOSYNTH_PLUGIN
|
||||||
|
DATAFILES += demo-16kHz.pcm demo-8kHz.pcm
|
||||||
|
endif
|
||||||
|
|
||||||
|
if DEMORECOG_PLUGIN
|
||||||
|
DATAFILES += result.xml
|
||||||
|
endif
|
||||||
|
|
||||||
|
if DEMOVERIFIER_PLUGIN
|
||||||
|
DATAFILES += result-verification.xml
|
||||||
|
endif
|
||||||
|
|
||||||
def-data:
|
def-data:
|
||||||
test -d $(datadir) || $(mkinstalldirs) $(datadir)
|
test -d $(DESTDIR)$(datadir) || $(mkinstalldirs) $(DESTDIR)$(datadir)
|
||||||
for datafile in `find ./ -name \*.pcm -o -name \*.xml -o -name \*.jsgf -o -name \*.txt` ; do \
|
for datafile in $(DATAFILES) ; do \
|
||||||
filename=`echo $$datafile | sed -e 's|^.*/||'`; \
|
$(INSTALL) -m 644 $(top_srcdir)/data/$$datafile $(DESTDIR)$(datadir); \
|
||||||
$(INSTALL) -m 644 $$filename $(datadir); \
|
|
||||||
done
|
done
|
||||||
|
|
||||||
install-data-local:
|
install-data-local:
|
||||||
test -d $(datadir) || $(MAKE) def-data
|
test -d $(DESTDIR)$(datadir) || $(MAKE) def-data
|
||||||
|
4
libs/unimrcp/data/grammar.srgs
Normal file
4
libs/unimrcp/data/grammar.srgs
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#ABNF 1.0;
|
||||||
|
language en-US;
|
||||||
|
mode voice;
|
||||||
|
public $digit = one | two | three;
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<result>
|
<result>
|
||||||
<interpretation grammar="session:request1@form-level.store" confidence="97">
|
<interpretation grammar="session:request1@form-level.store" confidence="0.97">
|
||||||
<instance>one</instance>
|
<instance>one</instance>
|
||||||
<input mode="speech">one</input>
|
<input mode="speech">one</input>
|
||||||
</interpretation>
|
</interpretation>
|
||||||
|
@ -1,92 +1,71 @@
|
|||||||
/**
|
/**
|
||||||
@mainpage UniMRCP
|
@mainpage UniMRCP API Reference
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
@section Introduction
|
@section Introduction
|
||||||
|
|
||||||
UniMRCP is an open source cross-platform MRCP project, which provides everything required for MRCP client and server side deployment.
|
UniMRCP is an open source project compliant with the IETF RFC6787 (MRCPv2) and RFC4463 (MRCPv1) specifications.
|
||||||
<br>
|
The project encapsulates SIP, RTSP, SDP, MRCPv2, and RTP/RTCP stacks and provides integrators with a protocol version consistent interface.
|
||||||
UniMRCP encapsulates SIP/MRCPv2, RTSP, SDP and RTP/RTCP stacks inside and provides MRCP version independent user level interface for the integration.
|
|
||||||
|
- 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>
|
||||||
<br>
|
<br>
|
||||||
@section Source Tree Structure
|
@section _ Source Tree Structure
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
Libraries
|
@subsection 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
|
|
||||||
|
|
||||||
|
- 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>
|
<br>
|
||||||
Modules
|
@subsection Modules
|
||||||
|
|
||||||
* mrcp-sofiasip - implementation of abstract signaling interface using SofiaSIP library
|
|
||||||
<br>
|
|
||||||
* mrcp-unirtsp - implementation of abstract signaling interface using UniRTSP library
|
|
||||||
<br>
|
|
||||||
|
|
||||||
|
- 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>
|
<br>
|
||||||
Plugins
|
@subsection Plugins
|
||||||
|
|
||||||
* demo-synth - simulation of actual synthesizer engine
|
- demo-synth - Implementation of a TTS plugin which simulates synthesis.
|
||||||
<br>
|
- demo-recog - Implementation of an ASR plugin which simulates recognition.
|
||||||
* demo-recog - simulation of actual recognizer engine
|
- demo-verif - Implementation of an SVI plugin which simulates speaker verification.
|
||||||
<br>
|
- mrcp-recorder - Implementation of a recorder plugin.
|
||||||
* 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
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
Platforms
|
@subsection Platforms
|
||||||
|
|
||||||
* libunimrcpclient - unimrcp client stack based on libraries and modules above
|
- libunimrcpclient - The UniMRCP client stack built on top of the underlying mrcp-client library using the mrcp-sofiasip and mrcp-unirtsp modules.
|
||||||
<br>
|
- libunimrcpserver - The UniMRCP server stack based on top of the underlying mrcp-server library using the mrcp-sofiasip and mrcp-unirtsp modules.
|
||||||
* libunimrcpserver - unimrcp server stack based on libraries, modules and plugins above
|
- unimrcpclient - Sample C application based on the UniMRCP client stack.
|
||||||
<br>
|
- umc - Sample C++ application based on the UniMRCP client stack.
|
||||||
* unimrcpclient - sample C application based on unimrcp client stack
|
- unimrcpserver - The UniMRCP server application.
|
||||||
<br>
|
|
||||||
* umc - sample C++ application based on unimrcp client stack
|
|
||||||
<br>
|
|
||||||
* unimrcpserver - final unimrcp server application
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
@section Dependencies
|
@section Dependencies
|
||||||
|
|
||||||
<a href="http://apr.apache.org"> APR - Apache Portable Runtime </a>
|
- <a href="http://apr.apache.org"> APR - Apache Portable Runtime Library </a>
|
||||||
<br>
|
- <a href="http://sofia-sip.sourceforge.net"> Sofia-SIP - SIP User Agent Library </a>
|
||||||
<a href="http://sofia-sip.sourceforge.net"> Sofia-SIP - SIP User Agent Library </a>
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
@section Project Links
|
@section Project Links
|
||||||
|
|
||||||
<a href="http://www.unimrcp.org"> Website </a>
|
- <a href="http://www.unimrcp.org"> Website </a>
|
||||||
<br>
|
- <a href="http://www.unimrcp.org/downloads"> Downloads </a>
|
||||||
<a href="http://code.google.com/p/unimrcp/downloads/list"> Downloads </a>
|
- <a href="http://www.unimrcp.org/documentation"> Documentation </a>
|
||||||
<br>
|
- <a href="http://code.google.com/p/unimrcp/issues/list"> Issue Tracker </a>
|
||||||
<a href="http://code.google.com/p/unimrcp/w/list"> Wiki </a>
|
- <a href="http://groups.google.com/group/unimrcp"> Discussion Group </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>
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
MAINTAINERCLEANFILES = Makefile.in
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
|
|
||||||
AM_CPPFLAGS = -I$(top_srcdir)/libs/apr-toolkit/include \
|
AM_CPPFLAGS = -I$(top_srcdir)/libs/apr-toolkit/include \
|
||||||
$(UNIMRCP_APR_INCLUDES) $(UNIMRCP_APU_INCLUDES)
|
$(UNIMRCP_APR_INCLUDES)
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libaprtoolkit.la
|
noinst_LTLIBRARIES = libaprtoolkit.la
|
||||||
|
|
||||||
|
@ -1,433 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9.00"
|
|
||||||
Name="aprtoolkit"
|
|
||||||
ProjectGUID="{13DEECA0-BDD4-4744-A1A2-8EB0A44DF3D2}"
|
|
||||||
RootNamespace="aprtoolkit"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unidebug.vsprops;$(ProjectDir)..\..\build\vsprops\apt.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions="APT_STATIC_LIB"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unidebug.vsprops;$(ProjectDir)..\..\build\vsprops\apt.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions="APT_STATIC_LIB"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unirelease.vsprops;$(ProjectDir)..\..\build\vsprops\apt.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions="APT_STATIC_LIB"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(ProjectDir)..\..\build\vsprops\unirelease.vsprops;$(ProjectDir)..\..\build\vsprops\apt.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions="APT_STATIC_LIB"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="include"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_consumer_task.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_cyclic_queue.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_dir_layout.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_header_field.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_log.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_multipart_content.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_net.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_nlsml_doc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_obj_list.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_pair.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_poller_task.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_pollset.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_pool.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_string.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_string_table.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_task.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_task_msg.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_test_suite.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_text_message.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_text_stream.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\include\apt_timer_queue.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="src"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_consumer_task.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_cyclic_queue.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_dir_layout.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_header_field.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_log.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_multipart_content.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_net.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_nlsml_doc.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_obj_list.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_pair.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_poller_task.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_pollset.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_pool.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_string_table.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_task.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_task_msg.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_test_suite.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_text_message.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_text_stream.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\src\apt_timer_queue.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
@ -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>
|
|
@ -19,7 +19,6 @@
|
|||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectName>aprtoolkit</ProjectName>
|
|
||||||
<ProjectGuid>{13DEECA0-BDD4-4744-A1A2-8EB0A44DF3D2}</ProjectGuid>
|
<ProjectGuid>{13DEECA0-BDD4-4744-A1A2-8EB0A44DF3D2}</ProjectGuid>
|
||||||
<RootNamespace>aprtoolkit</RootNamespace>
|
<RootNamespace>aprtoolkit</RootNamespace>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
@ -48,62 +47,45 @@
|
|||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
<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="$(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\props\unirelease.props" />
|
||||||
<Import Project="$(ProjectDir)..\..\build\vsprops\apt.props" />
|
<Import Project="$(ProjectDir)..\..\build\props\unilib.props" />
|
||||||
|
<Import Project="$(ProjectDir)..\..\build\props\apt.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
<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="$(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\props\unidebug.props" />
|
||||||
<Import Project="$(ProjectDir)..\..\build\vsprops\apt.props" />
|
<Import Project="$(ProjectDir)..\..\build\props\unilib.props" />
|
||||||
|
<Import Project="$(ProjectDir)..\..\build\props\apt.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
<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="$(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\props\unirelease.props" />
|
||||||
<Import Project="$(ProjectDir)..\..\build\vsprops\apt.props" />
|
<Import Project="$(ProjectDir)..\..\build\props\unilib-x64.props" />
|
||||||
|
<Import Project="$(ProjectDir)..\..\build\props\apt.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
<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="$(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\props\unidebug.props" />
|
||||||
<Import Project="$(ProjectDir)..\..\build\vsprops\apt.props" />
|
<Import Project="$(ProjectDir)..\..\build\props\unilib-x64.props" />
|
||||||
|
<Import Project="$(ProjectDir)..\..\build\props\apt.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(PlatformName)\$(Configuration)\</OutDir>
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(PlatformName)\$(Configuration)\</IntDir>
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(PlatformName)\$(Configuration)\</OutDir>
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(PlatformName)\$(Configuration)\</IntDir>
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(PlatformName)\$(Configuration)\</OutDir>
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(PlatformName)\$(Configuration)\</IntDir>
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(PlatformName)\$(Configuration)\</OutDir>
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(PlatformName)\$(Configuration)\</IntDir>
|
<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>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup>
|
||||||
<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>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="include\apt.h" />
|
<ClInclude Include="include\apt.h" />
|
||||||
@ -117,8 +99,8 @@
|
|||||||
<ClInclude Include="include\apt_nlsml_doc.h" />
|
<ClInclude Include="include\apt_nlsml_doc.h" />
|
||||||
<ClInclude Include="include\apt_obj_list.h" />
|
<ClInclude Include="include\apt_obj_list.h" />
|
||||||
<ClInclude Include="include\apt_pair.h" />
|
<ClInclude Include="include\apt_pair.h" />
|
||||||
<ClInclude Include="include\apt_pollset.h" />
|
|
||||||
<ClInclude Include="include\apt_poller_task.h" />
|
<ClInclude Include="include\apt_poller_task.h" />
|
||||||
|
<ClInclude Include="include\apt_pollset.h" />
|
||||||
<ClInclude Include="include\apt_pool.h" />
|
<ClInclude Include="include\apt_pool.h" />
|
||||||
<ClInclude Include="include\apt_string.h" />
|
<ClInclude Include="include\apt_string.h" />
|
||||||
<ClInclude Include="include\apt_string_table.h" />
|
<ClInclude Include="include\apt_string_table.h" />
|
||||||
@ -127,7 +109,7 @@
|
|||||||
<ClInclude Include="include\apt_test_suite.h" />
|
<ClInclude Include="include\apt_test_suite.h" />
|
||||||
<ClInclude Include="include\apt_text_message.h" />
|
<ClInclude Include="include\apt_text_message.h" />
|
||||||
<ClInclude Include="include\apt_text_stream.h" />
|
<ClInclude Include="include\apt_text_stream.h" />
|
||||||
<ClInclude Include="include\apt_time_queue.h" />
|
<ClInclude Include="include\apt_timer_queue.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="src\apt_consumer_task.c" />
|
<ClCompile Include="src\apt_consumer_task.c" />
|
||||||
@ -151,12 +133,6 @@
|
|||||||
<ClCompile Include="src\apt_text_stream.c" />
|
<ClCompile Include="src\apt_text_stream.c" />
|
||||||
<ClCompile Include="src\apt_timer_queue.c" />
|
<ClCompile Include="src\apt_timer_queue.c" />
|
||||||
</ItemGroup>
|
</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" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
143
libs/unimrcp/libs/apr-toolkit/aprtoolkit.vcxproj.filters
Normal file
143
libs/unimrcp/libs/apr-toolkit/aprtoolkit.vcxproj.filters
Normal 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>
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2008-2010 Arsen Chaloyan
|
* Copyright 2008-2014 Arsen Chaloyan
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "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 not use this file except in compliance with the License.
|
||||||
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* 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
|
#ifndef APT_H
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2008-2010 Arsen Chaloyan
|
* Copyright 2008-2014 Arsen Chaloyan
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* $Id: apt_consumer_task.h 1708 2010-05-24 17:03:25Z achaloyan $
|
* $Id: apt_consumer_task.h 2175 2014-09-12 04:56:09Z achaloyan@gmail.com $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef APT_CONSUMER_TASK_H
|
#ifndef APT_CONSUMER_TASK_H
|
||||||
@ -25,6 +25,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "apt_task.h"
|
#include "apt_task.h"
|
||||||
|
#include "apt_timer_queue.h"
|
||||||
|
|
||||||
APT_BEGIN_EXTERN_C
|
APT_BEGIN_EXTERN_C
|
||||||
|
|
||||||
@ -52,7 +53,7 @@ APT_DECLARE(apt_task_t*) apt_consumer_task_base_get(const apt_consumer_task_t *t
|
|||||||
* Get task vtable.
|
* Get task vtable.
|
||||||
* @param task the consumer task to get vtable for
|
* @param task the consumer task to get vtable for
|
||||||
*/
|
*/
|
||||||
APT_DECLARE(apt_task_vtable_t*) apt_consumer_task_vtable_get(apt_consumer_task_t *task);
|
APT_DECLARE(apt_task_vtable_t*) apt_consumer_task_vtable_get(const apt_consumer_task_t *task);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get consumer task object.
|
* Get consumer task object.
|
||||||
@ -60,6 +61,19 @@ APT_DECLARE(apt_task_vtable_t*) apt_consumer_task_vtable_get(apt_consumer_task_t
|
|||||||
*/
|
*/
|
||||||
APT_DECLARE(void*) apt_consumer_task_object_get(const apt_consumer_task_t *task);
|
APT_DECLARE(void*) apt_consumer_task_object_get(const apt_consumer_task_t *task);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create timer.
|
||||||
|
* @param task the consumer task to create timer for
|
||||||
|
* @param proc the timer callback
|
||||||
|
* @param obj the object to pass to callback
|
||||||
|
* @param pool the pool to allocate memory from
|
||||||
|
*/
|
||||||
|
APT_DECLARE(apt_timer_t*) apt_consumer_task_timer_create(
|
||||||
|
apt_consumer_task_t *task,
|
||||||
|
apt_timer_proc_f proc,
|
||||||
|
void *obj,
|
||||||
|
apr_pool_t *pool);
|
||||||
|
|
||||||
APT_END_EXTERN_C
|
APT_END_EXTERN_C
|
||||||
|
|
||||||
#endif /* APT_CONSUMER_TASK_H */
|
#endif /* APT_CONSUMER_TASK_H */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2008-2010 Arsen Chaloyan
|
* Copyright 2008-2014 Arsen Chaloyan
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* $Id: apt_cyclic_queue.h 1708 2010-05-24 17:03:25Z achaloyan $
|
* $Id: apt_cyclic_queue.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef APT_CYCLIC_QUEUE_H
|
#ifndef APT_CYCLIC_QUEUE_H
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2008-2010 Arsen Chaloyan
|
* Copyright 2008-2014 Arsen Chaloyan
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* $Id: apt_dir_layout.h 1524 2010-02-15 20:44:16Z achaloyan $
|
* $Id: apt_dir_layout.h 2204 2014-10-31 01:01:42Z achaloyan@gmail.com $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef APT_DIR_LAYOUT_H
|
#ifndef APT_DIR_LAYOUT_H
|
||||||
@ -21,48 +21,140 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @file apt_dir_layout.h
|
* @file apt_dir_layout.h
|
||||||
* @brief Directory Layout
|
* @brief Directories Layout
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "apt.h"
|
#include "apt.h"
|
||||||
|
|
||||||
APT_BEGIN_EXTERN_C
|
APT_BEGIN_EXTERN_C
|
||||||
|
|
||||||
/** Directory layout declaration */
|
/*
|
||||||
|
* This define allows user applications to support both the old interface,
|
||||||
|
* where members of apt_dir_layout_t structure were accessable to the
|
||||||
|
* application, and the new opaque interface, where OPAQUE_DIR_LAYOUT
|
||||||
|
* is defined.
|
||||||
|
*/
|
||||||
|
#define OPAQUE_DIR_LAYOUT
|
||||||
|
|
||||||
|
/** Directories layout declaration */
|
||||||
typedef struct apt_dir_layout_t apt_dir_layout_t;
|
typedef struct apt_dir_layout_t apt_dir_layout_t;
|
||||||
|
|
||||||
/** Directory layout */
|
/** Enumeration of directories the layout is composed of */
|
||||||
struct apt_dir_layout_t {
|
typedef enum {
|
||||||
/** Path to config dir */
|
APT_LAYOUT_CONF_DIR, /**< configuration directory */
|
||||||
char *conf_dir_path;
|
APT_LAYOUT_PLUGIN_DIR, /**< plugin directory */
|
||||||
/** Path to plugin dir */
|
APT_LAYOUT_LOG_DIR, /**< log directory */
|
||||||
char *plugin_dir_path;
|
APT_LAYOUT_DATA_DIR, /**< data directory */
|
||||||
/** Path to log dir */
|
APT_LAYOUT_VAR_DIR, /**< var directory */
|
||||||
char *log_dir_path;
|
|
||||||
/** Path to data dir */
|
APT_LAYOUT_DIR_COUNT, /**< number of directories in the default layout */
|
||||||
char *data_dir_path;
|
|
||||||
};
|
APT_LAYOUT_EXT_DIR = APT_LAYOUT_DIR_COUNT
|
||||||
|
} apt_dir_entry_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create (allocate) the structure of default directories layout.
|
* Create the default directories layout based on the specified root directory.
|
||||||
|
* @param root_dir_path the path to the root directory
|
||||||
|
* @param pool the memory pool to use
|
||||||
*/
|
*/
|
||||||
APT_DECLARE(apt_dir_layout_t*) apt_default_dir_layout_create(const char *root_dir_path, apr_pool_t *pool);
|
APT_DECLARE(apt_dir_layout_t*) apt_default_dir_layout_create(const char *root_dir_path, apr_pool_t *pool);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create (allocate) the structure of custom directories layout.
|
* Create a custom directories layout based on the specified individual directories.
|
||||||
|
* @param conf_dir_path the path to the config dir
|
||||||
|
* @param plugin_dir_path the path to the plugin dir
|
||||||
|
* @param log_dir_path the path to the log dir
|
||||||
|
* @param var_dir_path the path to the var dir
|
||||||
|
* @param pool the memory pool to use
|
||||||
*/
|
*/
|
||||||
APT_DECLARE(apt_dir_layout_t*) apt_custom_dir_layout_create(
|
APT_DECLARE(apt_dir_layout_t*) apt_custom_dir_layout_create(
|
||||||
const char *conf_dir_path,
|
const char *conf_dir_path,
|
||||||
const char *plugin_dir_path,
|
const char *plugin_dir_path,
|
||||||
const char *log_dir_path,
|
const char *log_dir_path,
|
||||||
const char *data_dir_path,
|
const char *data_dir_path,
|
||||||
|
const char *var_dir_path,
|
||||||
apr_pool_t *pool);
|
apr_pool_t *pool);
|
||||||
|
|
||||||
/** Construct file path relative to data dir using the file name specified. */
|
/**
|
||||||
|
* Create a bare directories layout.
|
||||||
|
* @param pool the memory pool to use
|
||||||
|
*/
|
||||||
|
APT_DECLARE(apt_dir_layout_t*) apt_dir_layout_create(apr_pool_t *pool);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create am extended bare directories layout.
|
||||||
|
* @param count the number of directories in the layout
|
||||||
|
* @param pool the memory pool to use
|
||||||
|
*/
|
||||||
|
APT_DECLARE(apt_dir_layout_t*) apt_dir_layout_create_ext(apr_size_t count, apr_pool_t *pool);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load directories layout from the specified configuration file.
|
||||||
|
* @param dir_layout the directory layout
|
||||||
|
* @param config_file the path to the configuration file
|
||||||
|
* @param pool the memory pool to use
|
||||||
|
*/
|
||||||
|
APT_DECLARE(apt_bool_t) apt_dir_layout_load(apt_dir_layout_t *dir_layout, const char *config_file, apr_pool_t *pool);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load directories layout from the specified configuration file using the provided labels.
|
||||||
|
* @param dir_layout the directory layout
|
||||||
|
* @param config_file the path to the configuration file
|
||||||
|
* @param labels the array of directory labels (configuration entries)
|
||||||
|
* @param count the number of labels (normally equals the number of directories in the layout)
|
||||||
|
* @param pool the memory pool to use
|
||||||
|
*/
|
||||||
|
APT_DECLARE(apt_bool_t) apt_dir_layout_load_ext(apt_dir_layout_t *dir_layout, const char *config_file, const char **labels, apr_size_t count, apr_pool_t *pool);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the path to the individual directory in the layout.
|
||||||
|
* @param dir_layout the directory layout
|
||||||
|
* @param dir_entry_id the directory id (apt_dir_entry_id)
|
||||||
|
* @param path the directory path
|
||||||
|
* @param pool the memory pool to use
|
||||||
|
*/
|
||||||
|
APT_DECLARE(apt_bool_t) apt_dir_layout_path_set(apt_dir_layout_t *dir_layout, apr_size_t dir_entry_id, const char *path, apr_pool_t *pool);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the path to the individual directory in the layout.
|
||||||
|
* @param dir_layout the directory layout
|
||||||
|
* @param dir_entry_id the directory id (apt_dir_entry_id)
|
||||||
|
*/
|
||||||
|
APT_DECLARE(const char*) apt_dir_layout_path_get(const apt_dir_layout_t *dir_layout, apr_size_t dir_entry_id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compose a file path relative to the specified directory in the layout.
|
||||||
|
* @param dir_layout the directory layout
|
||||||
|
* @param dir_entry_id the directory id (apt_dir_entry_id)
|
||||||
|
* @param file_name the file name to append to the directory path
|
||||||
|
* @param pool the memory pool to use
|
||||||
|
*/
|
||||||
|
APT_DECLARE(char*) apt_dir_layout_path_compose(const apt_dir_layout_t *dir_layout, apr_size_t dir_entry_id, const char *file_name, apr_pool_t *pool);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compose a file path relative to config dir.
|
||||||
|
* @param dir_layout the directory layout
|
||||||
|
* @param file_name the file name
|
||||||
|
* @param pool the memory pool to use
|
||||||
|
*/
|
||||||
|
APT_DECLARE(char*) apt_confdir_filepath_get(const apt_dir_layout_t *dir_layout, const char *file_name, apr_pool_t *pool);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compose a file path relative to data dir.
|
||||||
|
* @param dir_layout the directory layout
|
||||||
|
* @param file_name the file name
|
||||||
|
* @param pool the memory pool to use
|
||||||
|
*/
|
||||||
APT_DECLARE(char*) apt_datadir_filepath_get(const apt_dir_layout_t *dir_layout, const char *file_name, apr_pool_t *pool);
|
APT_DECLARE(char*) apt_datadir_filepath_get(const apt_dir_layout_t *dir_layout, const char *file_name, apr_pool_t *pool);
|
||||||
|
|
||||||
/** Construct file path relative to conf dir using the file name specified. */
|
/**
|
||||||
APT_DECLARE(char*) apt_confdir_filepath_get(const apt_dir_layout_t *dir_layout, const char *file_name, apr_pool_t *pool);
|
* Compose a file path relative to var dir.
|
||||||
|
* @param dir_layout the directory layout
|
||||||
|
* @param file_name the file name
|
||||||
|
* @param pool the memory pool to use
|
||||||
|
*/
|
||||||
|
APT_DECLARE(char*) apt_vardir_filepath_get(const apt_dir_layout_t *dir_layout, const char *file_name, apr_pool_t *pool);
|
||||||
|
|
||||||
|
|
||||||
APT_END_EXTERN_C
|
APT_END_EXTERN_C
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2008-2010 Arsen Chaloyan
|
* Copyright 2008-2014 Arsen Chaloyan
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "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 not use this file except in compliance with the License.
|
||||||
@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* $Id: apt_header_field.h 1719 2010-05-31 21:09:51Z achaloyan $
|
* $Id: apt_header_field.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef APT_HEADER_FIELD_H
|
#ifndef APT_HEADER_FIELD_H
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2008-2010 Arsen Chaloyan
|
* Copyright 2008-2014 Arsen Chaloyan
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
* $Id: apt_log.h 1792 2011-01-10 21:08:52Z achaloyan $
|
* $Id: apt_log.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef APT_LOG_H
|
#ifndef APT_LOG_H
|
||||||
@ -32,14 +32,27 @@ APT_BEGIN_EXTERN_C
|
|||||||
|
|
||||||
/** Default max size of the log file (8Mb) */
|
/** Default max size of the log file (8Mb) */
|
||||||
#define MAX_LOG_FILE_SIZE (8 * 1024 * 1024)
|
#define MAX_LOG_FILE_SIZE (8 * 1024 * 1024)
|
||||||
/** Default max number of rotated log files */
|
/** Default max number of log files used in rotation */
|
||||||
#define MAX_LOG_FILE_COUNT 10
|
#define MAX_LOG_FILE_COUNT 100
|
||||||
|
|
||||||
/** File:line mark */
|
/** File:line mark */
|
||||||
#define APT_LOG_MARK __FILE__,__LINE__
|
#define APT_LOG_MARK __FILE__,__LINE__
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Definition of common formats used with apt_log().
|
||||||
|
*
|
||||||
|
* Note that the generic %p format can not be used for pointers
|
||||||
|
* since apr_vformatter doesn't accept it. The format %pp introduced
|
||||||
|
* by apr_vformatter can not be used either since it breaks compatibility
|
||||||
|
* with generic printf style loggers.
|
||||||
|
*/
|
||||||
|
#if defined(WIN32) && APR_SIZEOF_VOIDP == 8
|
||||||
|
/** Format to log pointer values on Win x64 */
|
||||||
|
#define APT_PTR_FMT "0x%I64x"
|
||||||
|
#else
|
||||||
/** Format to log pointer values */
|
/** Format to log pointer values */
|
||||||
#define APT_PTR_FMT "0x%x"
|
#define APT_PTR_FMT "0x%lx"
|
||||||
|
#endif
|
||||||
/** Format to log string identifiers */
|
/** Format to log string identifiers */
|
||||||
#define APT_SID_FMT "<%s>"
|
#define APT_SID_FMT "<%s>"
|
||||||
/** Format to log string identifiers and resources */
|
/** Format to log string identifiers and resources */
|
||||||
@ -51,7 +64,6 @@ APT_BEGIN_EXTERN_C
|
|||||||
/** Format to log names, identifiers and resources */
|
/** Format to log names, identifiers and resources */
|
||||||
#define APT_NAMESIDRES_FMT "%s "APT_SIDRES_FMT
|
#define APT_NAMESIDRES_FMT "%s "APT_SIDRES_FMT
|
||||||
|
|
||||||
|
|
||||||
/** Priority of log messages ordered from highest priority to lowest (rfc3164) */
|
/** Priority of log messages ordered from highest priority to lowest (rfc3164) */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
APT_PRIO_EMERGENCY, /**< system is unusable */
|
APT_PRIO_EMERGENCY, /**< system is unusable */
|
||||||
@ -96,8 +108,9 @@ typedef enum {
|
|||||||
typedef struct apt_logger_t apt_logger_t;
|
typedef struct apt_logger_t apt_logger_t;
|
||||||
|
|
||||||
/** Prototype of extended log handler function */
|
/** Prototype of extended log handler function */
|
||||||
typedef apt_bool_t (*apt_log_ext_handler_f)(const char *file, int line, const char *obj,
|
typedef apt_bool_t (*apt_log_ext_handler_f)(const char *file, int line,
|
||||||
apt_log_priority_e priority, const char *format, va_list arg_ptr);
|
const char *obj, apt_log_priority_e priority,
|
||||||
|
const char *format, va_list arg_ptr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create the singleton instance of the logger.
|
* Create the singleton instance of the logger.
|
||||||
@ -202,7 +215,7 @@ APT_DECLARE(apt_bool_t) apt_log_masking_set(apt_log_masking_e masking);
|
|||||||
/**
|
/**
|
||||||
* Get the current masking mode of private data.
|
* Get the current masking mode of private data.
|
||||||
*/
|
*/
|
||||||
APT_DECLARE(apt_log_masking_e) apt_log_masking_get();
|
APT_DECLARE(apt_log_masking_e) apt_log_masking_get(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Translate the masking mode string to enum.
|
* Translate the masking mode string to enum.
|
||||||
@ -237,7 +250,7 @@ APT_DECLARE(apt_bool_t) apt_log_ext_handler_set(apt_log_ext_handler_f handler);
|
|||||||
APT_DECLARE(apt_bool_t) apt_log(const char *file, int line, apt_log_priority_e priority, const char *format, ...);
|
APT_DECLARE(apt_bool_t) apt_log(const char *file, int line, apt_log_priority_e priority, const char *format, ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Do logging.
|
* Do logging (this version uses an object externally associated with the logger).
|
||||||
* @param file the file name log entry is generated from
|
* @param file the file name log entry is generated from
|
||||||
* @param line the line number log entry is generated from
|
* @param line the line number log entry is generated from
|
||||||
* @param priority the priority of the entire log entry
|
* @param priority the priority of the entire log entry
|
||||||
@ -246,6 +259,16 @@ APT_DECLARE(apt_bool_t) apt_log(const char *file, int line, apt_log_priority_e p
|
|||||||
*/
|
*/
|
||||||
APT_DECLARE(apt_bool_t) apt_obj_log(const char *file, int line, apt_log_priority_e priority, void *obj, const char *format, ...);
|
APT_DECLARE(apt_bool_t) apt_obj_log(const char *file, int line, apt_log_priority_e priority, void *obj, const char *format, ...);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Do logging (this version accepts va_list argument).
|
||||||
|
* @param file the file name log entry is generated from
|
||||||
|
* @param line the line number log entry is generated from
|
||||||
|
* @param priority the priority of the entire log entry
|
||||||
|
* @param format the format of the entire log entry
|
||||||
|
* @param arg_ptr the arguments
|
||||||
|
*/
|
||||||
|
APT_DECLARE(apt_bool_t) apt_va_log(const char *file, int line, apt_log_priority_e priority, const char *format, va_list arg_ptr);
|
||||||
|
|
||||||
APT_END_EXTERN_C
|
APT_END_EXTERN_C
|
||||||
|
|
||||||
#endif /* APT_LOG_H */
|
#endif /* APT_LOG_H */
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user