In reply to my previous mail :

Chaning to _NP was required to compile it indeed.

I took some arguments to correctly build it from a package in buildroot, since im building for uclinux, which is also done with buildroot.
Other arguments where derived from a collegue who is also building applications with the c6x-uclinux compiler..

I actually haven't passed the test-suite as I'm facing some problems with the fork() statement, which isn't supported by the uclinux.
I should change to vfork() but Im looking to do so without changing all the code. Is it possbile to make a define fork() vfork() somewhere in the makefile?


next, APR does not generate a static library (libapr.so file) but only a static library (libapr.la). I have tried everything to change this but all tries were unsuccesfull.
Any ideas how this should or could be done? I need the static library for another project that uses APR.

Thanks in advance,


2012/5/2 Jonathan Melissant <jonathanmelissant@gmail.com>

I've managed to compile APR for the Texas Instruments c6x architecture.
However, I had to make a small modification to /locks/unix/thread_mutex.c:

at line 60, i've changed:

        rv = pthread_mutexattr_settype(&mattr, PTHREAD_MUTEX_RECURSIVE);


  rv = pthread_mutexattr_settype(&mattr, PTHREAD_MUTEX_RECURSIVE_NP);

Maybe this can be automated by specifying an extra define in case of c6x architecture?
I'm not really familiar enough to do this myself.


PS: Building APR was done by issueing:

ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes apr_cv_process_shared_works=yes apr_cv_mutex_robust_shared=yes apr_cv_tcp_nodelay_with_cork=yes ac_cv_sizeof_struct_iovec=8 apr_cv_mutex_recursive=yes ./configure --host=c6x --prefix=$(pwd)/output CC=/opt/gcc-c6x/bin/c6x-uclinux-gcc AR=/opt/gcc-c6x/bin/c6x-uclinux-ar IDL_CPP=cpp ARFLAGS=rv CFLAGS=-lpthread --disable-ipv6

make && make install