VoiceMac/SIP/install

218 lines
16 KiB
Bash
Executable File

#!/bin/bash
PPCFLAGS="-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -arch ppc -ggdb -DPJMEDIA_HAS_G7221_CODEC=1 -DPJMEDIA_HAS_G711_CODEC=1"
PPCCC="/Applications/Xcode.app/Contents/Developer/usr/bin/gcc-4.2"
PPCCXX="/Applications/Xcode.app/Contents/Developer/usr/bin/g++-4.2"
PPCAR="/Applications/Xcode.app/Contents/Developer/usr/bin/ar rv"
PPCRANLIB="/Applications/Xcode.app/Contents/Developer/usr/bin/ranlib"
PPCHOST="ppc-apple-darwin10"
PPCPATH="${PWD}/opt-ppc"
PPCLDFLAGS="-arch ppc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.5.sdk"
I386FLAGS="-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -arch i386 -ggdb -DPJMEDIA_HAS_G7221_CODEC=1 -DPJMEDIA_HAS_G711_CODEC=1"
I386CC="/Applications/Xcode.app/Contents/Developer/usr/bin/gcc-4.2"
I386CXX="/Applications/Xcode.app/Contents/Developer/usr/bin/g++-4.2"
I386HOST="i386-apple-darwin10"
I386PATH="${PWD}/opt-i386"
I386LDFLAGS="-arch i386"
X86_64FLAGS="-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -arch x86_64 -ggdb -DPJMEDIA_HAS_G7221_CODEC=1 -DPJMEDIA_HAS_G711_CODEC=1"
X86_64CC="/Applications/Xcode.app/Contents/Developer/usr/bin/gcc-4.2"
X86_64CXX="/Applications/Xcode.app/Contents/Developer/usr/bin/g++-4.2"
X86_64HOST="x86_64-apple-darwin10"
X86_64PATH="${PWD}/opt-x86_64"
X86_64LDFLAGS="-arch x86_64"
if [ "$1" = "clean" ]; then
echo "Cleaning PJProject"
rm -fR pjproject-i386 pjproject-x86_64 pjproject-ppc pjproject-ios pjproject-simulator
fi
if [ "$1" = "ios" ]; then
FINALPATH="${PWD}/opt-ios"
IOSCFLAGS="-miphoneos-version-min=3.1"
IOS6PATH="${PWD}/opt-ios6"
IOS7PATH="${PWD}/opt-ios7"
SIMULATORPATH="${PWD}/opt-simulator"
echo "Copying PJProject"
PJPROJECTNAME="pjproject"
cp -R ${PJPROJECTNAME} ${PJPROJECTNAME}-ios6
echo "#define PJ_CONFIG_IPHONE 1" > ${PJPROJECTNAME}-ios6/pjlib/include/pj/config_site.h
echo "#include <pj/config_site_sample.h>" >> ${PJPROJECTNAME}-ios6/pjlib/include/pj/config_site.h
echo "#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0" >> ${PJPROJECTNAME}-ios6/pjlib/include/pj/config_site.h
echo "#define PJMEDIA_AUDIO_DEV_HAS_COREAUDIO 1" >> ${PJPROJECTNAME}-ios6/pjlib/include/pj/config_site.h
OLDDIR="${PWD}"
cd ${PJPROJECTNAME}-ios6
patch -p0 < "${OLDDIR}/mips_test.patch"
cd "${OLDDIR}"
cp -R ${PJPROJECTNAME}-ios6 ${PJPROJECTNAME}-ios7
cp -R ${PJPROJECTNAME}-ios6 ${PJPROJECTNAME}-simulator
echo "Configuring PJProject"
cd ${PJPROJECTNAME}-ios6
CC="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv6" CFLAGS="${IOSCFLAGS}" ./configure-iphone --prefix="${IOS6PATH}"
cd ../${PJPROJECTNAME}-ios7
CC="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv7" CFLAGS="${IOSCFLAGS}" ./configure-iphone --prefix="${IOS7PATH}"
cd ../${PJPROJECTNAME}-simulator
DEVPATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer" CC="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc" CFLAGS="${IOSCFLAGS}" ./configure-iphone --prefix="${SIMULATORPATH}"
cd ../
echo "Compiling PJProject"
cd ${PJPROJECTNAME}-ios6
make dep
make
cd ../${PJPROJECTNAME}-ios7
make dep
make
cd ../${PJPROJECTNAME}-simulator
make dep
make
cd ../
echo "Installing PJProject"
cd ${PJPROJECTNAME}-ios6
make install
cd ../${PJPROJECTNAME}-ios7
make install
cd ../${PJPROJECTNAME}-simulator
make install
cd ../
echo "Making PJProject Universal"
mkdir -p "${FINALPATH}/lib/pkgconfig"
cp -R "${IOS6PATH}/include" "${FINALPATH}"
lipo -create "${IOS6PATH}/lib/libg7221codec-arm-apple-darwin10.a" "${IOS7PATH}/lib/libg7221codec-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libg7221codec-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libg7221codec-ios.a"
lipo -create "${IOS6PATH}/lib/libgsmcodec-arm-apple-darwin10.a" "${IOS7PATH}/lib/libgsmcodec-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libgsmcodec-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libgsmcodec-ios.a"
lipo -create "${IOS6PATH}/lib/libilbccodec-arm-apple-darwin10.a" "${IOS7PATH}/lib/libilbccodec-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libilbccodec-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libilbccodec-ios.a"
lipo -create "${IOS6PATH}/lib/libmilenage-arm-apple-darwin10.a" "${IOS7PATH}/lib/libmilenage-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libmilenage-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libmilenage-ios.a"
lipo -create "${IOS6PATH}/lib/libpj-arm-apple-darwin10.a" "${IOS7PATH}/lib/libpj-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libpj-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libpj-ios.a"
lipo -create "${IOS6PATH}/lib/libpjlib-util-arm-apple-darwin10.a" "${IOS7PATH}/lib/libpjlib-util-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libpjlib-util-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libpjlib-util-ios.a"
lipo -create "${IOS6PATH}/lib/libpjmedia-arm-apple-darwin10.a" "${IOS7PATH}/lib/libpjmedia-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libpjmedia-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libpjmedia-ios.a"
lipo -create "${IOS6PATH}/lib/libpjmedia-audiodev-arm-apple-darwin10.a" "${IOS7PATH}/lib/libpjmedia-audiodev-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libpjmedia-audiodev-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libpjmedia-audiodev-ios.a"
lipo -create "${IOS6PATH}/lib/libpjmedia-codec-arm-apple-darwin10.a" "${IOS7PATH}/lib/libpjmedia-codec-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libpjmedia-codec-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libpjmedia-codec-ios.a"
lipo -create "${IOS6PATH}/lib/libpjnath-arm-apple-darwin10.a" "${IOS7PATH}/lib/libpjnath-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libpjnath-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libpjnath-ios.a"
lipo -create "${IOS6PATH}/lib/libpjsip-arm-apple-darwin10.a" "${IOS7PATH}/lib/libpjsip-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libpjsip-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libpjsip-ios.a"
lipo -create "${IOS6PATH}/lib/libpjsip-simple-arm-apple-darwin10.a" "${IOS7PATH}/lib/libpjsip-simple-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libpjsip-simple-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libpjsip-simple-ios.a"
lipo -create "${IOS6PATH}/lib/libpjsip-ua-arm-apple-darwin10.a" "${IOS7PATH}/lib/libpjsip-ua-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libpjsip-ua-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libpjsip-ua-ios.a"
lipo -create "${IOS6PATH}/lib/libpjsua-arm-apple-darwin10.a" "${IOS7PATH}/lib/libpjsua-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libpjsua-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libpjsua-ios.a"
lipo -create "${IOS6PATH}/lib/libresample-arm-apple-darwin10.a" "${IOS7PATH}/lib/libresample-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libresample-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libresample-ios.a"
lipo -create "${IOS6PATH}/lib/libspeex-arm-apple-darwin10.a" "${IOS7PATH}/lib/libspeex-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libspeex-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libspeex-ios.a"
lipo -create "${IOS6PATH}/lib/libsrtp-arm-apple-darwin10.a" "${IOS7PATH}/lib/libsrtp-arm-apple-darwin10.a" "${SIMULATORPATH}/lib/libsrtp-arm-apple-darwin10.a" -output "${FINALPATH}/lib/libsrtp-ios.a"
fi
if [ "$1" = "simulator" ]; then
FINALPATH="${PWD}/opt-ios"
IOSCFLAGS="-miphoneos-version-min=3.1"
SIMULATORPATH="${PWD}/opt-simulator"
echo "Copying PJProject"
PJPROJECTNAME="pjproject"
cp -R ${PJPROJECTNAME} ${PJPROJECTNAME}-simulator
echo "#define PJ_CONFIG_IPHONE 1" > ${PJPROJECTNAME}-simulator/pjlib/include/pj/config_site.h
echo "#include <pj/config_site_sample.h>" >> ${PJPROJECTNAME}-simulator/pjlib/include/pj/config_site.h
echo "#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0" >> ${PJPROJECTNAME}-simulator/pjlib/include/pj/config_site.h
echo "#define PJMEDIA_AUDIO_DEV_HAS_COREAUDIO 1" >> ${PJPROJECTNAME}-simulator/pjlib/include/pj/config_site.h
OLDDIR="${PWD}"
cd ${PJPROJECTNAME}-simulator
patch -p0 < "${OLDDIR}/mips_test.patch"
cd "${OLDDIR}"
echo "Configuring PJProject"
cd ${PJPROJECTNAME}-simulator
DEVPATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer" CC="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc" CFLAGS="${IOSCFLAGS}" ./configure-iphone --prefix="${SIMULATORPATH}"
cd ../
echo "Compiling PJProject"
cd ${PJPROJECTNAME}-simulator
make dep
make
cd ../
echo "Installing PJProject"
cd ${PJPROJECTNAME}-simulator
make install
cd ../
echo "Making PJProject Universal"
mkdir -p "${FINALPATH}/lib/pkgconfig"
cp -R "${SIMULATORPATH}/include" "${FINALPATH}"
mv "${SIMULATORPATH}/lib/libg7221codec-arm-apple-darwin10.a" "${FINALPATH}/lib/libg7221codec-ios.a"
mv "${SIMULATORPATH}/lib/libgsmcodec-arm-apple-darwin10.a" "${FINALPATH}/lib/libgsmcodec-ios.a"
mv "${SIMULATORPATH}/lib/libilbccodec-arm-apple-darwin10.a" "${FINALPATH}/lib/libilbccodec-ios.a"
mv "${SIMULATORPATH}/lib/libmilenage-arm-apple-darwin10.a" "${FINALPATH}/lib/libmilenage-ios.a"
mv "${SIMULATORPATH}/lib/libpj-arm-apple-darwin10.a" "${FINALPATH}/lib/libpj-ios.a"
mv "${SIMULATORPATH}/lib/libpjlib-util-arm-apple-darwin10.a" "${FINALPATH}/lib/libpjlib-util-ios.a"
mv "${SIMULATORPATH}/lib/libpjmedia-arm-apple-darwin10.a" "${FINALPATH}/lib/libpjmedia-ios.a"
mv "${SIMULATORPATH}/lib/libpjmedia-audiodev-arm-apple-darwin10.a" "${FINALPATH}/lib/libpjmedia-audiodev-ios.a"
mv "${SIMULATORPATH}/lib/libpjmedia-codec-arm-apple-darwin10.a" "${FINALPATH}/lib/libpjmedia-codec-ios.a"
mv "${SIMULATORPATH}/lib/libpjnath-arm-apple-darwin10.a" "${FINALPATH}/lib/libpjnath-ios.a"
mv "${SIMULATORPATH}/lib/libpjsip-arm-apple-darwin10.a" "${FINALPATH}/lib/libpjsip-ios.a"
mv "${SIMULATORPATH}/lib/libpjsip-simple-arm-apple-darwin10.a" "${FINALPATH}/lib/libpjsip-simple-ios.a"
mv "${SIMULATORPATH}/lib/libpjsip-ua-arm-apple-darwin10.a" "${FINALPATH}/lib/libpjsip-ua-ios.a"
mv "${SIMULATORPATH}/lib/libpjsua-arm-apple-darwin10.a" "${FINALPATH}/lib/libpjsua-ios.a"
mv "${SIMULATORPATH}/lib/libresample-arm-apple-darwin10.a" "${FINALPATH}/lib/libresample-ios.a"
mv "${SIMULATORPATH}/lib/libspeex-arm-apple-darwin10.a" "${FINALPATH}/lib/libspeex-ios.a"
mv "${SIMULATORPATH}/lib/libsrtp-arm-apple-darwin10.a" "${FINALPATH}/lib/libsrtp-ios.a"
fi
if [ "$1" = "" ]; then
FINALPATH="${PWD}/opt"
echo "Copying PJProject"
PJPROJECTNAME="pjproject"
cp -R ${PJPROJECTNAME} ${PJPROJECTNAME}-ppc
echo "#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0" > ${PJPROJECTNAME}-ppc/pjlib/include/pj/config_site.h
echo "#define PJMEDIA_AUDIO_DEV_HAS_COREAUDIO 1" >> ${PJPROJECTNAME}-ppc/pjlib/include/pj/config_site.h
cp -R ${PJPROJECTNAME}-ppc ${PJPROJECTNAME}-i386
cp -R ${PJPROJECTNAME}-ppc ${PJPROJECTNAME}-x86_64
echo "Configuring PJProject"
cd ${PJPROJECTNAME}-ppc
LDFLAGS="${PPCLDFLAGS}" AR="${PPCAR}" RANLIB="${PPCRANLIB}" CC="${PPCCC}" CXX="${PPCCXX}" CFLAGS="${PPCFLAGS}" CXXFLAGS="${PPCFLAGS}" ./configure --prefix="${PPCPATH}" --host="${PPCHOST}" --disable-shared --enable-static
cd ../${PJPROJECTNAME}-i386
LDFLAGS="${I386LDFLAGS}" CFLAGS="${I386FLAGS}" CXXFLAGS="${I386FLAGS}" ./configure --prefix="${I386PATH}" --host="${I386HOST}" --disable-shared --enable-static
cd ../${PJPROJECTNAME}-x86_64
LDFLAGS="${X86_64LDFLAGS}" CFLAGS="${X86_64FLAGS}" CXXFLAGS="${X86_64FLAGS}" ./configure --prefix="${X86_64PATH}" --host="${X86_64HOST}" --disable-shared --enable-static
cd ../
echo "Compiling PJProject"
cd ${PJPROJECTNAME}-ppc
make dep
make
cd ../${PJPROJECTNAME}-i386
make dep
make
cd ../${PJPROJECTNAME}-x86_64
make dep
make
cd ../
echo "Installing PJProject"
cd ${PJPROJECTNAME}-ppc
make install
cd ../${PJPROJECTNAME}-i386
make install
cd ../${PJPROJECTNAME}-x86_64
make install
cd ../
echo "Making PJProject Universal"
mkdir -p "${FINALPATH}/lib/pkgconfig"
cp -R "${PPCPATH}/include" "${FINALPATH}"
lipo -create "${PPCPATH}/lib/libg7221codec-powerpc-apple-darwin10.a" "${I386PATH}/lib/libg7221codec-i386-apple-darwin10.a" "${X86_64PATH}/lib/libg7221codec-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libg7221codec.a"
lipo -create "${PPCPATH}/lib/libgsmcodec-powerpc-apple-darwin10.a" "${I386PATH}/lib/libgsmcodec-i386-apple-darwin10.a" "${X86_64PATH}/lib/libgsmcodec-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libgsmcodec.a"
lipo -create "${PPCPATH}/lib/libilbccodec-powerpc-apple-darwin10.a" "${I386PATH}/lib/libilbccodec-i386-apple-darwin10.a" "${X86_64PATH}/lib/libilbccodec-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libilbccodec.a"
lipo -create "${PPCPATH}/lib/libmilenage-powerpc-apple-darwin10.a" "${I386PATH}/lib/libmilenage-i386-apple-darwin10.a" "${X86_64PATH}/lib/libmilenage-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libmilenage.a"
lipo -create "${PPCPATH}/lib/libpj-powerpc-apple-darwin10.a" "${I386PATH}/lib/libpj-i386-apple-darwin10.a" "${X86_64PATH}/lib/libpj-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libpj.a"
lipo -create "${PPCPATH}/lib/libpjlib-util-powerpc-apple-darwin10.a" "${I386PATH}/lib/libpjlib-util-i386-apple-darwin10.a" "${X86_64PATH}/lib/libpjlib-util-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libpjlib-util.a"
lipo -create "${PPCPATH}/lib/libpjmedia-audiodev-powerpc-apple-darwin10.a" "${I386PATH}/lib/libpjmedia-audiodev-i386-apple-darwin10.a" "${X86_64PATH}/lib/libpjmedia-audiodev-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libpjmedia-audiodev.a"
lipo -create "${PPCPATH}/lib/libpjmedia-codec-powerpc-apple-darwin10.a" "${I386PATH}/lib/libpjmedia-codec-i386-apple-darwin10.a" "${X86_64PATH}/lib/libpjmedia-codec-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libpjmedia-codec.a"
lipo -create "${PPCPATH}/lib/libpjmedia-videodev-powerpc-apple-darwin10.a" "${I386PATH}/lib/libpjmedia-videodev-i386-apple-darwin10.a" "${X86_64PATH}/lib/libpjmedia-videodev-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libpjmedia-videodev.a"
lipo -create "${PPCPATH}/lib/libpjmedia-powerpc-apple-darwin10.a" "${I386PATH}/lib/libpjmedia-i386-apple-darwin10.a" "${X86_64PATH}/lib/libpjmedia-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libpjmedia.a"
lipo -create "${PPCPATH}/lib/libpjnath-powerpc-apple-darwin10.a" "${I386PATH}/lib/libpjnath-i386-apple-darwin10.a" "${X86_64PATH}/lib/libpjnath-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libpjnath.a"
lipo -create "${PPCPATH}/lib/libpjsip-powerpc-apple-darwin10.a" "${I386PATH}/lib/libpjsip-i386-apple-darwin10.a" "${X86_64PATH}/lib/libpjsip-simple-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libpjsip-simple.a"
lipo -create "${PPCPATH}/lib/libpjsip-simple-powerpc-apple-darwin10.a" "${I386PATH}/lib/libpjsip-simple-i386-apple-darwin10.a" "${X86_64PATH}/lib/libpjsip-ua-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libpjsip-ua.a"
lipo -create "${PPCPATH}/lib/libpjsip-ua-powerpc-apple-darwin10.a" "${I386PATH}/lib/libpjsip-ua-i386-apple-darwin10.a" "${X86_64PATH}/lib/libpjsip-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libpjsip.a"
lipo -create "${PPCPATH}/lib/libpjsua-powerpc-apple-darwin10.a" "${I386PATH}/lib/libpjsua-i386-apple-darwin10.a" "${X86_64PATH}/lib/libpjsua-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libpjsua.a"
lipo -create "${PPCPATH}/lib/libportaudio-powerpc-apple-darwin10.a" "${I386PATH}/lib/libportaudio-i386-apple-darwin10.a" "${X86_64PATH}/lib/libportaudio-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libportaudio.a"
lipo -create "${PPCPATH}/lib/libresample-powerpc-apple-darwin10.a" "${I386PATH}/lib/libresample-i386-apple-darwin10.a" "${X86_64PATH}/lib/libresample-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libresample.a"
lipo -create "${PPCPATH}/lib/libspeex-powerpc-apple-darwin10.a" "${I386PATH}/lib/libspeex-i386-apple-darwin10.a" "${X86_64PATH}/lib/libspeex-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libspeex.a"
lipo -create "${PPCPATH}/lib/libsrtp-powerpc-apple-darwin10.a" "${I386PATH}/lib/libsrtp-i386-apple-darwin10.a" "${X86_64PATH}/lib/libsrtp-x86_64-apple-darwin10.a" -output "${FINALPATH}/lib/libsrtp.a"
fi