GN (빌드 시스템)

위키백과, 우리 모두의 백과사전.

GN(Generates Ninja build files)은 닌자(Ninja)로 응용프로그램 프로젝트를 구축 할 수 있도록 Ninja 빌드 파일을 생성하는 메타 빌드 시스템이다.[1]

GYP의 차세대 메타 빌드시스템[편집]

  • GN 파일은 GYP 파일보다 읽기 쉽고 유지 관리가 쉽다.[2]
  • GN은 GYP보다 최대 약20 배 빠르다.
  • GN은 빌드의 일부로 Ninja가 필요에 따라 자동으로 다시 실행되도록 지원한다. 이렇게하면 빌드 파일을 변경할 때 GN을 다시 실행하는 것을 기억할 필요가 없다.
  • GN은 의존성 적용을 위한 더 나은 도구를 제공한다 (gn check 및 visibility, public_deps 및 data_deps 옵션 참조).
  • GN은 빌드 트리 그래프를 쿼리하기 위한 도구를 제공한다. 예를 들어 "X가 의존하는 것"과 "X에 의존하는 것"을 조회할 수 있다.

크로미움 프로젝트와의 관계[편집]

크로미움 프로젝트에의한 GN 프로젝트는 닌자(Ninja)로 크로미움(Chromium)을 빌드 할 수 있도록 Ninja 빌드 파일을 생성하는 메타 빌드 시스템이다.

2016년 10월 기준으로 모든 Chromium 빌드가 GYP에서 GN으로 전환되었다. 거의 모든 GYP 파일이 크로미움 저장소(Chromium repos)에서 대체되었다. 결과적으로 더 이상 GYP로 빌드 할 수 없다.

변환할 필요가있는 "Closure Compilation"빌더를위한 GYP 파일이 여전히 남겨져있다. 일부 관련 프로젝트 (예 : V8, Skia)는 여전히 자체적인 이유로 GYP를 지원할 수 있다. 아직도 gclient가 GYP_DEFINES를 사용하는 것과 같은 기능을 남겨놓고 있다.

같이 보기[편집]

각주[편집]

  1. What is GN? Archived 2017년 6월 30일 - 웨이백 머신
  2. GN Archived 2017년 2월 11일 - 웨이백 머신