Only in mini_httpd-1.19/: build.sh Common subdirectories: mini_httpd-1.19-orig//contrib and mini_httpd-1.19//contrib Only in mini_httpd-1.19/: crypt.c Only in mini_httpd-1.19/: crypt.h Only in mini_httpd-1.19/: des.c Only in mini_httpd-1.19/: libcrypt.h Only in mini_httpd-1.19/: LICENSE.crypt Only in mini_httpd-1.19/: LICENSE.des Only in mini_httpd-1.19/: LICENSE.md5 Only in mini_httpd-1.19/: LICENSE.mini-httpd diff -u mini_httpd-1.19-orig//Makefile mini_httpd-1.19//Makefile --- mini_httpd-1.19-orig//Makefile 2002-11-02 01:02:57.000000000 +0200 +++ mini_httpd-1.19//Makefile 2011-08-28 10:11:32.000000000 +0300 @@ -1,3 +1,55 @@ +# +# Android NDK tool chain setup +# run cd ~/android/ndk; make APP-xxx -V1 to obtain toolchain values +# + +NDK=/home/viulian/android_platform +GCC=$(NDK)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc +AR=$(NDK)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-ar +STRIP=$(NDK)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-strip + +NDK_INCLUDE=-I$(NDK)/ndk/platforms/android-4/arch-arm/usr/include + +NDK_CFLAGS=\ +-march=armv5te -mtune=xscale -msoft-float -fpic -mthumb-interwork \ +-ffunction-sections -funwind-tables -fstack-protector -fno-short-enums \ +-D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ \ +-mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 \ +-DANDROID -DMPE + + +# +# THIS WORKS +# + +NDK_LDFLAGS=\ +-nostdlib -Bdynamic -Wl,-dynamic-linker,/system/bin/linker -Wl,--gc-sections -Wl,-z,nocopyreloc \ +$(NDK)/ndk/platforms/android-4/arch-arm/usr/lib/libc.so \ +$(NDK)/ndk/platforms/android-4/arch-arm/usr/lib/libstdc++.so \ +$(NDK)/ndk/platforms/android-4/arch-arm/usr/lib/libm.so \ +$(NDK)/ndk/platforms/android-3/arch-arm/usr/lib/crtbegin_dynamic.o \ +-Wl,--no-undefined -Wl,-rpath=$(NDK)/ndk/platforms/android-4/arch-arm/usr/lib \ +$(NDK)/ndk/platforms/android-4/arch-arm/usr/lib/crtend_android.o + +NDK_LDPATH=$(NDK)/ndk/platforms/android-4/arch-arm/usr/lib + +NDK_LIBS=$(NDK)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/lib/gcc/arm-eabi/4.4.3/libgcc.a -static +# +# Local setup +# + +INCLUDE=$(NDK_INCLUDE) -I. +CFLAGS=$(NDK_CFLAGS) + +LDFLAGS=$(NDK_LDFLAGS) -lgcc +LDPATH=-L$(NDK_LDPATH) -L. +LDLIBS=$(NDK_LIBS) + + +# Only ANSI-compatible C compilers are currently supported +CC=$(GCC) $(INCLUDE) $(LDPATH) + + # Makefile for mini_httpd # CONFIGURE: If you are using a SystemV-based operating system, such as @@ -7,7 +59,7 @@ # CONFIGURE: Some systems don't need -lcrypt, and indeed they get an # error if you try to link with it. If you get an error about libcrypt # not found, try commenting out this definition. -CRYPT_LIB = -lcrypt +# CRYPT_LIB = -lcrypt # CONFIGURE: If you want to compile in support for https, uncomment these # definitions. You will need to have already built OpenSSL, available at @@ -22,18 +74,18 @@ BINDIR = /usr/local/sbin MANDIR = /usr/local/man -CC = gcc +# CC = gcc CDEFS = ${SSL_DEFS} ${SSL_INC} -CFLAGS = -O ${CDEFS} +# CFLAGS = -O ${CDEFS} #CFLAGS = -g ${CDEFS} -LDFLAGS = -s +# LDFLAGS = -s #LDFLAGS = -g -LDLIBS = ${SSL_LIBS} ${SYSV_LIBS} ${CRYPT_LIB} +# LDLIBS = ${SSL_LIBS} ${SYSV_LIBS} ${CRYPT_LIB} all: mini_httpd htpasswd -mini_httpd: mini_httpd.o match.o tdate_parse.o - ${CC} ${CFLAGS} ${LDFLAGS} mini_httpd.o match.o tdate_parse.o ${LDLIBS} -o mini_httpd +mini_httpd: mini_httpd.o match.o tdate_parse.o crypt.o des.o md5.o + ${CC} ${CFLAGS} ${LDFLAGS} ${LDLIBS} mini_httpd.o match.o tdate_parse.o crypt.o des.o md5.o -o mini_httpd mini_httpd.o: mini_httpd.c version.h port.h match.h tdate_parse.h mime_encodings.h mime_types.h ${CC} ${CFLAGS} -c mini_httpd.c @@ -57,8 +109,8 @@ -e 's/[ ][ ]*/", 0, "/' -e 's/^/{ "/' -e 's/$$/", 0 },/' -htpasswd: htpasswd.o - ${CC} ${CFLAGS} ${LDFLAGS} htpasswd.o ${CRYPT_LIB} -o htpasswd +htpasswd: htpasswd.o crypt.o des.o md5.o + ${CC} ${CFLAGS} ${LDFLAGS} htpasswd.o crypt.o des.o md5.o ${CRYPT_LIB} -o htpasswd htpasswd.o: htpasswd.c ${CC} ${CFLAGS} -c htpasswd.c Only in mini_httpd-1.19/: md5.c diff -u mini_httpd-1.19-orig//mini_httpd.c mini_httpd-1.19//mini_httpd.c --- mini_httpd-1.19-orig//mini_httpd.c 2005-06-29 20:31:17.000000000 +0300 +++ mini_httpd-1.19//mini_httpd.c 2011-08-25 22:28:17.000000000 +0300 @@ -72,7 +72,6 @@ extern char* crypt( const char* key, const char* setting ); - #if defined(AF_INET6) && defined(IN6_IS_ADDR_V4MAPPED) #define USE_IPV6 #endif diff -u mini_httpd-1.19-orig//port.h mini_httpd-1.19//port.h --- mini_httpd-1.19-orig//port.h 2002-07-30 21:45:22.000000000 +0300 +++ mini_httpd-1.19//port.h 2011-08-25 21:03:35.000000000 +0300 @@ -12,6 +12,9 @@ #elif defined(linux) # define OS_Linux # define ARCH "Linux" +#elif defined(ANDROID) +# define OS_Linux +# define ARCH "Linux" #elif defined(sun) # define OS_Solaris # define ARCH "Solaris" Common subdirectories: mini_httpd-1.19-orig//scripts and mini_httpd-1.19//scripts