Architecture selection for winbuild and minor makefiles refactoring
authorSapien2 <malov.anton@gmail.com>
Thu, 25 Oct 2012 08:19:50 +0000 (12:19 +0400)
committerMarc Hoersken <info@marc-hoersken.de>
Thu, 1 Nov 2012 21:06:53 +0000 (22:06 +0100)
winbuild/BUILD.WINDOWS.txt
winbuild/Makefile.vc
winbuild/MakefileBuild.vc
winbuild/gen_resp_file.bat

index 53030cb9566bdd2edc5235540c03fa8bd6f3db5d..2485078c584254eafe456e0b75ea73dda6007470 100644 (file)
@@ -68,3 +68,4 @@ where <options> is one or many of:
   ENABLE_WINSSL=<yes or no>    - Enable native Windows SSL support, defaults to yes\r
   GEN_PDB=<yes or no>          - Generate Program Database (debug symbols for release build)\r
   DEBUG=<yes or no>            - Debug builds\r
+  MACHINE=<X86 or X64>         - Target architecture (default is X86)
\ No newline at end of file
index 137be213a16989f9d9bb8721531f56a38fae0db6..fcffc7411ad5ae9d4b3d27bb96b27ae5302e3e8a 100644 (file)
@@ -54,6 +54,10 @@ ENABLE_SSPI = $(USE_SSPI)
 !ENDIF\r
 \r
 # default options\r
+!IFNDEF MACHINE
+MACHINE = X86
+!ENDIF
+
 !IFNDEF ENABLE_IDN\r
 USE_IDN = true\r
 !ELSEIF "$(ENABLE_IDN)"=="yes"\r
@@ -120,6 +124,8 @@ USE_SSH2 = true
 SSH2     = static\r
 !ENDIF\r
 \r
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-$(MACHINE)
+
 !IF "$(DEBUG)"=="yes"\r
 CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-debug\r
 !ELSE\r
@@ -168,14 +174,18 @@ CURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-curl
 DIRDIST = ..\builds\$(CONFIG_NAME_LIB)\\r
 \r
 $(MODE):\r
-       @SET LIBCURL_DIROBJ=$(LIBCURL_DIROBJ)\r
+       @SET DIROBJ=$(LIBCURL_DIROBJ)
        @SET MACRO_NAME=LIBCURL_OBJS\r
        @SET OUTFILE=LIBCURL_OBJS.inc\r
        @gen_resp_file.bat $(LIBCURL_OBJS)\r
-       @SET LIBCURL_DIROBJ=$(CURL_DIROBJ)\r
+
+       @SET DIROBJ=$(CURL_DIROBJ)
        @SET MACRO_NAME=CURL_OBJS\r
        @SET OUTFILE=CURL_OBJS.inc\r
        @gen_resp_file.bat $(CURL_OBJS)\r
+
+       @SET CONFIG_NAME_LIB=$(CONFIG_NAME_LIB)
+       @SET MACHINE=$(MACHINE)
        @SET USE_IDN=$(USE_IDN)\r
        @SET USE_IPV6=$(USE_IPV6)\r
        @SET USE_SSPI=$(USE_SSPI)\r
index c5450c1144b7747da4afa8dc9b47ee46a66c99a8..9ba6291f77b6a0c878e59f9890cd795c8f326207 100644 (file)
@@ -211,9 +211,6 @@ SSPI_CFLAGS = $(SSPI_CFLAGS) /DUSE_SCHANNEL
 GEN_PDB = true\r
 !ENDIF\r
 \r
-!IFNDEF MACHINE\r
-MACHINE = X86\r
-!ENDIF\r
 \r
 !IFDEF EMBEND_MANIFEST\r
 MANIFESTTOOL = mt -manifest $(DIRDIST)\$(PROGRAM_NAME).manifest -outputresource:$(DIRDIST)\$(PROGRAM_NAME);1\r
@@ -245,7 +242,7 @@ WIN_LIBS    = ws2_32.lib wldap32.lib advapi32.lib
 !ERROR please choose a valid mode\r
 !ENDIF\r
 \r
-CONFIG_NAME_LIB = libcurl\r
+
 \r
 # CURL_XX macros are for the curl.exe command\r
 \r
