Base code merged to SPIN 2.4
[platform/upstream/curl.git] / lib / Makefile.netware
index fe896d7..2cd754a 100644 (file)
@@ -1,10 +1,9 @@
 #################################################################
-# $Id$
 #
 ## Makefile for building libcurl.nlm (NetWare version - gnu make)
 ## Use: make -f Makefile.netware
 ##
-## Comments to: Guenter Knauf http://www.gknw.de/phpbb
+## Comments to: Guenter Knauf http://www.gknw.net/phpbb
 #
 #################################################################
 
@@ -15,22 +14,47 @@ endif
 
 # Edit the path below to point to the base of your Zlib sources.
 ifndef ZLIB_PATH
-ZLIB_PATH = ../../zlib-1.2.3
+ZLIB_PATH = ../../zlib-1.2.8
 endif
 
 # Edit the path below to point to the base of your OpenSSL package.
 ifndef OPENSSL_PATH
-OPENSSL_PATH = ../../openssl-0.9.8k
+OPENSSL_PATH = ../../openssl-0.9.8zc
 endif
 
 # Edit the path below to point to the base of your LibSSH2 package.
 ifndef LIBSSH2_PATH
-LIBSSH2_PATH = ../../libssh2-1.1
+LIBSSH2_PATH = ../../libssh2-1.4.3
+endif
+
+# Edit the path below to point to the base of your axTLS package.
+ifndef AXTLS_PATH
+AXTLS_PATH = ../../axTLS-1.2.7
 endif
 
 # Edit the path below to point to the base of your libidn package.
 ifndef LIBIDN_PATH
-LIBIDN_PATH = ../../libidn-1.13
+LIBIDN_PATH = ../../libidn-1.18
+endif
+
+# Edit the path below to point to the base of your librtmp package.
+ifndef LIBRTMP_PATH
+LIBRTMP_PATH = ../../librtmp-2.3
+endif
+
+# Edit the path below to point to the base of your nghttp2 package.
+ifndef NGHTTP2_PATH
+NGHTTP2_PATH = ../../nghttp2-0.6.7
+endif
+
+# Edit the path below to point to the base of your fbopenssl package.
+ifndef FBOPENSSL_PATH
+FBOPENSSL_PATH = ../../fbopenssl-0.4
+endif
+
+# Edit the path below to point to the base of your c-ares package.
+ifndef LIBCARES_PATH
+LIBCARES_PATH = ../ares
 endif
 
 ifndef INSTDIR
@@ -45,7 +69,8 @@ DESCR = cURL libcurl $(LIBCURL_VERSION_STR) ($(LIBARCH)) - http://curl.haxx.se
 MTSAFE = YES
 STACK  = 64000
 SCREEN = none
-EXPORTS        = @libcurl.imp
+EXPORTF        = $(TARGET).imp
+EXPORTS        = @$(EXPORTF)
 
 # Uncomment the next line to enable linking with POSIX semantics.
 # POSIXFL = 1
@@ -80,14 +105,13 @@ else
        CC = gcc
 endif
 PERL   = perl
-# a native win32 awk can be downloaded from here:
-# http://www.gknw.net/development/prgtools/awk-20070501.zip
+# Here you can find a native Win32 binary of the original awk:
+# http://www.gknw.net/development/prgtools/awk-20100523.zip
 AWK    = awk
-YACC   = bison -y
 CP     = cp -afv
 MKDIR  = mkdir
 # RM   = rm -f
-# if you want to mark the target as MTSAFE you will need a tool for
+# If you want to mark the target as MTSAFE you will need a tool for
 # generating the xdc data for the linker; here's a minimal tool:
 # http://www.gknw.net/development/prgtools/mkxdc.zip
 MPKXDC = mkxdc
@@ -113,13 +137,13 @@ CFLAGS    += -relax_pointers
 #CFLAGS        += -w on
 ifeq ($(LIBARCH),LIBC)
 ifeq ($(POSIXFL),1)
-       PRELUDE = $(SDK_LIBC)/imports/posixpre.o
+       PRELUDE = $(NDK_LIBC)/imports/posixpre.o
 else
-       PRELUDE = $(SDK_LIBC)/imports/libcpre.o
+       PRELUDE = $(NDK_LIBC)/imports/libcpre.o
 endif
        CFLAGS += -align 4
 else
