Commit 42f5e8a0 authored by Yang Tse's avatar Yang Tse
Browse files

build: use external preprocessor cpp32 when building with Borland C

parent c5d9cd5c
Loading
Loading
Loading
Loading
+45 −28
Original line number Diff line number Diff line
@@ -4,22 +4,25 @@
#
#  '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
############################################################

# Check if BCCDIR is set and guess if not set.
!ifndef BCCDIR
BCCDIR = $(MAKEDIR)/..
# Check if BCCDIR is set.
!if !$d(BCCDIR)
!error BCCDIR not defined
!endif

# Edit the path below to point to the base of your Zlib sources.
!ifndef ZLIB_PATH
ZLIB_PATH = ../../zlib-1.2.5
ZLIB_PATH = ..\..\zlib-1.2.5
!endif

# Edit the path below to point to the base of your OpenSSL package.
!ifndef OPENSSL_PATH
OPENSSL_PATH = ../../openssl-0.9.8q
OPENSSL_PATH = ..\..\openssl-0.9.8q
!endif

# Set libcurl static lib, dll and import lib
@@ -28,69 +31,83 @@ LIBCURL_DLL = libcurl.dll
LIBCURL_IMPLIB = libcurl_imp.lib

# Setup environment
CXX      = bcc32
PP_CMD   = cpp32 -q -P-
CC_CMD   = bcc32 -q -c
LD       = bcc32
CP       = copy 2>NUL
RM       = del /q /f 2>NUL
RM       = del
MKDIR    = mkdir
RMDIR    = rmdir /s /q
LIB      = tlib
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
LDFLAGS  = -q -lq -laa -tWD

INCDIRS  = -I.;../include
LINKLIB  = $(BCCDIR)/lib/cw32mt.lib

DEFINES  = -DNDEBUG -DWIN32 -D_CONSOLE -D_MBCS -DBUILDING_LIBCURL
SRCDIR   = .
OBJDIR   = .\objs
INCDIRS  = -I.;..\include
LINKLIB  = $(BCCDIR)\lib\cw32mt.lib
DEFINES  = -DNDEBUG -DWIN32 -DBUILDING_LIBCURL

# By default we disable LDAP support here since BCC headers are insufficient.
# By default LDAP support is disabled for BCC
!ifndef WITH_LDAP
DEFINES  = $(DEFINES) -DCURL_DISABLE_LDAP
!endif

# If you build with ZLIB support, set WITH_ZLIB=1
# ZLIB support is enabled setting WITH_ZLIB=1
!ifdef WITH_ZLIB
DEFINES  = $(DEFINES) -DHAVE_LIBZ -DHAVE_ZLIB_H
INCDIRS  = $(INCDIRS);$(ZLIB_PATH)
LINKLIB  = $(LINKLIB) $(ZLIB_PATH)/zlib.lib
LINKLIB  = $(LINKLIB) $(ZLIB_PATH)\zlib.lib
!endif

# If you build with SSL support, set WITH_SSL=1
# SSL support is enabled setting WITH_SSL=1
!ifdef WITH_SSL
DEFINES  = $(DEFINES) -DUSE_SSLEAY
INCDIRS  = $(INCDIRS);$(OPENSSL_PATH)/inc32;$(OPENSSL_PATH)/inc32/openssl
LINKLIB  = $(LINKLIB) $(OPENSSL_PATH)/out32/ssleay32.lib $(OPENSSL_PATH)/out32/libeay32.lib
INCDIRS  = $(INCDIRS);$(OPENSSL_PATH)\inc32;$(OPENSSL_PATH)\inc32\openssl
LINKLIB  = $(LINKLIB) $(OPENSSL_PATH)\out32\ssleay32.lib $(OPENSSL_PATH)\out32\libeay32.lib
!endif

.autodepend

.path.c   = $(SRCDIR)
.path.obj = $(OBJDIR)

# Makefile.inc provides the CSOURCES and HHEADERS defines
!include Makefile.inc

