首先要知道SpiderMonkey是个什么玩意 详细的可以看看这里(当然,如果你有google翻译的话看起来也一样费劲,你可以在语言那里选择中文。看完了再转回英文~因为中文有很多文档都没有的,比如:BUILD文档~):

https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey

好吧,看完之后大概知道这就是个让C植入的JS引擎,也用于FF(让我想起了最终幻想和超时空要塞~嘛 看不懂的码农这几年的地白耕了~)浏览器。好的~ 让我们开始吧~

在开始之前,如果想自己挑战一下的话可以参考这两个地方:

https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/Linux_Prerequisites (BUILD前准备,Linux~)

https://developer.mozilla.org/en-US/docs/SpiderMonkey/Build_Documentation (BUILD文档)

https://developer.mozilla.org/en-US/docs/SpiderMonkey/Setting_up_CDT_to_work_on_SpiderMonkey (加入到CDT环境中,就是Eclipse啦~)

首先呢,要在上面的连接内找到源码下载的传送门,然后,下载~

然后去Eclipse官网 下载 “Eclipse IDE for C/C++ Developers” 这个:

http://www.eclipse.org/downloads/

然后把下载下来的两个东西都解压了,那个 我们这里的是Fedora的系统哦~ 其实其他Linux都一样的拉~ 大概~

然后然后看那个build前准备的连接,找到RedHat那里(那个,可能玩开Linux的都知道,我就罗索一下~Fedora其实是RedHat分离出的一个开源项目,听说很多新尝试都会先用在Fedora上~写这篇文章的时候 Fedora已经是第19个版本了~)。其实就是在终端输入以下命令:

sudo yum groupinstall 'Development Tools' 'Development Libraries' 'GNOME Software Development'
sudo yum install mercurial autoconf213 glibc-static libstdc++-static yasm wireless-tools-devel mesa-libGL-devel alsa-lib-devel libXt-devel gstreamer-devel gstreamer-plugins-base-devel
# 'Development tools' is defunct in Fedora use the following
sudo yum groupinstall 'C Development Tools and Libraries'

然后呢,就是各种漫长的等待~(可以去LYF DYP什么的~ (= _, =) )

然后就是编译了~那个就按照文档上面说的去做就好,看文档这部分(Advanced build)

#那个#就是终端的注释符
#但是如果把这个也复制进去的话产生什么不良后果在下不承担的哦~
#开始吧~ 首先是打开源码包下js/src
cd js/src
#这个目测是自动配置?不知道是什么,没研究过C,反正执行后也没什么反馈~
autoconf-2.13

#-------Release BUILD--------
#这个是在当前目录下新建一个文件夹用于存放BUILD出来的东西~
mkdir build-release
#进入这个文件夹
cd build-release
#在这个文件夹内生成MakeFile
../configure
#这个~~就是开始编译啦~~
make
cd ..

#------Debug Build------
mkdir build-debug
cd build-debug
../configure --enable-debug --disable-optimize
make

又是一个漫长的等待~然后会看见好多的警告什么的,但是在Build-release和build-debug的文件夹内有东西了~好的,现在已经成功了一半了~

在这里说下release版和debug版的区别,release就是用于发布的,debug是用于debug的,完毕。

好了,该说下怎么融入到Eclipse了,如果喜欢终端的高手们可以绕路了~但是能用终端编译的估计也不会看到这里了~

好的,首先呢解压刚才的Eclipse安装包~是的 解压完了就是安装完了~~ (我擦 从头到脚都是绿油油的绿色软件啊~ Windows脸都红了~ 叫我这个忠实的Win使用者情何以堪,这打击就像当年刚认识毛片的时候一样沉重啊~~)

以下内容参考了那个CDT的文档

好的,然后就双击那个一直在叫 “打开我,打开我” 的图标 然后她会叫你选Workplace 好的 我随便选了一个 然后就是把引擎放到里面去了~ 呵呵~~

File > New > Makefile Project with Existing Code

Name 的话随便一个就好~ Browser… 里面把路径选中到 js/src 这里,下面那个框框选Linux自带的编译器就好了~ 然后Finish~

现在你就把引擎插进Eclipse了~ 但是呢~~ 好的 是放进~~ 但是呢 ~~ 好吧。。。我承认文字有一定误导色彩~

好的。。但是呢 Eclipse默认是Build在工作目录下的但是由于工作目录不是我们刚才build的 我们刚才是体内build的(当然也可以体外build啦~)所以还得选择回刚才我们build的地方~

右健Project Explorer的根结点选择Properties 然后在单击C/C++ Build那里 在右边的面板看到Build Location。然后单击File Sysem...选中刚才编译出来的两个文件夹的其中一个~就是Re和De的一个~ (在这里要说明一下的, 这个location里面必须要有MakeFile的 否则是不能通过Eclipse来编译的~~)

然后在Behaviour里面找到Build 把右边输入框中的all删了就行了~

文档上还需要做很多改动~ 但是实践下来,把上面的改了就OK了~

然后自己build一下会发现n多错误~没关系 貌似是没关联上而已~ 这个时候 你只要run一下~ 发现其实还是能跑的通的~~ 好神奇哦~ 不明觉历啊~~

然后说说体外的事情~ 其实刚开始我是把Build build到体外的~ 就是项目外~ 但是发现用Eclipse来Run Run不了(报了一个错误,大概就是找不到方法什么的)~ 然后我把build出来的东西加到Eclipse里面就行了~

