-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
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
Implement Apple TV Platform #16860
Implement Apple TV Platform #16860
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are not following the code guidelines.
592a903
to
ea72f99
Compare
Should be better now rechi. The 2 files that don't conform are 3rd party code we use for a gzip library |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the most commits in this PR I don't know what changes to expect as it is the directory path of the changed files.
xbmc/platform/darwin/tvos/Assets.xcassets/Assets.brandassets/Contents.json
Outdated
Show resolved
Hide resolved
xbmc/platform/darwin/tvos/Assets.xcassets/Assets.brandassets/topshelf.imageset/Contents.json
Outdated
Show resolved
Hide resolved
# Create xcode target that allows to build binary-addons. | ||
if(CORE_PLATFORM_NAME_LC STREQUAL tvos) | ||
if(ADDONS_TO_BUILD) | ||
set(_addons "ADDONS=${ADDONS_TO_BUILD}") | ||
endif() | ||
add_custom_target(binary-addons | ||
COMMAND $(MAKE) -C ${CMAKE_SOURCE_DIR}/tools/depends/target/binary-addons clean | ||
COMMAND $(MAKE) -C ${CMAKE_SOURCE_DIR}/tools/depends/target/binary-addons VERBOSE=1 V=99 | ||
INSTALL_PREFIX="${CMAKE_BINARY_DIR}/addons" CROSS_COMPILING=yes ${_addons}) | ||
if(ENABLE_XCODE_ADDONBUILD) | ||
add_dependencies(${APP_NAME_LC} binary-addons) | ||
endif() | ||
unset(_addons) | ||
endif() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why only add this for tvOS?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was put in the cmakebuildsys PR earlier, but was asked to be pulled out for "discussion".
Because of timelines, i felt it easier to attribute to tvos only, and if its desired for ios, i can remove the platform check at a later date.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It wasn't related to the previous PR and still isn't to this one. If you want this feature, open a separate PR, which implements it for all platforms.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Its a feature to ease building for the apple tv platform, how is that not relevant here? Just because it could be used for ios is not the point. We are working towards updating ios stuff as well, and thats all still to come, why not add a feature for THIS platform now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not a feature for tvOS only and also not for tvOS and iOS only, it is a general feature.
The reason I ask for doing it right from the beginning is, that otherwise it might get left behind.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Honestly i dont have time to vet it for macos right now. I know it works for ios, but again, i PR'd this early knowing there would be feedback, and i understand where you are coming from regarding "forgotten" catch up features for other platforms, but the point is to get this in for Alpha no? Not everything will be perfect, and theres plenty of todo's.
I would rather put it through in its known tested state, and when time permits and proper testing is done, open up the platform check to others.
676cf58
to
1c9553b
Compare
Not sure what you mean by this? is this for the cmake treedata split for tvos/ios |
E.g. the commit message |
Thats a quote from the PR message. The intent is for reviewers to see non platform code at a glance for reviewers relevant areas of expertise. It will not merge with this many commits, it WILL be squashed. If you want it squashed now, thats fine by me, it will be a 3 commits. |
7645479
to
791398d
Compare
788bad9
to
b5f3375
Compare
Jenkins build this please |
jenkins build this please |
Jenkins build this please |
3 similar comments
Jenkins build this please |
Jenkins build this please |
Jenkins build this please |
implement WIN_SYSTEM_CLASS define to refactor SettingOptionsMonitorsFiller winSystem object creation. Less duplicate code.
Currently no use outside of tvos. Can be used for ios, so will put in ios-common
waitpid undef not required. Functions correctly with waitpid on both ios/tvos
…latformVersionDecoded Changes to a generic code path for GetBuildTargetPlatformVersionDecoded that utilises GetBuildTargetPlatformVersion to do the macro for the specific platform (ios and future tvos)
Initial commit for TVOS platform.
binary-addon building added to xcode project for tvOS. The default behaviour is to add all addons to the project, but not add as a dependency. This means the addons will NOT be built be default. Documentation updated and shows how to selectively build addons if required and how to add the auto building dependecy to the Xcode project.
Implement some todo's regarding sleep/wake workflow. Stop/start ActiveAE on sleep/wake Stop/start All network services on sleep/wake combine and streamline methods involved with sleep/wake
Jenkins build this please |
``` | ||
make -C tools/depends/target/binary-addons ADDONS="audioencoder.flac pvr.vdr.vnsi audiodecoder.snesapu" | ||
``` | ||
**TIP:** BUILD_DIR can be omitted, and project will be created in $HOME/kodi/build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just tried it out: The project has been created in ./build
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure I see the problem?
All conventions in the readme follow on from prior steps, so if you set it up as described, Kodi source gets cloned into $HOME/Kodi, which is where you execute the cmakebuildsys command. This is then going to be ./build, as you are in the directory, or long form $HOME/Kodi/build
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right, I'm sorry. I've missunderstood the sentence, thought $HOME/kodi/build
was hard coded somewhere.
Jenkins build this please |
2 similar comments
Jenkins build this please |
Jenkins build this please |
Yay - congrats - thx and well done to all involved! |
Indeed. Well done and congrats. Finally it happened ! |
Description
Implement the AppleTV platform for ATV4/4k
Motivation and Context
Well here we are, years in the making. May as well say thanks to everyone to get it this far, Memphiz, Davilla (Team Mrmc), Sylvain, Kambala, Phunkyfish, Pogar, and anyone else who has helped that ive missed.
Notes:
PR is not in buildable individual commits. We have broken it up like this for, hopefully, for easier review, particularly the non platform code that is touched. Before Merge, the intent is to squash most into a single commit.
Feel free to update Labels as you see relevant.
Todo:
Currently a lot of refactoring work is being done around darwin_embedded platform as a whole. This will obviously bleed into tvos, but will tackle it later. Feel free to comment on any architecture related issues, but keep in mind, that will most likely go on the todo list for now.
How Has This Been Tested?
ATV dev's, and some external users who have helped with testing
Screenshots (if appropriate):
Types of change
Checklist: