]> Kevux Git Server - fll/commitdiff
Update: Redesign Featureless Make's -d/--define to append instead of overwrite.
authorKevin Day <thekevinday@gmail.com>
Fri, 25 Jun 2021 02:10:29 +0000 (21:10 -0500)
committerKevin Day <thekevinday@gmail.com>
Fri, 25 Jun 2021 02:10:29 +0000 (21:10 -0500)
The built in defines can be large and complex.
The defines passed through the program arguments should be for exceptional or situational purposes.
By using append instead of overwrite, the -d/--define better operates as an exceptional or situational process.

level_3/fake/c/fake.c
level_3/fake/c/private-build.c

index 118011656ee906be503da5ed97acefefaad4f06b..2b1bc06c62520ff6b62f1aebbb9ada6164fc5e3e 100644 (file)
@@ -28,7 +28,7 @@ extern "C" {
 
     fprintf(output.stream, "%c", f_string_eol_s[0]);
 
-    fll_program_print_help_option(output, context, fake_short_define, fake_long_define, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, "  Override defines from settings file with this define.");
+    fll_program_print_help_option(output, context, fake_short_define, fake_long_define, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, "  Append an additional define after defines from settings file.");
     fll_program_print_help_option(output, context, fake_short_fakefile, fake_long_fakefile, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, "Use this fakefile.");
     fll_program_print_help_option(output, context, fake_short_mode, fake_long_mode, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, "    Use this mode when processing the build settings.");
     fll_program_print_help_option(output, context, fake_short_process, fake_long_process, f_console_symbol_short_enable_s, f_console_symbol_long_enable_s, " Process name for storing build states.");
index a746c27a303881aac925d88e5e5723da949a70ab..d90a6e0d84c0bd2d677db656cfb381b7231c8305 100644 (file)
@@ -95,91 +95,84 @@ extern "C" {
       }
     }
 
+    f_array_length_t i = 0;
+
     if (F_status_is_error_not(*status)) {
-      for (f_array_length_t i = 0; i < data_build.setting.build_libraries.used; ++i) {
+      for (i = 0; i < data_build.setting.build_libraries.used; ++i) {
 
         *status = fll_execute_arguments_add(data_build.setting.build_libraries.array[i].string, data_build.setting.build_libraries.array[i].used, arguments);
         if (F_status_is_error(*status)) break;
       } // for
     }
 
-    for (f_array_length_t i = 0; i < data_build.setting.flags_all.used && F_status_is_error_not(*status); ++i) {
+    for (i = 0; i < data_build.setting.flags_all.used && F_status_is_error_not(*status); ++i) {
 
       *status = fll_execute_arguments_add(data_build.setting.flags_all.array[i].string, data_build.setting.flags_all.array[i].used, arguments);
       if (F_status_is_error(*status)) break;
     } // for
 
-    for (f_array_length_t i = 0; i < data_build.setting.flags_shared.used && F_status_is_error_not(*status); ++i) {
+    for (i = 0; i < data_build.setting.flags_shared.used && F_status_is_error_not(*status); ++i) {
 
       *status = fll_execute_arguments_add(data_build.setting.flags_shared.array[i].string, data_build.setting.flags_shared.array[i].used, arguments);
       if (F_status_is_error(*status)) break;
     } // for
 
     if (is_library) {
-      for (f_array_length_t j = 0; j < data_build.setting.flags_library.used && F_status_is_error_not(*status); ++j) {
+      for (i = 0; i < data_build.setting.flags_library.used && F_status_is_error_not(*status); ++i) {
 
-        *status = fll_execute_arguments_add(data_build.setting.flags_library.array[j].string, data_build.setting.flags_library.array[j].used, arguments);
+        *status = fll_execute_arguments_add(data_build.setting.flags_library.array[i].string, data_build.setting.flags_library.array[i].used, arguments);
         if (F_status_is_error(*status)) break;
       } // for
     }
     else {
-      for (f_array_length_t i = 0; i < data_build.setting.flags_program.used && F_status_is_error_not(*status); ++i) {
+      for (i = 0; i < data_build.setting.flags_program.used && F_status_is_error_not(*status); ++i) {
 
         *status = fll_execute_arguments_add(data_build.setting.flags_program.array[i].string, data_build.setting.flags_program.array[i].used, arguments);
         if (F_status_is_error(*status)) break;
       } // for
     }
 
-    if (main.define.used) {
-      f_array_length_t length = 0;
-      f_array_length_t i = 0;
+    for (; i < data_build.setting.defines_all.used && F_status_is_error_not(*status); ++i) {
 
-      for (; i < main.define.used && F_status_is_error_not(*status); ++i) {
+      *status = fll_execute_arguments_add(data_build.setting.defines_all.array[i].string, data_build.setting.defines_all.array[i].used, arguments);
+      if (F_status_is_error(*status)) break;
+    } // for
 
-        *status = fll_execute_arguments_add(main.define.array[i].string, main.define.array[i].used, arguments);
+    if (is_shared) {
+      for (i = 0; i < data_build.setting.defines_shared.used && F_status_is_error_not(*status); ++i) {
+
+        *status = fll_execute_arguments_add(data_build.setting.defines_shared.array[i].string, data_build.setting.defines_shared.array[i].used, arguments);
         if (F_status_is_error(*status)) break;
       } // for
     }
     else {
-      f_array_length_t length = 0;
-      f_array_length_t i = 0;
+      for (i = 0; i < data_build.setting.defines_static.used && F_status_is_error_not(*status); ++i) {
 
-      for (; i < data_build.setting.defines_all.used && F_status_is_error_not(*status); ++i) {
-
-        *status = fll_execute_arguments_add(data_build.setting.defines_all.array[i].string, data_build.setting.defines_all.array[i].used, arguments);
+        *status = fll_execute_arguments_add(data_build.setting.defines_static.array[i].string, data_build.setting.defines_static.array[i].used, arguments);
         if (F_status_is_error(*status)) break;
       } // for
+    }
 
-      if (is_shared) {
-        for (i = 0; i < data_build.setting.defines_shared.used && F_status_is_error_not(*status); ++i) {
-
-          *status = fll_execute_arguments_add(data_build.setting.defines_shared.array[i].string, data_build.setting.defines_shared.array[i].used, arguments);
-          if (F_status_is_error(*status)) break;
-        } // for
-      }
-      else {
-        for (i = 0; i < data_build.setting.defines_static.used && F_status_is_error_not(*status); ++i) {
+    if (is_library) {
+      for (i = 0; i < data_build.setting.defines_library.used && F_status_is_error_not(*status); ++i) {
 
-          *status = fll_execute_arguments_add(data_build.setting.defines_static.array[i].string, data_build.setting.defines_static.array[i].used, arguments);
-          if (F_status_is_error(*status)) break;
-        } // for
-      }
+        *status = fll_execute_arguments_add(data_build.setting.defines_library.array[i].string, data_build.setting.defines_library.array[i].used, arguments);
+        if (F_status_is_error(*status)) break;
+      } // for
+    }
+    else {
+      for (i = 0; i < data_build.setting.defines_program.used && F_status_is_error_not(*status); ++i) {
 
-      if (is_library) {
-        for (i = 0; i < data_build.setting.defines_library.used && F_status_is_error_not(*status); ++i) {
+        *status = fll_execute_arguments_add(data_build.setting.defines_program.array[i].string, data_build.setting.defines_program.array[i].used, arguments);
+        if (F_status_is_error(*status)) break;
+      } // for
+    }
 
-          *status = fll_execute_arguments_add(data_build.setting.defines_library.array[i].string, data_build.setting.defines_library.array[i].used, arguments);
-          if (F_status_is_error(*status)) break;
-        } // for
-      }
-      else {
-        for (i = 0; i < data_build.setting.defines_program.used && F_status_is_error_not(*status); ++i) {
+    for (i = 0; i < main.define.used && F_status_is_error_not(*status); ++i) {
 
-          *status = fll_execute_arguments_add(data_build.setting.defines_program.array[i].string, data_build.setting.defines_program.array[i].used, arguments);
-          if (F_status_is_error(*status)) break;
-        } // for
-      }
-    }
+      *status = fll_execute_arguments_add(main.define.array[i].string, main.define.array[i].used, arguments);
+      if (F_status_is_error(*status)) break;
+    } // for
   }
 #endif // _di_fake_build_arguments_standard_add_