-       # PRELUDE = $(SDK_CLIB)/imports/clibpre.o
+       # PRELUDE = $(NDK_CLIB)/imports/clibpre.o
        # to avoid the __init_* / __deinit_* whoes dont use prelude from NDK
        PRELUDE = "$(MWCW_PATH)/libraries/runtime/prelude.obj"
        # CFLAGS += -include "$(MWCW_PATH)/headers/nlm_clib_prefix.h"
@@ -132,16 +156,20 @@ AR        = ar
 ARFLAGS        = -cq
 LIBEXT = a
 RANLIB = ranlib
-CFLAGS += -fno-builtin -fpcc-struct-return -fno-strict-aliasing
+CFLAGS  += -m32
+CFLAGS += -fno-builtin -fno-strict-aliasing
+ifeq ($(findstring gcc,$(CC)),gcc)
+CFLAGS += -fpcc-struct-return
+endif
 CFLAGS += -Wall # -pedantic
 ifeq ($(LIBARCH),LIBC)
 ifeq ($(POSIXFL),1)
-       PRELUDE = $(SDK_LIBC)/imports/posixpre.gcc.o
+       PRELUDE = $(NDK_LIBC)/imports/posixpre.gcc.o
 else
-       PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o
+       PRELUDE = $(NDK_LIBC)/imports/libcpre.gcc.o
 endif
 else
-       PRELUDE = $(SDK_CLIB)/imports/clibpre.gcc.o
+       PRELUDE = $(NDK_CLIB)/imports/clibpre.gcc.o
        # to avoid the __init_* / __deinit_* whoes dont use prelude from NDK
        # http://www.gknw.net/development/mk_nlm/gcc_pre.zip
        # PRELUDE = $(NDK_ROOT)/pre/prelude.o
@@ -150,18 +178,65 @@ endif
 endif
 
 NDK_ROOT = $(NDKBASE)/ndk
-SDK_CLIB = $(NDK_ROOT)/nwsdk
-SDK_LIBC = $(NDK_ROOT)/libc
-SDK_LDAP = $(NDK_ROOT)/cldapsdk/netware
+ifndef NDK_CLIB
+NDK_CLIB = $(NDK_ROOT)/nwsdk
+endif
+ifndef NDK_LIBC
+NDK_LIBC = $(NDK_ROOT)/libc
+endif
+ifndef NDK_LDAP
+NDK_LDAP = $(NDK_ROOT)/cldapsdk/netware
+endif
 CURL_INC = ../include
 CURL_LIB = ../lib
-ARES_LIB = ../ares
 
 INCLUDES = -I$(CURL_INC) -I$(CURL_LIB)
 
+ifeq ($(findstring -static,$(CFG)),-static)
+LINK_STATIC = 1
+endif
+ifeq ($(findstring -ares,$(CFG)),-ares)
+WITH_ARES = 1
+endif
+ifeq ($(findstring -rtmp,$(CFG)),-rtmp)
+WITH_RTMP = 1
+WITH_SSL = 1
+WITH_ZLIB = 1
+endif
+ifeq ($(findstring -ssh2,$(CFG)),-ssh2)
+WITH_SSH2 = 1
+WITH_SSL = 1
+WITH_ZLIB = 1
+endif
+ifeq ($(findstring -axtls,$(CFG)),-axtls)
+WITH_AXTLS = 1
+WITH_SSL =
+else
+ifeq ($(findstring -ssl,$(CFG)),-ssl)
+WITH_SSL = 1
+ifeq ($(findstring -srp,$(CFG)),-srp)
+ifeq "$(wildcard $(OPENSSL_PATH)/outinc_nw_$(LIBARCH_L)/openssl/srp.h)" "$(OPENSSL_PATH)/outinc_nw_$(LIBARCH_L)/openssl/srp.h"
+WITH_SRP = 1
+endif
+endif
+endif
+endif
+ifeq ($(findstring -zlib,$(CFG)),-zlib)
+WITH_ZLIB = 1
+endif
+ifeq ($(findstring -idn,$(CFG)),-idn)
+WITH_IDN = 1
+endif
+ifeq ($(findstring -nghttp2,$(CFG)),-nghttp2)
+WITH_NGHTTP2 = 1
+endif
+ifeq ($(findstring -ipv6,$(CFG)),-ipv6)
+ENABLE_IPV6 = 1
+endif
+
 ifdef WITH_ARES
