build: use external preprocessor cpp32 when building with Borland C

This commit is contained in:
Yang Tse 2011-01-12 02:35:14 +01:00
parent c5d9cd5c1b
commit 42f5e8a0f1
4 changed files with 90 additions and 62 deletions

View File

@ -4,22 +4,25 @@
# #
# 'lib' directory # 'lib' directory
# #
# 'BCCDIR' has to be set up to point to the base directory
# of the compiler, i.e. SET BCCDIR = c:\Borland\BCC55
#
# Written by Jaepil Kim, pit@paradise.net.nz # Written by Jaepil Kim, pit@paradise.net.nz
############################################################ ############################################################
# Check if BCCDIR is set and guess if not set. # Check if BCCDIR is set.
!ifndef BCCDIR !if !$d(BCCDIR)
BCCDIR = $(MAKEDIR)/.. !error BCCDIR not defined
!endif !endif
# Edit the path below to point to the base of your Zlib sources. # Edit the path below to point to the base of your Zlib sources.
!ifndef ZLIB_PATH !ifndef ZLIB_PATH
ZLIB_PATH = ../../zlib-1.2.5 ZLIB_PATH = ..\..\zlib-1.2.5
!endif !endif
# Edit the path below to point to the base of your OpenSSL package. # Edit the path below to point to the base of your OpenSSL package.
!ifndef OPENSSL_PATH !ifndef OPENSSL_PATH
OPENSSL_PATH = ../../openssl-0.9.8q OPENSSL_PATH = ..\..\openssl-0.9.8q
!endif !endif
# Set libcurl static lib, dll and import lib # Set libcurl static lib, dll and import lib
@ -28,69 +31,83 @@ LIBCURL_DLL = libcurl.dll
LIBCURL_IMPLIB = libcurl_imp.lib LIBCURL_IMPLIB = libcurl_imp.lib
# Setup environment # Setup environment
CXX = bcc32 PP_CMD = cpp32 -q -P-
CC_CMD = bcc32 -q -c
LD = bcc32 LD = bcc32
CP = copy 2>NUL RM = del
RM = del /q /f 2>NUL MKDIR = mkdir
RMDIR = rmdir /s /q
LIB = tlib LIB = tlib
IMPLIB = implib IMPLIB = implib
CXXFLAGS = -q -5 -O2 -w-aus -w-ccc -w-csu -w-par -w-pia -w-rch -w-inl -w-ngu -w-pro -tWM CC_FLAGS = -5 -O2 -tWM -w -w-aus -w-ccc -w-dup -w-prc -w-pro -w-rch -w-sig -w-spa -Dinline=__inline
LIBFLAGS = /C /P32 LIBFLAGS = /C /P32
LDFLAGS = -q -lq -laa -tWD LDFLAGS = -q -lq -laa -tWD
INCDIRS = -I.;../include SRCDIR = .
LINKLIB = $(BCCDIR)/lib/cw32mt.lib OBJDIR = .\objs
INCDIRS = -I.;..\include
LINKLIB = $(BCCDIR)\lib\cw32mt.lib
DEFINES = -DNDEBUG -DWIN32 -DBUILDING_LIBCURL
DEFINES = -DNDEBUG -DWIN32 -D_CONSOLE -D_MBCS -DBUILDING_LIBCURL # By default LDAP support is disabled for BCC
# By default we disable LDAP support here since BCC headers are insufficient.
!ifndef WITH_LDAP !ifndef WITH_LDAP
DEFINES = $(DEFINES) -DCURL_DISABLE_LDAP DEFINES = $(DEFINES) -DCURL_DISABLE_LDAP
!endif !endif
# If you build with ZLIB support, set WITH_ZLIB=1 # ZLIB support is enabled setting WITH_ZLIB=1
!ifdef WITH_ZLIB !ifdef WITH_ZLIB
DEFINES = $(DEFINES) -DHAVE_LIBZ -DHAVE_ZLIB_H DEFINES = $(DEFINES) -DHAVE_LIBZ -DHAVE_ZLIB_H
INCDIRS = $(INCDIRS);$(ZLIB_PATH) INCDIRS = $(INCDIRS);$(ZLIB_PATH)
LINKLIB = $(LINKLIB) $(ZLIB_PATH)/zlib.lib LINKLIB = $(LINKLIB) $(ZLIB_PATH)\zlib.lib
!endif !endif
# If you build with SSL support, set WITH_SSL=1 # SSL support is enabled setting WITH_SSL=1
!ifdef WITH_SSL !ifdef WITH_SSL
DEFINES = $(DEFINES) -DUSE_SSLEAY DEFINES = $(DEFINES) -DUSE_SSLEAY
INCDIRS = $(INCDIRS);$(OPENSSL_PATH)/inc32;$(OPENSSL_PATH)/inc32/openssl INCDIRS = $(INCDIRS);$(OPENSSL_PATH)\inc32;$(OPENSSL_PATH)\inc32\openssl
LINKLIB = $(LINKLIB) $(OPENSSL_PATH)/out32/ssleay32.lib $(OPENSSL_PATH)/out32/libeay32.lib LINKLIB = $(LINKLIB) $(OPENSSL_PATH)\out32\ssleay32.lib $(OPENSSL_PATH)\out32\libeay32.lib
!endif !endif
.autodepend .autodepend
.path.c = $(SRCDIR)
.path.obj = $(OBJDIR)
# Makefile.inc provides the CSOURCES and HHEADERS defines # Makefile.inc provides the CSOURCES and HHEADERS defines
!include Makefile.inc !include Makefile.inc
OBJECTS = $(CSOURCES:.c=.obj) OBJECTS = $(CSOURCES:.c=.obj)
.c.obj: .c.obj:
$(CXX) -c $(INCDIRS) $(CXXFLAGS) $(DEFINES) $< @-$(RM) $(@R).int >NUL 2>&1
$(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(<)
$(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int
all: $(LIBCURL_LIB) $(LIBCURL_DLL) all: $(OBJDIR) $(LIBCURL_LIB) $(LIBCURL_DLL)
clean: clean:
-$(RM) $(LIBCURL_LIB) @-$(RMDIR) $(OBJDIR) >NUL 2>&1
-$(RM) $(LIBCURL_IMPLIB) @-$(RM) $(LIBCURL_LIB) >NUL 2>&1
-$(RM) libcurl.tds @-$(RM) $(LIBCURL_IMPLIB) >NUL 2>&1
-$(RM) *.obj @-$(RM) libcurl.tds >NUL 2>&1
$(OBJDIR):
@-$(RMDIR) $(OBJDIR) >NUL 2>&1
@-$(MKDIR) $(OBJDIR)
$(LIBCURL_LIB): $(OBJECTS) $(LIBCURL_LIB): $(OBJECTS)
@-$(RM) $@ @-$(RM) $(LIBCURL_LIB) >NUL 2>&1
$(LIB) $(LIBFLAGS) $@ @&&! $(LIB) $(LIBFLAGS) $@ @&&!
+$(**: = &^ +$(**: = &^
+) +)
! !
$(LIBCURL_DLL) $(LIBCURL_IMPLIB): $(OBJECTS) $(LINKLIB) $(LIBCURL_DLL) $(LIBCURL_IMPLIB): $(OBJECTS) $(LINKLIB)
@-$(RM) $(LIBCURL_DLL) @-$(RM) $(LIBCURL_DLL) >NUL 2>&1
@-$(RM) $(LIBCURL_IMPLIB) @-$(RM) $(LIBCURL_IMPLIB) >NUL 2>&1
$(LD) $(LDFLAGS) -e$(LIBCURL_DLL) $** $(LD) $(LDFLAGS) -e$(LIBCURL_DLL) $**
$(IMPLIB) $(LIBCURL_IMPLIB) $(LIBCURL_DLL) $(IMPLIB) $(LIBCURL_IMPLIB) $(LIBCURL_DLL)
# End of Makefile.b32

View File

@ -357,7 +357,7 @@
/* ---------------------------------------------------------------- */ /* ---------------------------------------------------------------- */
/* Define this if you have struct sockaddr_storage */ /* Define this if you have struct sockaddr_storage */
#if !(defined(__SALFORDC__) || defined(__BORLANDC__)) #if !defined(__SALFORDC__) && !defined(__BORLANDC__)
#define HAVE_STRUCT_SOCKADDR_STORAGE 1 #define HAVE_STRUCT_SOCKADDR_STORAGE 1
#endif #endif

View File

@ -4,88 +4,99 @@
# #
# 'src' directory # 'src' directory
# #
# 'BCCDIR' has to be set up to point to the base directory
# of the compiler, i.e. SET BCCDIR = c:\Borland\BCC55
#
# Written by Jaepil Kim, pit@paradise.net.nz # Written by Jaepil Kim, pit@paradise.net.nz
############################################################ ############################################################
# Check if BCCDIR is set and guess if not set. # Check if BCCDIR is set.
!ifndef BCCDIR !if !$d(BCCDIR)
BCCDIR = $(MAKEDIR)/.. !error BCCDIR not defined
!endif !endif
# Edit the path below to point to the base of your Zlib sources. # Edit the path below to point to the base of your Zlib sources.
!ifndef ZLIB_PATH !ifndef ZLIB_PATH
ZLIB_PATH = ../../zlib-1.2.5 ZLIB_PATH = ..\..\zlib-1.2.5
!endif !endif
# Edit the path below to point to the base of your OpenSSL package. # Edit the path below to point to the base of your OpenSSL package.
!ifndef OPENSSL_PATH !ifndef OPENSSL_PATH
OPENSSL_PATH = ../../openssl-0.9.8q OPENSSL_PATH = ..\..\openssl-0.9.8q
!endif !endif
# Set program's name # Set program's name
PROGNAME = curl.exe PROGNAME = curl.exe
# Setup environment # Setup environment
CXX = bcc32 PP_CMD = cpp32 -q -P-
CC_CMD = bcc32 -q -c
LD = bcc32 LD = bcc32
CP = copy 2>NUL RM = del
RM = del /q /f 2>NUL MKDIR = mkdir
LIB = tlib RMDIR = rmdir /s /q
CXXFLAGS = -q -5 -O2 -w-aus -w-ccc -w-csu -w-par -w-pia -w-rch -w-inl -w-ngu -w-pro -tWM CC_FLAGS = -5 -O2 -tWM -w -w-aus -w-ccc -w-dup -w-prc -w-pro -w-rch -w-sig -w-spa -Dinline=__inline
LDFLAGS = -q -lq -lap LDFLAGS = -q -lq -lap
INCDIRS = -I.;../include;../lib SRCDIRS = .;..\lib
LINKLIB = $(BCCDIR)/lib/cw32mt.lib OBJDIR = .\objs
INCDIRS = -I.;..\include;..\lib
LINKLIB = $(BCCDIR)\lib\cw32mt.lib
DEFINES = -DNDEBUG -DWIN32 DEFINES = -DNDEBUG -DWIN32
!ifdef DYNAMIC !ifdef DYNAMIC
LIBCURL_LIB = ../lib/libcurl_imp.lib LIBCURL_LIB = ..\lib\libcurl_imp.lib
!else !else
LIBCURL_LIB = ../lib/libcurl.lib LIBCURL_LIB = ..\lib\libcurl.lib
DEFINES = $(DEFINES) -DCURL_STATICLIB DEFINES = $(DEFINES) -DCURL_STATICLIB
!endif !endif
# If you build with ZLIB support, set WITH_ZLIB=1 # ZLIB support is enabled setting WITH_ZLIB=1
!ifdef WITH_ZLIB !ifdef WITH_ZLIB
DEFINES = $(DEFINES) -DHAVE_LIBZ -DHAVE_ZLIB_H DEFINES = $(DEFINES) -DHAVE_LIBZ -DHAVE_ZLIB_H
INCDIRS = $(INCDIRS);$(ZLIB_PATH) INCDIRS = $(INCDIRS);$(ZLIB_PATH)
LINKLIB = $(LINKLIB) $(ZLIB_PATH)/zlib.lib LINKLIB = $(LINKLIB) $(ZLIB_PATH)\zlib.lib
!endif !endif
# If you build with SSL support, set WITH_SSL=1 # SSL support is enabled setting WITH_SSL=1
!ifdef WITH_SSL !ifdef WITH_SSL
DEFINES = $(DEFINES) -DUSE_SSLEAY DEFINES = $(DEFINES) -DUSE_SSLEAY
INCDIRS = $(INCDIRS);$(OPENSSL_PATH)/inc32;$(OPENSSL_PATH)/inc32/openssl INCDIRS = $(INCDIRS);$(OPENSSL_PATH)\inc32;$(OPENSSL_PATH)\inc32\openssl
LINKLIB = $(LINKLIB) $(OPENSSL_PATH)/out32/ssleay32.lib $(OPENSSL_PATH)/out32/libeay32.lib LINKLIB = $(LINKLIB) $(OPENSSL_PATH)\out32\ssleay32.lib $(OPENSSL_PATH)\out32\libeay32.lib
!endif !endif
.autodepend .autodepend
.path.c = $(SRCDIRS)
.path.obj = $(OBJDIR)
# Makefile.inc provides the CSOURCES and HHEADERS defines # Makefile.inc provides the CSOURCES and HHEADERS defines
top_srcdir = .. !undef top_srcdir
!include Makefile.inc !include Makefile.inc
CSOURCES = $(CURL_CFILES) $(CURLX_ONES) CSOURCES = $(CURL_CFILES) $(CURLX_ONES:/lib/=)
OBJECTS = $(CSOURCES:.c=.obj) OBJECTS = $(CSOURCES:.c=.obj)
.c.obj: .c.obj:
$(CXX) -c $(INCDIRS) $(CXXFLAGS) $(DEFINES) $< @-$(RM) $(@R).int >NUL 2>&1
$(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(<)
$(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int
all: $(PROGNAME) all: $(OBJDIR) $(PROGNAME)
clean: clean:
-$(RM) $(PROGNAME) @-$(RMDIR) $(OBJDIR) >NUL 2>&1
-$(RM) *.obj @-$(RM) $(PROGNAME) >NUL 2>&1
-$(RM) hugehelp.c @-$(RM) curl.tds >NUL 2>&1
$(OBJDIR):
@-$(RMDIR) $(OBJDIR) >NUL 2>&1
@-$(MKDIR) $(OBJDIR)
$(PROGNAME): $(OBJECTS) $(LIBCURL_LIB) $(LINKLIB) $(PROGNAME): $(OBJECTS) $(LIBCURL_LIB) $(LINKLIB)
@-$(RM) $@ @-$(RM) $(PROGNAME) >NUL 2>&1
$(LD) $(LDFLAGS) -e$@ $** $(LD) $(LDFLAGS) -e$@ $**
hugehelp.c: hugehelp.c.cvs
@echo Creating $@
@$(CP) $** $@
# End of Makefile.b32

View File

@ -228,7 +228,7 @@
/* ---------------------------------------------------------------- */ /* ---------------------------------------------------------------- */
/* Define this if you have struct sockaddr_storage */ /* Define this if you have struct sockaddr_storage */
#if !(defined(__SALFORDC__) || defined(__BORLANDC__)) #if !defined(__SALFORDC__) && !defined(__BORLANDC__)
#define HAVE_STRUCT_SOCKADDR_STORAGE 1 #define HAVE_STRUCT_SOCKADDR_STORAGE 1
#endif #endif