Skip to content

C++ implementation of SIP, ICE, TURN and related protocols

License

Notifications You must be signed in to change notification settings

TafThorne/resiprocate

This branch is 2510 commits behind resiprocate/resiprocate:master.

Folders and files

NameName
Last commit message
Last commit date
Mar 6, 2014
Mar 22, 2015
Apr 3, 2015
Sep 23, 2008
Mar 25, 2009
Apr 25, 2012
Sep 10, 2014
Jul 20, 2013
Jul 20, 2013
Apr 23, 2015
May 14, 2014
Apr 7, 2015
Apr 7, 2015
Apr 7, 2015
Mar 3, 2014
Aug 30, 2014
Oct 1, 2014
May 16, 2012
May 16, 2012
May 2, 2012
Sep 25, 2013
Sep 18, 2014
May 12, 2013
Feb 17, 2013
Apr 23, 2012
Dec 29, 2009
Nov 30, 2008
Sep 17, 2014
Feb 18, 2013
Nov 21, 2014
Apr 3, 2015
Jun 13, 2012
Nov 24, 2013
Feb 26, 2015
Nov 19, 2012
Jan 16, 2014

Repository files navigation

-----------------------------------------------------------

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


About

C++ implementation of SIP, ICE, TURN and related protocols

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 57.5%
  • C 31.4%
  • C# 3.2%
  • Shell 2.7%
  • Perl 2.1%
  • Emacs Lisp 0.6%
  • Other 2.5%