diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 6009ed20aa..67747498c7 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,16 @@ The license applies to all entries newer than 2009-04-28. */ +2011-02-01 22:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * contrib/hbwin/hbwin.hbp + + contrib/hbwin/oleuuid.c + ! Fixed linking Harbour OLE functions when using watcom + compiler. It also caused build errors with HB_BUILD_CONTRIB_DYN=yes. + Many thanks to Andi for suggesting the solution. + + * contrib/xhb/hbsyslog.c + * Guard cleanup. Patch from Tamas. + 2011-02-01 22:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbodbc/odbc.c ! Added workaround for OpenWatcom (1.9) missing an entry for @@ -66,9 +76,9 @@ Error! E2028: IID_IProvideClassInfo2 is an undefined reference Error! E2028: IID_IProvideClassInfo is an undefined reference Error! E2028: IID_IConnectionPointContainer is an undefined reference - Error! E2028: IID_IEnumVARIANT is an undefined reference + Error! E2028: IID_IEnumVARIANT is an undefined reference [DONE] gtwvg dll: - Error! E2028: IID_IPicture is an undefined reference + Error! E2028: IID_IPicture is an undefined reference [DONE] and hbodbc dll: Error! E2028: _SQLSetStmtAttrW@16 is an undefined reference [DONE] Any idea? diff --git a/harbour/contrib/hbwin/hbwin.hbp b/harbour/contrib/hbwin/hbwin.hbp index 18199cbedb..18effae978 100644 --- a/harbour/contrib/hbwin/hbwin.hbp +++ b/harbour/contrib/hbwin/hbwin.hbp @@ -31,6 +31,7 @@ legacyco.c legacycp.c mapi.c olecore.c +oleuuid.c{watcom} hbolesrv.c wapi_alloc.c wapi_commctrl.c diff --git a/harbour/contrib/hbwin/oleuuid.c b/harbour/contrib/hbwin/oleuuid.c new file mode 100644 index 0000000000..dd5498d3c4 --- /dev/null +++ b/harbour/contrib/hbwin/oleuuid.c @@ -0,0 +1,69 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * UUID definitions (for watcom) + * + * Copyright 2011 Viktor Szakats (harbour.01 syenar.hu) + * Copyright 2011 Andi Jahja + * www - http://harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "hbwinole.h" + +#if defined( __WATCOMC__ ) + HB_EXTERN_BEGIN + const GUID GUID_NULL = { 0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }; + const IID IID_IUnknown = { 0x00000000, 0x0000, 0x0000, { 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 } }; + const IID IID_IOleObject = { 0x00000112, 0x0000, 0x0000, { 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 } }; + const IID IID_IDispatch = { 0x00020400, 0x0000, 0x0000, { 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 } }; + const IID IID_IEnumVARIANT = { 0x00020404, 0x0000, 0x0000, { 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 } }; + const IID IID_IPicture = { 0x7bf80980, 0xbf32, 0x101a, { 0x8b, 0xbb, 0x00, 0xaa, 0x00, 0x30, 0x0c, 0xab } }; + const IID IID_IClassFactory2 = { 0xb196b28f, 0xbab4, 0x101a, { 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07 } }; + const IID IID_IProvideClassInfo = { 0xb196b283, 0xbab4, 0x101a, { 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07 } }; + const IID IID_IProvideClassInfo2 = { 0xa6bc3ac0, 0xdbaa, 0x11ce, { 0x9d, 0xe3, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51 } }; + const IID IID_IConnectionPointContainer = { 0xb196b284, 0xbab4, 0x101a, { 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07 } }; + HB_EXTERN_END +#endif diff --git a/harbour/contrib/xhb/hbsyslog.c b/harbour/contrib/xhb/hbsyslog.c index 133c5f9f38..72aee99068 100644 --- a/harbour/contrib/xhb/hbsyslog.c +++ b/harbour/contrib/xhb/hbsyslog.c @@ -16,7 +16,7 @@ static HANDLE s_RegHandle; -#elif ( defined( HB_OS_UNIX ) || defined( HB_OS_LINUX ) ) && !defined( __WATCOMC__ ) && !defined( HB_OS_VXWORKS ) +#elif defined( HB_OS_UNIX ) && !defined( __WATCOMC__ ) && !defined( HB_OS_VXWORKS ) #include