From 97a1be7cd139bc8fc6834d0b5e7f05ec8a19ae99 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 18 Aug 2009 11:29:40 +0000 Subject: [PATCH] 2009-08-17 13:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * config/global.mk + Added autodetection of cegcc tools on default install location. + Added error messages if specified or autodetected mingw/cegcc cross-tools couldn't be found. ! Minor cosmetic in warning/error msgs. (ending dot seems to be added by GNU Make) ; NOTE: Currently possible cross-build scenarios (except cross-CPU only cases, by host platform: on win hosts: -> wce/mingawrm -> wce/poccarm -> wce/msvcarm -> dos/djgpp -> dos/watcom (* using DOS GNU make) -> os2/watcom -> linux/watcom on dos hosts: -> win/watcom (*) -> os2/watcom (*) -> linux/watcom (*) on os2 hosts: -> win/watcom -> dos/watcom (*) -> linux/watcom (*) on linux hosts: -> wce/mingwarm -> win/mingw -> win/watcom -> dos/watcom (*) -> os2/watcom on darwin/bsd/hpux/sunos hosts: -> win/mingw (*) (*): Theoretically possible, but not heard of such build yet. * contrib/rddads/adsfunc.c + Added TOFIX to a very old typo in ADSDDREMOVETABLE() which makes it require a dummy variable to be passed as 3rd parameter. --- harbour/ChangeLog | 42 ++++++++++++++++++++++++++++++++ harbour/config/global.mk | 25 +++++++++++++------ harbour/contrib/rddads/adsfunc.c | 2 ++ 3 files changed, 62 insertions(+), 7 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index b9de9594c5..276473e334 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,48 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-08-17 13:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * config/global.mk + + Added autodetection of cegcc tools on default install location. + + Added error messages if specified or autodetected mingw/cegcc + cross-tools couldn't be found. + ! Minor cosmetic in warning/error msgs. (ending dot seems to be added + by GNU Make) + + ; NOTE: Currently possible cross-build scenarios (except cross-CPU only cases, + by host platform: + + on win hosts: + -> wce/mingawrm + -> wce/poccarm + -> wce/msvcarm + -> dos/djgpp + -> dos/watcom (* using DOS GNU make) + -> os2/watcom + -> linux/watcom + on dos hosts: + -> win/watcom (*) + -> os2/watcom (*) + -> linux/watcom (*) + on os2 hosts: + -> win/watcom + -> dos/watcom (*) + -> linux/watcom (*) + on linux hosts: + -> wce/mingwarm + -> win/mingw + -> win/watcom + -> dos/watcom (*) + -> os2/watcom + on darwin/bsd/hpux/sunos hosts: + -> win/mingw (*) + + (*): Theoretically possible, but not heard of such build yet. + + * contrib/rddads/adsfunc.c + + Added TOFIX to a very old typo in ADSDDREMOVETABLE() which + makes it require a dummy variable to be passed as 3rd parameter. + 2009-08-18 13:08 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour-win-spec * harbour/harbour.spec diff --git a/harbour/config/global.mk b/harbour/config/global.mk index 4505a4f2d4..8dd7108001 100644 --- a/harbour/config/global.mk +++ b/harbour/config/global.mk @@ -208,7 +208,7 @@ ifeq ($(HB_INIT_DONE),) endif ifeq ($(HB_BUILD_PKG),no) - $(warning ! Warning: Use 'clean install' from Harbour root directory to create a release package.) + $(warning ! Warning: Use 'clean install' from Harbour root directory to create a release package) endif # Enforce some basic setting for release packages @@ -223,7 +223,7 @@ ifeq ($(HB_INIT_DONE),) ifneq ($(MAKE_381),) # Some additional ones to be given a standard name: - # HB_HOST_BUILD [yes|all|lib] -> HB_BUILD_LIBONLY (rest is redundant and can be controlled by other means) + # HB_HOST_BUILD [yes|all|lib] -> ? # HB_XBUILD -> HB_BUILD_INCDEF # HB_WITHOUT_* -> HB_HAS_* # HB_REBUILD_PARSER -> HB_BUILD_PARSER @@ -423,10 +423,10 @@ endif # so these will have to installed by user. #ifeq ($(HB_SHELL),os2) # ifeq ($(call find_in_path,mkdir),) -# $(error ! Harbour build on OS/2 requires GNU mkdir executable in PATH. See INSTALL for more.) +# $(error ! Harbour build on OS/2 requires GNU mkdir executable in PATH. See INSTALL for more) # else # ifeq ($(call find_in_path,rm),) -# $(error ! Harbour build on OS/2 requires GNU rm executable in PATH. See INSTALL for more.) +# $(error ! Harbour build on OS/2 requires GNU rm executable in PATH. See INSTALL for more) # endif # endif #endif @@ -548,9 +548,15 @@ ifeq ($(HB_COMPILER),) ifneq ($(HB_HOST_BUILD),all) HB_HOST_BUILD := lib endif + else + $(error ! Harbour build couldn't find mingw32 cross-compiler. Please install it, or point HB_CCPATH/HB_CCPREFIX environment variables to it) endif else ifeq ($(HB_ARCHITECTURE),wce) + ifeq ($(HB_CCPATH),) + HB_CCPATH := /opt/mingw32ce/bin/ + endif + ifneq ($(call find_in_path_par,arm-wince-mingw32ce-gcc,$(HB_CCPATH)),) HB_CCPREFIX := arm-wince-mingw32ce- HB_CCPATH := $(HB_CCPATH)/ @@ -558,6 +564,9 @@ ifeq ($(HB_COMPILER),) ifneq ($(call find_in_path_par,arm-mingw32ce-gcc,$(HB_CCPATH)),) HB_CCPREFIX := arm-mingw32ce- HB_CCPATH := $(HB_CCPATH)/ + else + HB_CCPATH := + HB_CCPREFIX := endif endif ifneq ($(HB_CCPATH)$(HB_CCPREFIX),) @@ -568,6 +577,8 @@ ifeq ($(HB_COMPILER),) ifneq ($(HB_HOST_BUILD),all) HB_HOST_BUILD := lib endif + else + $(error ! Harbour build couldn't find cegcc cross-compiler. Please install it to /opt/mingw32ce, or point HB_CCPATH/HB_CCPREFIX environment variables to it) endif endif endif @@ -684,10 +695,10 @@ ifeq ($(HB_COMPILER),) endif ifeq ($(HB_ARCHITECTURE),) - $(error ! HB_ARCHICTECTURE not set, couldn't autodetect.) + $(error ! HB_ARCHICTECTURE not set, couldn't autodetect) endif ifeq ($(HB_COMPILER),) - $(error ! HB_COMPILER not set, couldn't autodetect.) + $(error ! HB_COMPILER not set, couldn't autodetect) endif ifeq ($(HB_INIT_DONE),) @@ -778,7 +789,7 @@ ifneq ($(HB_HOST_ARCH)$(HB_HOST_CPU),$(HB_ARCHITECTURE)$(HB_CPU)) HB_BIN_COMPILE := $(realpath $(HB_BIN_COMPILE)) endif ifeq ($(HB_BIN_COMPILE),) - $(warning ! Warning: HB_BIN_COMPILE not specified. Couldn't find native build.) + $(warning ! Warning: HB_BIN_COMPILE not specified. Couldn't find native build) else ifneq ($(MAKE_381),) $(info ! HB_BIN_COMPILE not specified. Automatically set to: $(HB_BIN_COMPILE)) diff --git a/harbour/contrib/rddads/adsfunc.c b/harbour/contrib/rddads/adsfunc.c index f6353ebc4d..e7e92be53f 100644 --- a/harbour/contrib/rddads/adsfunc.c +++ b/harbour/contrib/rddads/adsfunc.c @@ -1626,6 +1626,8 @@ HB_FUNC( ADSDDADDTABLE ) HB_FUNC( ADSDDREMOVETABLE ) { #if ADS_LIB_VERSION >= 600 + /* TOFIX: Due to bad and very old typo, the connection handle is + taken from 4th parameter instead of 3rd. [vszakats] */ hb_retl( AdsDDRemoveTable( HB_ADS_PARCONNECTION( 4 ) /* hConnect */, ( UNSIGNED8 * ) hb_parcx( 1 ) /* pTableName */, ( UNSIGNED16 ) ( HB_ISNUM( 2 ) ? hb_parni( 2 ) : ( HB_ISLOG( 2 ) ? hb_parl( 2 ) : 0 ) ) /* usDeleteFiles */ ) == AE_SUCCESS );