How do I build 17.6 without SSE4?
#1
Question 
So I've been trying to cross compile Kodi 17.6 to an i686 target, but can't figure out how to make the build skip the "sse4" directory.

I've tried passing -mno-sse4 -march=i686 to cflags and cxxflags, and I've tried setting --host and --target to i686-linux-gnu when running ./configure...

It's not obvious to me how to indicate that the target doesn't support SSE4.
Reply
#2
seems to me if passing arguments to the build files is not working then modifying the build files would be next

https://github.com/xbmc/xbmc/blob/Krypto...le.in#L283

Code:
grep -ri "HAVE_SSE4" *
configure.ac:      HAVE_SSE4=1
configure.ac:      AC_DEFINE([HAVE_SSE4],[1],[sse4.1 enabled])],
configure.ac:      HAVE_SSE4=0
configure.ac:      AC_DEFINE([HAVE_SSE4],[0],[sse4.1 enabled])
configure.ac:AC_SUBST(HAVE_SSE4)
Makefile.in:ifeq (@HAVE_SSE4@,1)
xbmc/linux/sse4/CMakeLists.txt:if(HAVE_SSE4_1)

https://github.com/xbmc/xbmc/blob/Krypto...re.ac#L830
Reply
#3
Thanks for replying!

That's assuming you're familiar enough with Kodi's build setup to confidently eliminate the possibility that there's already an option to control this. And then I also have to know how to read the makefiles.

I guess I'll have to add another couple of hours to the time estimate of this build, if I have to learn myself makefile scripting well enough to read that file.
Reply
#4
i have been using and building on linux* for 20+ years so yea i am familiar
but, i have only been building kodi for less than 8 months

it's really quite simple from what i see, there is an if block denoted by ifeq and ending with endif

so, if that block (283-287) no longer existed then it would not try to execute $(MAKE) -C xbmc/linux/sse4 under any circumstances, independent of arguments or anything else

you are trying to avoid that directory so put all the logic together ...


if it does not build without sse4 then you need to deal with other things resulting of the removal, rinse and repeat until either it builds or it becomes impossible to build without sse4
Reply
#5
I did end up just disabling that if-block in the makefile, and it enabled the build to complete. Still, thought it'd be better to ask first since I find makefiles about as inspiring as cobol, and the whole thing feels pretty opaque.

Thanks for the suggestions!
Reply
#6
And thanks for engaging
Reply
#7
ha @ cobol ...

or pascal

you're welcome on both
Reply

Logout Mark Read Team Forum Stats Members Help
How do I build 17.6 without SSE4?0