G_BEGIN_DECLS
+#undef _debug
+#undef _debug_secure
+
#undef debug_trace
#undef debug_log
#undef debug_warning
#undef debug_enter
#undef debug_leave
-#ifdef _DEBUG
-
-// LOG Level: V < D < I < W < E < F
-#define debug_trace(fmt, args...) do { LOGD(fmt, ##args); } while (0)
-#define debug_log(fmt, args...) do { LOGI(fmt, ##args); } while (0)
-#define debug_warning(fmt, args...) do { LOGW(fmt, ##args); } while (0)
-#define debug_error(fmt, args...) do { LOGE(fmt, ##args); } while (0)
-#define debug_critical(fmt, args...) do { LOGE(fmt, ##args); } while (0)
-#define debug_fatal(fmt, args...) do { LOGF(fmt, ##args); } while (0)
+#ifndef __MODULE__
+#define __MODULE__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
+#endif
#define COND(expr) (__builtin_expect((expr) != 0, 0))
-#define debug_trace_if(expr, fmt, args...) do { if (COND(expr)) LOGD(fmt, ##args); } while (0)
-#define debug_log_if(expr, fmt, args...) do { if (COND(expr)) LOGI(fmt, ##args); } while (0)
-#define debug_warning_if(expr, fmt, args...) do { if (COND(expr)) LOGW(fmt, ##args); } while (0)
-#define debug_error_if(expr, fmt, args...) do { if (COND(expr)) LOGE(fmt, ##args); } while (0)
-#define debug_fatal_if(expr, fmt, args...) do { if (COND(expr)) LOGF(fmt, ##args); } while (0)
+#define _debug(prio, fmt, arg...) \
+ dlog_print(prio, LOG_TAG, "%s: %s(%d) > " fmt, __MODULE__, __func__, __LINE__, ##arg)
+
+#define _debug_secure(prio, fmt, arg...) \
+ dlog_print(prio, LOG_TAG, "%s: %s(%d) > [SECURE_LOG] " fmt, __MODULE__, __func__, __LINE__, ##arg)
+
+#define _debug_nop(fmt, args...) _debug_nop_impl("" fmt, ##args)
+
+#define _debug_nop_expr(expr, fmt, args...) _debug_nop_expr_impl(expr, "" fmt, ##args)
+
+static inline int _debug_nop_impl(const char *fmt __attribute__((unused)), ...) { return 0; }
+static inline int _debug_nop_expr_impl(bool expr __attribute__((unused)),
+ const char *fmt __attribute__((unused)), ...) { return 0; }
+
+#define debug_warning(fmt, args...) _debug(DLOG_WARN, fmt, ##args)
+#define debug_error(fmt, args...) _debug(DLOG_ERROR, fmt, ##args)
+#define debug_fatal(fmt, args...) _debug(DLOG_FATAL, fmt, ##args)
+#define debug_critical(fmt, args...) _debug(DLOG_ERROR, fmt, ##args)
+
+#define debug_warning_if(expr, fmt, args...) do { if (COND(expr)) debug_warning(fmt, ##args); } while (0)
+#define debug_error_if(expr, fmt, args...) do { if (COND(expr)) debug_error(fmt, ##args); } while (0)
+#define debug_fatal_if(expr, fmt, args...) do { if (COND(expr)) debug_fatal(fmt, ##args); } while (0)
#ifdef TIZEN_DEBUG_ENABLE
-#define debug_secure_trace(fmt, args...) do { SECURE_LOGD(fmt, ##args); } while (0)
-#define debug_secure(fmt, args...) do { SECURE_LOGI(fmt, ##args); } while (0)
-#define debug_secure_warning(fmt, args...) do { SECURE_LOGW(fmt, ##args); } while (0)
-#define debug_secure_error(fmt, args...) do { SECURE_LOGE(fmt, ##args); } while (0)
-#define debug_secure_fatal(fmt, args...) do { SECURE_LOGF(fmt, ##args); } while (0)
-
-#define debug_secure_trace_if(expr, fmt, args...) do { if (COND(expr)) SECURE_LOGD(fmt, ##args); } while (0)
-#define debug_secure_log_if(expr, fmt, args...) do { if (COND(expr)) SECURE_LOGI(fmt, ##args); } while (0)
-#define debug_secure_warning_if(expr, fmt, args...) do { if (COND(expr)) SECURE_LOGW(fmt, ##args); } while (0)
-#define debug_secure_error_if(expr, fmt, args...) do { if (COND(expr)) SECURE_LOGE(fmt, ##args); } while (0)
-#define debug_secure_fatal_if(expr, fmt, args...) do { if (COND(expr)) SECURE_LOGF(fmt, ##args); } while (0)
+#define debug_secure_warning(fmt, args...) _debug_secure(DLOG_WARN, fmt, ##args)
+#define debug_secure_error(fmt, args...) _debug_secure(DLOG_ERROR, fmt, ##args)
+#define debug_secure_fatal(fmt, args...) _debug_secure(DLOG_FATAL, fmt, ##args)
+
+#define debug_secure_warning_if(expr, fmt, args...) do { if (COND(expr)) debug_secure_warning(fmt, ##args); } while (0)
+#define debug_secure_error_if(expr, fmt, args...) do { if (COND(expr)) debug_secure_error(fmt, ##args); } while (0)
+#define debug_secure_fatal_if(expr, fmt, args...) do { if (COND(expr)) debug_secure_fatal(fmt, ##args); } while (0)
#else
-#define debug_secure_trace(fmt, args...)
-#define debug_secure(fmt, args...)
-#define debug_secure_warning(fmt, args...)
-#define debug_secure_error(fmt, args...)
-#define debug_secure_fatal(fmt, args...)
-
-#define debug_secure_trace_if(expr, fmt, args...)
-#define debug_secure_log_if(expr, fmt, args...)
-#define debug_secure_warning_if(expr, fmt, args...)
-#define debug_secure_error_if(expr, fmt, args...)
-#define debug_secure_fatal_if(expr, fmt, args...)
-#endif
+#define debug_secure_warning(fmt, args...) _debug_nop(fmt, ##args)
+#define debug_secure_error(fmt, args...) _debug_nop(fmt, ##args)
+#define debug_secure_fatal(fmt, args...) _debug_nop(fmt, ##args)
+
+#define debug_secure_warning_if(expr, fmt, args...) _debug_nop_expr(expr, fmt, ##args)
+#define debug_secure_error_if(expr, fmt, args...) _debug_nop_expr(expr, fmt, ##args)
+#define debug_secure_fatal_if(expr, fmt, args...) _debug_nop_expr(expr, fmt, ##args)
+#endif /* TIZEN_DEBUG_ENABLE */
+
+#ifdef _DEBUG
+
+#define debug_trace(fmt, args...) _debug(DLOG_DEBUG, fmt, ##args)
+#define debug_log(fmt, args...) _debug(DLOG_INFO, fmt, ##args)
-#define debug_enter() do { debug_trace(" * Enter *"); } while (0)
-#define debug_leave() do { debug_trace(" * Leave *"); } while (0)
+#define debug_trace_if(expr, fmt, args...) do { if (COND(expr)) debug_trace(fmt, ##args); } while (0)
+#define debug_log_if(expr, fmt, args...) do { if (COND(expr)) debug_log(fmt, ##args); } while (0)
+
+#ifdef TIZEN_DEBUG_ENABLE
+#define debug_secure_trace(fmt, args...) _debug_secure(DLOG_DEBUG, fmt, ##args)
+#define debug_secure(fmt, args...) _debug_secure(DLOG_INFO, fmt, ##args)
+
+#define debug_secure_trace_if(expr, fmt, args...) do { if (COND(expr)) debug_secure_trace(fmt, ##args); } while (0)
+#define debug_secure_log_if(expr, fmt, args...) do { if (COND(expr)) debug_secure(fmt, ##args); } while (0)
+#else
+#define debug_secure_trace(fmt, args...) _debug_nop(fmt, ##args)
+#define debug_secure(fmt, args...) _debug_nop(fmt, ##args)
+
+#define debug_secure_trace_if(expr, fmt, args...) _debug_nop_expr(expr, fmt, ##args)
+#define debug_secure_log_if(expr, fmt, args...) _debug_nop_expr(expr, fmt, ##args)
+#endif /* TIZEN_DEBUG_ENABLE */
+
+#define debug_enter() debug_trace(" * Enter *")
+#define debug_leave() debug_trace(" * Leave *")
#else /* _DEBUG */
-#define debug_trace(fmt, args...) do { NOP("" fmt, ##args); } while (0)
-#define debug_log(fmt, args...) do { NOP("" fmt, ##args); } while (0)
-#define debug_warning(fmt, args...) do { NOP("" fmt, ##args); } while (0)
-#define debug_error(fmt, args...) do { NOP("" fmt, ##args); } while (0)
-#define debug_critical(fmt, args...) do { NOP("" fmt, ##args); } while (0)
-#define debug_fatal(fmt, args...) do { NOP("" fmt, ##args); } while (0)
-
-#define debug_trace_if(fmt, args...)
-#define debug_log_if(fmt, args...)
-#define debug_warning_if(expr, fmt, args...) do { if (expr) NOP("" fmt, ##args); } while (0)
-#define debug_error_if(expr, fmt, args...) do { if (expr) NOP("" fmt, ##args); } while (0)
-#define debug_fatal_if(expr, fmt, args...) do { if (expr) NOP("" fmt, ##args); } while (0)
-
-#define debug_secure_trace(fmt, args...)
-#define debug_secure(fmt, args...)
-#define debug_secure_warning(fmt, args...)
-#define debug_secure_error(fmt, args...)
-#define debug_secure_fatal(fmt, args...)
-
-#define debug_secure_trace_if(fmt, args...)
-#define debug_secure_log_if(fmt, args...)
-#define debug_secure_warning_if(fmt, args...)
-#define debug_secure_error_if(fmt, args...)
-#define debug_secure_fatal_if(fmt, args...)
-
-#define debug_enter()
-#define debug_leave()
+#define debug_trace(fmt, args...) _debug_nop(fmt, ##args)
+#define debug_log(fmt, args...) _debug_nop(fmt, ##args)
+
+#define debug_trace_if(fmt, args...) _debug_nop_expr(expr, fmt, ##args)
+#define debug_log_if(fmt, args...) _debug_nop_expr(expr, fmt, ##args)
+
+#define debug_secure_trace(fmt, args...) _debug_nop(fmt, ##args)
+#define debug_secure(fmt, args...) _debug_nop(fmt, ##args)
+
+#define debug_secure_trace_if(fmt, args...) _debug_nop_expr(expr, fmt, ##args)
+#define debug_secure_log_if(fmt, args...) _debug_nop_expr(expr, fmt, ##args)
+
+#define debug_enter() _debug_nop("")
+#define debug_leave() _debug_nop("")
#endif /* _DEBUG */
#define RETURN_IF_FAIL(expr) \
do { \
- if (!(expr)) { \
+ if (!COND(expr)) { \
debug_error("expr : (%s) failed", #expr); \
return; \
} \
#define RETURN_VAL_IF_FAIL(expr, val) \
do { \
- if (!(expr)) { \
+ if (!COND(expr)) { \
debug_error("expr : (%s) failed", #expr); \
return (val); \
} \
#define ret_if(expr) \
do { \
- if (expr) { \
+ if (COND(expr)) { \
return; \
} \
} while (0)
#define retv_if(expr, val) \
do { \
- if (expr) { \
+ if (COND(expr)) { \
return (val); \
} \
} while (0)
#define retm_if(expr, fmt, arg...) \
do { \
- if (expr) { \
+ if (COND(expr)) { \
debug_error(fmt, ##arg); \
return; \
} \
} while (0)
-#define warn_if(expr, fmt, arg...) \
+#define retvm_if(expr, val, fmt, arg...) \
do { \
- if (expr) { \
- debug_warning(fmt, ##arg); \
+ if (COND(expr)) { \
+ debug_error(fmt, ##arg); \
+ return (val); \
} \
} while (0)
#define gotom_if(expr, label, fmt, arg...) \
do { \
- if (expr) { \
+ if (COND(expr)) { \
debug_error(fmt, ##arg); \
goto label; \
} \
} while (0)
-#define retvm_if(expr, val, fmt, arg...) \
+#define break_if(expr, fmt, arg...) \
do { \
- if (expr) { \
+ if (COND(expr)) { \
debug_error(fmt, ##arg); \
- return (val); \
+ break; \
} \
} while (0)
-typedef enum {
- EMAIL_DEBUG_CRITICAL = 0,
- EMAIL_DEBUG_WARNING,
- EMAIL_DEBUG_EXPR,
- EMAIL_DEBUG_TIME,
- EMAIL_DEBUG_LOG,
- EMAIL_DEBUG_MAX
-} EmailDebugType;
-
G_END_DECLS
#endif /* _EMAIL_DEBUG_H_ */
_make_sorting_rule_list(sort_type, account_id, sorting_rule_list);
err = email_get_mail_list_ex(filter_list, cnt_filter_list, sorting_rule_list, cnt_soring_rule, -1, -1, &mail_list, mail_count);
- warn_if(err != EMAIL_ERROR_NONE, "email_get_mail_list_ex - err (%d)", err);
+ debug_warning_if(err != EMAIL_ERROR_NONE, "email_get_mail_list_ex - err (%d)", err);
FREE(sorting_rule_list);
email_free_list_filter(&filter_list, cnt_filter_list);
_make_sorting_rule_list(sort_type, account_id, sorting_rule_list);
err = email_get_mail_list_ex(filter_list, cnt_filter_list, sorting_rule_list, cnt_soring_rule, -1, -1, &mail_list, mail_count);
- warn_if(err != EMAIL_ERROR_NONE, "email_get_mail_list_ex - err (%d)", err);
+ debug_warning_if(err != EMAIL_ERROR_NONE, "email_get_mail_list_ex - err (%d)", err);
FREE(sorting_rule_list);
email_free_list_filter(&filter_list, cnt_filter_list);
_make_sorting_rule_list(sort_type, 0, sorting_rule_list);
err = email_get_mail_list_ex(filter_list, j, sorting_rule_list, cnt_soring_rule, -1, -1, &mail_list, mail_count);
- warn_if(err != EMAIL_ERROR_NONE, "email_get_mail_list_ex - err (%d)", err);
+ debug_warning_if(err != EMAIL_ERROR_NONE, "email_get_mail_list_ex - err (%d)", err);
FREE(sorting_rule_list);
email_free_list_filter(&filter_list, cnt_filter_list);
_make_sorting_rule_list(sort_type, 0, sorting_rule_list);
err = email_get_mail_list_ex(filter_list, cnt_filter_list, sorting_rule_list, cnt_soring_rule, -1, -1, &mail_list, mail_count);
- warn_if(err != EMAIL_ERROR_NONE, "email_get_mail_list_ex - err (%d)", err);
+ debug_warning_if(err != EMAIL_ERROR_NONE, "email_get_mail_list_ex - err (%d)", err);
FREE(sorting_rule_list);
email_free_list_filter(&filter_list, cnt_filter_list);
_add_search_data_into_filter_list(search_data, filter_list, &i);
err = email_count_mail(filter_list, cnt_filter_list, &total_count, &unread_count);
- warn_if(err != EMAIL_ERROR_NONE, "email_count_mail - err (%d)", err);
+ debug_warning_if(err != EMAIL_ERROR_NONE, "email_count_mail - err (%d)", err);
email_free_list_filter(&filter_list, cnt_filter_list);
<option id="gnu.cpp.compiler.option.optimization.level.2094780226" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
<option defaultValue="gnu.cpp.compiler.debugging.level.max" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1537991202" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
<option id="sbi.gnu.cpp.compiler.option.1523618383" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
- <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
+ <listOptionValue builtIn="false" value="mobile-3.0-device.core.private_llvm36.armel.core.app"/>
</option>
<option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1176462851" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1417551598" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
<option defaultValue="gnu.c.debugging.level.max" id="sbi.gnu.c.compiler.option.debugging.level.core.1930760565" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
<option id="sbi.gnu.c.compiler.option.694582685" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
- <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
+ <listOptionValue builtIn="false" value="mobile-3.0-device.core.private_llvm36.armel.core.app"/>
</option>
<option id="sbi.gnu.c.compiler.option.frameworks_inc.core.144987042" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
<tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1611393507" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
<tool id="org.tizen.nativecore.tool.sbi.po.compiler.1856774696" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
<tool id="org.tizen.nativecore.tool.sbi.edc.compiler.578191361" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
- <option id="sbi.gnu.edc.compiler.option.misc.id.879597268" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
+ <option command="-id " id="sbi.gnu.edc.compiler.option.misc.id.879597268" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/edc_images}""/>
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/edc_images/composer_icon}""/>
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/edc_images/list_icon}""/>
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/res/images/composer_icon}""/>
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/res/images/list_icon}""/>
</option>
- <option id="sbi.gnu.edc.compiler.option.misc.sd.1070783399" name="Sound Path (-sd)" superClass="sbi.gnu.edc.compiler.option.misc.sd"/>
- <option id="sbi.gnu.edc.compiler.option.misc.fd.1159250073" name="Font Path (-fd)" superClass="sbi.gnu.edc.compiler.option.misc.fd"/>
+ <option command="-sd " id="sbi.gnu.edc.compiler.option.misc.sd.1070783399" name="Sound Path (-sd)" superClass="sbi.gnu.edc.compiler.option.misc.sd"/>
+ <option command="-fd " id="sbi.gnu.edc.compiler.option.misc.fd.1159250073" name="Font Path (-fd)" superClass="sbi.gnu.edc.compiler.option.misc.fd"/>
</tool>
</toolChain>
</folderInfo>
<option id="gnu.cpp.compiler.option.optimization.level.1701289191" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
<option defaultValue="gnu.cpp.compiler.debugging.level.default" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1284337376" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
<option id="sbi.gnu.cpp.compiler.option.626099143" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
- <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
+ <listOptionValue builtIn="false" value="mobile-3.0-device.core.private_llvm36.armel.core.app"/>
</option>
<option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.981270356" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.2015369817" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
<option defaultValue="gnu.c.debugging.level.default" id="sbi.gnu.c.compiler.option.debugging.level.core.494821323" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
<option id="sbi.gnu.c.compiler.option.1092442948" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
- <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
+ <listOptionValue builtIn="false" value="mobile-3.0-device.core.private_llvm36.armel.core.app"/>
</option>
<option id="sbi.gnu.c.compiler.option.frameworks_inc.core.379204472" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
<tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.652761047" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
<tool id="org.tizen.nativecore.tool.sbi.po.compiler.1730923067" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
<tool id="org.tizen.nativecore.tool.sbi.edc.compiler.36745342" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
- <option id="sbi.gnu.edc.compiler.option.misc.id.457450646" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
+ <option command="-id " id="sbi.gnu.edc.compiler.option.misc.id.457450646" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/edc_images}""/>
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/edc_images/composer_icon}""/>
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/edc_images/list_icon}""/>
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/res/images/composer_icon}""/>
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/res/images/list_icon}""/>
</option>
- <option id="sbi.gnu.edc.compiler.option.misc.sd.371048442" name="Sound Path (-sd)" superClass="sbi.gnu.edc.compiler.option.misc.sd"/>
- <option id="sbi.gnu.edc.compiler.option.misc.fd.731638430" name="Font Path (-fd)" superClass="sbi.gnu.edc.compiler.option.misc.fd"/>
+ <option command="-sd " id="sbi.gnu.edc.compiler.option.misc.sd.371048442" name="Sound Path (-sd)" superClass="sbi.gnu.edc.compiler.option.misc.sd"/>
+ <option command="-fd " id="sbi.gnu.edc.compiler.option.misc.fd.731638430" name="Font Path (-fd)" superClass="sbi.gnu.edc.compiler.option.misc.fd"/>
</tool>
</toolChain>
</folderInfo>