
env = WengoEnvironment()

libosip_env = env.Copy()
libosip_env["WIN32_INSERT_DEF"] = 1

osipparser_sources = [ 'src/osipparser2/osip_accept.c',
    'src/osipparser2/osip_accept_encoding.c',
    'src/osipparser2/osip_accept_language.c',
    'src/osipparser2/osip_alert_info.c',
    'src/osipparser2/osip_allow.c',
    'src/osipparser2/osip_authorization.c',
    'src/osipparser2/osip_body.c',
    'src/osipparser2/osip_call_id.c',
    'src/osipparser2/osip_call_info.c',
    'src/osipparser2/osip_contact.c',
    'src/osipparser2/osip_content_disposition.c',
    'src/osipparser2/osip_content_encoding.c',
    'src/osipparser2/osip_content_length.c',
    'src/osipparser2/osip_content_type.c',
    'src/osipparser2/osip_cseq.c',
    'src/osipparser2/osip_error_info.c',
    'src/osipparser2/osip_from.c',
    'src/osipparser2/osip_header.c',
    'src/osipparser2/osip_list.c',
    'src/osipparser2/osip_md5c.c',
    'src/osipparser2/osip_message.c',
    'src/osipparser2/osip_message_parse.c',
    'src/osipparser2/osip_message_to_str.c',
    'src/osipparser2/osip_mime_version.c',
    'src/osipparser2/osip_parser_cfg.c',
    'src/osipparser2/osip_port.c',
    'src/osipparser2/osip_proxy_authenticate.c',
    'src/osipparser2/osip_proxy_authorization.c',
    'src/osipparser2/osip_record_route.c',
    'src/osipparser2/osip_rfc3264.c',
    'src/osipparser2/osip_route.c',
    'src/osipparser2/osip_to.c',
    'src/osipparser2/osip_uri.c',
    'src/osipparser2/osip_via.c',
    'src/osipparser2/osip_www_authenticate.c',
    'src/osipparser2/sdp_accessor.c',
    'src/osipparser2/sdp_message.c',
    'src/osipparser2/osip_replaces.c']

osip_sources = [
    'src/osip2/fsm_misc.c',
    'src/osip2/ict.c',
    'src/osip2/ict_fsm.c',
    'src/osip2/ist.c',
    'src/osip2/ist_fsm.c',
    'src/osip2/nict.c',
    'src/osip2/nict_fsm.c',
    'src/osip2/nist.c',
    'src/osip2/nist_fsm.c',
    'src/osip2/osip.c',
    'src/osip2/osip_dialog.c',
    'src/osip2/osip_event.c',
    'src/osip2/osip_negotiation.c',
    'src/osip2/osip_time.c',
    'src/osip2/osip_transaction.c',
    'src/osip2/port_condv.c',
    'src/osip2/port_fifo.c',
    'src/osip2/port_sema.c',
    'src/osip2/port_thread.c']

libosip_dec = libosip_env.WengoDeclareLibraryAuto("osip",
    "wifo/libosip2")
libosip_dec.AddSubIncludePath("include")
libosip_dec.AddSubIncludePath("include/osipparser2")
libosip_dec.AddSubIncludePath("src/osipparser2")
libosip_dec.AddSubIncludePath("src/osip2")
libosip_dec.RemoveLibrary("osip")
libosip_dec.AddLibrary("osip2")
libosip_dec.AddLibrary("osipparser2")

libosip_env.WengoUseLibraryHeaders("osip")
libosip_env.WengoUseLibraryPaths("osip")

if libosip_env.WengoOsIsWindows():
    libosip_env.WengoLibAdd("advapi32")

if libosip_env.WengoOsIsLinux() or libosip_env.WengoOsIsBSD():
    libosip_env.WengoCppDefineAdd("HAVE_PTHREAD")
    libosip_env.WengoCppDefineAdd("HAVE_SEMAPHORE_H")

libosip_env.WengoCppDefineAdd("OSIP_MT")
libosip_env.WengoCppDefineAdd("ENABLE_TRACE")

osip_parser_lib = libosip_env.WengoStaticLibrary('osipparser2',
    osipparser_sources)
osip_lib = libosip_env.WengoStaticLibrary('osip2', osip_sources,
	LIBS = ["osipparser2"])


libosip_env.WengoAlias('osip', osip_parser_lib + osip_lib)
