纬度之外
荒凉过的田野, 才埋的下新鲜的种子

【Apple & Orange】How to build Elinks in Mac OS X

Elinks is another good text modle web browser, is support frame, table, css, etc, and is more compatible than lynx, however, it does not support i18n, so it can not display Chinese.
Before the compiling process, make sure that you have Xcode installed.

Step 1: Get ssl support! Elinks will need gnutls or openssl to support ssl site, however, i just can not get openssl installed, so i use gnutls instead. In order to install gnutls, you need another two library file, libgpg-error and libgcrypt.

1. get libgpg-error from ftp://ftp.gnupg.org/gcrypt/libgpg-error/
install it by:
$./configure
$make
$sudo make install
2. get libgcrypt from ftp://ftp.gnupg.org/gcrypt/libgcrypt/
$./configure
$make
$sudo make install
3. get gnutls from ftp://ftp.gnutls.org/pub/gnutls/
(You also need the head file for gnutls, which is not included in the release folder. that is why you need the following step 4.)
4. get campat4.h from http://josefsson.org/cgi-bin/viewcvs.cgi/*checkout*/gnutls/includes/gnutls/Attic/compat4.h
put it into gnutls folder.
5. install gnutls
$./configure
$make
$sudo make install

(In order to support Javascript, you also need spinemonkey, but there is something wrong with that. this is discussed in the end. So now we just dont bother much on JS)
6. Finally, you can compiling Elinks.
get elinks from http://elinks.or.cz/download/elinks-0.10.3.tar.bz2
$tar zxvf elinks-0.10.3.tar.bz2
$cd elinks-0.10.3
$./configure
$make
$sudo make install

More about the Javascript support:

The Ordinary process to get Javascript support is as follows, this is needed to be done before you compiling elinks:

1. get JavaScript library from http://ftp.mozilla.org/pub/mozilla.org/js/js-1.5-rc6a.tar.gz
2. expand it.(this will create a js direction)
3. make a patch file by doing:
$touch js.patch
$pico js.patch

