Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[docs] Update README.osx #11202

Merged
merged 3 commits into from Dec 23, 2016

Conversation

@fetzerch
Copy link
Member

commented Dec 17, 2016

Explain how to use cmake to generate the xcode project files.

I've also changed the file to markdown. Is that something we want, or should I change it back to plain text?

Preview:

Will update the others once we agreed on the format and style.

ping: @Memphiz, @hudokkow, @wsnipex

@Memphiz

This comment has been minimized.

Copy link
Member

commented Dec 18, 2016

I like the markdown - well done with the adaptions imo - thx

@fetzerch fetzerch force-pushed the fetzerch:doc_osx branch from 5d74a2c to 1e0598a Dec 18, 2016
@fetzerch

This comment has been minimized.

Copy link
Member Author

commented Dec 18, 2016

Thanks. Ok osx, ios fully done.

@Memphiz can you check if the versions in the ios doc are ok? I added sierra and el capitan. From what I understood Xcode 8 is not supported until you PR goes in? Also I removed the line recommending ios sdk 8.1 because the sdk version should match the device people want to build for.

@fetzerch

This comment has been minimized.

Copy link
Member Author

commented Dec 18, 2016

Any volunteers for one of the other files? :)

@hudokkow

This comment has been minimized.

Copy link
Member

commented Dec 18, 2016

I can do linux/Ubuntu/RPi. Just not today probably.

@stefansaraev

This comment has been minimized.

Copy link
Contributor

commented Dec 18, 2016

@Memphiz

This comment has been minimized.

Copy link
Member

commented Dec 18, 2016

@fetzerch nope the sdk advise needs to stay. There were issues when people used SDKs that were not the ones i developed for. For example the external screen behavior when using airplay mirroring behaves different when using different SDK versions regardless of the used deployment target (which stayed the same of course). At least that was the case around ios 8.x SDKs (might be no issue with newer SDKs anymore but i didn't check that). So while i never thought that would be the case - Apple developers screwed up at times ;).

@fetzerch fetzerch force-pushed the fetzerch:doc_osx branch from 1e0598a to 89a61fc Dec 19, 2016
@fetzerch

This comment has been minimized.

Copy link
Member Author

commented Dec 19, 2016

@Memphiz Thanks for the explaination, added it back. Any other things you'd want me to fix? Otherwise we can get it in.

Copy link
Member

left a comment

Looks good beside my remarks - thx alot for this. I think the next PR would be removing the Xcode project as it has no value now anymore.

Kodi for iOS is composed of a main binary with numerous dynamic libraries and
codecs that support a multitude of music and video formats.

The minimum version of iOS you need to run(!) Kodi is 5.1.1 atm.

This comment has been minimized.

Copy link
@Memphiz

Memphiz Dec 20, 2016

Member

Could you correct this to 6.0 while you are at it?


./configure --host=arm-apple-darwin --with-sdk=8.0

Ensure that you also adapt the Xcode project to use this SDK version.

This comment has been minimized.

Copy link
@Memphiz

Memphiz Dec 20, 2016

Member

This one needs to be adapted i guess

cd $HOME/Kodi/build
/Users/Shared/xbmc-depends/buildtools-native/bin/cmake -G Xcode -DCMAKE_TOOLCHAIN_FILE=/Users/Shared/xbmc-depends/iphoneos9.3_armv7-target/share/Toolchain.cmake ../project/cmake

The toolchain file location differs depending on your iOS and SDK version.

This comment has been minimized.

Copy link
@Memphiz

Memphiz Dec 20, 2016

Member

please make it clear that the iphoneos9.3_armv7-target has to be replaced with iphoneos_-target ... i fear we get support questions here if its not in baby speech ;).

Kodi maintains a set of binary addons (PVR clients, Visualizations, Audio DSP
plugins and more). They can be built as shown below:

make -C target/binary-addons

This comment has been minimized.

Copy link
@Memphiz

Memphiz Dec 20, 2016

Member

this is out of context now - please ensure that people are in tools/depends before trying to issue this command.


**NOTE**: If you only want to build specific addons you can specify like this:

make -C target/binary-addons ADDONS="pvr.hts pvr.dvblink"

This comment has been minimized.

Copy link
@Memphiz

Memphiz Dec 20, 2016

Member

same here


./configure --host=arm-apple-darwin --with-sdk=10.9

Ensure that you also adapt the Xcode project to use this SDK version.

This comment has been minimized.

Copy link
@Memphiz

Memphiz Dec 20, 2016

Member

This needs to be adapted in whatever way this needs to be done now with cmake generation...

Kodi maintains a set of binary addons (PVR clients, Visualizations, Audio DSP
plugins and more). They can be built as shown below:

make -C target/binary-addons

This comment has been minimized.

Copy link
@Memphiz

Memphiz Dec 20, 2016

Member

same out of context problem - we need to ensure users are in tools/depends before trying this ...


**NOTE**: If you only want to build specific addons you can specify like this:

make -C target/binary-addons ADDONS="pvr.hts pvr.dvblink"

This comment has been minimized.

Copy link
@Memphiz

