diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index aedadfa7c..00f96274e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -169,16 +169,6 @@ if(CMARK_SHARED OR CMARK_STATIC) endif() -# Feature tests -include(CheckCSourceCompiles) -CHECK_C_SOURCE_COMPILES( - "int main() { __builtin_expect(0,0); return 0; }" - HAVE___BUILTIN_EXPECT) - -CONFIGURE_FILE( - ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in - ${CMAKE_CURRENT_BINARY_DIR}/config.h) - if(CMARK_LIB_FUZZER) add_executable(cmark-fuzz ../test/cmark-fuzz.c ${LIBRARY_SOURCES}) cmark_add_compile_options(cmark-fuzz) diff --git a/src/blocks.c b/src/blocks.c index 59bb22252..1abff0514 100644 --- a/src/blocks.c +++ b/src/blocks.c @@ -12,7 +12,6 @@ #include #include "cmark_ctype.h" -#include "config.h" #include "parser.h" #include "cmark.h" #include "node.h" diff --git a/src/buffer.c b/src/buffer.c index 4ad03d7c9..aeca03d09 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -7,7 +7,6 @@ #include #include -#include "config.h" #include "cmark_ctype.h" #include "buffer.h" diff --git a/src/buffer.h b/src/buffer.h index 7dfb1f8b3..430500bac 100644 --- a/src/buffer.h +++ b/src/buffer.h @@ -1,12 +1,12 @@ #ifndef CMARK_BUFFER_H #define CMARK_BUFFER_H -#include -#include -#include #include +#include +#include #include -#include "config.h" +#include + #include "cmark.h" #ifdef __cplusplus diff --git a/src/commonmark.c b/src/commonmark.c index dc31f4597..3c4347668 100644 --- a/src/commonmark.c +++ b/src/commonmark.c @@ -5,7 +5,6 @@ #include #include -#include "config.h" #include "cmark.h" #include "node.h" #include "buffer.h" diff --git a/src/config.h.in b/src/config.h.in deleted file mode 100644 index f67fb6326..000000000 --- a/src/config.h.in +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef CMARK_CONFIG_H -#define CMARK_CONFIG_H - -#ifdef __cplusplus -extern "C" { -#endif - -#cmakedefine HAVE___BUILTIN_EXPECT - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/houdini.h b/src/houdini.h index f738e8243..410530631 100644 --- a/src/houdini.h +++ b/src/houdini.h @@ -6,16 +6,8 @@ extern "C" { #endif #include -#include "config.h" -#include "buffer.h" -#ifdef HAVE___BUILTIN_EXPECT -#define likely(x) __builtin_expect((x), 1) -#define unlikely(x) __builtin_expect((x), 0) -#else -#define likely(x) (x) -#define unlikely(x) (x) -#endif +#include "buffer.h" #ifdef HOUDINI_USE_LOCALE #define _isxdigit(c) isxdigit(c) diff --git a/src/houdini_href_e.c b/src/houdini_href_e.c index 959d4bb63..38f2a5826 100644 --- a/src/houdini_href_e.c +++ b/src/houdini_href_e.c @@ -4,6 +4,17 @@ #include "houdini.h" +#if !defined(__has_builtin) +# define __has_builtin(b) 0 +#endif + +#if !__has_builtin(__builtin_expect) +# define __builtin_expect(e, v) (e) +#endif + +#define likely(e) __builtin_expect((e), 1) +#define unlikely(e) __builtin_expect((e), 0) + /* * The following characters will not be escaped: * diff --git a/src/houdini_html_e.c b/src/houdini_html_e.c index 0e539f037..391f2eaa1 100644 --- a/src/houdini_html_e.c +++ b/src/houdini_html_e.c @@ -4,6 +4,17 @@ #include "houdini.h" +#if !defined(__has_builtin) +# define __has_builtin(b) 0 +#endif + +#if !__has_builtin(__builtin_expect) +# define __builtin_expect(e, v) (e) +#endif + +#define likely(e) __builtin_expect((e), 1) +#define unlikely(e) __builtin_expect((e), 0) + /** * According to the OWASP rules: * diff --git a/src/houdini_html_u.c b/src/houdini_html_u.c index 3b7466e5f..e0999b0ae 100644 --- a/src/houdini_html_u.c +++ b/src/houdini_html_u.c @@ -7,6 +7,17 @@ #include "utf8.h" #include "entities.inc" +#if !defined(__has_builtin) +# define __has_builtin(b) 0 +#endif + +#if !__has_builtin(__builtin_expect) +# define __builtin_expect(e, v) (e) +#endif + +#define likely(e) __builtin_expect((e), 1) +#define unlikely(e) __builtin_expect((e), 0) + /* Binary tree lookup code for entities added by JGM */ static const unsigned char *S_lookup(int i, int low, int hi, diff --git a/src/html.c b/src/html.c index e9e29141a..35ce52226 100644 --- a/src/html.c +++ b/src/html.c @@ -5,7 +5,6 @@ #include #include "cmark_ctype.h" -#include "config.h" #include "cmark.h" #include "node.h" #include "buffer.h" diff --git a/src/inlines.c b/src/inlines.c index 8314c846a..c0b1c55d2 100644 --- a/src/inlines.c +++ b/src/inlines.c @@ -4,7 +4,6 @@ #include #include "cmark_ctype.h" -#include "config.h" #include "node.h" #include "parser.h" #include "references.h" diff --git a/src/iterator.c b/src/iterator.c index d41b90d69..cc428285e 100644 --- a/src/iterator.c +++ b/src/iterator.c @@ -2,7 +2,6 @@ #include #include -#include "config.h" #include "node.h" #include "cmark.h" #include "iterator.h" diff --git a/src/latex.c b/src/latex.c index 1b7b6c572..61be34f95 100644 --- a/src/latex.c +++ b/src/latex.c @@ -4,7 +4,6 @@ #include #include -#include "config.h" #include "cmark.h" #include "node.h" #include "buffer.h" diff --git a/src/main.c b/src/main.c index e02a3c438..e63604bd7 100644 --- a/src/main.c +++ b/src/main.c @@ -1,8 +1,8 @@ -#include +#include #include +#include #include -#include -#include "config.h" + #include "cmark.h" #include "node.h" diff --git a/src/man.c b/src/man.c index c793a05fa..02dfb7cb3 100644 --- a/src/man.c +++ b/src/man.c @@ -4,7 +4,6 @@ #include #include -#include "config.h" #include "cmark.h" #include "node.h" #include "buffer.h" diff --git a/src/node.c b/src/node.c index bcf96316d..48f6fd758 100644 --- a/src/node.c +++ b/src/node.c @@ -2,7 +2,6 @@ #include #include -#include "config.h" #include "node.h" static void S_node_unlink(cmark_node *node); diff --git a/src/node.h b/src/node.h index 430ee5671..c6591b03b 100644 --- a/src/node.h +++ b/src/node.h @@ -9,7 +9,6 @@ extern "C" { #include #include -#include "config.h" #include "cmark.h" #include "buffer.h" diff --git a/src/xml.c b/src/xml.c index a69053e5c..4f16edcde 100644 --- a/src/xml.c +++ b/src/xml.c @@ -4,7 +4,6 @@ #include #include -#include "config.h" #include "cmark.h" #include "node.h" #include "buffer.h"