ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 크로스 컴파일러 설치
    OS 2018. 6. 15. 03:59

    Cygwin_x86 (32bit) 설치

    다운로드 : https://www.cygwin.com


    미러링 사이트 선택

    - ftp://ftp.kr.freebsd.org


    패키지 파일 설치

    +Devel
    binutils - Only Binary
    bison - Only Binary
    flex - Only Binary
    gcc-core - Both Source and Binary
    gcc-g++ - Only Binary
    libtool - Only Binary
    make - Only Binary
    patchutils - Only Binary
    texinfo - Only Binary

    +Libs
    libiconv-devel - Only Binary
    libintl-devel - Only Binary
    libgmp-devel - Only Binary
    libmpfr-devel - Only Binary
    libmpc-devel - Only Binary
    libncurses-devel - Only Binary


    Cygwin 환경변수 추가

    - C:\cygwin\bin
    - C:\cygwin\usr\cross\bin

    GNU Binutils 생성하기 

    1. 소스 다운로드 : http://ftp.gnu.org/gnu/binutils ( bintuils 바이너리와 버전이 같아야함; 다운로드 위치 : /usr/src )

    2. cygwin 관리자 권한으로 실행


    3. Binutils 소스 파일 압축 해제

    $ cd /usr/src

    $ tar -xvf binutils-2.29.1.tar.bz2


    4. 플랫폼 및 경로 설정 ( 환경변수 설정 )

    $ export TARGET=x86_64-pc-linux

    $ export PREFIX=/usr/cross


    5. 플랫폼, 디렉터리, 64비트 지원과 관련된 빌드 옵션 설정

    $ ./configure --target=$TARGET --prefix=$PREFIX --enable-64-bit-bfd --disable-shared --disable-nls


    6. 빌드 환경에 대한 정보 수집

    $ make configure-host


    7. Binutils 빌드

    $ make LDFLAGS="-all-static"


    8. Bintuils 설치

    $ make install


    9. Bintuils 설치 확인

    $ /usr/cross/bin/x86_64-pc-linux-ld --help | grep "supported "


    GCC 크로스 컴파일하기

    1. GCC 소스 압축 파일 복사

    $ cd /usr/src

    $ cp gcc-7.3.0-2.src/gcc-7.3.0.tar.xz .


    2. GCC 소스 파일 압축 해제

    $ tar -xvf gcc-7.3.0.tar.xz


    3. 플랫폼 및 경로 설정 ( 환경변수 설정 )

    $ export TARGET=x86_64-pc-linux

    $ export PREFIX=/usr/cross

    $ export PATH=$PREFIX/bin:$PATH


    4. 플랫폼, 디렉터리, 64비트 지원과 관련된 빌드 옵션 설정

    $ ./configure --target=$TARGET --prefix=$PREFIX --disable-nls --enable-languages=c --without-headers --disable-shared --enable-multilib


    5. 빌드 환경에 대한 정보 수집

    $ make configure-host


    6. 빌드 과정에서 사용하는 라이브러리 복사

    $ cp /lib/gcc/i686-pc-cygwin/7.3.0/libgcc_s.dll.a /lib/gcc/i686-pc-cygwin/7.3.0/libgcc_s.a

    $ cp /lib/libmpfr.dll.a /lib/libmpfr.a

    $ cp /lib/libgmp.dll.a /lib/libgmp.a


    7. GCC 빌드

    $ make all-gcc


    8. GCC 설치

    $ make install-gcc


    9. GCC 설치 확인과 32비트/64비트 지원 유뮤

    $ /usr/cross/bin/x86_64-pc-linux-gcc -dumpspecs | grep -A1 multilib_options

    'OS' 카테고리의 다른 글

    개요  (0) 2018.06.15
Designed by Tistory.