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

[retroplayer] rework to new code style without shared lib #11172

Merged
merged 1 commit into from Dec 14, 2016

Conversation

@AlwinEsch
Copy link
Member

commented Dec 14, 2016

Remove the use of shared add-on library for game add-ons.

Description

The lib is no more used on add-on. It can be added without changes on add-ons, they need only a recompile.

Motivation and Context

Cleanup binary add-ons

How Has This Been Tested?

Has tested it with game.libretro.nestopia, but due to libretro build problems (related to my linux) used hack way and control was not possible (with and without this).

Types of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the Code guidelines of this project
  • My change requires a change to the documentation, either Doxygen or wiki
  • I have updated the documentation accordingly
  • I have read the CONTRIBUTING document
  • I have added tests to cover my change
  • All new and existing tests passed
@AlwinEsch

This comment has been minimized.

Copy link
Member Author

commented Dec 14, 2016

@garbear can you test and confirm that games are playable?
EDIT: My linux can not build the libretro parts from add-on creator.

@AlwinEsch

This comment has been minimized.

Copy link
Member Author

commented Dec 14, 2016

jenkins build this with addons please again

@hudokkow hudokkow referenced this pull request Dec 14, 2016
@akva2

This comment has been minimized.

Copy link
Contributor

commented Dec 14, 2016

@AlwinEsch it's not pretty but at least it works this way;

to build those things on linux you do:

  1. build kodi.
  2. build and install p8-platform with -DCMAKE_INSTALL_PREFIX=<kodi-build-dir>/build
  3. build and install kodi-platform with -DCMAKE_INSTALL_PREFIX=<kodi-build-dir>/build
  4. clone game.libretro and build using -DCMAKE_PREFIX_PATH=<kodi-build-dir>/build -DKODI_BUILD_DIR=<kodi-build-dir>.
  5. clone the add-on somewhere
  6. go to depends/common/<retro core name>
  7. git clone <url in retrocore.txt>
  8. copy CMakeLists.txt into retrocore
  9. cd retrocore; mkdir build; cd build; cmake .. -DCMAKE_INSTALL_PREFIX=<kodi-build_dir>/build; make; make install
  10. now build the addon using -DCMAKE_PREFIX_PATH=<kodi-build-dir>/build -DKODI_BUILD_DIR=<kodi-build-dir>.

you now have the add-on built and it's put into kodi build tree for testing. don't forget the idiotic manual enabling step for the add-on.

i have tested one core and it seemed to work fine.

@hudokkow

This comment has been minimized.

Copy link
Member

commented Dec 14, 2016

I would say this is working. Tested with top 2 commits from https://github.com/hudokkow/xbmc/commits/cmake_gameezz and spend the last hour in the 90s. ;)

virtualbox_2016-12-14_15-27-37

@AlwinEsch

This comment has been minimized.

Copy link
Member Author

commented Dec 14, 2016

Thanks a lot. From the ugly duckling will soon become a swan ;).

Everything of the libKODI* and libXBMC* who are related to add-on types itself are becomes soon complete removed and added to the related class, e.g. AddonCallbacksPVR.cpp comes in PVRClient.cpp and the libXBMC_pvr.h goes complete away.

Problematic is it only to bring this in on a way who is good for overview and not to much together. The hard think is that not only one add-on type need to changed, there must be always all corrected together.

For this coming soon some requests who are on first view not direct good e.g. some void*.

@AlwinEsch AlwinEsch merged commit 59a5c42 into xbmc:master Dec 14, 2016

1 of 4 checks passed

continuous-integration/travis-ci/pr The Travis CI build failed
Details
default You are a failure. Fix the code and try again......
Details
jenkins4kodi Yeah yeah I'll get to it when i have some time
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details

@AlwinEsch AlwinEsch deleted the AlwinEsch:remove-shared-addon-lib-games branch Dec 14, 2016

@hauihau

This comment has been minimized.

Copy link

commented Dec 14, 2016

Hi Alwin,

did you forget a file? xbmc/lib/addons/library.kodi.game/libKODI_game.cpp is still in tree.

@AlwinEsch

This comment has been minimized.

Copy link
Member Author

commented Dec 14, 2016

Ups, thanks a lot! Yes has forgot it.

@AlwinEsch AlwinEsch referenced this pull request Dec 14, 2016
0 of 9 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.