Make sure the parameter checking files do not exist.
# sed -i -e '/_di_level_0_parameter_checking_/d' -e '/_di_level_1_parameter_checking_/d' -e '/_di_level_2_parameter_checking_/d' build/disable/level_?/*.h
-There are some defines that need to be manually removed if they don't belong, such as "_di_pthread_support_" and "_di_libcap_".
+Make sure to remove known special cases that are pulled in by the above process but should not exist.
+# sed -i -e '/#define _di_libcap_/d' build/disable/level_?/*.h
+# sed -i -e '/#define _di_thread_support_/d' build/disable/level_?/*.h
Use these files to construct a list of all defines to potentially disable based on the "dependencies" of a given project.
Consider the following example using the fake dependencies for the stand alone builds.
#define _di_f_conversion_number_signed_to_string_
#define _di_f_conversion_number_unsigned_print_
#define _di_f_conversion_number_unsigned_to_string_
+#define _di_f_type_number_64_t_
#define _di_f_status_signal_s_
#define _di_f_status_socket_s_
#define _di_f_status_string_s_
-#define _di_f_status_string_to_s_
+#define _di_f_status_string_to_
#define _di_f_status_terminal_s_
#define _di_f_string_tripless_t_
#define _di_f_string_triples_t_
#define _di_f_string_triple_t_
-#define _di_string_ascii_s_
#define _di_compiler_attributes_d_
+#define _di_f_array_lengthss_t_
+#define _di_f_array_lengths_t_
#define _di_f_array_length_t_
#define _di_f_cellss_t_
#define _di_f_cells_t_
#define _di_f_fll_idss_t_
#define _di_f_fll_ids_t_
#define _di_f_fll_id_t_
+#define _di_f_int128ss_t_
+#define _di_f_int128s_t_
#define _di_f_int_128_t_
+#define _di_f_int128_t_
+#define _di_f_int16ss_t_
+#define _di_f_int16s_t_
+#define _di_f_int32ss_t_
+#define _di_f_int32s_t_
+#define _di_f_int64ss_t_
+#define _di_f_int64s_t_
+#define _di_f_int8ss_t_
+#define _di_f_int8s_t_
#define _di_f_mode_t_
#define _di_f_statess_t_
#define _di_f_states_t_
+#define _di_f_state_t_
#define _di_f_statusss_t_
#define _di_f_statuss_t_
#define _di_f_status_t_
#define _di_f_type_input_output_d_
#define _di_f_type_number_64_t_
#define _di_f_type_sizes_d_
-#define _di_f_type_state_t_
-#define _di_int128ss_t_
-#define _di_int128s_t_
-#define _di_int128_t_
-#define _di_int16ss_t_
-#define _di_int16s_t_
-#define _di_int32ss_t_
-#define _di_int32s_t_
-#define _di_int64ss_t_
-#define _di_int64s_t_
-#define _di_int8ss_t_
-#define _di_int8s_t_
-#define _di_uint128ss_t_
-#define _di_uint128s_t_
-#define _di_uint128_t_
-#define _di_uint16ss_t_
-#define _di_uint16s_t_
-#define _di_uint32ss_t_
-#define _di_uint32s_t_
-#define _di_uint64ss_t_
-#define _di_uint64s_t_
-#define _di_uint8ss_t_
-#define _di_uint8s_t_
+#define _di_f_uint128ss_t_
+#define _di_f_uint128s_t_
+#define _di_f_uint128_t_
+#define _di_f_uint16ss_t_
+#define _di_f_uint16s_t_
+#define _di_f_uint32ss_t_
+#define _di_f_uint32s_t_
+#define _di_f_uint64ss_t_
+#define _di_f_uint64s_t_
+#define _di_f_uint8ss_t_
+#define _di_f_uint8s_t_
#define _di_fll_status_string_from_
+#define _di_f_status_access_s_
+#define _di_f_status_array_s_
+#define _di_f_status_available_s_
+#define _di_f_status_basic_s_
+#define _di_f_status_boolean_s_
+#define _di_f_status_buffer_s_
+#define _di_f_status_busy_s_
+#define _di_f_status_compare_s_
+#define _di_f_status_directory_s_
+#define _di_f_status_end_s_
+#define _di_f_status_file_s_
+#define _di_f_status_filesystem_s_
+#define _di_f_status_network_s_
+#define _di_f_status_number_s_
+#define _di_f_status_process_s_
+#define _di_f_status_return_s_
+#define _di_f_status_signal_s_
+#define _di_f_status_socket_s_
+#define _di_f_status_terminal_s_