updated iphone build script. notes.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've been trying to get this to work on my Snow Leopard with pjsip 1.x  
from trunk,
but it fails for both "simulator" and "device".

I have applied the patches described at the Siphon site.
I get some warnings during ./configure for the "simulator":
checking netinet/in_systm.h presence... yes
aconfigure: WARNING: netinet/in_systm.h: present but cannot be compiled
aconfigure: WARNING: netinet/in_systm.h:     check for missing  
prerequisite headers?
aconfigure: WARNING: netinet/in_systm.h: see the Autoconf documentation
aconfigure: WARNING: netinet/in_systm.h:     section "Present But  
Cannot Be Compiled"
aconfigure: WARNING: netinet/in_systm.h: proceeding with the  
preprocessor's result
aconfigure: WARNING: netinet/in_systm.h: in the future, the compiler  
will take precedence

aconfigure: WARNING: stdio.h: accepted by the compiler, rejected by  
the preprocessor!
aconfigure: WARNING: stdio.h: proceeding with the compiler's result

I also get errors during the "make dep" regarding netinet:
In file included from ../src/pj/ioqueue_select.c:38:
../include/pj/compat/socket.h:99:32: error: netinet/in_systm.h: No  
such file or directory
... more errors like these...

Doesn't seem like netinet/in_systm.h is a part of the iPhone SDK, so I  
guess there's something
going wrong in the configure script?


If anyone could shed some light on how to compile in this enviroment,  
please do, I feel rather stuck atm.


Best regards,
Even Andr?

> I forgot a few things.
>
> In the autoconfigure.ac file copy the arm-darwin whatever it is
> stanza, and add a i386-darwin type stanza. Remember the goal here is
> not to make a generic mac build, but a iphone style build.
>
> I will also note, that as it stands , 1.0.3 seems to crash on the
> iphone and damned if I can work out why. But it does work fine , on
> the iphone simulator.
>
> Whatever the difference between the two is (well other than a
> completely different chipset) holds the hidden secret of this damn
> problem.
>
> If anyone has ANY insight onto why iphone 3.0 software on the device
> seems hosed with pjsip, please I'd love to know, because I am
> completely bamboozled and running out of time on this contract :( : 
> ( :(
>
> Shayne.
>
> On 03/08/2009, at 12:12 AM, Shayne O'Neill wrote:
> >
> > This cross compiles to both simulator AND phone. In general follow
> > the siphon instructions, but pay attention to the need for i386-xxx
> > compiler linkeages. There are i686-xxxx linkeages in the SDK which
> > will need to be simlinked.
> >
> > This is an adaption of a generic "Compile autoconf for iphone"
> > script I've found very useful
> >
> > use simulator or device as a parameter
> >
> > ------
> > #!/bin/bash
> > find ./ -name "*.depend" | xargs rm -Rf
> > find ./ -name "*.o" | xargs rm -Rf
> > #find ./ -name "*.a" | xargs rm -Rf
> >
> >  
> ################################################################################
> > #
> > # Copyright (c) 2008-2009 Christopher J. Stawarz
> > #
> > # Permission is hereby granted, free of charge, to any person
> > # obtaining a copy of this software and associated documentation  
> files
> > # (the "Software"), to deal in the Software without restriction,
> > # including without limitation the rights to use, copy, modify,  
> merge,
> > # publish, distribute, sublicense, and/or sell copies of the  
> Software,
> > # and to permit persons to whom the Software is furnished to do so,
> > # subject to the following conditions:
> > #
> > # The above copyright notice and this permission notice shall be
> > # included in all copies or substantial portions of the Software.
> > #
> > # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> > # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> > # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> > # NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT  
> HOLDERS
> > # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
> > # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
> > # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> > # SOFTWARE.
> > #
> >  
> ################################################################################
> >
> >
> >
> > # Disallow undefined variables
> > set -u
> >
> > rm -R a.out.dSYM
> > rm config.log
> > default_gcc_version=4.2
> > default_iphoneos_version=3.0
> > default_macos_version=10.5
> >
> > #GCC_VERSION="${GCC_VERSION:-$default_gcc_version}"
> > export IPHONEOS_DEPLOYMENT_TARGET="${IPHONEOS_DEPLOYMENT_TARGET:-
> > $default_iphoneos_version}"
> > export MACOSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET:-
> > $default_macos_version}"
> >
> >
> > usage ()
> > {
> >    cat >&2 << EOF
> > Usage: ${0##*/} [-ht] [-p prefix] target [configure_args]
> > 	-h	Print help message
> > 	-p	Installation prefix (default: \$HOME/Developer/Platforms/...)
> > 	-t	Use 16-bit Thumb instruction set (instead of 32-bit ARM)
> >
> > The target must be "device" or "simulator".  Any additional  
> arguments
> > are passed to configure.
> >
> > The following environment variables affect the build process:
> >
> > 	GCC_VERSION			(default: default_gcc_version)
> > 	IPHONEOS_DEPLOYMENT_TARGET	(default: $default_iphoneos_version)
> > 	MACOSX_DEPLOYMENT_TARGET	(default: $default_macos_version)
> >
> > EOF
> > }
> >
> >
> > while getopts ":hp:t" opt; do
> >    case $opt in
> > 	h  ) usage ; exit 0 ;;
> > 	p  ) prefix="$OPTARG" ;;
> > 	t  ) thumb_opt=thumb ;;
> > 	\? ) usage ; exit 2 ;;
> >    esac
> > done
> > shift $(( $OPTIND - 1 ))
> >
> > if (( $# < 1 )); then
> >    usage
> >    exit 2
> > fi
> >
> > target=$1
> > shift
> >
> > case $target in
> >
> >    device )
> > 	arch=armv6
> > 	carch=arm
> > 	platform=iPhoneOS
> > 	extra_cflags="-m${thumb_opt:-no-thumb}" # -mthumb-interwork"
> > 	;;
> >
> >    simulator )
> > 	arch=i386
> > 	carch=i686
> > 	platform=iPhoneSimulator
> > 	extra_cflags="-D__IPHONE_OS_VERSION_MIN_REQUIRED=$
> > {IPHONEOS_DEPLOYMENT_TARGET%%.*}0000"
> > 	;;
> >
> >    * )
> > 	usage
> > 	exit 2
> >
> > esac
> >
> >
> > platform_dir="/Developer/Platforms/${platform}.platform/Developer"
> > platform_bin_dir="${platform_dir}/usr/bin"
> > platform_sdk_dir="${platform_dir}/SDKs/${platform}$
> > {IPHONEOS_DEPLOYMENT_TARGET}.sdk"
> > prefix="${prefix:-${HOME}${platform_sdk_dir}}"
> > SDK="${platform_sdk_dir}"
> > export CFLAGS=" -Os -gdwarf-2 -isysroot ${platform_sdk_dir} $
> > {extra_cflags}"
> > export LDFLAGS=" -isysroot ${platform_sdk_dir}"
> > export CPP="${platform_bin_dir}/cpp" #-${GCC_VERSION}"
> >
> > export INCLUDE_IPHONE="${platform_sdk_dir}/System/Library/ 
> Frameworks"
> >
> >
> > pushd ${platform_dir}/usr/bin
> > ln -s arm-apple-darwin9-gcc-4.2.1 arm-apple-darwin9-gcc
> > ln -s arm-apple-darwin9-g++-4.2.1 arm-apple-darwin9-g++
> > ln -s ranlib armv6-apple-darwin9-ranlib
> > popd
> >
> >
> > export PATH=${platform_bin_dir}:${PATH}
> >
> >
> > export CFLAGS="${CFLAGS} -I${platform_dir}/usr/include/gcc/darwin/
> > 4.2.1 \
> > 	-I${platform_sdk_dir}/System/Library/Frameworks/ \
> >         -F${SDK}/System/Library/Frameworks"
> >
> > export LDFLAGS="${LDFLAGS} -F${SDK}/System/Library/Frameworks"
> >
> > echo "Variables"
> > echo $LDFLAGS
> > echo $CPP
> > echo
> >
> > #make realclean
> > autoconf aconfigure.ac > aconfigure
> > ./configure \
> >    --host="${arch}-apple-darwin9" \
> >    "$@" || exit
> >
> > make dep
> > make

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20091108/f6a7dee0/attachment.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux