Merge branch 'master' of git.linphone.org:linphone-iphone into buschjaeger

Conflicts:
	PhoneMainView.xib
	submodules/externals/exosip
This commit is contained in:
Simon Morlat 2012-03-20 10:36:37 +01:00
commit e1ac9e5480
24 changed files with 330 additions and 107 deletions

3
.gitmodules vendored
View file

@ -46,3 +46,6 @@
[submodule "submodules/externals/srtp"]
path = submodules/externals/srtp
url = git://git.linphone.org/srtp.git
[submodule "submodules/bcg729"]
path = submodules/bcg729
url = git://git.linphone.org/bcg729.git

View file

@ -20,6 +20,7 @@
#import <UIKit/UIKit.h>
#import <AddressBookUI/ABPeoplePickerNavigationController.h>
#import "CoreTelephony/CTCallCenter.h"
#define DIALER_TAB_INDEX 1
#define CONTACTS_TAB_INDEX 2
@ -39,7 +40,8 @@
IBOutlet PhoneViewController* myPhoneViewController;
CallHistoryTableViewController* myCallHistoryTableViewController;
ContactPickerDelegate* myContactPickerDelegate;
CTCallCenter* callCenter;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;

View file

@ -22,6 +22,9 @@
#import "ContactPickerDelegate.h"
#import "AddressBook/ABPerson.h"
#import "CoreTelephony/CTCallCenter.h"
#import "CoreTelephony/CTCall.h"
#import "ConsoleViewController.h"
#import "MoreViewController.h"
#include "CallHistoryTableViewController.h"
@ -29,6 +32,13 @@
#include "LinphoneManager.h"
#include "linphonecore.h"
#if __clang__ && __arm__
extern int __divsi3(int a, int b);
int __aeabi_idiv(int a, int b) {
return __divsi3(a,b);
}
#endif
@implementation linphoneAppDelegate
@synthesize window;
@ -36,6 +46,24 @@
@synthesize myPeoplePickerController;
@synthesize myPhoneViewController;
-(void) handleGSMCallInteration: (id) cCenter {
CTCallCenter* ct = (CTCallCenter*) cCenter;
int callCount = [ct.currentCalls count];
if (!callCount) {
NSLog(@"No GSM call -> enabling SIP calls");
linphone_core_set_max_calls([LinphoneManager getLc], 3);
} else {
NSLog(@"%d GSM call(s) -> disabling SIP calls", callCount);
/* pause current call, if any */
LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]);
if (call) {
NSLog(@"Pausing SIP call");
linphone_core_pause_call([LinphoneManager getLc], call);
}
linphone_core_set_max_calls([LinphoneManager getLc], 0);
}
}
-(void)applicationWillResignActive:(UIApplication *)application {
LinphoneCore* lc = [LinphoneManager getLc];
@ -55,11 +83,31 @@
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
[[LinphoneManager instance] enterBackgroundMode];
if (![[LinphoneManager instance] enterBackgroundMode]) {
// destroying eventHandler if app cannot go in background.
// Otherwise if a GSM call happen and Linphone is resumed,
// the handler will be called before LinphoneCore is built.
// Then handler will be restored in appDidBecomeActive cb
callCenter.callEventHandler = nil;
[callCenter release];
callCenter = nil;
}
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
[[LinphoneManager instance] becomeActive];
if (callCenter == nil) {
callCenter = [[CTCallCenter alloc] init];
callCenter.callEventHandler = ^(CTCall* call) {
// post on main thread
[self performSelectorOnMainThread:@selector(handleGSMCallInteration:)
withObject:callCenter
waitUntilDone:YES];
};
}
// check call state at startup
[self handleGSMCallInteration:callCenter];
LinphoneCore* lc = [LinphoneManager getLc];
LinphoneCall* call = linphone_core_get_current_call(lc);
if (call == NULL)
@ -107,6 +155,9 @@
#ifdef HAVE_AMR
@"YES",@"amr_8k_preference", // enable amr by default if compiled with
#endif
#ifdef HAVE_G729
@"YES",@"g729_preference", // enable amr by default if compiled with
#endif
@"NO",@"debugenable_preference",
//@"+33",@"countrycode_preference",
nil];
@ -117,6 +168,7 @@
[[NSUserDefaults standardUserDefaults] synchronize];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
/*
@ -166,9 +218,16 @@
[[LinphoneManager instance] setCallDelegate:myPhoneViewController];
[[LinphoneManager instance] startLibLinphone];
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound];
callCenter = [[CTCallCenter alloc] init];
callCenter.callEventHandler = ^(CTCall* call) {
// post on main thread
[self performSelectorOnMainThread:@selector(handleGSMCallInteration:)
withObject:callCenter
waitUntilDone:YES];
};
return YES;
}

View file

@ -89,13 +89,13 @@ void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef info, void
-(id) initWithRecord:(ABRecordRef) aRecord ofType:(NSString*) type {
if ((self = [super init])) {
record=CFRetain(aRecord);
numberType= type?[type retain]:@"unkown";
numberType= [type?type:@"unknown" retain];
}
return self;
}
- (void)dealloc {
[super dealloc];
CFRelease(record);
[numberType release];
[super dealloc];
}
@end

View file

@ -69,7 +69,7 @@ typedef struct _CallContext {
-(BOOL) isNotIphone3G;
-(void) destroyLibLinphone;
-(void) enterBackgroundMode;
-(BOOL) enterBackgroundMode;
-(void) becomeActive;
-(void) kickOffNetworkConnection;
-(NSString*) getDisplayNameFromAddressBook:(NSString*) number andUpdateCallLog:(LinphoneCallLog*)log;

View file

@ -46,6 +46,9 @@ extern void libmsx264_init();
extern void libmssilk_init();
#endif
#if HAVE_G729
extern void libmsbcg729_init();
#endif
@implementation LinphoneManager
@synthesize callDelegate;
@synthesize registrationDelegate;
@ -359,6 +362,7 @@ static void linphone_iphone_call_state(LinphoneCore *lc, LinphoneCall* call, Lin
cancelButtonTitle:NSLocalizedString(@"Continue",nil)
otherButtonTitles:nil ,nil];
[error show];
[error release];
}
}
@ -623,6 +627,7 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
[self configurePayloadType:"PCMU" fromPrefKey:@"pcmu_preference" withRate:8000];
[self configurePayloadType:"PCMA" fromPrefKey:@"pcma_preference" withRate:8000];
[self configurePayloadType:"G722" fromPrefKey:@"g722_preference" withRate:8000];
[self configurePayloadType:"G729" fromPrefKey:@"g729_preference" withRate:8000];
//get video codecs from linphonerc
const MSList *videoCodecs=linphone_core_get_video_codecs(theLinphoneCore);
@ -689,6 +694,7 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setDelegate:nil];
if (theLinphoneCore != nil) { //just in case application terminate before linphone core initialization
NSLog(@"Destroy linphonecore");
linphone_core_destroy(theLinphoneCore);
theLinphoneCore = nil;
SCNetworkReachabilityUnscheduleFromRunLoop(proxyReachability, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
@ -700,7 +706,7 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
}
//**********************BG mode management*************************///////////
-(void) enterBackgroundMode {
-(BOOL) enterBackgroundMode {
LinphoneProxyConfig* proxyCfg;
linphone_core_get_default_proxy(theLinphoneCore, &proxyCfg);
linphone_core_stop_dtmf_stream(theLinphoneCore);
@ -740,11 +746,12 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
if (linphone_core_get_sip_transports(theLinphoneCore, &transportValue)) {
ms_error("cannot get current transport");
}
return YES;
}
else {
ms_warning("Entering lite bg mode");
[self destroyLibLinphone];
return NO;
}
}
@ -792,8 +799,13 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
#ifdef HAVE_X264
libmsx264_init(); //load x264 plugin if present from the liblinphone sdk
#endif
#if HAVE_G729
libmsbcg729_init(); // load g729 plugin
#endif
/* Initialize linphone core*/
NSLog(@"Create linphonecore");
theLinphoneCore = linphone_core_new (&linphonec_vtable
, [confiFileName cStringUsingEncoding:[NSString defaultCStringEncoding]]
, [factoryConfig cStringUsingEncoding:[NSString defaultCStringEncoding]]
@ -883,13 +895,12 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
}
-(void) becomeActive {
if (theLinphoneCore == nil) {
//back from standby and background mode is disabled
[self startLibLinphone];
} else {
if (![self reconfigureLinphoneIfNeeded:currentSettings]) {
ms_message("becomming active with no config modification, make sure we are registered");
ms_message("becoming active with no config modification, make sure we are registered");
linphone_core_refresh_registers(theLinphoneCore);//just to make sure REGISTRATION is up to date
}

View file

@ -19,6 +19,7 @@
#import "UICallButton.h"
#import "LinphoneManager.h"
#import "CoreTelephony/CTCallCenter.h"
@implementation UICallButton
@ -33,6 +34,22 @@
[error release];
return;
}
CTCallCenter* ct = [[CTCallCenter alloc] init];
if ([ct.currentCalls count] > 0) {
ms_error("GSM call in progress, cancelling outgoing SIP call request");
UIAlertView* error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Cannot make call",nil)
message:NSLocalizedString(@"Please terminate GSM call",nil)
delegate:nil
cancelButtonTitle:NSLocalizedString(@"Continue",nil)
otherButtonTitles:nil];
[error show];
[error release];
[ct release];
return;
}
[ct release];
if (TRUE /*!linphone_core_in_call([LinphoneManager getLc])*/) {
LinphoneProxyConfig* proxyCfg;
//get default proxy

View file

@ -60,7 +60,7 @@
}
-(BOOL) updateWithRegistrationState:(LinphoneRegistrationState)state message:(NSString*) message {
label.hidden = NO;
switch(state) {
case LinphoneRegistrationCleared:
image.hidden = NO;

View file

@ -39,7 +39,7 @@
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="332800514">
<reference key="NSNextResponder" ref="848661322"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">-2147483356</int>
<string key="NSFrame">{{0, -1}, {25, 23}}</string>
<reference key="NSSuperview" ref="848661322"/>
<reference key="NSWindow"/>
@ -66,7 +66,7 @@
</object>
<object class="IBUILabel" id="200467549">
<reference key="NSNextResponder" ref="848661322"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">-2147483356</int>
<string key="NSFrame">{{28, 0}, {280, 21}}</string>
<reference key="NSSuperview" ref="848661322"/>
<reference key="NSWindow"/>
@ -76,7 +76,7 @@
<int key="IBUIContentMode">7</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText">No SIP account defined</string>
<string key="IBUIText">CARAMBA</string>
<object class="NSColor" key="IBUITextColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>

View file

@ -35,9 +35,10 @@
<object class="IBUIView" id="191373211">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{768, 1004}</string>
<string key="NSFrameSize">{768, 1024}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">4</int>
<bytes key="NSWhite">MAA</bytes>
@ -51,10 +52,10 @@
<object class="IBUIImageView" id="873033834">
<reference key="NSNextResponder" ref="25193021"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{-9, 0}, {777, 1004}}</string>
<string key="NSFrameSize">{768, 1024}</string>
<reference key="NSSuperview" ref="25193021"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="68468370"/>
<reference key="NSNextKeyView" ref="901145609"/>
<string key="NSReuseIdentifierKey">_NS:569</string>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
@ -62,7 +63,7 @@
<object class="IBUIButton" id="897140295">
<reference key="NSNextResponder" ref="25193021"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{329, 942}, {108, 62}}</string>
<string key="NSFrame">{{329, 962}, {108, 62}}</string>
<reference key="NSSuperview" ref="25193021"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="509323940"/>
@ -105,7 +106,7 @@
<object class="IBUIButton" id="68468370">
<reference key="NSNextResponder" ref="25193021"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{223, 942}, {108, 62}}</string>
<string key="NSFrame">{{223, 962}, {108, 62}}</string>
<reference key="NSSuperview" ref="25193021"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="897140295"/>
@ -126,9 +127,10 @@
<object class="IBUIView" id="679593526">
<reference key="NSNextResponder" ref="25193021"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{598, 779}, {170, 225}}</string>
<string key="NSFrame">{{598, 799}, {170, 225}}</string>
<reference key="NSSuperview" ref="25193021"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
@ -141,7 +143,7 @@
<object class="IBUIButton" id="509323940">
<reference key="NSNextResponder" ref="25193021"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{436, 942}, {108, 62}}</string>
<string key="NSFrame">{{436, 962}, {108, 62}}</string>
<reference key="NSSuperview" ref="25193021"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="679593526"/>
@ -164,15 +166,16 @@
<object class="IBUIImageView" id="901145609">
<reference key="NSNextResponder" ref="25193021"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 956}, {28, 28}}</string>
<string key="NSFrame">{{20, 976}, {28, 28}}</string>
<reference key="NSSuperview" ref="25193021"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="68468370"/>
<string key="NSReuseIdentifierKey">_NS:567</string>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
</array>
<string key="NSFrameSize">{768, 1004}</string>
<string key="NSFrameSize">{768, 1024}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="873033834"/>
@ -190,7 +193,7 @@
<object class="IBUIImageView" id="696525010">
<reference key="NSNextResponder" ref="763566492"/>
<int key="NSvFlags">292</int>
<string key="NSFrameSize">{1004, 768}</string>
<string key="NSFrameSize">{1024, 768}</string>
<reference key="NSSuperview" ref="763566492"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="637528292"/>
@ -201,7 +204,7 @@
<object class="IBUIView" id="756580344">
<reference key="NSNextResponder" ref="763566492"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{779, 598}, {225, 170}}</string>
<string key="NSFrame">{{799, 598}, {225, 170}}</string>
<reference key="NSSuperview" ref="763566492"/>
<reference key="NSWindow"/>
<object class="NSColor" key="IBUIBackgroundColor">
@ -214,7 +217,7 @@
<object class="IBUIButton" id="637528292">
<reference key="NSNextResponder" ref="763566492"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{341, 706}, {108, 62}}</string>
<string key="NSFrame">{{351, 706}, {108, 62}}</string>
<reference key="NSSuperview" ref="763566492"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="303730267"/>
@ -235,7 +238,7 @@
<object class="IBUIButton" id="303730267">
<reference key="NSNextResponder" ref="763566492"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{448, 706}, {108, 62}}</string>
<string key="NSFrame">{{458, 706}, {108, 62}}</string>
<reference key="NSSuperview" ref="763566492"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="499714887"/>
@ -257,7 +260,7 @@
<object class="IBUIButton" id="499714887">
<reference key="NSNextResponder" ref="763566492"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{555, 706}, {108, 62}}</string>
<string key="NSFrame">{{565, 706}, {108, 62}}</string>
<reference key="NSSuperview" ref="763566492"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="756580344"/>
@ -288,7 +291,7 @@
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
</array>
<string key="NSFrameSize">{1004, 768}</string>
<string key="NSFrameSize">{1024, 768}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="696525010"/>
@ -310,7 +313,7 @@
<object class="IBUIImageView" id="97794255">
<reference key="NSNextResponder" ref="79829529"/>
<int key="NSvFlags">292</int>
<string key="NSFrameSize">{1004, 768}</string>
<string key="NSFrameSize">{1024, 768}</string>
<reference key="NSSuperview" ref="79829529"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="243148779"/>
@ -321,7 +324,7 @@
<object class="IBUIView" id="799261982">
<reference key="NSNextResponder" ref="79829529"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{779, 598}, {225, 170}}</string>
<string key="NSFrame">{{799, 598}, {225, 170}}</string>
<reference key="NSSuperview" ref="79829529"/>
<reference key="NSWindow"/>
<object class="NSColor" key="IBUIBackgroundColor">
@ -334,7 +337,7 @@
<object class="IBUIButton" id="243148779">
<reference key="NSNextResponder" ref="79829529"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{341, 706}, {108, 62}}</string>
<string key="NSFrame">{{351, 706}, {108, 62}}</string>
<reference key="NSSuperview" ref="79829529"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="796028571"/>
@ -355,7 +358,7 @@
<object class="IBUIButton" id="796028571">
<reference key="NSNextResponder" ref="79829529"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{448, 706}, {108, 62}}</string>
<string key="NSFrame">{{458, 706}, {108, 62}}</string>
<reference key="NSSuperview" ref="79829529"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="551257366"/>
@ -377,7 +380,7 @@
<object class="IBUIButton" id="551257366">
<reference key="NSNextResponder" ref="79829529"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{555, 706}, {108, 62}}</string>
<string key="NSFrame">{{565, 706}, {108, 62}}</string>
<reference key="NSSuperview" ref="79829529"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="799261982"/>
@ -408,7 +411,7 @@
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
</array>
<string key="NSFrameSize">{1004, 768}</string>
<string key="NSFrameSize">{1024, 768}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="97794255"/>

View file

@ -47,7 +47,7 @@
<object class="NSPSMatrix" key="NSFrameMatrix"/>
<string key="NSFrameSize">{320, 480}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MSAxIDEAA</bytes>
@ -75,7 +75,6 @@
<string key="NSResourceName">history-orange.png</string>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUITabBar" ref="995238651"/>
</object>
<reference key="IBUIParentViewController" ref="952473143"/>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
@ -97,7 +96,6 @@
<string key="NSResourceName">dialer-orange.png</string>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUITabBar" ref="995238651"/>
</object>
<reference key="IBUIParentViewController" ref="952473143"/>
<string key="IBUINibName">PhoneViewController</string>
@ -112,7 +110,6 @@
<object class="IBUIViewController" id="383050823">
<object class="IBUITabBarItem" key="IBUITabBarItem" id="672878446">
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUITabBar" ref="995238651"/>
<int key="IBUISystemItemIdentifier">5</int>
</object>
<reference key="IBUIParentViewController" ref="952473143"/>
@ -127,7 +124,6 @@
<object class="IBUITabBarItem" key="IBUITabBarItem" id="534357631">
<string key="IBUITitle"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUITabBar" ref="995238651"/>
<int key="IBUISystemItemIdentifier">0</int>
</object>
<reference key="IBUIParentViewController" ref="952473143"/>
@ -145,21 +141,13 @@
<int key="NSvFlags">266</int>
<string key="NSFrame">{{0, 431}, {320, 49}}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwAA</bytes>
</object>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableArray" key="IBUIItems">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="1041279701"/>
<reference ref="64474689"/>
<reference ref="672878446"/>
<reference ref="534357631"/>
</object>
<reference key="IBUISelectedItem" ref="1041279701"/>
</object>
</object>
</object>

12
README
View file

@ -25,8 +25,10 @@ Link macport libtoolize to glibtoolize
Link host's strings to simulator SDK
$ ln -s /usr/bin/strings /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings
For Xcode prior to 4.3:
$ sudo ln -s /usr/bin/strings /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings
For newer XCode:
$ sudo ln -s /usr/bin/strings /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings
BUILDING THE SDK
@ -63,9 +65,9 @@ After the SDK is built, just open the linphone xcode project with Xcode, and pre
* Note regarding third party components subject to license
The liblinphone-sdk is compiled with third parties code that are subject to patent license, specially: AMR, SILK and X264 codecs.
Linphone controls the embedding of these codecs thanks to the preprocessor macros HAVE_SILK, HAVE_AMR, HAVE_X264 positioned in xcode project.
Before embeding these 3 codecs in the final application, make sure to have the right to do so.
The liblinphone-sdk is compiled with third parties code that are subject to patent license, specially: AMR, SILK G729 and X264 codecs.
Linphone controls the embedding of these codecs thanks to the preprocessor macros HAVE_SILK, HAVE_AMR, HAVE_G729 HAVE_X264 positioned in xcode project.
Before embeding these 4 codecs in the final application, make sure to have the right to do so.
LIMITATIONS, KNOWN BUGS

View file

@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
@ -92,6 +92,8 @@
226183B0147259670037138E /* libmssilk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226183AF147259670037138E /* libmssilk.a */; };
2264B6D211200342002C2C53 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2264B6D111200342002C2C53 /* SystemConfiguration.framework */; };
226B563F13CAF1CD00921595 /* audio.plist in Resources */ = {isa = PBXBuildFile; fileRef = 226B563E13CAF1CD00921595 /* audio.plist */; };
226CDADF14E2D0B800513B67 /* libbcg729.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226CDADD14E2D0B800513B67 /* libbcg729.a */; };
226CDAE014E2D0B800513B67 /* libmsbcg729.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226CDADE14E2D0B800513B67 /* libmsbcg729.a */; };
226F2ED61344B0EF00F6EF27 /* libopencore-amrwb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226F2ED31344B0EF00F6EF27 /* libopencore-amrwb.a */; };
226F2ED71344B0EF00F6EF27 /* libopencore-amrnb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226F2ED41344B0EF00F6EF27 /* libopencore-amrnb.a */; };
226F2ED81344B0EF00F6EF27 /* libmsamr.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226F2ED51344B0EF00F6EF27 /* libmsamr.a */; };
@ -210,6 +212,8 @@
22F2508F107141E100AC9B3F /* PhoneViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22F2508D107141E100AC9B3F /* PhoneViewController.xib */; };
22F51EF6107FA66500F98953 /* untitled.plist in Resources */ = {isa = PBXBuildFile; fileRef = 22F51EF5107FA66500F98953 /* untitled.plist */; };
288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; };
340751971506459A00B89C47 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340751961506459A00B89C47 /* CoreTelephony.framework */; };
34075199150645A300B89C47 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340751961506459A00B89C47 /* CoreTelephony.framework */; };
340A75B014C0670B006AA708 /* ConferenceCallDetailView-ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 340A75AF14C0670A006AA708 /* ConferenceCallDetailView-ipad.xib */; };
340A75B114C0670B006AA708 /* ConferenceCallDetailView-ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 340A75AF14C0670A006AA708 /* ConferenceCallDetailView-ipad.xib */; };
3418843714C58BB100EA48C7 /* nowebcamCIF.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 3418843614C58BB100EA48C7 /* nowebcamCIF.jpg */; };
@ -492,6 +496,8 @@
226183AF147259670037138E /* libmssilk.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmssilk.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmssilk.a"; sourceTree = "<group>"; };
2264B6D111200342002C2C53 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
226B563E13CAF1CD00921595 /* audio.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = audio.plist; path = Settings.bundle/audio.plist; sourceTree = "<group>"; };
226CDADD14E2D0B800513B67 /* libbcg729.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbcg729.a; path = "liblinphone-sdk/apple-darwin/lib/libbcg729.a"; sourceTree = "<group>"; };
226CDADE14E2D0B800513B67 /* libmsbcg729.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmsbcg729.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmsbcg729.a"; sourceTree = "<group>"; };
226F2ED31344B0EF00F6EF27 /* libopencore-amrwb.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libopencore-amrwb.a"; path = "liblinphone-sdk/apple-darwin/lib/libopencore-amrwb.a"; sourceTree = "<group>"; };
226F2ED41344B0EF00F6EF27 /* libopencore-amrnb.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libopencore-amrnb.a"; path = "liblinphone-sdk/apple-darwin/lib/libopencore-amrnb.a"; sourceTree = "<group>"; };
226F2ED51344B0EF00F6EF27 /* libmsamr.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmsamr.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmsamr.a"; sourceTree = "<group>"; };
@ -616,6 +622,7 @@
288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
32CA4F630368D1EE00C91783 /* linphone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linphone_Prefix.pch; sourceTree = "<group>"; };
340751961506459A00B89C47 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
340A75AF14C0670A006AA708 /* ConferenceCallDetailView-ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "ConferenceCallDetailView-ipad.xib"; sourceTree = "<group>"; };
3418843614C58BB100EA48C7 /* nowebcamCIF.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = nowebcamCIF.jpg; path = submodules/linphone/mediastreamer2/src/nowebcamCIF.jpg; sourceTree = "<group>"; };
3418844514C6CAD300EA48C7 /* StatusSubViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StatusSubViewController.h; sourceTree = "<group>"; };
@ -675,6 +682,9 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
340751971506459A00B89C47 /* CoreTelephony.framework in Frameworks */,
226CDADF14E2D0B800513B67 /* libbcg729.a in Frameworks */,
226CDAE014E2D0B800513B67 /* libmsbcg729.a in Frameworks */,
344ABDF114850AE9007420B6 /* libc++.1.dylib in Frameworks */,
344ABDF214850AE9007420B6 /* libstdc++.6.dylib in Frameworks */,
344ABDE81484E723007420B6 /* libzrtpcpp.a in Frameworks */,
@ -725,6 +735,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
34075199150645A300B89C47 /* CoreTelephony.framework in Frameworks */,
22D8F15B147548E2008C97DB /* libvpx.a in Frameworks */,
22D8F15C147548E2008C97DB /* QuartzCore.framework in Frameworks */,
22D8F15D147548E2008C97DB /* OpenGLES.framework in Frameworks */,
@ -1137,6 +1148,9 @@
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
isa = PBXGroup;
children = (
340751961506459A00B89C47 /* CoreTelephony.framework */,
226CDADD14E2D0B800513B67 /* libbcg729.a */,
226CDADE14E2D0B800513B67 /* libmsbcg729.a */,
344ABDEF14850AE9007420B6 /* libc++.1.dylib */,
344ABDF014850AE9007420B6 /* libstdc++.6.dylib */,
344ABDE71484E723007420B6 /* libzrtpcpp.a */,
@ -1343,8 +1357,11 @@
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0430;
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "linphone" */;
compatibilityVersion = "Xcode 3.1";
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
@ -1612,7 +1629,6 @@
"$(ARCHS_STANDARD_32_BIT)",
armv6,
);
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "";
GCC_DYNAMIC_NO_PIC = NO;
@ -1625,7 +1641,8 @@
HAVE_X264,
HAVE_SILK,
);
GCC_VERSION = com.apple.compilers.llvmgcc42;
GCC_THUMB_SUPPORT = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = (
submodules/linphone/coreapi,
submodules/linphone/mediastreamer2/include,
@ -1637,7 +1654,7 @@
submodules/externals/speex/include,
);
INFOPLIST_FILE = "linphone-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 4.3;
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
LIBRARY_SEARCH_PATHS = (
"$(BUILT_PRODUCTS_DIR)",
"\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"",
@ -1646,7 +1663,6 @@
ORDER_FILE = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = linphone;
PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic;
TARGETED_DEVICE_FAMILY = "1,2";
@ -1657,7 +1673,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: jehan monnier (E8MYPN2NXL)";
CODE_SIGN_IDENTITY = "iPhone Distribution: jehan monnier";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
@ -1665,8 +1681,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 3.1;
LIBRARY_SEARCH_PATHS = "";
LINK_WITH_STANDARD_LIBRARIES = YES;
PREBINDING = NO;
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "DD608A20-B0EC-49C6-BFD1-815C97DF3844";
PROVISIONING_PROFILE = "7EBE410C-11B9-4346-9977-2C3BEE43ED16";
SDKROOT = iphoneos;
};
name = DistributionAdhoc;
@ -1680,7 +1695,6 @@
armv6,
);
CODE_SIGN_ENTITLEMENTS = untitled.plist;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "";
GCC_DYNAMIC_NO_PIC = NO;
@ -1693,7 +1707,8 @@
HAVE_X264,
HAVE_SILK,
);
GCC_VERSION = com.apple.compilers.llvmgcc42;
GCC_THUMB_SUPPORT = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = (
submodules/linphone/coreapi,
submodules/linphone/mediastreamer2/include,
@ -1705,7 +1720,7 @@
submodules/externals/speex/include,
);
INFOPLIST_FILE = "linphone-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 4.3;
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
LIBRARY_SEARCH_PATHS = (
"$(BUILT_PRODUCTS_DIR)",
"\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"",
@ -1714,7 +1729,6 @@
ORDER_FILE = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = linphone;
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
SDKROOT = iphoneos;
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic;
TARGETED_DEVICE_FAMILY = "1,2";
@ -1740,7 +1754,7 @@
IN_LINPHONE,
VIDEO_ENABLED,
);
GCC_VERSION = com.apple.compilers.llvmgcc42;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = (
submodules/linphone/coreapi,
submodules/linphone/mediastreamer2/include,
@ -1781,8 +1795,7 @@
"$(ARCHS_STANDARD_32_BIT)",
arm6,
);
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "";
GCC_DYNAMIC_NO_PIC = NO;
@ -1793,7 +1806,7 @@
IN_LINPHONE,
VIDEO_ENABLED,
);
GCC_VERSION = com.apple.compilers.llvmgcc42;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = (
submodules/linphone/coreapi,
submodules/linphone/mediastreamer2/include,
@ -1819,7 +1832,7 @@
mediastreamer,
);
PRODUCT_NAME = "linphone-no-gpl-thirdparties";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic;
TARGETED_DEVICE_FAMILY = "1,2";
@ -1835,7 +1848,7 @@
arm6,
);
CODE_SIGN_ENTITLEMENTS = untitled.plist;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_IDENTITY = "iPhone Distribution: jehan monnier";
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "";
GCC_DYNAMIC_NO_PIC = NO;
@ -1846,7 +1859,7 @@
IN_LINPHONE,
VIDEO_ENABLED,
);
GCC_VERSION = com.apple.compilers.llvmgcc42;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = (
submodules/linphone/coreapi,
submodules/linphone/mediastreamer2/include,
@ -1872,7 +1885,7 @@
mediastreamer,
);
PRODUCT_NAME = "linphone-no-gpl-thirdparties";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
PROVISIONING_PROFILE = "075921BC-C7D8-42E1-B864-F05FD9BF841C";
SDKROOT = iphoneos;
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic;
TARGETED_DEVICE_FAMILY = "1,2";
@ -1888,7 +1901,7 @@
arm6,
);
CODE_SIGN_ENTITLEMENTS = untitled.plist;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_IDENTITY = "iPhone Distribution: jehan monnier";
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "";
GCC_DYNAMIC_NO_PIC = NO;
@ -1899,7 +1912,7 @@
IN_LINPHONE,
VIDEO_ENABLED,
);
GCC_VERSION = com.apple.compilers.llvmgcc42;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = (
submodules/linphone/coreapi,
submodules/linphone/mediastreamer2/include,
@ -1925,7 +1938,7 @@
mediastreamer,
);
PRODUCT_NAME = "linphone-no-gpl-thirdparties";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
PROVISIONING_PROFILE = "7EBE410C-11B9-4346-9977-2C3BEE43ED16";
SDKROOT = iphoneos;
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic;
TARGETED_DEVICE_FAMILY = "1,2";
@ -1936,7 +1949,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_IDENTITY = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
@ -1944,7 +1957,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 3.1;
LIBRARY_SEARCH_PATHS = "";
LINK_WITH_STANDARD_LIBRARIES = YES;
PREBINDING = NO;
PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
};
name = Release;
@ -1957,8 +1970,7 @@
"$(ARCHS_STANDARD_32_BIT)",
armv6,
);
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "";
GCC_DYNAMIC_NO_PIC = NO;
@ -1971,7 +1983,8 @@
HAVE_X264,
HAVE_SILK,
);
GCC_VERSION = com.apple.compilers.llvmgcc42;
GCC_THUMB_SUPPORT = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = (
submodules/linphone/coreapi,
submodules/linphone/mediastreamer2/include,
@ -1983,7 +1996,7 @@
submodules/externals/speex/include,
);
INFOPLIST_FILE = "linphone-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 4.3;
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
LIBRARY_SEARCH_PATHS = (
"$(BUILT_PRODUCTS_DIR)",
"\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"",
@ -1992,7 +2005,7 @@
ORDER_FILE = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = linphone;
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic;
TARGETED_DEVICE_FAMILY = "1,2";
@ -2003,7 +2016,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: jehan monnier";
CODE_SIGN_IDENTITY = "iPhone Distribution: jehan monnier";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
@ -2011,8 +2024,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 3.1;
LIBRARY_SEARCH_PATHS = "";
LINK_WITH_STANDARD_LIBRARIES = YES;
PREBINDING = NO;
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "09801E17-63DB-47FD-A203-166EDD1E55A1";
PROVISIONING_PROFILE = "075921BC-C7D8-42E1-B864-F05FD9BF841C";
SDKROOT = iphoneos;
};
name = Distribution;
@ -2026,7 +2038,6 @@
armv6,
);
CODE_SIGN_ENTITLEMENTS = untitled.plist;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: jehan monnier";
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "";
GCC_DYNAMIC_NO_PIC = NO;
@ -2039,7 +2050,8 @@
HAVE_X264,
HAVE_SILK,
);
GCC_VERSION = com.apple.compilers.llvmgcc42;
GCC_THUMB_SUPPORT = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = (
submodules/linphone/coreapi,
submodules/linphone/mediastreamer2/include,
@ -2051,7 +2063,7 @@
submodules/externals/speex/include,
);
INFOPLIST_FILE = "linphone-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 4.3;
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
LIBRARY_SEARCH_PATHS = (
"$(BUILT_PRODUCTS_DIR)",
"\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"",
@ -2060,7 +2072,6 @@
ORDER_FILE = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = linphone;
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "075921BC-C7D8-42E1-B864-F05FD9BF841C";
SDKROOT = iphoneos;
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic;
TARGETED_DEVICE_FAMILY = "1,2";
@ -2071,7 +2082,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_IDENTITY = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
@ -2079,7 +2090,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 3.1;
LIBRARY_SEARCH_PATHS = "";
LINK_WITH_STANDARD_LIBRARIES = YES;
PREBINDING = NO;
PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
};
name = Debug;

View file

@ -2,7 +2,7 @@
download_bw=380
upload_bw=380
firewall_policy=0
mtu=0
mtu=1300
[sip]
sip_random_port=1

View file

@ -2,7 +2,7 @@
download_bw=512
upload_bw=512
firewall_policy=0
mtu=0
mtu=1300
[sip]
sip_random_port=1

1
submodules/bcg729 Submodule

@ -0,0 +1 @@
Subproject commit 1ad5aa5abdf23bb260595b07f0705c9ede1a37d2

View file

@ -46,10 +46,17 @@ build:
&& make -f builder-iphone-simulator.mk all enable_gpl_third_parties=$(enable_gpl_third_parties)\
&& make -f builder-iphone-os.mk host=armv7-apple-darwin all enable_gpl_third_parties=$(enable_gpl_third_parties)\
&& make -f builder-iphone-os.mk delivery-sdk
ipa: build
make -f builder-iphone-simulator.mk ipa \
&& make -f builder-iphone-os.mk ipa \
&& make -f builder-iphone-os.mk host=armv7-apple-darwin ipa
clean:
make -f builder-iphone-simulator.mk clean \
&& make -f builder-iphone-os.mk clean \
&& make -f builder-iphone-os.mk host=armv7-apple-darwin clean
clean-makefile:
make -f builder-iphone-simulator.mk clean-makefile \
&& make -f builder-iphone-os.mk clean-makefile \

View file

@ -45,7 +45,7 @@ BUILDER_BUILD_DIR?=$(shell pwd)/../build-$(host)
LINPHONE_SRC_DIR=$(BUILDER_SRC_DIR)/linphone
LINPHONE_BUILD_DIR=$(BUILDER_BUILD_DIR)/linphone
all: build-linphone build-msilbc build-msamr build-msx264 build-mssilk
all: build-linphone build-msilbc build-msamr build-msx264 build-mssilk build-msbcg729
$(LINPHONE_BUILD_DIR)/enable_gpl_third_parties:
mkdir -p $(LINPHONE_BUILD_DIR)
@ -93,13 +93,13 @@ endif
prefix?=$(BUILDER_SRC_DIR)/../liblinphone-sdk/$(host)
clean-makefile: clean-makefile-linphone
clean: clean-linphone
clean-makefile: clean-makefile-linphone clean-makefile-msbcg729
clean: clean-linphone clean-msbcg729
init:
mkdir -p $(prefix)/include
mkdir -p $(prefix)/lib/pkgconfig
veryclean: veryclean-linphone
veryclean: veryclean-linphone veryclean-msbcg729
rm -rf $(BUILDER_BUILD_DIR)
@ -328,4 +328,8 @@ delivery:
-x linphone-iphone/build\* \
-x \*.git\*
ipa:
cd $(BUILDER_SRC_DIR)/../ \
&& xcodebuild -configuration DistributionAdhoc \
&& xcrun -sdk iphoneos PackageApplication -v build/DistributionAdhoc-iphoneos/linphone.app -o $(BUILDER_SRC_DIR)/../linphone-iphone.ipa

View file

@ -13,11 +13,16 @@ else
endif
libvpx_dir?=externals/libvpx
$(BUILDER_BUILD_DIR)/$(libvpx_dir)/config.mk:
$(BUILDER_SRC_DIR)/$(libvpx_dir)/patched.stamp:
cd $(BUILDER_SRC_DIR)/$(libvpx_dir) \
&& git apply $(BUILDER_SRC_DIR)/build/builders.d/libvpx.patch \
&& touch $@
$(BUILDER_BUILD_DIR)/$(libvpx_dir)/config.mk: $(BUILDER_SRC_DIR)/$(libvpx_dir)/patched.stamp
mkdir -p $(BUILDER_BUILD_DIR)/$(libvpx_dir)
cd $(BUILDER_BUILD_DIR)/$(libvpx_dir)/ \
&& host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \
&& $(BUILDER_SRC_DIR)/$(libvpx_dir)/configure --prefix=$(prefix) $(libvpx_configure_options)
&& SYSROOT_PATH=$$SYSROOT_PATH SDK_BIN_PATH=$$SDK_BIN_PATH $(BUILDER_SRC_DIR)/$(libvpx_dir)/configure --prefix=$(prefix) $(libvpx_configure_options)
build-libvpx: $(BUILDER_BUILD_DIR)/$(libvpx_dir)/config.mk
cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) && PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install

View file

