
# Copyright (C) Igor Sysoev
# Copyright (C) Maxim Dounin
# Copyright (C) Nginx, Inc.


ngx_geoip_found=no

if [ $GEOIP_LEGACY != DISABLED ]; then

    ngx_feature="GeoIP library"
    ngx_feature_name="NGX_HAVE_GEOIP_LEGACY"
    ngx_feature_run=no
    ngx_feature_incs="#include <GeoIP.h>"
    ngx_feature_path=
    ngx_feature_libs="-lGeoIP"
    ngx_feature_test="GeoIP_open(NULL, 0)"
    . auto/feature

    if [ $ngx_found = no ]; then

        # FreeBSD port

        ngx_feature="GeoIP library in /usr/local/"
        ngx_feature_path="/usr/local/include"

        if [ $NGX_RPATH = YES ]; then
            ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lGeoIP"
        else
            ngx_feature_libs="-L/usr/local/lib -lGeoIP"
        fi

        . auto/feature
    fi

    if [ $ngx_found = no ]; then

        # NetBSD port

        ngx_feature="GeoIP library in /usr/pkg/"
        ngx_feature_path="/usr/pkg/include"

        if [ $NGX_RPATH = YES ]; then
            ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lGeoIP"
        else
            ngx_feature_libs="-L/usr/pkg/lib -lGeoIP"
        fi

        . auto/feature
    fi

    if [ $ngx_found = no ]; then

        # MacPorts

        ngx_feature="GeoIP library in /opt/local/"
        ngx_feature_path="/opt/local/include"

        if [ $NGX_RPATH = YES ]; then
            ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lGeoIP"
        else
            ngx_feature_libs="-L/opt/local/lib -lGeoIP"
        fi

        . auto/feature
    fi

    if [ $ngx_found = yes ]; then

        CORE_INCS="$CORE_INCS $ngx_feature_path"

        if [ $USE_GEOIP = YES ]; then
            CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
        fi

        NGX_LIB_GEOIP=$ngx_feature_libs

        ngx_feature="GeoIP IPv6 support"
        ngx_feature_name="NGX_HAVE_GEOIP_V6"
        ngx_feature_run=no
        ngx_feature_incs="#include <stdio.h>
                          #include <GeoIP.h>"
        #ngx_feature_path=
        #ngx_feature_libs=
        ngx_feature_test="printf(\"%d\", GEOIP_CITY_EDITION_REV0_V6);"
        . auto/feature

        ngx_geoip_found=yes
    fi
fi


if [ $GEOIP_MMDB != DISABLED ]; then

    ngx_feature="libmaxminddb"
    ngx_feature_name="NGX_HAVE_GEOIP_MMDB"
    ngx_feature_run=no
    ngx_feature_incs="#include <maxminddb.h>"
    ngx_feature_path=
    ngx_feature_libs="-lmaxminddb"
    ngx_feature_test="MMDB_open(NULL, 0, NULL)"
    . auto/feature

    if [ $ngx_found = no ]; then

        # FreeBSD port

        ngx_feature="libmaxminddb in /usr/local/"
        ngx_feature_path="/usr/local/include"

        if [ $NGX_RPATH = YES ]; then
            ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lmaxminddb"
        else
            ngx_feature_libs="-L/usr/local/lib -lmaxminddb"
        fi

        . auto/feature
    fi

    if [ $ngx_found = no ]; then

        # NetBSD port

        ngx_feature="libmaxminddb in /usr/pkg/"
        ngx_feature_path="/usr/pkg/include"

        if [ $NGX_RPATH = YES ]; then
            ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lmaxminddb"
        else
            ngx_feature_libs="-L/usr/pkg/lib -lmaxminddb"
        fi

        . auto/feature
    fi

    if [ $ngx_found = no ]; then

        # MacPorts

        ngx_feature="libmaxminddb in /opt/local/"
        ngx_feature_path="/opt/local/include"

        if [ $NGX_RPATH = YES ]; then
            ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lmaxminddb"
        else
            ngx_feature_libs="-L/opt/local/lib -lmaxminddb"
        fi

        . auto/feature
    fi

    if [ $ngx_found = yes ]; then

        ngx_geoip_found=yes

        CORE_INCS="$CORE_INCS $ngx_feature_path"

        if [ $USE_GEOIP = YES ]; then
            CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
        fi

        NGX_LIB_GEOIP="$NGX_LIB_GEOIP $ngx_feature_libs"
    fi
fi


if [ $ngx_geoip_found != yes ]; then

cat << END

$0: error: the GeoIP modules require the GeoIP library or
the libmaxminddb library (or both).  You can either do not enable
the modules or install at least one of the libraries.

END

    exit 1
fi
