From fa633572c4865d7ee9f96f6686da64f2a1106e46 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 27 Aug 2009 18:57:07 +0000 Subject: [PATCH] 2009-08-27 20:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * INSTALL + Added new HB_INC_* values to the list. Added more information on them. Described 'no' option. + Added info on passing these config vars through cmdline. * config/global.mk + Added support to override some vars even if passed via make commandline. --- harbour/ChangeLog | 10 +++++++ harbour/INSTALL | 33 ++++++++++++++-------- harbour/config/global.mk | 59 +++++++++++++++++++++++----------------- 3 files changed, 66 insertions(+), 36 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 7e3c23cf92..8a354f3ae7 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,16 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-08-27 20:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * INSTALL + + Added new HB_INC_* values to the list. Added more + information on them. Described 'no' option. + + Added info on passing these config vars through cmdline. + + * config/global.mk + + Added support to override some vars even if passed via + make commandline. + 2009-08-27 20:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * config/bsd/gcc.mk * config/hpux/gcc.mk diff --git a/harbour/INSTALL b/harbour/INSTALL index e747f17f5a..3d581d1af2 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -187,14 +187,14 @@ HOW TO DO A PARTIAL [RE]BUILD HOW TO ENABLE OPTIONAL COMPONENTS BEFORE BUILD ============================================== - Some Harbour parts (typically contrib libraries) depend on 3rd + Certain Harbour parts (typically contrib libraries) depend on 3rd party components. To make these Harbour parts built, you need to tell Harbour where to find the required 3rd party components (typically headers). On *nix systems most of these 3rd party components will - automatically be picked up if installed on some well-known - standard system locations. + automatically be picked up if installed on well-known standard + system locations. You only need to use manual setup if the dependency isn't available on your platform on a system location, or you wish to use @@ -210,28 +210,37 @@ HOW TO ENABLE OPTIONAL COMPONENTS BEFORE BUILD HB_INC_ALLEGRO=C:\allegro\include HB_INC_BLAT=C:\blat\full\source HB_INC_CURL=C:\curl\include + HB_INC_CURSES= (on *nix systems and DJGPP, where it's autodetected) HB_INC_FIREBIRD=C:\Firebird\include HB_INC_FREEIMAGE=C:\FreeImage\Dist HB_INC_GD=C:\gd\include + HB_INC_GPM= (on Linux only) HB_INC_LIBHARU=C:\libharu\include (defaults to locally hosted version) HB_INC_LIBPNG=C:\libpng (defaults to locally hosted version on win/dos/os2) HB_INC_MYSQL=C:\mysql\include HB_INC_ODBC= (may only be needed on non-Windows systems) HB_INC_OPENSSL=C:\openssl\inc32 + HB_INC_PNG= (defaults to locally hosted version on non-*nix and Darwin systems) HB_INC_PGSQL=C:\pgsql\include HB_INC_QT=C:\Qt\include + HB_INC_SLANG= (on *nix systems) HB_INC_SQLITE3=C:\sqlite3 (defaults to locally hosted version on win/dos/os2) + HB_INC_X11= (on *nix systems) - NOTES: - You need to use native path format to your shell. + To explicitly disable any given components, use the value 'no' (without + quotes). This may be useful to avoid autodetection of installed packages + on *nix systems. + + NOTES: - You need to use native path format to your shell/OS. - Spaces in directory names aren't currently supported. - (You can use short name alias on Windows platform, though) + (You can use 8.3 name alias on Windows platform, though) - Don't put directory names inside double quotes. - Use absolute paths. Windows/Windows CE ------------------ - Some contribs support build mode in which they can be linked *statically* - with 3rd party components: + Certain contribs support build mode in which they can be linked + *statically* with 3rd party components: HB_ALLEGRO_STATIC=yes HB_QT_STATIC=yes @@ -384,7 +393,9 @@ OPTIONS AVAILABLE WHEN BUILDING HARBOUR ======================================= You can fine-tune Harbour builds with below listed - environment variables. All of these are optional. + environment variables. You can add most of these via the + GNU Make command line also, using 'make VARNAME=value' syntax. + All of these settings are optional. General ------- @@ -466,9 +477,9 @@ OPTIONS AVAILABLE WHEN BUILDING HARBOUR developer modifying grammar rules (.y). Requires GNU Bison 1.28 or upper in PATH. Default: no - - HB_CCPATH=[/] Used with non-*nix gcc family compilers to - specify path to compiler/linker/archive tool - to help them run from *nix hosts as cross-build + - HB_CCPATH=[/] Used with non-*nix gcc family compilers (and + sunpro) to specify path to compiler/linker/archive + tool to help them run from *nix hosts as cross-build tools. Ending slash must be used. - HB_CCPREFIX=[] Used with gcc family to specify compiler/linker/archive tool name prefix. diff --git a/harbour/config/global.mk b/harbour/config/global.mk index 6e8c7f0bc4..ac6a54e34d 100644 --- a/harbour/config/global.mk +++ b/harbour/config/global.mk @@ -215,13 +215,16 @@ ifeq ($(HB_INIT_DONE),) # 'clean' and 'install' are required when building a release package ifeq ($(filter clean,$(HB_MAKECMDGOALS)),) - export HB_BUILD_PKG := no + override HB_BUILD_PKG := no + export HB_BUILD_PKG else ifeq ($(filter install,$(HB_MAKECMDGOALS)),) - export HB_BUILD_PKG := no + override HB_BUILD_PKG := no + export HB_BUILD_PKG else ifneq ($(ROOT),./) - export HB_BUILD_PKG := no + override HB_BUILD_PKG := no + export HB_BUILD_PKG endif endif endif @@ -231,10 +234,14 @@ ifeq ($(HB_INIT_DONE),) endif # Enforce some basic setting for release packages - export HB_BUILD_DLL := yes - export HB_BUILD_IMPLIB := no - export HB_BUILD_OPTIM := yes - export HB_BUILD_DEBUG := no + override HB_BUILD_DLL := yes + override HB_BUILD_IMPLIB := no + override HB_BUILD_OPTIM := yes + override HB_BUILD_DEBUG := no + export HB_BUILD_DLL + export HB_BUILD_IMPLIB + export HB_BUILD_OPTIM + export HB_BUILD_DEBUG endif endif @@ -1149,13 +1156,13 @@ HB_INSTALL_PREFIX_TOP := $(subst /,$(DIRSEP),$(realpath $(TOP)$(ROOT))) ifeq ($(HB_BUILD_PKG),yes) ifeq ($(HB_INIT_DONE),) export HB_TOP := $(subst /,$(DIRSEP),$(realpath $(TOP)$(ROOT))) - HB_INSTALL_PREFIX := $(subst /,$(DIRSEP),$(abspath $(PKG_DIR)/$(HB_PKGNAME))) + override HB_INSTALL_PREFIX := $(subst /,$(DIRSEP),$(abspath $(PKG_DIR)/$(HB_PKGNAME))) - HB_BIN_INSTALL := - HB_INC_INSTALL := - HB_LIB_INSTALL := - HB_DYN_INSTALL := - HB_DOC_INSTALL := + override HB_BIN_INSTALL := + override HB_INC_INSTALL := + override HB_LIB_INSTALL := + override HB_DYN_INSTALL := + override HB_DOC_INSTALL := endif else # Fill it automatically if not specified @@ -1186,23 +1193,25 @@ else # recursive operation here. # Handle simple macros in value - HB_INSTALL_PREFIX := $(subst {hb_plat},$(HB_PLATFORM),$(HB_INSTALL_PREFIX)) - HB_INSTALL_PREFIX := $(subst {hb_comp},$(HB_COMPILER),$(HB_INSTALL_PREFIX)) - HB_INSTALL_PREFIX := $(subst {hb_cpu},$(HB_CPU),$(HB_INSTALL_PREFIX)) - HB_INSTALL_PREFIX := $(subst {hb_top},$(realpath $(TOP)$(ROOT)),$(HB_INSTALL_PREFIX)) - HB_INSTALL_PREFIX := $(subst /,$(DIRSEP),$(HB_INSTALL_PREFIX)) + override HB_INSTALL_PREFIX := $(subst {hb_plat},$(HB_PLATFORM),$(HB_INSTALL_PREFIX)) + override HB_INSTALL_PREFIX := $(subst {hb_comp},$(HB_COMPILER),$(HB_INSTALL_PREFIX)) + override HB_INSTALL_PREFIX := $(subst {hb_cpu},$(HB_CPU),$(HB_INSTALL_PREFIX)) + override HB_INSTALL_PREFIX := $(subst {hb_top},$(realpath $(TOP)$(ROOT)),$(HB_INSTALL_PREFIX)) + override HB_INSTALL_PREFIX := $(subst /,$(DIRSEP),$(HB_INSTALL_PREFIX)) endif endif export HB_INSTALL_PREFIX -ifneq ($(MAKE_381),) - ifneq ($(HB_INSTALL_PREFIX_ORI),$(HB_INSTALL_PREFIX)) - $(info ! HB_INSTALL_PREFIX automatically set to: $(HB_INSTALL_PREFIX)) - endif - ifeq ($(ROOT),./) - ifneq ($(call find_in_path,svnversion),) - $(info ! REVISION: $(shell svnversion)) +ifeq ($(HB_INIT_DONE),) + ifneq ($(MAKE_381),) + ifneq ($(HB_INSTALL_PREFIX_ORI),$(HB_INSTALL_PREFIX)) + $(info ! HB_INSTALL_PREFIX automatically set to: $(HB_INSTALL_PREFIX)) + endif + ifeq ($(ROOT),./) + ifneq ($(call find_in_path,svnversion),) + $(info ! REVISION: $(shell svnversion)) + endif endif endif endif