diff -ru nginx-0.9.5-original/auto/cc/conf nginx-0.9.5/auto/cc/conf --- nginx-0.9.5-original/auto/cc/conf 2010-07-05 15:02:25.000000000 +0200 +++ nginx-0.9.5/auto/cc/conf 2011-03-01 12:49:11.000000000 +0100 @@ -128,7 +128,13 @@ ngx_feature="gcc builtin atomic operations" ngx_feature_name=NGX_HAVE_GCC_ATOMIC - ngx_feature_run=yes + if [[ "$NGX_PLATFORM" != cross-* ]]; + then + ngx_feature_run=yes + else + ngx_feature="$ngx_feature (cross compilation, can't run)" + ngx_feature_run=no + fi ngx_feature_incs= ngx_feature_path= ngx_feature_libs= @@ -142,13 +148,18 @@ __sync_synchronize();" . auto/feature - if [ "$NGX_CC_NAME" = "ccc" ]; then echo "checking for C99 variadic macros ... disabled" else ngx_feature="C99 variadic macros" ngx_feature_name="NGX_HAVE_C99_VARIADIC_MACROS" - ngx_feature_run=yes + if [[ "$NGX_PLATFORM" != cross-* ]]; + then + ngx_feature_run=yes + else + ngx_feature="$ngx_feature (cross compilation, can't run)" + ngx_feature_run=no + fi ngx_feature_incs="#include #define var(dummy, ...) sprintf(__VA_ARGS__)" ngx_feature_path= @@ -162,7 +173,13 @@ ngx_feature="gcc variadic macros" ngx_feature_name="NGX_HAVE_GCC_VARIADIC_MACROS" - ngx_feature_run=yes + if [[ "$NGX_PLATFORM" != cross-* ]]; + then + ngx_feature_run=yes + else + ngx_feature="$ngx_feature (cross compilation, can't run)" + ngx_feature_run=no + fi ngx_feature_incs="#include #define var(dummy, args...) sprintf(args)" ngx_feature_path= @@ -172,7 +189,6 @@ if (buf[0] != '1') return 1" . auto/feature - # ngx_feature="inline" # ngx_feature_name= # ngx_feature_run=no diff -ru nginx-0.9.5-original/auto/cc/name nginx-0.9.5/auto/cc/name --- nginx-0.9.5-original/auto/cc/name 2007-11-15 15:22:12.000000000 +0100 +++ nginx-0.9.5/auto/cc/name 2011-03-01 12:48:56.000000000 +0100 @@ -6,7 +6,7 @@ ngx_feature="C compiler" ngx_feature_name= - ngx_feature_run=yes + ngx_feature_run=no ngx_feature_incs= ngx_feature_path= ngx_feature_libs= diff -ru nginx-0.9.5-original/auto/os/conf nginx-0.9.5/auto/os/conf --- nginx-0.9.5-original/auto/os/conf 2009-05-10 21:49:14.000000000 +0200 +++ nginx-0.9.5/auto/os/conf 2011-03-01 15:09:22.000000000 +0100 @@ -57,6 +57,10 @@ CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" CORE_SRCS="$UNIX_SRCS" ;; + + cross-linux-*) + . auto/os/linux + ;; *) CORE_INCS="$UNIX_INCS" diff -ru nginx-0.9.5-original/auto/os/linux nginx-0.9.5/auto/os/linux --- nginx-0.9.5-original/auto/os/linux 2009-11-03 17:29:47.000000000 +0100 +++ nginx-0.9.5/auto/os/linux 2011-03-01 13:01:34.000000000 +0100 @@ -45,7 +45,13 @@ ngx_feature="epoll" ngx_feature_name="NGX_HAVE_EPOLL" -ngx_feature_run=yes +if [[ "$NGX_PLATFORM" != cross-* ]]; +then + ngx_feature_run=yes +else + ngx_feature="$ngx_feature (cross compilation, can't run)" + ngx_feature_run=no +fi ngx_feature_incs="#include " ngx_feature_path= ngx_feature_libs= @@ -70,7 +76,13 @@ CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE" ngx_feature="sendfile()" ngx_feature_name="NGX_HAVE_SENDFILE" -ngx_feature_run=yes +if [[ "$NGX_PLATFORM" != cross-* ]]; +then + ngx_feature_run=yes +else + ngx_feature="$ngx_feature (cross compilation, can't run)" + ngx_feature_run=no +fi ngx_feature_incs="#include #include " ngx_feature_path= @@ -91,7 +103,13 @@ CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" ngx_feature="sendfile64()" ngx_feature_name="NGX_HAVE_SENDFILE64" -ngx_feature_run=yes +if [[ "$NGX_PLATFORM" != cross-* ]]; +then + ngx_feature_run=yes +else + ngx_feature="$ngx_feature (cross compilation, can't run)" + ngx_feature_run=no +fi ngx_feature_incs="#include #include " ngx_feature_path= @@ -109,7 +127,13 @@ ngx_feature="prctl(PR_SET_DUMPABLE)" ngx_feature_name="NGX_HAVE_PR_SET_DUMPABLE" -ngx_feature_run=yes +if [[ "$NGX_PLATFORM" != cross-* ]]; +then + ngx_feature_run=yes +else + ngx_feature="$ngx_feature (cross compilation, can't run)" + ngx_feature_run=no +fi ngx_feature_incs="#include " ngx_feature_path= ngx_feature_libs= diff -ru nginx-0.9.5-original/auto/types/sizeof nginx-0.9.5/auto/types/sizeof --- nginx-0.9.5-original/auto/types/sizeof 2006-06-28 18:00:26.000000000 +0200 +++ nginx-0.9.5/auto/types/sizeof 2011-03-01 13:20:43.000000000 +0100 @@ -13,7 +13,9 @@ ngx_size= -cat << END > $NGX_AUTOTEST.c +if [[ "$NGX_PLATFORM" != cross-* ]]; +then + cat << END > $NGX_AUTOTEST.c #include #include @@ -31,21 +33,47 @@ END -ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ - -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" + ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ + -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" -eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" + eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" -if [ -x $NGX_AUTOTEST ]; then - ngx_size=`$NGX_AUTOTEST` - echo " $ngx_size bytes" + if [ -x $NGX_AUTOTEST ]; then + ngx_size=`$NGX_AUTOTEST` + echo " $ngx_size bytes" + fi + + + rm -f $NGX_AUTOTEST +else + + if [[ "$NGX_PLATFORM" == cross-*-32 ]]; + then + case "$ngx_type" in + "int") ngx_size=4 ;; + "long") ngx_size=4 ;; + "long long") ngx_size=8 ;; + "void *") ngx_size=4 ;; + + "size_t") ngx_size=4 ;; + "off_t") ngx_size=4 ;; + "time_t") ngx_size=4 ;; + + "sig_atomic_t") ngx_size=4 ;; + "socklen_t") ngx_size=4 ;; + "in_addr_t") ngx_size=4 ;; + "in_port_t") ngx_size=2 ;; + "rlim_t") ngx_size=4 ;; + esac + elif [[ "$NGX_PLATFORM" == cross-*-64 ]]; + then + echo "Cross compiling to 64 bit not supported, failing test" + ngx_size=0 + fi fi -rm -f $NGX_AUTOTEST - - case $ngx_size in 4) if [ "$ngx_type"="long" ]; then diff -ru nginx-0.9.5-original/auto/unix nginx-0.9.5/auto/unix --- nginx-0.9.5-original/auto/unix 2010-12-06 15:51:20.000000000 +0100 +++ nginx-0.9.5/auto/unix 2011-03-01 15:23:05.000000000 +0100 @@ -108,54 +108,65 @@ ngx_feature_test="char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0)" . auto/feature - -ngx_feature="sys_nerr" -ngx_feature_name="NGX_SYS_NERR" -ngx_feature_run=value -ngx_feature_incs='#include ' -ngx_feature_path= -ngx_feature_libs= -ngx_feature_test='printf("%d", sys_nerr);' -. auto/feature - - -if [ $ngx_found = no ]; then - - # Cygiwn defines _sys_nerr - ngx_feature="_sys_nerr" - ngx_feature_name="NGX_SYS_NERR" - ngx_feature_run=value - ngx_feature_incs='#include - #include ' - ngx_feature_path= - ngx_feature_libs= - ngx_feature_test='printf("%d", _sys_nerr);' - . auto/feature -fi - - -if [ $ngx_found = no ]; then - - # Solaris has no sys_nerr - ngx_feature='maximum errno' - ngx_feature_name=NGX_SYS_NERR - ngx_feature_run=value - ngx_feature_incs='#include - #include ' - ngx_feature_path= - ngx_feature_libs= - ngx_feature_test='int n; - for (n = 1; n < 1000; n++) { - errno = 0; - strerror(n); - if (errno == EINVAL) { - printf("%d", n); - return 0; - } - }' - . auto/feature -fi - +case "$NGX_PLATFORM" in + cross-linux-*) + cat << END >> $NGX_AUTO_CONFIG_H + +#ifndef NGX_SYS_NERR +#define NGX_SYS_NERR 132 +#endif + +END + ;; + + *) + ngx_feature="sys_nerr" + ngx_feature_name="NGX_SYS_NERR" + ngx_feature_run=value + ngx_feature_incs='#include ' + ngx_feature_path= + ngx_feature_libs= + ngx_feature_test='printf("%d", sys_nerr);' + . auto/feature + + + if [ $ngx_found = no ]; + then + # Cygiwn defines _sys_nerr + ngx_feature="_sys_nerr" + ngx_feature_name="NGX_SYS_NERR" + ngx_feature_run=value + ngx_feature_incs='#include + #include ' + ngx_feature_path= + ngx_feature_libs= + ngx_feature_test='printf("%d", _sys_nerr);' + . auto/feature + fi + + if [ $ngx_found = no ]; then + + # Solaris has no sys_nerr + ngx_feature='maximum errno' + ngx_feature_name=NGX_SYS_NERR + ngx_feature_run=value + ngx_feature_incs='#include + #include ' + ngx_feature_path= + ngx_feature_libs= + ngx_feature_test='int n; + for (n = 1; n < 1000; n++) { + errno = 0; + strerror(n); + if (errno == EINVAL) { + printf("%d", n); + return 0; + } + }' + . auto/feature + fi + ;; +esac ngx_feature="localtime_r()" ngx_feature_name="NGX_HAVE_LOCALTIME_R" @@ -189,7 +200,13 @@ ngx_feature="mmap(MAP_ANON|MAP_SHARED)" ngx_feature_name="NGX_HAVE_MAP_ANON" -ngx_feature_run=yes +if [[ "$NGX_PLATFORM" != cross-* ]]; +then + ngx_feature_run=yes +else + ngx_feature="$ngx_feature (cross compilation, can't run)" + ngx_feature_run=no +fi ngx_feature_incs="#include " ngx_feature_path= ngx_feature_libs= @@ -199,10 +216,15 @@ if (p == MAP_FAILED) return 1;" . auto/feature - ngx_feature='mmap("/dev/zero", MAP_SHARED)' ngx_feature_name="NGX_HAVE_MAP_DEVZERO" -ngx_feature_run=yes +if [[ "$NGX_PLATFORM" != cross-* ]]; +then + ngx_feature_run=yes +else + ngx_feature="$ngx_feature (cross compilation, can't run)" + ngx_feature_run=no +fi ngx_feature_incs="#include #include #include " @@ -214,10 +236,15 @@ if (p == MAP_FAILED) return 1;' . auto/feature - ngx_feature="System V shared memory" ngx_feature_name="NGX_HAVE_SYSVSHM" -ngx_feature_run=yes +if [[ "$NGX_PLATFORM" != cross-* ]]; +then + ngx_feature_run=yes +else + ngx_feature="$ngx_feature (cross compilation, can't run)" + ngx_feature_run=no +fi ngx_feature_incs="#include #include " ngx_feature_path=