< Previous by Date Date Index Next by Date >
  Thread Index  

[reSIProcate] Autotools Update


        
All;

There is now preliminary support for using the autotools build system that we were using prior to the migration to Subversion.

To use the autotools build system, simply check out a recent main subversion release and do the following:

sh use-autotools.sh
sh autogen.sh

NOTE: Some files will be removed and others will be overwritten (those that are parts of the old AND new systems) It is the responsibility of the developer to AVOID checking in any derived autotools files. Hopefully svn won't try to, but if it appears to be trying -- let me know and I'll improve the use-autotools.sh script.

Unlike before, it is safe to run use-autotools.sh multiple times.

Some recent changes to the configure script that this generates:
o You can suppress Content types with (for example --without-SipFrag or --without-PlainContents)
          Use this at your own peril / discretion.

o The shared library revision number is no longer related to the resiprocate release number. The library revision will be changed as we break backward compatibility in the API/ABI.

o configure can take a specification for Data's local stack buffer size. Default remains at 128 bytes.
          --enable-data-local-size=32 (for example)

o Old build system has RESIP_DATA_LOCAL_SIZE var in Makefile.pkg and Makefile.conf
          Apologies if this isn't implemented to 'old spec' Please IRAN.

Hints:
o You can really speed up the autotools build with the following (as applicable): o --disable-shared or --disable-static -- if you only need on or the other. o --with-pic -- if you want both, but don't mind PIC code in your static library
                o --disable-dependency-tracking (for one-off builds)
o --disable-libtool-lock -- on uniprocessor machines doing serial builds

o The autotools allow you to have multiple compile trees for a single source tree.
                I typically do this:
                svn co https://scm.sipfoundry.org/rep/resiprocate/main
                cd sip
                sh use-autotools.sh
                sh autogen.sh
                mkdir compile
                cd compile
                ../configure --enable-ipv6 --disable-static --disable-elog
                make
                #YMMV

Next steps:
o I will be testing that useful tarballs can be made and posting an updated tarball to the site. o Start to look at changing things so that it is 'safe' to install resiprocate using make install. PRESENTLY: it is not considered safe to do a 'make install' and we STRONGLY recommend linking against
          your in-situ libraries in <build_path>resiprocate/.libs

Alan Hawrylyshen
reSIProcate Project Administrator
http://sipfoundry.org/reSIProcate/
a l a n a t j a s o m i d o t c o m