I am trying to use the boost serialization library on Gumstix, and have
run into an interesting issue.
I am using autotools, and in my Makefile.am I have the following:
program_LDADD = -lpthread -lasound -lboost_serialization
This builds fine on my desktop Linux PC, which I use for development.
(Since most of the stuff I am doing at the moment is not Gumstix
dependent, I compile and test on a desktop machine, and then
periodically cross-compile, install and run on the Gumstix Overo, to
see if everything works ok. This saves some time.)
In Bitbake, I have built the boost 1.41 library by typing in "bitbake
boost" at the command line.
However, in order to get the program to cross-compile for Gumstix, it's
necessary to change the LDADD in Makefile.am to this:
program_LDADD = -lpthread -lasound -lboost_serialization-mt
It seems that boost library cross-compiled for Gumstix only includes a
"libboost_serialization-mt.so" file. I could not find a version without
the -mt appended.
My questions are:
Hopefully there is a Bitbake expert out there who can lend a hand to
this Bitbake newbie.
- Is there some way I can get the Makefile.am to auto-detect
whether or not we are building for desktop Linux, or cross-compiling
for Gumstix? This way it could automatically add the "-mt" if building
- Alternatively, is there a different way I can rebuild the boost
library to get rid of the "-mt"?
- Is there an even simpler and more elegant way?