]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: jit: don't rely on USE flag to detect support
authorLukas Tribus <luky-37@hotmail.com>
Sun, 14 Apr 2013 22:41:40 +0000 (00:41 +0200)
committerWilly Tarreau <w@1wt.eu>
Sun, 14 Apr 2013 23:24:16 +0000 (01:24 +0200)
Since ea68d36 we show whether JIT is enabled, based on the USE-flag
(USE_PCRE_JIT). This is too naive; libpcre may be built without JIT
support (which is the default).

Fix this by calling pcre_config(), which has the accurate information
we are looking for.

Example of a libpcre without JIT support after this patch:
> ./haproxy -vv | grep PCRE
>   OPTIONS = USE_STATIC_PCRE=1 USE_PCRE_JIT=1
> Built with PCRE version : 8.32 2012-11-30
> PCRE library supports JIT : no (libpcre build without JIT?)

src/haproxy.c

index d4c11897440e37a922844532cff10a63f303331f..da7a6251425f930d5430107254930856e4ecad9b 100644 (file)
@@ -292,13 +292,20 @@ void display_build_opts()
 
 #ifdef USE_PCRE
        printf("Built with PCRE version : %s", pcre_version());
-       printf("\nPCRE library supports JIT : "
-#ifndef USE_PCRE_JIT
-              "no (USE_PCRE_JIT not set)"
+       printf("\nPCRE library supports JIT : ");
+#ifdef USE_PCRE_JIT
+       {
+               int r;
+               pcre_config(PCRE_CONFIG_JIT, &r);
+               if (r)
+                       printf("yes");
+               else
+                       printf("no (libpcre build without JIT?)");
+       }
 #else
-              "yes"
+       printf("no (USE_PCRE_JIT not set)");
 #endif
-              "\n");
+       printf("\n");
 #else
        printf("Built without PCRE support (using libc's regex instead)\n");
 #endif