美文网首页
OpenWRT Build/Configure 学习记录

OpenWRT Build/Configure 学习记录

作者: jrglinux | 来源:发表于2017-05-24 11:43 被阅读0次

在给openwrt添加rp-pppoe过程中,需要在package/rp-pppoe/下定义Makefile,其中定义Build/Configure如下
define Build/Configure $(call Build/Configure/Default) endef
但是这样在执行
make package/rp-pppoe/configure V=s
会出现停止,原因是configure脚本中检测到了交叉编译,需要指定cross_compiling

OpenWRT中有三个.mk文件中定义了
define Build/Configure/Default
分别是openwrt/include/路径下的cmake.mk, scons.mk, package-default.mk, 在添加package包的时候,撰写Makefile中包含了package.mk,而package.mk中include了package-default.mk。
至于cmake.mk和scons.mk中定义define Build/Configure/Default是什么作用,暂时还未搞清楚。

先来看package-default.mk中的定义


$(PKG_BUILD_DIR)=build_dir/target-arm_v7-a_uClibc-0.9.33.2_eabi/rp-pppoe-3.10

CONFIGURE_CMD,replace_script
CONFIGURE_VARS
CONFIGURE_ARGS

按照代码来看,Build/Configure/Default中已经指定了交叉编译所需要而--target,--host,--build等参数


configure过程

那这样的话,问题还是应该出在rp-pppoe/src/configure的脚本中


cross_compiling定义

configure中是通过判断--build和--host参数是否相同来判断是否是交叉编译


交叉编译
loading

执行到checking packing order of bit fields ... no defaults for cross_compiling
会直接退出configure
源代码如下图所示


image.png
image.png

问题应该就是怎么修改这个configure脚本,使得它能够支持cross_compiling

相关文章

网友评论

      本文标题:OpenWRT Build/Configure 学习记录

      本文链接:https://www.haomeiwen.com/subject/frfgxxtx.html