j-feng / resiprocate Goto Github PK
View Code? Open in Web Editor NEWThis project forked from resiprocate/resiprocate
C++ implementation of SIP, ICE, TURN and related protocols.
Home Page: https://www.resiprocate.org
License: Other
This project forked from resiprocate/resiprocate
C++ implementation of SIP, ICE, TURN and related protocols.
Home Page: https://www.resiprocate.org
License: Other
----------------------------------------------------------- IMPORTANT - the notes below relate to the legacy build system from reSIProcate <= 1.7.x - now, with reSIProcate 1.8.x and beyond, please see: http://www.resiprocate.org/AutotoolsBuild and http://www.resiprocate.org/Configuration_Options ----------------------------------------------------------- Notes for the legacy build system: The legacy reSIProcate build system is derived from the VOCAL build system (http://www.vovida.org). Adding New Files to a module ---------------------------- Example: Adding a new file Foo.cxx to the stack 1) Edit resip/stack/Makefile 2) Add Foo.cxx to the SRC list Example: Adding a new file Bar.cxx to rutil 1) Edit rutil/Makefile 2) Add Bar.cxx to the SRC list Notes: - All files noted in SRC list will be added to the target library - Adding a new header file does not need to be noted in the Makefile - To add something to the compile line add to CXXFLAGS. e.g. CXXFLAGS += -DMYSPECIALDEFINE - To add something to the link line add to LDFLAGS and/or LDLIBS e.g. LDFLAGS += -L/usr/local/myspeciallibdir e.g. LDLIBS += -lmyspeciallib Creating an application based on the stack: Option 1: (Using the resip build system) For example applications using the resip build system look at resip/stack/test or at repro. ########################################################################################### # Create a Makefile in the directory with the units with the following template # This should be the path to the build directory of resip (in the sip subdirectory) BUILD = ../../build # Includes macros include $(BUILD)/Makefile.pre # Add any options that need to be passed to the C++ compiler here #CXXFLAGS += -DMYSPECIALDEFINE # Add any options that need to be passed to the C compiler here #CFLAGS += -DMYOTHERDEFINE # Add any options that need to be passed to the linker here #LDFLAGS += -L/usr/local/mydir # Add any libraries that need to be passed to the linker here #LDLIBS += -lmylib # All of these packages are prerequisites for resiprocate PACKAGES += RESIP RUTIL OPENSSL ARES PTHREAD # Add an entry to TESTPROGRAMS for each target that has a main in it # On linux this will generate an executable in bin.debug.Linux.i686/main TESTPROGRAMS += main.cxx # Add each of the C++ or C files that other than the main # Each main target (from TESTPROGRAMS) will be linked with all of the files in SRC SRC = TestSupport.cxx # Includes macros include $(BUILD)/Makefile.post ########################################################################################### Option 2: (Using a third party build system) Prerequisites: - Install ares library from contrib/ares - cd contrib/ares - ./configure - make - make install Pass the following flags to C++ compiler: Assumptions: - have pthreads - have openssl installed - have ares installed - resiprocate library is built and installed # Linux Example CXXFLAGS += -Wall -fPIC -Wno-deprecated -march=i686 \ -D_REENTRANT -DUSE_SSL -DNEW_MSG_HEADER_SCANNER -DUSE_IPV6 -DUSE_ARES \ -I/usr/kerberos/include -I$(RESIP_DIR)/lib.debug.Linux.i686 LDFLAGS += -L$(RESIP_DIR)/lib.debug.Linux.i686 LDLIBS += -lresip -lrutil -lssl -lcrypto -lares -lpthread
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.