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

Remove autotools #10429

Merged
merged 1 commit into from
Dec 15, 2016
Merged

Remove autotools #10429

merged 1 commit into from
Dec 15, 2016

Conversation

notspiff
Copy link
Contributor

@notspiff notspiff commented Sep 8, 2016

This is obviously ahead of its time, but for tracking purposes and for starting to root out possible issues, I have created this PR.

One related question is whether or not you want to relocate the cmake buildsystem to the top of the tree.

@akva2
Copy link
Contributor

akva2 commented Sep 8, 2016

can we somehow run a depends based platform using a cmake build on jenkins yet ? curious if there are more shared things between the configures i didn't catch..

@fritsch
Copy link
Member

fritsch commented Sep 8, 2016

We can. I was told cmake builds are the defaults now, so let's try it:

jenkins build this please

@hudokkow hudokkow added Type: Cleanup non-breaking change which removes non-working or unmaintained functionality v18 Leia labels Sep 8, 2016
@hudokkow
Copy link
Member

hudokkow commented Sep 8, 2016

Thanks! CMake relocation is planned. Are you volunteering? 😉

@akva2
Copy link
Contributor

akva2 commented Sep 8, 2016

sure. if there is some time still, i dont have many hours to put in these days.

@fetzerch
Copy link
Member

fetzerch commented Sep 8, 2016

Good idea to test that already, thx :)

I'd also recommend to move CMake to the root tree. There are a few IDEs (KDevelop, QtCreator) that have some issues if the main CMakeLists.txt is in a subdirectory and it'll be just easier for everyone.

For the current state:

Few more things to do, I just want to mention:

  • Drop Kodi.xcodeproj
  • docs/Readme.xyz need to be adapted

@hudokkow
Copy link
Member

hudokkow commented Sep 8, 2016

@hudokkow
Copy link
Member

Can you rebase please?

@notspiff
Copy link
Contributor Author

done.

@hudokkow
Copy link
Member

thx!
jenkins build this with addons please

@hudokkow
Copy link
Member

Only RBPi failed: http://jenkins.kodi.tv/job/LINUX-RBPI/8630/console

++ JSON_BUILDER=/home/jenkins/workspace/LINUX-RBPI/tools/depends/xbmc-depends/i686-linux-gnu-native/bin/JsonSchemaBuilder
++ ./bootstrap
/home/jenkins/workspace/LINUX-RBPI/tools/buildsteps/rbpi/prepare-xbmc: line 6: ./bootstrap: No such file or directory
Build step 'Execute shell' marked build as failure
Set build name.
New build name is 'xbmc-PR10429-1ec7b39'
Variable with name 'BUILD_DISPLAY_NAME' already exists, current value: 'xbmc-PR10429-1ec7b39', new value: 'xbmc-PR10429-1ec7b39'
Finished: FAILURE

http://jenkins.kodi.tv/view/Automation/job/BuildMultiWithAddons-PR/48/

@akva2
Copy link
Contributor

akva2 commented Nov 15, 2016

well rbp still uses the autotools build so that is to be expected.

@fetzerch
Copy link
Member

fetzerch commented Nov 16, 2016

Nope rbpi is also built with cmake, but:

For rbpi, this lines have to be removed: https://github.com/xbmc/xbmc/blob/master/tools/buildsteps/rbpi/prepare-xbmc#L6

@akva2
Copy link
Contributor

akva2 commented Nov 16, 2016

thanks, removed.

@fetzerch
Copy link
Member

hudo was faster kicking off the build ;) Builds fine now also on rbpi: http://jenkins.kodi.tv/job/LINUX-RBPI/8650/

@hudokkow
Copy link
Member

😜

Arne, unless we decide to generate a config.h file with CMake, you might want to pick and squash hudokkow@faa43f2

There's probably other defines in need of cleanup but it's hard to find them.

@akva2
Copy link
Contributor

akva2 commented Nov 17, 2016

pulled. there was another commit in the branch but i left it out.

@hudokkow
Copy link
Member

Thanks. The other commit isn't related. It was just to make sure I didn't killed win builds after that ifdeferry cleanup.

@stefansaraev
Copy link
Contributor

it's time..

@fetzerch
Copy link
Member

fetzerch commented Dec 2, 2016

I'll merge #10509 now if it still builds fine.
We should however get the confirmation from @Memphiz that cmake works for him as the legacy xcode build depends on autotools.

candrews added a commit to candrews/gentoo that referenced this pull request Dec 5, 2016
Upstream is dropping support for autotools and requiring the use of cmake:
xbmc/xbmc#10429

Gentoo-bug: 601738
candrews added a commit to candrews/gentoo that referenced this pull request Dec 5, 2016
Upstream is dropping support for autotools and requiring the use of cmake:
xbmc/xbmc#10429