-       INCLUDES += -I$(ARES_LIB)
-       LDLIBS += $(ARES_LIB)/libcares.$(LIBEXT)
+       INCLUDES += -I$(LIBCARES_PATH)
+       LDLIBS += $(LIBCARES_PATH)/libcares.$(LIBEXT)
 endif
 ifdef WITH_SSH2
        INCLUDES += -I$(LIBSSH2_PATH)/include
@@ -172,12 +247,27 @@ else
        IMPORTS += @$(LIBSSH2_PATH)/nw/libssh2.imp
 endif
 endif
+ifdef WITH_RTMP
+       INCLUDES += -I$(LIBRTMP_PATH)
+       LDLIBS += $(LIBRTMP_PATH)/librtmp/librtmp.$(LIBEXT)
+endif
 ifdef WITH_SSL
        INCLUDES += -I$(OPENSSL_PATH)/outinc_nw_$(LIBARCH_L)
        LDLIBS += $(OPENSSL_PATH)/out_nw_$(LIBARCH_L)/ssl.$(LIBEXT)
        LDLIBS += $(OPENSSL_PATH)/out_nw_$(LIBARCH_L)/crypto.$(LIBEXT)
        IMPORTS += GetProcessSwitchCount RunningProcess
        INSTDEP += ca-bundle.crt
+else
+ifdef WITH_AXTLS
+       INCLUDES += -I$(AXTLS_PATH)/inc
+ifdef LINK_STATIC
+       LDLIBS += $(AXTLS_PATH)/lib/libaxtls.$(LIBEXT)
+else
+       MODULES += libaxtls.nlm
+       IMPORTS += $(AXTLS_PATH)/lib/libaxtls.imp
+endif
+       INSTDEP += ca-bundle.crt
+endif
 endif
 ifdef WITH_ZLIB
        INCLUDES += -I$(ZLIB_PATH)
@@ -192,19 +282,23 @@ ifdef WITH_IDN
        INCLUDES += -I$(LIBIDN_PATH)/include
        LDLIBS += $(LIBIDN_PATH)/lib/libidn.$(LIBEXT)
 endif
+ifdef WITH_NGHTTP2
+       INCLUDES += -I$(NGHTTP2_PATH)/include
+       LDLIBS += $(NGHTTP2_PATH)/lib/libnghttp2.$(LIBEXT)
+endif
 
 ifeq ($(LIBARCH),LIBC)
-       INCLUDES += -I$(SDK_LIBC)/include
-       # INCLUDES += -I$(SDK_LIBC)/include/nks
-       # INCLUDES += -I$(SDK_LIBC)/include/winsock
+       INCLUDES += -I$(NDK_LIBC)/include
+       # INCLUDES += -I$(NDK_LIBC)/include/nks
+       # INCLUDES += -I$(NDK_LIBC)/include/winsock
        CFLAGS += -D_POSIX_SOURCE
 else
-       INCLUDES += -I$(SDK_CLIB)/include/nlm
-       # INCLUDES += -I$(SDK_CLIB)/include/nlm/obsolete
-       # INCLUDES += -I$(SDK_CLIB)/include
+       INCLUDES += -I$(NDK_CLIB)/include/nlm
+       # INCLUDES += -I$(NDK_CLIB)/include/nlm/obsolete
+       # INCLUDES += -I$(NDK_CLIB)/include
 endif
 ifndef DISABLE_LDAP
-       INCLUDES += -I$(SDK_LDAP)/$(LIBARCH_L)/inc
+       INCLUDES += -I$(NDK_LDAP)/$(LIBARCH_L)/inc
 endif
 CFLAGS += $(INCLUDES)
 
@@ -218,7 +312,7 @@ ifdef XDCOPT
        XDCDATA = $(OBJDIR)/$(TARGET).xdc
 endif
 
-ifeq ($(findstring linux,$(OSTYPE)),linux)
+ifeq ($(findstring /sh,$(SHELL)),/sh)
 DL     = '
 DS     = /
 PCT    = %
@@ -231,23 +325,25 @@ endif
 # Makefile.inc provides the CSOURCES and HHEADERS defines
 include Makefile.inc
 
