Wednesday, August 10, 2005

Firefox 1.0.6 + Thai WBR บน Mac

หลังจากที่บ่นไปแล้ว หันกลับมาทำการคอมไพล์ต่อ

หาโน้ตไม่เจอว่าต้องทำยังไงบ้าง ต้องกลับไปอ่านเอกสารคำแนะนำใหม่อีกรอบ คราวนี้เลยรีบจดใส่ BLOG ไว้เลย สรุปว่าคอมไพล์โดย

  1. ติดตั้ง Fink รุ่นเก่าหน่อยสำหรับ Panther คือ 0.7.2 แทน

  2. หลังติดตั้งเสร็จ Fink มันจะเพิ่มหนึ่งบรรทัดใน .cshrc คือ
    test -r /sw/bin/init.csh && source /sw/bin/init.csh
    
    ดังนั้นก็ต้อง source .cshrc ซะก่อน

  3. อัพเดทฐานข้อมูลแพคเกจ และติดตั้งแพคเกจที่จำเป็นในการคอมไพล์ Firefox ดังนี้
    $ sudo tcsh
    $ apt-get update
    $ apt-get install orbit orbit-dev glib zip unzip pkgconfig
    

  4. ติดตั้ง Shared Menus Framework ตามที่อธิบายไว้ในเอกสารของ Firefox คือ ดาวน์โหลด SharedMenusCocoa.dmg.bin แตกมันออกมา แล้วเอา SharedMenusCocoa.framework ที่อยู่ใน SharedMenusCocoa/build ไปใส่ใน /Library/Frameworks

  5. ดาวน์โหลดซอร์ส Firefox 1.0.6 แล้วจัดการระเบิดออก
    $ mkdir BuildFirefox
    $ cd BuildFirefox/
    $ mv ../Desktop/firefox-1.0.6-source.tar.bz2 .
    $ tar jxf firefox-1.0.6-source.tar.bz2
    

  6. ดาวน์โหลด Patch สำหรับตัดคำด้วย cttex จะได้ไฟล์มาชื่อ firefox101-cttex-wbr-b4a.patch.gz แล้วแก้ไขซอร์ส Firefox โดยใช้ Patch นี้
    $ cd mozilla/
    $ zcat ../firefox101-cttex-wbr-b4a.patch.gz | patch -p1
    

  7. สร้างไฟล์ระบุตัวเลือกสำหรับการคอมไพล์ .mozconfig ในโฟลเดอร์ mozilla/ ดังนี้
    $ cat .mozconfig 
    . $topsrcdir/browser/config/mozconfig
    mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/hui-opt-static
    ac_add_options --enable-optimize=-O3
    ac_add_options --disable-debug
    ac_add_options --enable-static
    ac_add_options --disable-shared
    

  8. คอมไพล์ด้วยคำสั่ง
    make -f client.mk build
    
    บนเครื่องที่ใช้ คือ PowerBook รุ่นเก่า (TiBook?) G4 400MHz, 512MB ใช้เวลาประมาณ 3 ชั่วโมง 14 นาที

    ลองเรียกใช้ด้วยคำสั่ง

    ./hui-opt-static/dist/Firefox.app/Contents/MacOS/firefox
    

  9. สร้างแพคเกจ .dmg ด้วยคำสั่ง
    $ cd hui-opt-static/browser/installer
    $ make
    
Firefox 1.0.6 ที่ได้ ใส่อยู่ในหน้า

Firefox + Thai WBR สำหรับ Mac OS X

1 comment:

Mk said...

ลองบน Tiger ทำงานได้ดีไม่มีปัญหาครับ

วิธีการ build บน Tiger นี่ตกลงต้องทำอย่างไรครับ เผื่อจะ build Deer Park ใช้เองบ้าง