mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
175335808b
version of libcurl with different Windows versions. Current version of libcurl imports SSPI functions from secur32.dll. However, under Windows NT 4.0 these functions are located in security.dll, under Windows 9x - in secur32.dll and Windows 2000 and XP contains both these DLLs (security.dll just forwards calls to secur32.dll). Dmitry's patch loads proper library dynamically depending on Windows version. Function InitSecurityInterface() is used to obtain pointers to all of SSPI function in one structure. : ----------------------------------------------------------------------
261 lines
7.9 KiB
Makefile
261 lines
7.9 KiB
Makefile
########################################################
|
|
# $Id: Makefile.vc6,v 1.19 2004/11/14 13:48:15 giva Exp $
|
|
#
|
|
## Makefile for building curl.exe with MSVC6
|
|
## Use: nmake -f makefile.vc6 [release | debug] [CFG=release-ssl]
|
|
## (default is release)
|
|
## "nmake -f makefile.vc6 CFG=release-ssl" statically links OpenSSL
|
|
## into curl.exe producing a standalone SSL-enabled executable.
|
|
##
|
|
## Comments to: Troy Engel <tengel@sonic.net>
|
|
## Updated by: Craig Davison <cd@securityfocus.com>
|
|
## release-ssl added by Miklos Nemeth <mnemeth@kfkisystems.com>
|
|
## winmm.lib added by Miklos Nemeth <mnemeth@kfkisystems.com> to support
|
|
## timeGetTime() in timeval.c
|
|
|
|
PROGRAM_NAME = curl.exe
|
|
|
|
!IFNDEF ZLIB_PATH
|
|
ZLIB_PATH = ../../zlib-1.2.1
|
|
!ENDIF
|
|
|
|
!IFNDEF OPENSSL_PATH
|
|
OPENSSL_PATH = ../../openssl-0.9.7e
|
|
!ENDIF
|
|
|
|
# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication
|
|
# without an openssl installation and offers the ability to authenticate
|
|
# using the "current logged in user". It does however require that the
|
|
# Windows SDK be installed.
|
|
#
|
|
# If, for some reason the Windows SDK is installed but not installed
|
|
# in the default location, you can specify WINDOWS_SDK_PATH.
|
|
# It can be downloaded from:
|
|
# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
|
|
|
|
# USE_WINDOWS_SSPI = 1
|
|
|
|
!IFDEF WINDOWS_SSPI
|
|
!IFNDEF WINDOWS_SDK_PATH
|
|
WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK"
|
|
!ENDIF
|
|
!ENDIF
|
|
|
|
########################################################
|
|
## Nothing more to do below this line!
|
|
ZLIB_CFLAGS = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
|
|
ZLIB_LFLAGS = "/LIBPATH:$(ZLIB_PATH)"
|
|
ZLIB_LIBS = zlib.lib
|
|
ZLIB_IMP_LIBS = zdll.lib
|
|
|
|
SSL_CFLAGS = /DUSE_SSLEAY
|
|
SSL_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32"
|
|
SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll"
|
|
SSL_LIBS = libeay32.lib ssleay32.lib gdi32.lib
|
|
|
|
## Release
|
|
CCR = cl.exe /MD /O2 /DNDEBUG
|
|
LINKR = link.exe /incremental:no /libpath:"../lib"
|
|
RCR = rc.exe /dCURLDEBUG=0
|
|
|
|
## Debug
|
|
CCD = cl.exe /MDd /Gm /ZI /Od /D_DEBUG /GZ
|
|
LINKD = link.exe /incremental:yes /debug /libpath:"../lib"
|
|
RCD = rc.exe /dCURLDEBUG=1
|
|
|
|
CFLAGS = /I../lib /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c
|
|
LFLAGS = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:I386
|
|
RESFLAGS = /i../include
|
|
|
|
!IFDEF WINDOWS_SSPI
|
|
CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
|
|
!ENDIF
|
|
|
|
RELEASE_OBJS= \
|
|
hugehelpr.obj \
|
|
writeoutr.obj \
|
|
urlglobr.obj \
|
|
getpassr.obj \
|
|
homedirr.obj \
|
|
timevalr.obj \
|
|
strtoofftr.obj \
|
|
mainr.obj \
|
|
curlr.res
|
|
|
|
DEBUG_OBJS= \
|
|
hugehelpd.obj \
|
|
writeoutd.obj \
|
|
urlglobd.obj \
|
|
getpassd.obj \
|
|
homedird.obj \
|
|
timevald.obj \
|
|
strtoofftd.obj \
|
|
maind.obj \
|
|
curld.res
|
|
|
|
#################################################
|
|
# If CFG not specified, use static libs
|
|
|
|
CFLAGS = $(CFLAGS) /DCURL_STATICLIB
|
|
LINKLIBS = libcurl.lib
|
|
LINKLIBS_DEBUG = libcurld.lib
|
|
|
|
#################################################
|
|
# release dynamic library
|
|
|
|
!IF "$(CFG)" == "release-dll"
|
|
LINKLIBS = libcurl_imp.lib
|
|
LINKLIBS_DEBUG = libcurld_imp.lib
|
|
!ENDIF
|
|
|
|
#################################################
|
|
# release static library with zlib
|
|
|
|
!IF "$(CFG)" == "release-zlib"
|
|
CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
|
|
LINKLIBS = libcurl.lib $(ZLIB_LIBS)
|
|
LINKLIBS_DEBUG = libcurld.lib $(ZLIB_LIBS)
|
|
LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
|
|
!ENDIF
|
|
|
|
#################################################
|
|
# release static library with ssl
|
|
|
|
!IF "$(CFG)" == "release-ssl"
|
|
CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
|
|
LINKLIBS = libcurl.lib $(SSL_LIBS)
|
|
LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)
|
|
LFLAGS = $(LFLAGS) $(SSL_LFLAGS)
|
|
!ENDIF
|
|
|
|
#################################################
|
|
# release dynamic library with dynamic ssl
|
|
|
|
!IF "$(CFG)" == "release-dll-ssl-dll"
|
|
CFLAGS = $(CFLAGS) $(SSL_CFLAGS)
|
|
LINKLIBS = libcurl_imp.lib $(SSL_LIBS)
|
|
LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS)
|
|
LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS)
|
|
!ENDIF
|
|
|
|
#################################################
|
|
# release static library with ssl and zlib
|
|
|
|
!IF "$(CFG)" == "release-ssl-zlib"
|
|
CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
|
|
LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_LIBS)
|
|
LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_LIBS)
|
|
LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS)
|
|
!ENDIF
|
|
|
|
#################################################
|
|
# release static library with dynamic ssl
|
|
|
|
!IF "$(CFG)" == "release-ssl-dll"
|
|
CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
|
|
LINKLIBS = libcurl.lib $(SSL_LIBS)
|
|
LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS)
|
|
LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS)
|
|
!ENDIF
|
|
|
|
#################################################
|
|
# release static library with dynamic zlib
|
|
|
|
!IF "$(CFG)" == "release-zlib-dll"
|
|
CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
|
|
LINKLIBS = libcurl.lib $(ZLIB_IMP_LIBS)
|
|
LINKLIBS_DEBUG = libcurld.lib $(ZLIB_IMP_LIBS)
|
|
LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
|
|
!ENDIF
|
|
|
|
#################################################
|
|
# release dynamic library with dynamic zlib
|
|
|
|
!IF "$(CFG)" == "release-dll-zlib-dll"
|
|
CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS)
|
|
LINKLIBS = libcurl_imp.lib $(ZLIB_IMP_LIBS)
|
|
LINKLIBS_DEBUG = libcurld_imp.lib $(ZLIB_IMP_LIBS)
|
|
LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
|
|
!ENDIF
|
|
|
|
#################################################
|
|
# release static library with dynamic ssl and dynamic zlib
|
|
|
|
!IF "$(CFG)" == "release-ssl-dll-zlib-dll"
|
|
CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
|
|
LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
|
|
LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
|
|
LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
|
|
!ENDIF
|
|
|
|
#################################################
|
|
# release dynamic library with dynamic ssl and dynamic zlib
|
|
|
|
!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
|
|
CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS)
|
|
LINKLIBS = libcurl_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
|
|
LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS)
|
|
LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
|
|
!ENDIF
|
|
|
|
|
|
LINKLIBS = $(LINKLIBS) wsock32.lib winmm.lib
|
|
LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) wsock32.lib winmm.lib
|
|
|
|
all : release
|
|
|
|
release: $(RELEASE_OBJS)
|
|
$(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS)
|
|
|
|
debug: $(DEBUG_OBJS)
|
|
$(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS)
|
|
|
|
## Release
|
|
hugehelpr.obj: hugehelp.c
|
|
$(CCR) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
|
|
writeoutr.obj: writeout.c
|
|
$(CCR) $(CFLAGS) /Fo"$@" writeout.c
|
|
urlglobr.obj: urlglob.c
|
|
$(CCR) $(CFLAGS) /Fo"$@" urlglob.c
|
|
getpassr.obj: getpass.c
|
|
$(CCR) $(CFLAGS) /Fo"$@" getpass.c
|
|
homedirr.obj: homedir.c
|
|
$(CCR) $(CFLAGS) /Fo"$@" homedir.c
|
|
timevalr.obj: ../lib/timeval.c
|
|
$(CCR) $(CFLAGS) /Fo"$@" ../lib/timeval.c
|
|
strtoofftr.obj: ../lib/strtoofft.c
|
|
$(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
|
|
mainr.obj: main.c
|
|
$(CCR) $(CFLAGS) /Fo"$@" main.c
|
|
curlr.res : curl.rc
|
|
$(RCR) $(RESFLAGS) /Fo"$@" curl.rc
|
|
|
|
## Debug
|
|
hugehelpd.obj: hugehelp.c
|
|
$(CCD) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
|
|
writeoutd.obj: writeout.c
|
|
$(CCD) $(CFLAGS) /Fo"$@" writeout.c
|
|
urlglobd.obj: urlglob.c
|
|
$(CCD) $(CFLAGS) /Fo"$@" urlglob.c
|
|
getpassd.obj: getpass.c
|
|
$(CCD) $(CFLAGS) /Fo"$@" getpass.c
|
|
homedird.obj: homedir.c
|
|
$(CCD) $(CFLAGS) /Fo"$@" homedir.c
|
|
timevald.obj: ../lib/timeval.c
|
|
$(CCD) $(CFLAGS) /Fo"$@" ../lib/timeval.c
|
|
strtoofftd.obj: ../lib/strtoofft.c
|
|
$(CCD) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
|
|
maind.obj: main.c
|
|
$(CCD) $(CFLAGS) /Fo"$@" main.c
|
|
curld.res : curl.rc
|
|
$(RCD) $(RESFLAGS) /Fo"$@" curl.rc
|
|
|
|
clean:
|
|
@-erase $(PROGRAM_NAME) 2> NUL
|
|
@-erase $(RELEASE_OBJS) 2> NUL
|
|
@-erase $(DEBUG_OBJS) 2> NUL
|
|
@-erase *.idb 2> NUL
|
|
@-erase *.pdb 2> NUL
|
|
@-erase *.pch 2> NUL
|
|
@-erase *.ilk 2> NUL
|