Listing 1

dnl
dnl MYPROJECT_CHECK_SSL
dnl
dnl Allow the caller to specify the base tree for
dnl ssl, and set compiler/linker flags accordingly
dnl
dnl Sets output variables: @LDFLAG_SSL@ and @CXXFLAG_SSL@
dnl

AC_DEFUN(
[MYPROJECT_CHECK_SSL],
[
AC_ARG_WITH(
   [ssl],
   [AC_HELP_STRING([--with-ssl], [provide the location of your SSL toolkit])],
    [
        ## if provided, set -L and -I accordingly
        MYPROJECT_DIST_SSL=${withval}
        MYPROJECT_LDFLAG_SSL="-L${MYPROJECT_DIST_SSL}/lib"
        MYPROJECT_CXXFLAG_SSL="-I${MYPROJECT_DIST_SSL}/include"

        AC_MSG_NOTICE([We'll look for ssl under ${MYPROJECT_DIST_SSL}])
        AC_SUBST(LDFLAG_SSL, [${MYPROJECT_LDFLAG_SSL}])
        AC_SUBST(CXXFLAG_SSL, [${MYPROJECT_CXXFLAG_SSL}])
    ],
   [
       ## if it's in a system path, there's no need for the "-L" or "-I" flags
       ## this means, if the tool isn't available in default header/library
       ## search paths, the build will fail.
       AC_MSG_NOTICE([We'll look for ssl in the default 
                                               preprocessor/linker paths])
       AC_SUBST(LDFLAG_SSL, [""])
       AC_SUBST(CXXFLAG_SSL, [""])
    ]
)
]
)