diff --git a/Makefile b/Makefile index a21f738e8..d5c3f4c4e 100644 --- a/Makefile +++ b/Makefile @@ -616,9 +616,6 @@ OPTIONS_OBJS += src/hlua.o src/hlua_fcn.o endif ifneq ($(USE_DEVICEATLAS),) -ifeq ($(USE_PCRE),) -$(error the DeviceAtlas module needs the PCRE library in order to compile) -endif # Use DEVICEATLAS_SRC and possibly DEVICEATLAS_INC and DEVICEATLAS_LIB to force path # to DeviceAtlas headers and libraries if needed. DEVICEATLAS_SRC = @@ -627,6 +624,14 @@ DEVICEATLAS_LIB = $(DEVICEATLAS_SRC) ifeq ($(DEVICEATLAS_SRC),) OPTIONS_LDFLAGS += -lda else +ifeq ($(USE_PCRE),) +ifeq ($(USE_PCRE2),) +$(error the DeviceAtlas module needs the PCRE or the PCRE2 library in order to compile) +endif +endif +ifneq ($(USE_PCRE2),) +OPTIONS_CFLAGS += -DDA_REGEX_HDR=\"dac_pcre2.c\" -DDA_REGEX_TAG=2 +endif OPTIONS_OBJS += $(DEVICEATLAS_LIB)/json.o OPTIONS_OBJS += $(DEVICEATLAS_LIB)/dac.o endif diff --git a/doc/DeviceAtlas-device-detection.txt b/doc/DeviceAtlas-device-detection.txt index 2358c5cc6..ccafaa0b1 100644 --- a/doc/DeviceAtlas-device-detection.txt +++ b/doc/DeviceAtlas-device-detection.txt @@ -2,10 +2,10 @@ DeviceAtlas Device Detection ---------------------------- In order to add DeviceAtlas Device Detection support, you would need to download -the API source code from https://deviceatlas.com/deviceatlas-haproxy-module and -once extracted : +the API source code from https://deviceatlas.com/deviceatlas-haproxy-module. +The build supports the USE_PCRE and USE_PCRE2 options. Once extracted : - $ make TARGET= USE_PCRE=1 USE_DEVICEATLAS=1 DEVICEATLAS_SRC= + $ make TARGET= USE_PCRE (or USE_PCRE2=1) USE_DEVICEATLAS=1 DEVICEATLAS_SRC= Optionally DEVICEATLAS_INC and DEVICEATLAS_LIB may be set to override the path to the include files and libraries respectively if they're not in the source