Hi Vitaly, Your observation is true for platform development, native application development is cross compiler based as far as I understand from the 2.2.1 dev guide. Ref: https://developer.tizen.org/dev-guide/2.2.1/org.tizen.native.appprogramming/html/app_dev_process/building_app.htm
One big benefit of the spec defined chroot based build environment is, you get your package dependencies sorted out. In classic cross compile environments with direct install of the results into that folder you very often end up in a works for me situation which cannot be replicated elsewhere because of compile order or manual fixing. With the OBS based approach you can be confident that your rpm package contains all dependencies that are required at compile and runtime. The benefit of OBS for me as developer is that I immediately see if my sw package builds for different distributions and not the single one of my development environment. If you work for product organizations you typically have to support several releases and projects at the same time. With OBS and the gbs build I get immediate feedback if my package compiles and I can run a rpm based installer to test that package in a target environment without the need for creating an image and reflashing the target. A benefit of chroot over sysroot based builds is the better support for several upstream open source projects. In some instances these projects have hardcoded names for compilers and tools, library pathes and such which lead a higher amount of effort to maintain distribution packages. As Alexander pointed out that is not yet a guarantee that everything works (if someone tries to find out the kernel version by means of uname or compiler optimizations by means of -march=native), but it is a good compromise. As Dominig lined out, the accelerated builds for arm are similar to cross compiling, there is the project going on to build Tizen Common with Yocto Project infrastructure and the SDK provides a cross compiler for your convenience. Regards Henning -----Original Message----- From: Dev [mailto:[email protected]] On Behalf Of Dominig ar Foll (Intel OTC) Sent: 11 July, 2014 16:43 To: [email protected] Subject: Re: [Dev] Tizen cross-compilation Le 11/07/2014 15:37, Vitaly Chernooky a écrit : > Hi all! > > Can anybody tell me why Tizen doesn't use plain cross-compilation like > android? > > The current default system used to build Tizen is OBS and OBSes use a chroot to emulate a native build. It has pros and cons. The main pro is the simplicity of the build process which is very similar to a local native build. The main cons is when is come to build for other architectures as QEMU comes in the game. In reality, the heavy build action are also build in a mix Arch in OBS, in order to avoid to run for example the compiler through QEMU. It's not a traditional Cross build but it's very close to it and the performance it is minimal while you still benefit from the simplicity of a 'like native' build model. This is why you see IA repos (32 and 64 bits) in the arm repos on Tizen.org OBS. https://build.tizen.org/project/show?project=Tizen%3ACommon On the other hand, if you are really interested in full cross compilation of Tizen, there is a project looking at building Tizen with Yocto. There wiki page is here : https://wiki.tizen.org/wiki/Tizen_on_yocto It's still early phase but you may want to give it a go. Regards -- Dominig ar Foll Senior Architect Intel Open Source Technology Centre _______________________________________________ Dev mailing list [email protected] https://lists.tizen.org/listinfo/dev Intel GmbH Dornacher Strasse 1 85622 Feldkirchen/Muenchen, Deutschland Sitz der Gesellschaft: Feldkirchen bei Muenchen Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk Registergericht: Muenchen HRB 47456 Ust.-IdNr./VAT Registration No.: DE129385895 Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052 _______________________________________________ Dev mailing list [email protected] https://lists.tizen.org/listinfo/dev
