11월, 2011의 게시물 표시

android library cross compile 하기

cross compile 을 할려고 하는 놈의 Makefile 에 CROSS_COMPILE ?= /home/toolchain/armv6 /codesourcery/bin/arm-none-linux-gnueabi- 부분에 원하는 cross compiler 의 경로를 입력하면 됩니다. 그 밖에 CROSS_COMPILE 의 경로를 make 에 option 으로 줄 수도 있으나 그건 다른 곳에서 참조 하시길.

how to check android cross compiler version

mydroid directory 에서 1.Android build setup . ./build/envsetup.sh 입력 ( 아래와 같이 세팅된다. ) including device/htc/passion/vendorsetup.sh including device/samsung/crespo/vendorsetup.sh including device/samsung/crespo4g/vendorsetup.sh 2. compile library mmm command 로 external 아래에 있는 directory 중 하나를 선택하여 실행 할 때 mmm external/bzip2/ V=1 V=1이라고 option을 줄 경우 command line 에 prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc ... 과 같이 출력됨을 확인 할 수 있다. V=1 은 verbos Android 에서 make 을 할 경우 prebuilt/linux-x86/toolchain/arm-eabi-4.4.3 /bin/arm-eabi 을 이용하여 컴파일 하는 것을 확인 할 수 있다.
http://tequiero35.egloos.com/m/1634462

make libcamera showcommands

make 사용 시 어떤 파일들을 include 하고 있는 알고 싶을 경우 make [빌드할name] showcommands 를 사용한다. 분석하게 된 이유 Android Camera 관련 부분을 분석 하다가 /device/samsung/crespo/libcamera/SecCameraHWInterface.h 에서 아래와 같은 #include <camera/CameraHardwareInterface.h> 해더 파일을 include 하는 구문을 만나게 된다. 그런데, Local에 있는 Android.mk 파일에는 어느 곳에도 CameraHardwareInterface.h 를 포함하고 있지 않다. 어디서 가져와서 include 하는지 알고 싶어졌다. 확인 방법 Android 의 경우 find . -type f -name "*.mk" -exec grep -H "TARGET_PROJECT_INCLUDES" {} \; 와 같이 검색을 할 경우 ./build/core/config.mk 에서 SRC_HEADERS := \         $(TOPDIR)system/core/include \         $(TOPDIR)hardware/libhardware/include \         $(TOPDIR)hardware/libhardware_legacy/include \         $(TOPDIR)hardware/ril/include \         $(TOPDIR)dalvik/libnativehelper/include \    ...