#define SND_HAS_APS	0
#define SND_HAS_VAS	0
#define SND_HAS_MDA	1

TARGET 			symbian_ua.exe
TARGETTYPE 		exe
UID			0x0 0x200235D3

SOURCEPATH		..\pjsip-apps\src\symbian_ua

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

#if SND_HAS_APS
	LIBRARY		APSSession2.lib
#endif

#if SND_HAS_VAS
//	LIBRARY		
#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 

// The default 8KB seems to be insufficient with all bells and
// whistles turned on
EPOCSTACKSIZE		12288