然后思考了一下~ 参照回VS的build都是体内的~ 这个 我突然就释然了~ 好吧 体内就体内吧~

然后呢 这个总算是在Linux上编译成功了一个东西~ 感觉很不错~ 国庆就没了~ 公司奇葩的放假让我跟我的小伙伴不能一起玩~ 29 30 12345~ 这。。。所以也就拿这个打发打发时间~

好的 往后再看看这个引擎怎么玩的 写段demo出来 大概就完事了~ 7天 除了打机看片 看片打机(呵呵 说的是三个事情~) 总算是做了件有意义的事情~

好吧 有点色色的感觉~ 反正也不封面 爱转就转呗~

---- write by 博客园 godssl. Welcome to visit my blog~

说下Fedora下把SpiderMonkey放入Eclipse内编译的过程的更多相关文章

  1. Eclipse 反编译之 JadClipse

    一:下载对应的 net.sf.jadclipse_x.x.x.jar ,把该jar包放入到Eclipse中的 plugins 目录下,下载地址:https://sourceforge.net/proj ...

  2. 关于LLVM源码在Linux下编译的过程

    1. 最好在gitee上查找llvm的源码或者直接git clone https://gitee.com/uniquesquirrel/llvm-project.git,是和github上的llvm项 ...

  3. WebContent下新建目录放入jsp,跳转servlet页面出错解决

    为方便分类jsp文件,于是在web-content下新建了一级目录,将jsp文件放入其中,结果原本跳转的servlet出现404错误: 解决如下: 在用eclipse创建的servle会自动生成一个注 ...

  4. java通过文件路径读取该路径下的所有文件并将其放入list中

    java通过文件路径读取该路径下的所有文件并将其放入list中   java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍 ...

  5. target存放的是编译后的.class文件地方 默认情况下不会讲非class文件放入进入 如果要使用非.class文件 需要通过增加配置方式自动加入文件

    target存放的是编译后的.class文件地方 默认情况下不会讲非class文件放入进入 如果要使用非.class文件 需要通过增加配置方式自动加入文件

  6. 润乾V4报表放入WEBINF保护目录下如何实现

     润乾报表放入WEBINF保护目录下如何实现 WEB-INF下面的文件都是受保护的,客户为了保护项目的文件不受到非法的访问,jsp页面都放在WEB-INF下,那润乾报表放入WEB-INF保护目录下 ...

  7. 如何将数据放入下拉框List值

    最近在做下拉框,里面放入值大概有这几种 //仓库业务类型 第一种 model.addAttribute("warehouseBizTypeList", basePropertySe ...

  8. 【转】【Android测试技巧】01. root后adb shell默认不是root用户时,如何将文件放入手机系统中

    http://blog.csdn.net/wirelessqa/article/details/8624208 有些机器root后通过adb shell 后,默认不是root用户,需要输入 su才能切 ...

  9. 用MT.exe将exe中的manifest文件提取出来和将manifest文件放入exe中

     前一种方法是将manifest文件放入exe中,但是要记得需要在工程中设置 这样的话exe中就不存在manifest了,在debug目录下就会看到相应的manifest文件.后者是将exe中的man ...

随机推荐

  1. php使用第三方登录

    目前只做了微博和qq的,前面的去connect.qq.com,open.weibo.com注册的步骤省略 qq和weibo站点都有可以现在的php版本的api,qq的api相对高大上一些. <s ...

  2. ORA-00257错误

    Archiver error,connect internal only,until freed   表示归档日志目录已满,用户不能再连接数据库,现有用户可继续查询数据库,但是不能执行DML语句 插删 ...

  3. phonegap 检查是否有网络

    在主active onCreate函数中实现 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(sa ...

  4. yii2.0 输出url 注册js css文件

    //输出url <a href="<?=  Url::to(['/users/login/login','id'=>5,'mark'=>true]) ?>&qu ...

  5. 2016第20周四java基础概念

    简单的说JDK=JRE+Java编译器.调试器.工具类库等:JRE=JVM(类似于jre目录下的bin)+必要运行的类库(类似于jre目录下的lib) JVM:Java Virtual Mechina ...

  6. c# 读取其他程序的ListView内容

    ArcMap没找到一个导出图层字段结构的功能,自已花点时间用C#做了个小工具,专门用来导arcmap中图层属性面板中的字段信息. 使用说明: 1) 点击“查找窗口”按钮.2) 在ListView控件上 ...

  7. Microsoft Visual Studio 2010中文版编译SQLlite3.7.0版

    作为一名教师,没有具体项目的开发,却喜欢尝鲜,不经意间开始追星了. 换了Win7,安装了Microsoft Visual Studio 2010中文版,7月22日SQLite发布了3.7.0版.当然想 ...

  8. 【LeetCode】228 - Summary Ranges

    Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...

  9. 数往知来 CSS<十二>

    div+css基础 一.外部样式<!--外部样式可以使网页与样式分离,分工处理 1.写网页,主要提供内容,一般都会有固定的结构,具有id等属性的标签包括特定的内容 2.根据结构写样式另存为css ...

  10. HUE 安装

    1.从github网下载hue-master.zip (源代码包) 地址:https://github.com/cloudera/hue#development-prerequisites 2.安装依 ...