Software/Linux2011.04.07 09:54
  1. cd [binutils-build]
  2. [binutils-source]/configure --target=arm-elf --prefix=[toolchain-prefix] --enable-interwork --enable-multilib
  3. make all install
  4. export PATH="$PATH:[toolchain-prefix]/bin"
  5. cd [gcc-build]
  6. [gcc-source]/configure --target=arm-elf --prefix=[toolchain-prefix] --enable-interwork --enable-multilib --enable-languages="c,c++" --with-newlib --with-headers=[newlib-source]/newlib/libc/include
  7. make all-gcc install-gcc
  8. cd [newlib-build]
  9. [newlib-source]/configure --target=arm-elf --prefix=[toolchain-prefix] --enable-interwork --enable-multilib
  10. make all install
  11. cd [gcc-build]
  12. make all install
  13. cd [gdb-build]
  14. [gdb-source]/configure --target=arm-elf --prefix=[toolchain-prefix] --enable-interwork --enable-multilib
  15. make all install
-Warning error 발생시 발생시.
;binutils build시 warining error 발생하여 중단된다면, configure할때 --disable-werror을 준다.
-newlib build시 Makeinfo error 발생 할 경우 Makefile에서 MAKEINFO=/usr/bin/makeinfo로 변경.[Makeinfo가 설치되어있는데 error낸경우].
-arm-elf-cc가 없다고 error 낸경우 arm-elf-gcc로 sybolic link걸어줌: ln -s arm-elf-gcc arm-elf-cc
-soft floating 연산 지원 옵션: --with-float=soft

#gcc configure option
;각 --enable option은 상응하는 -disable option을 가지고, 각 -with option은 상응하는 --without option을 가진다.

--enable-shared[=package[,...]]
;만약 shared library가 target platform에서 지원된다면, Library들의 공유 버전을 빌드.

--with-gnu-as
;compiler는 assembler가 GNU assembler라고 가정한다는 것을 정의.

--with-gnu-ld
;--with-gnu-as와 같이 linker를 GNU linker로 가정.

--disable-multilib
;서로 다른 target 종류를 지원하기 위한 다중 target library를 빌드하지 않는다고 정의.

--enable-languages=lang1,lang2,...
;오직 compiler들의 부분 집합과 그의 runtime library들을 빌드하는것을 정의.

--with-gmp=pathname
--with-gmp-include=
pathname
--with-gmp-lib=
pathname
--with-mpfr=
pathname
--with-mpfr-include=
pathname
--with-mpfr-lib=
pathname
--with-mpc=
pathname
--with-mpc-include=
pathname
--with-mpc-lib=
pathname
;만약 GMP(the GNU Multiple Precision library)를 가지고 있지 않다면, 표준 위치에 설치된 MPFR library 와/또는 MPC library와 GCC를 빌드하기를 원한다면 설치된 디렉토리를 정의.(--with-gmp-gmp_install_dir, --with-mpfr=mpfr_install_dir, --with-mpc=mpc_install_dir)

Cross-Compiler-Specific Options
--with-sysroot
-with-sysroot=dir
;
--with-build-sysroot
--with-build-sysroot=dir

--with-headers
--with-headers=dir
--with-libs
--with-libs="dir1 dir2 ... dirN"
--with-newlib
;newlib는 target C library로 사용되어지는 것을 정의, 이것은 newlib에 의해서 제공되어지는 assumption에서 libgcc.a로부터 생략되어진 __eprintf 때문이다.
--with-build-time-tools=dir
;target tools(assembler, linker, etc)의 셋을 위치를 정의

#Reference
1. http://gcc.gnu.org/install/configure.html

'Software > Linux' 카테고리의 다른 글

U-boot[미완료]  (0) 2011.04.13
Linux 괜찮다~~~~~툴들  (0) 2011.04.12
GNU ARM Toolchain 설치[미완료]  (0) 2011.04.07
MTD nandsim HOWTO for yaffs users[미완료]  (0) 2009.12.02
Gtkwave 설치시 오류  (0) 2009.11.09
Patch file 만들기  (0) 2009.11.06
Posted by Act of God