Custom compilation flag for an nginx module
Maxim Dounin
mdounin at mdounin.ru
Wed Dec 3 18:42:15 UTC 2014
Hello!
On Wed, Dec 03, 2014 at 11:28:28AM -0500, erankor2 wrote:
> Thank you Maxim, your suggestion will definitely work for me.
>
> Are you familiar with any simple "non-core" module that does it ? I will
> need to test for the existence of this function or the need to explicitly
> add librt, and update CORE_LIBS accordingly + define some preprocessor macro
> that I can later #ifdef on in my code.
The code as in feature tests in auto/unix is more or less the same
you'll need in your module config file, e.g.:
ngx_feature="sched_yield()"
ngx_feature_name="NGX_HAVE_SCHED_YIELD"
ngx_feature_run=no
ngx_feature_incs="#include <sched.h>"
ngx_feature_path=
ngx_feature_libs=
ngx_feature_test="sched_yield()"
. auto/feature
if [ $ngx_found != yes ]; then
ngx_feature="sched_yield() in librt"
ngx_feature_libs="-lrt"
. auto/feature
if [ $ngx_found = yes ]; then
CORE_LIBS="$CORE_LIBS -lrt"
fi
fi
Replacing sched_yield() here with clock_gettime() as appropriate
should do the trick.
Note well that the whole configure system is in shell, so it's
easy to read and understand.
--
Maxim Dounin
http://nginx.org/
More information about the nginx
mailing list