美文网首页
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