Sat, 18 Feb 2017 13:27:25 +0100
adds public aio and poll api and asynchronous send_range function
aio and poll api is only implemented on solaris yet
send_file saf uses send_range_aio for single range requests
#!/bin/sh # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. # # Copyright 2013 Olaf Wintermann. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # # TODO: parse arguments # OS=`uname -s` HOST=`uname -n` INSTALL_DIR=`pwd`/work LIBS_CFLAGS=`pkg-config --cflags libxml-2.0 openssl` LIBS_LDFLAGS=`pkg-config --libs libxml-2.0 openssl` # create config.mk echo "generate config.mk" cat > config.mk << __EOF__ # # config.mk generated by configure # INSTALL_DIR = $INSTALL_DIR HOST = $HOST __EOF__ # platform if [ $OS = SunOS ]; then CCONF=suncc.mk PLATFORM=solaris.mk fi if [ $OS = Linux ]; then if `type clang > /dev/null`; then CCONF=clang.mk else CCONF=gcc.mk fi PLATFORM=linux.mk fi if [ $OS = Darwin ]; then CCONF=clang.mk PLATFORM=osx.mk fi ISBSD=`echo $OS | grep -c BSD` if [ $ISBSD = 1 ]; then if `type clang > /dev/null`; then CCONF=clang.mk else CCONF=gcc.mk fi PLATFORM=bsd.mk fi echo " include \$(BUILD_ROOT)/make/$CCONF include \$(BUILD_ROOT)/make/$PLATFORM CFLAGS += $LIBS_CFLAGS LDFLAGS += $LIBS_LDFLAGS " >> config.mk