-/* They live in asserts.h, but need to be declared before this module.
- double declaration to cut dependency cycle */
-/**
- * @addtogroup XBT_error
- *
- * @{
- */
-/** @brief Kill the program in silence */
-XBT_PUBLIC(void) xbt_abort(void) _XBT_GNUC_NORETURN;
-
-/**
- * @brief Kill the program with an error message
- * \param ... a format string and its arguments
- *
- * Things are so messed up that the only thing to do now, is to stop the
- * program.
- *
- * The message is handled by a CRITICAL logging request, and may consist of a
- * format string with arguments.
- */
-#define xbt_die(...) \
- do { \
- XBT_LOG_EXTERNAL_CATEGORY(xbt); \
- XBT_CCRITICAL(xbt, __VA_ARGS__); \
- xbt_abort(); \
- } while (0)
-/** @} */
-
-/* these ones live in str.h, but redeclare them here so that we do
- not need to load the whole str.h and its heavy dependencies */
-#ifndef __USE_GNU /* do not redeclare existing headers */
-XBT_PUBLIC(int) asprintf(char **ptr, const char *fmt, /*args */
- ...) _XBT_GNUC_PRINTF(2, 3);
-XBT_PUBLIC(int) vasprintf(char **ptr, const char *fmt, va_list ap);
+#ifdef XBT_LOG_LOCALLY_DEFINE_XBT_CHANNEL
+XBT_LOG_NEW_CATEGORY(xbt, "All XBT categories (SimGrid toolbox)");
+XBT_LOG_NEW_SUBCATEGORY(xbt_help, xbt, "Help messages");
+#else
+XBT_LOG_EXTERNAL_CATEGORY(xbt);
+XBT_LOG_EXTERNAL_CATEGORY(xbt_help);