-OBJS   := $(patsubst %.c,$(OBJDIR)/%.o,$(strip $(CSOURCES))) $(OBJDIR)/nwos.o
+OBJS   := $(patsubst %.c,$(OBJDIR)/%.o,$(strip $(notdir $(CSOURCES)))) $(OBJDIR)/nwos.o
 
 OBJL   = $(OBJS) $(OBJDIR)/nwlib.o $(LDLIBS)
 
+vpath %.c . vtls
+
 all: lib nlm
 
 nlm: prebuild $(TARGET).nlm
 
 lib: prebuild $(TARGET).$(LIBEXT)
 
-prebuild: $(OBJDIR) $(CURL_INC)/curl/curlbuild.h $(OBJDIR)/version.inc config.h
+prebuild: $(OBJDIR) $(CURL_INC)/curl/curlbuild.h $(OBJDIR)/version.inc curl_config.h
 
 $(OBJDIR)/%.o: %.c
 #      @echo Compiling $<
        $(CC) $(CFLAGS) -c $< -o $@
 
-$(OBJDIR)/version.inc: ../include/curl/curlver.h $(OBJDIR)
+$(OBJDIR)/version.inc: $(CURL_INC)/curl/curlver.h $(OBJDIR)
        @echo Creating $@
        @$(AWK) -f ../packages/NetWare/get_ver.awk $< > $@
 
@@ -263,11 +359,11 @@ ifdef WITH_SSL
 endif
 
 clean:
-       -$(RM) config.h
+       -$(RM) curl_config.h
        -$(RM) -r $(OBJDIR)
 
-distclean: clean
-       -$(RM) $(TARGET).$(LIBEXT) $(TARGET).nlm
+distclean vclean: clean
+       -$(RM) $(TARGET).$(LIBEXT) $(TARGET).nlm $(TARGET).imp
        -$(RM) certdata.txt ca-bundle.crt
 
 $(OBJDIR) $(INSTDIR):
@@ -281,7 +377,7 @@ ifdef RANLIB
        @$(RANLIB) $@
 endif
 
-$(TARGET).nlm: $(OBJDIR)/$(TARGET).def $(OBJL) $(XDCDATA)
+$(TARGET).nlm: $(OBJDIR)/$(TARGET).def $(OBJL) $(EXPORTF) $(XDCDATA)
        @echo Linking $@
        @-$(RM) $@
        @$(LD) $(LDFLAGS) $<
@@ -320,15 +416,15 @@ endif
 ifeq ($(LIBARCH),CLIB)
        @echo $(DL)start _Prelude$(DL) >> $@
        @echo $(DL)exit _Stop$(DL) >> $@
-       @echo $(DL)import @$(SDK_CLIB)/imports/clib.imp$(DL) >> $@
-       @echo $(DL)import @$(SDK_CLIB)/imports/threads.imp$(DL) >> $@
-       @echo $(DL)import @$(SDK_CLIB)/imports/nlmlib.imp$(DL) >> $@
-       @echo $(DL)import @$(SDK_CLIB)/imports/socklib.imp$(DL) >> $@
+       @echo $(DL)import @$(NDK_CLIB)/imports/clib.imp$(DL) >> $@
+       @echo $(DL)import @$(NDK_CLIB)/imports/threads.imp$(DL) >> $@
+       @echo $(DL)import @$(NDK_CLIB)/imports/nlmlib.imp$(DL) >> $@
+       @echo $(DL)import @$(NDK_CLIB)/imports/socklib.imp$(DL) >> $@
        @echo $(DL)module clib$(DL) >> $@
 ifndef DISABLE_LDAP
-       @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapsdk.imp$(DL) >> $@
-       @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapssl.imp$(DL) >> $@
-#      @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapx.imp$(DL) >> $@
+       @echo $(DL)import @$(NDK_LDAP)/clib/imports/ldapsdk.imp$(DL) >> $@
+       @echo $(DL)import @$(NDK_LDAP)/clib/imports/ldapssl.imp$(DL) >> $@
+#      @echo $(DL)import @$(NDK_LDAP)/clib/imports/ldapx.imp$(DL) >> $@
        @echo $(DL)module ldapsdk ldapssl$(DL) >> $@
 endif
 else
