Commit cc85a2da authored by Erwan Croze's avatar Erwan Croze

Merge remote-tracking branch 'origin/master' into dev_screensharing

parents 5d036e35 95a2bf81
......@@ -49,8 +49,32 @@
[submodule "submodules/externals/bv16-floatingpoint"]
path = submodules/externals/bv16-floatingpoint
url = git://git.linphone.org/bv16-floatingpoint.git
[submodule "submodules/externals/freerdp"]
path = submodules/externals/freerdp
url = git://github.com/FreeRDP/FreeRDP.git
[submodule "submodules/externals/speex"]
path = submodules/externals/speex
url = git://git.linphone.org/speex.git
[submodule "submodules/externals/ffmpeg"]
path = submodules/externals/ffmpeg
url = git://git.linphone.org/ffmpeg.git
ignore = dirty
[submodule "submodules/externals/libvpx"]
path = submodules/externals/libvpx
url = git://git.linphone.org/libvpx.git
[submodule "submodules/externals/opus"]
path = submodules/externals/opus
url = git://git.linphone.org/opus.git
ignore = dirty
[submodule "submodules/externals/gsm"]
path = submodules/externals/gsm
url = git://git.linphone.org/gsm.git
[submodule "submodules/externals/srtp"]
path = submodules/externals/srtp
url = git://git.linphone.org/srtp.git
[submodule "submodules/externals/antlr3"]
path = submodules/externals/antlr3
url = git://git.linphone.org/antlr3.git
[submodule "submodules/cunit"]
path = submodules/cunit
url = git://git.linphone.org/cunit.git
......@@ -35,13 +35,14 @@ try:
import prepare
except Exception as e:
error(
"Could not find prepare module: {}, probably missing submodules/cmake-builder? Try running:\ngit submodule update --init --recursive".format(e))
"Could not find prepare module: {}, probably missing submodules/cmake-builder? Try running:\n"
"git submodule sync && git submodule update --init --recursive".format(e))
exit(1)
class DesktopTarget(prepare.Target):
def __init__(self):
def __init__(self, use_group="NO"):
prepare.Target.__init__(self, '')
current_path = os.path.dirname(os.path.realpath(__file__))
if platform.system() == 'Windows':
......@@ -52,7 +53,7 @@ class DesktopTarget(prepare.Target):
self.additional_args = [
'-DCMAKE_INSTALL_MESSAGE=LAZY',
'-DLINPHONE_BUILDER_EXTERNAL_SOURCE_PATH=' + current_path + '/submodules',
'-DLINPHONE_BUILDER_GROUP_EXTERNAL_SOURCE_PATH_BUILDERS=YES'
'-DLINPHONE_BUILDER_GROUP_EXTERNAL_SOURCE_PATH_BUILDERS=' + use_group
]
......@@ -99,7 +100,7 @@ def check_is_installed(binary, prog='it', warn=True):
def check_tools():
ret = 0
#at least FFmpeg requires no whitespace in sources path...
# at least FFmpeg requires no whitespace in sources path...
if " " in os.path.dirname(os.path.realpath(__file__)):
error("Invalid location: path should not contain any spaces.")
ret = 1
......@@ -117,11 +118,9 @@ def generate_makefile(generator):
makefile = """
.PHONY: all
build:
all:
\t{generator} WORK/cmake
all: build
pull-transifex:
\t$(MAKE) -C linphone pull-transifex
......@@ -158,17 +157,19 @@ def main(argv=None):
argparser.add_argument(
'-c', '--clean', help="Clean a previous build instead of preparing a build.", action='store_true')
argparser.add_argument(
'-C', '--veryclean', help="Clean a previous build instead of preparing a build (also deleting the install prefix).", action='store_true')
'-C', '--veryclean', help="Clean a previous build instead of preparing a build (also deleting the install prefix).",
action='store_true')
argparser.add_argument(
'-d', '--debug', help="Prepare a debug build, eg. add debug symbols and use no optimizations.", action='store_true')
argparser.add_argument(
'-f', '--force', help="Force preparation, even if working directory already exist.", action='store_true')
argparser.add_argument(
'-G', '--generator', help="CMake build system generator (default: let CMake choose, use cmake -h to get the complete list).", default=None, dest='generator')
'-G', '--generator', help="CMake build system generator (default: let CMake choose, use cmake -h to get the complete list).",
default="Unix Makefiles", dest='generator')
argparser.add_argument(
'-L', '--list-cmake-variables', help="List non-advanced CMake cache variables.", action='store_true', dest='list_cmake_variables')
argparser.add_argument(
'-os', '--only-submodules', help="Build only submodules (finding all dependencies on the system.", action='store_true')
'-sys', '--use-system-dependencies', help="Find dependencies on the system.", action='store_true')
argparser.add_argument(
'-p', '--package', help="Build an installation package (only on Mac OSX and Windows).", action='store_true')
argparser.add_argument(
......@@ -180,8 +181,8 @@ def main(argv=None):
args, additional_args = argparser.parse_known_args()
if args.only_submodules:
additional_args += ["-DLINPHONE_BUILDER_BUILD_ONLY_EXTERNAL_SOURCE_PATH=YES"]
if args.use_system_dependencies:
additional_args += ["-DLINPHONE_BUILDER_USE_SYSTEM_DEPENDENCIES=YES"]
if args.all_codecs:
additional_args += ["-DENABLE_GPL_THIRD_PARTIES=YES"]
......@@ -205,9 +206,8 @@ def main(argv=None):
if args.package:
additional_args += ["-DENABLE_PACKAGING=YES"]
additional_args += ["-DCMAKE_SKIP_RPATH=YES"]
if platform.system() != 'Windows':
additional_args += ["-DENABLE_RELATIVE_PREFIX=YES"] # Already forced in all cases on Windows platform
additional_args += ["-DCMAKE_SKIP_INSTALL_RPATH=YES"]
additional_args += ["-DENABLE_RELATIVE_PREFIX=YES"]
if check_tools() != 0:
return 1
......@@ -231,12 +231,13 @@ def main(argv=None):
elif args.python_raspberry:
target = PythonRaspberryTarget()
else:
target = DesktopTarget()
if args.generator is not None:
target.generator = args.generator
if target.generator is None:
# Default to "Unix Makefiles" if no target specific generator is set and the user has not defined one
target.generator = "Unix Makefiles"
# for simple Makefile / ninja builds, we do not want to use grouped feature
# to ease development by having each project separated from each other
ungrouped_generators = [ "Unix Makefiles", "Ninja" ]
use_group = "YES" if args.package or not any(generator in args.generator for generator in ungrouped_generators) else "NO"
target = DesktopTarget(use_group=use_group)
target.generator = args.generator
if args.clean or args.veryclean:
if args.veryclean:
......
bcg729 @ 70708e00
Subproject commit 06a55d73bafc1a95e9f1a27b26cdacdf944e98e0
Subproject commit 70708e007140f65882bbb7fdc0451ce6f0b40705
bctoolbox @ e2c32d93
Subproject commit a13b0357525ead135be88daa6e04f00ac3bca986
Subproject commit e2c32d9335c33518540a56e87442658896824808
belcard @ da7030bb
Subproject commit 6917ce7cddf4b275b334737138aedefe17c54300
Subproject commit da7030bb322f4cd74638e6710007b1470c1b602e
belle-sip @ 5e94ce17
Subproject commit d10b3f9211825f9df3f7d6f2468f782afa0465d5
Subproject commit 5e94ce17c65e66e2c8c9047e0249eb55b1092bcb
bzrtp @ bdb6a10d
Subproject commit d5d9ee8c4ae783ff4500017f535e838ed4585ba5
Subproject commit bdb6a10d213bd8cbd38950a84183c64b5843f2fd
cmake-builder @ 2492823c
Subproject commit bb078bf11815f9253bab3ca14f3328004e0dd54a
Subproject commit 2492823c427c208dd73a42815404c117f654c32f
cunit @ 0a0a9c60
Subproject commit 0a0a9c60f5a1b899ae26b705fa5224ef25377982
antlr3 @ 52075ffb
Subproject commit 52075ffb35975c6901e924b4a763b6fb23abd623
ffmpeg @ 51aa587f
Subproject commit 51aa587f7ddac63c831d73eb360e246765a2675f
gsm @ 0f8822b5
Subproject commit 0f8822b5326c76bb9dc4c6b552631f51792c3982
libvpx @ cbecf57f
Subproject commit cbecf57f3e0d85a7b7f97f3ab7c507f6fe640a93
opus @ 1f22ae37
Subproject commit 1f22ae379bbcdfa376775db2b9407529fb1fa781
speex @ fc1dd43c
Subproject commit fc1dd43c3c9d244bca1c300e408ce0373dbd5ed8
srtp @ befc2377
Subproject commit befc23777e07efba36ffd7bda73f22c92d4e2475
linphone @ cfb41575
Subproject commit 4b138590dd30379d2bb2771c2d9ac278b14a1519
Subproject commit cfb415751479fc1066f14761f8c2ab419fd5856e
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment