CLEANUP: compression: use the build options list to report the algos
This removes 2 #ifdef, an include, an ugly construct and a wild "extern"
declaration from haproxy.c. The message indicating that compression is
*not* enabled is not there anymore.
diff --git a/src/compression.c b/src/compression.c
index 02ff724..4ce26ec 100644
--- a/src/compression.c
+++ b/src/compression.c
@@ -624,8 +624,26 @@
__attribute__((constructor))
static void __comp_fetch_init(void)
{
+ char *ptr = NULL;
+ int i;
+
#ifdef USE_SLZ
slz_make_crc_table();
slz_prepare_dist_table();
#endif
+#ifdef USE_ZLIB
+ memprintf(&ptr, "Built with zlib version : " ZLIB_VERSION);
+ memprintf(&ptr, "%s\nRunning on zlib version : %s", ptr, zlibVersion());
+#elif defined(USE_SLZ)
+ memprintf(&ptr, "Built with libslz for stateless compression.");
+#endif
+ memprintf(&ptr, "%s\nCompression algorithms supported :", ptr);
+
+ for (i = 0; comp_algos[i].cfg_name; i++)
+ memprintf(&ptr, "%s%s %s(\"%s\")", ptr, (i == 0 ? "" : ","), comp_algos[i].cfg_name, comp_algos[i].ua_name);
+
+ if (i == 0)
+ memprintf(&ptr, "%s none", ptr);
+
+ hap_register_build_opts(ptr, 1);
}
diff --git a/src/haproxy.c b/src/haproxy.c
index 54221be..074cc5b 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -78,7 +78,6 @@
#include <common/version.h>
#include <types/capture.h>
-#include <types/compression.h>
#include <types/filters.h>
#include <types/global.h>
#include <types/acl.h>
@@ -127,12 +126,6 @@
#include <import/51d.h>
#endif
-/*********************************************************************/
-
-extern const struct comp_algo comp_algos[];
-
-/*********************************************************************/
-
/* list of config files */
static struct list cfg_cfgfiles = LIST_HEAD_INIT(cfg_cfgfiles);
int pid; /* current process id */
@@ -340,27 +333,6 @@
#endif
"\n");
-#ifdef USE_ZLIB
- printf("Built with zlib version : " ZLIB_VERSION "\n");
- printf("Running on zlib version : %s\n", zlibVersion());
-#elif defined(USE_SLZ)
- printf("Built with libslz for stateless compression.\n");
-#else /* USE_ZLIB */
- printf("Built without compression support (neither USE_ZLIB nor USE_SLZ are set)\n");
-#endif
- printf("Compression algorithms supported :");
- {
- int i;
-
- for (i = 0; comp_algos[i].cfg_name; i++) {
- printf("%s %s(\"%s\")", (i == 0 ? "" : ","), comp_algos[i].cfg_name, comp_algos[i].ua_name);
- }
- if (i == 0) {
- printf("none");
- }
- }
- printf("\n");
-
list_for_each_entry(item, &build_opts_list, list) {
puts(item->str);
}