- Timestamp:
- Feb 2, 2007 8:49:33 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/README.txt
r787 r927 1 1 2 2 3 Getting Started: Building and Using PJSIP and PJMEDIA 3 4 4 [Last Update: $Date: 2006-10-21 19:14:22 +0100 (Sat, 21 Oct 2006) $] 5 5 [Last Update: $Date: 2007-02-02 20:42:44 +0000 (Fri, 02 Feb 2007) $] 6 7 Print Friendly Page 6 8 _________________________________________________________________ 7 9 … … 18 20 applications, and samples: 19 21 20 21 22 $ ./configure 23 $ make dep && make clean && make 22 24 23 25 Building Win32 Target with Microsoft Visual Studio 24 26 Generally we can just do these steps: 25 27 26 1. Open pjsip-apps/build/pjsip_apps.dsw workspace, 27 2. Create an empty pjlib/include/pj/config_site.h, and 28 3. build the pjsua application. 28 1. Visual Studio 6: open pjproject.dsw workspace, 29 2. Visual Studio 2005: open pjproject-vs8.sln solution, 30 3. Create an empty pjlib/include/pj/config_site.h, and 31 4. build the pjsua application. 29 32 30 33 Building for Windows Mobile … … 35 38 3. build the pjsua_wince application. 36 39 40 Invoking Older Build System (e.g. for RTEMS) 41 Generally these should be all that are needed to build the libraries, 42 applications, and samples: 43 44 $ ./configure-legacy 45 $ make dep && make clean && make 46 37 47 Locating Output Binaries/Libraries 38 48 Libraries will be put in lib directory, and binaries will be put in … … 41 51 Running the Applications 42 52 After successful build, you can try running pjsua application on 43 pjsip-apps/bin directory. PJSUA manual isin44 http://www.pjsip.org/pjsua.htm .53 pjsip-apps/bin directory. PJSUA manual can be found in 54 http://www.pjsip.org/pjsua.htm page. 45 55 46 56 … … 91 101 5.2 Building the Projects 92 102 93 6. Using PJPROJECT with Applications 103 6. Older PJLIB Build System for Non-Autoconf Targets (e.g. RTEMS) 104 105 6.1 Supported Targets 106 107 6.2 Invoking the Build System 108 109 7. Running the Applications 110 111 7.1 pjsua 112 113 7.2 Sample Applications 114 115 7.3 pjlib-test 116 117 7.4 pjsip-test 118 119 8. Using PJPROJECT with Applications 94 120 95 121 … … 374 400 * GNU binutils for the target, and 375 401 * GNU gcc for the target. 402 * OpenSSL header files/libraries (optional) if TLS support is wanted. 376 403 377 404 In addition, the appropriate "SDK" must be installed for the particular … … 385 412 * FreeBSD (must use gmake instead of make) 386 413 387 Building Win32 applications with cygwin is currently not supported (there is 388 some Windows header conflicts), but cross-compilations might just work. 414 Building Win32 applications with Cygwin is currently not supported by the 415 autoconf script (there is some Windows header conflicts), but one can still 416 use the old configure script by calling ./configure-legacy. More over, 417 cross-compilations might also work with Cygwin. 389 418 390 419 … … 420 449 ... 421 450 Optional Features: 422 --disable-floating-point Disable floating point where possible 423 --disable-sound Exclude sound (i.e. use null sound) 424 --disable-small-filter Exclude small filter in resampling 425 --disable-large-filter Exclude large filter in resampling 426 --disable-g711-plc Exclude G.711 Annex A PLC 427 --disable-speex-aec Exclude Speex Acoustic Echo Canceller/AEC 428 --disable-g711-codec Exclude G.711 codecs from the build 429 --disable-l16-codec Exclude Linear/L16 codec family from the build 430 --disable-gsm-codec Exclude GSM codec in the build 431 --disable-speex-codec Exclude Speex codecs in the build 432 --disable-ilbc-codec Exclude iLBC codec in the build 433 ... 451 --disable-floating-point Disable floating point where possible 452 --disable-sound Exclude sound (i.e. use null sound) 453 --disable-small-filter Exclude small filter in resampling 454 --disable-large-filter Exclude large filter in resampling 455 --disable-g711-plc Exclude G.711 Annex A PLC 456 --disable-speex-aec Exclude Speex Acoustic Echo Canceller/AEC 457 --disable-g711-codec Exclude G.711 codecs from the build 458 --disable-l16-codec Exclude Linear/L16 codec family from the build 459 --disable-gsm-codec Exclude GSM codec in the build 460 --disable-speex-codec Exclude Speex codecs in the build 461 --disable-ilbc-codec Exclude iLBC codec in the build 462 --disable-tls Force excluding TLS support (default is autodetected based on 463 OpenSSL availability) 464 ... 434 465 435 466 Configuring Debug Version and Other Customizations … … 444 475 $ ./configure CFLAGS="-O3 -DNDEBUG -msoft-float -fno-builtin" 445 476 ... 477 478 Configuring TLS Support 479 480 By default, TLS support is configured based on the availability of OpenSSL 481 header files and libraries. If OpenSSL is available at the default include 482 and library path locations, TLS will be enabled by the configure script. 483 484 You can explicitly disable TLS support by giving the configure script 485 --disable-tls option. 446 486 447 487 … … 531 571 * Microsoft Visual Studio .NET 2002, 532 572 * Microsoft Visual Studio .NET 2003, 533 * Microsoft Visual C++ Express 2005 with Platform SDK, 534 * DirectX SDK is needed if PJMEDIA DirectSound sound backend is explicitly 535 choosen (default is using PortAudio, which uses DirectSound via run-time 536 bindings, so DirectX SDK is not needed) 573 * Microsoft Visual C++ 2005 (including Express edition), 574 575 In addition, the following SDK's are needed: 576 * Platform SDK, if you're using Visual Studio 2005 Express (tested with 577 Platform SDK for Windows Server 2003 SP1), 578 * DirectX SDK (tested with DirectX version 8 and 9), 579 * OpenSSL development kit would be needed if TLS support is wanted, or 580 otherwise this is optional. 537 581 538 582 For the host, the following are required: 539 583 * Windows NT, 2000, XP, 2003, or later , 540 584 * Windows 95/98 should work too, but this has not been tested, 541 * Sufficient amount of RAM for the build process. 585 * Sufficient amount of RAM for the build process (at least 256MB). 586 587 588 Enabling TLS Support with OpenSSL 589 590 If TLS support is wanted, then OpenSSL SDK must be installed in the 591 development host. 592 593 To install OpenSSL SDK from the Win32 binary distribution: 594 1. Install OpenSSL SDK to any folder (e.g. C:\OpenSSL) 595 2. Add OpenSSL DLL location to the system PATH. 596 3. Add OpenSSL include path to Visual Studio includes search directory. 597 Make sure that OpenSSL header files can be accessed from the program 598 with #include <openssl/ssl.h> construct. 599 4. Add OpenSSL library path to Visual Studio library search directory. Make 600 sure the following libraries are accessible: 601 + For Debug build: libeay32MTd and ssleay32MTd. 602 + For Release build: libeay32MT and ssleay32MT. 603 604 Then to enable TLS transport support in PJSIP, just add 605 606 #define PJSIP_HAS_TLS_TRANSPORT 1 607 608 in your pj/config_site.h. When this macro is defined, OpenSSL libraries will 609 be automatically linked to the application via the #pragma construct in 610 sip_transport_tls_ossl.c file. 542 611 543 612 … … 547 616 Follow the steps below to build the libraries/application using Visual 548 617 Studio: 549 1. Open Visual Studio 6 workspace file pjsip-apps/build/pjsip_apps.dsw. If 550 later version of Visual Studio is being used, it should convert the 551 workspace file and project files into the new formats. 552 2. Set pjsua as Active Project. 553 3. Select Debug or Release build as appropriate. 554 4. Build the project. This will build pjsua application and all libraries 618 1. For Visual Studio 6: open pjproject.dsw workspace file. 619 2. For Visual Studio 8 (VS 2005): open pjproject-vs8.sln solution file. 620 3. Set pjsua as Active Project. 621 4. Select Debug or Release build as appropriate. 622 5. Build the project. This will build pjsua application and all libraries 555 623 needed by pjsua. 556 5. After successful build, the pjsua application will be placed in624 6. After successful build, the pjsua application will be placed in 557 625 pjsip-apps/bin directory, and the libraries in lib directory under each 558 626 projects. … … 636 704 637 705 638 6. Using PJPROJECT with Applications 706 6. Older PJLIB Build System for Non-Autoconf Targets (e.g. RTEMS) 707 _________________________________________________________________ 708 709 The old PJLIB build system can still be used for building PJ libraries, for 710 example for RTEMS target. Please see the Porting PJLIB page in PJLIB 711 Reference documentation for information on how to support new target using 712 this build system. 713 714 6.1 Supported Targets 715 _________________________________________________________________ 716 717 The older build system supports building PJ libraries for the following 718 operating systems: 719 * RTEMS 720 * Linux 721 * MacOS X 722 * Cygwin and Mingw 723 724 And it supports the following target architectures: 725 * i386, x86_64, itanium 726 * ARM 727 * mips 728 * powerpc 729 * mpc860 730 * etc. 731 732 For other targets, specific files need to be added to the build system, 733 please see the Porting PJLIB page in PJLIB Reference documentation for 734 details. 735 736 6.2 Invoking the Build System 737 _________________________________________________________________ 738 739 To invoke the older build system, run the following: 740 741 742 743 $ cd pjproject 744 $ ./configure-legacy 745 $ make dep && make clean && make 746 747 748 749 7. Running the Applications 750 _________________________________________________________________ 751 752 Upon successful build, the output libraries (PJLIB, PJLIB-UTIL, PJMEDIA, 753 PJSIP, etc.) are put under ./lib sub-directory under each project directory. 754 In addition, some applications may also be built, and such applications will 755 be put in ./bin sub-directory under each project directory. 756 757 758 7.1 pjsua 759 _________________________________________________________________ 760 761 pjsua is the reference implementation for both PJSIP and PJMEDIA stack, and 762 is the main target of the build system. Upon successful build, pjsua 763 application will be put in pjsip-apps/bin directory. 764 765 pjsua manual can be found in pjsua Manual Page. 766 767 768 7.2 Sample Applications 769 _________________________________________________________________ 770 771 Sample applications will be built with the Makefile build system. For Visual 772 Studio, you have to build the samples manually by selecting and building the 773 Samples project inside pjsip-apps/build/pjsip_apps.dsw project workspace. 774 775 Upon successful build, the sample applications are put in 776 pjsip-apps/bin/samples directory. 777 778 The sample applications are described in PJMEDIA Samples Page and 779 PJSIP Samples Page in the website. 780 781 782 7.3 pjlib-test 783 _________________________________________________________________ 784 785 pjlib-test contains comprehensive tests for testing PJLIB functionality. 786 This application will only be built when the Makefile build system is used; 787 with Visual Studio, one has to open pjlib.dsw project in pjlib/build 788 directory to build this application. 789 790 If you're porting PJLIB to new target, it is recommended to run this 791 application to make sure that all functionalities works as expected. 792 793 794 7.4 pjsip-test 795 _________________________________________________________________ 796 797 pjsip-test contains codes for testing various SIP functionalities in PJSIP 798 and also to benchmark static performance metrics such as message parsing per 799 second. 800 801 802 803 8. Using PJPROJECT with Applications 639 804 _________________________________________________________________ 640 805
Note: See TracChangeset
for help on using the changeset viewer.