Skip to content

Commit

Permalink
Patch the config file for nginx-lua-module to properly build on OSX 6…
Browse files Browse the repository at this point in the history
…4bit machines

running 32bit kernels :(
  • Loading branch information
Ezra Zygmuntowicz authored and chiggsy committed Feb 18, 2011
1 parent ee06a14 commit ebe2fee
Show file tree
Hide file tree
Showing 2 changed files with 164 additions and 0 deletions.
2 changes: 2 additions & 0 deletions build.sh
Expand Up @@ -25,6 +25,8 @@ export LUAJIT_LIB='/usr/local/lib/lua/5.1'
git submodule init
git submodule update

cp src/config-for-nginx-lua-module src/lua-nginx-module/config

pushd src/nginx-upload-module
git fetch origin 2.2
git checkout 2.2
Expand Down
162 changes: 162 additions & 0 deletions src/config-for-nginx-lua-module
@@ -0,0 +1,162 @@
ngx_feature="lua library"
ngx_feature_libs="-llua -lm"
ngx_feature_name=
ngx_feature_run=no
ngx_feature_incs="#include <lauxlib.h>"
ngx_feature_path=
ngx_feature_test="(void) luaL_newstate();"

if [ -n "$LUAJIT_INC" -o -n "$LUAJIT_LIB" ]; then
# explicit set lua lib path
ngx_feature="LuaJIT library in $LUAJIT_LIB and $LUAJIT_INC (specified by the LUAJIT_LIB and LUAJIT_INC env)"
ngx_feature_path="$LUAJIT_INC"
if [ $NGX_RPATH = YES ]; then
ngx_feature_libs="-R$LUAJIT_LIB -L$LUAJIT_LIB -lluajit-5.1 -lm"
else
ngx_feature_libs="-L$LUAJIT_LIB -lluajit-5.1 -lm"
fi

. auto/feature

if [ $ngx_found = no ]; then
cat << END
$0: error: the ngx_lua addon requires the lua or luajit library and LUAJIT_LIB is defined as $LUAJIT_LIB and LUAJIT_INC $LUAJIT_INC, but we cannot find LuaJIT there.
END
exit 1
fi

case "$NGX_PLATFORM" in
Darwin:*)
case "$NGX_MACHINE" in
amd64 | x86_64 | 1386)
echo "adding extra linking options needed by LuaJIT"
ngx_feature_libs="$ngx_feature_libs -pagezero_size 10000 -image_base 100000000"
;;

*)
;;
esac
;;

*)
;;
esac
else
if [ -n "$LUA_INC" -o -n "$LUA_LIB" ]; then
# explicit set lua lib path
ngx_feature="lua library in $LUA_LIB and $LUA_INC (specified by the LUA_LIB and LUA_INC env)"
ngx_feature_path="$LUA_INC"
if [ $NGX_RPATH = YES ]; then
ngx_feature_libs="-R$LUA_LIB -L$LUA_LIB -llua -lm"
else
ngx_feature_libs="-L$LUA_LIB -llua -lm"
fi

. auto/feature

if [ $ngx_found = no ]; then
cat << END
$0: error: the ngx_lua addon requires the lua or luajit library and LUA_LIB is defined as $LUA_LIB and LUA_INC is $LUA_INC, but we cannot find standard Lua there.
END
exit 1
fi
else
# auto-discovery
ngx_feature="lua library"
ngx_feature_libs="-llua -lm"
. auto/feature

if [ $ngx_found = no ]; then
# OpenBSD
ngx_feature="lua 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 -llua -lm"
else
ngx_feature_libs="-L/usr/local/lib -llua -lm"
fi
. auto/feature
fi

if [ $ngx_found = no ]; then
# NetBSD
ngx_feature="lua 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 -lm -llua"
else
ngx_feature_libs="-L/usr/pkg/lib -lm -llua"
fi
. auto/feature
fi

if [ $ngx_found = no ]; then
# MacPorts
ngx_feature="lua 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 -lm -llua"
else
ngx_feature_libs="-L/opt/local/lib -lm -llua"
fi
. auto/feature
fi

if [ $ngx_found = no ]; then
# FreeBSD
ngx_feature="lua library in /usr/local/../lua51/"
ngx_feature_path="/usr/local/include/lua51"
if [ $NGX_RPATH = YES ]; then
ngx_feature_libs="-R/usr/local/lib/lua51 -L/usr/local/lib/lua51 -llua -lm"
else
ngx_feature_libs="-L/usr/local/lib/lua51 -llua -lm"
fi
. auto/feature
fi

if [ $ngx_found = no ]; then
# Debian
ngx_feature="lua library in /usr/"
ngx_feature_path="/usr/include/lua5.1"
if [ $NGX_RPATH = YES ]; then
ngx_feature_libs="-R/usr/lib -L/usr/lib -lm -llua5.1"
else
ngx_feature_libs="-L/usr/lib -lm -llua5.1"
fi
. auto/feature
fi
fi
fi

if [ $ngx_found = yes ]; then
CORE_INCS="$CORE_INCS $ngx_feature_path"
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
else
cat << END
$0: error: the ngx_lua addon requires the lua library.
END
exit 1
fi

ngx_addon_name=ngx_http_lua_module
HTTP_AUX_FILTER_MODULES="$HTTP_AUX_FILTER_MODULES ngx_http_lua_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/src/ngx_http_lua_module.c $ngx_addon_dir/src/ngx_http_lua_headers.c $ngx_addon_dir/src/ngx_http_lua_directive.c $ngx_addon_dir/src/ngx_http_lua_hook.c $ngx_addon_dir/src/ngx_http_lua_util.c $ngx_addon_dir/src/ngx_http_lua_cache.c $ngx_addon_dir/src/ngx_http_lua_conf.c $ngx_addon_dir/src/ngx_http_lua_contentby.c $ngx_addon_dir/src/ngx_http_lua_rewriteby.c $ngx_addon_dir/src/ngx_http_lua_accessby.c $ngx_addon_dir/src/ngx_http_lua_setby.c $ngx_addon_dir/src/ngx_http_lua_filter.c $ngx_addon_dir/src/ngx_http_lua_clfactory.c"
NGX_ADDON_DEPS="$NGX_ADDON_DEPS $ngx_addon_dir/src/ddebug.h $ngx_addon_dir/src/ngx_http_lua_common.h $ngx_addon_dir/src/ngx_http_lua_directive.h $ngx_addon_dir/src/ngx_http_lua_headers.h $ngx_addon_dir/src/ngx_http_lua_hook.h $ngx_addon_dir/src/ngx_http_lua_util.h $ngx_addon_dir/src/ngx_http_lua_cache.h $ngx_addon_dir/src/ngx_http_lua_conf.h $ngx_addon_dir/src/ngx_http_lua_contentby.h $ngx_addon_dir/src/ngx_http_lua_rewriteby.h $ngx_addon_dir/src/ngx_http_lua_accessby.h $ngx_addon_dir/src/ngx_http_lua_setby.h $ngx_addon_dir/src/ngx_http_lua_filter.h $ngx_addon_dir/src/ngx_http_lua_clfactory.h"
CFLAGS="$CFLAGS -DNDK_SET_VAR"

ngx_feature="export symbols by default"
ngx_feature_libs="-Wl,-E"
ngx_feature_name=
ngx_feature_run=no
ngx_feature_incs="#include <stdio.h>"
ngx_feature_path=
ngx_feature_test='printf("hello");'

. auto/feature

if [ $ngx_found = yes ]; then
CORE_LIBS="-Wl,-E $CORE_LIBS"
fi

USE_MD5=YES

0 comments on commit ebe2fee

Please sign in to comment.