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

[osx] - add support for Xcode 8 #10530

Merged
merged 5 commits into from Sep 23, 2016
Merged

[osx] - add support for Xcode 8 #10530

merged 5 commits into from Sep 23, 2016

Conversation

Memphiz
Copy link
Member

@Memphiz Memphiz commented Sep 22, 2016

This allows compiling with Xcode8 on either OSX 10.11 (El Capitan) or macOS 10.12 (Sierra).

thx @davilla for giving a hand.

@ksooo if you are still on el capitan - might want to test this out?

… no (those are only available in 10.12 runtime but get falsly detected with 10.12 sdk)
@mention-bot
Copy link

@Memphiz, thank you for improving kodi! According to the last 5 commits, we found the potential reviewers: @wsnipex, @davilla and @koying . Final approval needs to be given by the componenent maintainer.

@Memphiz Memphiz added Type: Fix non-breaking change which fixes an issue v17 Krypton Platform: macOS labels Sep 22, 2016
@Memphiz Memphiz added this to the Krypton 17.0-beta3 milestone Sep 22, 2016
@ksooo
Copy link
Member

ksooo commented Sep 22, 2016

@ksooo if you are still on el capitan - might want to test this out?

sorry, updated to sierra yesterday

@koying
Copy link
Contributor

koying commented Sep 22, 2016

Sure, mention-bot, I'm totally the king of xcode :)

@Memphiz
Copy link
Member Author

Memphiz commented Sep 22, 2016

@koying maybe you did something in depends configura.ac at some point ;)

@FernetMenta
Copy link
Contributor

also on sierra already

if test "@platform_os@" = "osx" ; then
# Xcode 8 + 10.11, clock_gettime and getentropy is present
# in 10.12 but will get wrongly detected if building on 10.11
ac_cv_search_clock_gettime=no

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

@xhaggi
Copy link
Member

xhaggi commented Sep 22, 2016

I'm on el capitan but can't test it before tomorrow.

@Memphiz
Copy link
Member Author

Memphiz commented Sep 22, 2016

Well since i need this now that i have updated to xcode8 - lets ask jenkins build this please anyway and if @xhaggi has some sparetime left to test this in the next days - glad to have another ok (beside that building with xcode8 on 10.11 is only intermediate as most people will switch to sierra, when 12.1 comes out latest :) ).

@MrMC
Copy link

MrMC commented Sep 22, 2016

just a note, a build/run on sierra without this should work, but run that same build on el capitan and below and it will fail to run because of missing symbols.

@Memphiz
Copy link
Member Author

Memphiz commented Sep 22, 2016

yep that makes sense too :)

@fetzerch
Copy link
Member

fetzerch commented Sep 22, 2016

Fails for me with xcode7 on 10.11:

server-tools/instance-manager/Makefile.am:103: `%'-style pattern rules are a GNU make extension
/usr/bin/clang -I. -fheinous-gnu-extensions -no-cpp-precomp -arch x86_64 -mmacosx-version-min=10.8  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -isystem /Users/Shared/xbm
c-depends/macosx10.11_x86_64-target/include  -DHAVE_CONFIG_H -fheinous-gnu-extensions -no-cpp-precomp -arch x86_64 -mmacosx-version-min=10.8  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
MacOSX10.11.sdk -isystem /Users/Shared/xbmc-depends/macosx10.11_x86_64-target/include  -ggdb3 -Wall -W   -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes   -Wpointer-arith -Wbad-function-cast -Wnested-externs -fPIC -MT ne
ttle-internal.o -MD -MP -MF nettle-internal.o.d -c nettle-internal.c \
        && true
../lib/replace/replace.c:811:23: error: unknown type name 'clockid_t'; did you mean 'clock_t'?
int rep_clock_gettime(clockid_t clk_id, struct timespec *tp)
                      ^~~~~~~~~
                      clock_t
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/sys/_types/_clock_t.h:30:33: note: 'clock_t' declared here
typedef __darwin_clock_t        clock_t;
                                ^
1 error generated.
The following command failed:
/usr/bin/clang -fheinous-gnu-extensions -no-cpp-precomp -arch x86_64 -mmacosx-version-min=10.8 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -isystem /Users/Shared/xbmc-dep
ends/macosx10.11_x86_64-target/include -fno-common -I. -I/Users/jcf/develop/kodi/kodi/tools/depends/target/samba-gplv3/macosx10.11_x86_64-target/source3 -I/Users/jcf/develop/kodi/kodi/tools/depends/target/samba-gplv3/macosx10.11_x86_64-
target/source3/../lib/popt -I/Users/jcf/develop/kodi/kodi/tools/depends/target/samba-gplv3/macosx10.11_x86_64-target/source3/../lib/iniparser/src -Iinclude -I./include  -I. -I. -I./../lib/replace -I./../lib/tevent -I./librpc -I./.. -I./
../lib/talloc -I../lib/tdb/include -DHAVE_CONFIG_H  -fheinous-gnu-extensions -no-cpp-precomp -arch x86_64 -mmacosx-version-min=10.8 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.1
1.sdk -isystem /Users/Shared/xbmc-depends/macosx10.11_x86_64-target/include -Iinclude -I./include -I. -I. -I./../lib/replace -I./../lib/tevent -I./librpc -I./.. -I./../lib/popt  -I/Users/jcf/develop/kodi/kodi/tools/depends/target/samba-
gplv3/macosx10.11_x86_64-target/source3/lib -I.. -D_SAMBA_BUILD_=3 -D_SAMBA_BUILD_=3  -c ../lib/replace/replace.c -o ../lib/replace/replace.o
/Users/Shared/xbmc-depends/buildtools-native/bin/m4 ./asm.m4 machine.m4 config.m4 aes-decrypt-internal.asm >aes-decrypt-internal.s
/usr/bin/clang -I. -fheinous-gnu-extensions -no-cpp-precomp -arch x86_64 -mmacosx-version-min=10.8  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -isystem /Users/Shared/xbm
c-depends/macosx10.11_x86_64-target/include  -DHAVE_CONFIG_H -fheinous-gnu-extensions -no-cpp-precomp -arch x86_64 -mmacosx-version-min=10.8  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
MacOSX10.11.sdk -isystem /Users/Shared/xbmc-depends/macosx10.11_x86_64-target/include  -ggdb3 -Wall -W   -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes   -Wpointer-arith -Wbad-function-cast -Wnested-externs -fPIC -MT ae
s-decrypt-internal.o -MD -MP -MF aes-decrypt-internal.o.d -c aes-decrypt-internal.s
make[3]: *** [../lib/replace/replace.o] Error 1

@Memphiz
Copy link
Member Author

Memphiz commented Sep 22, 2016

@fetzerch thx will look into it tomorrow :)

@Jalle19
Copy link
Member

Jalle19 commented Sep 22, 2016

Travis CI seems to support XCode 8 too, at least according to https://docs.travis-ci.com/user/osx-ci-environment/. Might be worth updating .travis.yml while you're at it.

@Memphiz
Copy link
Member Author

Memphiz commented Sep 23, 2016

@Jalle19 i don't see that travis builds for osx at all. So its not done just by "updating" something. No time to dive into travis-ci to add osx support to it.

@Jalle19
Copy link
Member

Jalle19 commented Sep 23, 2016

Oh, I was mistaken since we do that for binary addons.

@Memphiz
Copy link
Member Author

Memphiz commented Sep 23, 2016

jenkins had the same issue @fetzerch and i was able to reproduce aswell. PR updated - new testbuild succeeded:

http://jenkins.kodi.tv/job/OSX-64/9309/

@fetzerch
Copy link
Member

looks good here as well

@Memphiz Memphiz merged commit 737bf7b into xbmc:master Sep 23, 2016
@Memphiz Memphiz deleted the xcode8 branch September 23, 2016 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Platform: macOS Type: Fix non-breaking change which fixes an issue v17 Krypton
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants