1515# $1 = filename
1616# $2 = osc component names
1717#
18- AC_DEFUN([mca_ompi_osc_monitoring_generate_templates],[
19- m4_ifval([$1 ], [
20- AC_CONFIG_COMMANDS([$1 ],
21- [filename= " $1 "
22- components= ` echo " $2 " | sed -e ' s/,/ /g' -e ' s/monitoring//' `
23- cat << EOF > $filename
18+ AC_DEFUN(
19+ [MCA_OMPI_OSC_MONITORING_GENERATE_TEMPLATES],
20+ [m4_ifval(
21+ [$1 ],
22+ [AC_CONFIG_COMMANDS(
23+ [$1 ],
24+ [filename= " $1 "
25+ components= ` echo " $2 " | sed -e ' s/,/ /g' -e ' s/monitoring//' `
26+ cat << EOF > $filename
2427/* $filename
2528 *
2629 * This file was generated from ompi/mca/osc/monitoring/configure.m4
@@ -40,56 +43,56 @@ AC_DEFUN([mca_ompi_osc_monitoring_generate_templates],[
4043# ifndef MCA_OSC_MONITORING_GEN_TEMPLATE_H
4144# define MCA_OSC_MONITORING_GEN_TEMPLATE_H
4245
43- # include <string.h>
4446# include <ompi_config.h>
4547# include <ompi/mca/osc/osc.h>
4648# include <ompi/mca/osc/monitoring/osc_monitoring_template.h>
4749
48- /*************************************** /
49- /* Include template generating macros * /
50+ /************************************************************ /
51+ /* Include template generating macros and inlined functions * /
5052
5153EOF
52- # Generate each case in order to register the proper template functions
53- for comp in $components
54- do
55- echo " OSC_MONITORING_MODULE_TEMPLATE_GENERATE(${comp} )" >> $filename
56- done
57- cat << EOF >> $filename
54+ # Generate each case in order to register the proper template functions
55+ for comp in $components
56+ do
57+ echo " OSC_MONITORING_MODULE_TEMPLATE_GENERATE(${comp} )" >> $filename
58+ done
59+ cat << EOF >> $filename
5860
59- /*************************************** /
61+ /************************************************************ /
6062
61- static inline int
62- ompi_mca_osc_monitoring_set_template(ompi_osc_base_component_t * best_component,
63- ompi_osc_base_module_t * module)
64- {
65- /* Sorry for the lack on indentation, but the portability won over the cleanliness * /
63+ typedef struct {
64+ const char * name;
65+ ompi_osc_base_module_t * (* fct) (ompi_osc_base_module_t * );
66+ } osc_monitoring_components_list_t;
67+
68+ static const osc_monitoring_components_list_t osc_monitoring_components_list[[]] = {
6669EOF
67- for comp in $components
68- do
69- echo " if ( 0 == strcmp(\" ${comp} \" , best_component->osc_version.mca_component_name) ) {" >> $filename
70- echo " OSC_MONITORING_SET_TEMPLATE_FCT_NAME(${comp} ) (module);" >> $filename
71- echo " } else " >> $filename
72- done
73- cat << EOF >>$filename
74- return OMPI_ERR_NOT_SUPPORTED;
75- return OMPI_SUCCESS;
76- }
70+ for comp in $components
71+ do
72+ echo " { .name = \" ${comp} \" , .fct = OSC_MONITORING_SET_TEMPLATE_FCT_NAME(${comp} ) }," >> $filename
73+ done
74+ cat << EOF >>$filename
75+ { .name = NULL, .fct = NULL }
76+ };
7777
7878#endif /* MCA_OSC_MONITORING_GEN_TEMPLATE_H */
7979EOF
80- unset filename components])
80+ unset filename components
81+ ])
8182 ])dnl
82- ])dnl
83+ ])dnl
8384
8485# MCA_ompi_osc_monitoring_CONFIG()
8586# ------------------------------------------------
86- AC_DEFUN([MCA_ompi_osc_monitoring_CONFIG],[
87- AC_CONFIG_FILES([ompi/mca/osc/monitoring/Makefile])
87+ AC_DEFUN(
88+ [MCA_ompi_osc_monitoring_CONFIG],
89+ [AC_CONFIG_FILES([ompi/mca/osc/monitoring/Makefile])
8890
89- AS_IF([test " $MCA_BUILD_ompi_common_monitoring_DSO_TRUE " = ' ' ],
90- [$1 ],
91- [$2 ])
91+ AS_IF([test " $MCA_BUILD_ompi_common_monitoring_DSO_TRUE " = ' ' ],
92+ [$1 ],
93+ [$2 ])
9294
93- mca_ompi_osc_monitoring_generate_templates([ompi/mca/osc/monitoring/osc_monitoring_template_gen.h],
94- [mca_ompi_osc_m4_config_component_list, mca_ompi_osc_no_config_component_list])dnl
95- ])dnl
95+ MCA_OMPI_OSC_MONITORING_GENERATE_TEMPLATES(
96+ [ompi/mca/osc/monitoring/osc_monitoring_template_gen.h],
97+ [mca_ompi_osc_m4_config_component_list, mca_ompi_osc_no_config_component_list])dnl
98+ ])dnl
0 commit comments