LINUX.ORG.RU

Помогите собрать I2C tools под андройд


0

1

Исходники взял тут: http://freshmeat.net/projects/i2ctools
Пытался собрать по этому описанию: http://boundarydevices.com/blogs/i2c-tools-under-android

Суть которого в распаковке исходников в hardware/ и добавление вот этого make-файла:

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := eng
LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/include
LOCAL_SRC_FILES := tools/i2cbusses.c tools/util.c
LOCAL_MODULE := i2c-tools
include $(BUILD_STATIC_LIBRARY)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := eng
LOCAL_SRC_FILES:=tools/i2cdetect.c
LOCAL_MODULE:=i2cdetect
LOCAL_CPPFLAGS += -DANDROID
LOCAL_SHARED_LIBRARIES:=libc
LOCAL_STATIC_LIBRARIES := i2c-tools
LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/include
include $(BUILD_EXECUTABLE)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := eng
LOCAL_SRC_FILES:=tools/i2cget.c
LOCAL_MODULE:=i2cget
LOCAL_CPPFLAGS += -DANDROID
LOCAL_SHARED_LIBRARIES:=libc
LOCAL_STATIC_LIBRARIES := i2c-tools
LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/include
include $(BUILD_EXECUTABLE)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := eng
LOCAL_SRC_FILES:=tools/i2cset.c
LOCAL_MODULE:=i2cset
LOCAL_CPPFLAGS += -DANDROID
LOCAL_SHARED_LIBRARIES:=libc
LOCAL_STATIC_LIBRARIES := i2c-tools
LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/include
include $(BUILD_EXECUTABLE)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := eng
LOCAL_SRC_FILES:=tools/i2cdump.c
LOCAL_MODULE:=i2cdump
LOCAL_CPPFLAGS += -DANDROID
LOCAL_SHARED_LIBRARIES:=libc
LOCAL_STATIC_LIBRARIES := i2c-tools
LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/include
include $(BUILD_EXECUTABLE)
make отработал, но исполняемых файлов я нигде не нашел.
aleksey@aleksey:~/p500$ make i2c-tools
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.3.5
TARGET_PRODUCT=cyanogen_thunderg
TARGET_BUILD_VARIANT=user
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=GINGERBREAD
============================================
find: `out/target/common/docs/gen': Нет такого файла или каталога
find: `out/target/common/docs/gen': Нет такого файла или каталога
find: `out/target/common/docs/gen': Нет такого файла или каталога
find: `out/target/common/docs/gen': Нет такого файла или каталога
find: `out/target/common/docs/gen': Нет такого файла или каталога
build/core/Makefile:21: предупреждение: переопределение команд для цели `out/target/product/thunderg/root/init.rc'
system/core/rootdir/Android.mk:38: предупреждение: старые команды для цели `out/target/product/thunderg/root/init.rc' игнорируются
build/core/Makefile:21: предупреждение: переопределение команд для цели `out/target/product/thunderg/system/etc/init.local.rc'
build/core/Makefile:21: предупреждение: старые команды для цели `out/target/product/thunderg/system/etc/init.local.rc' игнорируются
build/core/Makefile:21: предупреждение: переопределение команд для цели `out/target/product/thunderg/system/lib/hw/gralloc.default.so'
build/core/base_rules.mk:479: предупреждение: старые команды для цели `out/target/product/thunderg/system/lib/hw/gralloc.default.so' игнорируются
build/core/Makefile:21: предупреждение: переопределение команд для цели `out/target/product/thunderg/system/lib/liba2dp.so'
build/core/base_rules.mk:479: предупреждение: старые команды для цели `out/target/product/thunderg/system/lib/liba2dp.so' игнорируются
build/core/Makefile:21: предупреждение: переопределение команд для цели `out/target/product/thunderg/system/bin/rild'
build/core/base_rules.mk:479: предупреждение: старые команды для цели `out/target/product/thunderg/system/bin/rild' игнорируются
build/core/Makefile:21: предупреждение: переопределение команд для цели `out/target/product/thunderg/system/lib/libril.so'
build/core/base_rules.mk:479: предупреждение: старые команды для цели `out/target/product/thunderg/system/lib/libril.so' игнорируются
No private recovery resources for TARGET_DEVICE thunderg
target thumb C: i2c-tools <= hardware/i2c-tools-3.0.3/tools/i2cbusses.c
target thumb C: i2c-tools <= hardware/i2c-tools-3.0.3/tools/util.c
target StaticLib: i2c-tools (out/target/product/thunderg/obj/STATIC_LIBRARIES/i2c-tools_intermediates/i2c-tools.a)
Под андройд раньше ничего не собирал. Подскажите что надо поправить.

★★★★★

Последнее исправление: ls-h (всего исправлений: 1)

>make отработал, но исполняемых файлов я нигде не нашел.

target StaticLib: i2c-tools (out/target/product/thunderg/obj/STATIC_LIBRARIES/i2c-tools_intermediates/i2c-tools.a)

i2c-tools.a



А с чего ты взял, что должны быть исполняемые файлы? Тебе дают библиотеку, пользуйся.

gnu-eabi
()
Ответ на: комментарий от gnu-eabi

А это не оно: include $(BUILD_EXECUTABLE)
Вообще мне нужны утилиты (i2cget, i2cset, etc), именно исполняемые файлы. Подскажите как собрать.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от Led

Это такой толстый троллинг?
Ну, давай, запусти софтинку полученную по приведенной тобой команде на андройд устройстве.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

>Это такой толстый троллинг?

Это был намёк на то, что поставь собранную, если не можешь собрать.

Led ★★★☆☆
()
Ответ на: комментарий от Led

Ну а где ее собранную взять? Я не нашел. Сильно сомневаюсь что будет работать от какой нибудь армовской убунты, т.к. на андройде даже libc другая. Нужна статически собранная под armv6, но я такую что-то не нагуглил.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

> libc другая. Нужна статически собранная под armv6, но я такую что-то не нагуглил.

В android не только libc другая, там интерпретатор другой (/system/bin/linker вроде). Но так как это всё ещё linux, можно притащить свой интерпретатор, разложить в своей директории всё как в gnu и запускать как

./lib/ld-linux.so.3 ./bin/твой-бинарник

У меня запускалось.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.