and paste these content in:(excluded those #)

#################################

This quick'n'dirty patch enables relatively painless SpiderMonkey installation.
See doc/ecmascript.txt for details.

diff -ru js-1.5-rc6a/src/config.mk js-1.5-rc6a+elinks/src/config.mk
--- js-1.5-rc6a/src/config.mk    Sat Nov 15 01:10:55 2003
+++ js-1.5-rc6a+elinks/src/config.mk    Wed Sep 22 16:32:12 2004
@@ -37,10 +37,15 @@
 #
 # ***** END LICENSE BLOCK *****
 
+BUILD_OPT=1
+ifndef PREFIX
+PREFIX = /opt/spidermonkey
+endif
+
 ifdef JS_DIST
 DIST = $(JS_DIST)
 else
-DIST = $(DEPTH)/../../dist/$(OBJDIR)
+DIST = dist/
 endif
 
 # Set os+release dependent make variables
diff -ru js-1.5-rc6a/src/jsconfig.mk js-1.5-rc6a+elinks/src/jsconfig.mk
--- js-1.5-rc6a/src/jsconfig.mk    Sat Nov 15 01:10:56 2003
+++ js-1.5-rc6a+elinks/src/jsconfig.mk    Wed Sep 22 16:34:28 2004
@@ -104,8 +104,8 @@
     echo $(NSPR_VERSION) > $(NSPR_VERSIONFILE)
 endif
 
-SHIP_DIST  = $(MOZ_DEPTH)/dist/$(OBJDIR)
-SHIP_DIR   = $(SHIP_DIST)/SHIP
+SHIP_DIST  = $(DIST)
+SHIP_DIR   = $(PREFIX)
 
 SHIP_LIBS      = libjs.$(SO_SUFFIX) libjs.a
 ifdef JS_LIVECONNECT
@@ -117,7 +117,7 @@
     SHIP_LIBS += jsj.dll jsj.lib
   endif
 endif
-SHIP_LIBS     += $(LCJAR)
+#SHIP_LIBS     += $(LCJAR)
 SHIP_LIBS     := $(addprefix $(SHIP_DIST)/lib/, $(SHIP_LIBS))
 
 SHIP_INCS      = js*.h prmjtime.h resource.h *.msg *.tbl
@@ -144,6 +144,14 @@
   JSREFJAR = jsref_dbg.jar
 endif
 endif
+
+install:
+    mkdir -p $(SHIP_DIR)/$(LIBDIR)
+    mkdir -p $(SHIP_DIR)/include
+    mkdir -p $(SHIP_DIR)/bin
+    cp $(SHIP_LIBS) $(SHIP_DIR)/$(LIBDIR)
+    cp $(SHIP_INCS) $(SHIP_DIR)/include
+    cp $(SHIP_BINS) $(SHIP_DIR)/bin
 
 ship:
     mkdir -p $(SHIP_DIR)/$(LIBDIR)
#################################

4. save and exit the js.patch file.
5. Patch the js file using js.patch
$cd js
$patch -p1 <../js.patch
$cd src
6. Change the path
$ sed 's#^PREFIX = /opt/spidermonkey#PREFIX = /usr/local#' < config.mk > config.mk.t
$ mv -f config.mk.t config.mk
7. Build make file
$ make -f Makefile.ref
$ make -f Makefile.ref export
8. Install
$ su -c 'make -f Makefile.ref install && (ldconfig -v | grep libjs)'
[noted by littleboy: you need to use this in Mac:
$ sudo make -f Makefile.ref install && (ldconfig -v | grep libjs)
]

Everything goes well except the final install step, because ldconfig command can not be found in Mac OS X, so the install process can not be completed. I have done lots of search, but still can not find ways to get this step done. Anyone get any idea, please feel free to drop me a email at guoweiokey@yahoo.com

Refference:
JavaScript support for Emacs

8412
纬度 @3/31/2005 3:46:35 PM
View blogs in this category:Apple & Orange


Please leave your comment here

 
  名字:
  主页:
  内容:
 

   


Navigation
Blogwind
纬度之外首页
Contact


个人档案


荒凉过的田野, 才埋的下新鲜的种子



Categories
CG & Design(40)
Literature & Essays(110)
Photo & Graphy(41)
IT & Life(113)
Apple & Orange(54)
Citi & Finance(18)
Picture & Quote(11)
Music & Motion(20)



Archive
2008年10月
2008年9月
2008年8月
2008年7月
2008年6月
2008年5月
2008年4月
2008年3月
2008年2月
2008年1月
2007年12月
2007年11月
2007年10月
2007年9月
2007年8月
2007年7月
2007年6月
2007年5月
2007年4月
2007年3月
2007年2月
2007年1月
2006年12月
2006年11月
2006年10月
2006年9月
2006年8月
2006年7月
2006年6月
2006年5月
2006年4月
2006年3月
2006年2月
2006年1月
2005年12月
2005年11月
2005年10月
2005年9月
2005年8月
2005年7月
2005年6月
2005年5月
2005年4月
2005年3月
2005年2月
2005年1月
2004年12月
2004年11月
2004年10月
2004年9月
2004年8月
2004年7月
2004年6月
2004年5月
2004年4月
2004年3月
2004年2月
2004年1月
2003年12月



My Links
5D论坛
AI Club
AppleInsider
Daisy的博客
Economist
Forgotten Realm
Livy
Mobile Review
My Facebook Page
My Google Notebook
Spread Firefox
Stella的博客
冰火谷论坛
渤麦堂
超越起点 追随自由
豪哥
黄嘴企鹅论坛
康的影集
蓝色梦想
麦客发烧友
糖果儿
伟哥的博客
我的blogger
我的诗集
我的相册
小懒窝
瑶瑶的博客
中国Photoshop联盟
庄瑾的space

RSS 2.0

Username:
Password:
 Remember me