Gentoo-bug: 601738
candrews added a commit to candrews/gentoo that referenced this pull request Dec 11, 2016
Upstream is dropping support for autotools and requiring the use of cmake:
xbmc/xbmc#10429

Gentoo-bug: 601738, 598460, 598460
candrews added a commit to candrews/gentoo that referenced this pull request Dec 11, 2016
Upstream is dropping support for autotools and requiring the use of cmake:
xbmc/xbmc#10429

Gentoo-bug: 601738, 598460, 598460
@hudokkow
Copy link
Member

jenkins build and merge

candrews added a commit to candrews/gentoo that referenced this pull request Dec 15, 2016
Upstream is dropping support for autotools and requiring the use of cmake:
xbmc/xbmc#10429

Gentoo-bug: 601738, 598460, 598460
@MartijnKaijser
Copy link
Member

Failure on android build

@hudokkow
Copy link
Member

All good: http://jenkins.kodi.tv/view/Helpers/job/BuildMulti-All/1838/

Goodbye old friend.
Thx Arne!

@hudokkow hudokkow merged commit dea9386 into xbmc:master Dec 15, 2016
@hudokkow hudokkow added this to the L 18.0-alpha1 milestone Dec 15, 2016
@notspiff
Copy link
Contributor Author

notspiff commented Dec 15, 2016 via email

@hudokkow
Copy link
Member

Congrats!

@MartijnKaijser
Copy link
Member

@notspiff thanks a lot :)

@hauihau
Copy link

hauihau commented Dec 15, 2016

Great job guys! :)

@wsnipex
Copy link
Member

wsnipex commented Dec 15, 2016

yeah, great job!

@fetzerch
Copy link
Member

omg it happened! Thanks all :)

@garbear
Copy link
Member

garbear commented Dec 15, 2016

hm, this would useful in my retroplayer branch. feel like backporting? ;)

@ksooo
Copy link
Member

ksooo commented Dec 15, 2016

Hi, afaik building (dependencies) on macOS relies on autotools. How do I build stuff on macOS now?

EDIT: I'm a build system dummy. So forgive me, if this is just a stupid question. :-)

@stefansaraev
Copy link
Contributor

stefansaraev commented Dec 15, 2016

just like before. cd tools/depends; ./bootstrap; ./configure -- .....

@Rechi
Copy link
Member

Rechi commented Dec 15, 2016

@ksooo
Copy link
Member

ksooo commented Dec 15, 2016

macOS: works just fine. nice. thanks

@Memphiz
Copy link
Member

Memphiz commented Dec 16, 2016

@fetzerch care to update docs/README.osx and docs/README.ios with the newest build instructions?

@fetzerch
Copy link
Member

@fetzerch care to update docs/README.osx and docs/README.ios with the newest build instructions?

Shit, https://github.com/xbmc/xbmc/blob/master/docs/README.osx#L125 now just reminded me that I have forgotten about a small but very important detail. osx/ios builds still need make xcode_depends which builds some libs like cpluff, libexif and the addon callback libs. Really sorry bout that :(

I'd see the following choices to go on:

  • xcode users switch to the cmake generated xcode project (and I help ironing out the issues you run into)
  • we get the removed functionality back (maybe @wsnipex could check how much that is for the makefiles), in parallel I can look into what would be needed to build only those libs with cmake.
  • we fully revert the change until you're happy with the generated xcode project and xcode users switched to cmake (I don't think that's a good solution considering the amount of work spent rebasing this change over and over again, especially now that we have pretty invasive changes going into master)

@hudokkow
Copy link
Member

No revert, please. Last resource solution, imo.

@Memphiz
Copy link
Member

Memphiz commented Dec 17, 2016

First option it is. Then this needs to be described in the readme.

@FernetMenta
Copy link
Contributor

what is the current state? as far as I understand it building for OSX is broken because things like libdvd are not built?

@Memphiz
Copy link
Member

Memphiz commented Dec 17, 2016

As far as understand it's not as long as you use cmake - the Xcode project is useless now though

@FernetMenta
Copy link
Contributor

ah ok. why don't we drop the old xcode project?

@fetzerch
Copy link
Member

I'll update the readme and explain how to build with cmake.
For the moment: https://github.com/xbmc/xbmc/blob/master/project/cmake/README.md

@hauihau
Copy link

hauihau commented Dec 18, 2016

cmake in contrast to autotools now also installs /usr/bin/TexturePacker. Correct me if I'm wrong, but texturepacker is only used while building. Wouldn't it make sense to skip it from installing?

@hudokkow
Copy link
Member

^^ Something to discuss with @cjmayo for #11213?

@notspiff notspiff deleted the remove_autotools branch October 29, 2017 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Cleanup non-breaking change which removes non-working or unmaintained functionality v18 Leia
Projects
None yet
Development

Successfully merging this pull request may close these issues.