cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: VC Makefile changes/improvements

From: Yang Tse <yangsita_at_gmail.com>
Date: Fri, 17 Dec 2010 17:32:08 +0100

2010/12/17 Pierre Joye wrote:

> The attached patch slightly improve the VC Makefile (it should not
> have any functional change for existing options):

Hi Pierre,

I'll directly comment on the patch file, given that it doesn't exactly
match descriptions....

> diff --git a/lib/Makefile.vc6 b/lib/Makefile.vc6
> index 2e18e14..e026d18 100644
> --- a/lib/Makefile.vc6
> +++ b/lib/Makefile.vc6
> @@ -44,15 +44,24 @@
> #
> # Stem for static libs and DLLs
> #
> +!IFNDEF LIB_NAME
> LIB_NAME = libcurl
> -LIB_NAME_DEBUG = libcurld
> +!IFNDEF LIB_NAME_DEBUG
> +LIB_NAME_DEBUG = $(LIB_NAME)d
> +!ENDIF
> +!ENDIF
>
> #
> # Stem for DLL import libs
> #
> -IMPLIB_NAME = libcurl_imp
> -IMPLIB_NAME_DEBUG = libcurld_imp
> +!IFNDEF IMPLIB_NAME
> +IMPLIB_NAME = $(LIB_NAME)_imp
> +!IFNDEF IMPLIB_NAME_DEBUG
> +IMPLIB_NAME_DEBUG = $(LIB_NAME_DEBUG)_imp
> +!ENDIF
> +!ENDIF

If you wish to allow overriding of default 'base' libcurl library
names, then you also have to make appropriate changes to
src/Makefile.vc6, only modifying lib/Makefile.vc6 is not good enough
for general use. If you wish to improve current VC6 Makefiles with
this, please provide a separate patch for this feature.

> @@ -402,7 +449,7 @@ RESOURCE = $(DIROBJ)\libcurl.res
> #######################
> # Usage
> #
> -!IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""
> +!IF ("$(CFGSET)" == "FALSE" && "$(CFG)" != "") || "$(CFG)"== ""
> !MESSAGE Usage: nmake /f makefile.vc6 CFG=<config> <target>
> !MESSAGE where <config> is one of:
> !MESSAGE release - release static library

This prevents usage of the 'clean' target. So some damage here, if applied.

> +!IFDEF WITH_DEVEL
> !IFNDEF OPENSSL_PATH
> OPENSSL_PATH = ../../openssl-0.9.8o
> !ENDIF
> @@ -61,6 +70,7 @@ OPENSSL_PATH = ../../openssl-0.9.8o
> ZLIB_PATH = ../../zlib-1.2.5
> !ENDIF
>
> +!ENDIF

This usage, when WITH_DEVEL is defined, will only reflect a very
specific layout of installed libraries. I wonder if it is worth for
general usage. In any case, I miss a default definition there for a
LIBSSH2_PATH that would cover generic use, and easier modification for
any given path.

First provide a separate patch that addresses definition and usage of
LIBSSH2_PATH in both src/Makefile.vc6 and lib/Makefile.vc6, allowing
both release and debug configurations of whatever other specific
combination you support.

Later on, when everything is working we could reconsider the WITH_DEVEL usage.

-- 
-=[Yang]=-
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html
Received on 2010-12-17