@@ -345,13 +441,13 @@ else
        @echo $(DL)exit _LibCPostlude$(DL) >> $@
        @echo $(DL)check _LibCCheckUnload$(DL) >> $@
 endif
-       @echo $(DL)import @$(SDK_LIBC)/imports/libc.imp$(DL) >> $@
-       @echo $(DL)import @$(SDK_LIBC)/imports/netware.imp$(DL) >> $@
+       @echo $(DL)import @$(NDK_LIBC)/imports/libc.imp$(DL) >> $@
+       @echo $(DL)import @$(NDK_LIBC)/imports/netware.imp$(DL) >> $@
        @echo $(DL)module libc$(DL) >> $@
 ifndef DISABLE_LDAP
-       @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapsdk.imp$(DL) >> $@
-       @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapssl.imp$(DL) >> $@
-#      @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapx.imp$(DL) >> $@
+       @echo $(DL)import @$(NDK_LDAP)/libc/imports/lldapsdk.imp$(DL) >> $@
+       @echo $(DL)import @$(NDK_LDAP)/libc/imports/lldapssl.imp$(DL) >> $@
+#      @echo $(DL)import @$(NDK_LDAP)/libc/imports/lldapx.imp$(DL) >> $@
        @echo $(DL)module lldapsdk lldapssl$(DL) >> $@
 endif
 endif
@@ -373,7 +469,7 @@ ifeq ($(findstring nlmconv,$(LD)),nlmconv)
        @echo $(DL)output $(TARGET).nlm$(DL) >> $@
 endif
 
