From 82c8d97e2ab422143b22402d986e6a5289d8daf1 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Sat, 27 May 2006 13:11:32 +0000 Subject: Added README-RTEMS and tweaked the makefiles git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@477 74dad513-b988-da41-8d7b-12977e46ad98 --- README-RTEMS | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 README-RTEMS (limited to 'README-RTEMS') diff --git a/README-RTEMS b/README-RTEMS new file mode 100644 index 00000000..9132319d --- /dev/null +++ b/README-RTEMS @@ -0,0 +1,87 @@ + + + + Build Instructions for PJLIB/PJMEDIA/PJSIP RTEMS Port + + + +The RTEMS port uses the POSIX abstraction layer at the moment, and has been +tested with RTEMS 4.6 on i386 target. + + +Building RTEMS +--------------- +I use RTEMS 4.6 on a cygwin host with i386/pc386 as target, but I think it +should work with different RTEMS versions/hosts/targets. + +RTEMS was built with the following commands: + + $ /opt/src/rtems-4.6.6/configure --enable-cxx --enable-posix --enable-networking --enable-rdbg --enable-tests --enable-rtemsbsp=pc386 --target=i386-rtems + $ make + $ make install + + +Supported Targets +----------------- +At the moment, pjlib supports i386 and mpc860 CPU target. For other targets, +you would need to create/tweak the appropriate "m-xxx.mak" in "build" directory +and the corresponding "m_xxx.h" header file in "pj/compat" directory. + +Please refer to pjlib porting guide about how to port PJLIB to new CPU target. + + +Building PJLIB/PJMEDIA/PJSIP +---------------------------- +Use the following steps to build the libraries: + + +1. Set RTEMS_LIBRARY_PATH environment variable to point to your BSP directory + (which is /). + + For example (with sh): + + $ export RTEMS_LIBRARY_PATH=/opt/rtems-4.6/i386-rtems/pc386 + + +2. Unfortunately pjproject's configure script is unable to create "build.mak" + for cross compilation (but this may change in the future), so we need to + create "build.mak" manually. + + The file "README-configure" has some info about the variables in "build.mak". + + For example, the "build.mak" for i386 target: + + export MACHINE_NAME := i386 + export OS_NAME := rtems + export HOST_NAME := mingw + export CC_NAME := gcc + export TARGET_NAME := i386-rtems + export CROSS_COMPILE := i386-rtems- + + +3. Put additional CFLAGS or LDFLAGS that are specific to your target in + "user.mak". + + For example, my "user.mak" looks like this: + + export CFLAGS += + export LDFLAGS += -Wl,-Ttext,0x00100000 -Wl,--defsym -Wl,HeapSize=0x400000 + + +4. Build the libraries: + + $ make dep && make distclean && make + + +5. That should be it. The libraries should be in "lib" directory and + applications in "bin" directory. + + + +Acknowledgements +---------------- +Many thanks for Phil Torre , who did most of the +initial porting and testing with pjlib etc. All credits go to him. + + + -- cgit v1.2.3