Hi Andre,
On Wed, May 17, 2017 at 11:51:02AM +0200, André Boddenberg wrote:
- make sure embedded builds continue to work by building libosmocore
for embedded as part of the jenkins setup (using gcc-arm-none-eabi debian package). Any volunteers?
Here, I'd like to do this.
great!
Afaics we need some modifications in libosmocore/contrib/jenkins.sh or an additional libosmocore/contrib/jenkins-arm-none-eabi.sh script to build the arm-none-eabi flavor. Any preferences?
I don't know anything about the jenkins setup, so I defer here to the people more familiar with it.
I have sufficient permission to create a test job on Jenkins. to verify that the build slave (gcc-arm-none-eabi) can build libosmocore with changed ./configure invokation. In case of missing dependencies on the build slave I'd reach out do you.
sure, thanks.
But before starting, I need some clarification about the changed arguments of ./configure invokation, because:
Below command works for me [tm]: ./configure --prefix=/usr/local/arm-none-eabi \ --host=arm-none-eabi \ --enable-embedded \ --disable-shared \ CFLAGS="-Os -ffunction-sections -fdata-sections -nostartfiles -nodefaultlibs"
does only succeed when adding "--enable-static" to the arguments.
'--enable-static' will just enable the linking/generation of a static library. It will not disable the dynamic library and do any of the other things.
Can I simply add "--enable-static" or is my build environment not sane? If not how can I fix it?
Ah, I think now I understand. You're saying that the above command quoted from my mail only works if you _also_ add --enable-static? This is interesting, but yes you can simply add it. We could also change the configure.ac to add the --disable-shared and --enable-static automatically when using '--enable-embedded'. We coul dalso do the same for the CFLAGS, as they should be the same for whatever embedded microcontroller one would want to build for. The --host and --prefix should not have any default values, though, and should always be specified by the caller.