OBJECTS = $(CSOURCES:.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:
	-$(RM) $(LIBCURL_LIB)
	-$(RM) $(LIBCURL_IMPLIB)
	-$(RM) libcurl.tds
	-$(RM) *.obj
	@-$(RMDIR) $(OBJDIR) >NUL 2>&1
	@-$(RM) $(LIBCURL_LIB) >NUL 2>&1
	@-$(RM) $(LIBCURL_IMPLIB) >NUL 2>&1
	@-$(RM) libcurl.tds >NUL 2>&1

$(OBJDIR):
	@-$(RMDIR) $(OBJDIR) >NUL 2>&1
	@-$(MKDIR) $(OBJDIR)

$(LIBCURL_LIB): $(OBJECTS)
	@-$(RM) $@
	@-$(RM) $(LIBCURL_LIB) >NUL 2>&1
	$(LIB) $(LIBFLAGS) $@ @&&!
+$(**: = &^
+)
!

$(LIBCURL_DLL) $(LIBCURL_IMPLIB): $(OBJECTS) $(LINKLIB)
	@-$(RM) $(LIBCURL_DLL)
	@-$(RM) $(LIBCURL_IMPLIB)
	@-$(RM) $(LIBCURL_DLL) >NUL 2>&1
	@-$(RM) $(LIBCURL_IMPLIB) >NUL 2>&1
	$(LD) $(LDFLAGS) -e$(LIBCURL_DLL) $**
	$(IMPLIB) $(LIBCURL_IMPLIB) $(LIBCURL_DLL)


# End of Makefile.b32
+1 −1
Original line number Diff line number Diff line
@@ -357,7 +357,7 @@
/* ---------------------------------------------------------------- */

/* Define this if you have struct sockaddr_storage */
#if !(defined(__SALFORDC__) || defined(__BORLANDC__))
#if !defined(__SALFORDC__) && !defined(__BORLANDC__)
#define HAVE_STRUCT_SOCKADDR_STORAGE 1
#endif

+43 −32
Original line number Diff line number Diff line
@@ -4,88 +4,99 @@
#
#  '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
############################################################

# Check if BCCDIR is set and guess if not set.
!ifndef BCCDIR
BCCDIR = $(MAKEDIR)/..
# Check if BCCDIR is set.
!if !$d(BCCDIR)
!error BCCDIR not defined
!endif

# Edit the path below to point to the base of your Zlib sources.
!ifndef ZLIB_PATH
ZLIB_PATH = ../../zlib-1.2.5
ZLIB_PATH = ..\..\zlib-1.2.5
!endif

# Edit the path below to point to the base of your OpenSSL package.
!ifndef OPENSSL_PATH
OPENSSL_PATH = ../../openssl-0.9.8q
OPENSSL_PATH = ..\..\openssl-0.9.8q
!endif

# Set program's name
PROGNAME = curl.exe

# Setup environment
CXX      = bcc32
PP_CMD   = cpp32 -q -P-
CC_CMD   = bcc32 -q -c
LD       = bcc32
CP       = copy 2>NUL
RM       = del /q /f 2>NUL
LIB      = tlib
RM       = del
MKDIR    = mkdir
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

INCDIRS  = -I.;../include;../lib
LINKLIB  = $(BCCDIR)/lib/cw32mt.lib

SRCDIRS  = .;..\lib
OBJDIR   = .\objs
INCDIRS  = -I.;..\include;..\lib
LINKLIB  = $(BCCDIR)\lib\cw32mt.lib
DEFINES  = -DNDEBUG -DWIN32

!ifdef DYNAMIC
LIBCURL_LIB = ../lib/libcurl_imp.lib
LIBCURL_LIB = ..\lib\libcurl_imp.lib
!else
LIBCURL_LIB = ../lib/libcurl.lib
LIBCURL_LIB = ..\lib\libcurl.lib
DEFINES = $(DEFINES) -DCURL_STATICLIB
!endif

# If you build with ZLIB support, set WITH_ZLIB=1
# ZLIB support is enabled setting WITH_ZLIB=1
!ifdef WITH_ZLIB
DEFINES  = $(DEFINES) -DHAVE_LIBZ -DHAVE_ZLIB_H
INCDIRS  = $(INCDIRS);$(ZLIB_PATH)
LINKLIB  = $(LINKLIB) $(ZLIB_PATH)/zlib.lib
LINKLIB  = $(LINKLIB) $(ZLIB_PATH)\zlib.lib
!endif

# If you build with SSL support, set WITH_SSL=1
# SSL support is enabled setting WITH_SSL=1
!ifdef WITH_SSL
DEFINES  = $(DEFINES) -DUSE_SSLEAY
INCDIRS  = $(INCDIRS);$(OPENSSL_PATH)/inc32;$(OPENSSL_PATH)/inc32/openssl
LINKLIB  = $(LINKLIB) $(OPENSSL_PATH)/out32/ssleay32.lib $(OPENSSL_PATH)/out32/libeay32.lib
INCDIRS  = $(INCDIRS);$(OPENSSL_PATH)\inc32;$(OPENSSL_PATH)\inc32\openssl
LINKLIB  = $(LINKLIB) $(OPENSSL_PATH)\out32\ssleay32.lib $(OPENSSL_PATH)\out32\libeay32.lib
!endif

.autodepend

.path.c   = $(SRCDIRS)
.path.obj = $(OBJDIR)

# Makefile.inc provides the CSOURCES and HHEADERS defines
top_srcdir = ..
!undef top_srcdir
!include Makefile.inc

CSOURCES = $(CURL_CFILES) $(CURLX_ONES)
CSOURCES = $(CURL_CFILES) $(CURLX_ONES:/lib/=)
OBJECTS  = $(CSOURCES:.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:
	-$(RM) $(PROGNAME)
	-$(RM) *.obj
	-$(RM) hugehelp.c
	@-$(RMDIR) $(OBJDIR) >NUL 2>&1
	@-$(RM) $(PROGNAME) >NUL 2>&1
	@-$(RM) curl.tds >NUL 2>&1

$(OBJDIR):
	@-$(RMDIR) $(OBJDIR) >NUL 2>&1
	@-$(MKDIR) $(OBJDIR)

$(PROGNAME): $(OBJECTS) $(LIBCURL_LIB) $(LINKLIB)
	@-$(RM) $@
	@-$(RM) $(PROGNAME) >NUL 2>&1
	$(LD) $(LDFLAGS) -e$@ $**

hugehelp.c: hugehelp.c.cvs
	@echo Creating $@
	@$(CP) $** $@


# End of Makefile.b32
+1 −1
Original line number Diff line number Diff line
@@ -228,7 +228,7 @@
/* ---------------------------------------------------------------- */

/* Define this if you have struct sockaddr_storage */
#if !(defined(__SALFORDC__) || defined(__BORLANDC__))
#if !defined(__SALFORDC__) && !defined(__BORLANDC__)
#define HAVE_STRUCT_SOCKADDR_STORAGE 1
#endif