aboutsummaryrefslogtreecommitdiffstats
path: root/app/nginx/auto/lib/zlib
diff options
context:
space:
mode:
authorKonstantin Ananyev <konstantin.ananyev@intel.com>2017-10-31 12:40:17 +0000
committerKonstantin Ananyev <konstantin.ananyev@intel.com>2017-10-31 14:19:39 +0000
commite18a033b921d0d79fa8278f853548e6125b93e0c (patch)
treea6a55edf6ddceef824561818c9836914c326340d /app/nginx/auto/lib/zlib
parent7e18fa1bf263822c46d7431a911b41d6377d5f69 (diff)
Integrate TLDK with NGINX
Created a clone of nginx (from https://github.com/nginx/nginx) to demonstrate and benchmark TLDK library integrated with real world application. A new nginx module is created and and BSD socket-like API is implemented on top of native TLDK API. Note, that right now only minimalistic subset of socket-like API is provided: - accept - close - readv - recv - writev so only limited nginx functionality is available for a moment. Change-Id: Ie1efe9349a0538da4348a48fb8306cbf636b5a92 Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com> Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> Signed-off-by: Remy Horton <remy.horton@intel.com> Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Diffstat (limited to 'app/nginx/auto/lib/zlib')
-rw-r--r--app/nginx/auto/lib/zlib/conf79
-rw-r--r--app/nginx/auto/lib/zlib/make135
-rw-r--r--app/nginx/auto/lib/zlib/makefile.bcc17
-rw-r--r--app/nginx/auto/lib/zlib/makefile.msvc17
-rw-r--r--app/nginx/auto/lib/zlib/makefile.owc14
5 files changed, 262 insertions, 0 deletions
diff --git a/app/nginx/auto/lib/zlib/conf b/app/nginx/auto/lib/zlib/conf
new file mode 100644
index 0000000..239592e
--- /dev/null
+++ b/app/nginx/auto/lib/zlib/conf
@@ -0,0 +1,79 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) Nginx, Inc.
+
+
+if [ $ZLIB != NONE ]; then
+ CORE_INCS="$CORE_INCS $ZLIB"
+
+ case "$NGX_CC_NAME" in
+
+ msvc | owc | bcc)
+ have=NGX_ZLIB . auto/have
+ LINK_DEPS="$LINK_DEPS $ZLIB/zlib.lib"
+ CORE_LIBS="$CORE_LIBS $ZLIB/zlib.lib"
+ ;;
+
+ icc)
+ have=NGX_ZLIB . auto/have
+ LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"
+
+ # to allow -ipo optimization we link with the *.o but not library
+ CORE_LIBS="$CORE_LIBS $ZLIB/adler32.o"
+ CORE_LIBS="$CORE_LIBS $ZLIB/crc32.o"
+ CORE_LIBS="$CORE_LIBS $ZLIB/deflate.o"
+ CORE_LIBS="$CORE_LIBS $ZLIB/trees.o"
+ CORE_LIBS="$CORE_LIBS $ZLIB/zutil.o"
+ CORE_LIBS="$CORE_LIBS $ZLIB/compress.o"
+
+ if [ $ZLIB_ASM != NO ]; then
+ CORE_LIBS="$CORE_LIBS $ZLIB/match.o"
+ fi
+ ;;
+
+ *)
+ have=NGX_ZLIB . auto/have
+ LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"
+ CORE_LIBS="$CORE_LIBS $ZLIB/libz.a"
+ #CORE_LIBS="$CORE_LIBS -L $ZLIB -lz"
+ ;;
+
+ esac
+
+else
+
+ if [ "$NGX_PLATFORM" != win32 ]; then
+ ZLIB=NO
+
+ # FreeBSD, Solaris, Linux
+
+ ngx_feature="zlib library"
+ ngx_feature_name="NGX_ZLIB"
+ ngx_feature_run=no
+ ngx_feature_incs="#include <zlib.h>"
+ ngx_feature_path=
+ ngx_feature_libs="-lz"
+ ngx_feature_test="z_stream z; deflate(&z, Z_NO_FLUSH)"
+ . auto/feature
+
+
+ if [ $ngx_found = yes ]; then
+ CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
+ ZLIB=YES
+ ngx_found=no
+ fi
+ fi
+
+ if [ $ZLIB != YES ]; then
+cat << END
+
+$0: error: the HTTP gzip module requires the zlib library.
+You can either disable the module by using --without-http_gzip_module
+option, or install the zlib library into the system, or build the zlib library
+statically from the source with nginx by using --with-zlib=<path> option.
+
+END
+ exit 1
+ fi
+
+fi
diff --git a/app/nginx/auto/lib/zlib/make b/app/nginx/auto/lib/zlib/make
new file mode 100644
index 0000000..0082ad5
--- /dev/null
+++ b/app/nginx/auto/lib/zlib/make
@@ -0,0 +1,135 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) Nginx, Inc.
+
+
+case "$NGX_CC_NAME" in
+
+ msvc)
+ ngx_makefile=makefile.msvc
+ ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC"
+ ngx_zlib="ZLIB=\"$ZLIB\""
+
+ ;;
+
+ owc)
+ ngx_makefile=makefile.owc
+ ngx_opt="CPU_OPT=\"$CPU_OPT\""
+ ngx_zlib=`echo ZLIB=\"$ZLIB\" | sed -e "s/\//$ngx_regex_dirsep/g"`
+ ;;
+
+ bcc)
+ ngx_makefile=makefile.bcc
+ ngx_opt="-DCPU_OPT=\"$CPU_OPT\""
+ ngx_zlib=`echo \-DZLIB=\"$ZLIB\" | sed -e "s/\//$ngx_regex_dirsep/g"`
+ ;;
+
+ *)
+ ngx_makefile=
+ ;;
+
+esac
+
+
+done=NO
+
+
+case "$NGX_PLATFORM" in
+
+ win32)
+
+ if [ -n "$ngx_makefile" ]; then
+ cat << END >> $NGX_MAKEFILE
+
+`echo "$ZLIB/zlib.lib: $NGX_MAKEFILE" | sed -e "s/\//$ngx_regex_dirsep/g"`
+ \$(MAKE) -f auto/lib/zlib/$ngx_makefile $ngx_opt $ngx_zlib
+
+END
+
+ else
+
+ cat << END >> $NGX_MAKEFILE
+
+$ZLIB/libz.a: $NGX_MAKEFILE
+ cd $ZLIB \\
+ && \$(MAKE) distclean \\
+ && \$(MAKE) -f win32/Makefile.gcc \\
+ CFLAGS="$ZLIB_OPT" CC="\$(CC)" \\
+ libz.a
+
+END
+
+ fi
+
+ done=YES
+ ;;
+
+ # FreeBSD: i386
+ # Linux: i686
+
+ *:i386 | *:i686)
+ case $ZLIB_ASM in
+ pentium)
+
+ cat << END >> $NGX_MAKEFILE
+
+$ZLIB/libz.a: $NGX_MAKEFILE
+ cd $ZLIB \\
+ && \$(MAKE) distclean \\
+ && cp contrib/asm586/match.S . \\
+ && CFLAGS="$ZLIB_OPT -DASMV" CC="\$(CC)" \\
+ ./configure \\
+ && \$(MAKE) OBJA=match.o libz.a
+
+END
+
+ done=YES
+ ;;
+
+ pentiumpro)
+
+ cat << END >> $NGX_MAKEFILE
+
+$ZLIB/libz.a: $NGX_MAKEFILE
+ cd $ZLIB \\
+ && \$(MAKE) distclean \\
+ && cp contrib/asm686/match.S . \\
+ && CFLAGS="$ZLIB_OPT -DASMV" CC="\$(CC)" \\
+ ./configure \\
+ && \$(MAKE) OBJA=match.o libz.a
+
+END
+
+ done=YES
+ ;;
+
+ NO)
+ ;;
+
+ *)
+ echo "$0: error: invalid --with-zlib-asm=$ZLIB_ASM option."
+ echo "The valid values are \"pentium\" and \"pentiumpro\" only".
+ echo
+
+ exit 1;
+ ;;
+ esac
+ ;;
+
+esac
+
+
+if [ $done = NO ]; then
+
+ cat << END >> $NGX_MAKEFILE
+
+$ZLIB/libz.a: $NGX_MAKEFILE
+ cd $ZLIB \\
+ && \$(MAKE) distclean \\
+ && CFLAGS="$ZLIB_OPT" CC="\$(CC)" \\
+ ./configure \\
+ && \$(MAKE) libz.a
+
+END
+
+fi
diff --git a/app/nginx/auto/lib/zlib/makefile.bcc b/app/nginx/auto/lib/zlib/makefile.bcc
new file mode 100644
index 0000000..97a30ea
--- /dev/null
+++ b/app/nginx/auto/lib/zlib/makefile.bcc
@@ -0,0 +1,17 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) Nginx, Inc.
+
+
+CFLAGS = -q -O2 -tWM -w-8004 -w-8012 $(CPU_OPT)
+
+zlib.lib:
+ cd $(ZLIB)
+
+ bcc32 -c $(CFLAGS) adler32.c crc32.c deflate.c \
+ trees.c zutil.c compress.c \
+ inflate.c inffast.c inftrees.c
+
+ tlib zlib.lib +adler32.obj +crc32.obj +deflate.obj \
+ +trees.obj +zutil.obj +compress.obj \
+ +inflate.obj +inffast.obj +inftrees.obj
diff --git a/app/nginx/auto/lib/zlib/makefile.msvc b/app/nginx/auto/lib/zlib/makefile.msvc
new file mode 100644
index 0000000..6fbd691
--- /dev/null
+++ b/app/nginx/auto/lib/zlib/makefile.msvc
@@ -0,0 +1,17 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) Nginx, Inc.
+
+
+CFLAGS = -nologo -O2 -Ob1 -Oi -Gs $(LIBC) $(CPU_OPT)
+
+zlib.lib:
+ cd $(ZLIB)
+
+ cl -c $(CFLAGS) adler32.c crc32.c deflate.c \
+ trees.c zutil.c compress.c \
+ inflate.c inffast.c inftrees.c
+
+ link -lib -out:zlib.lib adler32.obj crc32.obj deflate.obj \
+ trees.obj zutil.obj compress.obj \
+ inflate.obj inffast.obj inftrees.obj
diff --git a/app/nginx/auto/lib/zlib/makefile.owc b/app/nginx/auto/lib/zlib/makefile.owc
new file mode 100644
index 0000000..9e123be
--- /dev/null
+++ b/app/nginx/auto/lib/zlib/makefile.owc
@@ -0,0 +1,14 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) Nginx, Inc.
+
+
+CFLAGS = -zq -bt=nt -ot -op -oi -oe -s -bm $(CPU_OPT)
+
+zlib.lib:
+ cd $(ZLIB)
+
+ wcl386 -c $(CFLAGS) adler32.c crc32.c deflate.c trees.c zutil.c &
+ compress.c inflate.c inffast.c inftrees.c
+ wlib -n zlib.lib adler32.obj crc32.obj deflate.obj trees.obj &
+ zutil.obj compress.obj inflate.obj inffast.obj inftrees.obj