@@ -255,14 +252,12 @@ CC              = $(CC_DEBUG) $(RTLIB_DEBUG)
 \r
 CURL_CC         = $(CC)\r
 CURL_RC_FLAGS = /i../include /dDEBUGBUILD=1 /Fo $@ $(CURL_SRC_DIR)\curl.rc\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-debug\r
 !ELSE\r
 RC_FLAGS = /dDEBUGBUILD=0 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc\r
 CC              = $(CC_NODEBUG) $(RTLIB)\r
 \r
 CURL_CC         = $(CC)\r
 CURL_RC_FLAGS = /i../include /dDEBUGBUILD=0 /Fo $@ $(CURL_SRC_DIR)\curl.rc\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-release\r
 !ENDIF\r
 \r
 CURL_CC = $(CURL_CC) $(CURL_CFLAGS)\r
@@ -280,7 +275,6 @@ LNK       = $(LNK)  /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP)
 CURL_LIBS = /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP)\r
 !ENDIF\r
 RESOURCE = $(LIB_DIROBJ)\libcurl.res\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-dll\r
 \r
 # AS_DLL\r
 !ELSE\r
@@ -292,7 +286,6 @@ TARGET   = $(LIB_NAME_STATIC)
 !ENDIF\r
 LNK      = $(LNKLIB) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET)\r
 CC       = $(CC) $(CFLAGS_LIBCURL_STATIC)\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-static\r
 \r
 # AS_DLL\r
 !ENDIF\r
@@ -300,38 +293,32 @@ CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-static
 !IF "$(USE_SSL)"=="true"\r
 CFLAGS = $(CFLAGS) $(SSL_CFLAGS)\r
 LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(SSL_LIBS)\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssl-$(SSL)\r
 !ENDIF\r
 \r
 !IF "$(USE_ZLIB)"=="true"\r
 CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS)\r
 LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) $(ZLIB_LIBS)\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-zlib-$(ZLIB)\r
 !ENDIF\r
 \r
 !IF "$(USE_SSH2)"=="true"\r
 CFLAGS = $(CFLAGS) $(SSH2_CFLAGS)\r
 LFLAGS = $(LFLAGS) $(SSH2_LFLAGS) $(SSH2_LIBS)\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssh2-$(SSH2)\r
 !ENDIF\r
 \r
 !IF "$(USE_IPV6)"=="true"\r
 CFLAGS = $(CFLAGS) $(IPV6_CFLAGS)\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ipv6\r
 !ENDIF\r
 \r
 !IF "$(USE_SSPI)"=="true"\r
 CFLAGS = $(CFLAGS) $(SSPI_CFLAGS)\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-sspi\r
 !ENDIF\r
 \r
 !IF "$(USE_SPNEGO)"=="true"\r
 CFLAGS = $(CFLAGS) $(SPNEGO_CFLAGS)\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-spnego\r
 !ENDIF\r
 \r
 !IF "$(USE_WINSSL)"=="true"\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-winssl\r
+#
 !ENDIF\r
 \r
 !IF "$(GEN_PDB)"=="true"\r
@@ -397,6 +384,7 @@ $(TARGET): $(LIB_OBJS) $(LIB_DIROBJ) $(DISTDIR)
        @echo LFLAGS:     $(LFLAGS)\r
        @echo GenPDB:     $(GEN_PDB)\r
        @echo Debug:      $(DEBUG)\r
+       @echo Machine:    $(MACHINE)
        $(LNK) $(LFLAGS) $(LIB_OBJS)\r
        @echo Copying libs...\r
        @if exist $(LIB_DIROBJ)\$(LIB_NAME_DLL) copy $(LIB_DIROBJ)\$(LIB_NAME_DLL)       $(DIRDIST)\bin\ /y >nul 2<&1\r
index c2fa667779ba665bf0b7d0badd1888af48612beb..d08b01edc158000af4f60c88df970553ace804e3 100755 (executable)
@@ -1,6 +1,6 @@
 @echo OFF\r
 @del %OUTFILE%\r
 @echo %MACRO_NAME% = \> %OUTFILE%\r
-@for %%i in (%*) do @echo              %LIBCURL_DIROBJ%/%%i \>>  %OUTFILE%\r
+@for %%i in (%*) do @echo              %DIROBJ%/%%i \>>  %OUTFILE%
 @echo. >>  %OUTFILE%\r
 :END\r