'build'에 해당되는 글 2건

  1. 2013.08.23 V8 빌드하기
  2. 2013.08.22 크로미엄(chromium) 빌드하기

V8 빌드하기

프로그래밍 2013. 8. 23. 02:01

V8은 크로미엄에 비해 더 간단하지만 나중을 위해 간단히 적어본다.

V8역시 mac을 기준으로 작성한다.


1. 소스 코드 받기

앞서 크로미엄[링크]에서 삽집하게된 이유가 V8을 먼저 빌드했기 때문이다. -_-

V8은 크로미엄과 다르게 파일을 빠르게 checkout[링크]받을 수 있기 때문에 난 당연히 비슷할 줄 알고 checkout받았는데 생각해보니 너무 무식했다.

git clone git://github.com/v8/v8.git v8 && cd v8

2. 코드 동기화

V8는 git을 이용해서 쉽게 최신 파일을 받을 수 있다.

git pull --rebase origin master


3. 빌드

의존파일을 빌드하기

make dependencies

본인에 환경에 맞게 빌드 설정한다. 난 x64로 실행.

build/gyp_v8 -Dtarget_arch=x64

크로미엄과 같이 xcodebuild로 빌드한다. 그리고 난 debug모드에 공유 라이브러리로 빌드한다.

xcodebuild -project build/all.xcodeproj -configuration Debug -Dcomponent=shared_library


4. 실행

정상적으로 빌드를 하면 "v8/xcodebuild/Debug"에 파일들을 확인할 수 있다. shell을 이용하여 인터렉티브하게 실행해볼 수 있고, d8로 스크립트파일을 실행할 수 있다.


자세한 내용은 링크를 참고하면 된다.


Posted by 전용우
,

사실 알고보면 별거 아닌데 대박 삽질해서 다음 빌드때 잊지 않기 위해 정리한다. 난 mac에 설치했는데 타 OS도 큰 차이 없는것 같다.

1. 소스 코드 받기

처음엔 svn으로 받아오려고 했는데 일단 시간도 정말 오래걸리고 중간에 자꾸 끊기는 현상이 발생했다.몇일 개삽질하다가 그냥 소스코드를 내려받음.(링크) 이것도 오래 걸리긴 하는데 끊김이 없다. 나는 여기서 빌드하기 위한 시간의 99% 소비했다.;;


2. 코드 동기화

크로미엄은 정말 수시로 코드가 변하기 때문에 최신 코드를 보려면 동기화를 해야 하는데  이때 gclient을 이용한다.  아래와 같이 실행한다.

gclient sync

만약에 gclient가 없다면 [링크]을 통해 설치하면 된다. 근데, 문제는 동기화하는데 시간이 무지 걸린다. 그래서 내가 받고 싶은 폴더만 받으려면 소스 코드 루트에 .gclient에 설정하면 된다.

나도 왠만하면 하루에 한번씩 하려고 했으나 하루사이에도 엄청 변경되서 요즘엔 거의 동기화 안한다. -_-;

fetch chromium --nosvn=True

1시간 20분 정도 걸림.

3. 빌드하기

최근 맥에서 기본 빌드가 ninja로 변경됬다.[링크]

그래서 아래와 같이 ninja을 이용하여 빌드하면 된다.

 ninja -C out/Debug chrome

근데 만약에 xcode로 빌드하고 싶다면 project를 xcode로 만들면 된다.

xcode로 빌드하는 방법은 build폴더에 있는 gyp_chromium파일에서 ninja를 xcode로 변경하거나 GYP_GENERATORS 환경변수를 xcode로 변경하고 gyp_chromium.py을 실행시켜 xcode프로젝트를 만든 후 아래와 같이 빌드하면 된다

xcodebuild -project chrome.xcodeproj -configuration Debug -target chrome

target을 All 지정하면 모두 빌드하기 때문에 완전 느리다. 그래서 원하는 타켓을 지정하면 된다. 난 chrome만 쓸거니깐 chrome만 빌드.


4. 실행하기

빌드가 정상적으로 완료하면 xcode로 빌드했으면 xcodebuild/Debug, ninja로 빌드했으면 out/Debug에 있는 Chromium.app을 open하면 된다.


보다 자세한 내용은 [링크]를 참고.


ps. 다음엔 비교적 삽질을 덜한 V8빌드하기. 빌드하면 아무것도 안해도 뭔가 한 것 같은 느낌이 ㅋ

Posted by 전용우
,