Import(["env", "conf_env"]) if env.get("JRTPLIB_BUNDLED", False) : ################################################################################ # Module flags ################################################################################ if env["SCONS_STAGE"] == "flags" : env["JRTPLIB_FLAGS"] = { "CPPPATH": [Dir("src/")], "LIBPATH": [Dir(".")], "LIBS": ["Swiften_JRTPLIB"], "INTERNAL_CPPDEFINES": ["STATICLIB"], } ################################################################################ # Build ################################################################################ if env["SCONS_STAGE"] == "build" : myenv = env.Clone() myenv.Append(CPPPATH = ["src"]) # Remove warn flags myenv.Replace(CXXFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]]) myenv.WriteVal("src/rtpconfig.h", myenv.Value( """ #pragma once #define JRTPLIB_IMPORT #define JRTPLIB_EXPORT #define JRTPLIB_IMPORTEXPORT JRTPLIB_EXPORT #define RTP_SOCKLENTYPE_UINT #define RTP_SUPPORT_IPV4MULTICAST #define RTP_SUPPORT_SDESPRIV #define RTP_SUPPORT_PROBATION #define RTP_SUPPORT_GETLOGINR #define RTP_SUPPORT_IPV6 #define RTP_SUPPORT_IPV6MULTICAST #define RTP_SUPPORT_IFADDRS #define RTP_SUPPORT_SENDAPP #define RTP_SUPPORT_RTCPUNKNOWN """)) myenv.WriteVal("src/rtptypes.h", myenv.Value( """ #pragma once #include #include """)) src_files = [ "src/rtpsession.cpp", "src/rtpexternaltransmitter.cpp", "src/rtppacket.cpp", "src/rtpsourcedata.cpp", "src/rtpsessionparams.cpp", "src/rtpexternaltransmitter.cpp", "src/rtpipv4address.cpp", "src/rtcpapppacket.cpp", "src/rtcpbyepacket.cpp", "src/rtcpcompoundpacketbuilder.cpp", "src/rtcpcompoundpacket.cpp", "src/rtcppacketbuilder.cpp", "src/rtcppacket.cpp", "src/rtcprrpacket.cpp", "src/rtcpscheduler.cpp", "src/rtcpsdesinfo.cpp", "src/rtcpsdespacket.cpp", "src/rtcpsrpacket.cpp", "src/rtpbyteaddress.cpp", "src/rtpcollisionlist.cpp", "src/rtpdebug.cpp", "src/rtperrors.cpp", "src/rtpexternaltransmitter.cpp", "src/rtpinternalsourcedata.cpp", "src/rtpipv4address.cpp", "src/rtpipv6address.cpp", "src/rtplibraryversion.cpp", "src/rtppacketbuilder.cpp", "src/rtppacket.cpp", "src/rtppollthread.cpp", "src/rtprandom.cpp", "src/rtprandomrand48.cpp", "src/rtprandomrands.cpp", "src/rtprandomurandom.cpp", "src/rtpsession.cpp", "src/rtpsessionparams.cpp", "src/rtpsessionsources.cpp", "src/rtpsourcedata.cpp", "src/rtpsources.cpp", "src/rtptimeutilities.cpp", "src/rtpudpv4transmitter.cpp", "src/rtpudpv6transmitter.cpp", ] myenv.StaticLibrary("Swiften_JRTPLIB", src_files)