Custom compilation flag for an nginx module

Maxim Dounin mdounin at
Wed Dec 3 16:04:57 UTC 2014


On Wed, Dec 03, 2014 at 10:47:01AM -0500, erankor2 wrote:

> Hi all,
> Is it possible for an nginx module to define custom compilation switches
> that add external libs / preprocessor macros ? Is there some example of a
> module that does it ?


> Specifically, what I'm trying to do is measure time accurately in my module
> for benchmarking purposes. Since I use Linux, I was planning to use
> clock_gettime(CLOCK_MONOTONIC) for that. This function is Linux-specific,
> and so I would like to make it optional at compilation time:
>  * if nginx is compile with --with-clock-gettime (or something like that) I
> will use clock_gettime and link against the required library (librt)
>  * otherwise, I will fall back to using gettimeofday or drop the feature
> altogether

It may be better to just detect if the function is available on 
a system in your module config script, much like it's done for 
many other functions in auto/unix script.

Note well that clock_gettime() isn't Linux-specific, it's in POSIX:

Need for librt is Linux-specific though.  It can be easily tested 
as well, and there are couple of feature tests in auto/unix which 
do such tests for other functions.

Maxim Dounin

More information about the nginx mailing list