mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-20 03:59:01 +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_o(const char *o, struct sip_pvt *p);
|
||||||
static int process_sdp_c(const char *c, struct ast_sockaddr *addr);
|
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_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_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_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_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 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,
|
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,
|
struct ast_str **m_buf, struct ast_str **a_buf,
|
||||||
int debug, int *min_packet_size);
|
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;
|
processed = TRUE;
|
||||||
else if (process_sdp_a_image(value, p))
|
else if (process_sdp_a_image(value, p))
|
||||||
processed = TRUE;
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9584,7 +9598,9 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
|
|||||||
case 'a':
|
case 'a':
|
||||||
/* Audio specific scanning */
|
/* Audio specific scanning */
|
||||||
if (audio) {
|
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;
|
processed = TRUE;
|
||||||
} else if (!processed_crypto && process_crypto(p, p->rtp, &p->srtp, value)) {
|
} else if (!processed_crypto && process_crypto(p, p->rtp, &p->srtp, value)) {
|
||||||
processed_crypto = TRUE;
|
processed_crypto = TRUE;
|
||||||
@@ -9595,7 +9611,9 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
|
|||||||
}
|
}
|
||||||
/* Video specific scanning */
|
/* Video specific scanning */
|
||||||
else if (video) {
|
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_crypto = TRUE;
|
||||||
processed = TRUE;
|
processed = TRUE;
|
||||||
} else if (process_sdp_a_video(value, p, &newvideortp, &last_rtpmap_codec)) {
|
} 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 */
|
/* Text (T.140) specific scanning */
|
||||||
else if (text) {
|
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;
|
processed = TRUE;
|
||||||
} else if (!processed_crypto && process_crypto(p, p->trtp, &p->tsrtp, value)) {
|
} else if (!processed_crypto && process_crypto(p, p->trtp, &p->tsrtp, value)) {
|
||||||
processed_crypto = TRUE;
|
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 */
|
/* Setup audio address and port */
|
||||||
if (p->rtp) {
|
if (p->rtp) {
|
||||||
if (portno > 0) {
|
if (portno > 0) {
|
||||||
|
start_ice(p->rtp);
|
||||||
ast_sockaddr_set_port(sa, portno);
|
ast_sockaddr_set_port(sa, portno);
|
||||||
ast_rtp_instance_set_remote_address(p->rtp, sa);
|
ast_rtp_instance_set_remote_address(p->rtp, sa);
|
||||||
if (debug) {
|
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 */
|
/* Setup video address and port */
|
||||||
if (p->vrtp) {
|
if (p->vrtp) {
|
||||||
if (vportno > 0) {
|
if (vportno > 0) {
|
||||||
|
start_ice(p->vrtp);
|
||||||
ast_sockaddr_set_port(vsa, vportno);
|
ast_sockaddr_set_port(vsa, vportno);
|
||||||
ast_rtp_instance_set_remote_address(p->vrtp, vsa);
|
ast_rtp_instance_set_remote_address(p->vrtp, vsa);
|
||||||
if (debug) {
|
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 */
|
/* Setup text address and port */
|
||||||
if (p->trtp) {
|
if (p->trtp) {
|
||||||
if (tportno > 0) {
|
if (tportno > 0) {
|
||||||
|
start_ice(p->trtp);
|
||||||
ast_sockaddr_set_port(tsa, tportno);
|
ast_sockaddr_set_port(tsa, tportno);
|
||||||
ast_rtp_instance_set_remote_address(p->trtp, tsa);
|
ast_rtp_instance_set_remote_address(p->trtp, tsa);
|
||||||
if (debug) {
|
if (debug) {
|
||||||
@@ -10062,6 +10085,61 @@ static int process_sdp_a_sendonly(const char *a, int *sendonly)
|
|||||||
return found;
|
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)
|
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;
|
int found = FALSE;
|
||||||
@@ -11568,6 +11646,67 @@ static int add_vidupdate(struct sip_request *req)
|
|||||||
return 0;
|
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 */
|
/*! \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,
|
static void add_codec_to_sdp(const struct sip_pvt *p,
|
||||||
struct ast_format *format,
|
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) {
|
if (debug) {
|
||||||
ast_verbose("Video is at %s\n", ast_sockaddr_stringify(&vdest));
|
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.
|
/* 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 ? */
|
if (debug) { /* XXX should I use tdest below ? */
|
||||||
ast_verbose("Text is at %s\n", ast_sockaddr_stringify(&taddr));
|
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 */
|
/* 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)
|
if (min_text_packet_size)
|
||||||
ast_str_append(&a_text, 0, "a=ptime:%d\r\n", 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 ||
|
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 ||
|
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)
|
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
|
; if rtp packets are dropped from one or both ends after a call is
|
||||||
; connected. This option is set to 4 by default.
|
; connected. This option is set to 4 by default.
|
||||||
; probation=8
|
; 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; \
|
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) */
|
/*! Structure that represents an RTP stack (engine) */
|
||||||
struct ast_rtp_engine {
|
struct ast_rtp_engine {
|
||||||
/*! Name of the RTP engine, used when explicitly requested */
|
/*! 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);
|
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 */
|
/*! Callback to send CNG */
|
||||||
int (*sendcng)(struct ast_rtp_instance *instance, int level);
|
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 */
|
/*! Linked list information */
|
||||||
AST_RWLIST_ENTRY(ast_rtp_engine) entry;
|
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. */
|
* 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);
|
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)
|
#if defined(__cplusplus) || defined(c_plusplus)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1912,6 +1912,11 @@ int ast_rtp_instance_sendcng(struct ast_rtp_instance *instance, int level)
|
|||||||
return -1;
|
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)
|
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;
|
int x = mime_types_len;
|
||||||
|
13
res/Makefile
13
res/Makefile
@@ -68,3 +68,16 @@ ael/pval.o: ael/pval.c
|
|||||||
|
|
||||||
clean::
|
clean::
|
||||||
rm -f snmp/*.o snmp/*.i ael/*.o ael/*.i ais/*.o ais/*.i
|
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