Request for help: how do teach module building about kernel
options?
Warner Losh
imp at bsdimp.com
Tue Jan 3 23:38:17 UTC 2012
On Jan 3, 2012, at 12:06 PM, Adrian Chadd wrote:
> On 3 January 2012 10:56, Warner Losh <imp at bsdimp.com> wrote:
>
>>> So how about we do up say, the KERNOPTS field first, which would be a
>>> big win. Then KERNDEVICES too, if that's possible?
>>
>> I'd only planned on doing KERNOPTS :)
>
> KERNOPTS would be fine for now. That at least gets me out of my
> initial issues with wlan/ath building and the fun in handling options.
Please find enclosed a proposed patch. This will not build, of course, since there's no file in the tree mesh_baby.c, so if you have IEEE80211_SUPPORT_MESH defined, it won't work. It keys off the actual define.
It even works with devices (which define DEV_xxx), but only if you have it in the options file like isa (eg, you need to tell config to generate it).
Comments?
Warner
Index: conf/kmod.mk
===================================================================
--- conf/kmod.mk (revision 229436)
+++ conf/kmod.mk (working copy)
@@ -324,7 +324,16 @@
${_src}:
ln -sf ${KERNBUILDDIR}/${_src} ${.TARGET}
.endif
+.if exists(${KERNBUILDDIR}/${_src})
+_opts!=cut -d' ' -f 2 ${KERNBUILDDIR}/${_src}
+.for _o in ${_opts}
+KERNOPT_${_o}=1
+.if defined(SRCS_${_o})
+SRCS+=${SRCS_${_o}}
+.endif
.endfor
+.endif
+.endfor
.else
.for _src in ${SRCS:Mopt_*.h}
CLEANFILES+= ${_src}
Index: modules/ath/Makefile
===================================================================
--- modules/ath/Makefile (revision 229436)
+++ modules/ath/Makefile (working copy)
@@ -41,6 +41,7 @@
SRCS+= ah_osdep.c ah.c ah_regdomain.c ah_eeprom_v3.c
SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_ath.h opt_ah.h opt_wlan.h
+SRCS_IEEE80211_SUPPORT_MESH=mesh_baby.c
#
# AR5210 support; these are first generation 11a-only devices.
#
More information about the freebsd-arch
mailing list