Skip to content

Commit

Permalink
Architecture selection for winbuild and minor makefiles refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
sapien2 committed Oct 25, 2012
1 parent 74fe1b9 commit 8262a3b
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 18 deletions.
1 change: 1 addition & 0 deletions winbuild/BUILD.WINDOWS.txt
Expand Up @@ -68,3 +68,4 @@ where <options> is one or many of:
ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes
GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build)
DEBUG=<yes or no> - Debug builds
MACHINE=<X86 or X64> - Target architecture (default is X86)
14 changes: 12 additions & 2 deletions winbuild/Makefile.vc
Expand Up @@ -54,6 +54,10 @@ ENABLE_SSPI = $(USE_SSPI)
!ENDIF

# default options
!IFNDEF MACHINE
MACHINE = X86
!ENDIF

!IFNDEF ENABLE_IDN
USE_IDN = true
!ELSEIF "$(ENABLE_IDN)"=="yes"
Expand Down Expand Up @@ -120,6 +124,8 @@ USE_SSH2 = true
SSH2 = static
!ENDIF

CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-$(MACHINE)

!IF "$(DEBUG)"=="yes"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-debug
!ELSE
Expand Down Expand Up @@ -168,14 +174,18 @@ CURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-curl
DIRDIST = ..\builds\$(CONFIG_NAME_LIB)\

$(MODE):
@SET LIBCURL_DIROBJ=$(LIBCURL_DIROBJ)
@SET DIROBJ=$(LIBCURL_DIROBJ)
@SET MACRO_NAME=LIBCURL_OBJS
@SET OUTFILE=LIBCURL_OBJS.inc
@gen_resp_file.bat $(LIBCURL_OBJS)
@SET LIBCURL_DIROBJ=$(CURL_DIROBJ)

@SET DIROBJ=$(CURL_DIROBJ)
@SET MACRO_NAME=CURL_OBJS
@SET OUTFILE=CURL_OBJS.inc
@gen_resp_file.bat $(CURL_OBJS)

@SET CONFIG_NAME_LIB=$(CONFIG_NAME_LIB)
@SET MACHINE=$(MACHINE)
@SET USE_IDN=$(USE_IDN)
@SET USE_IPV6=$(USE_IPV6)
@SET USE_SSPI=$(USE_SSPI)
Expand Down
18 changes: 3 additions & 15 deletions winbuild/MakefileBuild.vc
Expand Up @@ -211,9 +211,6 @@ SSPI_CFLAGS = $(SSPI_CFLAGS) /DUSE_SCHANNEL
GEN_PDB = true
!ENDIF

!IFNDEF MACHINE
MACHINE = X86
!ENDIF

!IFDEF EMBEND_MANIFEST
MANIFESTTOOL = mt -manifest $(DIRDIST)\$(PROGRAM_NAME).manifest -outputresource:$(DIRDIST)\$(PROGRAM_NAME);1
Expand Down Expand Up @@ -245,7 +242,7 @@ WIN_LIBS = ws2_32.lib wldap32.lib advapi32.lib
!ERROR please choose a valid mode
!ENDIF

CONFIG_NAME_LIB = libcurl


# CURL_XX macros are for the curl.exe command

Expand All @@ -255,14 +252,12 @@ CC = $(CC_DEBUG) $(RTLIB_DEBUG)

CURL_CC = $(CC)
CURL_RC_FLAGS = /i../include /dDEBUGBUILD=1 /Fo $@ $(CURL_SRC_DIR)\curl.rc
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-debug
!ELSE
RC_FLAGS = /dDEBUGBUILD=0 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc
CC = $(CC_NODEBUG) $(RTLIB)

CURL_CC = $(CC)
CURL_RC_FLAGS = /i../include /dDEBUGBUILD=0 /Fo $@ $(CURL_SRC_DIR)\curl.rc
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-release
!ENDIF

CURL_CC = $(CURL_CC) $(CURL_CFLAGS)
Expand All @@ -280,7 +275,6 @@ LNK = $(LNK) /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP)
CURL_LIBS = /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP)
!ENDIF
RESOURCE = $(LIB_DIROBJ)\libcurl.res
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-dll

# AS_DLL
!ELSE
Expand All @@ -292,46 +286,39 @@ TARGET = $(LIB_NAME_STATIC)
!ENDIF
LNK = $(LNKLIB) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET)
CC = $(CC) $(CFLAGS_LIBCURL_STATIC)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-static

# AS_DLL
!ENDIF

!IF "$(USE_SSL)"=="true"
CFLAGS = $(CFLAGS) $(SSL_CFLAGS)
LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(SSL_LIBS)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssl-$(SSL)
!ENDIF

!IF "$(USE_ZLIB)"=="true"
CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS)
LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) $(ZLIB_LIBS)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-zlib-$(ZLIB)
!ENDIF

!IF "$(USE_SSH2)"=="true"
CFLAGS = $(CFLAGS) $(SSH2_CFLAGS)
LFLAGS = $(LFLAGS) $(SSH2_LFLAGS) $(SSH2_LIBS)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssh2-$(SSH2)
!ENDIF

!IF "$(USE_IPV6)"=="true"
CFLAGS = $(CFLAGS) $(IPV6_CFLAGS)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ipv6
!ENDIF

!IF "$(USE_SSPI)"=="true"
CFLAGS = $(CFLAGS) $(SSPI_CFLAGS)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-sspi
!ENDIF

!IF "$(USE_SPNEGO)"=="true"
CFLAGS = $(CFLAGS) $(SPNEGO_CFLAGS)
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-spnego
!ENDIF

!IF "$(USE_WINSSL)"=="true"
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-winssl
#
!ENDIF

!IF "$(GEN_PDB)"=="true"
Expand Down Expand Up @@ -397,6 +384,7 @@ $(TARGET): $(LIB_OBJS) $(LIB_DIROBJ) $(DISTDIR)
@echo LFLAGS: $(LFLAGS)
@echo GenPDB: $(GEN_PDB)
@echo Debug: $(DEBUG)
@echo Machine: $(MACHINE)
$(LNK) $(LFLAGS) $(LIB_OBJS)
@echo Copying libs...
@if exist $(LIB_DIROBJ)\$(LIB_NAME_DLL) copy $(LIB_DIROBJ)\$(LIB_NAME_DLL) $(DIRDIST)\bin\ /y >nul 2<&1
Expand Down
2 changes: 1 addition & 1 deletion winbuild/gen_resp_file.bat
@@ -1,6 +1,6 @@
@echo OFF
@del %OUTFILE%
@echo %MACRO_NAME% = \> %OUTFILE%
@for %%i in (%*) do @echo %LIBCURL_DIROBJ%/%%i \>> %OUTFILE%
@for %%i in (%*) do @echo %DIROBJ%/%%i \>> %OUTFILE%
@echo. >> %OUTFILE%
:END

0 comments on commit 8262a3b

Please sign in to comment.