mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-19 19:52:48 +00:00
Add support for ICE/STUN/TURN in res_rtp_asterisk and chan_sip.
Review: https://reviewboard.asterisk.org/r/1891/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1343,10 +1343,13 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
|
||||
static int process_sdp_o(const char *o, struct sip_pvt *p);
|
||||
static int process_sdp_c(const char *c, struct ast_sockaddr *addr);
|
||||
static int process_sdp_a_sendonly(const char *a, int *sendonly);
|
||||
static int process_sdp_a_ice(const char *a, struct sip_pvt *p, struct ast_rtp_instance *instance);
|
||||
static int process_sdp_a_audio(const char *a, struct sip_pvt *p, struct ast_rtp_codecs *newaudiortp, int *last_rtpmap_codec);
|
||||
static int process_sdp_a_video(const char *a, struct sip_pvt *p, struct ast_rtp_codecs *newvideortp, int *last_rtpmap_codec);
|
||||
static int process_sdp_a_text(const char *a, struct sip_pvt *p, struct ast_rtp_codecs *newtextrtp, char *red_fmtp, int *red_num_gen, int *red_data_pt, int *last_rtpmap_codec);
|
||||
static int process_sdp_a_image(const char *a, struct sip_pvt *p);
|
||||
static void add_ice_to_sdp(struct ast_rtp_instance *instance, struct ast_str **a_buf);
|
||||
static void start_ice(struct ast_rtp_instance *instance);
|
||||
static void add_codec_to_sdp(const struct sip_pvt *p, struct ast_format *codec,
|
||||
struct ast_str **m_buf, struct ast_str **a_buf,
|
||||
int debug, int *min_packet_size);
|
||||
@@ -9273,6 +9276,17 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
|
||||
processed = TRUE;
|
||||
else if (process_sdp_a_image(value, p))
|
||||
processed = TRUE;
|
||||
|
||||
if (process_sdp_a_ice(value, p, p->rtp)) {
|
||||
processed = TRUE;
|
||||
}
|
||||
if (process_sdp_a_ice(value, p, p->vrtp)) {
|
||||
processed = TRUE;
|
||||
}
|
||||
if (process_sdp_a_ice(value, p, p->trtp)) {
|
||||
processed = TRUE;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -9584,7 +9598,9 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
|
||||
case 'a':
|
||||
/* Audio specific scanning */
|
||||
if (audio) {
|
||||
if (process_sdp_a_sendonly(value, &sendonly)) {
|
||||
if (process_sdp_a_ice(value, p, p->rtp)) {
|
||||
processed = TRUE;
|
||||
} else if (process_sdp_a_sendonly(value, &sendonly)) {
|
||||
processed = TRUE;
|
||||
} else if (!processed_crypto && process_crypto(p, p->rtp, &p->srtp, value)) {
|
||||
processed_crypto = TRUE;
|
||||
@@ -9595,7 +9611,9 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
|
||||
}
|
||||
/* Video specific scanning */
|
||||
else if (video) {
|
||||
if (!processed_crypto && process_crypto(p, p->vrtp, &p->vsrtp, value)) {
|
||||
if (process_sdp_a_ice(value, p, p->vrtp)) {
|
||||
processed = TRUE;
|
||||
} else if (!processed_crypto && process_crypto(p, p->vrtp, &p->vsrtp, value)) {
|
||||
processed_crypto = TRUE;
|
||||
processed = TRUE;
|
||||
} else if (process_sdp_a_video(value, p, &newvideortp, &last_rtpmap_codec)) {
|
||||
@@ -9604,7 +9622,9 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
|
||||
}
|
||||
/* Text (T.140) specific scanning */
|
||||
else if (text) {
|
||||
if (process_sdp_a_text(value, p, &newtextrtp, red_fmtp, &red_num_gen, red_data_pt, &last_rtpmap_codec)) {
|
||||
if (process_sdp_a_ice(value, p, p->trtp)) {
|
||||
processed = TRUE;
|
||||
} if (process_sdp_a_text(value, p, &newtextrtp, red_fmtp, &red_num_gen, red_data_pt, &last_rtpmap_codec)) {
|
||||
processed = TRUE;
|
||||
} else if (!processed_crypto && process_crypto(p, p->trtp, &p->tsrtp, value)) {
|
||||
processed_crypto = TRUE;
|
||||
@@ -9734,6 +9754,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
|
||||
/* Setup audio address and port */
|
||||
if (p->rtp) {
|
||||
if (portno > 0) {
|
||||
start_ice(p->rtp);
|
||||
ast_sockaddr_set_port(sa, portno);
|
||||
ast_rtp_instance_set_remote_address(p->rtp, sa);
|
||||
if (debug) {
|
||||
@@ -9781,6 +9802,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
|
||||
/* Setup video address and port */
|
||||
if (p->vrtp) {
|
||||
if (vportno > 0) {
|
||||
start_ice(p->vrtp);
|
||||
ast_sockaddr_set_port(vsa, vportno);
|
||||
ast_rtp_instance_set_remote_address(p->vrtp, vsa);
|
||||
if (debug) {
|
||||
@@ -9798,6 +9820,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
|
||||
/* Setup text address and port */
|
||||
if (p->trtp) {
|
||||
if (tportno > 0) {
|
||||
start_ice(p->trtp);
|
||||
ast_sockaddr_set_port(tsa, tportno);
|
||||
ast_rtp_instance_set_remote_address(p->trtp, tsa);
|
||||
if (debug) {
|
||||
@@ -10062,6 +10085,61 @@ static int process_sdp_a_sendonly(const char *a, int *sendonly)
|
||||
return found;
|
||||
}
|
||||
|
||||
static int process_sdp_a_ice(const char *a, struct sip_pvt *p, struct ast_rtp_instance *instance)
|
||||
{
|
||||
struct ast_rtp_engine_ice *ice;
|
||||
int found = FALSE;
|
||||
char ufrag[256], pwd[256], foundation[32], transport[4], address[46], cand_type[6], relay_address[46] = "";
|
||||
struct ast_rtp_engine_ice_candidate candidate = { 0, };
|
||||
int port, relay_port = 0;
|
||||
|
||||
if (!instance || !(ice = ast_rtp_instance_get_ice(instance))) {
|
||||
return found;
|
||||
}
|
||||
|
||||
if (sscanf(a, "ice-ufrag: %255s", ufrag) == 1) {
|
||||
ice->set_authentication(instance, ufrag, NULL);
|
||||
found = TRUE;
|
||||
} else if (sscanf(a, "ice-pwd: %255s", pwd) == 1) {
|
||||
ice->set_authentication(instance, NULL, pwd);
|
||||
found = TRUE;
|
||||
} else if (sscanf(a, "candidate: %31s %30u %3s %30u %23s %30u typ %5s %*s %23s %*s %30u", foundation, &candidate.id, transport, &candidate.priority,
|
||||
address, &port, cand_type, relay_address, &relay_port) >= 7) {
|
||||
candidate.foundation = foundation;
|
||||
candidate.transport = transport;
|
||||
|
||||
ast_sockaddr_parse(&candidate.address, address, PARSE_PORT_FORBID);
|
||||
ast_sockaddr_set_port(&candidate.address, port);
|
||||
|
||||
if (!strcasecmp(cand_type, "host")) {
|
||||
candidate.type = AST_RTP_ICE_CANDIDATE_TYPE_HOST;
|
||||
} else if (!strcasecmp(cand_type, "srflx")) {
|
||||
candidate.type = AST_RTP_ICE_CANDIDATE_TYPE_SRFLX;
|
||||
} else if (!strcasecmp(cand_type, "relay")) {
|
||||
candidate.type = AST_RTP_ICE_CANDIDATE_TYPE_RELAYED;
|
||||
} else {
|
||||
return found;
|
||||
}
|
||||
|
||||
if (!ast_strlen_zero(relay_address)) {
|
||||
ast_sockaddr_parse(&candidate.relay_address, relay_address, PARSE_PORT_FORBID);
|
||||
}
|
||||
|
||||
if (relay_port) {
|
||||
ast_sockaddr_set_port(&candidate.relay_address, relay_port);
|
||||
}
|
||||
|
||||
ice->add_remote_candidate(instance, &candidate);
|
||||
|
||||
found = TRUE;
|
||||
} else if (!strcasecmp(a, "ice-lite")) {
|
||||
ice->ice_lite(instance);
|
||||
found = TRUE;
|
||||
}
|
||||
|
||||
return found;
|
||||
}
|
||||
|
||||
static int process_sdp_a_audio(const char *a, struct sip_pvt *p, struct ast_rtp_codecs *newaudiortp, int *last_rtpmap_codec)
|
||||
{
|
||||
int found = FALSE;
|
||||
@@ -11568,6 +11646,67 @@ static int add_vidupdate(struct sip_request *req)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*! \brief Add ICE attributes to SDP */
|
||||
static void add_ice_to_sdp(struct ast_rtp_instance *instance, struct ast_str **a_buf)
|
||||
{
|
||||
struct ast_rtp_engine_ice *ice = ast_rtp_instance_get_ice(instance);
|
||||
const char *username, *password;
|
||||
struct ao2_container *candidates;
|
||||
struct ao2_iterator i;
|
||||
struct ast_rtp_engine_ice_candidate *candidate;
|
||||
|
||||
/* If no ICE support is present we can't very well add the attributes */
|
||||
if (!ice || !(candidates = ice->get_local_candidates(instance))) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((username = ice->get_ufrag(instance))) {
|
||||
ast_str_append(a_buf, 0, "a=ice-ufrag:%s\r\n", username);
|
||||
}
|
||||
if ((password = ice->get_password(instance))) {
|
||||
ast_str_append(a_buf, 0, "a=ice-pwd:%s\r\n", password);
|
||||
}
|
||||
|
||||
i = ao2_iterator_init(candidates, 0);
|
||||
|
||||
while ((candidate = ao2_iterator_next(&i))) {
|
||||
ast_str_append(a_buf, 0, "a=candidate:%s %d %s %d ", candidate->foundation, candidate->id, candidate->transport, candidate->priority);
|
||||
ast_str_append(a_buf, 0, "%s ", ast_sockaddr_stringify_host(&candidate->address));
|
||||
ast_str_append(a_buf, 0, "%s typ ", ast_sockaddr_stringify_port(&candidate->address));
|
||||
|
||||
if (candidate->type == AST_RTP_ICE_CANDIDATE_TYPE_HOST) {
|
||||
ast_str_append(a_buf, 0, "host");
|
||||
} else if (candidate->type == AST_RTP_ICE_CANDIDATE_TYPE_SRFLX) {
|
||||
ast_str_append(a_buf, 0, "srflx");
|
||||
} else if (candidate->type == AST_RTP_ICE_CANDIDATE_TYPE_RELAYED) {
|
||||
ast_str_append(a_buf, 0, "relay");
|
||||
}
|
||||
|
||||
if (!ast_sockaddr_isnull(&candidate->relay_address)) {
|
||||
ast_str_append(a_buf, 0, " raddr %s ", ast_sockaddr_stringify_host(&candidate->relay_address));
|
||||
ast_str_append(a_buf, 0, "rport %s", ast_sockaddr_stringify_port(&candidate->relay_address));
|
||||
}
|
||||
|
||||
ast_str_append(a_buf, 0, "\r\n");
|
||||
}
|
||||
|
||||
ao2_iterator_destroy(&i);
|
||||
|
||||
ao2_ref(candidates, -1);
|
||||
}
|
||||
|
||||
/*! \brief Start ICE negotiation on an RTP instance */
|
||||
static void start_ice(struct ast_rtp_instance *instance)
|
||||
{
|
||||
struct ast_rtp_engine_ice *ice = ast_rtp_instance_get_ice(instance);
|
||||
|
||||
if (!ice) {
|
||||
return;
|
||||
}
|
||||
|
||||
ice->start(instance);
|
||||
}
|
||||
|
||||
/*! \brief Add codec offer to SDP offer/answer body in INVITE or 200 OK */
|
||||
static void add_codec_to_sdp(const struct sip_pvt *p,
|
||||
struct ast_format *format,
|
||||
@@ -12038,6 +12177,10 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int
|
||||
if (debug) {
|
||||
ast_verbose("Video is at %s\n", ast_sockaddr_stringify(&vdest));
|
||||
}
|
||||
|
||||
if (!doing_directmedia) {
|
||||
add_ice_to_sdp(p->vrtp, &a_video);
|
||||
}
|
||||
}
|
||||
|
||||
/* Ok, we need text. Let's add what we need for text and set codecs.
|
||||
@@ -12051,6 +12194,10 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int
|
||||
if (debug) { /* XXX should I use tdest below ? */
|
||||
ast_verbose("Text is at %s\n", ast_sockaddr_stringify(&taddr));
|
||||
}
|
||||
|
||||
if (!doing_directmedia) {
|
||||
add_ice_to_sdp(p->trtp, &a_text);
|
||||
}
|
||||
}
|
||||
|
||||
/* Start building generic SDP headers */
|
||||
@@ -12145,6 +12292,10 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int
|
||||
if (min_text_packet_size)
|
||||
ast_str_append(&a_text, 0, "a=ptime:%d\r\n", min_text_packet_size);
|
||||
|
||||
if (!doing_directmedia) {
|
||||
add_ice_to_sdp(p->rtp, &a_audio);
|
||||
}
|
||||
|
||||
if (m_audio->len - m_audio->used < 2 || m_video->len - m_video->used < 2 ||
|
||||
m_text->len - m_text->used < 2 || a_text->len - a_text->used < 2 ||
|
||||
a_audio->len - a_audio->used < 2 || a_video->len - a_video->used < 2)
|
||||
|
@@ -32,3 +32,23 @@ rtpend=20000
|
||||
; if rtp packets are dropped from one or both ends after a call is
|
||||
; connected. This option is set to 4 by default.
|
||||
; probation=8
|
||||
;
|
||||
; Whether to enable or disable ICE support. This option is enabled by default.
|
||||
; icesupport=false
|
||||
;
|
||||
; Address to use for the STUN server when determining the external IP address and port
|
||||
; an RTP session can be reached at. This option is disabled by default.
|
||||
; stunaddr=
|
||||
;
|
||||
; Address to use for the TURN relay server when creating a TURN relay session. This option
|
||||
; is disabled by default.
|
||||
; turnaddr=
|
||||
;
|
||||
; Port used to contact the TURN relay server on. This option is set to 34780 by default.
|
||||
; turnport=34780
|
||||
;
|
||||
; Username used to authenticate with TURN relay server.
|
||||
; turnusername=
|
||||
;
|
||||
; Password used to authenticate with TURN relay server.
|
||||
; turnpassword=
|
||||
|
@@ -310,6 +310,44 @@ if (stat == combined) { \
|
||||
return 0; \
|
||||
}
|
||||
|
||||
/*! \brief ICE candidate types */
|
||||
enum ast_rtp_ice_candidate_type {
|
||||
AST_RTP_ICE_CANDIDATE_TYPE_HOST, /*!< ICE host candidate. A host candidate represents the actual local transport address in the host. */
|
||||
AST_RTP_ICE_CANDIDATE_TYPE_SRFLX, /*!< ICE server reflexive candidate, which represents the public mapped address of the local address. */
|
||||
AST_RTP_ICE_CANDIDATE_TYPE_RELAYED, /*!< ICE relayed candidate, which represents the address allocated in TURN server. */
|
||||
};
|
||||
|
||||
/*! \brief Structure for an ICE candidate */
|
||||
struct ast_rtp_engine_ice_candidate {
|
||||
char *foundation; /*!< Foundation identifier */
|
||||
unsigned int id; /*!< Component identifier */
|
||||
char *transport; /*!< Transport for the media */
|
||||
int priority; /*!< Priority which is used if multiple candidates can be used */
|
||||
struct ast_sockaddr address; /*!< Address of the candidate */
|
||||
struct ast_sockaddr relay_address; /*!< Relay address for the candidate */
|
||||
enum ast_rtp_ice_candidate_type type; /*!< Type of candidate */
|
||||
};
|
||||
|
||||
/*! \brief Structure that represents the optional ICE support within an RTP engine */
|
||||
struct ast_rtp_engine_ice {
|
||||
/*! Callback for setting received authentication information */
|
||||
void (*set_authentication)(struct ast_rtp_instance *instance, const char *ufrag, const char *password);
|
||||
/*! Callback for adding a remote candidate */
|
||||
void (*add_remote_candidate)(struct ast_rtp_instance *instance, const struct ast_rtp_engine_ice_candidate *candidate);
|
||||
/*! Callback for starting ICE negotiation */
|
||||
void (*start)(struct ast_rtp_instance *instance);
|
||||
/*! Callback for stopping ICE support */
|
||||
void (*stop)(struct ast_rtp_instance *instance);
|
||||
/*! Callback for getting local username */
|
||||
const char *(*get_ufrag)(struct ast_rtp_instance *instance);
|
||||
/*! Callback for getting local password */
|
||||
const char *(*get_password)(struct ast_rtp_instance *instance);
|
||||
/*! Callback for getting local candidates */
|
||||
struct ao2_container *(*get_local_candidates)(struct ast_rtp_instance *instance);
|
||||
/*! Callback for telling the ICE support that it is talking to an ice-lite implementation */
|
||||
void (*ice_lite)(struct ast_rtp_instance *instance);
|
||||
};
|
||||
|
||||
/*! Structure that represents an RTP stack (engine) */
|
||||
struct ast_rtp_engine {
|
||||
/*! Name of the RTP engine, used when explicitly requested */
|
||||
@@ -381,6 +419,8 @@ struct ast_rtp_engine {
|
||||
void (*available_formats)(struct ast_rtp_instance *instance, struct ast_format_cap *to_endpoint, struct ast_format_cap *to_asterisk, struct ast_format_cap *result);
|
||||
/*! Callback to send CNG */
|
||||
int (*sendcng)(struct ast_rtp_instance *instance, int level);
|
||||
/*! Callback to pointer for optional ICE support */
|
||||
struct ast_rtp_engine_ice *ice;
|
||||
/*! Linked list information */
|
||||
AST_RWLIST_ENTRY(ast_rtp_engine) entry;
|
||||
};
|
||||
@@ -1906,6 +1946,16 @@ int ast_rtp_engine_load_format(const struct ast_format *format);
|
||||
* attribute interface is unloaded, this function must be called to notify the rtp_engine. */
|
||||
int ast_rtp_engine_unload_format(const struct ast_format *format);
|
||||
|
||||
/*!
|
||||
* \brief Obtain a pointer to the ICE support present on an RTP instance
|
||||
*
|
||||
* \param instance the RTP instance
|
||||
*
|
||||
* \retval ICE support if present
|
||||
* \retval NULL if no ICE support available
|
||||
*/
|
||||
struct ast_rtp_engine_ice *ast_rtp_instance_get_ice(struct ast_rtp_instance *instance);
|
||||
|
||||
#if defined(__cplusplus) || defined(c_plusplus)
|
||||
}
|
||||
#endif
|
||||
|
@@ -1912,6 +1912,11 @@ int ast_rtp_instance_sendcng(struct ast_rtp_instance *instance, int level)
|
||||
return -1;
|
||||
}
|
||||
|
||||
struct ast_rtp_engine_ice *ast_rtp_instance_get_ice(struct ast_rtp_instance *instance)
|
||||
{
|
||||
return instance->engine->ice;
|
||||
}
|
||||
|
||||
static void set_next_mime_type(const struct ast_format *format, int rtp_code, char *type, char *subtype, unsigned int sample_rate)
|
||||
{
|
||||
int x = mime_types_len;
|
||||
|
13
res/Makefile
13
res/Makefile
@@ -68,3 +68,16 @@ ael/pval.o: ael/pval.c
|
||||
|
||||
clean::
|
||||
rm -f snmp/*.o snmp/*.i ael/*.o ael/*.i ais/*.o ais/*.i
|
||||
|
||||
pjproject/build.mak:
|
||||
cd pjproject && ./configure AR="" CFLAGS=-fPIC --disable-floating-point --disable-sound --disable-oss --disable-speex-aec --disable-l16-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-speex-codec --disable-ilbc-codec --disable-g711-codec
|
||||
|
||||
include pjproject/build.mak
|
||||
|
||||
res_rtp_asterisk.o: pjproject/build.mak $(PJ_LIB_FILES)
|
||||
res_rtp_asterisk.o: _ASTCFLAGS+=$(PJ_CFLAGS)
|
||||
res_rtp_asterisk.so: _ASTLDFLAGS+=$(PJ_LDFLAGS)
|
||||
res_rtp_asterisk.so: LIBS+=$(PJ_LDLIBS)
|
||||
|
||||
$(PJ_LIB_FILES):
|
||||
cd pjproject && make dep && make
|
||||
|
352
res/pjproject/COPYING
Normal file
352
res/pjproject/COPYING
Normal file
@@ -0,0 +1,352 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
========
|
||||
|
||||
The licenses for most software are designed to take away your freedom
|
||||
to share and change it. By contrast, the GNU General Public License is
|
||||
intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not price.
|
||||
Our General Public Licenses are designed to make sure that you have
|
||||
the freedom to distribute copies of free software (and charge for this
|
||||
service if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid anyone
|
||||
to deny you these rights or to ask you to surrender the rights. These
|
||||
restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that you
|
||||
have. You must make sure that they, too, receive or can get the source
|
||||
code. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software patents.
|
||||
We wish to avoid the danger that redistributors of a free program will
|
||||
individually obtain patent licenses, in effect making the program
|
||||
proprietary. To prevent this, we have made it clear that any patent
|
||||
must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
0. This License applies to any program or other work which contains a
|
||||
notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program",
|
||||
below, refers to any such program or work, and a "work based on
|
||||
the Program" means either the Program or any derivative work under
|
||||
copyright law: that is to say, a work containing the Program or a
|
||||
portion of it, either verbatim or with modifications and/or
|
||||
translated into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".) Each
|
||||
licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are
|
||||
not covered by this License; they are outside its scope. The act
|
||||
of running the Program is not restricted, and the output from the
|
||||
Program is covered only if its contents constitute a work based on
|
||||
the Program (independent of having been made by running the
|
||||
Program). Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any
|
||||
warranty; and give any other recipients of the Program a copy of
|
||||
this License along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange
|
||||
for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a. You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b. You must cause any work that you distribute or publish, that
|
||||
in whole or in part contains or is derived from the Program
|
||||
or any part thereof, to be licensed as a whole at no charge
|
||||
to all third parties under the terms of this License.
|
||||
|
||||
c. If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display
|
||||
an announcement including an appropriate copyright notice and
|
||||
a notice that there is no warranty (or else, saying that you
|
||||
provide a warranty) and that users may redistribute the
|
||||
program under these conditions, and telling the user how to
|
||||
view a copy of this License. (Exception: if the Program
|
||||
itself is interactive but does not normally print such an
|
||||
announcement, your work based on the Program is not required
|
||||
to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the
|
||||
Program, and can be reasonably considered independent and separate
|
||||
works in themselves, then this License, and its terms, do not
|
||||
apply to those sections when you distribute them as separate
|
||||
works. But when you distribute the same sections as part of a
|
||||
whole which is a work based on the Program, the distribution of
|
||||
the whole must be on the terms of this License, whose permissions
|
||||
for other licensees extend to the entire whole, and thus to each
|
||||
and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or
|
||||
contest your rights to work written entirely by you; rather, the
|
||||
intent is to exercise the right to control the distribution of
|
||||
derivative or collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the
|
||||
Program with the Program (or with a work based on the Program) on
|
||||
a volume of a storage or distribution medium does not bring the
|
||||
other work under the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms
|
||||
of Sections 1 and 2 above provided that you also do one of the
|
||||
following:
|
||||
|
||||
a. Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of
|
||||
Sections 1 and 2 above on a medium customarily used for
|
||||
software interchange; or,
|
||||
|
||||
b. Accompany it with a written offer, valid for at least three
|
||||
years, to give any third-party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange; or,
|
||||
|
||||
c. Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with
|
||||
such an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete
|
||||
source code means all the source code for all modules it contains,
|
||||
plus any associated interface definition files, plus the scripts
|
||||
used to control compilation and installation of the executable.
|
||||
However, as a special exception, the source code distributed need
|
||||
not include anything that is normally distributed (in either
|
||||
source or binary form) with the major components (compiler,
|
||||
kernel, and so on) of the operating system on which the executable
|
||||
runs, unless that component itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this
|
||||
License. However, parties who have received copies, or rights,
|
||||
from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify
|
||||
or distribute the Program or its derivative works. These actions
|
||||
are prohibited by law if you do not accept this License.
|
||||
Therefore, by modifying or distributing the Program (or any work
|
||||
based on the Program), you indicate your acceptance of this
|
||||
License to do so, and all its terms and conditions for copying,
|
||||
distributing or modifying the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program
|
||||
subject to these terms and conditions. You may not impose any
|
||||
further restrictions on the recipients' exercise of the rights
|
||||
granted herein. You are not responsible for enforcing compliance
|
||||
by third parties to this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent
|
||||
issues), conditions are imposed on you (whether by court order,
|
||||
agreement or otherwise) that contradict the conditions of this
|
||||
License, they do not excuse you from the conditions of this
|
||||
License. If you cannot distribute so as to satisfy simultaneously
|
||||
your obligations under this License and any other pertinent
|
||||
obligations, then as a consequence you may not distribute the
|
||||
Program at all. For example, if a patent license would not permit
|
||||
royalty-free redistribution of the Program by all those who
|
||||
receive copies directly or indirectly through you, then the only
|
||||
way you could satisfy both it and this License would be to refrain
|
||||
entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable
|
||||
under any particular circumstance, the balance of the section is
|
||||
intended to apply and the section as a whole is intended to apply
|
||||
in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of
|
||||
any such claims; this section has the sole purpose of protecting
|
||||
the integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is
|
||||
willing to distribute software through any other system and a
|
||||
licensee cannot impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed
|
||||
to be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces,
|
||||
the original copyright holder who places the Program under this
|
||||
License may add an explicit geographical distribution limitation
|
||||
excluding those countries, so that distribution is permitted only
|
||||
in or among countries not thus excluded. In such case, this
|
||||
License incorporates the limitation as if written in the body of
|
||||
this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new
|
||||
versions of the General Public License from time to time. Such
|
||||
new versions will be similar in spirit to the present version, but
|
||||
may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies a version number of this License which applies
|
||||
to it and "any later version", you have the option of following
|
||||
the terms and conditions either of that version or of any later
|
||||
version published by the Free Software Foundation. If the Program
|
||||
does not specify a version number of this License, you may choose
|
||||
any version ever published by the Free Software Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the
|
||||
author to ask for permission. For software which is copyrighted
|
||||
by the Free Software Foundation, write to the Free Software
|
||||
Foundation; we sometimes make exceptions for this. Our decision
|
||||
will be guided by the two goals of preserving the free status of
|
||||
all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
|
||||
LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
|
||||
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT
|
||||
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE
|
||||
QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
|
||||
SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
|
||||
MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
|
||||
LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
|
||||
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
|
||||
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
|
||||
OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
|
||||
OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
How to Apply These Terms to Your New Programs
|
||||
=============================================
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these
|
||||
terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest to
|
||||
attach them to the start of each source file to most effectively convey
|
||||
the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
|
||||
Copyright (C) YYYY NAME OF AUTHOR
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the
|
||||
appropriate parts of the General Public License. Of course, the
|
||||
commands you use may be called something other than `show w' and `show
|
||||
c'; they could even be mouse-clicks or menu items--whatever suits your
|
||||
program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
SIGNATURE OF TY COON, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library,
|
||||
you may consider it more useful to permit linking proprietary
|
||||
applications with the library. If this is what you want to do, use the
|
||||
GNU Library General Public License instead of this License.
|
||||
|
48
res/pjproject/INSTALL.txt
Normal file
48
res/pjproject/INSTALL.txt
Normal file
@@ -0,0 +1,48 @@
|
||||
[Last update: 2007/02/18]
|
||||
|
||||
-= INTRO=-
|
||||
|
||||
This top level projects:
|
||||
|
||||
- pjlib: portability and basic framework library
|
||||
- pjlib-util: lexical scanner, XML, STUN, MD5, DNS, etc.
|
||||
- pjmedia: media framework and codecs
|
||||
- pjsip: SIP stacks (core, UA layer, SIMPLE, etc.)
|
||||
- pjsip-apps: SIP apps (pjsua, pjsip-perf)
|
||||
|
||||
|
||||
-= COMPILING =-
|
||||
|
||||
On Windows:
|
||||
- Visual Studio 6: open pjproject.dsw
|
||||
- Visual Studio 8/2005: open pjproject-vs8.sln
|
||||
- Embedded VisualC 4: open open pjsip-apps\build\wince-evc4\wince_demos.vcw
|
||||
- Build pjsua
|
||||
|
||||
With Makefile:
|
||||
- on top level dir (e.g. ~/pjproject)
|
||||
- ./configure && make dep && make clean && make
|
||||
|
||||
Binaries will be in pjsip-apps/bin.
|
||||
|
||||
|
||||
-= PYTHON MODULE =-
|
||||
|
||||
On Windows:
|
||||
- Visual Studio 6: open pjsip-apps\build\pjsip_apps.dsw
|
||||
- Build py_pjsua module
|
||||
|
||||
With GNU and Python:
|
||||
- cd pjsip-apps/src/py_pjsua
|
||||
- python setup.py install
|
||||
|
||||
One Python sample application is provided:
|
||||
pjsip-apps/src/py_pjsua/pjsua_app.py
|
||||
|
||||
|
||||
-= PORTING =-
|
||||
|
||||
- Just need to port pjlib.
|
||||
- PJLIB doc has detailed info how to do this.
|
||||
- Must pass pjlib-test!
|
||||
|
121
res/pjproject/Makefile
Normal file
121
res/pjproject/Makefile
Normal file
@@ -0,0 +1,121 @@
|
||||
include build.mak
|
||||
include build/host-$(HOST_NAME).mak
|
||||
-include user.mak
|
||||
include version.mak
|
||||
|
||||
LIB_DIRS = pjlib/build pjlib-util/build pjnath/build #third_party/build pjmedia/build pjsip/build
|
||||
DIRS = $(LIB_DIRS) #pjsip-apps/build $(EXTRA_DIRS)
|
||||
|
||||
ifdef MINSIZE
|
||||
MAKE_FLAGS := MINSIZE=1
|
||||
endif
|
||||
|
||||
all clean dep depend distclean print realclean:
|
||||
for dir in $(DIRS); do \
|
||||
if $(MAKE) $(MAKE_FLAGS) -C $$dir $@; then \
|
||||
true; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
lib:
|
||||
for dir in $(LIB_DIRS); do \
|
||||
if $(MAKE) $(MAKE_FLAGS) -C $$dir all; then \
|
||||
true; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi; \
|
||||
done; \
|
||||
|
||||
|
||||
.PHONY: lib
|
||||
|
||||
doc:
|
||||
@if test \( ! "$(WWWDIR)" == "" \) -a \( ! -d $(WWWDIR)/pjlib/docs/html \) ; then \
|
||||
echo 'Directory "$(WWWDIR)" does not look like a valid pjsip web directory'; \
|
||||
exit 1; \
|
||||
fi
|
||||
for dir in $(DIRS); do \
|
||||
if $(MAKE) $(MAKE_FLAGS) -C $$dir $@; then \
|
||||
true; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
LIBS = pjlib/lib/libpj-$(TARGET_NAME).a \
|
||||
pjlib-util/lib/libpjlib-util-$(TARGET_NAME).a \
|
||||
pjnath/lib/libpjnath-$(TARGET_NAME).a \
|
||||
# pjmedia/lib/libpjmedia-$(TARGET_NAME).a \
|
||||
# pjmedia/lib/libpjmedia-audiodev-$(TARGET_NAME).a \
|
||||
# pjmedia/lib/libpjmedia-codec-$(TARGET_NAME).a \
|
||||
# pjsip/lib/libpjsip-$(TARGET_NAME).a \
|
||||
# pjsip/lib/libpjsip-ua-$(TARGET_NAME).a \
|
||||
# pjsip/lib/libpjsip-simple-$(TARGET_NAME).a \
|
||||
# pjsip/lib/libpjsua-$(TARGET_NAME).a
|
||||
BINS = #pjsip-apps/bin/pjsua-$(TARGET_NAME)$(HOST_EXE)
|
||||
|
||||
size:
|
||||
@echo -n 'Date: '
|
||||
@date
|
||||
@echo
|
||||
@for lib in $(LIBS); do \
|
||||
echo "$$lib:"; \
|
||||
size -t $$lib | awk '{print $$1 "\t" $$2 "\t" $$3 "\t" $$6}'; \
|
||||
echo; \
|
||||
done
|
||||
@echo
|
||||
@for bin in $(BINS); do \
|
||||
echo "size $$bin:"; \
|
||||
size $$bin; \
|
||||
done
|
||||
|
||||
#dos2unix:
|
||||
# for f in `find . | egrep '(mak|h|c|S|s|Makefile)$$'`; do \
|
||||
# dos2unix "$$f" > dos2unix.tmp; \
|
||||
# cp dos2unix.tmp "$$f"; \
|
||||
# done
|
||||
# rm -f dos2unix.tmp
|
||||
|
||||
xhdrid:
|
||||
for f in `find . | egrep '\.(h|c|S|s|cpp|hpp)$$'`; do \
|
||||
echo Processing $$f...; \
|
||||
cat $$f | sed 's/.*\$$Author\$$/ */' > /tmp/id; \
|
||||
cp /tmp/id $$f; \
|
||||
done
|
||||
|
||||
selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test
|
||||
|
||||
pjlib-test: pjlib/bin/pjlib-test-$(TARGET_NAME)
|
||||
cd pjlib/build && ../bin/pjlib-test-$(TARGET_NAME)
|
||||
|
||||
pjlib-util-test: pjlib-util/bin/pjlib-util-test-$(TARGET_NAME)
|
||||
cd pjlib-util/build && ../bin/pjlib-util-test-$(TARGET_NAME)
|
||||
|
||||
pjnath-test: pjnath/bin/pjnath-test-$(TARGET_NAME)
|
||||
cd pjnath/build && ../bin/pjnath-test-$(TARGET_NAME)
|
||||
|
||||
pjmedia-test: pjmedia/bin/pjmedia-test-$(TARGET_NAME)
|
||||
cd pjmedia/build && ../bin/pjmedia-test-$(TARGET_NAME)
|
||||
|
||||
pjsip-test: pjsip/bin/pjsip-test-$(TARGET_NAME)
|
||||
cd pjsip/build && ../bin/pjsip-test-$(TARGET_NAME)
|
||||
|
||||
pjsua-test:
|
||||
cd tests/pjsua && python runall.py
|
||||
|
||||
prefix = $(ac_prefix)
|
||||
|
||||
install:
|
||||
mkdir -p $(DESTDIR)$(prefix)/lib
|
||||
cp -f $(APP_LIB_FILES) $(DESTDIR)$(prefix)/lib/
|
||||
mkdir -p $(DESTDIR)$(prefix)/include
|
||||
for d in pjlib pjlib-util pjnath pjmedia pjsip; do \
|
||||
cp -RLf $$d/include/* $(DESTDIR)$(prefix)/include/; \
|
||||
done
|
||||
mkdir -p $(DESTDIR)$(prefix)/lib/pkgconfig
|
||||
sed -e "s!@PREFIX@!$(DESTDIR)$(prefix)!" libpjproject.pc.in | \
|
||||
sed -e "s/@PJ_VERSION@/$(PJ_VERSION)/" | \
|
||||
sed -e "s!@PJ_LDLIBS@!$(PJ_LDLIBS)!" | \
|
||||
sed -e "s!@PJ_INSTALL_CFLAGS@!$(PJ_INSTALL_CFLAGS)!" > $(DESTDIR)/$(prefix)/lib/pkgconfig/libpjproject.pc
|
87
res/pjproject/README-RTEMS
Normal file
87
res/pjproject/README-RTEMS
Normal file
@@ -0,0 +1,87 @@
|
||||
|
||||
|
||||
|
||||
Build Instructions for PJLIB/PJMEDIA/PJSIP RTEMS Port
|
||||
|
||||
|
||||
|
||||
The RTEMS port uses the POSIX abstraction layer at the moment, and has been
|
||||
tested with RTEMS 4.6 on i386 target.
|
||||
|
||||
|
||||
Building RTEMS
|
||||
---------------
|
||||
I use RTEMS 4.6 on a cygwin host with i386/pc386 as target, but I think it
|
||||
should work with different RTEMS versions/hosts/targets.
|
||||
|
||||
RTEMS was built with the following commands:
|
||||
|
||||
$ /opt/src/rtems-4.6.6/configure --enable-cxx --enable-posix --enable-networking --enable-rdbg --enable-tests --enable-rtemsbsp=pc386 --target=i386-rtems
|
||||
$ make
|
||||
$ make install
|
||||
|
||||
|
||||
Supported Targets
|
||||
-----------------
|
||||
At the moment, pjlib supports i386 and mpc860 CPU target. For other targets,
|
||||
you would need to create/tweak the appropriate "m-xxx.mak" in "build" directory
|
||||
and the corresponding "m_xxx.h" header file in "pj/compat" directory.
|
||||
|
||||
Please refer to pjlib porting guide about how to port PJLIB to new CPU target.
|
||||
|
||||
|
||||
Building PJLIB/PJMEDIA/PJSIP
|
||||
----------------------------
|
||||
Use the following steps to build the libraries:
|
||||
|
||||
|
||||
1. Set RTEMS_LIBRARY_PATH environment variable to point to your BSP directory
|
||||
(which is <RTEMS INSTALLATION POINT>/<BOARD SUPPORT PACKAGE>).
|
||||
|
||||
For example (with sh):
|
||||
|
||||
$ export RTEMS_LIBRARY_PATH=/opt/rtems-4.6/i386-rtems/pc386
|
||||
|
||||
|
||||
2. Unfortunately pjproject's configure script is unable to create "build.mak"
|
||||
for cross compilation (but this may change in the future), so we need to
|
||||
create "build.mak" manually.
|
||||
|
||||
The file "README-configure" has some info about the variables in "build.mak".
|
||||
|
||||
For example, the "build.mak" for i386 target:
|
||||
|
||||
export MACHINE_NAME := i386
|
||||
export OS_NAME := rtems
|
||||
export HOST_NAME := mingw
|
||||
export CC_NAME := gcc
|
||||
export TARGET_NAME := i386-rtems
|
||||
export CROSS_COMPILE := i386-rtems-
|
||||
|
||||
|
||||
3. Put additional CFLAGS or LDFLAGS that are specific to your target in
|
||||
"user.mak".
|
||||
|
||||
For example, my "user.mak" looks like this:
|
||||
|
||||
export CFLAGS +=
|
||||
export LDFLAGS += -Wl,-Ttext,0x00100000 -Wl,--defsym -Wl,HeapSize=0x400000
|
||||
|
||||
|
||||
4. Build the libraries:
|
||||
|
||||
$ make dep && make distclean && make
|
||||
|
||||
|
||||
5. That should be it. The libraries should be in "lib" directory and
|
||||
applications in "bin" directory.
|
||||
|
||||
|
||||
|
||||
Acknowledgements
|
||||
----------------
|
||||
Many thanks for Phil Torre <ptorre at zetron dot com>, who did most of the
|
||||
initial porting and testing with pjlib etc. All credits go to him.
|
||||
|
||||
|
||||
|
964
res/pjproject/README.txt
Normal file
964
res/pjproject/README.txt
Normal file
@@ -0,0 +1,964 @@
|
||||
Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation, either version 2 of the License, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
|
||||
Getting Started: Building and Using PJSIP and PJMEDIA
|
||||
|
||||
[Last Update: $Date$]
|
||||
|
||||
Print Friendly Page
|
||||
_________________________________________________________________
|
||||
|
||||
This article describes how to download, customize, build, and use the open
|
||||
source PJSIP and PJMEDIA SIP and media stack. The online (and HTML) version
|
||||
of this file can be downloaded from http://www.pjsip.org/using.htm
|
||||
|
||||
|
||||
Quick Info
|
||||
_________________________________________________________________
|
||||
|
||||
Building with GNU tools (Linux, *BSD, MacOS X, mingw, etc.)
|
||||
Generally these should be all that are needed to build the libraries,
|
||||
applications, and samples:
|
||||
|
||||
$ ./configure
|
||||
$ make dep && make clean && make
|
||||
|
||||
Building Win32 Target with Microsoft Visual Studio
|
||||
Generally we can just do these steps:
|
||||
|
||||
1. Visual Studio 6: open pjproject.dsw workspace,
|
||||
2. Visual Studio 2005: open pjproject-vs8.sln solution,
|
||||
3. Create an empty pjlib/include/pj/config_site.h, and
|
||||
4. build the pjsua application.
|
||||
|
||||
Building for Windows Mobile
|
||||
Generally these are all that are needed:
|
||||
|
||||
1. Open pjsip-apps/build/wince-evc4/wince_demos.vcw EVC4 workspace,
|
||||
2. Create an empty pjlib/include/pj/config_site.h, and
|
||||
3. build the pjsua_wince application.
|
||||
|
||||
Invoking Older Build System (e.g. for RTEMS)
|
||||
Generally these should be all that are needed to build the libraries,
|
||||
applications, and samples:
|
||||
|
||||
$ ./configure-legacy
|
||||
$ make dep && make clean && make
|
||||
|
||||
Locating Output Binaries/Libraries
|
||||
Libraries will be put in lib directory, and binaries will be put in
|
||||
bin directory, under each projects.
|
||||
|
||||
Running the Applications
|
||||
After successful build, you can try running pjsua application on
|
||||
pjsip-apps/bin directory. PJSUA manual can be found in
|
||||
http://www.pjsip.org/pjsua.htm page.
|
||||
|
||||
|
||||
Table of Contents:
|
||||
_________________________________________________________________
|
||||
|
||||
1. Getting the Source Distribution
|
||||
|
||||
1.1 Getting the Release tarball
|
||||
|
||||
1.2 Getting from Subversion trunk
|
||||
|
||||
1.3 Source Directories Layout
|
||||
|
||||
2. Build Preparation
|
||||
|
||||
2.1 config_site.h file
|
||||
|
||||
2.2 Disk Space Requirements
|
||||
|
||||
3. Building Linux, *nix, *BSD, and MacOS X Targets with GNU Build
|
||||
Systems
|
||||
|
||||
3.1 Supported Targets
|
||||
|
||||
3.2 Requirements
|
||||
|
||||
3.3 Running configure
|
||||
|
||||
3.4 Running make
|
||||
|
||||
3.5 Cross Compilation
|
||||
|
||||
3.6 Build Customizations
|
||||
|
||||
4. Building for Windows Targets with Microsoft Visual Studio
|
||||
|
||||
4.1 Requirements
|
||||
|
||||
4.2 Building the Projects
|
||||
|
||||
4.3 Debugging the Sample Application
|
||||
|
||||
5. Building for Windows Mobile Targets (Windows CE/WinCE/PDA/SmartPhone)
|
||||
|
||||
5.1 Requirements
|
||||
|
||||
5.2 Building the Projects
|
||||
|
||||
6. Older PJLIB Build System for Non-Autoconf Targets (e.g. RTEMS)
|
||||
|
||||
6.1 Supported Targets
|
||||
|
||||
6.2 Invoking the Build System
|
||||
|
||||
7. Running the Applications
|
||||
|
||||
7.1 pjsua
|
||||
|
||||
7.2 Sample Applications
|
||||
|
||||
7.3 pjlib-test
|
||||
|
||||
7.4 pjsip-test
|
||||
|
||||
8. Using PJPROJECT with Applications
|
||||
|
||||
|
||||
Appendix I: Common Problems/Frequently Asked Question (FAQ)
|
||||
|
||||
I.1 fatal error C1083: Cannot open include file: 'pj/config_site.h':
|
||||
No such file or directory
|
||||
|
||||
|
||||
1. Getting the Source Code Distribution
|
||||
_________________________________________________________________
|
||||
|
||||
All libraries (PJLIB, PJLIB-UTIL, PJSIP, PJMEDIA, and PJMEDIA-CODEC) are
|
||||
currently distributed under a single source tree, collectively named as
|
||||
PJPROJECT or just PJ libraries. These libraries can be obtained by either
|
||||
downloading the release tarball or getting them from the Subversion trunk.
|
||||
|
||||
|
||||
1.1 Getting the Release tarball
|
||||
_________________________________________________________________
|
||||
|
||||
Getting the released tarball is a convenient way to obtain stable version of
|
||||
PJPROJECT. The tarball may not contain the latest features or bug-fixes, but
|
||||
normally it is considered more stable as each will be tested more rigorously
|
||||
before released.
|
||||
|
||||
The latest released tarball can be downloaded from the
|
||||
http://www.pjsip.org/download.htm.
|
||||
|
||||
|
||||
1.2 Getting from Subversion trunk
|
||||
_________________________________________________________________
|
||||
|
||||
PJPROJECT Subversion repository will always contain the latest/most
|
||||
up-to-date version of the sources. Normally the Subversion repository is
|
||||
always kept in a "good" state. However, there's always a chance that things
|
||||
break and the tree doesn't build correctly (particularly for the
|
||||
"not-so-popular" targets), so please consult the mailing list should there
|
||||
be any problems.
|
||||
|
||||
Using Subversion also has benefits of keeping the local copy of the source
|
||||
up to date with the main PJ source tree and to easily track the changes made
|
||||
to the local copy, if any.
|
||||
|
||||
|
||||
What is Subversion
|
||||
|
||||
Subversion (SVN) is Open Source version control system similar to CVS.
|
||||
Subversion homepage is in http://subversion.tigris.org/
|
||||
|
||||
|
||||
Getting Subversion Client
|
||||
|
||||
A Subversion (SVN) client is needed to download the PJ source files from
|
||||
pjsip.org SVN tree. SVN client binaries can be downloaded from
|
||||
http://subversion.tigris.org/, and the program should be available for
|
||||
Windows, Linux, MacOS X, and many more platforms.
|
||||
|
||||
|
||||
Getting the Source for The First Time
|
||||
|
||||
Once Subversion client is installed, we can use these commands to initially
|
||||
retrieve the latest sources from the Subversion trunk:
|
||||
|
||||
|
||||
|
||||
$ svn co http://svn.pjproject.net/repos/pjproject/trunk pjproject
|
||||
$ cd pjproject
|
||||
|
||||
|
||||
Keeping The Local Copy Up-to-Date
|
||||
|
||||
Once sources have been downloaded, we can keep the local copy up to date by
|
||||
periodically synchronizing the local source with the latest revision from
|
||||
the PJ's Subversion trunk. The mailing list provides best source of
|
||||
information about the availability of new updates in the trunk.
|
||||
|
||||
To update the local copy with the latest changes in the main PJ's
|
||||
repository:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ svn update
|
||||
|
||||
|
||||
Tracking Local and Remote Changes
|
||||
|
||||
To see what files have been changed locally:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ svn status
|
||||
|
||||
The above command only compares local file against the original local copy,
|
||||
so it doesn't require Internet connection while performing the check.
|
||||
|
||||
To see both what files have been changed locally and what files have been
|
||||
updated in the PJ's Subversion repository:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ svn status -u
|
||||
|
||||
Note that this command requires active Internet connection to query the
|
||||
status of PJPROJECT's source repository.
|
||||
|
||||
|
||||
1.3 Source Directories Layout
|
||||
_________________________________________________________________
|
||||
|
||||
Top-Level Directory Layout
|
||||
|
||||
The top-level directories (denoted as $TOP here) in the source distribution
|
||||
contains the following sub-directories:
|
||||
|
||||
$TOP/build
|
||||
Contains makefiles that are common for all projects.
|
||||
|
||||
$TOP/pjlib
|
||||
Contains header and source files of PJLIB. PJLIB is the base
|
||||
portability and framework library which is used by all other
|
||||
libraries
|
||||
|
||||
$TOP/pjlib-util
|
||||
Contains PJLIB-UTIL header and source files. PJLIB-UTIL is an
|
||||
auxiliary library that contains utility functions such as scanner,
|
||||
XML, STUN, MD5 algorithm, getopt() implementation, etc.
|
||||
|
||||
$TOP/pjmedia
|
||||
Contains PJMEDIA and PJMEDIA-CODEC header and source files. The
|
||||
sources of various codecs (such as GSM, Speex, and iLBC) can be found
|
||||
under this directory.
|
||||
|
||||
$TOP/pjsip
|
||||
Contains PJSIP header and source files.
|
||||
|
||||
$TOP/pjsip-apps
|
||||
Contains source code for PJSUA and various sample applications.
|
||||
|
||||
|
||||
Individual Directory Inside Each Project
|
||||
|
||||
Each library directory further contains these sub-directories:
|
||||
|
||||
bin
|
||||
Contains binaries produced by the build process.
|
||||
|
||||
build
|
||||
Contains build scripts/makefiles, project files, project workspace,
|
||||
etc. to build the project. In particular, it contains one Makefile
|
||||
file to build the project with GNU build systems, and a *.dsw
|
||||
workspace file to build the library with Microsoft Visual Studio 6 or
|
||||
later.
|
||||
|
||||
build/output
|
||||
The build/output directory contains the object files and other files
|
||||
generated by the build process. To support building multiple targets
|
||||
with a single source tree, each build target will occupy a different
|
||||
subdirectory under this directory.
|
||||
|
||||
build/wince-evc4
|
||||
This directory contains the project/workspace files to build Windows
|
||||
CE/WinCE version of the project using Microsoft Embedded Visual C++
|
||||
4.
|
||||
|
||||
build/wince-evc4/output
|
||||
This directory contains the library, executable, and object files
|
||||
generated by Windows Mobile build process.
|
||||
|
||||
docs
|
||||
Contains Doxygen configuration file (doxygen.cfg) to generate online
|
||||
documentation from the source files. The output documentation will be
|
||||
put in this directory as well (for example, docs/html directory for
|
||||
the HTML files).
|
||||
|
||||
(to generate Doxygen documentation from the source tree, just run
|
||||
"doxygen docs/doxygen.cfg" in the individual project directory. The
|
||||
generated files will reside in docs directory).
|
||||
|
||||
include
|
||||
Contains the header files for the project.
|
||||
|
||||
lib
|
||||
Contains libraries produced by the build process.
|
||||
|
||||
src
|
||||
Contains the source files of the project.
|
||||
|
||||
|
||||
2. Build Preparation
|
||||
_________________________________________________________________
|
||||
|
||||
2.1 Create config_site.h file
|
||||
_________________________________________________________________
|
||||
|
||||
Before source files can be built, the pjlib/include/pj/config_site.h file
|
||||
must be created (it can just be an empty file).
|
||||
|
||||
Note:
|
||||
When the Makefile based build system is used, this process is taken
|
||||
care by the Makefiles. But when non-Makefile based build system (such
|
||||
as Visual Studio) is used, the config_site.h file must be created
|
||||
manually.
|
||||
|
||||
|
||||
What is config_site.h File
|
||||
|
||||
The pjlib/include/pj/config_site.h contains local customizations to the
|
||||
libraries.
|
||||
|
||||
All customizations should be put in this file instead of modifying PJ's
|
||||
files, because if PJ's files get modified, then those modified files will
|
||||
not be updated the next time the source is synchronized. Or in other case,
|
||||
the local modification may be overwritten with the fresh copy from the SVN.
|
||||
|
||||
Putting the local customization to the config_site.h solves this problem,
|
||||
because this file is not included in the version control, so it will never
|
||||
be overwritten by "svn update" command.
|
||||
|
||||
Please find list of configuration macros that can be overriden from these
|
||||
files:
|
||||
* PJLIB Configuration (the pjlib/config.h file)
|
||||
* PJLIB-UTIL Configuration (the pjlib-util/config.h file)
|
||||
* PJMEDIA Configuration (the pjmedia/config.h file)
|
||||
* PJSIP Configuration (the pjsip/sip_config.h file)
|
||||
|
||||
A sample config_site.h file is also available in
|
||||
pjlib/include/config_site_sample.h.
|
||||
|
||||
|
||||
Creating config_site.h file
|
||||
|
||||
The simplest way is just to create an empty file, to use whetever default
|
||||
values set by the libraries.
|
||||
|
||||
Another way to create the config_site.h file is to write something like the
|
||||
following:
|
||||
|
||||
|
||||
// Uncomment to get minimum footprint (suitable for 1-2 concurrent calls
|
||||
only)
|
||||
//#define PJ_CONFIG_MINIMAL_SIZE
|
||||
// Uncomment to get maximum performance
|
||||
//#define PJ_CONFIG_MAXIMUM_SPEED
|
||||
#include <pj/config_site_sample.h>
|
||||
|
||||
|
||||
2.2 Disk Space Requirements
|
||||
_________________________________________________________________
|
||||
|
||||
The building process needs:
|
||||
about 50-60 MB of disk space to store the uncompressed source files, and
|
||||
* about 30-50 MB of additional space for building each target
|
||||
|
||||
(Visual Studio Debug and Release are considered as separate targets)
|
||||
|
||||
|
||||
3. Building Linux, *nix, *BSD, and MacOS X Targets with GNU Build Systems
|
||||
_________________________________________________________________
|
||||
|
||||
3.1 Supported Targets
|
||||
_________________________________________________________________
|
||||
|
||||
The new, autoconf based GNU build system can be used to build the
|
||||
libraries/applications for the following targets:
|
||||
* Linux/uC-Linux (i386, Opteron, Itanium, MIPS, PowerPC, etc.),
|
||||
* MacOS X (PowerPC),
|
||||
* mingw (i386),
|
||||
* FreeBSD and maybe other BSD's (i386, Opteron, etc.),
|
||||
* RTEMS with cross compilation (ARM, powerpc),
|
||||
* etc.
|
||||
|
||||
|
||||
3.2 Requirements
|
||||
_________________________________________________________________
|
||||
|
||||
In order to use PJ's GNU build system, these typical GNU tools are needed:
|
||||
* GNU make (other make will not work),
|
||||
* GNU binutils for the target, and
|
||||
* GNU gcc for the target.
|
||||
* OpenSSL header files/libraries (optional) if TLS support is wanted.
|
||||
|
||||
In addition, the appropriate "SDK" must be installed for the particular
|
||||
target (this could just be a libc and the appropriate system abstraction
|
||||
library such as Posix).
|
||||
|
||||
The build system is known to work on the following hosts:
|
||||
* Linux, many types of distributions.
|
||||
* MacOS X 10.2
|
||||
* mingw (Win2K, XP)
|
||||
* FreeBSD (must use gmake instead of make)
|
||||
|
||||
Building Win32 applications with Cygwin is currently not supported by the
|
||||
autoconf script (there is some Windows header conflicts), but one can still
|
||||
use the old configure script by calling ./configure-legacy. More over,
|
||||
cross-compilations might also work with Cygwin.
|
||||
|
||||
|
||||
3.3 Running configure
|
||||
_________________________________________________________________
|
||||
|
||||
Using Default Settings
|
||||
|
||||
Run "./configure" without any options to let the script detect the
|
||||
appropriate settings for the host:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ ./configure
|
||||
...
|
||||
|
||||
Notes:
|
||||
The default settings build the libraries in "release" mode, with
|
||||
default CFLAGS set to "-O2 -DNDEBUG". To change the default CFLAGS,
|
||||
we can use the usual "./configure CFLAGS='-g'" construct.
|
||||
|
||||
Features Customization
|
||||
|
||||
With the new autoconf based build system, most configuration/customization
|
||||
can be specified as configure arguments. The list of customizable features
|
||||
can be viewed by running "./configure --help" command:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ ./configure --help
|
||||
...
|
||||
Optional Features:
|
||||
--disable-floating-point Disable floating point where possible
|
||||
--disable-sound Exclude sound (i.e. use null sound)
|
||||
--disable-small-filter Exclude small filter in resampling
|
||||
--disable-large-filter Exclude large filter in resampling
|
||||
--disable-g711-plc Exclude G.711 Annex A PLC
|
||||
--disable-speex-aec Exclude Speex Acoustic Echo Canceller/AEC
|
||||
--disable-g711-codec Exclude G.711 codecs from the build
|
||||
--disable-l16-codec Exclude Linear/L16 codec family from the build
|
||||
--disable-gsm-codec Exclude GSM codec in the build
|
||||
--disable-speex-codec Exclude Speex codecs in the build
|
||||
--disable-ilbc-codec Exclude iLBC codec in the build
|
||||
--disable-tls Force excluding TLS support (default is autodetected based on
|
||||
OpenSSL availability)
|
||||
...
|
||||
|
||||
Configuring Debug Version and Other Customizations
|
||||
|
||||
The configure script accepts standard customization, which details can be
|
||||
obtained by executing ./configure --help.
|
||||
|
||||
Below is an example of specifying CFLAGS in configure:
|
||||
|
||||
|
||||
|
||||
$ ./configure CFLAGS="-O3 -DNDEBUG -msoft-float -fno-builtin"
|
||||
...
|
||||
|
||||
Configuring TLS Support
|
||||
|
||||
By default, TLS support is configured based on the availability of OpenSSL
|
||||
header files and libraries. If OpenSSL is available at the default include
|
||||
and library path locations, TLS will be enabled by the configure script.
|
||||
|
||||
You can explicitly disable TLS support by giving the configure script
|
||||
--disable-tls option.
|
||||
|
||||
|
||||
3.4 Cross Compilation
|
||||
_________________________________________________________________
|
||||
|
||||
Cross compilation should be supported, using the usual autoconf syntax:
|
||||
|
||||
|
||||
|
||||
$ ./configure --host=arm-elf-linux
|
||||
...
|
||||
|
||||
Since cross-compilation is not tested as often as the "normal" build, please
|
||||
watch for the ./configure output for incorrect settings (well ideally this
|
||||
should be done for normal build too).
|
||||
|
||||
Please refer to Porting Guide for further information about porting PJ
|
||||
software.
|
||||
|
||||
|
||||
3.5 Running make
|
||||
_________________________________________________________________
|
||||
|
||||
Once the configure script completes successfully, start the build process by
|
||||
invoking these commands:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ make dep
|
||||
$ make
|
||||
|
||||
Note:
|
||||
gmake may need to be specified instead of make for some hosts, to
|
||||
invoke GNU make instead of the native make.
|
||||
|
||||
|
||||
Description of all make targets supported by the Makefile's:
|
||||
|
||||
all
|
||||
The default (or first) target to build the libraries/binaries.
|
||||
|
||||
dep, depend
|
||||
Build dependencies rule from the source files.
|
||||
|
||||
clean
|
||||
Clean the object files for current target, but keep the output
|
||||
library/binary files intact.
|
||||
|
||||
distclean, realclean
|
||||
Remove all generated files (object, libraries, binaries, and
|
||||
dependency files) for current target.
|
||||
|
||||
|
||||
Note:
|
||||
make can be invoked either in the top-level PJ directory or in build
|
||||
directory under each project to build only the particular project.
|
||||
|
||||
|
||||
3.6 Build Customizations
|
||||
_________________________________________________________________
|
||||
|
||||
Build features can be customized by specifying the options when running
|
||||
./configure as described in Running Configure above.
|
||||
|
||||
In addition, additional CFLAGS and LDFLAGS options can be put in user.mak
|
||||
file in PJ root directory (this file may need to be created if it doesn't
|
||||
exist). Below is a sample of user.mak file contents:
|
||||
|
||||
|
||||
|
||||
export CFLAGS += -msoft-float -fno-builtin
|
||||
export LDFLAGS +=
|
||||
|
||||
|
||||
4. Building for Windows Targets with Microsoft Visual Studio
|
||||
_________________________________________________________________
|
||||
|
||||
4.1 Requirements
|
||||
_________________________________________________________________
|
||||
|
||||
The Microsoft Visual Studio based project files can be used with one of the
|
||||
following:
|
||||
|
||||
* Microsoft Visual Studio 6,
|
||||
* Microsoft Visual Studio .NET 2002,
|
||||
* Microsoft Visual Studio .NET 2003,
|
||||
* Microsoft Visual C++ 2005 (including Express edition),
|
||||
|
||||
In addition, the following SDK's are needed:
|
||||
* Platform SDK, if you're using Visual Studio 2005 Express (tested with
|
||||
Platform SDK for Windows Server 2003 SP1),
|
||||
* DirectX SDK (tested with DirectX version 8 and 9),
|
||||
* OpenSSL development kit would be needed if TLS support is wanted, or
|
||||
otherwise this is optional.
|
||||
|
||||
For the host, the following are required:
|
||||
* Windows NT, 2000, XP, 2003, or later ,
|
||||
* Windows 95/98 should work too, but this has not been tested,
|
||||
* Sufficient amount of RAM for the build process (at least 256MB).
|
||||
|
||||
|
||||
Enabling TLS Support with OpenSSL
|
||||
|
||||
If TLS support is wanted, then OpenSSL SDK must be installed in the
|
||||
development host.
|
||||
|
||||
To install OpenSSL SDK from the Win32 binary distribution:
|
||||
1. Install OpenSSL SDK to any folder (e.g. C:\OpenSSL)
|
||||
2. Add OpenSSL DLL location to the system PATH.
|
||||
3. Add OpenSSL include path to Visual Studio includes search directory.
|
||||
Make sure that OpenSSL header files can be accessed from the program
|
||||
with #include <openssl/ssl.h> construct.
|
||||
4. Add OpenSSL library path to Visual Studio library search directory. Make
|
||||
sure the following libraries are accessible:
|
||||
+ For Debug build: libeay32MTd and ssleay32MTd.
|
||||
+ For Release build: libeay32MT and ssleay32MT.
|
||||
|
||||
Then to enable TLS transport support in PJSIP, just add
|
||||
|
||||
#define PJSIP_HAS_TLS_TRANSPORT 1
|
||||
|
||||
in your pj/config_site.h. When this macro is defined, OpenSSL libraries will
|
||||
be automatically linked to the application via the #pragma construct in
|
||||
sip_transport_tls_ossl.c file.
|
||||
|
||||
|
||||
4.2 Building the Projects
|
||||
_________________________________________________________________
|
||||
|
||||
Follow the steps below to build the libraries/application using Visual
|
||||
Studio:
|
||||
1. For Visual Studio 6: open pjproject.dsw workspace file.
|
||||
2. For Visual Studio 8 (VS 2005): open pjproject-vs8.sln solution file.
|
||||
3. Set pjsua as Active Project.
|
||||
4. Select Debug or Release build as appropriate.
|
||||
5. Build the project. This will build pjsua application and all libraries
|
||||
needed by pjsua.
|
||||
6. After successful build, the pjsua application will be placed in
|
||||
pjsip-apps/bin directory, and the libraries in lib directory under each
|
||||
projects.
|
||||
|
||||
To build the samples:
|
||||
1. (Still using the same workspace)
|
||||
2. Set samples project as Active Project
|
||||
3. Select Debug or Release build as appropriate.
|
||||
4. Build the project. This will build all sample applications and all
|
||||
libraries needed.
|
||||
5. After successful build, the sample applications will be placed in
|
||||
pjsip-apps/bin/samples directory, and the libraries in lib directory
|
||||
under each projects.
|
||||
|
||||
4.3 Debugging the Sample Application
|
||||
_________________________________________________________________
|
||||
|
||||
The sample applications are build using Samples.mak makefile, therefore it
|
||||
is difficult to setup debugging session in Visual Studio for these
|
||||
applications. To solve this issue, the pjsip_apps workspace contain one
|
||||
project called sample_debug which can be used to debug the sample
|
||||
application.
|
||||
|
||||
To setup debugging using sample_debug project:
|
||||
1. (Still using pjsip_apps workspace)
|
||||
2. Set sample_debug project as Active Project
|
||||
3. Edit debug.c file inside this project.
|
||||
4. Modify the #include line to include the particular sample application to
|
||||
debug
|
||||
5. Select Debug build.
|
||||
6. Build and debug the project.
|
||||
|
||||
|
||||
5. Building for Windows Mobile Targets (Windows CE/WinCE/PDA/SmartPhone)
|
||||
_________________________________________________________________
|
||||
|
||||
PJ supports building SIP and media stacks and applications for Windows
|
||||
Mobile targets. A very simple WinCE SIP user agent (with media) application
|
||||
is provided just as proof of concept that the port works.
|
||||
|
||||
5.1 Requirements
|
||||
_________________________________________________________________
|
||||
|
||||
One of the following development tools is needed to build SIP and media
|
||||
components for Windows Mobile:
|
||||
* Microsoft Embedded Visual C++ 4 with appropriate SDKs, or
|
||||
* Microsoft Visual Studio 2005 for Windows Mobile with appropriate SDKs.
|
||||
|
||||
Note that VS2005 is not directly supported (as I don't have the tools), but
|
||||
it is reported to work (I assumed that VS2005 for Windows Mobile can import
|
||||
EVC4 workspace file).
|
||||
|
||||
5.2 Building the Projects
|
||||
_________________________________________________________________
|
||||
|
||||
The Windows Mobile port is included in the main source distribution. Please
|
||||
follow the following steps to build the WinCE libraries and sample
|
||||
application:
|
||||
1. Open pjsip-apps/build/wince-evc4/wince_demos.vcw workspace file. If
|
||||
later version of EVC4 is being used, this may cause the workspace file
|
||||
to be converted to the appropriate format.
|
||||
2. Select pjsua_wince project as the Active Project.
|
||||
3. Select the appropriate SDK (for example Pocket PC 2003 SDK or SmartPhone
|
||||
2003 SDK)
|
||||
4. Select the appropriate configuration (for example, Win32 (WCE Emulator
|
||||
Debug) to debug the program in emulator, or other configurations such as
|
||||
ARMV4, MIPS, SH3, SH4, or whatever suitable for the device)
|
||||
5. Select the appropriate device (Emulator or the actual Device).
|
||||
6. Build the project. This will build the sample WinCE application and all
|
||||
libraries (SIP, Media, etc.) needed by this application.
|
||||
|
||||
Notes
|
||||
|
||||
+ If the config_site.h includes config_site_sample.h file, then
|
||||
there are certain configuration in config_site_sample.h that get
|
||||
activated for Windows CE targets. Please make sure that these
|
||||
configurations are suitable for the application.
|
||||
+ The libraries, binaries and object files produced by the build
|
||||
process are located under build/wince-evc4/output directory of each
|
||||
projects.
|
||||
|
||||
|
||||
6. Older PJLIB Build System for Non-Autoconf Targets (e.g. RTEMS)
|
||||
_________________________________________________________________
|
||||
|
||||
The old PJLIB build system can still be used for building PJ libraries, for
|
||||
example for RTEMS target. Please see the Porting PJLIB page in PJLIB
|
||||
Reference documentation for information on how to support new target using
|
||||
this build system.
|
||||
|
||||
6.1 Supported Targets
|
||||
_________________________________________________________________
|
||||
|
||||
The older build system supports building PJ libraries for the following
|
||||
operating systems:
|
||||
* RTEMS
|
||||
* Linux
|
||||
* MacOS X
|
||||
* Cygwin and Mingw
|
||||
|
||||
And it supports the following target architectures:
|
||||
* i386, x86_64, itanium
|
||||
* ARM
|
||||
* mips
|
||||
* powerpc
|
||||
* mpc860
|
||||
* etc.
|
||||
|
||||
For other targets, specific files need to be added to the build system,
|
||||
please see the Porting PJLIB page in PJLIB Reference documentation for
|
||||
details.
|
||||
|
||||
6.2 Invoking the Build System
|
||||
_________________________________________________________________
|
||||
|
||||
To invoke the older build system, run the following:
|
||||
|
||||
|
||||
|
||||
$ cd pjproject
|
||||
$ ./configure-legacy
|
||||
$ make dep && make clean && make
|
||||
|
||||
|
||||
|
||||
7. Running the Applications
|
||||
_________________________________________________________________
|
||||
|
||||
Upon successful build, the output libraries (PJLIB, PJLIB-UTIL, PJMEDIA,
|
||||
PJSIP, etc.) are put under ./lib sub-directory under each project directory.
|
||||
In addition, some applications may also be built, and such applications will
|
||||
be put in ./bin sub-directory under each project directory.
|
||||
|
||||
|
||||
7.1 pjsua
|
||||
_________________________________________________________________
|
||||
|
||||
pjsua is the reference implementation for both PJSIP and PJMEDIA stack, and
|
||||
is the main target of the build system. Upon successful build, pjsua
|
||||
application will be put in pjsip-apps/bin directory.
|
||||
|
||||
pjsua manual can be found in pjsua Manual Page.
|
||||
|
||||
|
||||
7.2 Sample Applications
|
||||
_________________________________________________________________
|
||||
|
||||
Sample applications will be built with the Makefile build system. For Visual
|
||||
Studio, you have to build the samples manually by selecting and building the
|
||||
Samples project inside pjsip-apps/build/pjsip_apps.dsw project workspace.
|
||||
|
||||
Upon successful build, the sample applications are put in
|
||||
pjsip-apps/bin/samples directory.
|
||||
|
||||
The sample applications are described in PJMEDIA Samples Page and
|
||||
PJSIP Samples Page in the website.
|
||||
|
||||
|
||||
7.3 pjlib-test
|
||||
_________________________________________________________________
|
||||
|
||||
pjlib-test contains comprehensive tests for testing PJLIB functionality.
|
||||
This application will only be built when the Makefile build system is used;
|
||||
with Visual Studio, one has to open pjlib.dsw project in pjlib/build
|
||||
directory to build this application.
|
||||
|
||||
If you're porting PJLIB to new target, it is recommended to run this
|
||||
application to make sure that all functionalities works as expected.
|
||||
|
||||
|
||||
7.4 pjsip-test
|
||||
_________________________________________________________________
|
||||
|
||||
pjsip-test contains codes for testing various SIP functionalities in PJSIP
|
||||
and also to benchmark static performance metrics such as message parsing per
|
||||
second.
|
||||
|
||||
|
||||
|
||||
8. Using PJPROJECT with Applications
|
||||
_________________________________________________________________
|
||||
|
||||
Regardless of the build system being used, the following tasks are normally
|
||||
needed to be done in order to build application to use PJSIP and PJMEDIA:
|
||||
1. Put these include directories in the include search path:
|
||||
+ pjlib/include
|
||||
+ pjlib-util/include
|
||||
+ pjmedia/include
|
||||
+ pjsip/include
|
||||
2. Put these library directories in the library search path:
|
||||
+ pjlib/lib
|
||||
+ pjlib-util/lib
|
||||
+ pjmedia/lib
|
||||
+ pjsip/lib
|
||||
3. Include the relevant PJ header files in the application source file. For
|
||||
example, using these would include ALL APIs exported by PJ:
|
||||
|
||||
#include <pjlib.h>
|
||||
#include <pjlib-util.h>
|
||||
#include <pjsip.h>
|
||||
#include <pjsip_ua.h>
|
||||
#include <pjsip_simple.h>
|
||||
#include <pjsua.h>
|
||||
#include <pjmedia.h>
|
||||
#include <pjmedia-codec.h>
|
||||
(Note: the documentation of the relevant libraries should say which
|
||||
header files should be included to get the declaration of the APIs).
|
||||
4. Declare the OS macros.
|
||||
+ For Windows applications built with Visual Studio, we need to
|
||||
declare PJ_WIN32=1 macro in the project settings (declaring the
|
||||
macro in the source file may not be sufficient).
|
||||
+ For Windows Mobile applications build with Visual C++, we need to
|
||||
declare PJ_WIN32_WINCE=1 macro in the project settings.
|
||||
+ For GNU build system/autoconf based build system, we need to
|
||||
declare PJ_AUTOCONF=1 macro when compiling the applications.
|
||||
(Note: the old PJ build system requires declaring the target processor
|
||||
with PJ_M_XXX=1 macro, but this has been made obsolete. The target
|
||||
processor will be detected from compiler's predefined macro by
|
||||
pjlib/config.h file).
|
||||
5. Link with the appropriate PJ libraries. The following libraries will
|
||||
need to be included in the library link specifications:
|
||||
|
||||
pjlib
|
||||
Base library used by all libraries.
|
||||
|
||||
pjlib-util
|
||||
Auxiliary library containing scanner, XML, STUN, MD5, getopt,
|
||||
etc, used by the SIP and media stack.
|
||||
|
||||
pjsip
|
||||
SIP core stack library.
|
||||
|
||||
pjsip-ua
|
||||
SIP user agent library containing INVITE session, call
|
||||
transfer, client registration, etc.
|
||||
|
||||
pjsip-simple
|
||||
SIP SIMPLE library for base event framework, presence, instant
|
||||
messaging, etc.
|
||||
|
||||
pjsua
|
||||
High level SIP UA library, combining SIP and media stack into
|
||||
high-level easy to use API.
|
||||
|
||||
pjmedia
|
||||
The media framework.
|
||||
|
||||
pjmedia-codec
|
||||
Container library for various codecs such as GSM, Speex, and
|
||||
iLBC.
|
||||
|
||||
|
||||
Note: the actual library names will be appended with the target name and the
|
||||
build configuration. For example:
|
||||
|
||||
For Visual Studio builds
|
||||
The actual library names will look like
|
||||
pjlib-i386-win32-vc6-debug.lib,
|
||||
pjlib-i386-win32-vc6-release.lib, etc., depending on whether we
|
||||
are building the Debug or Release version of the library.
|
||||
|
||||
An easier way to link with the libraries is to include PJ
|
||||
project files in the workspace, and to configure project
|
||||
dependencies so that the application depends on the PJ
|
||||
libraries. This way, we don't need to manually add each PJ
|
||||
libraries to the input library file specification, since VS
|
||||
will automatically link the dependency libraries with the
|
||||
application.
|
||||
|
||||
For Windows Mobile builds
|
||||
Unfortunately the PJ libraries built for Windows Mobile will
|
||||
not be placed in the usual lib directory, but rather under the
|
||||
output directory under build/wince-evc4 project directory.
|
||||
|
||||
An easier way to link with the libraries is to include PJ
|
||||
project files in the workspace, and to configure project
|
||||
dependencies so that the application depends on the PJ
|
||||
libraries. This way, we don't need to manually add each PJ
|
||||
libraries to the input library file specification, since VS
|
||||
will automatically link the dependency libraries with the
|
||||
application.
|
||||
|
||||
For GNU builds
|
||||
Application's Makefile can get the PJ library suffix by
|
||||
including PJ's build.mak file from the root PJ directory (the
|
||||
suffix is contained in TARGET_NAME variable). For example, to
|
||||
link with PJLIB and PJMEDIA, we can use this syntax in the
|
||||
LDFLAGS: "-lpj-$(TARGET_NAME) -lpjmedia-$(TARGET_NAME)"
|
||||
|
||||
|
||||
6. Link with system spesific libraries:
|
||||
|
||||
Windows
|
||||
Add (among other things): wsock32.lib, ws2_32.lib, ole32.lib,
|
||||
dsound.lib
|
||||
|
||||
Linux, *nix, *BSD
|
||||
Add (among other things): '-lpthread -lm' (at least).
|
||||
|
||||
MacOS X
|
||||
Add (among other things): '-framework CoreAudio -lpthread -lm'.
|
||||
|
||||
|
||||
Appendix I: Common Problems/Frequently Asked Question (FAQ)
|
||||
_________________________________________________________________
|
||||
|
||||
I.1 fatal error C1083: Cannot open include file: 'pj/config_site.h': No such
|
||||
file or directory
|
||||
|
||||
This error normally occurs when the config_site.h file has not been created.
|
||||
This file needs to be created manually (an empty file is sufficient). Please
|
||||
follow the Build Preparation instructions above to create this file.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Feedback:
|
||||
Thanks for using PJ libraries and for reading this document. Please
|
||||
send feedbacks or general comments to <bennylp at pjsip dot org>.
|
||||
|
8401
res/pjproject/aconfigure
Executable file
8401
res/pjproject/aconfigure
Executable file
File diff suppressed because it is too large
Load Diff
1416
res/pjproject/aconfigure.ac
Normal file
1416
res/pjproject/aconfigure.ac
Normal file
File diff suppressed because it is too large
Load Diff
150
res/pjproject/build.mak.in
Normal file
150
res/pjproject/build.mak.in
Normal file
@@ -0,0 +1,150 @@
|
||||
export PJDIR := @ac_pjdir@
|
||||
include $(PJDIR)/version.mak
|
||||
export PJ_DIR := $(PJDIR)
|
||||
|
||||
# @configure_input@
|
||||
export MACHINE_NAME := auto
|
||||
export OS_NAME := auto
|
||||
export HOST_NAME := unix
|
||||
export CC_NAME := gcc
|
||||
export TARGET_NAME := @target@
|
||||
export CROSS_COMPILE := @ac_cross_compile@
|
||||
export LINUX_POLL := @ac_linux_poll@
|
||||
export SHLIB_SUFFIX := @ac_shlib_suffix@
|
||||
|
||||
export ac_prefix := @prefix@
|
||||
|
||||
LIB_SUFFIX = $(TARGET_NAME).a
|
||||
|
||||
# Determine which party libraries to use
|
||||
export APP_THIRD_PARTY_LIBS := -lmilenage-$(TARGET_NAME) -lsrtp-$(TARGET_NAME)
|
||||
export APP_THIRD_PARTY_EXT :=
|
||||
export APP_THIRD_PARTY_LIB_FILES := $(PJ_DIR)/third_party/lib/libmilenage-$(LIB_SUFFIX) $(PJ_DIR)/third_party/lib/libsrtp-$(LIB_SUFFIX)
|
||||
|
||||
ifeq (@ac_resample_dll@,1)
|
||||
export PJ_RESAMPLE_DLL := 1
|
||||
export APP_THIRD_PARTY_LIBS := -lresample $(APP_THIRD_PARTY_LIBS)
|
||||
export APP_THIRD_PARTY_LIB_FILES := $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX) $(APP_THIRD_PARTY_LIB_FILES)
|
||||
else
|
||||
export APP_THIRD_PARTY_LIBS := -lresample-$(TARGET_NAME) $(APP_THIRD_PARTY_LIBS)
|
||||
export APP_THIRD_PARTY_LIB_FILES := $(PJ_DIR)/third_party/lib/libresample-$(LIB_SUFFIX) $(APP_THIRD_PARTY_LIB_FILES)
|
||||
endif
|
||||
|
||||
ifneq (@ac_no_gsm_codec@,1)
|
||||
ifeq (@ac_external_gsm@,1)
|
||||
# External GSM library
|
||||
APP_THIRD_PARTY_EXT += -lgsm
|
||||
else
|
||||
APP_THIRD_PARTY_LIBS += -lgsmcodec-$(TARGET_NAME)
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec-$(LIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq (@ac_no_speex_codec@,1)
|
||||
ifeq (@ac_external_speex@,1)
|
||||
APP_THIRD_PARTY_EXT += -lspeex -lspeexdsp
|
||||
else
|
||||
APP_THIRD_PARTY_LIBS += -lspeex-$(TARGET_NAME)
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex-$(LIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq (@ac_no_ilbc_codec@,1)
|
||||
APP_THIRD_PARTY_LIBS += -lilbccodec-$(TARGET_NAME)
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec-$(LIB_SUFFIX)
|
||||
endif
|
||||
|
||||
ifneq (@ac_no_g7221_codec@,1)
|
||||
APP_THIRD_PARTY_LIBS += -lg7221codec-$(TARGET_NAME)
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec-$(LIB_SUFFIX)
|
||||
endif
|
||||
|
||||
ifneq ($(findstring pa,@ac_pjmedia_snd@),)
|
||||
ifeq (@ac_external_pa@,1)
|
||||
# External PA
|
||||
APP_THIRD_PARTY_EXT += -lportaudio
|
||||
else
|
||||
APP_THIRD_PARTY_LIBS += -lportaudio-$(TARGET_NAME)
|
||||
APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio-$(LIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Additional flags
|
||||
@ac_build_mak_vars@
|
||||
|
||||
#
|
||||
# Video
|
||||
# Note: there are duplicated macros in pjmedia/os-auto.mak.in (and that's not
|
||||
# good!
|
||||
|
||||
# SDL flags
|
||||
SDL_CFLAGS = @ac_sdl_cflags@
|
||||
SDL_LDFLAGS = @ac_sdl_ldflags@
|
||||
|
||||
# FFMPEG dlags
|
||||
FFMPEG_CFLAGS = @ac_ffmpeg_cflags@
|
||||
FFMPEG_LDFLAGS = @ac_ffmpeg_ldflags@
|
||||
|
||||
# Video4Linux2
|
||||
V4L2_CFLAGS = @ac_v4l2_cflags@
|
||||
V4L2_LDFLAGS = @ac_v4l2_ldflags@
|
||||
|
||||
# QT
|
||||
AC_PJMEDIA_VIDEO_HAS_QT = @ac_pjmedia_video_has_qt@
|
||||
QT_CFLAGS = @ac_qt_cflags@
|
||||
|
||||
# iOS
|
||||
IOS_CFLAGS = @ac_ios_cflags@
|
||||
|
||||
# PJMEDIA features exclusion
|
||||
PJ_VIDEO_CFLAGS += $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \
|
||||
$(IOS_CFLAGS)
|
||||
PJ_VIDEO_LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS)
|
||||
|
||||
|
||||
# CFLAGS, LDFLAGS, and LIBS to be used by applications
|
||||
export APP_CC := @CC@
|
||||
export APP_CXX := @CXX@
|
||||
export APP_CFLAGS := -DPJ_AUTOCONF=1\
|
||||
@CFLAGS@\
|
||||
$(PJ_VIDEO_CFLAGS) \
|
||||
-I$(PJDIR)/pjlib/include\
|
||||
-I$(PJDIR)/pjlib-util/include\
|
||||
-I$(PJDIR)/pjnath/include\
|
||||
-I$(PJDIR)/pjmedia/include\
|
||||
-I$(PJDIR)/pjsip/include
|
||||
export APP_CXXFLAGS := $(APP_CFLAGS)
|
||||
export APP_LDFLAGS := -L$(PJDIR)/pjlib/lib\
|
||||
-L$(PJDIR)/pjlib-util/lib\
|
||||
-L$(PJDIR)/pjnath/lib\
|
||||
-L$(PJDIR)/pjmedia/lib\
|
||||
-L$(PJDIR)/pjsip/lib\
|
||||
-L$(PJDIR)/third_party/lib\
|
||||
$(PJ_VIDEO_LDFLAGS) \
|
||||
@LDFLAGS@
|
||||
export APP_LDLIBS := -lpjnath-$(TARGET_NAME)\
|
||||
-lpjlib-util-$(TARGET_NAME)\
|
||||
-lpj-$(TARGET_NAME)\
|
||||
@LIBS@
|
||||
export APP_LIB_FILES = $(PJ_DIR)/pjnath/lib/libpjnath-$(LIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjlib-util/lib/libpjlib-util-$(LIB_SUFFIX) \
|
||||
$(PJ_DIR)/pjlib/lib/libpj-$(LIB_SUFFIX)
|
||||
|
||||
# Here are the variabels to use if application is using the library
|
||||
# from within the source distribution
|
||||
export PJ_CC := $(APP_CC)
|
||||
export PJ_CXX := $(APP_CXX)
|
||||
export PJ_CFLAGS := $(APP_CFLAGS)
|
||||
export PJ_CXXFLAGS := $(APP_CXXFLAGS)
|
||||
export PJ_LDFLAGS := $(APP_LDFLAGS)
|
||||
export PJ_LDLIBS := $(APP_LDLIBS)
|
||||
export PJ_LIB_FILES := $(APP_LIB_FILES)
|
||||
|
||||
# And here are the variables to use if application is using the
|
||||
# library from the install location (i.e. --prefix)
|
||||
export PJ_INSTALL_DIR := @prefix@
|
||||
export PJ_INSTALL_INC_DIR := $(PJ_INSTALL_DIR)/include
|
||||
export PJ_INSTALL_LIB_DIR := $(PJ_INSTALL_DIR)/lib
|
||||
export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @CFLAGS@
|
||||
export PJ_INSTALL_CXXFLAGS := $(PJ_INSTALL_CFLAGS)
|
||||
export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDLIBS)
|
7
res/pjproject/build.symbian/00.bat
Normal file
7
res/pjproject/build.symbian/00.bat
Normal file
@@ -0,0 +1,7 @@
|
||||
@rem set MWSym2Libraries=1
|
||||
@rem set EPOCROOT=\Symbian\9.1\S60_3rd\
|
||||
@rem set EPOCROOT=\Symbian\9.1\S60_3rd_MR_2\
|
||||
@rem set EPOCROOT=\Symbian\UIQ3SDK\
|
||||
@rem set EPOCROOT=\symbian\UIQ3.1\
|
||||
@rem set EPOCROOT=\symbian\9.2\S60_3rd_FP1\
|
||||
bldmake bldfiles
|
7
res/pjproject/build.symbian/01.bat
Normal file
7
res/pjproject/build.symbian/01.bat
Normal file
@@ -0,0 +1,7 @@
|
||||
@rem call abld build -v vs6 udeb
|
||||
@rem call abld build -v gcce urel
|
||||
@rem call abld build winscw udeb
|
||||
call abld build %1 %2 %3 %4
|
||||
|
||||
|
||||
|
37
res/pjproject/build.symbian/bld.inf
Normal file
37
res/pjproject/build.symbian/bld.inf
Normal file
@@ -0,0 +1,37 @@
|
||||
prj_platforms
|
||||
winscw
|
||||
armv5
|
||||
gcce
|
||||
|
||||
prj_mmpfiles
|
||||
|
||||
/* Libraries */
|
||||
pjlib.mmp
|
||||
pjlib_util.mmp
|
||||
pjnath.mmp
|
||||
pjsdp.mmp
|
||||
pjmedia.mmp
|
||||
pjsip.mmp
|
||||
pjsip_simple.mmp
|
||||
pjsip_ua.mmp
|
||||
pjsua_lib.mmp
|
||||
libsrtp.mmp
|
||||
|
||||
/* Codecs */
|
||||
libgsmcodec.mmp
|
||||
libspeexcodec.mmp
|
||||
libg7221codec.mmp
|
||||
libpassthroughcodec.mmp
|
||||
|
||||
/* Resample */
|
||||
libresample.mmp
|
||||
|
||||
/* Audio device. */
|
||||
pjmedia_audiodev.mmp
|
||||
|
||||
/* Applications */
|
||||
//symsndtest.mmp
|
||||
symbian_ua.mmp
|
||||
..\pjsip-apps\src\symbian_ua_gui\group\symbian_ua_gui.mmp
|
||||
gnumakefile ..\pjsip-apps\src\symbian_ua_gui\group\Icons_aif_scalable_dc.mk
|
||||
pjlib_test.mmp
|
56
res/pjproject/build.symbian/libg7221codec.mmp
Normal file
56
res/pjproject/build.symbian/libg7221codec.mmp
Normal file
@@ -0,0 +1,56 @@
|
||||
TARGET libg7221codec.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
//OPTION CW -lang c++
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// GSM codec third party source
|
||||
//
|
||||
|
||||
SOURCEPATH ..\third_party\g7221\common
|
||||
|
||||
SOURCE basic_op.c
|
||||
SOURCE common.c
|
||||
SOURCE huff_tab.c
|
||||
SOURCE tables.c
|
||||
|
||||
SOURCEPATH ..\third_party\g7221\decode
|
||||
|
||||
SOURCE coef2sam.c
|
||||
SOURCE dct4_s.c
|
||||
SOURCE decoder.c
|
||||
|
||||
SOURCEPATH ..\third_party\g7221\encode
|
||||
|
||||
SOURCE dct4_a.c
|
||||
SOURCE encoder.c
|
||||
SOURCE sam2coef.c
|
||||
|
||||
|
||||
//
|
||||
// GSM codec wrapper for pjmedia-codec
|
||||
//
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia-codec
|
||||
SOURCE g7221.c
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\third_party
|
||||
SYSTEMINCLUDE ..\third_party\g7221\common
|
||||
SYSTEMINCLUDE ..\third_party\g7221\decode
|
||||
SYSTEMINCLUDE ..\third_party\g7221\encode
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
72
res/pjproject/build.symbian/libgsmcodec.mmp
Normal file
72
res/pjproject/build.symbian/libgsmcodec.mmp
Normal file
@@ -0,0 +1,72 @@
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET libgsmcodec.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA000000F
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjlib.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\libgsmcodec.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET libgsmcodec.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
//OPTION CW -lang c++
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// GSM codec third party source
|
||||
//
|
||||
|
||||
SOURCEPATH ..\third_party\gsm\src
|
||||
|
||||
SOURCE add.c
|
||||
SOURCE code.c
|
||||
SOURCE debug.c
|
||||
SOURCE decode.c
|
||||
SOURCE gsm_create.c
|
||||
SOURCE gsm_decode.c
|
||||
SOURCE gsm_destroy.c
|
||||
SOURCE gsm_encode.c
|
||||
SOURCE gsm_explode.c
|
||||
SOURCE gsm_implode.c
|
||||
SOURCE gsm_option.c
|
||||
SOURCE gsm_print.c
|
||||
SOURCE long_term.c
|
||||
SOURCE lpc.c
|
||||
SOURCE preprocess.c
|
||||
SOURCE rpe.c
|
||||
SOURCE short_term.c
|
||||
SOURCE table.c
|
||||
|
||||
|
||||
//
|
||||
// GSM codec wrapper for pjmedia-codec
|
||||
//
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia-codec
|
||||
SOURCE gsm.c
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\third_party\build\gsm
|
||||
SYSTEMINCLUDE ..\third_party\gsm\inc
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
27
res/pjproject/build.symbian/libpassthroughcodec.mmp
Normal file
27
res/pjproject/build.symbian/libpassthroughcodec.mmp
Normal file
@@ -0,0 +1,27 @@
|
||||
TARGET libpassthroughcodec.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
MACRO HAVE_CONFIG_H
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// GCCE optimization setting
|
||||
//
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
//
|
||||
// Passthrough codecs wrapper for pjmedia-codec
|
||||
//
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia-codec
|
||||
SOURCE passthrough.c
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
26
res/pjproject/build.symbian/libresample.mmp
Normal file
26
res/pjproject/build.symbian/libresample.mmp
Normal file
@@ -0,0 +1,26 @@
|
||||
TARGET libresample.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
SOURCEPATH ..\third_party\resample\src
|
||||
|
||||
//
|
||||
// GCCE optimization setting
|
||||
//
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
MACRO RESAMPLE_HAS_SMALL_FILTER=1
|
||||
MACRO RESAMPLE_HAS_LARGE_FILTER=0
|
||||
|
||||
SOURCE resamplesubs.c
|
||||
|
||||
SYSTEMINCLUDE ..\third_party\resample\include
|
||||
SYSTEMINCLUDE ..\third_party\build\resample
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
|
74
res/pjproject/build.symbian/libspeexcodec.mmp
Normal file
74
res/pjproject/build.symbian/libspeexcodec.mmp
Normal file
@@ -0,0 +1,74 @@
|
||||
TARGET libspeexcodec.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
MACRO HAVE_CONFIG_H
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// GCCE optimization setting
|
||||
//
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
//
|
||||
// Speex files
|
||||
//
|
||||
SOURCEPATH ..\third_party\speex\libspeex
|
||||
|
||||
SOURCE bits.c
|
||||
SOURCE cb_search.c
|
||||
SOURCE exc_5_64_table.c
|
||||
SOURCE exc_5_256_table.c
|
||||
SOURCE exc_8_128_table.c
|
||||
SOURCE exc_10_16_table.c
|
||||
SOURCE exc_10_32_table.c
|
||||
SOURCE exc_20_32_table.c
|
||||
SOURCE fftwrap.c
|
||||
SOURCE filterbank.c
|
||||
SOURCE filters.c
|
||||
SOURCE gain_table.c
|
||||
SOURCE gain_table_lbr.c
|
||||
SOURCE hexc_10_32_table.c
|
||||
SOURCE hexc_table.c
|
||||
SOURCE high_lsp_tables.c
|
||||
SOURCE kiss_fft.c
|
||||
SOURCE kiss_fftr.c
|
||||
SOURCE lpc.c
|
||||
SOURCE lsp.c
|
||||
SOURCE lsp_tables_nb.c
|
||||
SOURCE ltp.c
|
||||
SOURCE mdf.c
|
||||
SOURCE modes.c
|
||||
SOURCE modes_wb.c
|
||||
SOURCE nb_celp.c
|
||||
SOURCE preprocess.c
|
||||
SOURCE quant_lsp.c
|
||||
SOURCE sb_celp.c
|
||||
SOURCE smallft.c
|
||||
SOURCE speex.c
|
||||
SOURCE speex_callbacks.c
|
||||
SOURCE speex_header.c
|
||||
SOURCE stereo.c
|
||||
SOURCE vbr.c
|
||||
SOURCE vq.c
|
||||
SOURCE window.c
|
||||
|
||||
//
|
||||
// Speex codec wrapper for pjmedia-codec
|
||||
//
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia-codec
|
||||
SOURCE speex_codec.c
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
SYSTEMINCLUDE ..\third_party\speex\include\speex
|
||||
SYSTEMINCLUDE ..\third_party\speex\include
|
||||
SYSTEMINCLUDE ..\third_party\speex\symbian
|
||||
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
60
res/pjproject/build.symbian/libsrtp.mmp
Normal file
60
res/pjproject/build.symbian/libsrtp.mmp
Normal file
@@ -0,0 +1,60 @@
|
||||
TARGET libsrtp.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// GCCE optimization setting
|
||||
//
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
//
|
||||
// Speex files
|
||||
//
|
||||
SOURCEPATH ..\third_party\srtp
|
||||
|
||||
SOURCE crypto\ae_xfm\xfm.c
|
||||
SOURCE crypto\cipher\aes.c
|
||||
SOURCE crypto\cipher\aes_cbc.c
|
||||
SOURCE crypto\cipher\aes_icm.c
|
||||
SOURCE crypto\cipher\cipher.c
|
||||
SOURCE crypto\cipher\null_cipher.c
|
||||
SOURCE crypto\hash\auth.c
|
||||
SOURCE crypto\hash\hmac.c
|
||||
SOURCE crypto\hash\null_auth.c
|
||||
SOURCE crypto\hash\sha1.c
|
||||
SOURCE crypto\kernel\alloc.c
|
||||
SOURCE crypto\kernel\crypto_kernel.c
|
||||
//SOURCE crypto\kernel\err.c
|
||||
SOURCE crypto\kernel\key.c
|
||||
SOURCE crypto\math\datatypes.c
|
||||
SOURCE crypto\math\gf2_8.c
|
||||
//SOURCE crypto\math\math.c
|
||||
SOURCE crypto\math\stat.c
|
||||
SOURCE crypto\replay\rdb.c
|
||||
SOURCE crypto\replay\rdbx.c
|
||||
//SOURCE crypto\replay\ut_sim.c
|
||||
SOURCE crypto\rng\ctr_prng.c
|
||||
SOURCE crypto\rng\prng.c
|
||||
//SOURCE crypto\rng\rand_linux_kernel.c
|
||||
SOURCE crypto\rng\rand_source.c
|
||||
SOURCE pjlib\srtp_err.c
|
||||
SOURCE srtp\srtp.c
|
||||
SOURCE tables\aes_tables.c
|
||||
|
||||
//SOURCEPATH ..\pjmedia\src\pjmedia
|
||||
|
||||
//SOURCE transport_srtp.c
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
SYSTEMINCLUDE ..\third_party\srtp\include
|
||||
SYSTEMINCLUDE ..\third_party\srtp\crypto\include
|
||||
SYSTEMINCLUDE ..\third_party\build\srtp
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
80
res/pjproject/build.symbian/makedef.sh
Normal file
80
res/pjproject/build.symbian/makedef.sh
Normal file
@@ -0,0 +1,80 @@
|
||||
#!/bin/sh
|
||||
|
||||
MMP=$1
|
||||
if test "$MMP" == ""; then
|
||||
echo "Usage: makedef.sh FILE.MMP"
|
||||
echo " or makedef.sh all"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test "$MMP" == "all"; then
|
||||
. $0 pjlib.mmp
|
||||
. $0 pjlib_util.mmp
|
||||
. $0 pjnath.mmp
|
||||
. $0 pjmedia.mmp
|
||||
. $0 pjsdp.mmp
|
||||
. $0 pjsip.mmp
|
||||
. $0 pjsip_simple.mmp
|
||||
. $0 pjsip_ua.mmp
|
||||
. $0 pjsua_lib.mmp
|
||||
. $0 symbian_audio.mmp
|
||||
. $0 null_audio.mmp
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -f $MMP; then
|
||||
true
|
||||
else
|
||||
echo "Unable to open $MMP"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TARGET=`grep -w '^TARGET' $MMP | awk '{print $2}' | awk -F '.' '{print $1}' | head -1`
|
||||
DEFFILE="${TARGET}U.def"
|
||||
SOURCES=`grep -w '^SOURCE' $MMP | awk '{print $2}' | tr '\\\\' '/'`
|
||||
SOURCEPATH=`grep -w '^SOURCEPATH' $MMP | tr '\\\\' '/' | awk '{print $2}'`
|
||||
INCPATH=`grep 'INCLUDE' $MMP | awk '{print $2}' | grep pj | tr '\\\\' '/'`
|
||||
INCLUDE=""
|
||||
for INC in $INCPATH; do
|
||||
INCLUDE=`echo $INCLUDE -I$INC`
|
||||
done
|
||||
|
||||
#-- debug --
|
||||
#echo TARGET=$TARGET
|
||||
#echo SOURCES=$SOURCES
|
||||
#echo SOURCEPATH=$SOURCEPATH
|
||||
#echo INCLUDE=$INCLUDE
|
||||
#-- end --
|
||||
|
||||
echo > tmpnames.def
|
||||
|
||||
echo "${TARGET}:"
|
||||
|
||||
for file in $SOURCES; do
|
||||
#SYMBOLS=`grep PJ_DEF ${SOURCEPATH}/$file | awk -F ')' '{print $2}' | awk -F '(' '{print $1}' | awk -F '=' '{print $1}' | tr -d '[:blank:]' | sort | uniq`
|
||||
SYMBOLS=`
|
||||
cpp -DPJ_SYMBIAN=1 -DPJ_DLL -DPJ_EXPORTING=1 $INCLUDE ${SOURCEPATH}/$file 2>&1 |
|
||||
grep EXPORT_C |
|
||||
sed 's/(/;/' |
|
||||
sed 's/=/;/' |
|
||||
awk -F ';' '{print $1}' |
|
||||
awk '{print $NF}'`
|
||||
echo Processing ${SOURCEPATH}/$file..
|
||||
for SYM in $SYMBOLS; do
|
||||
echo $SYM >> tmpnames.def
|
||||
done
|
||||
done
|
||||
|
||||
echo "Writing $DEFFILE"
|
||||
echo EXPORTS > $DEFFILE
|
||||
i=0
|
||||
for SYM in `cat tmpnames.def | sort | uniq`; do
|
||||
echo " $SYM"
|
||||
i=`expr $i + 1`
|
||||
printf "\\t%-40s @ $i NONAME\\n" $SYM >> $DEFFILE
|
||||
done
|
||||
|
||||
|
||||
echo
|
||||
echo "Done. Total $i symbols exported in $DEFFILE."
|
||||
|
40
res/pjproject/build.symbian/null_audio.mmp
Normal file
40
res/pjproject/build.symbian/null_audio.mmp
Normal file
@@ -0,0 +1,40 @@
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET null_audio.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA0000000
|
||||
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjlib.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\null_audio.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET null_audio.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia
|
||||
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// Platform independent source
|
||||
//
|
||||
SOURCE nullsound.c
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
12
res/pjproject/build.symbian/null_audioU.def
Normal file
12
res/pjproject/build.symbian/null_audioU.def
Normal file
@@ -0,0 +1,12 @@
|
||||
EXPORTS
|
||||
pjmedia_snd_deinit @ 1 NONAME
|
||||
pjmedia_snd_get_dev_count @ 2 NONAME
|
||||
pjmedia_snd_get_dev_info @ 3 NONAME
|
||||
pjmedia_snd_init @ 4 NONAME
|
||||
pjmedia_snd_open @ 5 NONAME
|
||||
pjmedia_snd_open_player @ 6 NONAME
|
||||
pjmedia_snd_open_rec @ 7 NONAME
|
||||
pjmedia_snd_stream_close @ 8 NONAME
|
||||
pjmedia_snd_stream_get_info @ 9 NONAME
|
||||
pjmedia_snd_stream_start @ 10 NONAME
|
||||
pjmedia_snd_stream_stop @ 11 NONAME
|
122
res/pjproject/build.symbian/pjlib.mmp
Normal file
122
res/pjproject/build.symbian/pjlib.mmp
Normal file
@@ -0,0 +1,122 @@
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
TARGET pjlib.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA0000001
|
||||
|
||||
CAPABILITY NONE
|
||||
LIBRARY esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjlib.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjlib.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjlib\src\pj
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
//
|
||||
// Platform independent source
|
||||
//
|
||||
SOURCE activesock.c
|
||||
SOURCE array.c
|
||||
SOURCE config.c
|
||||
SOURCE ctype.c
|
||||
SOURCE errno.c
|
||||
SOURCE fifobuf.c
|
||||
SOURCE guid.c
|
||||
SOURCE hash.c
|
||||
SOURCE list.c
|
||||
SOURCE lock.c
|
||||
SOURCE string.c
|
||||
SOURCE log.c
|
||||
SOURCE os_info.c
|
||||
SOURCE os_info_symbian.cpp
|
||||
SOURCE os_time_common.c
|
||||
SOURCE pool.c
|
||||
SOURCE pool_buf.c
|
||||
SOURCE pool_caching.c
|
||||
SOURCE rand.c
|
||||
SOURCE rbtree.c
|
||||
SOURCE ssl_sock_common.c
|
||||
SOURCE ssl_sock_dump.c
|
||||
SOURCE sock_common.c
|
||||
SOURCE sock_qos_common.c
|
||||
SOURCE types.c
|
||||
|
||||
|
||||
//
|
||||
// Platform dependent source
|
||||
//
|
||||
SOURCE compat\string_compat.c
|
||||
SOURCE addr_resolv_symbian.cpp
|
||||
SOURCE exception_symbian.cpp
|
||||
SOURCE file_access_unistd.c
|
||||
SOURCE file_io_ansi.c
|
||||
SOURCE guid_simple.c
|
||||
SOURCE ioqueue_symbian.cpp
|
||||
SOURCE ip_helper_symbian.cpp
|
||||
SOURCE log_writer_symbian_console.cpp
|
||||
SOURCE os_core_symbian.cpp
|
||||
SOURCE os_error_symbian.cpp
|
||||
SOURCE os_timestamp_common.c
|
||||
SOURCE os_time_unix.c
|
||||
SOURCE os_timestamp_posix.c
|
||||
SOURCE pool_policy_new.cpp
|
||||
SOURCE ssl_sock_symbian.cpp
|
||||
SOURCE sock_symbian.cpp
|
||||
SOURCE sock_select_symbian.cpp
|
||||
SOURCE sock_qos_symbian.cpp
|
||||
SOURCE timer_symbian.cpp
|
||||
SOURCE unicode_symbian.cpp
|
||||
|
||||
//DOCUMENT os_symbian.h
|
||||
|
||||
//DOCUMENT pj\addr_resolv.h
|
||||
//DOCUMENT pj\array.h
|
||||
//DOCUMENT pj\assert.h
|
||||
//DOCUMENT pj\config.h
|
||||
//DOCUMENT pj\config_site.h
|
||||
//DOCUMENT pj\config_site_sample.h
|
||||
//DOCUMENT pj\ctype.h
|
||||
//DOCUMENT pj\errno.h
|
||||
//DOCUMENT pj\except.h
|
||||
//DOCUMENT pj\file_access.h
|
||||
//DOCUMENT pj\file_io.h
|
||||
//DOCUMENT pj\guid.h
|
||||
//DOCUMENT pj\hash.h
|
||||
//DOCUMENT pj\ioqueue.h
|
||||
//DOCUMENT pj\ip_helper.h
|
||||
//DOCUMENT pj\list.h
|
||||
//DOCUMENT pj\lock.h
|
||||
//DOCUMENT pj\log.h
|
||||
//DOCUMENT pj\os.h
|
||||
//DOCUMENT pj\\pool.h
|
||||
//DOCUMENT pj\\pool_buf.h
|
||||
//DOCUMENT pj\rand.h
|
||||
//DOCUMENT pj\rbtree.h
|
||||
//DOCUMENT pj\sock.h
|
||||
//DOCUMENT pj\sock_select.h
|
||||
//DOCUMENT pj\string.h
|
||||
//DOCUMENT pj\timer.h
|
||||
//DOCUMENT pj\types.h
|
||||
//DOCUMENT pj\unicode.h
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
|
323
res/pjproject/build.symbian/pjlibU.def
Normal file
323
res/pjproject/build.symbian/pjlibU.def
Normal file
@@ -0,0 +1,323 @@
|
||||
EXPORTS
|
||||
PJ_FD_CLR @ 1 NONAME
|
||||
PJ_FD_COUNT @ 2 NONAME
|
||||
PJ_FD_ISSET @ 3 NONAME
|
||||
PJ_FD_SET @ 4 NONAME
|
||||
PJ_FD_ZERO @ 5 NONAME
|
||||
PJ_GUID_STRING_LENGTH @ 6 NONAME
|
||||
PJ_NO_MEMORY_EXCEPTION @ 7 NONAME
|
||||
PJ_VERSION @ 8 NONAME
|
||||
pj_AF_INET @ 9 NONAME
|
||||
pj_AF_INET6 @ 10 NONAME
|
||||
pj_AF_IRDA @ 11 NONAME
|
||||
pj_AF_PACKET @ 12 NONAME
|
||||
pj_AF_UNIX @ 13 NONAME
|
||||
pj_AF_UNSPEC @ 14 NONAME
|
||||
pj_GUID_STRING_LENGTH @ 15 NONAME
|
||||
pj_IPTOS_LOWDELAY @ 16 NONAME
|
||||
pj_IPTOS_MINCOST @ 17 NONAME
|
||||
pj_IPTOS_RELIABILITY @ 18 NONAME
|
||||
pj_IPTOS_THROUGHPUT @ 19 NONAME
|
||||
pj_IP_TOS @ 20 NONAME
|
||||
pj_MSG_DONTROUTE @ 21 NONAME
|
||||
pj_MSG_OOB @ 22 NONAME
|
||||
pj_MSG_PEEK @ 23 NONAME
|
||||
pj_NO_MEMORY_EXCEPTION @ 24 NONAME
|
||||
pj_SOCK_DGRAM @ 25 NONAME
|
||||
pj_SOCK_RAW @ 26 NONAME
|
||||
pj_SOCK_RDM @ 27 NONAME
|
||||
pj_SOCK_STREAM @ 28 NONAME
|
||||
pj_SOL_IP @ 29 NONAME
|
||||
pj_SOL_IPV6 @ 30 NONAME
|
||||
pj_SOL_SOCKET @ 31 NONAME
|
||||
pj_SOL_TCP @ 32 NONAME
|
||||
pj_SOL_UDP @ 33 NONAME
|
||||
pj_SO_RCVBUF @ 34 NONAME
|
||||
pj_SO_SNDBUF @ 35 NONAME
|
||||
pj_SO_TYPE @ 36 NONAME
|
||||
pj_ansi_to_unicode @ 37 NONAME
|
||||
pj_array_erase @ 38 NONAME
|
||||
pj_array_find @ 39 NONAME
|
||||
pj_array_insert @ 40 NONAME
|
||||
pj_atexit @ 41 NONAME
|
||||
pj_atomic_add @ 42 NONAME
|
||||
pj_atomic_add_and_get @ 43 NONAME
|
||||
pj_atomic_create @ 44 NONAME
|
||||
pj_atomic_dec @ 45 NONAME
|
||||
pj_atomic_dec_and_get @ 46 NONAME
|
||||
pj_atomic_destroy @ 47 NONAME
|
||||
pj_atomic_get @ 48 NONAME
|
||||
pj_atomic_inc @ 49 NONAME
|
||||
pj_atomic_inc_and_get @ 50 NONAME
|
||||
pj_atomic_set @ 51 NONAME
|
||||
pj_caching_pool_destroy @ 52 NONAME
|
||||
pj_caching_pool_init @ 53 NONAME
|
||||
pj_create_random_string @ 54 NONAME
|
||||
pj_create_unique_string @ 55 NONAME
|
||||
pj_dump_config @ 56 NONAME
|
||||
pj_elapsed_cycle @ 57 NONAME
|
||||
pj_elapsed_msec @ 58 NONAME
|
||||
pj_elapsed_nanosec @ 59 NONAME
|
||||
pj_elapsed_time @ 60 NONAME
|
||||
pj_elapsed_usec @ 61 NONAME
|
||||
pj_enter_critical_section @ 62 NONAME
|
||||
pj_enum_ip_interface @ 63 NONAME
|
||||
pj_enum_ip_route @ 64 NONAME
|
||||
pj_exception_id_alloc @ 65 NONAME
|
||||
pj_exception_id_free @ 66 NONAME
|
||||
pj_exception_id_name @ 67 NONAME
|
||||
pj_fifobuf_alloc @ 68 NONAME
|
||||
pj_fifobuf_free @ 69 NONAME
|
||||
pj_fifobuf_init @ 70 NONAME
|
||||
pj_fifobuf_max_size @ 71 NONAME
|
||||
pj_fifobuf_unalloc @ 72 NONAME
|
||||
pj_file_close @ 73 NONAME
|
||||
pj_file_delete @ 74 NONAME
|
||||
pj_file_exists @ 75 NONAME
|
||||
pj_file_flush @ 76 NONAME
|
||||
pj_file_getpos @ 77 NONAME
|
||||
pj_file_getstat @ 78 NONAME
|
||||
pj_file_move @ 79 NONAME
|
||||
pj_file_open @ 80 NONAME
|
||||
pj_file_read @ 81 NONAME
|
||||
pj_file_setpos @ 82 NONAME
|
||||
pj_file_size @ 83 NONAME
|
||||
pj_file_write @ 84 NONAME
|
||||
pj_generate_unique_string @ 85 NONAME
|
||||
pj_get_netos_error @ 86 NONAME
|
||||
pj_get_os_error @ 87 NONAME
|
||||
pj_get_timestamp @ 88 NONAME
|
||||
pj_get_timestamp_freq @ 89 NONAME
|
||||
pj_get_version @ 90 NONAME
|
||||
pj_getaddrinfo @ 91 NONAME
|
||||
pj_getdefaultipinterface @ 92 NONAME
|
||||
pj_gethostaddr @ 93 NONAME
|
||||
pj_gethostbyname @ 94 NONAME
|
||||
pj_gethostip @ 95 NONAME
|
||||
pj_gethostname @ 96 NONAME
|
||||
pj_getpid @ 97 NONAME
|
||||
pj_gettimeofday @ 98 NONAME
|
||||
pj_hash_calc @ 99 NONAME
|
||||
pj_hash_calc_tolower @ 100 NONAME
|
||||
pj_hash_count @ 101 NONAME
|
||||
pj_hash_create @ 102 NONAME
|
||||
pj_hash_first @ 103 NONAME
|
||||
pj_hash_get @ 104 NONAME
|
||||
pj_hash_next @ 105 NONAME
|
||||
pj_hash_set @ 106 NONAME
|
||||
pj_hash_set_np @ 107 NONAME
|
||||
pj_hash_this @ 108 NONAME
|
||||
pj_htonl @ 109 NONAME
|
||||
pj_htons @ 110 NONAME
|
||||
pj_inet_addr @ 111 NONAME
|
||||
pj_inet_addr2 @ 112 NONAME
|
||||
pj_inet_aton @ 113 NONAME
|
||||
pj_inet_ntoa @ 114 NONAME
|
||||
pj_inet_ntop @ 115 NONAME
|
||||
pj_inet_ntop2 @ 116 NONAME
|
||||
pj_inet_pton @ 117 NONAME
|
||||
pj_init @ 118 NONAME
|
||||
pj_ioqueue_accept @ 119 NONAME
|
||||
pj_ioqueue_connect @ 120 NONAME
|
||||
pj_ioqueue_create @ 121 NONAME
|
||||
pj_ioqueue_destroy @ 122 NONAME
|
||||
pj_ioqueue_get_user_data @ 123 NONAME
|
||||
pj_ioqueue_is_pending @ 124 NONAME
|
||||
pj_ioqueue_name @ 125 NONAME
|
||||
pj_ioqueue_op_key_init @ 126 NONAME
|
||||
pj_ioqueue_poll @ 127 NONAME
|
||||
pj_ioqueue_post_completion @ 128 NONAME
|
||||
pj_ioqueue_recv @ 129 NONAME
|
||||
pj_ioqueue_recvfrom @ 130 NONAME
|
||||
pj_ioqueue_register_sock @ 131 NONAME
|
||||
pj_ioqueue_send @ 132 NONAME
|
||||
pj_ioqueue_sendto @ 133 NONAME
|
||||
pj_ioqueue_set_lock @ 134 NONAME
|
||||
pj_ioqueue_set_user_data @ 135 NONAME
|
||||
pj_ioqueue_unregister @ 136 NONAME
|
||||
pj_leave_critical_section @ 137 NONAME
|
||||
pj_list_erase @ 138 NONAME
|
||||
pj_list_find_node @ 139 NONAME
|
||||
pj_list_insert_after @ 140 NONAME
|
||||
pj_list_insert_before @ 141 NONAME
|
||||
pj_list_insert_nodes_after @ 142 NONAME
|
||||
pj_list_insert_nodes_before @ 143 NONAME
|
||||
pj_list_merge_first @ 144 NONAME
|
||||
pj_list_merge_last @ 145 NONAME
|
||||
pj_list_search @ 146 NONAME
|
||||
pj_list_size @ 147 NONAME
|
||||
pj_lock_acquire @ 148 NONAME
|
||||
pj_lock_create_null_mutex @ 149 NONAME
|
||||
pj_lock_create_recursive_mutex @ 150 NONAME
|
||||
pj_lock_create_semaphore @ 151 NONAME
|
||||
pj_lock_create_simple_mutex @ 152 NONAME
|
||||
pj_lock_destroy @ 153 NONAME
|
||||
pj_lock_release @ 154 NONAME
|
||||
pj_lock_tryacquire @ 155 NONAME
|
||||
pj_log @ 156 NONAME
|
||||
pj_log_1 @ 157 NONAME
|
||||
pj_log_2 @ 158 NONAME
|
||||
pj_log_3 @ 159 NONAME
|
||||
pj_log_4 @ 160 NONAME
|
||||
pj_log_5 @ 161 NONAME
|
||||
pj_log_get_decor @ 162 NONAME
|
||||
pj_log_get_level @ 163 NONAME
|
||||
pj_log_get_log_func @ 164 NONAME
|
||||
pj_log_set_decor @ 165 NONAME
|
||||
pj_log_set_level @ 166 NONAME
|
||||
pj_log_set_log_func @ 167 NONAME
|
||||
pj_log_write @ 168 NONAME
|
||||
pj_mutex_create @ 169 NONAME
|
||||
pj_mutex_create_recursive @ 170 NONAME
|
||||
pj_mutex_create_simple @ 171 NONAME
|
||||
pj_mutex_destroy @ 172 NONAME
|
||||
pj_mutex_lock @ 173 NONAME
|
||||
pj_mutex_trylock @ 174 NONAME
|
||||
pj_mutex_unlock @ 175 NONAME
|
||||
pj_ntohl @ 176 NONAME
|
||||
pj_ntohs @ 177 NONAME
|
||||
pj_pool_alloc @ 178 NONAME
|
||||
pj_pool_alloc_from_block @ 179 NONAME
|
||||
pj_pool_allocate_find @ 180 NONAME
|
||||
pj_pool_calloc @ 181 NONAME
|
||||
pj_pool_create @ 182 NONAME
|
||||
pj_pool_create_int @ 183 NONAME
|
||||
pj_pool_create_on_buf @ 184 NONAME
|
||||
pj_pool_destroy_int @ 185 NONAME
|
||||
pj_pool_factory_default_policy @ 186 NONAME
|
||||
pj_pool_factory_get_default_policy @ 187 NONAME
|
||||
pj_pool_get_capacity @ 188 NONAME
|
||||
pj_pool_get_used_size @ 189 NONAME
|
||||
pj_pool_getobjname @ 190 NONAME
|
||||
pj_pool_init_int @ 191 NONAME
|
||||
pj_pool_release @ 192 NONAME
|
||||
pj_pool_reset @ 193 NONAME
|
||||
pj_rand @ 194 NONAME
|
||||
pj_rbtree_erase @ 195 NONAME
|
||||
pj_rbtree_find @ 196 NONAME
|
||||
pj_rbtree_first @ 197 NONAME
|
||||
pj_rbtree_init @ 198 NONAME
|
||||
pj_rbtree_insert @ 199 NONAME
|
||||
pj_rbtree_last @ 200 NONAME
|
||||
pj_rbtree_max_height @ 201 NONAME
|
||||
pj_rbtree_min_height @ 202 NONAME
|
||||
pj_rbtree_next @ 203 NONAME
|
||||
pj_rbtree_prev @ 204 NONAME
|
||||
pj_register_strerror @ 205 NONAME
|
||||
pj_rwmutex_create @ 206 NONAME
|
||||
pj_rwmutex_destroy @ 207 NONAME
|
||||
pj_rwmutex_lock_read @ 208 NONAME
|
||||
pj_rwmutex_lock_write @ 209 NONAME
|
||||
pj_rwmutex_unlock_read @ 210 NONAME
|
||||
pj_rwmutex_unlock_write @ 211 NONAME
|
||||
pj_sem_create @ 212 NONAME
|
||||
pj_sem_destroy @ 213 NONAME
|
||||
pj_sem_post @ 214 NONAME
|
||||
pj_sem_trywait @ 215 NONAME
|
||||
pj_sem_wait @ 216 NONAME
|
||||
pj_set_netos_error @ 217 NONAME
|
||||
pj_set_os_error @ 218 NONAME
|
||||
pj_shutdown @ 219 NONAME
|
||||
pj_sock_accept @ 220 NONAME
|
||||
pj_sock_bind @ 221 NONAME
|
||||
pj_sock_bind_in @ 222 NONAME
|
||||
pj_sock_close @ 223 NONAME
|
||||
pj_sock_connect @ 224 NONAME
|
||||
pj_sock_getpeername @ 225 NONAME
|
||||
pj_sock_getsockname @ 226 NONAME
|
||||
pj_sock_getsockopt @ 227 NONAME
|
||||
pj_sock_listen @ 228 NONAME
|
||||
pj_sock_recv @ 229 NONAME
|
||||
pj_sock_recvfrom @ 230 NONAME
|
||||
pj_sock_select @ 231 NONAME
|
||||
pj_sock_send @ 232 NONAME
|
||||
pj_sock_sendto @ 233 NONAME
|
||||
pj_sock_setsockopt @ 234 NONAME
|
||||
pj_sock_shutdown @ 235 NONAME
|
||||
pj_sock_socket @ 236 NONAME
|
||||
pj_sockaddr_cmp @ 237 NONAME
|
||||
pj_sockaddr_copy_addr @ 238 NONAME
|
||||
pj_sockaddr_get_addr @ 239 NONAME
|
||||
pj_sockaddr_get_addr_len @ 240 NONAME
|
||||
pj_sockaddr_get_len @ 241 NONAME
|
||||
pj_sockaddr_get_port @ 242 NONAME
|
||||
pj_sockaddr_has_addr @ 243 NONAME
|
||||
pj_sockaddr_in_get_addr @ 244 NONAME
|
||||
pj_sockaddr_in_get_port @ 245 NONAME
|
||||
pj_sockaddr_in_init @ 246 NONAME
|
||||
pj_sockaddr_in_set_addr @ 247 NONAME
|
||||
pj_sockaddr_in_set_port @ 248 NONAME
|
||||
pj_sockaddr_in_set_str_addr @ 249 NONAME
|
||||
pj_sockaddr_init @ 250 NONAME
|
||||
pj_sockaddr_print @ 251 NONAME
|
||||
pj_sockaddr_set_port @ 252 NONAME
|
||||
pj_sockaddr_set_str_addr @ 253 NONAME
|
||||
pj_srand @ 254 NONAME
|
||||
pj_str @ 255 NONAME
|
||||
pj_strassign @ 256 NONAME
|
||||
pj_strcat @ 257 NONAME
|
||||
pj_strcat2 @ 258 NONAME
|
||||
pj_strcmp @ 259 NONAME
|
||||
pj_strcmp2 @ 260 NONAME
|
||||
pj_strcpy @ 261 NONAME
|
||||
pj_strcpy2 @ 262 NONAME
|
||||
pj_strdup @ 263 NONAME
|
||||
pj_strdup2 @ 264 NONAME
|
||||
pj_strdup2_with_null @ 265 NONAME
|
||||
pj_strdup3 @ 266 NONAME
|
||||
pj_strdup_with_null @ 267 NONAME
|
||||
pj_strerror @ 268 NONAME
|
||||
pj_stricmp @ 269 NONAME
|
||||
pj_stricmp2 @ 270 NONAME
|
||||
pj_strltrim @ 271 NONAME
|
||||
pj_strncmp @ 272 NONAME
|
||||
pj_strncmp2 @ 273 NONAME
|
||||
pj_strncpy @ 274 NONAME
|
||||
pj_strncpy_with_null @ 275 NONAME
|
||||
pj_strnicmp @ 276 NONAME
|
||||
pj_strnicmp2 @ 277 NONAME
|
||||
pj_strrtrim @ 278 NONAME
|
||||
pj_strtoul @ 279 NONAME
|
||||
pj_strtoul2 @ 280 NONAME
|
||||
pj_strtrim @ 281 NONAME
|
||||
pj_symbianos_poll @ 282 NONAME
|
||||
pj_symbianos_set_params @ 283 NONAME
|
||||
pj_thread_check_stack @ 284 NONAME
|
||||
pj_thread_create @ 285 NONAME
|
||||
pj_thread_destroy @ 286 NONAME
|
||||
pj_thread_get_name @ 287 NONAME
|
||||
pj_thread_get_os_handle @ 288 NONAME
|
||||
pj_thread_get_stack_info @ 289 NONAME
|
||||
pj_thread_get_stack_max_usage @ 290 NONAME
|
||||
pj_thread_is_registered @ 291 NONAME
|
||||
pj_thread_join @ 292 NONAME
|
||||
pj_thread_local_alloc @ 293 NONAME
|
||||
pj_thread_local_free @ 294 NONAME
|
||||
pj_thread_local_get @ 295 NONAME
|
||||
pj_thread_local_set @ 296 NONAME
|
||||
pj_thread_register @ 297 NONAME
|
||||
pj_thread_resume @ 298 NONAME
|
||||
pj_thread_sleep @ 299 NONAME
|
||||
pj_thread_this @ 300 NONAME
|
||||
pj_time_decode @ 301 NONAME
|
||||
pj_time_encode @ 302 NONAME
|
||||
pj_time_gmt_to_local @ 303 NONAME
|
||||
pj_time_local_to_gmt @ 304 NONAME
|
||||
pj_time_val_normalize @ 305 NONAME
|
||||
pj_timer_entry_init @ 306 NONAME
|
||||
pj_timer_heap_cancel @ 307 NONAME
|
||||
pj_timer_heap_count @ 308 NONAME
|
||||
pj_timer_heap_create @ 309 NONAME
|
||||
pj_timer_heap_destroy @ 310 NONAME
|
||||
pj_timer_heap_earliest_time @ 311 NONAME
|
||||
pj_timer_heap_mem_size @ 312 NONAME
|
||||
pj_timer_heap_poll @ 313 NONAME
|
||||
pj_timer_heap_schedule @ 314 NONAME
|
||||
pj_timer_heap_set_lock @ 315 NONAME
|
||||
pj_timer_heap_set_max_timed_out_per_poll @ 316 NONAME
|
||||
pj_unicode_to_ansi @ 317 NONAME
|
||||
pj_utoa @ 318 NONAME
|
||||
pj_utoa_pad @ 319 NONAME
|
||||
platform_strerror @ 320 NONAME
|
||||
snprintf @ 321 NONAME
|
||||
vsnprintf @ 322 NONAME
|
83
res/pjproject/build.symbian/pjlib_test.mmp
Normal file
83
res/pjproject/build.symbian/pjlib_test.mmp
Normal file
@@ -0,0 +1,83 @@
|
||||
TARGET pjlib_test.exe
|
||||
TARGETTYPE exe
|
||||
UID 0x0 0xA0000002
|
||||
|
||||
|
||||
SOURCEPATH ..\pjlib\src\pjlib-test
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
MACRO PJ_DLL
|
||||
LIBRARY pjlib.lib
|
||||
#else
|
||||
STATICLIBRARY pjlib.lib
|
||||
#endif
|
||||
|
||||
// Test files
|
||||
|
||||
SOURCE activesock.c
|
||||
SOURCE atomic.c
|
||||
SOURCE echo_clt.c
|
||||
SOURCE errno.c
|
||||
SOURCE exception_wrap.cpp
|
||||
SOURCE fifobuf.c
|
||||
SOURCE file.c
|
||||
SOURCE hash_test.c
|
||||
SOURCE ioq_perf.c
|
||||
SOURCE ioq_tcp.c
|
||||
SOURCE ioq_udp.c
|
||||
SOURCE ioq_unreg.c
|
||||
SOURCE list.c
|
||||
SOURCE mutex.c
|
||||
SOURCE os.c
|
||||
SOURCE pool_wrap.cpp
|
||||
SOURCE pool_perf.c
|
||||
SOURCE rand.c
|
||||
SOURCE rbtree.c
|
||||
SOURCE select.c
|
||||
SOURCE sleep.c
|
||||
SOURCE sock.c
|
||||
SOURCE sock_perf.c
|
||||
SOURCE ssl_sock.c
|
||||
SOURCE string.c
|
||||
SOURCE test_wrap.cpp
|
||||
SOURCE thread.c
|
||||
SOURCE timer.c
|
||||
SOURCE timestamp.c
|
||||
SOURCE udp_echo_srv_ioqueue.c
|
||||
SOURCE udp_echo_srv_sync.c
|
||||
SOURCE util.c
|
||||
|
||||
SOURCE main_symbian.cpp
|
||||
|
||||
DOCUMENT test.h
|
||||
|
||||
START RESOURCE pjlib_test_reg.rss
|
||||
TARGETPATH \private\10003a3f\apps
|
||||
END
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
LIBRARY esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
LIBRARY securesocket.lib x509.lib crypto.lib x500.lib
|
||||
LIBRARY hal.lib efsrv.lib
|
||||
|
||||
#ifdef WINSCW
|
||||
STATICLIBRARY eexe.lib ecrt0.lib
|
||||
#endif
|
||||
|
||||
// Need a bit of mem for logging in the app.
|
||||
EPOCSTACKSIZE 32768
|
||||
|
||||
CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment
|
19
res/pjproject/build.symbian/pjlib_test.pkg
Normal file
19
res/pjproject/build.symbian/pjlib_test.pkg
Normal file
@@ -0,0 +1,19 @@
|
||||
; pjlib_test.pkg
|
||||
|
||||
; Languages
|
||||
&EN
|
||||
|
||||
; Header
|
||||
;#{"pjlib_test"},(0x200235D3), 0, 1, 1
|
||||
#{"pjlib_test"},(0xA0000002), 0, 1, 1
|
||||
|
||||
; Platform compatibility
|
||||
[0x101F7961], *, *, *,{"Series60ProductID"}
|
||||
|
||||
; vendor
|
||||
%{"PJSIP"}
|
||||
:"PJSIP"
|
||||
|
||||
; Target
|
||||
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\pjlib_test.exe"-"!:\sys\bin\pjlib_test.exe"
|
||||
"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\pjlib_test_reg.rSC"-"!:\private\10003a3f\import\apps\pjlib_test_reg.rSC"
|
83
res/pjproject/build.symbian/pjlib_util.mmp
Normal file
83
res/pjproject/build.symbian/pjlib_util.mmp
Normal file
@@ -0,0 +1,83 @@
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
TARGET pjlib_util.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA0000003
|
||||
|
||||
CAPABILITY NONE
|
||||
LIBRARY pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjlib_util.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjlib_util.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjlib-util\src\pjlib-util
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
//
|
||||
// PJLIB-UTIL files
|
||||
//
|
||||
SOURCE base64.c
|
||||
SOURCE crc32.c
|
||||
SOURCE dns.c
|
||||
SOURCE dns_dump.c
|
||||
SOURCE dns_server.c
|
||||
SOURCE errno.c
|
||||
SOURCE getopt.c
|
||||
SOURCE hmac_md5.c
|
||||
SOURCE hmac_sha1.c
|
||||
SOURCE http_client.c
|
||||
SOURCE md5.c
|
||||
SOURCE pcap.c
|
||||
SOURCE resolver_wrap.cpp
|
||||
SOURCE scanner.c
|
||||
SOURCE sha1.c
|
||||
SOURCE srv_resolver.c
|
||||
SOURCE string.c
|
||||
SOURCE stun_simple.c
|
||||
SOURCE stun_simple_client.c
|
||||
SOURCE xml_wrap.cpp
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
//DOCUMENT pjlib-util\\config.h
|
||||
//DOCUMENT pjlib-util\\crc32.h
|
||||
//DOCUMENT pjlib-util\\dns.h
|
||||
//DOCUMENT pjlib-util\\errno.h
|
||||
//DOCUMENT pjlib-util\\getopt.h
|
||||
//DOCUMENT pjlib-util\\hmac_md5.h
|
||||
//DOCUMENT pjlib-util\hmac_sha1.h
|
||||
//DOCUMENT pjlib-util\http_client.h
|
||||
//DOCUMENT pjlib-util\md5.h
|
||||
//DOCUMENT pjlib-util\resolver.h
|
||||
//DOCUMENT pjlib-util\scanner.h
|
||||
//DOCUMENT pjlib-util\sha1.h
|
||||
//DOCUMENT pjlib-util\srv_resolver.h
|
||||
//DOCUMENT pjlib-util\string.h
|
||||
//DOCUMENT pjlib-util\stun_simple.h
|
||||
//DOCUMENT pjlib-util\types.h
|
||||
//DOCUMENT pjlib-util\xml.h
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
|
92
res/pjproject/build.symbian/pjlib_utilU.def
Normal file
92
res/pjproject/build.symbian/pjlib_utilU.def
Normal file
@@ -0,0 +1,92 @@
|
||||
EXPORTS
|
||||
pj_cis_add_alpha @ 1 NONAME
|
||||
pj_cis_add_cis @ 2 NONAME
|
||||
pj_cis_add_num @ 3 NONAME
|
||||
pj_cis_add_range @ 4 NONAME
|
||||
pj_cis_add_str @ 5 NONAME
|
||||
pj_cis_buf_init @ 6 NONAME
|
||||
pj_cis_del_range @ 7 NONAME
|
||||
pj_cis_del_str @ 8 NONAME
|
||||
pj_cis_dup @ 9 NONAME
|
||||
pj_cis_init @ 10 NONAME
|
||||
pj_cis_invert @ 11 NONAME
|
||||
pj_crc32_calc @ 12 NONAME
|
||||
pj_crc32_final @ 13 NONAME
|
||||
pj_crc32_init @ 14 NONAME
|
||||
pj_crc32_update @ 15 NONAME
|
||||
pj_dns_dump_packet @ 16 NONAME
|
||||
pj_dns_get_type_name @ 17 NONAME
|
||||
pj_dns_make_query @ 18 NONAME
|
||||
pj_dns_packet_dup @ 19 NONAME
|
||||
pj_dns_parse_a_response @ 20 NONAME
|
||||
pj_dns_parse_packet @ 21 NONAME
|
||||
pj_dns_resolver_add_entry @ 22 NONAME
|
||||
pj_dns_resolver_cancel_query @ 23 NONAME
|
||||
pj_dns_resolver_create @ 24 NONAME
|
||||
pj_dns_resolver_destroy @ 25 NONAME
|
||||
pj_dns_resolver_dump @ 26 NONAME
|
||||
pj_dns_resolver_get_cached_count @ 27 NONAME
|
||||
pj_dns_resolver_get_settings @ 28 NONAME
|
||||
pj_dns_resolver_handle_events @ 29 NONAME
|
||||
pj_dns_resolver_set_ns @ 30 NONAME
|
||||
pj_dns_resolver_set_settings @ 31 NONAME
|
||||
pj_dns_resolver_start_query @ 32 NONAME
|
||||
pj_dns_settings_default @ 33 NONAME
|
||||
pj_dns_srv_resolve @ 34 NONAME
|
||||
pj_hmac_md5 @ 35 NONAME
|
||||
pj_hmac_md5_final @ 36 NONAME
|
||||
pj_hmac_md5_init @ 37 NONAME
|
||||
pj_hmac_md5_update @ 38 NONAME
|
||||
pj_hmac_sha1 @ 39 NONAME
|
||||
pj_hmac_sha1_final @ 40 NONAME
|
||||
pj_hmac_sha1_init @ 41 NONAME
|
||||
pj_hmac_sha1_update @ 42 NONAME
|
||||
pj_md5_final @ 43 NONAME
|
||||
pj_md5_init @ 44 NONAME
|
||||
pj_md5_update @ 45 NONAME
|
||||
pj_scan_advance_n @ 46 NONAME
|
||||
pj_scan_fini @ 47 NONAME
|
||||
pj_scan_get @ 48 NONAME
|
||||
pj_scan_get_char @ 49 NONAME
|
||||
pj_scan_get_n @ 50 NONAME
|
||||
pj_scan_get_newline @ 51 NONAME
|
||||
pj_scan_get_quote @ 52 NONAME
|
||||
pj_scan_get_quotes @ 53 NONAME
|
||||
pj_scan_get_unescape @ 54 NONAME
|
||||
pj_scan_get_until @ 55 NONAME
|
||||
pj_scan_get_until_ch @ 56 NONAME
|
||||
pj_scan_get_until_chr @ 57 NONAME
|
||||
pj_scan_init @ 58 NONAME
|
||||
pj_scan_peek @ 59 NONAME
|
||||
pj_scan_peek_n @ 60 NONAME
|
||||
pj_scan_peek_until @ 61 NONAME
|
||||
pj_scan_restore_state @ 62 NONAME
|
||||
pj_scan_save_state @ 63 NONAME
|
||||
pj_scan_skip_line @ 64 NONAME
|
||||
pj_scan_skip_whitespace @ 65 NONAME
|
||||
pj_scan_strcmp @ 66 NONAME
|
||||
pj_scan_stricmp @ 67 NONAME
|
||||
pj_scan_stricmp_alnum @ 68 NONAME
|
||||
pj_sha1_final @ 69 NONAME
|
||||
pj_sha1_init @ 70 NONAME
|
||||
pj_sha1_update @ 71 NONAME
|
||||
pj_str_unescape @ 72 NONAME
|
||||
pj_strcpy_unescape @ 73 NONAME
|
||||
pj_strncpy2_escape @ 74 NONAME
|
||||
pj_strncpy_escape @ 75 NONAME
|
||||
pj_xml_add_attr @ 76 NONAME
|
||||
pj_xml_add_node @ 77 NONAME
|
||||
pj_xml_attr_new @ 78 NONAME
|
||||
pj_xml_clone @ 79 NONAME
|
||||
pj_xml_find @ 80 NONAME
|
||||
pj_xml_find_attr @ 81 NONAME
|
||||
pj_xml_find_next_node @ 82 NONAME
|
||||
pj_xml_find_node @ 83 NONAME
|
||||
pj_xml_node_new @ 84 NONAME
|
||||
pj_xml_parse @ 85 NONAME
|
||||
pj_xml_print @ 86 NONAME
|
||||
pjlib_util_init @ 87 NONAME
|
||||
pjstun_create_bind_req @ 88 NONAME
|
||||
pjstun_get_mapped_addr @ 89 NONAME
|
||||
pjstun_msg_find_attr @ 90 NONAME
|
||||
pjstun_parse_msg @ 91 NONAME
|
136
res/pjproject/build.symbian/pjmedia.mmp
Normal file
136
res/pjproject/build.symbian/pjmedia.mmp
Normal file
@@ -0,0 +1,136 @@
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET pjmedia.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA0000004
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY null_audio.lib pjsdp.lib pjnath.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjmedia.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjmedia.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia
|
||||
|
||||
//
|
||||
// GCCE optimization setting
|
||||
//
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
//
|
||||
// Platform independent source
|
||||
//
|
||||
|
||||
SOURCE alaw_ulaw.c
|
||||
SOURCE alaw_ulaw_table.c
|
||||
SOURCE avi_player.c
|
||||
SOURCE bidirectional.c
|
||||
SOURCE clock_thread.c
|
||||
SOURCE codec.c
|
||||
SOURCE conf_switch.c
|
||||
SOURCE conference.c
|
||||
SOURCE converter.c
|
||||
SOURCE converter_libswscale.c
|
||||
SOURCE delaybuf.c
|
||||
SOURCE echo_common.c
|
||||
SOURCE echo_port.c
|
||||
SOURCE echo_suppress.c
|
||||
SOURCE endpoint.c
|
||||
SOURCE errno.c
|
||||
SOURCE event.c
|
||||
SOURCE format.c
|
||||
SOURCE g711.c
|
||||
SOURCE jbuf.c
|
||||
SOURCE master_port.c
|
||||
SOURCE mem_capture.c
|
||||
SOURCE mem_player.c
|
||||
SOURCE null_port.c
|
||||
SOURCE plc_common.c
|
||||
SOURCE port.c
|
||||
SOURCE resample_port.c
|
||||
SOURCE resample_resample.c
|
||||
SOURCE rtcp.c
|
||||
SOURCE rtcp_xr.c
|
||||
SOURCE rtp.c
|
||||
//SDP files are in pjsdp.mmp: sdp.c, sdp_cmp.c, sdp_neg.c
|
||||
//SOURCE session.c // deprecated
|
||||
SOURCE silencedet.c
|
||||
SOURCE sound_port.c
|
||||
SOURCE splitcomb.c
|
||||
SOURCE stereo_port.c
|
||||
SOURCE stream.c
|
||||
SOURCE stream_common.c
|
||||
SOURCE stream_info.c
|
||||
SOURCE tonegen.c
|
||||
SOURCE transport_adapter_sample.c
|
||||
SOURCE transport_ice.c
|
||||
SOURCE transport_udp.c
|
||||
SOURCE transport_srtp.c
|
||||
SOURCE types.c
|
||||
SOURCE vid_codec.c
|
||||
SOURCE vid_codec_util.c
|
||||
SOURCE vid_port.c
|
||||
SOURCE vid_stream.c
|
||||
SOURCE vid_stream_info.c
|
||||
SOURCE vid_tee.c
|
||||
SOURCE wav_player.c
|
||||
SOURCE wav_playlist.c
|
||||
SOURCE wav_writer.c
|
||||
SOURCE wave.c
|
||||
SOURCE wsola.c
|
||||
|
||||
//
|
||||
// pjmedia-codec common files
|
||||
//
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia-codec
|
||||
SOURCE audio_codecs.c
|
||||
SOURCE amr_sdp_match.c
|
||||
SOURCE g7221_sdp_match.c
|
||||
SOURCE h263_packetizer.c
|
||||
SOURCE h264_packetizer.c
|
||||
|
||||
|
||||
//
|
||||
// Symbian specific
|
||||
// These are on separate project
|
||||
//
|
||||
//SOURCE symbian_sound.cpp
|
||||
//SOURCE null_sound.c
|
||||
|
||||
|
||||
//
|
||||
// Header files
|
||||
//
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjnath\include
|
||||
SYSTEMINCLUDE ..\third_party\srtp\include
|
||||
SYSTEMINCLUDE ..\third_party\srtp\crypto\include
|
||||
SYSTEMINCLUDE ..\third_party\build\srtp
|
||||
SYSTEMINCLUDE ..
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
//SYSTEMINCLUDE \epoc32\include\mmf\plugin
|
||||
|
||||
|
193
res/pjproject/build.symbian/pjmediaU.def
Normal file
193
res/pjproject/build.symbian/pjmediaU.def
Normal file
@@ -0,0 +1,193 @@
|
||||
EXPORTS
|
||||
echo_supp_cancel_echo @ 1 NONAME
|
||||
echo_supp_capture @ 2 NONAME
|
||||
echo_supp_create @ 3 NONAME
|
||||
echo_supp_destroy @ 4 NONAME
|
||||
echo_supp_playback @ 5 NONAME
|
||||
pjmedia_bidirectional_port_create @ 6 NONAME
|
||||
pjmedia_calc_avg_signal @ 7 NONAME
|
||||
pjmedia_clock_create @ 8 NONAME
|
||||
pjmedia_clock_destroy @ 9 NONAME
|
||||
pjmedia_clock_start @ 10 NONAME
|
||||
pjmedia_clock_stop @ 11 NONAME
|
||||
pjmedia_clock_wait @ 12 NONAME
|
||||
pjmedia_codec_g711_deinit @ 13 NONAME
|
||||
pjmedia_codec_g711_init @ 14 NONAME
|
||||
pjmedia_codec_info_to_id @ 15 NONAME
|
||||
pjmedia_codec_mgr_alloc_codec @ 16 NONAME
|
||||
pjmedia_codec_mgr_dealloc_codec @ 17 NONAME
|
||||
pjmedia_codec_mgr_enum_codecs @ 18 NONAME
|
||||
pjmedia_codec_mgr_find_codecs_by_id @ 19 NONAME
|
||||
pjmedia_codec_mgr_get_codec_info @ 20 NONAME
|
||||
pjmedia_codec_mgr_get_default_param @ 21 NONAME
|
||||
pjmedia_codec_mgr_init @ 22 NONAME
|
||||
pjmedia_codec_mgr_register_factory @ 23 NONAME
|
||||
pjmedia_codec_mgr_set_codec_priority @ 24 NONAME
|
||||
pjmedia_codec_mgr_unregister_factory @ 25 NONAME
|
||||
pjmedia_conf_add_passive_port @ 26 NONAME
|
||||
pjmedia_conf_add_port @ 27 NONAME
|
||||
pjmedia_conf_adjust_rx_level @ 28 NONAME
|
||||
pjmedia_conf_adjust_tx_level @ 29 NONAME
|
||||
pjmedia_conf_configure_port @ 30 NONAME
|
||||
pjmedia_conf_connect_port @ 31 NONAME
|
||||
pjmedia_conf_create @ 32 NONAME
|
||||
pjmedia_conf_destroy @ 33 NONAME
|
||||
pjmedia_conf_disconnect_port @ 34 NONAME
|
||||
pjmedia_conf_enum_ports @ 35 NONAME
|
||||
pjmedia_conf_get_connect_count @ 36 NONAME
|
||||
pjmedia_conf_get_master_port @ 37 NONAME
|
||||
pjmedia_conf_get_port_count @ 38 NONAME
|
||||
pjmedia_conf_get_port_info @ 39 NONAME
|
||||
pjmedia_conf_get_ports_info @ 40 NONAME
|
||||
pjmedia_conf_get_signal_level @ 41 NONAME
|
||||
pjmedia_conf_remove_port @ 42 NONAME
|
||||
pjmedia_conf_set_port0_name @ 43 NONAME
|
||||
pjmedia_delay_buf_create @ 44 NONAME
|
||||
pjmedia_delay_buf_get @ 45 NONAME
|
||||
pjmedia_delay_buf_put @ 46 NONAME
|
||||
pjmedia_echo_cancel @ 47 NONAME
|
||||
pjmedia_echo_capture @ 48 NONAME
|
||||
pjmedia_echo_create @ 49 NONAME
|
||||
pjmedia_echo_destroy @ 50 NONAME
|
||||
pjmedia_echo_playback @ 51 NONAME
|
||||
pjmedia_echo_port_create @ 52 NONAME
|
||||
pjmedia_endpt_create @ 53 NONAME
|
||||
pjmedia_endpt_create_pool @ 54 NONAME
|
||||
pjmedia_endpt_create_sdp @ 55 NONAME
|
||||
pjmedia_endpt_destroy @ 56 NONAME
|
||||
pjmedia_endpt_dump @ 57 NONAME
|
||||
pjmedia_endpt_get_codec_mgr @ 58 NONAME
|
||||
pjmedia_endpt_get_ioqueue @ 59 NONAME
|
||||
pjmedia_endpt_get_thread @ 60 NONAME
|
||||
pjmedia_endpt_get_thread_count @ 61 NONAME
|
||||
pjmedia_ice_create @ 62 NONAME
|
||||
pjmedia_ice_destroy @ 63 NONAME
|
||||
pjmedia_ice_get_comp @ 64 NONAME
|
||||
pjmedia_ice_get_init_status @ 65 NONAME
|
||||
pjmedia_ice_init_ice @ 66 NONAME
|
||||
pjmedia_ice_modify_sdp @ 67 NONAME
|
||||
pjmedia_ice_simulate_lost @ 68 NONAME
|
||||
pjmedia_ice_start_ice @ 69 NONAME
|
||||
pjmedia_ice_start_init @ 70 NONAME
|
||||
pjmedia_ice_stop_ice @ 71 NONAME
|
||||
pjmedia_jbuf_create @ 72 NONAME
|
||||
pjmedia_jbuf_destroy @ 73 NONAME
|
||||
pjmedia_jbuf_get_frame @ 74 NONAME
|
||||
pjmedia_jbuf_get_state @ 75 NONAME
|
||||
pjmedia_jbuf_put_frame @ 76 NONAME
|
||||
pjmedia_jbuf_reset @ 77 NONAME
|
||||
pjmedia_jbuf_set_adaptive @ 78 NONAME
|
||||
pjmedia_jbuf_set_fixed @ 79 NONAME
|
||||
pjmedia_master_port_create @ 80 NONAME
|
||||
pjmedia_master_port_destroy @ 81 NONAME
|
||||
pjmedia_master_port_get_dport @ 82 NONAME
|
||||
pjmedia_master_port_get_uport @ 83 NONAME
|
||||
pjmedia_master_port_set_dport @ 84 NONAME
|
||||
pjmedia_master_port_set_uport @ 85 NONAME
|
||||
pjmedia_master_port_start @ 86 NONAME
|
||||
pjmedia_master_port_stop @ 87 NONAME
|
||||
pjmedia_mem_capture_create @ 88 NONAME
|
||||
pjmedia_mem_capture_get_size @ 89 NONAME
|
||||
pjmedia_mem_capture_set_eof_cb @ 90 NONAME
|
||||
pjmedia_mem_player_create @ 91 NONAME
|
||||
pjmedia_mem_player_set_eof_cb @ 92 NONAME
|
||||
pjmedia_null_port_create @ 93 NONAME
|
||||
pjmedia_plc_create @ 94 NONAME
|
||||
pjmedia_plc_generate @ 95 NONAME
|
||||
pjmedia_plc_save @ 96 NONAME
|
||||
pjmedia_port_destroy @ 97 NONAME
|
||||
pjmedia_port_get_frame @ 98 NONAME
|
||||
pjmedia_port_info_init @ 99 NONAME
|
||||
pjmedia_port_put_frame @ 100 NONAME
|
||||
pjmedia_resample_create @ 101 NONAME
|
||||
pjmedia_resample_destroy @ 102 NONAME
|
||||
pjmedia_resample_get_input_size @ 103 NONAME
|
||||
pjmedia_resample_port_create @ 104 NONAME
|
||||
pjmedia_resample_run @ 105 NONAME
|
||||
pjmedia_rtcp_build_rtcp @ 106 NONAME
|
||||
pjmedia_rtcp_fini @ 107 NONAME
|
||||
pjmedia_rtcp_get_ntp_time @ 108 NONAME
|
||||
pjmedia_rtcp_init @ 109 NONAME
|
||||
pjmedia_rtcp_rx_rtcp @ 110 NONAME
|
||||
pjmedia_rtcp_rx_rtp @ 111 NONAME
|
||||
pjmedia_rtcp_tx_rtp @ 112 NONAME
|
||||
pjmedia_rtp_decode_rtp @ 113 NONAME
|
||||
pjmedia_rtp_encode_rtp @ 114 NONAME
|
||||
pjmedia_rtp_session_init @ 115 NONAME
|
||||
pjmedia_rtp_session_update @ 116 NONAME
|
||||
pjmedia_session_check_dtmf @ 117 NONAME
|
||||
pjmedia_session_create @ 118 NONAME
|
||||
pjmedia_session_destroy @ 119 NONAME
|
||||
pjmedia_session_dial_dtmf @ 120 NONAME
|
||||
pjmedia_session_enum_streams @ 121 NONAME
|
||||
pjmedia_session_get_dtmf @ 122 NONAME
|
||||
pjmedia_session_get_info @ 123 NONAME
|
||||
pjmedia_session_get_port @ 124 NONAME
|
||||
pjmedia_session_get_stream_stat @ 125 NONAME
|
||||
pjmedia_session_info_from_sdp @ 126 NONAME
|
||||
pjmedia_session_pause @ 127 NONAME
|
||||
pjmedia_session_pause_stream @ 128 NONAME
|
||||
pjmedia_session_resume @ 129 NONAME
|
||||
pjmedia_session_resume_stream @ 130 NONAME
|
||||
pjmedia_session_set_dtmf_callback @ 131 NONAME
|
||||
pjmedia_silence_det_apply @ 132 NONAME
|
||||
pjmedia_silence_det_create @ 133 NONAME
|
||||
pjmedia_silence_det_detect @ 134 NONAME
|
||||
pjmedia_silence_det_disable @ 135 NONAME
|
||||
pjmedia_silence_det_set_adaptive @ 136 NONAME
|
||||
pjmedia_silence_det_set_fixed @ 137 NONAME
|
||||
pjmedia_silence_det_set_name @ 138 NONAME
|
||||
pjmedia_silence_det_set_params @ 139 NONAME
|
||||
pjmedia_snd_port_connect @ 140 NONAME
|
||||
pjmedia_snd_port_create @ 141 NONAME
|
||||
pjmedia_snd_port_create_player @ 142 NONAME
|
||||
pjmedia_snd_port_create_rec @ 143 NONAME
|
||||
pjmedia_snd_port_destroy @ 144 NONAME
|
||||
pjmedia_snd_port_disconnect @ 145 NONAME
|
||||
pjmedia_snd_port_get_ec_tail @ 146 NONAME
|
||||
pjmedia_snd_port_get_port @ 147 NONAME
|
||||
pjmedia_snd_port_get_snd_stream @ 148 NONAME
|
||||
pjmedia_snd_port_set_ec @ 149 NONAME
|
||||
pjmedia_splitcomb_create @ 150 NONAME
|
||||
pjmedia_splitcomb_create_rev_channel @ 151 NONAME
|
||||
pjmedia_splitcomb_set_channel @ 152 NONAME
|
||||
pjmedia_stream_check_dtmf @ 153 NONAME
|
||||
pjmedia_stream_create @ 154 NONAME
|
||||
pjmedia_stream_destroy @ 155 NONAME
|
||||
pjmedia_stream_dial_dtmf @ 156 NONAME
|
||||
pjmedia_stream_get_dtmf @ 157 NONAME
|
||||
pjmedia_stream_get_port @ 158 NONAME
|
||||
pjmedia_stream_get_stat @ 159 NONAME
|
||||
pjmedia_stream_get_transport @ 160 NONAME
|
||||
pjmedia_stream_info_from_sdp @ 161 NONAME
|
||||
pjmedia_stream_pause @ 162 NONAME
|
||||
pjmedia_stream_resume @ 163 NONAME
|
||||
pjmedia_stream_set_dtmf_callback @ 164 NONAME
|
||||
pjmedia_stream_start @ 165 NONAME
|
||||
pjmedia_strerror @ 166 NONAME
|
||||
pjmedia_tonegen_create @ 167 NONAME
|
||||
pjmedia_tonegen_create2 @ 168 NONAME
|
||||
pjmedia_tonegen_get_digit_map @ 169 NONAME
|
||||
pjmedia_tonegen_is_busy @ 170 NONAME
|
||||
pjmedia_tonegen_play @ 171 NONAME
|
||||
pjmedia_tonegen_play_digits @ 172 NONAME
|
||||
pjmedia_tonegen_set_digit_map @ 173 NONAME
|
||||
pjmedia_tonegen_stop @ 174 NONAME
|
||||
pjmedia_transport_udp_attach @ 175 NONAME
|
||||
pjmedia_transport_udp_close @ 176 NONAME
|
||||
pjmedia_transport_udp_create @ 177 NONAME
|
||||
pjmedia_transport_udp_create2 @ 178 NONAME
|
||||
pjmedia_transport_udp_create3 @ 179 NONAME
|
||||
pjmedia_transport_udp_get_info @ 180 NONAME
|
||||
pjmedia_transport_udp_simulate_lost @ 181 NONAME
|
||||
pjmedia_wav_player_port_create @ 182 NONAME
|
||||
pjmedia_wav_player_port_get_pos @ 183 NONAME
|
||||
pjmedia_wav_player_port_set_pos @ 184 NONAME
|
||||
pjmedia_wav_player_set_eof_cb @ 185 NONAME
|
||||
pjmedia_wav_playlist_create @ 186 NONAME
|
||||
pjmedia_wav_playlist_set_eof_cb @ 187 NONAME
|
||||
pjmedia_wav_writer_port_create @ 188 NONAME
|
||||
pjmedia_wav_writer_port_get_pos @ 189 NONAME
|
||||
pjmedia_wav_writer_port_set_cb @ 190 NONAME
|
||||
pjmedia_wave_hdr_file_to_host @ 191 NONAME
|
||||
pjmedia_wave_hdr_host_to_file @ 192 NONAME
|
33
res/pjproject/build.symbian/pjmedia_audiodev.mmp
Normal file
33
res/pjproject/build.symbian/pjmedia_audiodev.mmp
Normal file
@@ -0,0 +1,33 @@
|
||||
TARGET pjmedia_audiodev.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia-audiodev
|
||||
|
||||
//
|
||||
// GCCE optimization setting
|
||||
//
|
||||
//OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
SOURCE audiodev.c
|
||||
SOURCE errno.c
|
||||
SOURCE symb_aps_dev.cpp
|
||||
SOURCE symb_mda_dev.cpp
|
||||
SOURCE symb_vas_dev.cpp
|
||||
SOURCE null_dev.c
|
||||
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\mmf\server
|
||||
SYSTEMINCLUDE \epoc32\include\mmf\common
|
||||
SYSTEMINCLUDE \epoc32\include\mda\common
|
||||
SYSTEMINCLUDE \epoc32\include\mmf\plugin
|
||||
|
||||
|
65
res/pjproject/build.symbian/pjnath.mmp
Normal file
65
res/pjproject/build.symbian/pjnath.mmp
Normal file
@@ -0,0 +1,65 @@
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
TARGET pjnath.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA0000005
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjnath.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjnath.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
SOURCEPATH ..\pjnath\src\pjnath
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
//
|
||||
// PJNATH files
|
||||
//
|
||||
SOURCE errno.c
|
||||
SOURCE ice_session.c
|
||||
SOURCE ice_strans.c
|
||||
SOURCE nat_detect.c
|
||||
SOURCE stun_auth.c
|
||||
SOURCE stun_msg.c
|
||||
SOURCE stun_msg_dump.c
|
||||
SOURCE stun_session.c
|
||||
SOURCE stun_sock.c
|
||||
SOURCE stun_transaction.c
|
||||
SOURCE turn_session.c
|
||||
SOURCE turn_sock.c
|
||||
|
||||
//
|
||||
// Include files
|
||||
//
|
||||
//DOCUMENT pjnath\config.h
|
||||
//DOCUMENT pjnath\\errno.h
|
||||
//DOCUMENT pjnath\\ice_session.h
|
||||
//DOCUMENT pjnath\\ice_strans.h
|
||||
//DOCUMENT pjnath\\stun_auth.h
|
||||
//DOCUMENT pjnath\\stun_config.h
|
||||
//DOCUMENT pjnath\\stun_msg.h
|
||||
//DOCUMENT pjnath\\stun_session.h
|
||||
//DOCUMENT pjnath\\stun_transaction.h
|
||||
//DOCUMENT pjnath\\types.h
|
||||
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjnath\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
88
res/pjproject/build.symbian/pjnathU.def
Normal file
88
res/pjproject/build.symbian/pjnathU.def
Normal file
@@ -0,0 +1,88 @@
|
||||
EXPORTS
|
||||
pj_ice_calc_foundation @ 1 NONAME
|
||||
pj_ice_get_cand_type_name @ 2 NONAME
|
||||
pj_ice_sess_add_cand @ 3 NONAME
|
||||
pj_ice_sess_change_role @ 4 NONAME
|
||||
pj_ice_sess_create @ 5 NONAME
|
||||
pj_ice_sess_create_check_list @ 6 NONAME
|
||||
pj_ice_sess_destroy @ 7 NONAME
|
||||
pj_ice_sess_find_default_cand @ 8 NONAME
|
||||
pj_ice_sess_on_rx_pkt @ 9 NONAME
|
||||
pj_ice_sess_send_data @ 10 NONAME
|
||||
pj_ice_sess_set_prefs @ 11 NONAME
|
||||
pj_ice_sess_start_check @ 12 NONAME
|
||||
pj_ice_strans_add_cand @ 13 NONAME
|
||||
pj_ice_strans_create @ 14 NONAME
|
||||
pj_ice_strans_create_comp @ 15 NONAME
|
||||
pj_ice_strans_destroy @ 16 NONAME
|
||||
pj_ice_strans_enum_cands @ 17 NONAME
|
||||
pj_ice_strans_get_comps_status @ 18 NONAME
|
||||
pj_ice_strans_init_ice @ 19 NONAME
|
||||
pj_ice_strans_sendto @ 20 NONAME
|
||||
pj_ice_strans_set_stun_domain @ 21 NONAME
|
||||
pj_ice_strans_set_stun_srv @ 22 NONAME
|
||||
pj_ice_strans_start_ice @ 23 NONAME
|
||||
pj_ice_strans_stop_ice @ 24 NONAME
|
||||
pj_stun_auth_cred_dup @ 25 NONAME
|
||||
pj_stun_auth_valid_for_msg @ 26 NONAME
|
||||
pj_stun_authenticate_request @ 27 NONAME
|
||||
pj_stun_authenticate_response @ 28 NONAME
|
||||
pj_stun_binary_attr_create @ 29 NONAME
|
||||
pj_stun_client_tsx_create @ 30 NONAME
|
||||
pj_stun_client_tsx_destroy @ 31 NONAME
|
||||
pj_stun_client_tsx_get_data @ 32 NONAME
|
||||
pj_stun_client_tsx_is_complete @ 33 NONAME
|
||||
pj_stun_client_tsx_on_rx_msg @ 34 NONAME
|
||||
pj_stun_client_tsx_retransmit @ 35 NONAME
|
||||
pj_stun_client_tsx_schedule_destroy @ 36 NONAME
|
||||
pj_stun_client_tsx_send_msg @ 37 NONAME
|
||||
pj_stun_client_tsx_set_data @ 38 NONAME
|
||||
pj_stun_create_key @ 39 NONAME
|
||||
pj_stun_detect_nat_type @ 40 NONAME
|
||||
pj_stun_empty_attr_create @ 41 NONAME
|
||||
pj_stun_errcode_attr_create @ 42 NONAME
|
||||
pj_stun_get_attr_name @ 43 NONAME
|
||||
pj_stun_get_class_name @ 44 NONAME
|
||||
pj_stun_get_err_reason @ 45 NONAME
|
||||
pj_stun_get_method_name @ 46 NONAME
|
||||
pj_stun_get_nat_name @ 47 NONAME
|
||||
pj_stun_msg_add_attr @ 48 NONAME
|
||||
pj_stun_msg_add_binary_attr @ 49 NONAME
|
||||
pj_stun_msg_add_empty_attr @ 50 NONAME
|
||||
pj_stun_msg_add_errcode_attr @ 51 NONAME
|
||||
pj_stun_msg_add_msgint_attr @ 52 NONAME
|
||||
pj_stun_msg_add_sockaddr_attr @ 53 NONAME
|
||||
pj_stun_msg_add_string_attr @ 54 NONAME
|
||||
pj_stun_msg_add_uint64_attr @ 55 NONAME
|
||||
pj_stun_msg_add_uint_attr @ 56 NONAME
|
||||
pj_stun_msg_add_unknown_attr @ 57 NONAME
|
||||
pj_stun_msg_check @ 58 NONAME
|
||||
pj_stun_msg_create @ 59 NONAME
|
||||
pj_stun_msg_create_response @ 60 NONAME
|
||||
pj_stun_msg_decode @ 61 NONAME
|
||||
pj_stun_msg_destroy_tdata @ 62 NONAME
|
||||
pj_stun_msg_dump @ 63 NONAME
|
||||
pj_stun_msg_encode @ 64 NONAME
|
||||
pj_stun_msg_find_attr @ 65 NONAME
|
||||
pj_stun_msgint_attr_create @ 66 NONAME
|
||||
pj_stun_session_cancel_req @ 67 NONAME
|
||||
pj_stun_session_create @ 68 NONAME
|
||||
pj_stun_session_create_ind @ 69 NONAME
|
||||
pj_stun_session_create_req @ 70 NONAME
|
||||
pj_stun_session_create_res @ 71 NONAME
|
||||
pj_stun_session_destroy @ 72 NONAME
|
||||
pj_stun_session_get_user_data @ 73 NONAME
|
||||
pj_stun_session_on_rx_pkt @ 74 NONAME
|
||||
pj_stun_session_retransmit_req @ 75 NONAME
|
||||
pj_stun_session_send_msg @ 76 NONAME
|
||||
pj_stun_session_set_credential @ 77 NONAME
|
||||
pj_stun_session_set_server_name @ 78 NONAME
|
||||
pj_stun_session_set_user_data @ 79 NONAME
|
||||
pj_stun_set_padding_char @ 80 NONAME
|
||||
pj_stun_sockaddr_attr_create @ 81 NONAME
|
||||
pj_stun_string_attr_create @ 82 NONAME
|
||||
pj_stun_uint64_attr_create @ 83 NONAME
|
||||
pj_stun_uint_attr_create @ 84 NONAME
|
||||
pj_stun_unknown_attr_create @ 85 NONAME
|
||||
pjnath_init @ 86 NONAME
|
||||
pjnath_perror @ 87 NONAME
|
386
res/pjproject/build.symbian/pjproject.cww
Normal file
386
res/pjproject/build.symbian/pjproject.cww
Normal file
@@ -0,0 +1,386 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<?codewarrior exportversion="1.0" ideversion="5.5" success="y" ?>
|
||||
|
||||
<!DOCTYPE MWIDEWORKSPACE [
|
||||
<!ELEMENT MWIDEWORKSPACE (WINDOW*, COMWINDOW*)>
|
||||
<!ELEMENT WINDOW (SESSION, EDOCTYPE, PATH, FRAMELOC, FRAMESIZE, DOCKINFO)>
|
||||
<!ELEMENT COMWINDOW (SESSION, CLSID, OWNERPROJECT, DATA, FRAMELOC, FRAMESIZE, DOCKINFO)>
|
||||
<!ELEMENT SESSION (#PCDATA)>
|
||||
<!ELEMENT EDOCTYPE (#PCDATA)>
|
||||
<!ELEMENT DEFAULT (#PCDATA)>
|
||||
<!ELEMENT MAXIMIZED (#PCDATA)>
|
||||
<!ELEMENT PATH (#PCDATA)>
|
||||
<!ATTLIST PATH USERELATIVEPATHS (true | false) "true">
|
||||
<!ELEMENT FRAMELOC (X, Y)>
|
||||
<!ELEMENT X (#PCDATA)>
|
||||
<!ELEMENT Y (#PCDATA)>
|
||||
<!ELEMENT FRAMESIZE (W, H)>
|
||||
<!ELEMENT W (#PCDATA)>
|
||||
<!ELEMENT H (#PCDATA)>
|
||||
<!ELEMENT DOCKINFO (STATUS, ROW, COLUMN, DOCKBARID, PCTWIDTH, HGT, GROUPID)>
|
||||
<!ELEMENT STATUS (#PCDATA)>
|
||||
<!ELEMENT ROW (#PCDATA)>
|
||||
<!ELEMENT COLUMN (#PCDATA)>
|
||||
<!ELEMENT DOCKBARID (#PCDATA)>
|
||||
<!ELEMENT PCTWIDTH (#PCDATA)>
|
||||
<!ELEMENT HGT (#PCDATA)>
|
||||
<!ELEMENT GROUPID (GIDHIGHPART, GIDLOWPART)>
|
||||
<!ELEMENT GIDHIGHPART (#PCDATA)>
|
||||
<!ELEMENT GIDLOWPART (#PCDATA)>
|
||||
<!ELEMENT CLSID (#PCDATA)>
|
||||
<!ELEMENT OWNERPROJECT (#PCDATA)>
|
||||
<!ATTLIST OWNERPROJECT USERELATIVEPATHS (true | false) "true">
|
||||
<!ELEMENT DATA (#PCDATA)>
|
||||
<!ATTLIST DATA BINARYFORMAT (true | false) "true">
|
||||
]>
|
||||
|
||||
<MWIDEWORKSPACE>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<DEFAULT>true</DEFAULT>
|
||||
<PATH USERELATIVEPATHS = "true">pjlib.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjlib_util.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjnath.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">null_audio.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjsdp.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjmedia.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjsip.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjsip_simple.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjsip_ua.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">pjsua_lib.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-1</SESSION>
|
||||
<EDOCTYPE>0</EDOCTYPE>
|
||||
<PATH USERELATIVEPATHS = "true">symbian_ua.mcp</PATH>
|
||||
<FRAMELOC>
|
||||
<X>0</X>
|
||||
<Y>0</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>347</W>
|
||||
<H>128</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>1</STATUS>
|
||||
<ROW>0</ROW>
|
||||
<COLUMN>0</COLUMN>
|
||||
<DOCKBARID>59420</DOCKBARID>
|
||||
<PCTWIDTH>1.000000</PCTWIDTH>
|
||||
<HGT>350</HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART>4294967294</GIDHIGHPART>
|
||||
<GIDLOWPART>4294967294</GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-2147483648</SESSION>
|
||||
<EDOCTYPE>20</EDOCTYPE>
|
||||
<FRAMELOC>
|
||||
<X>4</X>
|
||||
<Y>23</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>1464</W>
|
||||
<H>3681</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>0</STATUS>
|
||||
<ROW></ROW>
|
||||
<COLUMN></COLUMN>
|
||||
<DOCKBARID></DOCKBARID>
|
||||
<PCTWIDTH></PCTWIDTH>
|
||||
<HGT></HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART></GIDHIGHPART>
|
||||
<GIDLOWPART></GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-2147483648</SESSION>
|
||||
<EDOCTYPE>36</EDOCTYPE>
|
||||
<FRAMELOC>
|
||||
<X>4</X>
|
||||
<Y>23</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>366</W>
|
||||
<H>354</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>0</STATUS>
|
||||
<ROW></ROW>
|
||||
<COLUMN></COLUMN>
|
||||
<DOCKBARID></DOCKBARID>
|
||||
<PCTWIDTH></PCTWIDTH>
|
||||
<HGT></HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART></GIDHIGHPART>
|
||||
<GIDLOWPART></GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
<WINDOW>
|
||||
<SESSION>-2147483648</SESSION>
|
||||
<EDOCTYPE>23</EDOCTYPE>
|
||||
<FRAMELOC>
|
||||
<X>6</X>
|
||||
<Y>81</Y>
|
||||
</FRAMELOC>
|
||||
<FRAMESIZE>
|
||||
<W>566</W>
|
||||
<H>477</H>
|
||||
</FRAMESIZE>
|
||||
<DOCKINFO>
|
||||
<STATUS>0</STATUS>
|
||||
<ROW></ROW>
|
||||
<COLUMN></COLUMN>
|
||||
<DOCKBARID></DOCKBARID>
|
||||
<PCTWIDTH></PCTWIDTH>
|
||||
<HGT></HGT>
|
||||
<GROUPID>
|
||||
<GIDHIGHPART></GIDHIGHPART>
|
||||
<GIDLOWPART></GIDLOWPART>
|
||||
</GROUPID>
|
||||
</DOCKINFO>
|
||||
</WINDOW>
|
||||
</MWIDEWORKSPACE>
|
46
res/pjproject/build.symbian/pjsdp.mmp
Normal file
46
res/pjproject/build.symbian/pjsdp.mmp
Normal file
@@ -0,0 +1,46 @@
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
TARGET pjsdp.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA0000006
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjlib_util.lib pjlib.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjsdp.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjsdp.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
//
|
||||
// Platform independent source
|
||||
//
|
||||
SOURCE errno.c
|
||||
SOURCE sdp_wrap.cpp
|
||||
SOURCE sdp_cmp.c
|
||||
SOURCE sdp_neg.c
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
45
res/pjproject/build.symbian/pjsdpU.def
Normal file
45
res/pjproject/build.symbian/pjsdpU.def
Normal file
@@ -0,0 +1,45 @@
|
||||
EXPORTS
|
||||
pjmedia_sdp_attr_add @ 1 NONAME
|
||||
pjmedia_sdp_attr_clone @ 2 NONAME
|
||||
pjmedia_sdp_attr_create @ 3 NONAME
|
||||
pjmedia_sdp_attr_find @ 4 NONAME
|
||||
pjmedia_sdp_attr_find2 @ 5 NONAME
|
||||
pjmedia_sdp_attr_get_fmtp @ 6 NONAME
|
||||
pjmedia_sdp_attr_get_rtcp @ 7 NONAME
|
||||
pjmedia_sdp_attr_get_rtpmap @ 8 NONAME
|
||||
pjmedia_sdp_attr_remove @ 9 NONAME
|
||||
pjmedia_sdp_attr_remove_all @ 10 NONAME
|
||||
pjmedia_sdp_attr_to_rtpmap @ 11 NONAME
|
||||
pjmedia_sdp_conn_clone @ 12 NONAME
|
||||
pjmedia_sdp_media_add_attr @ 13 NONAME
|
||||
pjmedia_sdp_media_clone @ 14 NONAME
|
||||
pjmedia_sdp_media_cmp @ 15 NONAME
|
||||
pjmedia_sdp_media_find_attr @ 16 NONAME
|
||||
pjmedia_sdp_media_find_attr2 @ 17 NONAME
|
||||
pjmedia_sdp_media_remove_all_attr @ 18 NONAME
|
||||
pjmedia_sdp_media_remove_attr @ 19 NONAME
|
||||
pjmedia_sdp_neg_cancel_offer @ 20 NONAME
|
||||
pjmedia_sdp_neg_create_w_local_offer @ 21 NONAME
|
||||
pjmedia_sdp_neg_create_w_remote_offer @ 22 NONAME
|
||||
pjmedia_sdp_neg_get_active_local @ 23 NONAME
|
||||
pjmedia_sdp_neg_get_active_remote @ 24 NONAME
|
||||
pjmedia_sdp_neg_get_neg_local @ 25 NONAME
|
||||
pjmedia_sdp_neg_get_neg_remote @ 26 NONAME
|
||||
pjmedia_sdp_neg_get_state @ 27 NONAME
|
||||
pjmedia_sdp_neg_has_local_answer @ 28 NONAME
|
||||
pjmedia_sdp_neg_modify_local_offer @ 29 NONAME
|
||||
pjmedia_sdp_neg_negotiate @ 30 NONAME
|
||||
pjmedia_sdp_neg_send_local_offer @ 31 NONAME
|
||||
pjmedia_sdp_neg_set_local_answer @ 32 NONAME
|
||||
pjmedia_sdp_neg_set_prefer_remote_codec_order @ 33 NONAME
|
||||
pjmedia_sdp_neg_set_remote_answer @ 34 NONAME
|
||||
pjmedia_sdp_neg_set_remote_offer @ 35 NONAME
|
||||
pjmedia_sdp_neg_state_str @ 36 NONAME
|
||||
pjmedia_sdp_neg_was_answer_remote @ 37 NONAME
|
||||
pjmedia_sdp_parse @ 38 NONAME
|
||||
pjmedia_sdp_print @ 39 NONAME
|
||||
pjmedia_sdp_rtpmap_to_attr @ 40 NONAME
|
||||
pjmedia_sdp_session_clone @ 41 NONAME
|
||||
pjmedia_sdp_session_cmp @ 42 NONAME
|
||||
pjmedia_sdp_validate @ 43 NONAME
|
||||
pjmedia_strerror @ 44 NONAME
|
69
res/pjproject/build.symbian/pjsip.mmp
Normal file
69
res/pjproject/build.symbian/pjsip.mmp
Normal file
@@ -0,0 +1,69 @@
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET pjsip.dll
|
||||
TARGETTYPE dll
|
||||
|
||||
UID 0x0 0xA0000007
|
||||
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjsdp.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjsip.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjsip.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjsip\src\pjsip
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
// PJSIP-CORE files
|
||||
|
||||
//SOURCE sip_auth_aka.c
|
||||
SOURCE sip_auth_client.c
|
||||
SOURCE sip_auth_msg.c
|
||||
SOURCE sip_auth_parser_wrap.cpp
|
||||
SOURCE sip_auth_server.c
|
||||
SOURCE sip_config.c
|
||||
SOURCE sip_dialog_wrap.cpp
|
||||
SOURCE sip_endpoint_wrap.cpp
|
||||
SOURCE sip_errno.c
|
||||
SOURCE sip_msg.c
|
||||
SOURCE sip_multipart.c
|
||||
SOURCE sip_parser_wrap.cpp
|
||||
SOURCE sip_resolve.c
|
||||
SOURCE sip_tel_uri_wrap.cpp
|
||||
SOURCE sip_transaction.c
|
||||
SOURCE sip_transport_wrap.cpp
|
||||
SOURCE sip_transport_loop.c
|
||||
SOURCE sip_transport_tcp.c
|
||||
SOURCE sip_transport_udp.c
|
||||
SOURCE sip_transport_tls.c
|
||||
SOURCE sip_ua_layer.c
|
||||
SOURCE sip_uri.c
|
||||
SOURCE sip_util_wrap.cpp
|
||||
SOURCE sip_util_proxy_wrap.cpp
|
||||
SOURCE sip_util_statefull.c
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjsip\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
|
280
res/pjproject/build.symbian/pjsipU.def
Normal file
280
res/pjproject/build.symbian/pjsipU.def
Normal file
@@ -0,0 +1,280 @@
|
||||
EXPORTS
|
||||
pjsip_accept_hdr_create @ 1 NONAME
|
||||
pjsip_accept_hdr_init @ 2 NONAME
|
||||
pjsip_ack_method @ 3 NONAME
|
||||
pjsip_allow_hdr_create @ 4 NONAME
|
||||
pjsip_allow_hdr_init @ 5 NONAME
|
||||
pjsip_auth_clt_clone @ 6 NONAME
|
||||
pjsip_auth_clt_get_prefs @ 7 NONAME
|
||||
pjsip_auth_clt_init @ 8 NONAME
|
||||
pjsip_auth_clt_init_req @ 9 NONAME
|
||||
pjsip_auth_clt_reinit_req @ 10 NONAME
|
||||
pjsip_auth_clt_set_credentials @ 11 NONAME
|
||||
pjsip_auth_clt_set_prefs @ 12 NONAME
|
||||
pjsip_auth_create_digest @ 13 NONAME
|
||||
pjsip_auth_deinit_parser @ 14 NONAME
|
||||
pjsip_auth_init_parser @ 15 NONAME
|
||||
pjsip_auth_srv_challenge @ 16 NONAME
|
||||
pjsip_auth_srv_init @ 17 NONAME
|
||||
pjsip_auth_srv_verify @ 18 NONAME
|
||||
pjsip_authorization_hdr_create @ 19 NONAME
|
||||
pjsip_bye_method @ 20 NONAME
|
||||
pjsip_calculate_branch_id @ 21 NONAME
|
||||
pjsip_cancel_method @ 22 NONAME
|
||||
pjsip_cid_hdr_create @ 23 NONAME
|
||||
pjsip_cid_hdr_init @ 24 NONAME
|
||||
pjsip_clen_hdr_create @ 25 NONAME
|
||||
pjsip_clen_hdr_init @ 26 NONAME
|
||||
pjsip_clone_text_data @ 27 NONAME
|
||||
pjsip_concat_param_imp @ 28 NONAME
|
||||
pjsip_contact_hdr_create @ 29 NONAME
|
||||
pjsip_contact_hdr_init @ 30 NONAME
|
||||
pjsip_cred_info_dup @ 31 NONAME
|
||||
pjsip_cseq_hdr_create @ 32 NONAME
|
||||
pjsip_cseq_hdr_init @ 33 NONAME
|
||||
pjsip_ctype_hdr_create @ 34 NONAME
|
||||
pjsip_ctype_hdr_init @ 35 NONAME
|
||||
pjsip_dlg_add_usage @ 36 NONAME
|
||||
pjsip_dlg_create_request @ 37 NONAME
|
||||
pjsip_dlg_create_response @ 38 NONAME
|
||||
pjsip_dlg_create_uac @ 39 NONAME
|
||||
pjsip_dlg_create_uas @ 40 NONAME
|
||||
pjsip_dlg_dec_lock @ 41 NONAME
|
||||
pjsip_dlg_dec_session @ 42 NONAME
|
||||
pjsip_dlg_fork @ 43 NONAME
|
||||
pjsip_dlg_get_mod_data @ 44 NONAME
|
||||
pjsip_dlg_inc_lock @ 45 NONAME
|
||||
pjsip_dlg_inc_session @ 46 NONAME
|
||||
pjsip_dlg_modify_response @ 47 NONAME
|
||||
pjsip_dlg_respond @ 48 NONAME
|
||||
pjsip_dlg_send_request @ 49 NONAME
|
||||
pjsip_dlg_send_response @ 50 NONAME
|
||||
pjsip_dlg_set_mod_data @ 51 NONAME
|
||||
pjsip_dlg_set_route_set @ 52 NONAME
|
||||
pjsip_dlg_set_transport @ 53 NONAME
|
||||
pjsip_dlg_terminate @ 54 NONAME
|
||||
pjsip_dlg_try_inc_lock @ 55 NONAME
|
||||
pjsip_endpt_acquire_transport @ 56 NONAME
|
||||
pjsip_endpt_add_capability @ 57 NONAME
|
||||
pjsip_endpt_cancel_timer @ 58 NONAME
|
||||
pjsip_endpt_create @ 59 NONAME
|
||||
pjsip_endpt_create_ack @ 60 NONAME
|
||||
pjsip_endpt_create_cancel @ 61 NONAME
|
||||
pjsip_endpt_create_pool @ 62 NONAME
|
||||
pjsip_endpt_create_request @ 63 NONAME
|
||||
pjsip_endpt_create_request_from_hdr @ 64 NONAME
|
||||
pjsip_endpt_create_request_fwd @ 65 NONAME
|
||||
pjsip_endpt_create_resolver @ 66 NONAME
|
||||
pjsip_endpt_create_response @ 67 NONAME
|
||||
pjsip_endpt_create_response_fwd @ 68 NONAME
|
||||
pjsip_endpt_create_tdata @ 69 NONAME
|
||||
pjsip_endpt_destroy @ 70 NONAME
|
||||
pjsip_endpt_dump @ 71 NONAME
|
||||
pjsip_endpt_get_capability @ 72 NONAME
|
||||
pjsip_endpt_get_ioqueue @ 73 NONAME
|
||||
pjsip_endpt_get_request_headers @ 74 NONAME
|
||||
pjsip_endpt_get_resolver @ 75 NONAME
|
||||
pjsip_endpt_get_timer_heap @ 76 NONAME
|
||||
pjsip_endpt_get_tpmgr @ 77 NONAME
|
||||
pjsip_endpt_handle_events @ 78 NONAME
|
||||
pjsip_endpt_handle_events2 @ 79 NONAME
|
||||
pjsip_endpt_has_capability @ 80 NONAME
|
||||
pjsip_endpt_log_error @ 81 NONAME
|
||||
pjsip_endpt_name @ 82 NONAME
|
||||
pjsip_endpt_register_module @ 83 NONAME
|
||||
pjsip_endpt_release_pool @ 84 NONAME
|
||||
pjsip_endpt_resolve @ 85 NONAME
|
||||
pjsip_endpt_respond @ 86 NONAME
|
||||
pjsip_endpt_respond_stateless @ 87 NONAME
|
||||
pjsip_endpt_schedule_timer @ 88 NONAME
|
||||
pjsip_endpt_send_raw @ 89 NONAME
|
||||
pjsip_endpt_send_raw_to_uri @ 90 NONAME
|
||||
pjsip_endpt_send_request @ 91 NONAME
|
||||
pjsip_endpt_send_request_stateless @ 92 NONAME
|
||||
pjsip_endpt_send_response @ 93 NONAME
|
||||
pjsip_endpt_send_response2 @ 94 NONAME
|
||||
pjsip_endpt_set_resolver @ 95 NONAME
|
||||
pjsip_endpt_unregister_module @ 96 NONAME
|
||||
pjsip_event_str @ 97 NONAME
|
||||
pjsip_expires_hdr_create @ 98 NONAME
|
||||
pjsip_expires_hdr_init @ 99 NONAME
|
||||
pjsip_find_msg @ 100 NONAME
|
||||
pjsip_from_hdr_create @ 101 NONAME
|
||||
pjsip_from_hdr_init @ 102 NONAME
|
||||
pjsip_fromto_hdr_set_from @ 103 NONAME
|
||||
pjsip_fromto_hdr_set_to @ 104 NONAME
|
||||
pjsip_generic_array_hdr_create @ 105 NONAME
|
||||
pjsip_generic_array_hdr_init @ 106 NONAME
|
||||
pjsip_generic_int_hdr_create @ 107 NONAME
|
||||
pjsip_generic_int_hdr_init @ 108 NONAME
|
||||
pjsip_generic_string_hdr_create @ 109 NONAME
|
||||
pjsip_generic_string_hdr_init @ 110 NONAME
|
||||
pjsip_generic_string_hdr_init2 @ 111 NONAME
|
||||
pjsip_get_ack_method @ 112 NONAME
|
||||
pjsip_get_bye_method @ 113 NONAME
|
||||
pjsip_get_cancel_method @ 114 NONAME
|
||||
pjsip_get_invite_method @ 115 NONAME
|
||||
pjsip_get_options_method @ 116 NONAME
|
||||
pjsip_get_register_method @ 117 NONAME
|
||||
pjsip_get_request_dest @ 118 NONAME
|
||||
pjsip_get_response_addr @ 119 NONAME
|
||||
pjsip_get_status_text @ 120 NONAME
|
||||
pjsip_hdr_clone @ 121 NONAME
|
||||
pjsip_hdr_print_on @ 122 NONAME
|
||||
pjsip_hdr_shallow_clone @ 123 NONAME
|
||||
pjsip_invite_method @ 124 NONAME
|
||||
pjsip_loop_set_delay @ 125 NONAME
|
||||
pjsip_loop_set_discard @ 126 NONAME
|
||||
pjsip_loop_set_failure @ 127 NONAME
|
||||
pjsip_loop_set_recv_delay @ 128 NONAME
|
||||
pjsip_loop_set_send_callback_delay @ 129 NONAME
|
||||
pjsip_loop_start @ 130 NONAME
|
||||
pjsip_max_fwd_hdr_create @ 131 NONAME
|
||||
pjsip_max_fwd_hdr_init @ 132 NONAME
|
||||
pjsip_method_cmp @ 133 NONAME
|
||||
pjsip_method_copy @ 134 NONAME
|
||||
pjsip_method_creates_dialog @ 135 NONAME
|
||||
pjsip_method_init @ 136 NONAME
|
||||
pjsip_method_init_np @ 137 NONAME
|
||||
pjsip_method_set @ 138 NONAME
|
||||
pjsip_min_expires_hdr_create @ 139 NONAME
|
||||
pjsip_min_expires_hdr_init @ 140 NONAME
|
||||
pjsip_msg_body_clone @ 141 NONAME
|
||||
pjsip_msg_body_copy @ 142 NONAME
|
||||
pjsip_msg_body_create @ 143 NONAME
|
||||
pjsip_msg_clone @ 144 NONAME
|
||||
pjsip_msg_create @ 145 NONAME
|
||||
pjsip_msg_find_hdr @ 146 NONAME
|
||||
pjsip_msg_find_hdr_by_name @ 147 NONAME
|
||||
pjsip_msg_find_remove_hdr @ 148 NONAME
|
||||
pjsip_msg_print @ 149 NONAME
|
||||
pjsip_name_addr_assign @ 150 NONAME
|
||||
pjsip_name_addr_create @ 151 NONAME
|
||||
pjsip_name_addr_init @ 152 NONAME
|
||||
pjsip_options_method @ 153 NONAME
|
||||
pjsip_param_cfind @ 154 NONAME
|
||||
pjsip_param_clone @ 155 NONAME
|
||||
pjsip_param_find @ 156 NONAME
|
||||
pjsip_param_print_on @ 157 NONAME
|
||||
pjsip_param_shallow_clone @ 158 NONAME
|
||||
pjsip_parse_end_hdr_imp @ 159 NONAME
|
||||
pjsip_parse_hdr @ 160 NONAME
|
||||
pjsip_parse_msg @ 161 NONAME
|
||||
pjsip_parse_param_imp @ 162 NONAME
|
||||
pjsip_parse_rdata @ 163 NONAME
|
||||
pjsip_parse_status_line @ 164 NONAME
|
||||
pjsip_parse_uri @ 165 NONAME
|
||||
pjsip_parse_uri_param_imp @ 166 NONAME
|
||||
pjsip_parser_const @ 167 NONAME
|
||||
pjsip_print_text_body @ 168 NONAME
|
||||
pjsip_process_route_set @ 169 NONAME
|
||||
pjsip_proxy_authenticate_hdr_create @ 170 NONAME
|
||||
pjsip_proxy_authorization_hdr_create @ 171 NONAME
|
||||
pjsip_rdata_get_dlg @ 172 NONAME
|
||||
pjsip_rdata_get_tsx @ 173 NONAME
|
||||
pjsip_register_hdr_parser @ 174 NONAME
|
||||
pjsip_register_method @ 175 NONAME
|
||||
pjsip_register_uri_parser @ 176 NONAME
|
||||
pjsip_require_hdr_create @ 177 NONAME
|
||||
pjsip_require_hdr_init @ 178 NONAME
|
||||
pjsip_resolve @ 179 NONAME
|
||||
pjsip_resolver_create @ 180 NONAME
|
||||
pjsip_resolver_destroy @ 181 NONAME
|
||||
pjsip_resolver_get_resolver @ 182 NONAME
|
||||
pjsip_resolver_set_resolver @ 183 NONAME
|
||||
pjsip_retry_after_hdr_create @ 184 NONAME
|
||||
pjsip_retry_after_hdr_init @ 185 NONAME
|
||||
pjsip_role_name @ 186 NONAME
|
||||
pjsip_route_hdr_create @ 187 NONAME
|
||||
pjsip_route_hdr_init @ 188 NONAME
|
||||
pjsip_routing_hdr_set_route @ 189 NONAME
|
||||
pjsip_routing_hdr_set_rr @ 190 NONAME
|
||||
pjsip_rr_hdr_create @ 191 NONAME
|
||||
pjsip_rr_hdr_init @ 192 NONAME
|
||||
pjsip_rx_data_get_info @ 193 NONAME
|
||||
pjsip_sip_uri_assign @ 194 NONAME
|
||||
pjsip_sip_uri_create @ 195 NONAME
|
||||
pjsip_sip_uri_init @ 196 NONAME
|
||||
pjsip_sip_uri_set_secure @ 197 NONAME
|
||||
pjsip_strerror @ 198 NONAME
|
||||
pjsip_supported_hdr_create @ 199 NONAME
|
||||
pjsip_supported_hdr_init @ 200 NONAME
|
||||
pjsip_tcp_transport_start @ 201 NONAME
|
||||
pjsip_tcp_transport_start2 @ 202 NONAME
|
||||
pjsip_tel_nb_cmp @ 203 NONAME
|
||||
pjsip_tel_uri_create @ 204 NONAME
|
||||
pjsip_to_hdr_create @ 205 NONAME
|
||||
pjsip_to_hdr_init @ 206 NONAME
|
||||
pjsip_tpmgr_acquire_transport @ 207 NONAME
|
||||
pjsip_tpmgr_create @ 208 NONAME
|
||||
pjsip_tpmgr_destroy @ 209 NONAME
|
||||
pjsip_tpmgr_dump_transports @ 210 NONAME
|
||||
pjsip_tpmgr_find_local_addr @ 211 NONAME
|
||||
pjsip_tpmgr_get_transport_count @ 212 NONAME
|
||||
pjsip_tpmgr_receive_packet @ 213 NONAME
|
||||
pjsip_tpmgr_register_tpfactory @ 214 NONAME
|
||||
pjsip_tpmgr_send_raw @ 215 NONAME
|
||||
pjsip_tpmgr_unregister_tpfactory @ 216 NONAME
|
||||
pjsip_tpselector_add_ref @ 217 NONAME
|
||||
pjsip_tpselector_dec_ref @ 218 NONAME
|
||||
pjsip_transport_add_ref @ 219 NONAME
|
||||
pjsip_transport_dec_ref @ 220 NONAME
|
||||
pjsip_transport_destroy @ 221 NONAME
|
||||
pjsip_transport_get_default_port_for_type @ 222 NONAME
|
||||
pjsip_transport_get_flag_from_type @ 223 NONAME
|
||||
pjsip_transport_get_type_desc @ 224 NONAME
|
||||
pjsip_transport_get_type_from_flag @ 225 NONAME
|
||||
pjsip_transport_get_type_from_name @ 226 NONAME
|
||||
pjsip_transport_get_type_name @ 227 NONAME
|
||||
pjsip_transport_register @ 228 NONAME
|
||||
pjsip_transport_register_type @ 229 NONAME
|
||||
pjsip_transport_send @ 230 NONAME
|
||||
pjsip_transport_shutdown @ 231 NONAME
|
||||
pjsip_transport_type_get_af @ 232 NONAME
|
||||
pjsip_tsx_create_key @ 233 NONAME
|
||||
pjsip_tsx_create_uac @ 234 NONAME
|
||||
pjsip_tsx_create_uas @ 235 NONAME
|
||||
pjsip_tsx_get_dlg @ 236 NONAME
|
||||
pjsip_tsx_layer_destroy @ 237 NONAME
|
||||
pjsip_tsx_layer_dump @ 238 NONAME
|
||||
pjsip_tsx_layer_find_tsx @ 239 NONAME
|
||||
pjsip_tsx_layer_get_tsx_count @ 240 NONAME
|
||||
pjsip_tsx_layer_init_module @ 241 NONAME
|
||||
pjsip_tsx_layer_instance @ 242 NONAME
|
||||
pjsip_tsx_recv_msg @ 243 NONAME
|
||||
pjsip_tsx_retransmit_no_state @ 244 NONAME
|
||||
pjsip_tsx_send_msg @ 245 NONAME
|
||||
pjsip_tsx_set_transport @ 246 NONAME
|
||||
pjsip_tsx_state_str @ 247 NONAME
|
||||
pjsip_tsx_stop_retransmit @ 248 NONAME
|
||||
pjsip_tsx_terminate @ 249 NONAME
|
||||
pjsip_tx_data_add_ref @ 250 NONAME
|
||||
pjsip_tx_data_create @ 251 NONAME
|
||||
pjsip_tx_data_dec_ref @ 252 NONAME
|
||||
pjsip_tx_data_get_info @ 253 NONAME
|
||||
pjsip_tx_data_invalidate_msg @ 254 NONAME
|
||||
pjsip_tx_data_is_valid @ 255 NONAME
|
||||
pjsip_tx_data_set_transport @ 256 NONAME
|
||||
pjsip_ua_destroy @ 257 NONAME
|
||||
pjsip_ua_dump @ 258 NONAME
|
||||
pjsip_ua_find_dialog @ 259 NONAME
|
||||
pjsip_ua_get_dlg_set_count @ 260 NONAME
|
||||
pjsip_ua_get_endpt @ 261 NONAME
|
||||
pjsip_ua_init_module @ 262 NONAME
|
||||
pjsip_ua_instance @ 263 NONAME
|
||||
pjsip_ua_register_dlg @ 264 NONAME
|
||||
pjsip_ua_unregister_dlg @ 265 NONAME
|
||||
pjsip_udp_transport_attach @ 266 NONAME
|
||||
pjsip_udp_transport_attach2 @ 267 NONAME
|
||||
pjsip_udp_transport_get_socket @ 268 NONAME
|
||||
pjsip_udp_transport_pause @ 269 NONAME
|
||||
pjsip_udp_transport_restart @ 270 NONAME
|
||||
pjsip_udp_transport_start @ 271 NONAME
|
||||
pjsip_udp_transport_start6 @ 272 NONAME
|
||||
pjsip_unsupported_hdr_create @ 273 NONAME
|
||||
pjsip_unsupported_hdr_init @ 274 NONAME
|
||||
pjsip_via_hdr_create @ 275 NONAME
|
||||
pjsip_via_hdr_init @ 276 NONAME
|
||||
pjsip_warning_hdr_create @ 277 NONAME
|
||||
pjsip_warning_hdr_create_from_status @ 278 NONAME
|
||||
pjsip_www_authenticate_hdr_create @ 279 NONAME
|
54
res/pjproject/build.symbian/pjsip_simple.mmp
Normal file
54
res/pjproject/build.symbian/pjsip_simple.mmp
Normal file
@@ -0,0 +1,54 @@
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET pjsip_simple.dll
|
||||
TARGETTYPE dll
|
||||
|
||||
UID 0x0 0xA0000008
|
||||
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjsip.lib pjsdp.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjsip_simple.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjsip_simple.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjsip\src\pjsip-simple
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
// PJSIP-SIMPLE files
|
||||
|
||||
SOURCE errno.c
|
||||
SOURCE evsub.c
|
||||
SOURCE evsub_msg.c
|
||||
SOURCE iscomposing.c
|
||||
SOURCE mwi.c
|
||||
SOURCE pidf.c
|
||||
SOURCE presence.c
|
||||
SOURCE presence_body.c
|
||||
SOURCE publishc.c
|
||||
SOURCE rpid.c
|
||||
SOURCE xpidf.c
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjsip\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
96
res/pjproject/build.symbian/pjsip_simpleU.def
Normal file
96
res/pjproject/build.symbian/pjsip_simpleU.def
Normal file
@@ -0,0 +1,96 @@
|
||||
EXPORTS
|
||||
pjpidf_create @ 1 NONAME
|
||||
pjpidf_parse @ 2 NONAME
|
||||
pjpidf_pres_add_note @ 3 NONAME
|
||||
pjpidf_pres_add_tuple @ 4 NONAME
|
||||
pjpidf_pres_construct @ 5 NONAME
|
||||
pjpidf_pres_find_tuple @ 6 NONAME
|
||||
pjpidf_pres_get_first_note @ 7 NONAME
|
||||
pjpidf_pres_get_first_tuple @ 8 NONAME
|
||||
pjpidf_pres_get_next_note @ 9 NONAME
|
||||
pjpidf_pres_get_next_tuple @ 10 NONAME
|
||||
pjpidf_pres_remove_tuple @ 11 NONAME
|
||||
pjpidf_print @ 12 NONAME
|
||||
pjpidf_status_construct @ 13 NONAME
|
||||
pjpidf_status_is_basic_open @ 14 NONAME
|
||||
pjpidf_status_set_basic_open @ 15 NONAME
|
||||
pjpidf_tuple_add_note @ 16 NONAME
|
||||
pjpidf_tuple_construct @ 17 NONAME
|
||||
pjpidf_tuple_get_contact @ 18 NONAME
|
||||
pjpidf_tuple_get_contact_prio @ 19 NONAME
|
||||
pjpidf_tuple_get_first_note @ 20 NONAME
|
||||
pjpidf_tuple_get_id @ 21 NONAME
|
||||
pjpidf_tuple_get_next_note @ 22 NONAME
|
||||
pjpidf_tuple_get_status @ 23 NONAME
|
||||
pjpidf_tuple_get_timestamp @ 24 NONAME
|
||||
pjpidf_tuple_set_contact @ 25 NONAME
|
||||
pjpidf_tuple_set_contact_prio @ 26 NONAME
|
||||
pjpidf_tuple_set_id @ 27 NONAME
|
||||
pjpidf_tuple_set_timestamp @ 28 NONAME
|
||||
pjpidf_tuple_set_timestamp_np @ 29 NONAME
|
||||
pjrpid_add_element @ 30 NONAME
|
||||
pjrpid_element_dup @ 31 NONAME
|
||||
pjrpid_get_element @ 32 NONAME
|
||||
pjsip_allow_events_hdr_create @ 33 NONAME
|
||||
pjsip_event_hdr_create @ 34 NONAME
|
||||
pjsip_evsub_accept @ 35 NONAME
|
||||
pjsip_evsub_create_uac @ 36 NONAME
|
||||
pjsip_evsub_create_uas @ 37 NONAME
|
||||
pjsip_evsub_current_notify @ 38 NONAME
|
||||
pjsip_evsub_get_allow_events_hdr @ 39 NONAME
|
||||
pjsip_evsub_get_mod_data @ 40 NONAME
|
||||
pjsip_evsub_get_state @ 41 NONAME
|
||||
pjsip_evsub_get_state_name @ 42 NONAME
|
||||
pjsip_evsub_init_module @ 43 NONAME
|
||||
pjsip_evsub_init_parser @ 44 NONAME
|
||||
pjsip_evsub_initiate @ 45 NONAME
|
||||
pjsip_evsub_instance @ 46 NONAME
|
||||
pjsip_evsub_notify @ 47 NONAME
|
||||
pjsip_evsub_register_pkg @ 48 NONAME
|
||||
pjsip_evsub_send_request @ 49 NONAME
|
||||
pjsip_evsub_set_mod_data @ 50 NONAME
|
||||
pjsip_evsub_terminate @ 51 NONAME
|
||||
pjsip_get_notify_method @ 52 NONAME
|
||||
pjsip_get_subscribe_method @ 53 NONAME
|
||||
pjsip_iscomposing_create_body @ 54 NONAME
|
||||
pjsip_iscomposing_create_xml @ 55 NONAME
|
||||
pjsip_iscomposing_parse @ 56 NONAME
|
||||
pjsip_notify_method @ 57 NONAME
|
||||
pjsip_pres_accept @ 58 NONAME
|
||||
pjsip_pres_create_pidf @ 59 NONAME
|
||||
pjsip_pres_create_uac @ 60 NONAME
|
||||
pjsip_pres_create_uas @ 61 NONAME
|
||||
pjsip_pres_create_xpidf @ 62 NONAME
|
||||
pjsip_pres_current_notify @ 63 NONAME
|
||||
pjsip_pres_get_status @ 64 NONAME
|
||||
pjsip_pres_init_module @ 65 NONAME
|
||||
pjsip_pres_initiate @ 66 NONAME
|
||||
pjsip_pres_instance @ 67 NONAME
|
||||
pjsip_pres_notify @ 68 NONAME
|
||||
pjsip_pres_parse_pidf @ 69 NONAME
|
||||
pjsip_pres_parse_xpidf @ 70 NONAME
|
||||
pjsip_pres_send_request @ 71 NONAME
|
||||
pjsip_pres_set_status @ 72 NONAME
|
||||
pjsip_pres_terminate @ 73 NONAME
|
||||
pjsip_publishc_create @ 74 NONAME
|
||||
pjsip_publishc_destroy @ 75 NONAME
|
||||
pjsip_publishc_get_pool @ 76 NONAME
|
||||
pjsip_publishc_init @ 77 NONAME
|
||||
pjsip_publishc_init_module @ 78 NONAME
|
||||
pjsip_publishc_publish @ 79 NONAME
|
||||
pjsip_publishc_send @ 80 NONAME
|
||||
pjsip_publishc_set_credentials @ 81 NONAME
|
||||
pjsip_publishc_set_route_set @ 82 NONAME
|
||||
pjsip_publishc_unpublish @ 83 NONAME
|
||||
pjsip_publishc_update_expires @ 84 NONAME
|
||||
pjsip_sub_state_hdr_create @ 85 NONAME
|
||||
pjsip_subscribe_method @ 86 NONAME
|
||||
pjsip_tsx_get_evsub @ 87 NONAME
|
||||
pjsipsimple_strerror @ 88 NONAME
|
||||
pjxpidf_create @ 89 NONAME
|
||||
pjxpidf_get_status @ 90 NONAME
|
||||
pjxpidf_get_uri @ 91 NONAME
|
||||
pjxpidf_parse @ 92 NONAME
|
||||
pjxpidf_print @ 93 NONAME
|
||||
pjxpidf_set_status @ 94 NONAME
|
||||
pjxpidf_set_uri @ 95 NONAME
|
52
res/pjproject/build.symbian/pjsip_ua.mmp
Normal file
52
res/pjproject/build.symbian/pjsip_ua.mmp
Normal file
@@ -0,0 +1,52 @@
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET pjsip_ua.dll
|
||||
TARGETTYPE dll
|
||||
|
||||
UID 0x0 0xA0000009
|
||||
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjsip_simple.lib pjsip.lib pjsdp.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjsip_ua.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjsip_ua.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjsip\src\pjsip-ua
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
|
||||
// PJSIP-UA files
|
||||
|
||||
SOURCE sip_inv.c
|
||||
SOURCE sip_reg.c
|
||||
SOURCE sip_replaces.c
|
||||
SOURCE sip_xfer.c
|
||||
SOURCE sip_100rel.c
|
||||
SOURCE sip_timer.c
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjsip\include
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
|
58
res/pjproject/build.symbian/pjsip_uaU.def
Normal file
58
res/pjproject/build.symbian/pjsip_uaU.def
Normal file
@@ -0,0 +1,58 @@
|
||||
EXPORTS
|
||||
pjsip_100rel_attach @ 1 NONAME
|
||||
pjsip_100rel_create_prack @ 2 NONAME
|
||||
pjsip_100rel_end_session @ 3 NONAME
|
||||
pjsip_100rel_init_module @ 4 NONAME
|
||||
pjsip_100rel_is_reliable @ 5 NONAME
|
||||
pjsip_100rel_on_rx_prack @ 6 NONAME
|
||||
pjsip_100rel_send_prack @ 7 NONAME
|
||||
pjsip_100rel_tx_response @ 8 NONAME
|
||||
pjsip_create_sdp_body @ 9 NONAME
|
||||
pjsip_dlg_get_inv_session @ 10 NONAME
|
||||
pjsip_get_prack_method @ 11 NONAME
|
||||
pjsip_get_refer_method @ 12 NONAME
|
||||
pjsip_inv_answer @ 13 NONAME
|
||||
pjsip_inv_create_ack @ 14 NONAME
|
||||
pjsip_inv_create_uac @ 15 NONAME
|
||||
pjsip_inv_create_uas @ 16 NONAME
|
||||
pjsip_inv_end_session @ 17 NONAME
|
||||
pjsip_inv_initial_answer @ 18 NONAME
|
||||
pjsip_inv_invite @ 19 NONAME
|
||||
pjsip_inv_reinvite @ 20 NONAME
|
||||
pjsip_inv_send_msg @ 21 NONAME
|
||||
pjsip_inv_set_sdp_answer @ 22 NONAME
|
||||
pjsip_inv_state_name @ 23 NONAME
|
||||
pjsip_inv_terminate @ 24 NONAME
|
||||
pjsip_inv_update @ 25 NONAME
|
||||
pjsip_inv_usage_init @ 26 NONAME
|
||||
pjsip_inv_usage_instance @ 27 NONAME
|
||||
pjsip_inv_verify_request @ 28 NONAME
|
||||
pjsip_prack_method @ 29 NONAME
|
||||
pjsip_refer_method @ 30 NONAME
|
||||
pjsip_regc_add_headers @ 31 NONAME
|
||||
pjsip_regc_create @ 32 NONAME
|
||||
pjsip_regc_destroy @ 33 NONAME
|
||||
pjsip_regc_get_info @ 34 NONAME
|
||||
pjsip_regc_get_pool @ 35 NONAME
|
||||
pjsip_regc_init @ 36 NONAME
|
||||
pjsip_regc_register @ 37 NONAME
|
||||
pjsip_regc_send @ 38 NONAME
|
||||
pjsip_regc_set_credentials @ 39 NONAME
|
||||
pjsip_regc_set_prefs @ 40 NONAME
|
||||
pjsip_regc_set_route_set @ 41 NONAME
|
||||
pjsip_regc_set_transport @ 42 NONAME
|
||||
pjsip_regc_unregister @ 43 NONAME
|
||||
pjsip_regc_unregister_all @ 44 NONAME
|
||||
pjsip_regc_update_contact @ 45 NONAME
|
||||
pjsip_regc_update_expires @ 46 NONAME
|
||||
pjsip_replaces_hdr_create @ 47 NONAME
|
||||
pjsip_replaces_init_module @ 48 NONAME
|
||||
pjsip_replaces_verify_request @ 49 NONAME
|
||||
pjsip_xfer_accept @ 50 NONAME
|
||||
pjsip_xfer_create_uac @ 51 NONAME
|
||||
pjsip_xfer_create_uas @ 52 NONAME
|
||||
pjsip_xfer_current_notify @ 53 NONAME
|
||||
pjsip_xfer_init_module @ 54 NONAME
|
||||
pjsip_xfer_initiate @ 55 NONAME
|
||||
pjsip_xfer_notify @ 56 NONAME
|
||||
pjsip_xfer_send_request @ 57 NONAME
|
41
res/pjproject/build.symbian/pjstun_client.mmp
Normal file
41
res/pjproject/build.symbian/pjstun_client.mmp
Normal file
@@ -0,0 +1,41 @@
|
||||
TARGET pjstun_client.exe
|
||||
TARGETTYPE exe
|
||||
UID 0x0 0xA000000A
|
||||
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
SOURCEPATH ..\pjnath\src\pjstun-client
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// PJSTUN-CLIENT files
|
||||
|
||||
SOURCE client_main.c
|
||||
|
||||
//SOURCE main_symbian.cpp
|
||||
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjnath\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
MACRO PJ_DLL
|
||||
LIBRARY pjnath.lib pjlib_util.lib pjlib.lib
|
||||
#else
|
||||
STATICLIBRARY pjnath.lib pjlib_util.lib pjlib.lib
|
||||
#endif
|
||||
|
||||
LIBRARY esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
|
||||
#ifdef WINSCW
|
||||
STATICLIBRARY eexe.lib ecrt0.lib
|
||||
#endif
|
||||
|
||||
|
||||
CAPABILITY None
|
||||
|
55
res/pjproject/build.symbian/pjsua_lib.mmp
Normal file
55
res/pjproject/build.symbian/pjsua_lib.mmp
Normal file
@@ -0,0 +1,55 @@
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET pjsua_lib.dll
|
||||
TARGETTYPE dll
|
||||
|
||||
UID 0x0 0xA000000B
|
||||
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjsip_ua.lib pjsip_simple.lib pjsip.lib pjmedia.lib null_audio.lib pjsdp.lib pjnath.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\pjsua_lib.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET pjsua_lib.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjsip\src\pjsua-lib
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Must compile as C++, otherwise exception would not work
|
||||
OPTION CW -lang c++
|
||||
OPTION ARMCC --cpp --gnu
|
||||
OPTION GCC -x c++
|
||||
OPTION GCCE -x c++
|
||||
|
||||
// PJLIB-UTIL files
|
||||
|
||||
SOURCE pjsua_acc.c
|
||||
SOURCE pjsua_aud.c
|
||||
SOURCE pjsua_call.c
|
||||
SOURCE pjsua_core.c
|
||||
SOURCE pjsua_dump.c
|
||||
SOURCE pjsua_im.c
|
||||
SOURCE pjsua_media.c
|
||||
SOURCE pjsua_pres.c
|
||||
SOURCE pjsua_vid.c
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjnath\include
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjsip\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
|
122
res/pjproject/build.symbian/pjsua_libU.def
Normal file
122
res/pjproject/build.symbian/pjsua_libU.def
Normal file
@@ -0,0 +1,122 @@
|
||||
EXPORTS
|
||||
pjsua_acc_add @ 1 NONAME
|
||||
pjsua_acc_add_local @ 2 NONAME
|
||||
pjsua_acc_config_default @ 3 NONAME
|
||||
pjsua_acc_config_dup @ 4 NONAME
|
||||
pjsua_acc_create_request @ 5 NONAME
|
||||
pjsua_acc_create_uac_contact @ 6 NONAME
|
||||
pjsua_acc_create_uas_contact @ 7 NONAME
|
||||
pjsua_acc_del @ 8 NONAME
|
||||
pjsua_acc_enum_info @ 9 NONAME
|
||||
pjsua_acc_find_for_incoming @ 10 NONAME
|
||||
pjsua_acc_find_for_outgoing @ 11 NONAME
|
||||
pjsua_acc_get_count @ 12 NONAME
|
||||
pjsua_acc_get_default @ 13 NONAME
|
||||
pjsua_acc_get_info @ 14 NONAME
|
||||
pjsua_acc_is_valid @ 15 NONAME
|
||||
pjsua_acc_modify @ 16 NONAME
|
||||
pjsua_acc_set_default @ 17 NONAME
|
||||
pjsua_acc_set_online_status @ 18 NONAME
|
||||
pjsua_acc_set_online_status2 @ 19 NONAME
|
||||
pjsua_acc_set_registration @ 20 NONAME
|
||||
pjsua_acc_set_transport @ 21 NONAME
|
||||
pjsua_buddy_add @ 22 NONAME
|
||||
pjsua_buddy_config_default @ 23 NONAME
|
||||
pjsua_buddy_del @ 24 NONAME
|
||||
pjsua_buddy_get_info @ 25 NONAME
|
||||
pjsua_buddy_is_valid @ 26 NONAME
|
||||
pjsua_buddy_subscribe_pres @ 27 NONAME
|
||||
pjsua_buddy_update_pres @ 28 NONAME
|
||||
pjsua_call_answer @ 29 NONAME
|
||||
pjsua_call_dial_dtmf @ 30 NONAME
|
||||
pjsua_call_dump @ 31 NONAME
|
||||
pjsua_call_get_conf_port @ 32 NONAME
|
||||
pjsua_call_get_count @ 33 NONAME
|
||||
pjsua_call_get_info @ 34 NONAME
|
||||
pjsua_call_get_max_count @ 35 NONAME
|
||||
pjsua_call_get_rem_nat_type @ 36 NONAME
|
||||
pjsua_call_get_user_data @ 37 NONAME
|
||||
pjsua_call_hangup @ 38 NONAME
|
||||
pjsua_call_hangup_all @ 39 NONAME
|
||||
pjsua_call_has_media @ 40 NONAME
|
||||
pjsua_call_is_active @ 41 NONAME
|
||||
pjsua_call_make_call @ 42 NONAME
|
||||
pjsua_call_reinvite @ 43 NONAME
|
||||
pjsua_call_send_im @ 44 NONAME
|
||||
pjsua_call_send_request @ 45 NONAME
|
||||
pjsua_call_send_typing_ind @ 46 NONAME
|
||||
pjsua_call_set_hold @ 47 NONAME
|
||||
pjsua_call_set_user_data @ 48 NONAME
|
||||
pjsua_call_update @ 49 NONAME
|
||||
pjsua_call_xfer @ 50 NONAME
|
||||
pjsua_call_xfer_replaces @ 51 NONAME
|
||||
pjsua_codec_get_param @ 52 NONAME
|
||||
pjsua_codec_set_param @ 53 NONAME
|
||||
pjsua_codec_set_priority @ 54 NONAME
|
||||
pjsua_conf_add_port @ 55 NONAME
|
||||
pjsua_conf_adjust_rx_level @ 56 NONAME
|
||||
pjsua_conf_adjust_tx_level @ 57 NONAME
|
||||
pjsua_conf_connect @ 58 NONAME
|
||||
pjsua_conf_disconnect @ 59 NONAME
|
||||
pjsua_conf_get_active_ports @ 60 NONAME
|
||||
pjsua_conf_get_max_ports @ 61 NONAME
|
||||
pjsua_conf_get_port_info @ 62 NONAME
|
||||
pjsua_conf_get_signal_level @ 63 NONAME
|
||||
pjsua_conf_remove_port @ 64 NONAME
|
||||
pjsua_config_default @ 65 NONAME
|
||||
pjsua_config_dup @ 66 NONAME
|
||||
pjsua_create @ 67 NONAME
|
||||
pjsua_destroy @ 68 NONAME
|
||||
pjsua_detect_nat_type @ 69 NONAME
|
||||
pjsua_dump @ 70 NONAME
|
||||
pjsua_enum_accs @ 71 NONAME
|
||||
pjsua_enum_buddies @ 72 NONAME
|
||||
pjsua_enum_calls @ 73 NONAME
|
||||
pjsua_enum_codecs @ 74 NONAME
|
||||
pjsua_enum_conf_ports @ 75 NONAME
|
||||
pjsua_enum_snd_devs @ 76 NONAME
|
||||
pjsua_enum_transports @ 77 NONAME
|
||||
pjsua_get_buddy_count @ 78 NONAME
|
||||
pjsua_get_ec_tail @ 79 NONAME
|
||||
pjsua_get_nat_type @ 80 NONAME
|
||||
pjsua_get_pjmedia_endpt @ 81 NONAME
|
||||
pjsua_get_pjsip_endpt @ 82 NONAME
|
||||
pjsua_get_pool_factory @ 83 NONAME
|
||||
pjsua_get_snd_dev @ 84 NONAME
|
||||
pjsua_get_var @ 85 NONAME
|
||||
pjsua_handle_events @ 86 NONAME
|
||||
pjsua_im_send @ 87 NONAME
|
||||
pjsua_im_typing @ 88 NONAME
|
||||
pjsua_init @ 89 NONAME
|
||||
pjsua_logging_config_default @ 90 NONAME
|
||||
pjsua_logging_config_dup @ 91 NONAME
|
||||
pjsua_media_config_default @ 92 NONAME
|
||||
pjsua_media_transports_create @ 93 NONAME
|
||||
pjsua_msg_data_init @ 94 NONAME
|
||||
pjsua_perror @ 95 NONAME
|
||||
pjsua_player_create @ 96 NONAME
|
||||
pjsua_player_destroy @ 97 NONAME
|
||||
pjsua_player_get_conf_port @ 98 NONAME
|
||||
pjsua_player_get_port @ 99 NONAME
|
||||
pjsua_player_set_pos @ 100 NONAME
|
||||
pjsua_playlist_create @ 101 NONAME
|
||||
pjsua_pool_create @ 102 NONAME
|
||||
pjsua_pres_dump @ 103 NONAME
|
||||
pjsua_reconfigure_logging @ 104 NONAME
|
||||
pjsua_recorder_create @ 105 NONAME
|
||||
pjsua_recorder_destroy @ 106 NONAME
|
||||
pjsua_recorder_get_conf_port @ 107 NONAME
|
||||
pjsua_recorder_get_port @ 108 NONAME
|
||||
pjsua_set_ec @ 109 NONAME
|
||||
pjsua_set_no_snd_dev @ 110 NONAME
|
||||
pjsua_set_null_snd_dev @ 111 NONAME
|
||||
pjsua_set_snd_dev @ 112 NONAME
|
||||
pjsua_start @ 113 NONAME
|
||||
pjsua_transport_close @ 114 NONAME
|
||||
pjsua_transport_config_default @ 115 NONAME
|
||||
pjsua_transport_config_dup @ 116 NONAME
|
||||
pjsua_transport_create @ 117 NONAME
|
||||
pjsua_transport_get_info @ 118 NONAME
|
||||
pjsua_transport_register @ 119 NONAME
|
||||
pjsua_transport_set_enable @ 120 NONAME
|
||||
pjsua_verify_sip_url @ 121 NONAME
|
47
res/pjproject/build.symbian/symbian_audio.mmp
Normal file
47
res/pjproject/build.symbian/symbian_audio.mmp
Normal file
@@ -0,0 +1,47 @@
|
||||
#if defined(PJ_BUILD_DLL)
|
||||
|
||||
TARGET symbian_audio.dll
|
||||
TARGETTYPE dll
|
||||
UID 0x0 0xA000000C
|
||||
|
||||
CAPABILITY None
|
||||
LIBRARY pjlib.lib charconv.lib euser.lib estlib.lib
|
||||
LIBRARY mediaclientaudiostream.lib
|
||||
LIBRARY mediaclientaudioinputstream.lib
|
||||
|
||||
MACRO PJ_DLL
|
||||
MACRO PJ_EXPORTING
|
||||
|
||||
DEFFILE .\symbian_audio.def
|
||||
|
||||
#else
|
||||
|
||||
TARGET symbian_audio.lib
|
||||
TARGETTYPE lib
|
||||
|
||||
#endif
|
||||
|
||||
SOURCEPATH ..\pjmedia\src\pjmedia
|
||||
|
||||
OPTION CW -lang c++
|
||||
OPTION GCCE -O2 -fno-unit-at-a-time
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
SOURCE nullsound.c
|
||||
SOURCE symbian_sound.cpp
|
||||
SOURCE symbian_sound_aps.cpp
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\mmf\server
|
||||
SYSTEMINCLUDE \epoc32\include\mmf\common
|
||||
SYSTEMINCLUDE \epoc32\include\mda\common
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\mmf\plugin
|
||||
|
12
res/pjproject/build.symbian/symbian_audioU.def
Normal file
12
res/pjproject/build.symbian/symbian_audioU.def
Normal file
@@ -0,0 +1,12 @@
|
||||
EXPORTS
|
||||
pjmedia_snd_deinit @ 1 NONAME
|
||||
pjmedia_snd_get_dev_count @ 2 NONAME
|
||||
pjmedia_snd_get_dev_info @ 3 NONAME
|
||||
pjmedia_snd_init @ 4 NONAME
|
||||
pjmedia_snd_open @ 5 NONAME
|
||||
pjmedia_snd_open_player @ 6 NONAME
|
||||
pjmedia_snd_open_rec @ 7 NONAME
|
||||
pjmedia_snd_stream_close @ 8 NONAME
|
||||
pjmedia_snd_stream_get_info @ 9 NONAME
|
||||
pjmedia_snd_stream_start @ 10 NONAME
|
||||
pjmedia_snd_stream_stop @ 11 NONAME
|
84
res/pjproject/build.symbian/symbian_ua.mmp
Normal file
84
res/pjproject/build.symbian/symbian_ua.mmp
Normal file
@@ -0,0 +1,84 @@
|
||||
// These part may be overwritten by automated test
|
||||
// =BEGIN
|
||||
#define SND_HAS_APS 0
|
||||
#define SND_HAS_VAS 0
|
||||
#define SND_HAS_MDA 1
|
||||
// =END
|
||||
|
||||
TARGET symbian_ua.exe
|
||||
TARGETTYPE exe
|
||||
//UID 0x0 0x200235D3
|
||||
UID 0x0 0xA000000D
|
||||
|
||||
SOURCEPATH ..\pjsip-apps\src\symbian_ua
|
||||
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Source files
|
||||
|
||||
SOURCE ua.cpp
|
||||
SOURCE main_symbian.cpp
|
||||
|
||||
DOCUMENT ua.h
|
||||
|
||||
START RESOURCE symbian_ua_reg.rss
|
||||
TARGETPATH \private\10003a3f\apps
|
||||
END
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjlib-util\include
|
||||
SYSTEMINCLUDE ..\pjnath\include
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
SYSTEMINCLUDE ..\pjsip\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
// Ordering static libs based on dependencies, most to least dependent,
|
||||
// this could be necessary for some SDKs, e.g: S60 3rd MR
|
||||
STATICLIBRARY pjsua_lib.lib
|
||||
STATICLIBRARY pjsip_ua.lib pjsip_simple.lib pjsip.lib
|
||||
STATICLIBRARY libgsmcodec.lib libspeexcodec.lib
|
||||
STATICLIBRARY libg7221codec.lib libpassthroughcodec.lib
|
||||
STATICLIBRARY pjmedia.lib
|
||||
STATICLIBRARY pjmedia_audiodev.lib
|
||||
STATICLIBRARY pjsdp.lib
|
||||
STATICLIBRARY pjnath.lib
|
||||
STATICLIBRARY pjlib_util.lib pjlib.lib
|
||||
STATICLIBRARY libsrtp.lib
|
||||
STATICLIBRARY libresample.lib
|
||||
|
||||
#if SND_HAS_APS
|
||||
LIBRARY APSSession2.lib
|
||||
#endif
|
||||
|
||||
#if SND_HAS_VAS
|
||||
LIBRARY VoIPAudioIntfc.lib
|
||||
#endif
|
||||
|
||||
#if SND_HAS_MDA
|
||||
LIBRARY mediaclientaudiostream.lib
|
||||
LIBRARY mediaclientaudioinputstream.lib
|
||||
#endif
|
||||
|
||||
#if SND_HAS_APS || SND_HAS_VAS
|
||||
CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD
|
||||
#else
|
||||
CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment
|
||||
#endif
|
||||
|
||||
#ifdef WINSCW
|
||||
STATICLIBRARY eexe.lib ecrt0.lib
|
||||
#endif
|
||||
|
||||
LIBRARY esock.lib insock.lib charconv.lib euser.lib estlib.lib commdb.lib apengine.lib
|
||||
LIBRARY securesocket.lib x509.lib crypto.lib x500.lib
|
||||
LIBRARY hal.lib efsrv.lib
|
||||
|
||||
// The default 8KB seems to be insufficient with all bells and
|
||||
// whistles turned on
|
||||
EPOCSTACKSIZE 12288
|
||||
|
19
res/pjproject/build.symbian/symbian_ua.pkg
Normal file
19
res/pjproject/build.symbian/symbian_ua.pkg
Normal file
@@ -0,0 +1,19 @@
|
||||
; symbian_ua.pkg
|
||||
|
||||
; Languages
|
||||
&EN
|
||||
|
||||
; Header
|
||||
;#{"symbian_ua"},(0x200235D3), 0, 1, 1
|
||||
#{"symbian_ua"},(0xA000000D), 0, 1, 1
|
||||
|
||||
; Platform compatibility
|
||||
[0x101F7961], *, *, *,{"Series60ProductID"}
|
||||
|
||||
; vendor
|
||||
%{"PJSIP"}
|
||||
:"PJSIP"
|
||||
|
||||
; Target
|
||||
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\symbian_ua.exe"-"!:\sys\bin\symbian_ua.exe"
|
||||
"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\symbian_ua_reg.rSC"-"!:\private\10003a3f\import\apps\symbian_ua_reg.rSC"
|
21
res/pjproject/build.symbian/symbian_ua_udeb.pkg
Normal file
21
res/pjproject/build.symbian/symbian_ua_udeb.pkg
Normal file
@@ -0,0 +1,21 @@
|
||||
; symbian_ua_udeb.pkg
|
||||
|
||||
; for Carbide development, please use symbian_ua.pkg for comfortness
|
||||
; (epoc32 path, platform, and target are set automatically using env vars)
|
||||
|
||||
; Languages
|
||||
&EN
|
||||
|
||||
; Header
|
||||
#{"symbian_ua"},(0x200235D3), 0, 1, 1
|
||||
|
||||
; Platform compatibility
|
||||
[0x101F7961], *, *, *,{"Series60ProductID"}
|
||||
|
||||
; vendor
|
||||
%{"PJSIP"}
|
||||
:"PJSIP"
|
||||
|
||||
; Target
|
||||
"C:\Symbian\9.2\S60_3rd_FP1\epoc32\release\gcce\UDEB\symbian_ua.exe"-"!:\sys\bin\symbian_ua.exe"
|
||||
"C:\Symbian\9.2\S60_3rd_FP1\epoc32\data\z\private\10003a3f\apps\symbian_ua_reg.rSC"-"!:\private\10003a3f\import\apps\symbian_ua_reg.rSC"
|
21
res/pjproject/build.symbian/symbian_ua_urel.pkg
Normal file
21
res/pjproject/build.symbian/symbian_ua_urel.pkg
Normal file
@@ -0,0 +1,21 @@
|
||||
; symbian_ua.pkg
|
||||
|
||||
; for Carbide development, please use symbian_ua.pkg for comfortness
|
||||
; (epoc32 path, platform, and target are set automatically using env vars)
|
||||
|
||||
; Languages
|
||||
&EN
|
||||
|
||||
; Header
|
||||
#{"symbian_ua"},(0x200235D3), 0, 1, 1
|
||||
|
||||
; Platform compatibility
|
||||
[0x101F7961], *, *, *,{"Series60ProductID"}
|
||||
|
||||
; vendor
|
||||
%{"PJSIP"}
|
||||
:"PJSIP"
|
||||
|
||||
; Target
|
||||
"C:\Symbian\9.1\S60_3rd_MR\epoc32\release\gcce\UREL\symbian_ua.exe"-"!:\sys\bin\symbian_ua.exe"
|
||||
"C:\Symbian\9.1\S60_3rd_MR\epoc32\data\z\private\10003a3f\apps\symbian_ua_reg.rSC"-"!:\private\10003a3f\import\apps\symbian_ua_reg.rSC"
|
51
res/pjproject/build.symbian/symsndtest.mmp
Normal file
51
res/pjproject/build.symbian/symsndtest.mmp
Normal file
@@ -0,0 +1,51 @@
|
||||
#define SND_USE_APS 0
|
||||
#define SND_USE_VAS 0
|
||||
|
||||
TARGET symsndtest.exe
|
||||
TARGETTYPE exe
|
||||
UID 0x0 0xA000000E
|
||||
|
||||
OPTION ARMCC --gnu
|
||||
|
||||
SOURCEPATH ..\pjsip-apps\src\symsndtest
|
||||
|
||||
MACRO PJ_M_I386=1
|
||||
MACRO PJ_SYMBIAN=1
|
||||
|
||||
// Test files
|
||||
|
||||
SOURCE app_main.cpp
|
||||
SOURCE main_symbian.cpp
|
||||
|
||||
START RESOURCE symsndtest_reg.rss
|
||||
TARGETPATH \private\10003a3f\apps
|
||||
END
|
||||
|
||||
SYSTEMINCLUDE ..\pjlib\include
|
||||
SYSTEMINCLUDE ..\pjmedia\include
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
|
||||
LIBRARY charconv.lib euser.lib estlib.lib
|
||||
LIBRARY esock.lib insock.lib
|
||||
STATICLIBRARY pjmedia_audiodev.lib
|
||||
STATICLIBRARY pjmedia.lib
|
||||
STATICLIBRARY pjlib.lib
|
||||
STATICLIBRARY libresample.lib
|
||||
|
||||
#if SND_USE_APS
|
||||
LIBRARY APSSession2.lib
|
||||
CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD
|
||||
#elif SND_USE_VAS
|
||||
LIBRARY VoIPAudioIntfc.lib
|
||||
CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD
|
||||
#else
|
||||
LIBRARY mediaclientaudiostream.lib
|
||||
LIBRARY mediaclientaudioinputstream.lib
|
||||
CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment
|
||||
#endif
|
||||
|
||||
#ifdef WINSCW
|
||||
STATICLIBRARY eexe.lib ecrt0.lib
|
||||
#endif
|
19
res/pjproject/build.symbian/symsndtest.pkg
Normal file
19
res/pjproject/build.symbian/symsndtest.pkg
Normal file
@@ -0,0 +1,19 @@
|
||||
; symsndtest.pkg
|
||||
|
||||
; Languages
|
||||
&EN
|
||||
|
||||
; Header
|
||||
#{"symsndtest"},(0xA000000E), 0, 1, 1
|
||||
|
||||
; Platform compatibility
|
||||
[0x101F7961], *, *, *, {"Series60ProductID"}
|
||||
|
||||
; vendor
|
||||
%{"PJSIP"}
|
||||
:"PJSIP"
|
||||
|
||||
; Target
|
||||
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\symsndtest.exe"-"!:\sys\bin\symsndtest.exe"
|
||||
"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\symsndtest_reg.rSC"-"!:\private\10003a3f\import\apps\symsndtest_reg.rSC"
|
||||
|
21
res/pjproject/build/cc-auto.mak.in
Normal file
21
res/pjproject/build/cc-auto.mak.in
Normal file
@@ -0,0 +1,21 @@
|
||||
export CC = @CC@ -c
|
||||
export CXX = @CXX@ -c
|
||||
export AR = @AR@
|
||||
export LD = @LD@
|
||||
export LDOUT = -o
|
||||
export RANLIB = @RANLIB@
|
||||
|
||||
export OBJEXT := .@OBJEXT@
|
||||
export LIBEXT := .@LIBEXT@
|
||||
export LIBEXT2 := @LIBEXT2@
|
||||
|
||||
export CC_OUT := @CC_OUT@
|
||||
export CC_INC := @CC_INC@
|
||||
export CC_DEF := @CC_DEF@
|
||||
export CC_OPTIMIZE := @CC_OPTIMIZE@
|
||||
export CC_LIB := -l
|
||||
|
||||
export CC_SOURCES :=
|
||||
export CC_CFLAGS := @CC_CFLAGS@
|
||||
export CC_LDFLAGS :=
|
||||
|
22
res/pjproject/build/cc-gcc.mak
Normal file
22
res/pjproject/build/cc-gcc.mak
Normal file
@@ -0,0 +1,22 @@
|
||||
export CC = $(CROSS_COMPILE)gcc -c
|
||||
export AR = $(CROSS_COMPILE)ar rv
|
||||
export LD = $(CROSS_COMPILE)gcc
|
||||
export LDOUT = -o
|
||||
export RANLIB = $(CROSS_COMPILE)ranlib
|
||||
|
||||
export OBJEXT := .o
|
||||
export LIBEXT := .a
|
||||
export LIBEXT2 :=
|
||||
|
||||
export CC_OUT := -o
|
||||
export CC_INC := -I
|
||||
export CC_DEF := -D
|
||||
export CC_OPTIMIZE := -O2
|
||||
export CC_LIB := -l
|
||||
|
||||
export CC_SOURCES :=
|
||||
export CC_CFLAGS := -Wall
|
||||
#export CC_CFLAGS += -Wdeclaration-after-statement
|
||||
#export CC_CXXFLAGS := -Wdeclaration-after-statement
|
||||
export CC_LDFLAGS :=
|
||||
|
20
res/pjproject/build/cc-vc.mak
Normal file
20
res/pjproject/build/cc-vc.mak
Normal file
@@ -0,0 +1,20 @@
|
||||
export CC := cl /c /nologo
|
||||
export AR := lib /NOLOGO /OUT:
|
||||
export LD := cl /nologo
|
||||
export LDOUT := /Fe
|
||||
export RANLIB := echo ranlib
|
||||
|
||||
export OBJEXT := .obj
|
||||
export LIBEXT := .lib
|
||||
export LIBEXT2 := .LIB
|
||||
|
||||
export CC_OUT := /Fo
|
||||
export CC_INC := /I
|
||||
export CC_DEF := /D
|
||||
export CC_OPTIMIZE := /Ox
|
||||
export CC_LIB :=
|
||||
|
||||
export CC_SOURCES :=
|
||||
export CC_CFLAGS := /W4 /MT
|
||||
export CC_CXXFLAGS := /GX
|
||||
export CC_LDFLAGS := /MT
|
63
res/pjproject/build/common.mak
Normal file
63
res/pjproject/build/common.mak
Normal file
@@ -0,0 +1,63 @@
|
||||
#
|
||||
# Include host/target/compiler selection.
|
||||
# This will export CC_NAME, MACHINE_NAME, OS_NAME, and HOST_NAME variables.
|
||||
#
|
||||
include $(PJDIR)/build.mak
|
||||
|
||||
#
|
||||
# Include global compiler specific definitions
|
||||
#
|
||||
include $(PJDIR)/build/cc-$(CC_NAME).mak
|
||||
|
||||
#
|
||||
# (Optionally) Include compiler specific configuration that is
|
||||
# specific to this project. This configuration file is
|
||||
# located in this directory.
|
||||
#
|
||||
-include cc-$(CC_NAME).mak
|
||||
|
||||
#
|
||||
# Include auto configured compiler specification.
|
||||
# This will override the compiler settings above.
|
||||
# Currently this is made OPTIONAL, to prevent people
|
||||
# from getting errors because they don't re-run ./configure
|
||||
# after downloading new PJSIP.
|
||||
#
|
||||
-include $(PJDIR)/build/cc-auto.mak
|
||||
|
||||
#
|
||||
# Include global machine specific definitions
|
||||
#
|
||||
include $(PJDIR)/build/m-$(MACHINE_NAME).mak
|
||||
-include m-$(MACHINE_NAME).mak
|
||||
|
||||
#
|
||||
# Include target OS specific definitions
|
||||
#
|
||||
include $(PJDIR)/build/os-$(OS_NAME).mak
|
||||
|
||||
#
|
||||
# (Optionally) Include target OS specific configuration that is
|
||||
# specific to this project. This configuration file is
|
||||
# located in this directory.
|
||||
#
|
||||
-include os-$(OS_NAME).mak
|
||||
|
||||
#
|
||||
# Include host specific definitions
|
||||
#
|
||||
include $(PJDIR)/build/host-$(HOST_NAME).mak
|
||||
|
||||
#
|
||||
# (Optionally) Include host specific configuration that is
|
||||
# specific to this project. This configuration file is
|
||||
# located in this directory.
|
||||
#
|
||||
-include host-$(HOST_NAME).mak
|
||||
|
||||
#
|
||||
# Include global user configuration, if any
|
||||
#
|
||||
-include $(PJDIR)/user.mak
|
||||
|
||||
|
13
res/pjproject/build/host-mingw.mak
Normal file
13
res/pjproject/build/host-mingw.mak
Normal file
@@ -0,0 +1,13 @@
|
||||
export HOST_MV := mv
|
||||
export HOST_RM := rm -f @@
|
||||
export HOST_RMR := rm -rf @@
|
||||
export HOST_RMDIR := rm -rf @@
|
||||
export HOST_MKDIR := mkdir @@
|
||||
export HOST_EXE := .exe
|
||||
export HOST_PSEP := /
|
||||
|
||||
export HOST_SOURCES :=
|
||||
export HOST_CFLAGS :=
|
||||
export HOST_CXXFLAGS :=
|
||||
export HOST_LDFLAGS := $(CC_LIB)stdc++$(LIBEXT2)
|
||||
|
13
res/pjproject/build/host-unix.mak
Normal file
13
res/pjproject/build/host-unix.mak
Normal file
@@ -0,0 +1,13 @@
|
||||
export HOST_MV := mv
|
||||
export HOST_RM := rm -f @@
|
||||
export HOST_RMR := rm -rf @@
|
||||
export HOST_RMDIR := rm -rf @@
|
||||
export HOST_MKDIR := mkdir -p @@
|
||||
export HOST_EXE := $(HOST_EXE)
|
||||
export HOST_PSEP := /
|
||||
|
||||
export HOST_SOURCES :=
|
||||
export HOST_CFLAGS :=
|
||||
export HOST_CXXFLAGS :=
|
||||
export HOST_LDFLAGS :=
|
||||
|
12
res/pjproject/build/host-win32.mak
Normal file
12
res/pjproject/build/host-win32.mak
Normal file
@@ -0,0 +1,12 @@
|
||||
export HOST_MV := ren
|
||||
export HOST_RM := if exist @@; del /F /Q @@
|
||||
export HOST_RMR := if exist @@; del /F /Q @@
|
||||
export HOST_RMDIR := if exist @@; rmdir @@
|
||||
export HOST_MKDIR := if not exist @@; mkdir @@
|
||||
export HOST_EXE := .exe
|
||||
export HOST_PSEP := \\
|
||||
|
||||
export HOST_SOURCES :=
|
||||
export HOST_CFLAGS :=
|
||||
export HOST_CXXFLAGS :=
|
||||
export HOST_LDFLAGS :=
|
4
res/pjproject/build/m-alpha.mak
Normal file
4
res/pjproject/build/m-alpha.mak
Normal file
@@ -0,0 +1,4 @@
|
||||
export M_CFLAGS := $(CC_DEF)PJ_M_ALPHA=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
4
res/pjproject/build/m-arm.mak
Normal file
4
res/pjproject/build/m-arm.mak
Normal file
@@ -0,0 +1,4 @@
|
||||
export M_CFLAGS := $(CC_DEF)PJ_M_ARMV4=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
1
res/pjproject/build/m-auto.mak
Normal file
1
res/pjproject/build/m-auto.mak
Normal file
@@ -0,0 +1 @@
|
||||
# Nothing needs to be defined here
|
4
res/pjproject/build/m-i386.mak
Normal file
4
res/pjproject/build/m-i386.mak
Normal file
@@ -0,0 +1,4 @@
|
||||
export M_CFLAGS := $(CC_DEF)PJ_M_I386=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
4
res/pjproject/build/m-m68k.mak
Normal file
4
res/pjproject/build/m-m68k.mak
Normal file
@@ -0,0 +1,4 @@
|
||||
export M_CFLAGS := $(CC_DEF)PJ_M_M68K=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
9
res/pjproject/build/m-mpc860.mak
Normal file
9
res/pjproject/build/m-mpc860.mak
Normal file
@@ -0,0 +1,9 @@
|
||||
#
|
||||
# PowerPC MPC860 specific.
|
||||
# It's a PowerPC without floating point support.
|
||||
#
|
||||
export M_CFLAGS := $(CC_DEF)PJ_M_POWERPC=1 $(CC_DEF)PJ_HAS_FLOATING_POINT=0 -mcpu=860
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS := -mcpu=860
|
||||
export M_SOURCES :=
|
||||
|
4
res/pjproject/build/m-powerpc.mak
Normal file
4
res/pjproject/build/m-powerpc.mak
Normal file
@@ -0,0 +1,4 @@
|
||||
export M_CFLAGS := $(CC_DEF)PJ_M_POWERPC=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
4
res/pjproject/build/m-sparc.mak
Normal file
4
res/pjproject/build/m-sparc.mak
Normal file
@@ -0,0 +1,4 @@
|
||||
export M_CFLAGS := $(CC_DEF)PJ_M_SPARC=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
4
res/pjproject/build/m-x86_64.mak
Normal file
4
res/pjproject/build/m-x86_64.mak
Normal file
@@ -0,0 +1,4 @@
|
||||
export M_CFLAGS := $(CC_DEF)PJ_M_X86_64=1
|
||||
export M_CXXFLAGS :=
|
||||
export M_LDFLAGS :=
|
||||
export M_SOURCES :=
|
11
res/pjproject/build/os-auto.mak.in
Normal file
11
res/pjproject/build/os-auto.mak.in
Normal file
@@ -0,0 +1,11 @@
|
||||
# @configure_input@
|
||||
|
||||
export OS_CFLAGS := $(CC_DEF)PJ_AUTOCONF=1 @CFLAGS@
|
||||
|
||||
export OS_CXXFLAGS := $(CC_DEF)PJ_AUTOCONF=1 @CXXFLAGS@
|
||||
|
||||
export OS_LDFLAGS := @LDFLAGS@ @LIBS@
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
||||
|
9
res/pjproject/build/os-darwinos.mak
Normal file
9
res/pjproject/build/os-darwinos.mak
Normal file
@@ -0,0 +1,9 @@
|
||||
export OS_CFLAGS := $(CC_DEF)PJ_DARWINOS=1
|
||||
|
||||
export OS_CXXFLAGS :=
|
||||
|
||||
export OS_LDFLAGS := $(CC_LIB)pthread$(LIBEXT2) -framework CoreAudio -lm
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
||||
|
43
res/pjproject/build/os-linux-kernel.mak
Normal file
43
res/pjproject/build/os-linux-kernel.mak
Normal file
@@ -0,0 +1,43 @@
|
||||
|
||||
include $(KERNEL_DIR)/.config
|
||||
|
||||
#
|
||||
# Basic kernel compilation flags.
|
||||
#
|
||||
export OS_CFLAGS := $(CC_DEF)PJ_LINUX_KERNEL=1 -D__KERNEL__ \
|
||||
-I$(KERNEL_DIR)/include -iwithprefix include \
|
||||
-nostdinc -msoft-float
|
||||
|
||||
#
|
||||
# Additional kernel compilation flags are taken from the kernel Makefile
|
||||
# itself.
|
||||
#
|
||||
|
||||
KERNEL_CFLAGS := \
|
||||
$(shell cd $(KERNEL_DIR) ; \
|
||||
make script SCRIPT='@echo $$(CFLAGS) $$(CFLAGS_MODULE)' $(KERNEL_ARCH))
|
||||
|
||||
export OS_CFLAGS += $(KERNEL_CFLAGS)
|
||||
|
||||
# -DMODULE -I$(KERNEL_DIR)/include -nostdinc \
|
||||
# -Wstrict-prototypes \
|
||||
# -Wno-trigraphs -fno-strict-aliasing -fno-common \
|
||||
# -msoft-float -m32 -fno-builtin-sprintf -fno-builtin-log2\
|
||||
# -fno-builtin-puts -mpreferred-stack-boundary=2 \
|
||||
# -fno-unit-at-a-time -march=i686 -mregparm=3 \
|
||||
# -iwithprefix include
|
||||
|
||||
#export OS_CFLAGS += -U__i386__ -Ui386 -D__arch_um__ -DSUBARCH=\"i386\" \
|
||||
# -D_LARGEFILE64_SOURCE -I$(KERNEL_DIR)/arch/um/include \
|
||||
# -Derrno=kernel_errno \
|
||||
# -I$(KERNEL_DIR)/arch/um/kernel/tt/include \
|
||||
# -I$(KERNEL_DIR)/arch/um/kernel/skas/include \
|
||||
|
||||
|
||||
export OS_CXXFLAGS :=
|
||||
|
||||
export OS_LDFLAGS :=
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
||||
|
9
res/pjproject/build/os-linux.mak
Normal file
9
res/pjproject/build/os-linux.mak
Normal file
@@ -0,0 +1,9 @@
|
||||
export OS_CFLAGS := $(CC_DEF)PJ_LINUX=1
|
||||
|
||||
export OS_CXXFLAGS :=
|
||||
|
||||
export OS_LDFLAGS := -lportaudio-$(TARGET_NAME) -lgsmcodec-$(TARGET_NAME) -lilbccodec-$(TARGET_NAME) -lspeex-$(TARGET_NAME) -lresample-$(TARGET_NAME) $(CC_LIB)pthread$(LIBEXT2) -lm
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
||||
|
32
res/pjproject/build/os-palmos.mak
Normal file
32
res/pjproject/build/os-palmos.mak
Normal file
@@ -0,0 +1,32 @@
|
||||
#
|
||||
# make-mingw.inc: Mingw specific compilation switches.
|
||||
#
|
||||
PALM_OS_SDK_VER := 0x06000000
|
||||
PALM_OS_TARGET_HOST := TARGET_HOST_PALMOS
|
||||
PALM_OS_TARGET_PLATFORM := TARGET_PLATFORM_PALMSIM_WIN32
|
||||
PALM_OS_BUILD_TYPE := BUILD_TYPE_DEBUG
|
||||
PALM_OS_TRACE_OUTPUT := TRACE_OUTPUT_ON
|
||||
PALM_OS_CPU_TYPE := CPU_ARM
|
||||
|
||||
export CROSS_COMPILE :=
|
||||
|
||||
ifeq ($(CC_NAME),gcc)
|
||||
export CFLAGS += -mno-cygwin -fexceptions -frtti
|
||||
endif
|
||||
|
||||
export OS_CFLAGS := $(CC_DEF)PJ_PALMOS=1 \
|
||||
$(CC_DEF)__PALMOS_KERNEL__=1 \
|
||||
$(CC_DEF)__PALMOS__=$(PALM_OS_SDK_VER) \
|
||||
$(CC_DEF)BUILD_TYPE=$(PALM_OS_BUILD_TYPE) \
|
||||
$(CC_DEF)TRACE_OUTPUT=$(PALM_OS_TRACE_OUTPUT) \
|
||||
$(CC_DEF)_SUPPORTS_NAMESPACE=0 \
|
||||
$(CC_DEF)_SUPPORTS_RTTI=0 \
|
||||
$(CC_DEF)TARGET_HOST=$(PALM_OS_TRAGET_HOST) \
|
||||
$(CC_DEF)TARGET_PLATFORM=$(PALM_OS_TARGET_PLATFORM)
|
||||
|
||||
export OS_CXXFLAGS :=
|
||||
|
||||
export OS_LDFLAGS :=
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
17
res/pjproject/build/os-rtems.mak
Normal file
17
res/pjproject/build/os-rtems.mak
Normal file
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Global OS specific configurations for RTEMS OS.
|
||||
#
|
||||
# Thanks Zetron, Inc and Phil Torre <ptorre@zetron.com> for donating PJLIB
|
||||
# port to RTEMS.
|
||||
#
|
||||
export RTEMS_DEBUG := -ggdb3 -DRTEMS_DEBUG -DDEBUG -qrtems_debug
|
||||
|
||||
export OS_CFLAGS := $(CC_DEF)PJ_RTEMS=1 \
|
||||
-B$(RTEMS_LIBRARY_PATH)/lib/ -specs bsp_specs -qrtems
|
||||
|
||||
export OS_CXXFLAGS :=
|
||||
|
||||
export OS_LDFLAGS := -B$(RTEMS_LIBRARY_PATH)/lib/ -specs bsp_specs -qrtems -lm
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
13
res/pjproject/build/os-sunos.mak
Normal file
13
res/pjproject/build/os-sunos.mak
Normal file
@@ -0,0 +1,13 @@
|
||||
export OS_CFLAGS := $(CC_DEF)PJ_SUNOS=1
|
||||
|
||||
export OS_CXXFLAGS :=
|
||||
|
||||
export OS_LDFLAGS := $(CC_LIB)pthread$(LIBEXT2) \
|
||||
$(CC_LIB)socket$(LIBEXT2) \
|
||||
$(CC_LIB)rt$(LIBEXT2) \
|
||||
$(CC_LIB)nsl$(LIBEXT2) \
|
||||
$(CC_LIB)m$(LIBEXT2)
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
||||
|
12
res/pjproject/build/os-win32.mak
Normal file
12
res/pjproject/build/os-win32.mak
Normal file
@@ -0,0 +1,12 @@
|
||||
export OS_CFLAGS := $(CC_DEF)PJ_WIN32=1
|
||||
|
||||
export OS_CXXFLAGS :=
|
||||
|
||||
export OS_LDFLAGS := $(CC_LIB)wsock32$(LIBEXT2) \
|
||||
$(CC_LIB)ws2_32$(LIBEXT2)\
|
||||
$(CC_LIB)ole32$(LIBEXT2)\
|
||||
$(CC_LIB)m$(LIBEXT2)
|
||||
|
||||
export OS_SOURCES :=
|
||||
|
||||
|
194
res/pjproject/build/rules.mak
Normal file
194
res/pjproject/build/rules.mak
Normal file
@@ -0,0 +1,194 @@
|
||||
ifeq ($(LIBDIR),)
|
||||
LIBDIR = ../lib
|
||||
endif
|
||||
ifeq ($(BINDIR),)
|
||||
BINDIR = ../bin
|
||||
endif
|
||||
|
||||
#
|
||||
# The full path of output lib file (e.g. ../lib/libapp.a).
|
||||
#
|
||||
LIB = $($(APP)_LIB)
|
||||
|
||||
#
|
||||
# The full path of output lib file (e.g. ../lib/libapp.a).
|
||||
#
|
||||
SHLIB = $($(APP)_SHLIB)
|
||||
|
||||
#
|
||||
# The full path of output executable file (e.g. ../bin/app.exe).
|
||||
#
|
||||
EXE = $($(APP)_EXE)
|
||||
|
||||
#
|
||||
# Source directory
|
||||
#
|
||||
SRCDIR = $($(APP)_SRCDIR)
|
||||
|
||||
#
|
||||
# Output directory for object files (i.e. output/target)
|
||||
#
|
||||
OBJDIR = output/$(app)-$(TARGET_NAME)
|
||||
|
||||
ifeq ($(OS_NAME),linux-kernel)
|
||||
export $(APP)_CFLAGS += -DKBUILD_MODNAME=$(app) -DKBUILD_BASENAME=$(app)
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# OBJS is ./output/target/file.o
|
||||
#
|
||||
OBJS = $(foreach file, $($(APP)_OBJS), $(OBJDIR)/$(file))
|
||||
OBJDIRS := $(sort $(dir $(OBJS)))
|
||||
|
||||
#
|
||||
# FULL_SRCS is ../src/app/file1.c ../src/app/file1.S
|
||||
#
|
||||
FULL_SRCS = $(foreach file, $($(APP)_OBJS), $(SRCDIR)/$(basename $(file)).m $(SRCDIR)/$(basename $(file)).c $(SRCDIR)/$(basename $(file)).cpp $(SRCDIR)/$(basename $(file)).S)
|
||||
|
||||
#
|
||||
# When generating dependency (gcc -MM), ideally we use only either
|
||||
# CFLAGS or CXXFLAGS (not both). But I just couldn't make if/ifeq to work.
|
||||
#
|
||||
DEPFLAGS = $($(APP)_CXXFLAGS) $($(APP)_CFLAGS)
|
||||
|
||||
# Dependency file
|
||||
DEP_FILE := .$(app)-$(TARGET_NAME).depend
|
||||
|
||||
|
||||
print_common:
|
||||
@echo "###"
|
||||
@echo "### DUMPING MAKE VARIABLES (I WON'T DO ANYTHING ELSE):"
|
||||
@echo "###"
|
||||
@echo APP=$(APP)
|
||||
@echo OBJDIR=$(OBJDIR)
|
||||
@echo OBJDIRS=$(OBJDIRS)
|
||||
@echo OBJS=$(OBJS)
|
||||
@echo SRCDIR=$(SRCDIR)
|
||||
@echo FULL_SRCS=$(FULL_SRCS)
|
||||
@echo $(APP)_CFLAGS=$($(APP)_CFLAGS)
|
||||
@echo $(APP)_CXXFLAGS=$($(APP)_CXXFLAGS)
|
||||
@echo $(APP)_LDFLAGS=$($(APP)_LDFLAGS)
|
||||
@echo DEPFLAGS=$(DEPFLAGS)
|
||||
@echo CC=$(CC)
|
||||
@echo AR=$(AR)
|
||||
@echo RANLIB=$(RANLIB)
|
||||
|
||||
print_bin: print_common
|
||||
@echo EXE=$(EXE)
|
||||
@echo BINDIR=$(BINDIR)
|
||||
|
||||
print_lib: print_common
|
||||
@echo LIB=$(LIB)
|
||||
@echo LIBDIR=$(LIBDIR)
|
||||
|
||||
$(LIB): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
|
||||
if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi
|
||||
$(AR) $(LIB) $(OBJS)
|
||||
$(RANLIB) $(LIB)
|
||||
|
||||
$(SHLIB): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
|
||||
if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi
|
||||
$(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$(SHLIB)) \
|
||||
$(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS)
|
||||
|
||||
$(EXE): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP)
|
||||
if test ! -d $(BINDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(BINDIR)),$(HOST_MKDIR)); fi
|
||||
$(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$(EXE)) \
|
||||
$(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS)
|
||||
|
||||
$(OBJDIR)/$(app).o: $(OBJDIRS) $(OBJS)
|
||||
$(CROSS_COMPILE)ld -r -o $@ $(OBJS)
|
||||
|
||||
$(OBJDIR)/$(app).ko: $(OBJDIR)/$(app).o
|
||||
@echo Creating kbuild Makefile...
|
||||
@echo "# Our module name:" > $(OBJDIR)/Makefile
|
||||
@echo 'obj-m += $(app).o' >> $(OBJDIR)/Makefile
|
||||
@echo >> $(OBJDIR)/Makefile
|
||||
@echo "# Object members:" >> $(OBJDIR)/Makefile
|
||||
@echo -n '$(app)-objs += ' >> $(OBJDIR)/Makefile
|
||||
@for file in $($(APP)_OBJS); do \
|
||||
echo -n "$$file " >> $(OBJDIR)/Makefile; \
|
||||
done
|
||||
@echo >> $(OBJDIR)/Makefile
|
||||
@echo >> $(OBJDIR)/Makefile
|
||||
@echo "# Prevent .o files to be built by kbuild:" >> $(OBJDIR)/Makefile
|
||||
@for file in $($(APP)_OBJS); do \
|
||||
echo ".PHONY: `pwd`/$(OBJDIR)/$$file" >> $(OBJDIR)/Makefile; \
|
||||
done
|
||||
@echo >> $(OBJDIR)/Makefile
|
||||
@echo all: >> $(OBJDIR)/Makefile
|
||||
@echo -e "\tmake -C $(KERNEL_DIR) M=`pwd`/$(OBJDIR) modules $(KERNEL_ARCH)" >> $(OBJDIR)/Makefile
|
||||
@echo Invoking kbuild...
|
||||
make -C $(OBJDIR)
|
||||
|
||||
../lib/$(app).ko: $(LIB) $(OBJDIR)/$(app).ko
|
||||
cp $(OBJDIR)/$(app).ko ../lib
|
||||
|
||||
$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.m
|
||||
$(CC) $($(APP)_CFLAGS) \
|
||||
$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
$(subst /,$(HOST_PSEP),$<)
|
||||
|
||||
$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.c
|
||||
$(CC) $($(APP)_CFLAGS) \
|
||||
$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
$(subst /,$(HOST_PSEP),$<)
|
||||
|
||||
$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.S
|
||||
$(CC) $($(APP)_CFLAGS) \
|
||||
$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
$(subst /,$(HOST_PSEP),$<)
|
||||
|
||||
$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.cpp
|
||||
$(CC) $($(APP)_CXXFLAGS) \
|
||||
$(CC_OUT)$(subst /,$(HOST_PSEP),$@) \
|
||||
$(subst /,$(HOST_PSEP),$<)
|
||||
|
||||
$(OBJDIRS):
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR))
|
||||
|
||||
$(LIBDIR):
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR))
|
||||
|
||||
$(BINDIR):
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$(BINDIR)),$(HOST_MKDIR))
|
||||
|
||||
clean:
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)/*),$(HOST_RMR))
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)),$(HOST_RMDIR))
|
||||
ifeq ($(OS_NAME),linux-kernel)
|
||||
rm -f ../lib/$(app).o
|
||||
endif
|
||||
|
||||
gcov-report:
|
||||
for file in $(FULL_SRCS); do \
|
||||
gcov $$file -n -o $(OBJDIR); \
|
||||
done
|
||||
|
||||
realclean: clean
|
||||
$(subst @@,$(subst /,$(HOST_PSEP),$(LIB)) $(subst /,$(HOST_PSEP),$(EXE)),$(HOST_RM))
|
||||
$(subst @@,$(DEP_FILE),$(HOST_RM))
|
||||
ifeq ($(OS_NAME),linux-kernel)
|
||||
rm -f ../lib/$(app).ko
|
||||
endif
|
||||
|
||||
depend:
|
||||
$(subst @@,$(DEP_FILE),$(HOST_RM))
|
||||
for F in $(FULL_SRCS); do \
|
||||
if test -f $$F; then \
|
||||
echo "$(OBJDIR)/" | tr -d '\n' >> $(DEP_FILE); \
|
||||
if $(CC) -M $(DEPFLAGS) $$F | sed '/^#/d' >> $(DEP_FILE); then \
|
||||
true; \
|
||||
else \
|
||||
echo 'err:' >> $(DEP_FILE); \
|
||||
rm -f $(DEP_FILE); \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
done;
|
||||
|
||||
dep: depend
|
||||
|
||||
-include $(DEP_FILE)
|
||||
|
27
res/pjproject/build/vs/pjproject-vs8-common-defaults.vsprops
Normal file
27
res/pjproject/build/vs/pjproject-vs8-common-defaults.vsprops
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-common-defaults"
|
||||
OutputDirectory=".\output\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName)"
|
||||
IntermediateDirectory="$(OutDir)"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
BrowseInformation="1"
|
||||
WarningLevel="4"
|
||||
CompileAs="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="VSVer"
|
||||
Value="8"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
19
res/pjproject/build/vs/pjproject-vs8-debug-defaults.vsprops
Normal file
19
res/pjproject/build/vs/pjproject-vs8-debug-defaults.vsprops
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-debug-defaults"
|
||||
InheritedPropertySheets=".\pjproject-vs8-common-defaults.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="_DEBUG;DEBUG"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-debug-dynamic-defaults"
|
||||
InheritedPropertySheets=".\pjproject-vs8-debug-defaults.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
RuntimeLibrary="3"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-debug-static-defaults"
|
||||
InheritedPropertySheets=".\pjproject-vs8-debug-defaults.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
RuntimeLibrary="1"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-release-defaults"
|
||||
InheritedPropertySheets=".\pjproject-vs8-common-defaults.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-release-dynamic-defaults"
|
||||
InheritedPropertySheets=".\pjproject-vs8-release-defaults.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
RuntimeLibrary="2"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-release-static-defaults"
|
||||
InheritedPropertySheets=".\pjproject-vs8-release-defaults.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
RuntimeLibrary="0"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-win32-common-defaults"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="WIN32;PJ_WIN32=1;PJ_M_I386=1;"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="TargetCPU"
|
||||
Value="i386"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-win32-release-defaults"
|
||||
InheritedPropertySheets=".\pjproject-vs8-win32-common-defaults.vsprops"
|
||||
>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-wm2003-common-defaults"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;$(ARCHFAM);$(_ARCHFAM_)"
|
||||
DebugInformationFormat="3"
|
||||
DisableSpecificWarnings="4214;4201"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="secchk.lib ccrtrtti.lib"
|
||||
SubSystem="9"
|
||||
StackReserveSize="65536"
|
||||
StackCommitSize="4096"
|
||||
EntryPointSymbol="WinMainCRTStartup"
|
||||
TargetMachine="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;$(ARCHFAM);$(_ARCHFAM_)"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="TargetCPU"
|
||||
Value="armv4"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-wm2003-release-defaults"
|
||||
InheritedPropertySheets=".\pjproject-vs8-wm2003-common-defaults.vsprops"
|
||||
>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-wm5-common-defaults"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;$(ARCHFAM);$(_ARCHFAM_)"
|
||||
DebugInformationFormat="3"
|
||||
DisableSpecificWarnings="4214;4201"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
SubSystem="9"
|
||||
StackReserveSize="65536"
|
||||
StackCommitSize="4096"
|
||||
EntryPointSymbol="WinMainCRTStartup"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;$(ARCHFAM);$(_ARCHFAM_)"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="TargetCPU"
|
||||
Value="armv4i"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-wm5-release-defaults"
|
||||
InheritedPropertySheets=".\pjproject-vs8-wm5-common-defaults.vsprops"
|
||||
>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-wm6-common-defaults"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;$(ARCHFAM);$(_ARCHFAM_)"
|
||||
DebugInformationFormat="3"
|
||||
DisableSpecificWarnings="4214;4201"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
SubSystem="9"
|
||||
StackReserveSize="65536"
|
||||
StackCommitSize="4096"
|
||||
EntryPointSymbol="WinMainCRTStartup"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;$(ARCHFAM);$(_ARCHFAM_)"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="TargetCPU"
|
||||
Value="armv4i"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjproject-vs8-wm6-release-defaults"
|
||||
InheritedPropertySheets=".\pjproject-vs8-wm6-common-defaults.vsprops"
|
||||
>
|
||||
</VisualStudioPropertySheet>
|
20
res/pjproject/c++-build.mak
Normal file
20
res/pjproject/c++-build.mak
Normal file
@@ -0,0 +1,20 @@
|
||||
include build.mak
|
||||
include build/host-$(HOST_NAME).mak
|
||||
|
||||
DIRS = pjlib pjlib-util pjnath pjmedia pjsip
|
||||
|
||||
ifdef MINSIZE
|
||||
MAKE_FLAGS := MINSIZE=1
|
||||
endif
|
||||
|
||||
export CPP_MODE=1
|
||||
|
||||
all clean dep depend distclean doc print realclean:
|
||||
for dir in $(DIRS); do \
|
||||
if $(MAKE) $(MAKE_FLAGS) -C $$dir/build $@; then \
|
||||
true; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi; \
|
||||
done
|
||||
|
1317
res/pjproject/config.guess
vendored
Executable file
1317
res/pjproject/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1572
res/pjproject/config.sub
vendored
Executable file
1572
res/pjproject/config.sub
vendored
Executable file
File diff suppressed because it is too large
Load Diff
7
res/pjproject/configure
vendored
Executable file
7
res/pjproject/configure
vendored
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
./aconfigure $*
|
||||
|
||||
# Note:
|
||||
# if you're looking for the old configure script, it has been renamed
|
||||
# to configure-legacy
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user