diff --git a/scripts/target_config_lib.lua b/scripts/target_config_lib.lua index 71443db7..7be10a30 100644 --- a/scripts/target_config_lib.lua +++ b/scripts/target_config_lib.lua @@ -28,6 +28,9 @@ END_MAKE end lib.include('generic') + if env.FOREIGN_BUILD == '' then + lib.include('generic_gluon') + end for pkg in string.gmatch(extra_packages, '%S+') do lib.packages {pkg} end @@ -72,10 +75,12 @@ END_MAKE handle_pkg(pkg) end - funcs.config_message(lib.config, string.format("unable to enable device '%s'", profile), - 'CONFIG_TARGET_DEVICE_%s_DEVICE_%s=y', openwrt_config_target, profile) - lib.config('CONFIG_TARGET_DEVICE_PACKAGES_%s_DEVICE_%s="%s"', - openwrt_config_target, profile, device_pkgs) + if env.FOREIGN_BUILD == '' then + funcs.config_message(lib.config, string.format("unable to enable device '%s'", profile), + 'CONFIG_TARGET_DEVICE_%s_DEVICE_%s=y', openwrt_config_target, profile) + lib.config('CONFIG_TARGET_DEVICE_PACKAGES_%s_DEVICE_%s="%s"', + openwrt_config_target, profile, device_pkgs) + end end return lib diff --git a/targets/generic b/targets/generic index 65982ef4..dfeacd80 100644 --- a/targets/generic +++ b/targets/generic @@ -1,22 +1,9 @@ -assert(env.GLUON_LANGS) - - -config('CONFIG_GLUON_SITEDIR="%s"', env.GLUON_SITEDIR) -config('CONFIG_GLUON_RELEASE="%s"', env.GLUON_RELEASE) -try_config('CONFIG_GLUON_BRANCH="%s"', env.GLUON_BRANCH or '') - -for lang in string.gmatch(env.GLUON_LANGS, '%S+') do - try_config('CONFIG_GLUON_WEB_LANG_%s=y', lang) -end config('CONFIG_TARGET_%s=y', env.BOARD) if env.SUBTARGET ~= '' then config('CONFIG_TARGET_%s_%s=y', env.BOARD, env.SUBTARGET) end --- Disable non-default feeds in distfeeds.conf -config('# CONFIG_FEED_gluon_base is not set') - local default_feeds = {} for feed in string.gmatch(exec_capture_raw('. scripts/default_feeds.sh && echo "$DEFAULT_FEEDS"'), '%S+') do default_feeds[feed] = true @@ -28,29 +15,6 @@ for feed in string.gmatch(exec_capture_raw('. scripts/modules.sh && echo -n "$FE end end - -config '# CONFIG_TARGET_ROOTFS_INITRAMFS is not set' - -config 'CONFIG_ALL_NONSHARED=y' - -config '# CONFIG_PACKAGE_usbip is not set' -- fails to build -config '# CONFIG_PACKAGE_kmod-jool is not set' -- fails to build - -config 'CONFIG_BUSYBOX_CUSTOM=y' -config '# CONFIG_BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set' - -config 'CONFIG_PACKAGE_ATH_DEBUG=y' - -config '# CONFIG_KERNEL_IP_MROUTE is not set' -config '# CONFIG_KERNEL_IPV6_MROUTE is not set' - -try_config 'CONFIG_TARGET_MULTI_PROFILE=y' -try_config 'CONFIG_TARGET_PER_DEVICE_ROOTFS=y' - -if envtrue.GLUON_MULTIDOMAIN then - config 'CONFIG_GLUON_MULTIDOMAIN=y' -end - if envtrue.GLUON_DEBUG then config 'CONFIG_DEBUG=y' config 'CONFIG_NO_STRIP=y' @@ -59,14 +23,3 @@ if envtrue.GLUON_DEBUG then try_config 'CONFIG_TARGET_ROOTFS_PARTSIZE=500' end - - -packages { - '-odhcpd-ipv6only', - '-ppp', - '-ppp-mod-pppoe', - '-wpad-mini', - '-wpad-basic', - 'gluon-core', - 'ip6tables', -} diff --git a/targets/generic_gluon b/targets/generic_gluon new file mode 100644 index 00000000..e9c82771 --- /dev/null +++ b/targets/generic_gluon @@ -0,0 +1,45 @@ +assert(env.GLUON_LANGS) + +config('CONFIG_GLUON_SITEDIR="%s"', env.GLUON_SITEDIR) +config('CONFIG_GLUON_RELEASE="%s"', env.GLUON_RELEASE) +try_config('CONFIG_GLUON_BRANCH="%s"', env.GLUON_BRANCH or '') + +for lang in string.gmatch(env.GLUON_LANGS, '%S+') do + try_config('CONFIG_GLUON_WEB_LANG_%s=y', lang) +end + +-- Disable non-default feeds in distfeeds.conf +config('# CONFIG_FEED_gluon_base is not set') + +config '# CONFIG_TARGET_ROOTFS_INITRAMFS is not set' + +config 'CONFIG_ALL_NONSHARED=y' + +config '# CONFIG_PACKAGE_usbip is not set' -- fails to build +config '# CONFIG_PACKAGE_kmod-jool is not set' -- fails to build + +config 'CONFIG_BUSYBOX_CUSTOM=y' +config '# CONFIG_BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set' + +config 'CONFIG_PACKAGE_ATH_DEBUG=y' + +config '# CONFIG_KERNEL_IP_MROUTE is not set' +config '# CONFIG_KERNEL_IPV6_MROUTE is not set' + +try_config 'CONFIG_TARGET_MULTI_PROFILE=y' +try_config 'CONFIG_TARGET_PER_DEVICE_ROOTFS=y' + +if envtrue.GLUON_MULTIDOMAIN then + config 'CONFIG_GLUON_MULTIDOMAIN=y' +end + + +packages { + '-odhcpd-ipv6only', + '-ppp', + '-ppp-mod-pppoe', + '-wpad-mini', + '-wpad-basic', + 'gluon-core', + 'ip6tables', +}