[Opalvoip-svn] SF.net SVN: opalvoip:[34883] ptlib/branches/v2_16
Brought to you by:
csoutheren,
rjongbloed
From: <rjo...@us...> - 2016-07-27 13:56:34
|
Revision: 34883 http://sourceforge.net/p/opalvoip/code/34883 Author: rjongbloed Date: 2016-07-27 13:56:32 +0000 (Wed, 27 Jul 2016) Log Message: ----------- Update readme files. Modified Paths: -------------- ptlib/branches/v2_16/ReadMe.txt Removed Paths: ------------- ptlib/branches/v2_16/README_VXWORKS.txt ptlib/branches/v2_16/ReadMe.MingW32.txt ptlib/branches/v2_16/ReadMe_PortAudio.txt Deleted: ptlib/branches/v2_16/README_VXWORKS.txt =================================================================== --- ptlib/branches/v2_16/README_VXWORKS.txt 2016-07-26 09:14:33 UTC (rev 34882) +++ ptlib/branches/v2_16/README_VXWORKS.txt 2016-07-27 13:56:32 UTC (rev 34883) @@ -1,100 +0,0 @@ -Cummulative VxWorks patch for PWLIB -=================================== -Patch is done against CVS-snapshot dated: 9 juli 2004 - -This patch includes VxWorks specific updates (platform and compiler), -including a minor general update. - - -Disclaimer -========== -We have not yet thoroughly tested this patch-set against the latest -PWLIB. However all patches are already use in our 30-channel IP-gateway -product, which is using Openh323 based on version 1.10.4 (PWLib:1.4.4) -with some general community bugfixes added and is running very stable. -Our VxWorks environment is Tornado 2.1.1 for MIPS platform building the -MIPS images on Windows platform. - - -Patch history -============= -- Added Mozilla Public License header and revision history in tlibvx.cxx - (this was missing...) -- Implemention of critical section (for semaphores) -- Rewritten semaphore handling (was incredible buggy) -- Fixed synchronisation bug during launching of new task in PThread - (related to priority handling of VxWorks task scheduler) -- Fixed administration handling with PThreads (especially when PThread - was ending/terminating). Did show up under heavier load. -- Implemention of tracing facility in PThread (::Trace) -- Less use of asserts (for embedded environment) -- Increased stacksize for House-Keeping Thread (+ giving that beast a name) -- Included here and there lot of comments regarding specific behaviour - of VxWorks and/or Tornado-IDE version. -- Update in socket handling: - - Now supporting Non-Blocking sockets - - Fixed memory-leak in inet_ntoa(). - VxWorks does do malloc but no free!! Now using inet_ntoa_b. - - os_select now more directly with same behaviour -- Some P_TORNADO defines renamed to P_VXWORKS. - The P_TORNADO compiler define now applies to some specific TORNADO versions. - When using version 2.1.0 or earlier. This flag now only covers the compiler - bug and missing iostream. Suggested is to try to build VxWorks first without - P_TORNADO flag. In case of errors (compiler crashes or error in iostreams), - enable this flag. -- Resolved conflict due to VxWorks headerfile mbuf.h - Above mentioned headerfile includes a "#define m_data <to_something_else>" - (also for m_type) ?!?!. This resulted into the requirement to manually edit - some generated H.323 files (ASN.1) by placing #undef's after the includes - because the m_data in these files were overwritten by that #define. By - locating a central place to put "#undef m_data" and m_type this is history - now. Another step closer to full automatic generation of openh323. -- Adapted PMEMORY_CHECK for VxWorks variant -- Routed cfree to PMEMORY_CHECK (as counterpart of calloc) -- Moved other build variants from os_select to PSocket::Select -- Simplified remaining PXBlockOnIO -- Added copy constructors of PSemaphore, PMutex and PSyncPoint -- Removed unnecessary assignment in PMutex::WillBlock -- Removed unused PXBlockOnIO definition (not VxWorks specific) - - -Some comments for seting up PWLib for VxWorks -============================================= -- Get PWLib, and if If applicable: apply all patches -- Current way of working with ./configure.exe and ./make is not supported, so - you need to make/adapt your own makefile. -- WindRiver has a special adapted GCC compiler for VxWorks, which possible - requires to include -fpermissive in your CFLAG to make everything compiling. -- Add next VxWorks specific defines: - -DP_VXWORKS - -DVX_TASKS - -DP_TORNADO (only if your compiler *crashes*) - -DNO_LONG_DOUBLE - -DP_USE_PRAGMA - -DPHAS_TEMPLATES -- Big change you need to ask WindRiver support for a compiler patch to solve - the "Virtual memory Exhaust" problem during compile/link... - This has actually nothing to do with your internal PC memory, but all with - the applied stacksizes internally in the compiler. -- In CVS a module exist called pwlib_tornado. Here you can find the Tornado SDE - workspace files for ARM environment (like MS Developer Studio workspace files). - Sadly.. these are corrupt because they are saved/stored including CR+LF while - it should only contain <CR> (or LF?) => UNIX style. We're not using this but - just want to mention it here. -- Surely I forgot something... just drop me a mail. - - - -Happy VxWorks'ing with these patches. -If you have any questions or comments, just drop me a mail (see below) - - -Eize Slange - --- -Department: Development - Platform Enhancement -Philips Business Communications, The Netherlands (NL) -Homepage: http://www.sopho.philips.com -Tel: +31 (0) 35 6893604 -Fax: +31 (0) 35 6891290 -e-Mail: Eiz...@ph... Deleted: ptlib/branches/v2_16/ReadMe.MingW32.txt =================================================================== --- ptlib/branches/v2_16/ReadMe.MingW32.txt 2016-07-26 09:14:33 UTC (rev 34882) +++ ptlib/branches/v2_16/ReadMe.MingW32.txt 2016-07-27 13:56:32 UTC (rev 34883) @@ -1,13 +0,0 @@ -The following script can be used to compile PTLib (and Opal) -using MingW. - -Uncomment the appropriate line for 64 or 32 bit builds - -------------------------------------------------------- -#!/bin/sh - -export HOST_PREFIX=x86_64-w64-mingw32 -#export HOST_PREFIX=i586-mingw32msvc - -export PKG_CONFIG_LIBDIR=/usr/local/${HOST_PREFIX}/ -./configure --host=${HOST_PREFIX} Modified: ptlib/branches/v2_16/ReadMe.txt =================================================================== --- ptlib/branches/v2_16/ReadMe.txt 2016-07-26 09:14:33 UTC (rev 34882) +++ ptlib/branches/v2_16/ReadMe.txt 2016-07-27 13:56:32 UTC (rev 34883) @@ -7,13 +7,12 @@ 1. Introduction 2. Apologies - 3. CVS Access - 4. Building PTLib - 5. Using PTLib - 6. IPv6 issues - 7. Platform Specific Issues - 8. Conclusion - 9. Licensing + 3. Licensing + 4. CVS Access + 5. Building PTLib + 6. Using PTLib + 7. IPv6 issues + 8. Using PortAudio @@ -39,7 +38,7 @@ classes replaced or supplemented by STL. The library was used extensively for all our in-house products. Then we decided -to support OpenH323, and then Opal, by throwing in some of the code written for +to support OpenH323, and then OPAL, by throwing in some of the code written for one of our products. Thus, required PTLib so it got thrown into the open source world as well. @@ -68,48 +67,137 @@ not) include them in the base line code. Just do not send us any mail starting with the words "Why did you..." as the answer is quite likely to be "Because!" +This package is far from a "product". There is very limited documentation and +support will be on an ad-hoc basis, send us an e-mail and we will probably +answer your question if it isn't too difficult. +It is supplied mainly to support the OPAL project, but that shouldn't stop +you from using it in whatever project you have in mind if you so desire. We like +it and use it all the time, and we don't want to get into any religious wars of +this class library over that one. + ================================================================================ -3. SVN Access +9. Licensing +------------ + +The bulk of this library is licensed under the MPL (Mozilla Public License) +version 1.0. In simple terms this license allows you to use the library for +any purpose, commercial or otherwise, provided the library is kept in tact +as a separate entity and any changes made to the library are made publicly +available under the same (MPL) license. It is important to realise that that +refers to changes to the library and not your application that is merely +linked to the library. + +Note that due to a restriction in the GPL, any application you write that +uses anything another than GPL, eg our library with MPL, is technically in +breach of the GPL license. However, it should be noted that MPL does not +care about the license of the final application, and as only the author of +the GPL application is in breach of his own license and is unlikely to sue +themselves for that breach, in practice there is no problem with a GPL +application using an MPL or any other commercial library. + + +The random number generator is based on code originally by Bob Jenkins. + + +Portions of this library are from the REGEX library and is under the +following license: + +Copyright 1992, 1993, 1994, 1997 Henry Spencer. All rights reserved. +This software is not subject to any license of the American Telephone +and Telegraph Company or of the Regents of the University of California. + +Permission is granted to anyone to use this software for any purpose on +any computer system, and to alter it and redistribute it, subject +to the following restrictions: + +1. The author is not responsible for the consequences of use of this + software, no matter how awful, even if they arise from flaws in it. + +2. The origin of this software must not be misrepresented, either by + explicit claim or by omission. Since few users ever read sources, + credits must appear in the documentation. + +3. Altered versions must be plainly marked as such, and must not be + misrepresented as being the original software. Since few users + ever read sources, credits must appear in the documentation. + +4. This notice may not be removed or altered. + + +The in-band DTMF decoding code was taken from FreeBSD's dtmfdecode.c +application written by Poul-Henning Kamp. It has the following +license: + * ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * <ph...@Fr...> wrote this file. As long as you retain this notice you + * can do whatever you want with this stuff. If we meet some day, and you think + * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp + * ---------------------------------------------------------------------------- + + +================================================================================ + +4. SVN Access ------------- -There is a public SVN archive available at svn.sourceforge.net. To extract, use a -command line like the following: +There is a public SVN archive available at svn.sourceforge.net. To extract the +latest version, use a command line like the following: svn co http://opalvoip.svn.sourceforge.net/svnroot/opalvoip/ptlib/trunk -If you would like see the structure of the SVN, then use the View SVN tool at: +More information on stable branches is available at: - http://opalvoip.svn.sourceforge.net/viewvc/opalvoip/ + http://wiki.opalvoip.org/index.php?n=Main.Subversion ================================================================================ -4. Building PTLib +5. Building PTLib ----------------- This library is multi-platform, however there are only two major build systems that are used. The Microsoft DevStudio environment for Windows and the GNU make system for all of the various unix systems. -4.1. For Windows +5.1. For Windows ---------------- See the online documentation at: - http://www.opalvoip.org/wiki/index.php?n=Main.BuildingPTLib + http://wiki.opalvoip.org/index.php?n=Main.BuildingPTLib -4.2. For Linux/Unix +5.2. For Linux/Unix ------------------- See the online documentation at: - http://www.opalvoip.org/wiki/index.php?n=Main.BuildingPTLibUnix + http://wiki.opalvoip.org/index.php?n=Main.BuildingPTLibUnix +5.3. For MacOS +------------------- + +See the online documentation at: + + http://wiki.opalvoip.org/index.php?n=Main.BuildingPTLibMacOSX + +5.4. For MinGW + +Uncomment the appropriate line for 64 or 32 bit builds + +------------------------------------------------------- +#!/bin/sh + +export HOST_PREFIX=x86_64-w64-mingw32 +#export HOST_PREFIX=i586-mingw32msvc + +export PKG_CONFIG_LIBDIR=/usr/local/${HOST_PREFIX}/ +./configure --host=${HOST_PREFIX} + ================================================================================ -5. Using PTLib +6. Using PTLib -------------- What documentation there is consists of this document and all of the header @@ -117,7 +205,7 @@ produces HTML help files, but this never got completed. -5.1. Tutorial +6.1. Tutorial ------------- Detailed tutorials will almost certainly not be forthcoming. However, at least @@ -175,7 +263,7 @@ -------------------------------------------------------------------------------- -5.2. PTlib Classes +6.2. PTlib Classes ------------------ The classes in PTLib fall into the following broad categories @@ -185,20 +273,20 @@ Threads & Processes -5.2.1. Containers +6.2.1. Containers While there are a number of container classes you wourld rarely actually descend off them, you would use macros that declare type safe descendents. These are simply templates instantiations when using a compiler that supports templates in a simple manner (GNU C++ does not qualify in our opinion). -5.2.2. I/O +6.2.2. I/O There are many classes descendend from a basic primitive call a PChannel, which represents an entity for doing I/O. There are classes for files, serial ports, various types of socket and pipes to sub-processes. -5.2.3. Threads & Processes +6.2.3. Threads & Processes These classes support lightweight threading and functionality to do with the process as a whole (for example argument parsing). The threading will be @@ -208,7 +296,7 @@ ================================================================================ -6. IPv6 support in ptlib +7. IPv6 support in ptlib ------------------------ The IPv6 support in PTlib is supported and can be enabled or disabled via @@ -218,13 +306,7 @@ fully backward compatible. PTLib is able to manage simultaneously IPv4 and IPv6 connections. -6.1 Removed ------------ - -6.2 Removed ------------ - -6.3. Testing +7.1. Testing ------------ The test application sources can be found in the directory: opal/samples/simple @@ -236,7 +318,7 @@ -6.3.1. IPv6 Address and port notation +7.1.1. IPv6 Address and port notation ------------------------------------- IPv4 address and port are written in dot notation: xx.xx.xx.xx:4000 IPv6 global address are written in semi-colon notation: [xx:xx:xx:xx::xx]:4000 @@ -253,7 +335,7 @@ -6.3.2. Tests configuration +7.1.2. Tests configuration -------------------------- Tests 1,2,3 run on a single dual stack machine. IPv4 Address: 127.0.0.1, 10.0.0.6 @@ -269,7 +351,7 @@ -6.3.3. Test 1: IPv4 <--> IPv4 local call +7.1.3. Test 1: IPv4 <--> IPv4 local call ---------------------------------------- This test checks the backward compatibility with IPv4 @@ -280,7 +362,7 @@ -6.3.4. Test 2: IPv6 <--> IPv6 local call +7.1.4. Test 2: IPv6 <--> IPv6 local call ---------------------------------------- This test checks the IPv6 support @@ -290,7 +372,7 @@ simple.exe -tttt -n -i 3ffe:0b80:0002:f9c1:0000:0000:500b:0ea5 -n [::1] -6.3.5. Test 3: IPv4 <--> IPv6 local call +7.1.5. Test 3: IPv4 <--> IPv6 local call ---------------------------------------- This test checks that simultaneous IPv4 and IPv6 calls are supported. @@ -301,7 +383,7 @@ -6.3.6. Test 4: IPv4 <--> IPv4 call between two hosts +7.1.6. Test 4: IPv4 <--> IPv4 call between two hosts ---------------------------------------------------- This test checks the backward compatibility with IPv4 @@ -312,7 +394,7 @@ -6.3.7. Test 5: IPv6 <--> IPv6 call between two hosts +7.1.7. Test 5: IPv6 <--> IPv6 call between two hosts ---------------------------------------------------- This test checks the IPv6 support @@ -323,7 +405,7 @@ -6.3.8. Test 6: IPv4 <--> IPv6 call between two hosts +7.1.8. Test 6: IPv4 <--> IPv6 call between two hosts ---------------------------------------------------- This test checks that simultaneous IPv4 and IPv6 calls are supported. @@ -335,28 +417,21 @@ -------------------------------------------------------------------------------- -6.4. Known limitations +7.2. Known limitations -------------------- You must use IPv6 address with global scope. Tests with IPv6 local link address fail. - -------------------------------------------------------------------------------- -6.5. Questions +7.3. Questions -------------- -6.5.1. Removed --------------- - -6.5.2. Removed --------------- - -6.5.3. How to get an ipv6 address with a Global scope ? +7.3.1. How to get an ipv6 address with a Global scope ? ----------------------------------------------------- -6.5.3.1. Manually +7.3.1.1. Manually ----------------- Set one manually if you're not connected to IPv4 Internet or IPv6 backbone: @@ -376,7 +451,7 @@ RX bytes:0 (0.0 b) TX bytes:534 (534.0 b) -6.5.3.2. Tunnel broker +7.3.1.2. Tunnel broker ---------------------- Get one from a free IPv6 tunnel broker. @@ -391,116 +466,71 @@ -------------------------------------------------------------------------------- -6.6. Troubles +7.4. Troubles ------------ -6.6.1. Listen on ::1:1720 failed: Address family not supported by protocol +7.4.1. Listen on ::1:1720 failed: Address family not supported by protocol ----------------------------------------------------------------------- IPv6 module is not loaded in the kernel. #modprobe ipv6 -6.6.2. SimpleOpal TCP Could not open H.323 listener port on 1720 --------------------------------------------------------------- -Add some traces: -t on the command line. +================================================================================ +8. Using PortAudio +------------------ +PTLib can be configured to use PortAudio V19 for audio input and +output. Some distros (Ubuntu, for example) only include PortAudio +V18 so it is necessary to build it manually. -6.6.3. SimpleOpal TCP Listen on fe80::2b0:d0ff:fedf:d6bf:1720 failed: Invalid argument ------------------------------------------------------------------------------------- -This address is a local scope address. As the scope_id field is always set to 0, -its value is invalid. +PTLib can also use PortMixer (part of the Audacity project) but +not many distros provide this feature as it requires patching +PortAudio. -Use address with global scope. +The script below will extract latest PortAudio and PortMixer +from the correct source repositories, build and install it +into /opt/portaudio. Once this is done, configure ptlib as +follows: + ./configure --with-portaudio-dir=/opt/portaudio +This script has been verified on OSX Mountain Lion and +Ubuntu 12.01 for x64 + Craig (cr...@po...) -================================================================================ + 17 January, 2013 -7. Platform Specific Issues ---------------------------- +-------------------------------------------------- -See the Wiki at http://www.opalvoip.org/wiki/index.php?n=Main.HomePage +#!/bin/sh -================================================================================ +PREFIX=/opt/portaudio -8. Conclusion -------------- +svn co https://subversion.assembla.com/svn/portaudio/portaudio/trunk portaudio +svn co http://audacity.googlecode.com/svn/audacity-src/trunk/lib-src/portmixer portmixer -This package is far from a "product". There is very limited documentation and -support will be on an ad-hoc basis, send us an e-mail and we will probably -answer your question if it isn't too difficult. +cd portaudio +patch -p4 < ../portmixer/portaudio.patch +cd .. -It is supplied mainly to support the Opal project, but that shouldn't stop -you from using it in whatever project you have in mind if you so desire. We like -it and use it all the time, and we don't want to get into any religious wars of -this class library over that one. +cd portaudio +make clean +./configure --prefix=${PREFIX} +make +sudo make install +cd .. +cd portmixer +make clean +( export CFLAGS=-fPIC ; ./configure --with-pa-include=../portaudio/include/ --prefix=${PREFIX} ) +make +sudo cp libportmixer.a ${PREFIX}/lib +sudo cp include/portmixer.h ${PREFIX}/include +cd .. - - ================================================================================ -9. Licensing ------------- - -The bulk of this library is licensed under the MPL (Mozilla Public License) -version 1.0. In simple terms this license allows you to use the library for -any purpose, commercial or otherwise, provided the library is kept in tact -as a separate entity and any changes made to the library are made publicly -available under the same (MPL) license. It is important to realise that that -refers to changes to the library and not your application that is merely -linked to the library. - -Note that due to a restriction in the GPL, any application you write that -uses anything another than GPL, eg our library with MPL, is technically in -breach of the GPL license. However, it should be noted that MPL does not -care about the license of the final application, and as only the author of -the GPL application is in breach of his own license and is unlikely to sue -themselves for that breach, in practice there is no problem with a GPL -application using an MPL or any other commercial library. - - -The random number generator is based on code originally by Bob Jenkins. - - -Portions of this library are from the REGEX library and is under the -following license: - -Copyright 1992, 1993, 1994, 1997 Henry Spencer. All rights reserved. -This software is not subject to any license of the American Telephone -and Telegraph Company or of the Regents of the University of California. - -Permission is granted to anyone to use this software for any purpose on -any computer system, and to alter it and redistribute it, subject -to the following restrictions: - -1. The author is not responsible for the consequences of use of this - software, no matter how awful, even if they arise from flaws in it. - -2. The origin of this software must not be misrepresented, either by - explicit claim or by omission. Since few users ever read sources, - credits must appear in the documentation. - -3. Altered versions must be plainly marked as such, and must not be - misrepresented as being the original software. Since few users - ever read sources, credits must appear in the documentation. - -4. This notice may not be removed or altered. - - -The in-band DTMF decoding code was taken from FreeBSD's dtmfdecode.c -application written by Poul-Henning Kamp. It has the following -license: - * ---------------------------------------------------------------------------- - * "THE BEER-WARE LICENSE" (Revision 42): - * <ph...@Fr...> wrote this file. As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp - * ---------------------------------------------------------------------------- - - - -================================================================================ +9. \ No newline at end of file Deleted: ptlib/branches/v2_16/ReadMe_PortAudio.txt =================================================================== --- ptlib/branches/v2_16/ReadMe_PortAudio.txt 2016-07-26 09:14:33 UTC (rev 34882) +++ ptlib/branches/v2_16/ReadMe_PortAudio.txt 2016-07-27 13:56:32 UTC (rev 34883) @@ -1,52 +0,0 @@ -Using PortAudio ---------------- - -PTLib can be configured to use PortAudio V19 for audio input and -output. Some distros (Ubuntu, for example) only include PortAudio -V18 so it is necessary to build it manually. - -PTLib can also use PortMixer (part of the Audacity project) but -not many distros provide this feature as it requires patching -PortAudio. - -The script below will extract latest PortAudio and PortMixer -from the correct source repositories, build and install it -into /opt/portaudio. Once this is done, configure ptlib as -follows: - - ./configure --with-portaudio-dir=/opt/portaudio - -This script has been verified on OSX Mountain Lion and -Ubuntu 12.01 for x64 - - Craig (cr...@po...) - - 17 January, 2013 - --------------------------------------------------- - -#!/bin/sh - -PREFIX=/opt/portaudio - -svn co https://subversion.assembla.com/svn/portaudio/portaudio/trunk portaudio -svn co http://audacity.googlecode.com/svn/audacity-src/trunk/lib-src/portmixer portmixer - -cd portaudio -patch -p4 < ../portmixer/portaudio.patch -cd .. - -cd portaudio -make clean -./configure --prefix=${PREFIX} -make -sudo make install -cd .. - -cd portmixer -make clean -( export CFLAGS=-fPIC ; ./configure --with-pa-include=../portaudio/include/ --prefix=${PREFIX} ) -make -sudo cp libportmixer.a ${PREFIX}/lib -sudo cp include/portmixer.h ${PREFIX}/include -cd .. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |