@@ -13,8 +13,8 @@ export PATH_REPO="/Users/runner/work/libpjsua2-ios/libpjsua2-ios"
13
13
# export BASE_DIR=`pwd -P`
14
14
export BASE_DIR=" $PATH_REPO "
15
15
16
- export MIN_IOS_VERSION=" 10 .0"
17
- export IOS_SDK_VERSION=" 16 .2"
16
+ export MIN_IOS_VERSION=" 11 .0"
17
+ export IOS_SDK_VERSION=" 17 .2"
18
18
export AVAILABLE_ARCHS
19
19
export USE_ARCHS=()
20
20
@@ -28,7 +28,7 @@ export ENABLE_ZRTP=false
28
28
export HAS_BITCODE=true
29
29
export HAS_IPV6=false
30
30
export SHOW_HELP=false
31
- export PJSIP_VERSION=" 2.13.1 "
31
+ export PJSIP_VERSION=" 2.14 "
32
32
export PJSIP_BASE_URL=" https://github.com/pjsip/pjproject.git"
33
33
export PJSIP_DIR=" $BASE_DIR /pjsip"
34
34
export PJSIP_FINAL_LIB_DIR=" $BASE_DIR /lib"
@@ -245,7 +245,8 @@ function build_ssl () {
245
245
mv include2/openssl include/openssl
246
246
popd > /dev/null
247
247
echo " Using SSL..."
248
-
248
+ rm -rf lib
249
+
249
250
if [ $ENABLE_ZRTP = true ]; then
250
251
build_zrtp
251
252
fi
@@ -393,6 +394,10 @@ function config_site () {
393
394
if [ $HAS_IPV6 = true ]; then
394
395
echo " #define PJ_HAS_IPV6 1" >> $PJSIP_CONFIG_SITE_H
395
396
fi
397
+
398
+ if [ $OPUS_SUPPORT = true ]; then
399
+ echo " #define PJMEDIA_HAS_OPUS_CODEC 1" >> " $PJSIP_CONFIG_SITE_H "
400
+ fi
396
401
397
402
while IFS=' ,' read -ra CONFIG_SITE_OPTION; do
398
403
for i in " ${CONFIG_SITE_OPTION[@]} " ; do
@@ -412,6 +417,7 @@ function build_archs () {
412
417
configure_" $arch "
413
418
_build $arch
414
419
_collect $arch
420
+ _merge_archs $arch
415
421
done
416
422
417
423
echo " Done building the ABIs"
@@ -470,14 +476,25 @@ function _build () {
470
476
export CFLAGS=" ${CFLAGS} -fembed-bitcode"
471
477
fi
472
478
473
- if [ $SSL_SUPPORT = true ]; then
474
- configure=" $configure --with-ssl=${SSL_BUILD_DIR} "
475
- export CFLAGS=" ${CFLAGS} -I${SSL_BUILD_DIR} /include"
476
- export LDFLAGS=" ${LDFLAGS} -L${SSL_BUILD_DIR} /lib"
479
+
480
+ if [ $SSL_SUPPORT = true ]; then
481
+ if [ " $arch " != " i386" ] && [ " $arch " != " x86_64" ]; then
482
+ configure=" $configure --with-ssl=${SSL_BUILD_DIR} /bin/iPhoneOS${IOS_SDK_VERSION} -${arch} .sdk"
483
+ export CFLAGS=" ${CFLAGS} -I${SSL_BUILD_DIR} /bin/iPhoneOS${IOS_SDK_VERSION} -${arch} .sdk/include"
484
+ export LDFLAGS=" ${LDFLAGS} -L${SSL_BUILD_DIR} /bin/iPhoneOS${IOS_SDK_VERSION} -${arch} .sdk/lib"
485
+ else
486
+ configure=" $configure --with-ssl=${SSL_BUILD_DIR} /bin/iPhoneSimulator${IOS_SDK_VERSION} -${arch} .sdk"
487
+ export CFLAGS=" ${CFLAGS} -I${SSL_BUILD_DIR} /bin/iPhoneSimulator${IOS_SDK_VERSION} -${arch} .sdk/include"
488
+ export LDFLAGS=" ${LDFLAGS} -L${SSL_BUILD_DIR} /bin/iPhoneSimulator${IOS_SDK_VERSION} -${arch} .sdk/lib"
489
+ fi
477
490
fi
478
491
479
492
if [ $OPUS_SUPPORT = true ]; then
480
- configure=" $configure --with-opus=${OPUS_BUILD_DIR} /dependencies"
493
+ if [ " $arch " != " i386" ] && [ " $arch " != " x86_64" ]; then
494
+ configure=" $configure --with-opus=${OPUS_BUILD_DIR} /build/built/iPhoneOS${IOS_SDK_VERSION} -${arch} .sdk/"
495
+ else
496
+ configure=" $configure --with-opus=${OPUS_BUILD_DIR} /build/built/iPhoneSimulator${IOS_SDK_VERSION} -${arch} .sdk/"
497
+ fi
481
498
fi
482
499
483
500
if [ $H264_SUPPORT = true ]; then
@@ -487,7 +504,6 @@ function _build () {
487
504
fi
488
505
489
506
export LDFLAGS=" ${LDFLAGS} -lstdc++"
490
- # export MIN_IOS="-miphoneos-version-min=${MIN_IOS_VERSION}"
491
507
492
508
if [ " $arch " == " i386" ] || [ " $arch " == " x86_64" ]; then
493
509
export MIN_IOS=" -mios-simulator-version-min=${MIN_IOS_VERSION} "
@@ -499,11 +515,11 @@ function _build () {
499
515
500
516
cp $PJSIP_CONFIG_SITE_H " $PJSIP_SRC_DIR /pjlib/include/pj"
501
517
502
- ARCH=" -arch $arch " $configure >> $arch_log 2>&1 || exit
518
+ ARCH=" -arch $arch " $configure # >> $arch_log 2>&1 || exit
503
519
echo " make dep"
504
- make dep
520
+ make dep >> $arch_log 2>&1
505
521
echo " make "
506
- make
522
+ make >> $arch_log 2>&1
507
523
508
524
if [ $SSL_SUPPORT = true ]; then
509
525
if [ $ENABLE_ZRTP = true ]; then
@@ -522,7 +538,7 @@ function _build () {
522
538
cd " $PJSIP_SRC_DIR /pjsip-apps/src/swig"
523
539
make clean
524
540
make
525
-
541
+
526
542
echo " Done building for $arch "
527
543
echo " ============================="
528
544
@@ -535,75 +551,34 @@ function _collect () {
535
551
cd $BASE_DIR
536
552
mkdir -p " lib/$1 "
537
553
538
- if [ -d " $PJSIP_SRC_DIR /pjsip-apps/src/swig/csharp/pjsua2xamarin/pjsua2xamarin .iOS/lib/" ]; then
539
- cp -v " $PJSIP_SRC_DIR /pjsip-apps/src/swig/csharp/pjsua2xamarin/pjsua2xamarin .iOS/lib/$1 /libpjsua2.a" . /lib/$1
554
+ if [ -d " $PJSIP_SRC_DIR /pjsip-apps/src/swig/csharp/pjsua2maui/pjsua2maui .iOS/lib/" ]; then
555
+ cp -v " $PJSIP_SRC_DIR /pjsip-apps/src/swig/csharp/pjsua2maui/pjsua2maui .iOS/lib/$1 /libpjsua2.a" $BASE_DIR /lib/$1
540
556
fi
541
557
542
- if [ -d ./pjsip/ external/openh264/build /$1 /lib ]; then
543
- cp -v ./pjsip/ external/openh264/build /$1 /lib/* .a . /lib/$1
558
+ if [ -d ./external/openh264/builds /$1 /lib ]; then
559
+ cp -v ./external/openh264/builds /$1 /lib/* .a $BASE_DIR /lib/$1
544
560
fi
545
561
546
- if [ -d ./pjsip/ external/opus/build/built/* $1 .sdk/lib ]; then
547
- cp -v ./pjsip/ external/opus/build/built/* $1 .sdk/lib/* .a . /lib/$1
562
+ if [ -d ./external/opus/build/built/* $1 .sdk/lib ]; then
563
+ cp -v ./external/opus/build/built/* $1 .sdk/lib/* .a $BASE_DIR /lib/$1
548
564
fi
549
565
550
- if [ -d ./pjsip/ external/openssl_ios/bin/* $1 .sdk/lib ]; then
551
- cp -v ./pjsip/ external/openssl_ios/bin/* $1 .sdk/lib/* .a . /lib/$1
566
+ if [ -d ./external/openssl_ios/bin/* $1 .sdk/lib ]; then
567
+ cp -v ./external/openssl_ios/bin/* $1 .sdk/lib/* .a $BASE_DIR /lib/$1
552
568
fi
553
569
554
570
# if [ $INDEPENDENT_WEBRTC = true ]; then
555
- # rm ./pjsip/temp/$1 /libsrtp*.a
571
+ # rm ./pjproject/third_party/lib /libsrtp*.a
556
572
# fi
557
573
}
558
574
559
- function _copy_built_files () {
560
- echo " copy"
575
+ function _merge_archs () {
576
+ echo " ============================="
577
+ echo " ======== MERGE LIBS ========="
561
578
cd $BASE_DIR
562
- lipo_args=" "
563
- mkdir -p " $PJSIP_FINAL_LIB_DIR "
564
- a_files=` find ./pjproject -name * .a -exec printf ' %s ' {} +`
565
-
566
- for arch in " ${USE_ARCHS[@]} " ; do
567
-
568
- mkdir -p " $PJSIP_FINAL_LIB_DIR /$arch "
569
-
570
- if [ -d ./pjsip/external/openh264/build/$arch /lib ]; then
571
- cp -v ./pjsip/external/openh264/build/$arch /lib/* .a ${PJSIP_FINAL_LIB_DIR} /$arch
572
- fi
573
-
574
- if [ -d ./pjsip/external/opus/build/built/* $arch .sdk/lib ]; then
575
- cp -v ./pjsip/external/opus/build/built/* $arch .sdk/lib/* .a ${PJSIP_FINAL_LIB_DIR} /$arch
576
- fi
577
-
578
- if [ -d ./pjsip/external/openssl_ios/bin/* $arch .sdk/lib ]; then
579
- cp -v ./pjsip/external/openssl_ios/bin/* $arch .sdk/lib/* .a ${PJSIP_FINAL_LIB_DIR} /$arch
580
- fi
581
-
582
- done
583
-
584
- if [ ! -d " ${PJSIP_FINAL_LIB_DIR} /fat" ]; then
585
- mkdir -p " ${PJSIP_FINAL_LIB_DIR} /fat"
586
- fi
587
-
588
- if [ ! -d " ${PJSIP_FINAL_LIB_DIR} /pjsua2xamarin" ]; then
589
- mkdir -p " ${PJSIP_FINAL_LIB_DIR} /pjsua2xamarin"
590
- fi
591
-
592
- if [ -d " $PJSIP_SRC_DIR /pjsip-apps/src/swig/csharp/pjsua2xamarin" ]; then
593
- cp -v -r " $PJSIP_SRC_DIR /pjsip-apps/src/swig/csharp/pjsua2xamarin" " ${PJSIP_FINAL_LIB_DIR} /pjsua2xamarin"
594
- fi
595
- echo " --- libtool fat pjsua2"
596
-
597
-
598
-
599
- libtool -o " $PJSIP_FINAL_LIB_DIR /fat/libpjsua2.a" $a_files
600
-
601
-
602
-
603
- # echo "--- Lipo pjsua2"
604
- # xcrun -sdk iphoneos lipo ${lipo_args} -create -output "${PJSIP_FINAL_LIB_DIR}/fat/libpjsua2.a" || exit
605
-
606
- # cp -v "$PJSIP_FINAL_LIB_DIR/libpjsua2.a" ./Pod
579
+ mkdir -p " libpjsua2/lib/$1 "
580
+ libtool -static -o ./libpjsua2/lib/$1 /libpjsua2.a $BASE_DIR /lib/$1 /*
581
+ echo " ============================="
607
582
}
608
583
609
584
function clean_pjsip_libs () {
@@ -734,7 +709,12 @@ function create_framework {
734
709
echo " ============================="
735
710
}
736
711
737
-
712
+ function copy_swig_bindings () {
713
+ cd $BASE_DIR
714
+ if [ -d " $PJSIP_SRC_DIR /pjsip-apps/src/swig/csharp/pjsua2maui/pjsua2maui" ]; then
715
+ cp -v -r " $PJSIP_SRC_DIR /pjsip-apps/src/swig/csharp/pjsua2maui/pjsua2maui" " libpjsua2/lib/"
716
+ fi
717
+ }
738
718
start=` date +%s`
739
719
740
720
export -f copy_to_lib_dir
752
732
build_ssl
753
733
build_opus
754
734
config_site
755
- build_archs
735
+ build_archs
736
+ copy_swig_bindings
756
737
# create_framework
757
738
fi
758
739
0 commit comments