Memphiz Dec 20, 2016

Member

same here

cd $HOME/Kodi/build
/Users/Shared/xbmc-depends/buildtools-native/bin/cmake -G Xcode -DCMAKE_TOOLCHAIN_FILE=/Users/Shared/xbmc-depends/macosx10.12_x86_64-target/share/Toolchain.cmake ../project/cmake

The toolchain file location differs depending on your macOS and SDK version.

This comment has been minimized.

Copy link
@Memphiz

Memphiz Dec 20, 2016

Member

spoonfeed what needs to be changed here.

xcodebuild, triggered by CMake:

cd $HOME/Kodi/build
cmake --build . --config "Debug" -- -verbose -jobs $(sysctl -n hw.ncpu)

This comment has been minimized.

Copy link
@Memphiz

Memphiz Dec 20, 2016

Member

getconf _NPROCESSORS_ONLN

@fetzerch fetzerch force-pushed the fetzerch:doc_osx branch from 89a61fc to dec7b1e Dec 20, 2016
@fetzerch

This comment has been minimized.

Copy link
Member Author

commented Dec 20, 2016

Thanks, I've tried to fix all comments, but i'm not sure with the --with-sdk. Need to check if the sdk version is put into the toolchain file and picked up from there automatically or if there's further work needed.

Dropping the xcode project is done in: #11217

@fetzerch fetzerch force-pushed the fetzerch:doc_osx branch from dec7b1e to 5e46819 Dec 22, 2016
@fetzerch

This comment has been minimized.

Copy link
Member Author

commented Dec 22, 2016

@Memphiz: I've installed the 10.9 sdk now from https://github.com/phracker/MacOSX-SDKs and --with-sdk seems to do the trick. cmake picks it up from the toolchain file. Unfortunately it compiles only when generating a make file project. With xcodebuild and xcode i get this. Any idea?

=== BUILD TARGET XBMCHelper OF PROJECT kodi WITH CONFIGURATION Release ===

Check dependencies

Ld /Users/jcf/develop/kodi/kodi-build-xcode-old/tools/darwin/runtime/XBMCHelper normal x86_64
    cd /Users/jcf/develop/kodi/kodi
    export MACOSX_DEPLOYMENT_TARGET=10.9
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -L/Users/jcf/develop/kodi/kodi-build-xcode-old/tools/darwin/runtime -F/Users/jcf/develop/kodi/kodi-build-xcode-old/tools/darwin/runtime -filelist /Users/jcf/develop/kodi/kodi-build-xcode-old/build/XBMCHelper/kodi.build/Release/XBMCHelper.build/Objects-normal/x86_64/XBMCHelper.LinkFileList -mmacosx-version-min=10.9 -Xlinker -object_path_lto -Xlinker /Users/jcf/develop/kodi/kodi-build-xcode-old/build/XBMCHelper/kodi.build/Release/XBMCHelper.build/Objects-normal/x86_64/XBMCHelper_lto.o -fobjc-link-runtime -L/Users/Shared/xbmc-depends/macosx10.9_x86_64-target/lib -Wl,-search_paths_first -arch x86_64 -mmacosx-version-min=10.8 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -stdlib=libc++ -Wl,-headerpad_max_install_names -framework IOKit -framework Carbon -framework Cocoa -Xlinker -dependency_info -Xlinker /Users/jcf/develop/kodi/kodi-build-xcode-old/build/XBMCHelper/kodi.build/Release/XBMCHelper.build/Objects-normal/x86_64/XBMCHelper_dependency_info.dat -o /Users/jcf/develop/kodi/kodi-build-xcode-old/tools/darwin/runtime/XBMCHelper
Undefined symbols for architecture x86_64:
  "_objc_readClassPair", referenced from:
      __ARCLite__load() in libarclite_macosx.a(arclite.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** BUILD FAILED **

I'm on sierra with Xcode 8.2.

@Memphiz

This comment has been minimized.

Copy link
Member

commented Dec 22, 2016

No idea - but what is strange ist that deployment target is set to 10.8 in cflags (which is correct) but to 10.9 via export MACOSX_DEPLOYMENT_TARGET (which is wrong).
Also this error is for XBMCHelper right? I think it has a static xcode project still no? ARC is some sort of automated garbage collection afair...

@fetzerch fetzerch force-pushed the fetzerch:doc_osx branch from 5e46819 to f2a68d0 Dec 23, 2016
@fetzerch

This comment has been minimized.

Copy link
Member Author

commented Dec 23, 2016

Thanks, sorted it out. Now it's really just building depends with the --with-sdk parameter and using the respective toolchain file.

btw: any chance of rebasing #10539 now that krypton is branched?

@fetzerch fetzerch merged commit 0f20cc2 into xbmc:master Dec 23, 2016
1 of 2 checks passed
1 of 2 checks passed
continuous-integration/travis-ci/pr The Travis CI build failed
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
@fetzerch fetzerch deleted the fetzerch:doc_osx branch Dec 23, 2016
@MartijnKaijser MartijnKaijser modified the milestone: L 18.0-alpha1 Dec 27, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.