@ -0,0 +1,42 @@
diff --git a/build/make/configure.sh b/build/make/configure.sh
index 0426f92..24fa04e 100755
--- a/build/make/configure.sh
+++ b/build/make/configure.sh
@@ -624,6 +624,9 @@ process_common_toolchain() {
if [ -d "/Developer/SDKs/MacOSX10.7.sdk" ]; then
osx_sdk_dir="/Developer/SDKs/MacOSX10.7.sdk"
fi
+ if test -n "$SYSROOT_PATH" ; then
+ osx_sdk_dir=$SYSROOT_PATH
+ fi
case ${toolchain} in
*-darwin8-*)
@@ -743,6 +746,14 @@ process_common_toolchain() {
darwin*)
SDK_PATH=/Developer/Platforms/iPhoneOS.platform/Developer
TOOLCHAIN_PATH=${SDK_PATH}/usr/bin
+ if test -n "$SYSROOT_PATH" ; then
+ SDK_FULL_PATH=$SYSROOT_PATH
+ else
+ SDK_FULL_PATH="${SDK_PATH}/SDKs/iPhoneOS5.0.sdk"
+ fi
+ if test -n "$SDK_BIN_PATH" ; then
+ TOOLCHAIN_PATH=$SDK_BIN_PATH
+ fi
CC=${TOOLCHAIN_PATH}/gcc
AR=${TOOLCHAIN_PATH}/ar
LD=${TOOLCHAIN_PATH}/arm-apple-darwin10-llvm-gcc-4.2
@@ -759,10 +770,10 @@ process_common_toolchain() {
add_cflags -arch ${tgt_isa}
add_ldflags -arch_only ${tgt_isa}
- add_cflags "-isysroot ${SDK_PATH}/SDKs/iPhoneOS5.0.sdk"
+ add_cflags "-isysroot $SDK_FULL_PATH"
# This should be overridable
- alt_libc=${SDK_PATH}/SDKs/iPhoneOS5.0.sdk
+ alt_libc=$SDK_FULL_PATH
# Add the paths for the alternate libc
for d in usr/include; do

View file

@ -0,0 +1,61 @@
############################################################################
# msbcg729.mk
# Copyright (C) 2011 Belledonne Communications,Grenoble France
#
############################################################################
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
############################################################################
msbcg729_dir?=bcg729
enable_bcg729?=yes
$(BUILDER_SRC_DIR)/$(msbcg729_dir)/configure:
@echo -e "\033[01;32m Running autogen for msbcg729 in $(BUILDER_SRC_DIR)/$(msbcg729_dir) \033[0m"
cd $(BUILDER_SRC_DIR)/$(msbcg729_dir) && ./autogen.sh
$(BUILDER_BUILD_DIR)/$(msbcg729_dir)/Makefile: $(BUILDER_SRC_DIR)/$(msbcg729_dir)/configure
@echo -e "\033[01;32m Running configure in $(BUILDER_BUILD_DIR)/$(msbcg729_dir) \033[0m"
mkdir -p $(BUILDER_BUILD_DIR)/$(msbcg729_dir)
cd $(BUILDER_BUILD_DIR)/$(msbcg729_dir)/ \
&& PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
$(BUILDER_SRC_DIR)/$(msbcg729_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} \
--enable-static
ifeq ($(enable_bcg729),yes)
build-msbcg729: $(BUILDER_BUILD_DIR)/$(msbcg729_dir)/Makefile
@echo -e "\033[01;32m building bcg729 \033[0m"
cd $(BUILDER_BUILD_DIR)/$(msbcg729_dir) \
&& PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig \
CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
make -j1 && make install
else
build-msbcg729:
@echo "G729 is disabled"
endif
clean-msbcg729:
-cd $(BUILDER_BUILD_DIR)/$(msbcg729_dir) && make clean
veryclean-msbcg729:
-cd $(BUILDER_BUILD_DIR)/$(msbcg729_dir) && make distclean
rm -f $(BUILDER_SRC_DIR)/$(msbcg729_dir)/configure
clean-makefile-msbcg729:
-cd $(BUILDER_BUILD_DIR)/$(msbcg729_dir) && rm -f Makefile

View file

@ -24,8 +24,15 @@ else
fi
echo "Loading config.site for iPhone platform=${PLATFORM} version=${SDK_VERSION}"
SDK_PATH_LIST=`ls -drt /Developer/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs/iPhone${PLATFORM}*`
SDK_BIN_PATH=/Developer/Platforms/iPhone${PLATFORM}.platform/Developer/usr/bin
#new path with Xcode 4.3:
if test -d /Applications/Xcode.app/Contents/Developer/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs ; then
SDK_PATH_LIST=`ls -drt /Applications/Xcode.app/Contents/Developer/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs/iPhone${PLATFORM}*`
SDK_BIN_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhone${PLATFORM}.platform/Developer/usr/bin
else
SDK_PATH_LIST=`ls -drt /Developer/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs/iPhone${PLATFORM}*`
SDK_BIN_PATH=/Developer/Platforms/iPhone${PLATFORM}.platform/Developer/usr/bin
fi
for SYSROOT_PATH in $SDK_PATH_LIST ; do echo $SYSROOT_PATH ; done ;
echo "Selecting SDK path = ${SYSROOT_PATH}"
COMMON_FLAGS=" -arch ${ARCH} ${MCPU} -isysroot ${SYSROOT_PATH} -miphoneos-version-min=${SDK_VERSION} -DTARGET_OS_IPHONE=1 -D__IOS"

@ -1 +1 @@
Subproject commit c3da0303519ad3120355cb85baee9cf6d0e4d1c2
Subproject commit b3e55a3c93b39af43666acec45191b41f2016fa0

@ -1 +1 @@
Subproject commit 9563b0d159377905b34db0948b5084214d6d3210
Subproject commit 4006baf2895166f78b8fe4c2721fa77656607988