-config.h: Makefile.netware
+curl_config.h: Makefile.netware
        @echo Creating $@
        @echo $(DL)/* $@ for NetWare target.$(DL) > $@
        @echo $(DL)** Do not edit this file - it is created by make!$(DL) >> $@
@@ -407,7 +503,7 @@ ifeq ($(LIBARCH),CLIB)
        @echo $(DL)#define SEND_TYPE_ARG3 int$(DL) >> $@
        @echo $(DL)#define SEND_TYPE_ARG4 int$(DL) >> $@
        @echo $(DL)#define SEND_TYPE_RETV int$(DL) >> $@
-       @echo $(DL)#define socklen_t int$(DL) >> $@
+       @echo $(DL)#define SIZEOF_SIZE_T 4$(DL) >> $@
        @echo $(DL)#define pressanykey PressAnyKeyToContinue$(DL) >> $@
 else
        @echo $(DL)#define OS "i586-pc-libc-NetWare"$(DL) >> $@
@@ -423,13 +519,6 @@ else
        @echo $(DL)#define HAVE_SYS_PARAM_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_SYS_SELECT_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_TERMIOS_H 1$(DL) >> $@
-       @echo $(DL)#define HAVE_AF_INET6 1$(DL) >> $@
-       @echo $(DL)#define HAVE_PF_INET6 1$(DL) >> $@
-       @echo $(DL)#define HAVE_FREEADDRINFO 1$(DL) >> $@
-       @echo $(DL)#define HAVE_GETADDRINFO 1$(DL) >> $@
-       @echo $(DL)#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRUCT_IN6_ADDR 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRUCT_SOCKADDR_IN6 1$(DL) >> $@
        @echo $(DL)#define RECV_TYPE_ARG1 int$(DL) >> $@
        @echo $(DL)#define RECV_TYPE_ARG2 void *$(DL) >> $@
        @echo $(DL)#define RECV_TYPE_ARG3 size_t$(DL) >> $@
@@ -449,16 +538,26 @@ else
        @echo $(DL)#define SEND_TYPE_ARG3 size_t$(DL) >> $@
        @echo $(DL)#define SEND_TYPE_ARG4 int$(DL) >> $@
        @echo $(DL)#define SEND_TYPE_RETV ssize_t$(DL) >> $@
-       @echo $(DL)#define SIZEOF_STRUCT_IN6_ADDR 16$(DL) >> $@
        @echo $(DL)#define SIZEOF_OFF_T 8$(DL) >> $@
+       @echo $(DL)#define SIZEOF_SIZE_T 8$(DL) >> $@
        @echo $(DL)#define _LARGEFILE 1$(DL) >> $@
 ifdef ENABLE_IPV6
        @echo $(DL)#define ENABLE_IPV6 1$(DL) >> $@
+       @echo $(DL)#define HAVE_AF_INET6 1$(DL) >> $@
+       @echo $(DL)#define HAVE_PF_INET6 1$(DL) >> $@
+       @echo $(DL)#define HAVE_FREEADDRINFO 1$(DL) >> $@
+       @echo $(DL)#define HAVE_GETADDRINFO 1$(DL) >> $@
+       @echo $(DL)#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1$(DL) >> $@
+       @echo $(DL)#define HAVE_STRUCT_ADDRINFO 1$(DL) >> $@
+       @echo $(DL)#define HAVE_STRUCT_IN6_ADDR 1$(DL) >> $@
+       @echo $(DL)#define HAVE_STRUCT_SOCKADDR_IN6 1$(DL) >> $@
+       @echo $(DL)#define SIZEOF_STRUCT_IN6_ADDR 16$(DL) >> $@
 endif
 endif
        @echo $(DL)#define USE_MANUAL 1$(DL) >> $@
        @echo $(DL)#define HAVE_ARPA_INET_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_ASSERT_H 1$(DL) >> $@
+       @echo $(DL)#define HAVE_ERRNO_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_ERR_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_FCNTL_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_GETHOSTBYADDR 1$(DL) >> $@
@@ -489,7 +588,6 @@ endif
        @echo $(DL)#define HAVE_STRFTIME 1$(DL) >> $@
        @echo $(DL)#define HAVE_STRING_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_STRSTR 1$(DL) >> $@
-       @echo $(DL)#define HAVE_STRUCT_ADDRINFO 1$(DL) >> $@
        @echo $(DL)#define HAVE_STRUCT_TIMEVAL 1$(DL) >> $@
        @echo $(DL)#define HAVE_SYS_IOCTL_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_SYS_STAT_H 1$(DL) >> $@
@@ -501,6 +599,8 @@ endif
        @echo $(DL)#define HAVE_UTIME_H 1$(DL) >> $@
        @echo $(DL)#define HAVE_WRITEV 1$(DL) >> $@
        @echo $(DL)#define RETSIGTYPE void$(DL) >> $@
+       @echo $(DL)#define SIZEOF_INT 4$(DL) >> $@
+       @echo $(DL)#define SIZEOF_SHORT 2$(DL) >> $@
        @echo $(DL)#define SIZEOF_STRUCT_IN_ADDR 4$(DL) >> $@
        @echo $(DL)#define STDC_HEADERS 1$(DL) >> $@
        @echo $(DL)#define TIME_WITH_SYS_TIME 1$(DL) >> $@
@@ -543,6 +643,17 @@ ifdef WITH_SSL
        @echo $(DL)#define HAVE_LIBSSL 1$(DL) >> $@
        @echo $(DL)#define HAVE_LIBCRYPTO 1$(DL) >> $@
        @echo $(DL)#define OPENSSL_NO_KRB5 1$(DL) >> $@
+ifdef WITH_SRP
+       @echo $(DL)#define HAVE_SSLEAY_SRP 1$(DL) >> $@
+       @echo $(DL)#define USE_TLS_SRP 1$(DL) >> $@
+endif
+ifdef WITH_SPNEGO
+       @echo $(DL)#define HAVE_SPNEGO 1$(DL) >> $@
+endif
+else
+ifdef WITH_AXTLS
+       @echo $(DL)#define USE_AXTLS 1$(DL) >> $@
+endif
 endif
 ifdef WITH_SSH2
        @echo $(DL)#define USE_LIBSSH2 1$(DL) >> $@
@@ -552,20 +663,27 @@ ifdef WITH_IDN
        @echo $(DL)#define HAVE_LIBIDN 1$(DL) >> $@
        @echo $(DL)#define HAVE_TLD_H 1$(DL) >> $@
 endif
+ifdef WITH_RTMP
+       @echo $(DL)#define USE_LIBRTMP 1$(DL) >> $@
+endif
+ifdef WITH_NGHTTP2
+       @echo $(DL)#define USE_NGHTTP2 1$(DL) >> $@
+endif
        @echo $(DL)#ifdef __GNUC__$(DL) >> $@
        @echo $(DL)#define HAVE_VARIADIC_MACROS_GCC 1$(DL) >> $@
        @echo $(DL)#else$(DL) >> $@
        @echo $(DL)#define HAVE_VARIADIC_MACROS_C99 1$(DL) >> $@
        @echo $(DL)#endif$(DL) >> $@
-ifdef OLD_NOVELLSDK
-       @echo $(DL)#define socklen_t int$(DL) >> $@
-endif
 ifdef CABUNDLE
        @echo $(DL)#define CURL_CA_BUNDLE "$(CABUNDLE)"$(DL) >> $@
 else
        @echo $(DL)#define CURL_CA_BUNDLE getenv("CURL_CA_BUNDLE")$(DL) >> $@
 endif
 
+$(EXPORTF): $(CURL_INC)/curl/curl.h $(CURL_INC)/curl/easy.h $(CURL_INC)/curl/multi.h $(CURL_INC)/curl/mprintf.h
+       @echo Creating $@
+       @$(AWK) -f ../packages/NetWare/get_exp.awk $^ > $@
+
 FORCE: ;
 
 info: $(OBJDIR)/version.inc
@@ -581,6 +699,11 @@ ifdef WITH_SSL
 else
        @echo SSL support:     no
 endif
+ifdef WITH_SRP
+       @echo SRP support:     enabled
+else
+       @echo SRP support:     no
+endif
 ifdef WITH_SSH2
        @echo SSH2 support:    enabled (libssh2)
 else
@@ -591,35 +714,36 @@ ifdef WITH_ZLIB
 else
        @echo zlib support:    no
 endif
+ifdef WITH_NGHTTP2
+       @echo http2 support:   enabled
+else
+       @echo http2 support:   no
+endif
 ifdef WITH_ARES
        @echo c-ares support:  enabled
 else
        @echo c-ares support:  no
 endif
 ifdef ENABLE_IPV6
-       @echo ipv6 support:    enabled
+       @echo IPv6 support:    enabled
 else
-       @echo ipv6 support:    no
+       @echo IPv6 support:    no
 endif
 
-$(ARES_LIB)/libcares.$(LIBEXT):
-       $(MAKE) -C $(ARES_LIB) -f Makefile.netware lib
-
-ca-bundle.crt: mk-ca-bundle.pl
-       @echo Creating $@
-       @-$(PERL) $< -b -n $@
-
 $(CURL_INC)/curl/curlbuild.h: Makefile.netware FORCE
        @echo Creating $@
        @echo $(DL)/* $@ intended for NetWare target.$(DL) > $@
        @echo $(DL)** Do not edit this file - it is created by make!$(DL) >> $@
        @echo $(DL)** All your changes will be lost!!$(DL) >> $@
        @echo $(DL)*/$(DL) >> $@
