forked from mirrors/linphone-iphone
[Outgrade submodule] cmake: Temporary revert new build procedure until full migration
Revert "prepare.py: update README" This reverts commite47b87d6e1. Revert "Update linphone-cmake-builder submodule." This reverts commitf340644f63. Revert "Use the projects grouping feature of linphone-cmake-builder." This reverts commit94e103798d.
This commit is contained in:
parent
e47b87d6e1
commit
5faeeeef44
11 changed files with 94 additions and 31 deletions
|
|
@ -47,7 +47,7 @@ You can also choose to enable/disable features one by one (custom audio/video co
|
|||
|
||||
You can for instance enable X264 by using:
|
||||
|
||||
./prepare.py -DENABLE_NON_FREE_CODECS=ON -DENABLE_X264=ON [other options]
|
||||
./prepare.py -DENABLE_X264=ON [other options]
|
||||
|
||||
## Built architectures
|
||||
|
||||
|
|
@ -74,7 +74,7 @@ After the SDK is built, just open the Linphone Xcode project with Xcode, and pre
|
|||
|
||||
The liblinphone SDK is compiled with third parties code that are subject to patent license, specially: AMR, SILK G729 and H264 codecs.
|
||||
Linphone controls the embedding of these codecs by generating dummy libraries when there are not available. You can enable them using `prepare.py`
|
||||
script (see `--enable-non-free-codecs` option). Before embedding patent codecs in the final application, **make sure to have the right to do so**.
|
||||
script (see `--enable-non-free-codecs` option). Before embedding these 4 codecs in the final application, **make sure to have the right to do so**.
|
||||
|
||||
# Testing the application
|
||||
|
||||
|
|
@ -85,7 +85,7 @@ Simply press `⌘U` and the default simulator / device will launch and try to pa
|
|||
|
||||
# Limitations and known bugs
|
||||
|
||||
* Video capture will not work in simulator (simulator limitation).
|
||||
* Video capture will not work in simulator (not implemented in it).
|
||||
|
||||
# Debugging the SDK
|
||||
|
||||
|
|
|
|||
101
prepare.py
101
prepare.py
|
|
@ -50,7 +50,6 @@ class IOSTarget(prepare.Target):
|
|||
self.toolchain_file = 'toolchains/toolchain-ios-' + arch + '.cmake'
|
||||
self.output = 'liblinphone-sdk/' + arch + '-apple-darwin.ios'
|
||||
self.additional_args = [
|
||||
'-DLINPHONE_BUILDER_GROUP_EXTERNAL_SOURCE_PATH_BUILDERS=YES',
|
||||
'-DLINPHONE_BUILDER_EXTERNAL_SOURCE_PATH=' +
|
||||
current_path + '/submodules'
|
||||
]
|
||||
|
|
@ -279,16 +278,56 @@ def generate_makefile(platforms, generator):
|
|||
arch_targets += """
|
||||
{arch}: {arch}-build
|
||||
|
||||
{arch}-build:
|
||||
\t{generator} WORK/ios-{arch}/cmake
|
||||
{arch}-build: $(addprefix {arch}-build-, $(packages))
|
||||
\t@echo "Done"
|
||||
|
||||
WORK/ios-{arch}/build.done:
|
||||
\t$(MAKE) {arch}-build && touch WORK/ios-{arch}/build.done
|
||||
|
||||
{arch}-dev: WORK/ios-{arch}/build.done
|
||||
\t{generator} WORK/ios-{arch}/Build/linphone_builder
|
||||
{arch}-clean: $(addprefix {arch}-clean-, $(packages))
|
||||
\t@echo "Done"
|
||||
|
||||
{arch}-veryclean: $(addprefix {arch}-veryclean-, $(packages))
|
||||
\t@echo "Done"
|
||||
|
||||
{arch}-build-%: package-in-list-%
|
||||
\trm -f WORK/ios-{arch}/Stamp/EP_$*/EP_$*-update; \\
|
||||
\t{generator} WORK/ios-{arch}/cmake EP_$*
|
||||
|
||||
{arch}-clean-%: package-in-list-%
|
||||
\t{generator} WORK/ios-{arch}/Build/$* clean; \\
|
||||
\trm -f WORK/ios-{arch}/Stamp/EP_$*/EP_$*-build; \\
|
||||
\trm -f WORK/ios-{arch}/Stamp/EP_$*/EP_$*-install;
|
||||
|
||||
{arch}-veryclean-%: package-in-list-%
|
||||
\ttest -f WORK/ios-{arch}/Build/$*/install_manifest.txt && \\
|
||||
\tcat WORK/ios-{arch}/Build/$*/install_manifest.txt | xargs rm; \\
|
||||
\trm -rf WORK/ios-{arch}/Build/$*/*; \\
|
||||
\trm -f WORK/ios-{arch}/Stamp/EP_$*/*; \\
|
||||
\techo "Run 'make {arch}-build-$*' to rebuild $* correctly.";
|
||||
|
||||
{arch}-veryclean-ffmpeg:
|
||||
\t{generator} WORK/ios-{arch}/Build/ffmpeg uninstall; \\
|
||||
\trm -rf WORK/ios-{arch}/Build/ffmpeg/*; \\
|
||||
\trm -f WORK/ios-{arch}/Stamp/EP_ffmpeg/*; \\
|
||||
\techo "Run 'make {arch}-build-ffmpeg' to rebuild ffmpeg correctly.";
|
||||
|
||||
{arch}-clean-openh264:
|
||||
\tcd WORK/ios-{arch}/Build/openh264; \\
|
||||
\t$(MAKE) -f ../../../../submodules/externals/openh264/Makefile clean; \\
|
||||
\trm -f WORK/ios-{arch}/Stamp/EP_openh264/EP_openh264-build; \\
|
||||
\trm -f WORK/ios-{arch}/Stamp/EP_openh264/EP_openh264-install;
|
||||
|
||||
{arch}-veryclean-openh264:
|
||||
\trm -rf liblinphone-sdk/{arch}-apple-darwin.ios/include/wels; \\
|
||||
\trm -f liblinphone-sdk/{arch}-apple-darwin.ios/lib/libopenh264.*; \\
|
||||
\trm -rf WORK/ios-{arch}/Build/openh264/*; \\
|
||||
\trm -f WORK/ios-{arch}/Stamp/EP_openh264/*; \\
|
||||
\techo "Run 'make {arch}-build-openh264' to rebuild openh264 correctly.";
|
||||
|
||||
{arch}-veryclean-vpx:
|
||||
\trm -rf liblinphone-sdk/{arch}-apple-darwin.ios/include/vpx; \\
|
||||
\trm -f liblinphone-sdk/{arch}-apple-darwin.ios/lib/libvpx.*; \\
|
||||
\trm -rf WORK/ios-{arch}/Build/vpx/*; \\
|
||||
\trm -f WORK/ios-{arch}/Stamp/EP_vpx/*; \\
|
||||
\techo "Run 'make {arch}-build-vpx' to rebuild vpx correctly.";
|
||||
""".format(arch=arch, generator=generator)
|
||||
multiarch = ""
|
||||
for arch in platforms[1:]:
|
||||
|
|
@ -302,14 +341,33 @@ WORK/ios-{arch}/build.done:
|
|||
""".format(first_arch=platforms[0], arch=arch)
|
||||
makefile = """
|
||||
archs={archs}
|
||||
packages={packages}
|
||||
LINPHONE_IPHONE_VERSION=$(shell git describe --always)
|
||||
|
||||
.PHONY: all
|
||||
.SILENT: sdk
|
||||
#turn off parallelism because it is not yet handled properly
|
||||
.NOTPARALLEL:
|
||||
all: build
|
||||
|
||||
dev: $(addsuffix -dev, $(archs))
|
||||
\t$(MAKE) sdk
|
||||
package-in-list-%:
|
||||
\tif ! grep -q " $* " <<< " $(packages) "; then \\
|
||||
\t\techo "$* not in list of available packages: $(packages)"; \\
|
||||
\t\texit 3; \\
|
||||
\tfi
|
||||
|
||||
build-%: package-in-list-% $(addsuffix -build-%, $(archs))
|
||||
\t@echo "Build of $* terminated"
|
||||
|
||||
clean-%: package-in-list-% $(addsuffix -clean, $(archs))
|
||||
\t@echo "Clean of $* terminated"
|
||||
|
||||
veryclean-%: package-in-list-% $(addsuffix -veryclean, $(archs))
|
||||
\t@echo "Veryclean of $* terminated"
|
||||
|
||||
clean: $(addprefix clean-,$(packages))
|
||||
|
||||
veryclean: $(addprefix veryclean-,$(packages))
|
||||
|
||||
sdk:
|
||||
\tfor arch in $(archs); do {generator} WORK/ios-$$arch/cmake EP_dummy_libraries; done && \\
|
||||
|
|
@ -362,30 +420,35 @@ zipres:
|
|||
|
||||
help-prepare-options:
|
||||
\t@echo "prepare.py was previously executed with the following options:"
|
||||
\t@echo "\t{options}"
|
||||
\t@echo " {options}"
|
||||
|
||||
help: help-prepare-options
|
||||
\t@echo ""
|
||||
\t@echo "(please read the README.md file first)"
|
||||
\t@echo ""
|
||||
\t@echo "Available architectures: {archs}"
|
||||
\t@echo "Available packages: {packages}"
|
||||
\t@echo ""
|
||||
\t@echo "=== Available targets ==="
|
||||
\t@echo "Available targets:"
|
||||
\t@echo ""
|
||||
\t@echo " * all or build (default): builds all architectures and creates the liblinphone SDK."
|
||||
\t@echo " * dev: rebuilds liblinphone for all architectures. You must invoke 'sdk' target after this."
|
||||
\t@echo " * sdk: creates the liblinphone SDK. Use this only after a full build."
|
||||
\t@echo " * all or build: builds all architectures and creates the liblinphone SDK"
|
||||
\t@echo " * sdk: creates the liblinphone SDK. Use this only after a full build"
|
||||
\t@echo " * zipsdk: generates a ZIP archive of liblinphone-sdk/apple-darwin containing the SDK. Use this only after SDK is built."
|
||||
\t@echo " * zipres: creates a tar.gz file with all the resources (images)."
|
||||
\t@echo " * zipres: creates a tar.gz file with all the resources (images)"
|
||||
\t@echo ""
|
||||
\t@echo "=== Advanced usage ==="
|
||||
\t@echo ""
|
||||
\t@echo " * [{arch_opts}]-build: rebuilds everything for a single architecture. You must invoke 'sdk' target after this."
|
||||
\t@echo " * [{arch_opts}]-dev: rebuilds liblinphone for a single architecture. You must invoke 'sdk' target after this."
|
||||
\t@echo " * build-[package]: builds the package for all architectures"
|
||||
\t@echo " * clean-[package]: cleans package compilation for all architectures"
|
||||
\t@echo " * veryclean-[package]: cleans the package for all architectures"
|
||||
\t@echo ""
|
||||
\t@echo " * [{arch_opts}]-build-[package]: builds a package for the selected architecture"
|
||||
\t@echo " * [{arch_opts}]-clean-[package]: cleans package compilation for the selected architecture"
|
||||
\t@echo " * [{arch_opts}]-veryclean-[package]: cleans the package for the selected architecture"
|
||||
\t@echo ""
|
||||
""".format(archs=' '.join(platforms), arch_opts='|'.join(platforms),
|
||||
first_arch=platforms[0], options=' '.join(sys.argv),
|
||||
arch_targets=arch_targets,
|
||||
arch_targets=arch_targets, packages=' '.join(packages),
|
||||
multiarch=multiarch, generator=generator)
|
||||
f = open('Makefile', 'w')
|
||||
f.write(makefile)
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 4c9fc9539a06483da62938e8ae0ea48b18d026e6
|
||||
Subproject commit 7f0b84802a6e1d1f99efb95de4d9b460069a3f23
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 58a2a71ee6d4bc5f0a4f77958375a832b18253ed
|
||||
Subproject commit e5ddd892561b0c5df25b7036bd9229fe6a6ea81a
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 91b61e39fb9c5d3dc78691f3d6e4f1d65c8b0d2a
|
||||
Subproject commit a6bb1eb6dab5541cdded6a1f0326539234954c5d
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit e56ef9f86989bafa9a0e808ed4b34c2264c6e10d
|
||||
Subproject commit c2a0886a9350004e3da94d968cae9978c7472a9d
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit bf4815c4cf9574afeae7c6b28347b747085019fc
|
||||
Subproject commit b5a2b070259ef0c4f404fa8ca87752b8b1259d76
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 78ed115b583ee43473f982d370d85d2f86754dac
|
||||
Subproject commit 9be271700b377a251b95e9d8dbe0e8b878a403ac
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 49306ca4566480e08a0b64f1323bfc9f354d41bf
|
||||
Subproject commit dd9dd3e81719972232d9d4df7bc5e7c5282722bb
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 9f7b3128b9c6b396c89d784ba5ddfa68be05607a
|
||||
Subproject commit eecba24b5559c89e123991ab1f32f35649b7ebe8
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 2e9b11b8255a305adcc8e94ff3f77b6a2c08418e
|
||||
Subproject commit e8fd6adb59e9015c1bfe58e364565016ef26122c
|
||||
Loading…
Add table
Reference in a new issue