From ad8874fd212e2c3c569a51447f0a39da4301b254 Mon Sep 17 00:00:00 2001 From: "Jonathan T. Looney" Date: Fri, 10 Jun 2016 19:06:11 +0000 Subject: [PATCH] Change the default build behavior so we don't compile extra TCP modules by default. At least initially, the feature to support multiple TCP stacks is aimed at supporting advanced use cases and TCP development, but it is not necessarily aimed at a wide audience. Therefore, there is no need to build and install the extra TCP stacks by default. Instead, the people who are using or developing this functionality can add the extra option to build/ install the extra TCP stacks. However, we do want to build the extra TCP stacks as part of test builds (e.g. LINT or tinderbox) to ensure that developers who are testing their changes will know that their changes do not break the additional TCP stack modules. After this change, a user will need to add WITH_EXTRA_TCP_STACKS=1 to make.conf or the kernel config in order to build the extra TCP modules. Differential Revision: https://reviews.freebsd.org/D6795 Reviewed by: sjg Approved by: re (kib) --- sys/conf/kern.opts.mk | 1 + sys/conf/kern.post.mk | 4 ++++ sys/modules/Makefile | 6 +++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/sys/conf/kern.opts.mk b/sys/conf/kern.opts.mk index 7b8f11c2af16..343b4f820161 100644 --- a/sys/conf/kern.opts.mk +++ b/sys/conf/kern.opts.mk @@ -45,6 +45,7 @@ __DEFAULT_YES_OPTIONS = \ __DEFAULT_NO_OPTIONS = \ EISA \ + EXTRA_TCP_STACKS \ NAND \ OFED diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk index 70abb10c2441..8c5a71317dbb 100644 --- a/sys/conf/kern.post.mk +++ b/sys/conf/kern.post.mk @@ -23,6 +23,10 @@ MKMODULESENV+= CONF_CFLAGS="${CONF_CFLAGS}" MKMODULESENV+= WITH_CTF="${WITH_CTF}" .endif +.if defined(WITH_EXTRA_TCP_STACKS) +MKMODULESENV+= WITH_EXTRA_TCP_STACKS="${WITH_EXTRA_TCP_STACKS}" +.endif + # Allow overriding the kernel debug directory, so kernel and user debug may be # installed in different directories. Setting it to "" restores the historical # behavior of installing debug files in the kernel directory. diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 745d414825eb..426d12f54e3a 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -353,7 +353,7 @@ SUBDIR= \ ${_syscons} \ sysvipc \ ${_ti} \ - tcp/fastpath \ + ${_tcp_fastpath} \ tests/framework \ tests/callout_test \ tl \ @@ -436,6 +436,10 @@ _random_other= random_other SUBDIR+= cuse .endif +.if ${MK_EXTRA_TCP_STACKS} != "no" || defined(ALL_MODULES) +_tcp_fastpath= tcp/fastpath +.endif + .if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \ defined(ALL_MODULES) _carp= carp