ubuntu 개발환경 설정 (cross compile - configure 포함)
여러가지 라이브러리들을 새로 다운 받아 컴파일하거나 설치할때 필요한 것들을 체크해둠
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python-dev (Python.h)
$ sudo apt-get install dh-autoreconf (autoreconf)
<build essential>
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo build-essential chrpath
$ sudo apt-get install socat libsdl1.2-dev
$ sudo apt-get install xterm sed cvs subversion coreutils texi2html
$ sudo apt-get install docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils
$ sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff
$ sudo apt-get install curl lzop asciidoc
$ sudo apt-get install gcc-multilib
[common]
$ sudo apt-get install emdebian-archive-keyring
$ sudo apt-get install u-boot-tools
$ sudo apt-get install libncurses5-dev
[gnueabi - arm core 6]
$ sudo apt-get install libc6-armel-cross libc6-dev-armel-cross (의존성 체크에 의한 자동 설치되는 부분인 듯)
$ sudo apt-get install binutils-arm-linux-gnueabi
$ sudo apt-get install gcc-arm-linux-gnueabi
$ sudo apt-get install g++-arm-linux-gnueabi
[gnueabihf - imx6]
$ sudo apt-get install binutils-arm-linux-gnueabihf
$ sudo apt-get install gcc-arm-linux-gnueabihf
$ sudo apt-get install g++-arm-linux-gnueabihf
크로스 컴파일러 configure 설정
export CROSS_COMPILE="arm-linux-gnueabi"
export AR=${CROSS_COMPILE}-ar
export AS=${CROSS_COMPILE}-as
export LD=${CROSS_COMPILE}-ld
export CC=${CROSS_COMPILE}-gcc
export NM=${CROSS_COMPILE}-nm
export RANLIB=${CROSS_COMPILE}-ranlib
# 컴파일 플래그 설정
export CFLAGS=""
export CPPFLAGS=""
# 링크 플래그 설정
export LDFLAGS=""
# 추가 라이브러리
export LIBS=""
환경설정 이후 컴파일(make) 전단계로 configure 설정 필요
./configure --prefix=${TARGETDIR}/build --target=${CROSS_COMPILE} --host=${CROSS_COMPILE} --build=i586-pc-linux-gnu
-----
prefix : 컴파일된 결과물이 저장될 위치
target : 대상 플랫폼 (크로스 컴파일러)
host : 대상 플랫폼 (크로스 컴파일러)
build : 컴파일 플랫폼 (현재 컴파일 시스템)
임베디드 환경에서 오픈 소스를 직접 컴파일해서 라이브러리나 바이너리를 사용하고자 할때
체크해야할 것들 정리