最近把三星的iotjs移植到了openwrt上跑,在rt5350的板上测试了一下。记录一下遇到的问题。
1.把iotjs clone下来,发现支持linux,
这样就比较简单了,因为openwrt也就是linux的一个变种。大致思路就是把cmake里的
工具链,改成openwrt的工具链就可以了。
2.首先就是到cmake/config目录里,把arm-linux.cmake拷贝一份,
名字改成mips-openwrt.cmake,c编译器改成mipsel-openwrt-linux-gcc,
c++编译器改成mipsel-openwrt-linux-g++。
deps目录下的libtuv和jerry的工具链配置,也是照此办理
3.其次就是,参考iotjs的wiki得知,编译主要由toos/build.py来控制,这里面
关于linux的部分,也照抄一份给openwrt就好了
4.编译起来后,遇到各种CMakeLists.txt报错的问题,也大致是因为target_os
由linux改为openwrt引起的,按照各自的情况处理就好了
5.编译jerrscript的过程中,报”sorry - this program has been built without plugin support”
错误,发现是因为跑了mipsel-openwrt-linux-uclibc-gcc-ar引起的,用
mipsel-openwrt-linux-uclibc-ar替换后问题消失,这部分在deps/jerry/CMakeLists.txt
里控制&