From d24a9aee403d6540ec792d3b56a1934fbc0969d4 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Fri, 20 Jul 2007 08:08:30 +0000 Subject: Ticket #354: build PJLIB as dynamic libraries (.DSO) in Symbian git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1405 74dad513-b988-da41-8d7b-12977e46ad98 --- build.symbian/makedef.sh | 56 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 build.symbian/makedef.sh (limited to 'build.symbian/makedef.sh') diff --git a/build.symbian/makedef.sh b/build.symbian/makedef.sh new file mode 100644 index 00000000..46d85b65 --- /dev/null +++ b/build.symbian/makedef.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +MMP=$1 +if test "$MMP" == ""; then + echo Usage: makedef.sh FILE.MMP + exit 1 +fi + +if test -f $MMP; then + true +else + echo "Unable to open $MMP" + exit 1 +fi + +TARGET=`grep -w TARGET $MMP | awk '{print $2}' | awk -F '.' '{print $1}' | head -1` +DEFFILE="${TARGET}U.def" +SOURCES=`grep -w SOURCE $MMP | awk '{print $2}' | tr '\\\\' '/'` +SOURCEPATH=`grep -w SOURCEPATH $MMP | tr '\\\\' '/' | awk '{print $2}'` +INCPATH=`grep INCLUDE $MMP | awk '{print $2}' | grep pj | tr '\\\\' '/'` +INCLUDE="" +for INC in $INCPATH; do + INCLUDE=`echo $INCLUDE -I$INC` +done + +echo > tmpnames.def + + +for file in $SOURCES; do + #SYMBOLS=`grep PJ_DEF ${SOURCEPATH}/$file | awk -F ')' '{print $2}' | awk -F '(' '{print $1}' | awk -F '=' '{print $1}' | tr -d '[:blank:]' | sort | uniq` + SYMBOLS=` + cpp -DPJ_SYMBIAN=1 -DPJ_DLL -DPJ_EXPORTING=1 $INCLUDE ${SOURCEPATH}/$file 2>&1 | + grep EXPORT_C | + sed 's/(/;/' | + sed 's/=/;/' | + awk -F ';' '{print $1}' | + awk '{print $NF}'` + echo Processing ${SOURCEPATH}/$file.. + for SYM in $SYMBOLS; do + echo $SYM >> tmpnames.def + done +done + +echo "Writing $DEFFILE" +echo EXPORTS > $DEFFILE +i=0 +for SYM in `cat tmpnames.def | sort | uniq`; do + echo " $SYM" + i=`expr $i + 1` + printf "\\t%-40s @ $i NONAME\\n" $SYM >> $DEFFILE +done + + +echo +echo "Done. Total $i symbols exported." + -- cgit v1.2.3