The Android for the Openmoko Neo builds its own gps library, maybe you can use that as a template. Have a look at http://git.koolu.org/?p=freerunner/platform/hardware/gps.git;a=summary HTH Ludwig
2009/3/21 Nio <[email protected]>: > > > Hi David, it is not works. I think why I can't build a so named > libgps.so because there is already a libhardware.so in the parent > directory of gps(hardware/libhardware/gps/). If so, I think I can't > build a so like unless I change something refer to that. Ah, do you > know how qualcomm build its libgps.so? > > On 3月20日, 下午10时53分, David Turner <[email protected]> wrote: >> Ah, another reason is to generate libfoo.so, you must name use "LOCAL_MODULE >> := foo" + "include $(BUILD_SHARED_LIBRARY)" >> using "LOCAL_MODULE := libfoo" will probably result in the generate of >> "liblibfoo.so" or something, and the build system might not like it. >> >> I'm just speculating though. >> >> 2009/3/20 David Turner <[email protected]> >> >> >> >> > It might be that there is already another module named gps_hardware >> > somewhere in the build process, and that the error message is related to >> > that. You should really try to call it "gps_fnord.c", assuming "fnord" is a >> > name related to your specific hardware. >> >> > Or just name it "libgps.so" (LOCAL_MODULE := gps) and don't build another >> > one. >> >> > 2009/3/20 Nio <[email protected]> >> >> >> Thanks David, in fact I new a file called gps_hardware.c instead of >> >> gps_qemu.c and i try to build a so called gps_hardware.so.but when I >> >> try to make, >> >> it reminds errors: >> >> build/core/shared_library.mk:20:*** hardware/libhardware/gps: >> >> Illegal use of OVERRIDE_BUILT_MODULE_PATH. >> >> I don't know what was happenning here. >> >> what i have done: >> >> 1.add to Android.mk as follow: >> >> LOCAL_PATH := $(call my-dir) >> >> include $(CLEAR_VARS) >> >> ... >> >> LOCAL_SRC_FILES += gps/gps_hardware.c >> >> LOCAL_SRC_FILES += gps/gps_hardware.c >> >> LOCAL_MODULE := libgps_hardware >> >> include $(BUILD_SHARED_LIBRARY) >> >> >> 2.add to vendor/marvell/littleton/BoardConfig.mk >> >> BOARD_GPS_LIBRARIES := libgps_hardware >> >> >> I have no idea what is wrong with my code. Is there any advices? >> >> Best Regards, >> >> Nio >> >> >> On 3月20日, 下午2时00分, David Turner <[email protected]> wrote: >> >> > You should not need to modify gps_qemu.c at all, and this source file >> >> > doesn't correspond to a stand-alone library; >> >> > instead, it is part of libhardware.so. >> >> >> > What you should do is write your own libgps.so that provides the >> >> following >> >> > function: >> >> >> > const GpsInterface* gps_get_interface(); >> >> >> > which shall return an interface pointer to your custom implementation. >> >> > that's about it. >> >> >> > On Sun, Mar 15, 2009 at 8:37 PM, Nio <[email protected]> wrote: >> >> >> > > Hi there, >> >> > > I change the file gps_qemu.c as to integrate with my GPS. But I dont >> >> > > know how to build a libgps_qemu.so. I have added >> >> > > BOARD_GPS_LIBRARIES := libgps_qemu in the file BoardConfig.mk and >> >> > > added LOCAL_SHARD_LIBRARIES +=$(BOARD_GPS_LIBRARIES) in the file gps/ >> >> > > Android.mk. But when I make, it still tells me there are no rules to >> >> > > create out/target/product/littleton/obj/SHARD_LIBRERIES/ >> >> > > libhardware_intermediates/LINKED/libgps_qemu.so. >> >> > > Can any one give some help? Thanks in advance. >> >> >> > > Best Regards, >> >> > > Nio > > > --~--~---------~--~----~------------~-------~--~----~ unsubscribe: [email protected] website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---