+       @echo $(DL)#ifndef NETWARE$(DL) >> $@
+       @echo $(DL)#error This $(notdir $@) is created for NetWare platform!$(DL) >> $@
+       @echo $(DL)#endif$(DL) >> $@
        @echo $(DL)#ifndef __CURL_CURLBUILD_H$(DL) >> $@
        @echo $(DL)#define __CURL_CURLBUILD_H$(DL) >> $@
 ifeq ($(LIBARCH),LIBC)
        @echo $(DL)#define CURL_SIZEOF_LONG 4$(DL) >> $@
-       @echo $(DL)#define CURL_TYPEOF_CURL_SOCKLEN_T size_t$(DL) >> $@
+       @echo $(DL)#define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int$(DL) >> $@
        @echo $(DL)#define CURL_SIZEOF_CURL_SOCKLEN_T 4$(DL) >> $@
        @echo $(DL)#define CURL_TYPEOF_CURL_OFF_T long long$(DL) >> $@
        @echo $(DL)#define CURL_FORMAT_CURL_OFF_T "lld"$(DL) >> $@
@@ -644,3 +768,10 @@ endif
        @echo $(DL)typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;$(DL) >> $@
        @echo $(DL)#endif /* __CURL_CURLBUILD_H */$(DL) >> $@
 
+$(LIBCARES_PATH)/libcares.$(LIBEXT):
+       $(MAKE) -C $(LIBCARES_PATH) -f Makefile.netware lib
+
+ca-bundle.crt: mk-ca-bundle.pl
+       @echo Creating $@
+       @-$(PERL) $< -b -n $@
+