settings-get.pl revision b9f564d00b7a115f465ffd6840341c7b8f9bfc8a
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholastaprint 'extern buffer_t config_all_services_buf;';
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholasta while (<$f>) {
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholasta } elsif (/^struct service_settings (.*) = {/) {
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholasta } elsif (/^(static )?const struct setting_parser_info (.*) = {/) {
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholasta } elsif (/^extern const struct setting_parser_info (.*);/) {
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholasta $externs .= "extern const struct setting_parser_info $1;\n";
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholasta if (/(^#ifdef .*)$/ || /^(#if .*)$/) {
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholasta if (/#define.*DEF/ || /^#undef.*DEF/ || /ARRAY_DEFINE_TYPE.*_settings/) {
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholasta $state = 0 if (/\/\* <\/settings checks> \*\//);
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholasta if ($value =~ /.*&(.*)\)/) {
7c9fe57ad82747a32721ca0a08c5569282f3e0c4Pavel Březina $externs .= "extern const struct setting_parser_info $1;\n";
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholasta if (/.*&(.*)\)/) {
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholasta s/^static const (struct master_settings master_default_settings)/$1/;
7c9fe57ad82747a32721ca0a08c5569282f3e0c4Pavel Březina $_ .= "#endif\n";
7c9fe57ad82747a32721ca0a08c5569282f3e0c4Pavel Březina print "/* $file */\n";
728b10c81204929be5669c1e67bd086e09c47c00Jan Cholastaprint "static struct service_settings *config_all_services[] = {\n";
3bea01f01d76e1e95a8239c0d3f67073992136a1Jan Zelenyprint "};\n";
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholastaprint "buffer_t config_all_services_buf = {\n";
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholastaprint "\tconfig_all_services, sizeof(config_all_services), { 0, }\n";
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholastaprint "};\n";
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholastaprint "const struct setting_parser_info *all_default_roots[] = {\n";
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholastaprint "\tNULL\n";
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholastaprint "};\n";
e7311aec8d691e5427317442387af1bc8fff3742Jan Cholastaprint "const struct setting_parser_info *const *all_roots = all_default_roots;\n";
4fa3ef8d8a8a3cddf8025d306c3b90b37dd431bcJan Cholastaprint "ARRAY_TYPE(service_settings) *default_services = &master_default_settings.services;\n";