OpenWRT Build/Configure 学习记录

在给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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容