sysctl was seriously broken. And since in some cases 'CONFIG_SYSCTL'
could be included into application space via the kernel config option
of the same name, nasty compilation problems could result.
diff --git a/include/applets.h b/include/applets.h
index a4e78af..61210bc 100644
--- a/include/applets.h
+++ b/include/applets.h
@@ -612,7 +612,7 @@
#ifdef CONFIG_SYNC
APPLET(sync, sync_main, _BB_DIR_BIN, _BB_SUID_NEVER)
#endif
-#ifdef CONFIG_SYSCTL
+#ifdef CONFIG_BB_SYSCTL
APPLET(sysctl, sysctl_main, _BB_DIR_SBIN, _BB_SUID_NEVER)
#endif
#ifdef CONFIG_SYSLOGD
diff --git a/include/usage.h b/include/usage.h
index 29d78bb..723b977 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -2654,24 +2654,22 @@
# define USAGE_IPC_LOG(a)
#endif
-#ifdef CONFIG_SYSCTL
#define sysctl_trivial_usage \
"[OPTIONS]... [VALUE]..."
-#define sysctl_full_usage
- "sysctl - configure kernel parameters at runtime\n\n" \
+#define sysctl_full_usage \
+ "configure kernel parameters at runtime\n\n" \
"Options:\n" \
"\t-n\tUse this option to disable printing of the key name when printing values\n" \
"\t-w\tUse this option when you want to change a sysctl setting\n" \
"\t-p\tLoad in sysctl settings from the file specified or /etc/sysctl.conf if none given\n" \
"\t-a\tDisplay all values currently available\n" \
"\t-A\tDisplay all values currently available in table form"
-#define sysctl_example_usage
+#define sysctl_example_usage \
"sysctl [-n] variable ...\n" \
"sysctl [-n] -w variable=value ...\n" \
"sysctl [-n] -a\n" \
"sysctl [-n] -p <file>\t(default /etc/sysctl.conf)\n" \
"sysctl [-n] -A\n"
-#endif
#define syslogd_trivial_usage \
"[OPTION]..."