Usually, to cross-compile autotools-based packages, one do: ./configure --prefix=/usr --host=arm-linux-gnueabi make make DESTDIR=/embedded/target install make DESTDIR=/embedded/staging install
You typically install things twice because in /embedded/target you want to have only the files useful for execution, completely stripped, while in /embedded/staging you want to keep all debugging symbols to help in debugging. /embedded/target goes in your target embedded system, while /embedded/staging is kept on your development machine, and is used to build more applications and to do remote debugging.
Within Qt5, this could be translated as:
./configure -prefix /usr -device <something> make make INSTALL_ROOT=/embedded/target install make INSTALL_ROOT=/embedded/staging install
But Qt5 has host utilities, not only tools for the target. And instead of having to build Qt twice, it nicely allows to do the build of host tools and target libraries in just one build, which is really nice. So, one typically does:
./configure -prefix /usr -hostprefix /embedded/host -device <something> make make INSTALL_ROOT=/embedded/target install make INSTALL_ROOT=/embedded/staging install
Unfortunately, the INSTALL_ROOT does not only impact target libraries, but also the host utilities. So they end up in /embedded/target/embedded/host which obviously isn't correct.
For the moment, I am solving this by doing:
./configure -prefix /usr -hostprefix /embedded/host -sysroot /embedded/staging -device <something> make make install
[링크 : http://lists.qt-project.org/pipermail/interest/2013-January/005447.html] |