So I downloaded the open source portable upnp sdk from sourceforge ( http://sourceforge.net/projects/pupnp/ ) and went to work trying to compile it for the iphone
Basically, I just ran configure with:
Code:
./configure --host=arm-apple-darwin
The resulting makefile did not have the correct paths to GCC, so I changed a few paths in the file to point to heavenly, the correct location for the arm-apple-darwin gcc and updated the LDFLAGS and CFLAGS
It makes it pretty far into the build then dies. It seems like i'm getting stuck at the same part that I got stuck with in perl, the EXPAT library.
Here is some of the error message:
Code:
/usr/local/bin/arm-apple-darwin-nm -p src/ssdp/.libs/libupnp_la-ssdp_device.o src/ssdp/.libs/libupnp_la-ssdp_ctrlpt.o src/ssdp/.libs/libupnp_la-ssdp_server.o src/soap/.libs/libupnp_la-soap_device.o src/soap/.libs/libupnp_la-soap_ctrlpt.o src/soap/.libs/libupnp_la-soap_common.o src/genlib/miniserver/.libs/libupnp_la-miniserver.o src/genlib/service_table/.libs/libupnp_la-service_table.o src/genlib/util/.libs/libupnp_la-membuffer.o src/genlib/util/.libs/libupnp_la-strintmap.o src/genlib/util/.libs/libupnp_la-upnp_timeout.o src/genlib/util/.libs/libupnp_la-util.o src/genlib/client_table/.libs/libupnp_la-client_table.o src/genlib/net/.libs/libupnp_la-sock.o src/genlib/net/http/.libs/libupnp_la-httpparser.o src/genlib/net/http/.libs/libupnp_la-httpreadwrite.o src/genlib/net/http/.libs/libupnp_la-statcodes.o src/genlib/net/http/.libs/libupnp_la-webserver.o src/genlib/net/http/.libs/libupnp_la-parsetools.o src/genlib/net/uri/.libs/libupnp_la-uri.o src/gena/.libs/libupnp_la-gena_device.o src/gena/.libs/libupnp_la-gena_ctrlpt.o src/gena/.libs/libupnp_la-gena_callback2.o src/api/.libs/libupnp_la-upnpapi.o src/api/.libs/libupnp_la-upnptools.o src/uuid/.libs/libupnp_la-md5.o src/uuid/.libs/libupnp_la-sysdep.o src/uuid/.libs/libupnp_la-uuid.o src/urlconfig/.libs/libupnp_la-urlconfig.o | sed -n -e 's/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p' | /usr/bin/sed 's/.* //' | sort | uniq > .libs/libupnp.exp
/usr/local/bin/arm-apple-darwin-nm: no name list
/usr/bin/grep -E -e "^Upnp.*" ".libs/libupnp.exp" > ".libs/libupnp.expT"
mv -f ".libs/libupnp.expT" ".libs/libupnp.exp"
sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < .libs/libupnp.exp > .libs/libupnp-symbols.expsym
make[3]: *** [libupnp.la] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Anyone have some tips on getting the upnp samples compiled for the iphone, or for that matter compiling any sourcecode that was written for a POSTIX OS? Maybe the toolchain is still too new to deal with things like autoconfigure ? Even if this did work, it's in C and a command line program. I still have no idea how I can get the data from there into a Cocoa application to display a UI to the screen. Can Cocoa code call C functions? I guess I still have a lot to learn...
I think in the meantime I will try to get it to compile for OSX and see if I can write some code to make it subscribe to the Sonos and send basic transport commands.
Bookmarks