2009-06-25 02:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
* make_gnu.bat
+ Added support for Cygwin builds (passes call to make_gnu.sh).
+ Added Cygwin build starter example.
+ Cygwin mentioned as a requirement for mingwarm builds,
also added to PATH.
! Fixed cygwin autodetection.
! Fixed wrong PATH order in 'MinGW GCC + MSYS' example.
* Merged mingw+msys and cygwin bash based build methods,
and titled as "alternate" method.
Now all supported compilers work by starting up make_gnu.bat.
* utils/hbmk2/hbmk2.prg
! Change compiler autodetection to work for cygwin.
* mpkg_dos.bat
* mpkg_win.bat
* make_gnu.bat
! Fixed build process to work in paths containing spaces.
I didn't test the batch in pure DOS, so I may have broken it.
* config/win/install.cf
* config/wce/install.cf
! Fixed 'install' to work when there is a space in install path.
* make_gnu.bat
* INSTALL
+ Added support for HB_BUILD_LOG envvar. If set to 'yes',
it will automatically set log output filename to:
'log-<arch>-<comp>.txt'
if set to 'no' it will no make any extra redirection,
if set to any other value, it will be used for output
(both std and err). The batch will set HB_BUILD_LOGFILE
to the filename used for output for processing.
This feature requires Windows NT or upper host.
I didn't enable this feature yet by default to not break
existing user setups, but maybe I'll do it before the
final release.
* Modified text shown (+ beep thrown) when build failed.
* Messages now all start with 'Harbour'.
* Do not do the second build pass if the first one failed.
* contrib/hbwin/legacy.prg
! Fixed CreateObject() not working due to typo.
Thanks to Itamar Lins for the report.
* mpkg_dos.bat
* mpkg_win.bat
* mpkg_win.nsi
+ Enabled HB_BUILD_LOG=yes.
* Silenced copy, zip, makensis commands.
+ Added message about failed build process.
* Changed to use 'copy' instead of 'xcopy'
* Changed internals so now they don't require HB_COMPILER
and HB_ARCHITECTURE to be set. This means that now
we can rely on autodetection even for mpkg_*.bat files.
Creating an installer is very easy now for most cases.
Just type:
mpkg_gnu.bat
* source/vm/set.c
+ Added file commit support to __MVSAVE(), if Set( _SET_HARDCOMMIT )
is set to .T.. This is the default which means by default we aren't
CA-Cl*pper compatible. Addition protected by HB_C52_STRICT.
* source/rdd/dbf1.c
! Minor typo in comment.
* doc/en-EN/hb_apiit.txt
* include/hbapi.h
* include/hbapiitm.h
* source/vm/itemapi.c
* source/vm/extend.c
* source/rtl/gtwvt/gtwvt.c
* source/rdd/dbf1.c
* contrib/gtqtc/gtqtc.cpp
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvggui.c
* contrib/hbwin/olecore.c
* examples/hboleold/win_ole.c
* Finishing long planned function renames to clear up
a very (10 years) old naming inconsistency.
To adapt you code to this, please do changes below:
1) hb_itemPutCPtr() (with three parameters) -> hb_itemPutCLPtr()
2) hb_itemPutCPtr2() -> hb_itemPutCPtr()
Unmodified code will generate compile time errors, so it's easy
to spot where the modifications need to be done. For most users,
only case 1) will need to be dealt with.
; INCOMPATIBLE. Please update your code.
* source/rtl/hbi18n1.c
* source/rdd/dbfnsx/dbfnsx1.c
* hb_itemPutCPtr() (with three parameters) -> hb_itemPutCLPtr()
* contrib/gtwvg/wvggui.c
* contrib/gtqtc/gtqtc.cpp
! Fixed GPF in hb_gtInfo( HB_GTI_SCREENSIZE ) call with wrong
parameter.
This commit is contained in:
@@ -17,6 +17,106 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2009-06-25 02:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* INSTALL
|
||||
* make_gnu.bat
|
||||
+ Added support for Cygwin builds (passes call to make_gnu.sh).
|
||||
+ Added Cygwin build starter example.
|
||||
+ Cygwin mentioned as a requirement for mingwarm builds,
|
||||
also added to PATH.
|
||||
! Fixed cygwin autodetection.
|
||||
! Fixed wrong PATH order in 'MinGW GCC + MSYS' example.
|
||||
* Merged mingw+msys and cygwin bash based build methods,
|
||||
and titled as "alternate" method.
|
||||
Now all supported compilers work by starting up make_gnu.bat.
|
||||
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
! Change compiler autodetection to work for cygwin.
|
||||
|
||||
* mpkg_dos.bat
|
||||
* mpkg_win.bat
|
||||
* make_gnu.bat
|
||||
! Fixed build process to work in paths containing spaces.
|
||||
I didn't test the batch in pure DOS, so I may have broken it.
|
||||
|
||||
* config/win/install.cf
|
||||
* config/wce/install.cf
|
||||
! Fixed 'install' to work when there is a space in install path.
|
||||
|
||||
* make_gnu.bat
|
||||
* INSTALL
|
||||
+ Added support for HB_BUILD_LOG envvar. If set to 'yes',
|
||||
it will automatically set log output filename to:
|
||||
'log-<arch>-<comp>.txt'
|
||||
if set to 'no' it will no make any extra redirection,
|
||||
if set to any other value, it will be used for output
|
||||
(both std and err). The batch will set HB_BUILD_LOGFILE
|
||||
to the filename used for output for processing.
|
||||
This feature requires Windows NT or upper host.
|
||||
I didn't enable this feature yet by default to not break
|
||||
existing user setups, but maybe I'll do it before the
|
||||
final release.
|
||||
* Modified text shown (+ beep thrown) when build failed.
|
||||
* Messages now all start with 'Harbour'.
|
||||
* Do not do the second build pass if the first one failed.
|
||||
|
||||
* contrib/hbwin/legacy.prg
|
||||
! Fixed CreateObject() not working due to typo.
|
||||
Thanks to Itamar Lins for the report.
|
||||
|
||||
* mpkg_dos.bat
|
||||
* mpkg_win.bat
|
||||
* mpkg_win.nsi
|
||||
+ Enabled HB_BUILD_LOG=yes.
|
||||
* Silenced copy, zip, makensis commands.
|
||||
+ Added message about failed build process.
|
||||
* Changed to use 'copy' instead of 'xcopy'
|
||||
* Changed internals so now they don't require HB_COMPILER
|
||||
and HB_ARCHITECTURE to be set. This means that now
|
||||
we can rely on autodetection even for mpkg_*.bat files.
|
||||
Creating an installer is very easy now for most cases.
|
||||
Just type:
|
||||
mpkg_gnu.bat
|
||||
|
||||
* source/vm/set.c
|
||||
+ Added file commit support to __MVSAVE(), if Set( _SET_HARDCOMMIT )
|
||||
is set to .T.. This is the default which means by default we aren't
|
||||
CA-Cl*pper compatible. Addition protected by HB_C52_STRICT.
|
||||
|
||||
* source/rdd/dbf1.c
|
||||
! Minor typo in comment.
|
||||
|
||||
* doc/en-EN/hb_apiit.txt
|
||||
* include/hbapi.h
|
||||
* include/hbapiitm.h
|
||||
* source/vm/itemapi.c
|
||||
* source/vm/extend.c
|
||||
* source/rtl/gtwvt/gtwvt.c
|
||||
* source/rdd/dbf1.c
|
||||
* contrib/gtqtc/gtqtc.cpp
|
||||
* contrib/gtwvg/gtwvg.c
|
||||
* contrib/gtwvg/wvggui.c
|
||||
* contrib/hbwin/olecore.c
|
||||
* examples/hboleold/win_ole.c
|
||||
* Finishing long planned function renames to clear up
|
||||
a very (10 years) old naming inconsistency.
|
||||
To adapt you code to this, please do changes below:
|
||||
1) hb_itemPutCPtr() (with three parameters) -> hb_itemPutCLPtr()
|
||||
2) hb_itemPutCPtr2() -> hb_itemPutCPtr()
|
||||
Unmodified code will generate compile time errors, so it's easy
|
||||
to spot where the modifications need to be done. For most users,
|
||||
only case 1) will need to be dealt with.
|
||||
; INCOMPATIBLE. Please update your code.
|
||||
|
||||
* source/rtl/hbi18n1.c
|
||||
* source/rdd/dbfnsx/dbfnsx1.c
|
||||
* hb_itemPutCPtr() (with three parameters) -> hb_itemPutCLPtr()
|
||||
|
||||
* contrib/gtwvg/wvggui.c
|
||||
* contrib/gtqtc/gtqtc.cpp
|
||||
! Fixed GPF in hb_gtInfo( HB_GTI_SCREENSIZE ) call with wrong
|
||||
parameter.
|
||||
|
||||
2009-06-26 02:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/include/hbvm.h
|
||||
* harbour/include/hbrdddbf.h
|
||||
|
||||
@@ -51,7 +51,7 @@ HOW TO BUILD AND INSTALL HARBOUR FROM SOURCE
|
||||
3.) GNU Make is included in the source package. No configuration
|
||||
is needed.
|
||||
|
||||
> set HB_COMPILER=<mingw|msvc|watcom|bcc|pocc|...>
|
||||
> set HB_COMPILER=<mingw|msvc|watcom|bcc|pocc|cygwin|...>
|
||||
> set HB_INSTALL_PREFIX=<DIR>
|
||||
> make_gnu.bat install
|
||||
|
||||
@@ -67,12 +67,11 @@ HOW TO BUILD AND INSTALL HARBOUR FROM SOURCE
|
||||
results will be created under the current directory tree.
|
||||
- With mingw, sh.exe (part of MSYS) mustn't be in the PATH.
|
||||
|
||||
Windows with MinGW + MSYS
|
||||
-------------------------
|
||||
(for plain MinGW *without* MSYS, which is the recommended way: see above)
|
||||
Windows with MinGW + MSYS or Cygwin
|
||||
-----------------------------------
|
||||
|
||||
Make sure to have MSYS and MinGW properly configured.
|
||||
MSYS should be put in PATH *before* MinGW.
|
||||
This is an *alternative build method* using bash script directly.
|
||||
For the primary and recommended method: see above
|
||||
|
||||
> set HB_INSTALL_PREFIX=<DIR>
|
||||
> sh make_gnu.sh install
|
||||
@@ -82,19 +81,9 @@ HOW TO BUILD AND INSTALL HARBOUR FROM SOURCE
|
||||
> hello
|
||||
You should see 'Hello world!' on screen.
|
||||
|
||||
Windows with Cygwin
|
||||
-------------------
|
||||
Make sure to have Cygwin properly configured.
|
||||
|
||||
> set HB_INSTALL_PREFIX=<DIR>
|
||||
> sh make_gnu.sh install
|
||||
|
||||
To test it, go to <DIR>/bin directory and type:
|
||||
> hbmk2 ../tests/hello.prg
|
||||
> hello
|
||||
You should see 'Hello world!' on screen.
|
||||
|
||||
NOTE: <DIR> should use Cygwin drive notation: /cygdrive/c for C:
|
||||
NOTES: - With mingw, MSYS must be in PATH *before* MinGW.
|
||||
- With cygwin, <DIR> should use Cygwin drive
|
||||
notation: /cygdrive/c for C:
|
||||
|
||||
DOS
|
||||
---
|
||||
@@ -269,7 +258,12 @@ OPTIONS AVAILABLE WHEN BUILDING HARBOUR
|
||||
- HB_REBUILD_PARSER=yes To rebuild the language parsers. Typically
|
||||
you only need this if your are Harbour core
|
||||
developer modifying the parser.
|
||||
This requires GNU Bison 1.28 or upper.
|
||||
This requires GNU Bison 1.28 or upper in PATH.
|
||||
- HB_BUILD_LOG=[yes|no|<f>] Send stdout and stderr build outputs to <f>
|
||||
file. Leave it as it is if set to 'no' or left
|
||||
empty. 'yes' will output to an automatically
|
||||
formed filename, which you can retrieve from
|
||||
HB_BUILD_LOGFILE envvar.
|
||||
|
||||
Cross building
|
||||
--------------
|
||||
@@ -357,8 +351,7 @@ EXAMPLES
|
||||
---
|
||||
|
||||
--- MinGW GCC + MSYS
|
||||
set PATH=C:\msys\1.0.11\bin;%PATH%
|
||||
set PATH=C:\mingw\bin;%PATH%
|
||||
set PATH=C:\msys\1.0.11\bin;C:\mingw\bin;%PATH%
|
||||
rem
|
||||
set HB_COMPILER=mingw
|
||||
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
||||
@@ -377,8 +370,8 @@ EXAMPLES
|
||||
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
||||
---
|
||||
|
||||
--- MinGW GCC for WinCE/ARM (requires native x86 Harbour binaries)
|
||||
set PATH=C:\mingwce\opt\mingw32ce\bin;%PATH%
|
||||
--- MinGW GCC for WinCE/ARM (requires native x86 Harbour binaries + Cygwin)
|
||||
set PATH=C:\mingwce\opt\mingw32ce\bin;C:\cygwin\bin;%PATH%
|
||||
rem
|
||||
set HB_BIN_COMPILE=C:\hb-mingw\bin
|
||||
set HB_PPGEN_PATH=%HB_BIN_COMPILE%
|
||||
@@ -390,6 +383,14 @@ EXAMPLES
|
||||
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
||||
---
|
||||
|
||||
--- Cygwin GCC
|
||||
set PATH=C:\cygwin\bin
|
||||
rem
|
||||
set HB_COMPILER=cygwin
|
||||
set HB_INSTALL_PREFIX=C:\hb-%HB_COMPILER%
|
||||
call make_gnu.bat %1 %2 > log-%HB_COMPILER%.txt 2>&1
|
||||
---
|
||||
|
||||
--- Open Watcom C++
|
||||
SET WATCOM=C:\watcom
|
||||
SET PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%
|
||||
@@ -517,7 +518,7 @@ EXAMPLES
|
||||
rem ; To create installation packages (.exe + .zip),
|
||||
rem replace last line (calling make_gnu.bat) with these two:
|
||||
set HB_DIR_NSIS=%ProgramFiles%\NSIS\
|
||||
call mpkg_win.bat > log-%HB_COMPILER%.txt 2>&1
|
||||
call mpkg_win.bat
|
||||
-->8--
|
||||
|
||||
DOS
|
||||
@@ -558,8 +559,8 @@ EXAMPLES
|
||||
--8<--
|
||||
rem ; To create installation packages (.zip),
|
||||
rem replace last line (calling make_gnu.bat) with this one:
|
||||
rem (this will only work when using Windows host)
|
||||
call mpkg_dos.bat > log-%HB_COMPILER%.txt 2>&1
|
||||
rem (this will only work when using Windows NT or upper host)
|
||||
call mpkg_dos.bat
|
||||
-->8--
|
||||
|
||||
OS/2
|
||||
|
||||
@@ -15,7 +15,7 @@ INSTALL_LIST = $(subst /,\,$(INSTALL_OBJS))
|
||||
ifeq ($(CMD_EXE),yes)
|
||||
# cmd.exe no command line size limit
|
||||
INSTALL_RULE = \
|
||||
-$(COMSPEC) /c for %f in ($(INSTALL_LIST)) do copy %f $(subst /,\,$(INSTALL_DIR))
|
||||
-$(COMSPEC) /c for %%f in ($(INSTALL_LIST)) do copy "%%f" "$(subst /,\,$(INSTALL_DIR))"
|
||||
else
|
||||
# We have to use script to overcome the DOS limit of max 128 characters
|
||||
# NOTE: The empty line directly before 'endef' HAVE TO exist!
|
||||
|
||||
@@ -15,7 +15,7 @@ INSTALL_LIST = $(subst /,\,$(INSTALL_OBJS))
|
||||
ifeq ($(CMD_EXE),yes)
|
||||
# cmd.exe no command line size limit
|
||||
INSTALL_RULE = \
|
||||
-$(COMSPEC) /c for %f in ($(INSTALL_LIST)) do copy %f $(subst /,\,$(INSTALL_DIR))
|
||||
-$(COMSPEC) /c for %%f in ($(INSTALL_LIST)) do copy "%%f" "$(subst /,\,$(INSTALL_DIR))"
|
||||
else
|
||||
# We have to use script to overcome the DOS limit of max 128 characters
|
||||
# NOTE: The empty line directly before 'endef' HAVE TO exist!
|
||||
|
||||
@@ -1023,7 +1023,7 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo )
|
||||
case HB_GTI_WINTITLE:
|
||||
if( pWVT->qWnd )
|
||||
{
|
||||
pInfo->pResult = hb_itemPutCPtr2( pInfo->pResult, pWVT->qWnd->windowTitle().toLatin1().data() );
|
||||
pInfo->pResult = hb_itemPutCPtr( pInfo->pResult, pWVT->qWnd->windowTitle().toLatin1().data() );
|
||||
if( hb_itemType( pInfo->pNewVal ) & HB_IT_STRING )
|
||||
pWVT->qWnd->setWindowTitle( hb_itemGetCPtr( pInfo->pNewVal ) );
|
||||
}
|
||||
@@ -1100,21 +1100,24 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo )
|
||||
int iX, iY;
|
||||
|
||||
if( !pInfo->pResult )
|
||||
{
|
||||
pInfo->pResult = hb_itemNew( NULL );
|
||||
}
|
||||
|
||||
hb_arrayNew( pInfo->pResult, 2 );
|
||||
hb_arraySetNI( pInfo->pResult, 2, pWVT->PTEXTSIZE.y() * pWVT->ROWS );
|
||||
hb_arraySetNI( pInfo->pResult, 1, pWVT->PTEXTSIZE.x() * pWVT->COLS );
|
||||
iY = hb_arrayGetNI( pInfo->pNewVal,2 );
|
||||
iX = hb_arrayGetNI( pInfo->pNewVal,1 );
|
||||
|
||||
if( iY > 0 )
|
||||
if( ( hb_itemType( pInfo->pNewVal ) & HB_IT_ARRAY ) && hb_arrayLen( pInfo->pNewVal ) == 2 )
|
||||
{
|
||||
bool bOldCentre = pWVT->CenterWindow;
|
||||
pWVT->CenterWindow = pWVT->bMaximized ? TRUE : FALSE;
|
||||
HB_GTSELF_SETMODE( pGT, ( USHORT ) ( iY / pWVT->PTEXTSIZE.y() ), ( USHORT ) ( iX / pWVT->PTEXTSIZE.x() ) );
|
||||
pWVT->CenterWindow = bOldCentre;
|
||||
iY = hb_arrayGetNI( pInfo->pNewVal,2 );
|
||||
iX = hb_arrayGetNI( pInfo->pNewVal,1 );
|
||||
|
||||
if( iY > 0 )
|
||||
{
|
||||
bool bOldCentre = pWVT->CenterWindow;
|
||||
pWVT->CenterWindow = pWVT->bMaximized ? TRUE : FALSE;
|
||||
HB_GTSELF_SETMODE( pGT, ( USHORT ) ( iY / pWVT->PTEXTSIZE.y() ), ( USHORT ) ( iX / pWVT->PTEXTSIZE.x() ) );
|
||||
pWVT->CenterWindow = bOldCentre;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -2765,5 +2768,3 @@ static LRESULT CALLBACK hb_gt_wvt_WndProc( HWND hWnd, UINT message, WPARAM wPara
|
||||
}
|
||||
#endif
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
|
||||
|
||||
@@ -2999,7 +2999,7 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo )
|
||||
{
|
||||
char * szTitle = NULL;
|
||||
if( hb_gt_wvt_GetWindowTitle( pWVT->hWnd, &szTitle ) )
|
||||
pInfo->pResult = hb_itemPutCPtr2( pInfo->pResult, szTitle );
|
||||
pInfo->pResult = hb_itemPutCPtr( pInfo->pResult, szTitle );
|
||||
else
|
||||
pInfo->pResult = hb_itemPutC( pInfo->pResult, NULL );
|
||||
if( hb_itemType( pInfo->pNewVal ) & HB_IT_STRING )
|
||||
@@ -3011,7 +3011,7 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo )
|
||||
pInfo->pResult = hb_itemPutNI( pInfo->pResult, pWVT->CodePage );
|
||||
if( hb_itemType( pInfo->pNewVal ) & HB_IT_NUMERIC )
|
||||
{
|
||||
iVal = hb_itemGetNI( pInfo->pNewVal );
|
||||
iVal = hb_itemGetNI( pInfo->pNewVal );
|
||||
if( iVal != pWVT->CodePage )
|
||||
{
|
||||
if( !pWVT->hWnd )
|
||||
|
||||
@@ -1630,7 +1630,7 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo )
|
||||
{
|
||||
char * szTitle = NULL;
|
||||
if( hb_gt_wvt_GetWindowTitle( pWVT->hWnd, &szTitle ) )
|
||||
pInfo->pResult = hb_itemPutCPtr2( pInfo->pResult, szTitle );
|
||||
pInfo->pResult = hb_itemPutCPtr( pInfo->pResult, szTitle );
|
||||
else
|
||||
pInfo->pResult = hb_itemPutC( pInfo->pResult, NULL );
|
||||
if( hb_itemType( pInfo->pNewVal ) & HB_IT_STRING )
|
||||
@@ -1776,12 +1776,13 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo )
|
||||
GetClientRect( pWVT->hWnd, &rc );
|
||||
|
||||
if( !pInfo->pResult )
|
||||
{
|
||||
pInfo->pResult = hb_itemNew( NULL );
|
||||
}
|
||||
|
||||
hb_arrayNew( pInfo->pResult, 2 );
|
||||
hb_arraySetNI( pInfo->pResult, 2, rc.bottom - rc.top );
|
||||
hb_arraySetNI( pInfo->pResult, 1, rc.right - rc.left );
|
||||
|
||||
if( ( hb_itemType( pInfo->pNewVal ) & HB_IT_ARRAY ) && hb_arrayLen( pInfo->pNewVal ) == 2 )
|
||||
{
|
||||
int iX, iY;
|
||||
iY = hb_arrayGetNI( pInfo->pNewVal,2 );
|
||||
|
||||
@@ -110,7 +110,7 @@ METHOD New( xOle, cClass ) CLASS TOLEAUTO
|
||||
ENDIF
|
||||
ELSEIF ISCHARACTER( xOle )
|
||||
hOle := __OleCreateObject( xOle )
|
||||
IF Empty( hOle )
|
||||
IF ! Empty( hOle )
|
||||
::__hObj := hOle
|
||||
::cClassName := xOle
|
||||
ELSE
|
||||
|
||||
@@ -294,7 +294,7 @@ void hb_oleVariantToItem( PHB_ITEM pItem, VARIANT* pVariant )
|
||||
case VT_BSTR:
|
||||
{
|
||||
char* szString = WideToAnsi( pVariant->n1.n2.n3.bstrVal );
|
||||
hb_itemPutCPtr2( pItem, szString );
|
||||
hb_itemPutCPtr( pItem, szString );
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -602,11 +602,11 @@ HB_FUNC( __OLEENUMCREATE ) /* ( __hObj ) */
|
||||
if( lOleError == S_OK )
|
||||
{
|
||||
if( variant.n1.n2.vt == VT_UNKNOWN )
|
||||
lOleError = HB_VTBL( variant.n1.n2.n3.punkVal )->QueryInterface(
|
||||
lOleError = HB_VTBL( variant.n1.n2.n3.punkVal )->QueryInterface(
|
||||
HB_THIS_( variant.n1.n2.n3.punkVal )
|
||||
HB_ID_REF( IID_IEnumVARIANT ), ( void** ) ( void * ) &pEnum );
|
||||
else if( variant.n1.n2.vt == VT_DISPATCH )
|
||||
lOleError = HB_VTBL( variant.n1.n2.n3.pdispVal )->QueryInterface(
|
||||
lOleError = HB_VTBL( variant.n1.n2.n3.pdispVal )->QueryInterface(
|
||||
HB_THIS_( variant.n1.n2.n3.pdispVal )
|
||||
HB_ID_REF( IID_IEnumVARIANT ), ( void** ) ( void * ) &pEnum );
|
||||
else
|
||||
@@ -689,7 +689,7 @@ HB_FUNC( WIN_OLEERRORTEXT )
|
||||
case DISP_E_TYPEMISMATCH: hb_retc_const( "DISP_E_TYPEMISMATCH" ); break;
|
||||
case DISP_E_UNKNOWNINTERFACE: hb_retc_const( "DISP_E_UNKNOWNINTERFACE" ); break;
|
||||
case DISP_E_PARAMNOTOPTIONAL: hb_retc_const( "DISP_E_PARAMNOTOPTIONAL" ); break;
|
||||
default:
|
||||
default:
|
||||
{
|
||||
char buf[ 16 ];
|
||||
|
||||
@@ -762,7 +762,7 @@ HB_FUNC( WIN_OLEAUTO___ONERROR )
|
||||
/* Try property get and invoke */
|
||||
|
||||
pMemberArray = szMethodWide;
|
||||
lOleError = HB_VTBL( pDisp )->GetIDsOfNames( HB_THIS_( pDisp ) HB_ID_REF( IID_NULL ),
|
||||
lOleError = HB_VTBL( pDisp )->GetIDsOfNames( HB_THIS_( pDisp ) HB_ID_REF( IID_NULL ),
|
||||
&pMemberArray, 1, LOCALE_USER_DEFAULT, &dispid );
|
||||
hb_xfree( szMethodWide );
|
||||
|
||||
|
||||
@@ -947,7 +947,7 @@
|
||||
|
||||
/* $DOC$
|
||||
* $FUNCNAME$
|
||||
* hb_itemPutCPtr2()
|
||||
* hb_itemPutCPtr()
|
||||
* $CATEGORY$
|
||||
* Item API
|
||||
* $ONELINER$
|
||||
@@ -956,7 +956,7 @@
|
||||
* C Prototype
|
||||
*
|
||||
* #include <hbapiitm.h>
|
||||
* hb_itemPutCPtr2( PHB_ITEM pItem, char * szText ) --> ( PHB_ITEM )pResult
|
||||
* hb_itemPutCPtr( PHB_ITEM pItem, char * szText ) --> ( PHB_ITEM )pResult
|
||||
* $ARGUMENTS$
|
||||
* <pItem>
|
||||
*
|
||||
@@ -2074,4 +2074,3 @@
|
||||
*
|
||||
* $END$
|
||||
*/
|
||||
|
||||
|
||||
@@ -718,12 +718,12 @@ static void FreeParams( DISPPARAMS *pDispParams, PHB_ITEM *aPrgParams )
|
||||
case VT_BYREF | VT_BSTR:
|
||||
SysFreeString( *pVariant->n1.n2.n3.pbstrVal );
|
||||
sString = hb_oleWideToAnsi( *( pVariant->n1.n2.n3.pbstrVal ) );
|
||||
hb_itemPutCPtr2( pItem, sString );
|
||||
hb_itemPutCPtr( pItem, sString );
|
||||
break;
|
||||
|
||||
case VT_BSTR:
|
||||
sString = hb_oleWideToAnsi( pVariant->n1.n2.n3.bstrVal );
|
||||
hb_itemPutCPtr2( pItem, sString );
|
||||
hb_itemPutCPtr( pItem, sString );
|
||||
break;
|
||||
|
||||
case VT_BYREF | VT_BOOL:
|
||||
@@ -1033,7 +1033,7 @@ HRESULT hb_oleVariantToItem( PHB_ITEM pItem, VARIANT *pVariant )
|
||||
sString = hb_oleWideToAnsi( pVariant->n1.n2.n3.bstrVal );
|
||||
|
||||
if( sString )
|
||||
hb_itemPutCPtr2( pItem, sString );
|
||||
hb_itemPutCPtr( pItem, sString );
|
||||
else
|
||||
hb_itemPutC( pItem, NULL );
|
||||
|
||||
|
||||
@@ -697,7 +697,7 @@ extern HB_EXPORT void hb_retnlllen( LONGLONG lNumber, int iWidth ); /* returns
|
||||
#define hb_reta( ulLen ) hb_arrayNew( hb_stackReturnItem(), ulLen )
|
||||
#define hb_retc( szText ) hb_itemPutC( hb_stackReturnItem(), szText )
|
||||
#define hb_retc_null() hb_itemPutC( hb_stackReturnItem(), NULL )
|
||||
#define hb_retc_buffer( szText ) hb_itemPutCPtr2( hb_stackReturnItem(), szText )
|
||||
#define hb_retc_buffer( szText ) hb_itemPutCPtr( hb_stackReturnItem(), szText )
|
||||
#define hb_retc_const( szText ) hb_itemPutCConst( hb_stackReturnItem(), szText )
|
||||
#define hb_retclen( szText, ulLen ) hb_itemPutCL( hb_stackReturnItem(), szText, ulLen )
|
||||
#define hb_retclen_buffer( szText, ulLen ) hb_itemPutCLPtr( hb_stackReturnItem(), szText, ulLen )
|
||||
|
||||
@@ -110,8 +110,7 @@ extern HB_EXPORT PHB_ITEM hb_itemPutC ( PHB_ITEM pItem, const char * sz
|
||||
extern HB_EXPORT PHB_ITEM hb_itemPutCL ( PHB_ITEM pItem, const char * szText, ULONG ulLen );
|
||||
extern HB_EXPORT PHB_ITEM hb_itemPutCConst ( PHB_ITEM pItem, const char * szText );
|
||||
extern HB_EXPORT PHB_ITEM hb_itemPutCLConst( PHB_ITEM pItem, const char * szText, ULONG ulLen );
|
||||
extern HB_EXPORT PHB_ITEM hb_itemPutCPtr2 ( PHB_ITEM pItem, char * szText );
|
||||
extern HB_EXPORT PHB_ITEM hb_itemPutCPtr ( PHB_ITEM pItem, char * szText, ULONG ulLen );
|
||||
extern HB_EXPORT PHB_ITEM hb_itemPutCPtr ( PHB_ITEM pItem, char * szText );
|
||||
extern HB_EXPORT PHB_ITEM hb_itemPutCLPtr ( PHB_ITEM pItem, char * szText, ULONG ulLen );
|
||||
extern HB_EXPORT void hb_itemSetCMemo ( PHB_ITEM pItem );
|
||||
extern HB_EXPORT PHB_ITEM hb_itemPutD ( PHB_ITEM pItem, int iYear, int iMonth, int iDay );
|
||||
|
||||
@@ -34,11 +34,11 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
if "%HB_DOC_INSTALL%" == "" set HB_DOC_INSTALL=%HB_INSTALL_PREFIX%\doc
|
||||
|
||||
rem Create install dirs
|
||||
if not exist %HB_BIN_INSTALL%\*.* md %HB_BIN_INSTALL%
|
||||
if not exist %HB_LIB_INSTALL%\*.* md %HB_LIB_INSTALL%
|
||||
if not exist %HB_INC_INSTALL%\*.* md %HB_INC_INSTALL%
|
||||
if not exist %HB_DOC_INSTALL%\*.* md %HB_DOC_INSTALL%
|
||||
if not exist %HB_DOC_INSTALL%\en-EN\*.* md %HB_DOC_INSTALL%\en-EN
|
||||
if not exist "%HB_BIN_INSTALL%\*.*" md "%HB_BIN_INSTALL%"
|
||||
if not exist "%HB_LIB_INSTALL%\*.*" md "%HB_LIB_INSTALL%"
|
||||
if not exist "%HB_INC_INSTALL%\*.*" md "%HB_INC_INSTALL%"
|
||||
if not exist "%HB_DOC_INSTALL%\*.*" md "%HB_DOC_INSTALL%"
|
||||
if not exist "%HB_DOC_INSTALL%\en-EN\*.*" md "%HB_DOC_INSTALL%\en-EN"
|
||||
|
||||
goto MAKE
|
||||
|
||||
@@ -48,6 +48,7 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
if not "%OS%" == "Windows_NT" goto HELP
|
||||
|
||||
rem Order is significant
|
||||
call :COMP_DET_ONE cygstart.exe cygwin win
|
||||
call :COMP_DET_ONE gcc.exe mingw win
|
||||
call :COMP_DET_ONE wpp386.exe watcom win
|
||||
call :COMP_DET_ONE ml64.exe msvc64 win
|
||||
@@ -56,7 +57,6 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
call :COMP_DET_ONE bcc32.exe bcc win
|
||||
call :COMP_DET_ONE porc64.exe pocc64 win
|
||||
call :COMP_DET_ONE pocc.exe pocc win
|
||||
call :COMP_DET_ONE cygstart.exe cygwin win
|
||||
call :COMP_DET_ONE xcc.exe xcc win
|
||||
call :COMP_DET_ONE x86_64-w64-mingw32-gcc.exe mingw64 win x86_64-w64-mingw32-
|
||||
call :COMP_DET_ONE arm-wince-mingw32ce-gcc.exe mingwarm wce arm-wince-mingw32ce-
|
||||
@@ -64,9 +64,9 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
|
||||
if "%HB_COMPILER%" == "" ( echo HB_COMPILER couldn't be automatically determined. && goto HELP )
|
||||
|
||||
echo Autodetected HB_COMPILER: %HB_COMPILER%
|
||||
echo Autodetected HB_ARCHITECTURE: %HB_ARCHITECTURE%
|
||||
if not "%HB_CCPREFIX%" == "" echo Autodetected HB_CCPREFIX: %HB_CCPREFIX%
|
||||
echo Harbour HB_COMPILER autodetected: '%HB_COMPILER%'
|
||||
echo Harbour HB_ARCHITECTURE autodetected: '%HB_ARCHITECTURE%'
|
||||
if not "%HB_CCPREFIX%" == "" echo Harbour HB_CCPREFIX autodetected: '%HB_CCPREFIX%'
|
||||
|
||||
goto CONTINUE_MAKE
|
||||
|
||||
@@ -86,12 +86,12 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
|
||||
:BAD_ARCH
|
||||
|
||||
echo Error: HB_ARCHITECTURE is not set.
|
||||
echo Harbour: Error: HB_ARCHITECTURE not set.
|
||||
goto HELP
|
||||
|
||||
:BAD_COMP
|
||||
|
||||
echo Error: HB_COMPILER is not set.
|
||||
echo Harbour: Error: HB_COMPILER not set.
|
||||
goto HELP
|
||||
|
||||
:MAKE
|
||||
@@ -101,6 +101,20 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
set HARBOUR=
|
||||
set CLIPPER=
|
||||
|
||||
rem ---------------------------------------------------------------
|
||||
rem Setup output log
|
||||
|
||||
set _HB_BUILD_LOG=
|
||||
set HB_BUILD_LOGFILE=
|
||||
if not "%HB_BUILD_LOG%" == "" if "%OS%" == "Windows_NT" set _HB_BUILD_LOG=%HB_BUILD_LOG%
|
||||
: if "%HB_BUILD_LOG%" == "" if "%OS%" == "Windows_NT" set _HB_BUILD_LOG=log-%HB_ARCHITECTURE%-%HB_COMPILER%.txt
|
||||
if "%_HB_BUILD_LOG%" == "yes" if "%OS%" == "Windows_NT" set _HB_BUILD_LOG=log-%HB_ARCHITECTURE%-%HB_COMPILER%.txt
|
||||
if "%_HB_BUILD_LOG%" == "no" if "%OS%" == "Windows_NT" set _HB_BUILD_LOG=
|
||||
if not "%_HB_BUILD_LOG%" == "" if "%OS%" == "Windows_NT" set HB_BUILD_LOGFILE=%_HB_BUILD_LOG%
|
||||
if not "%_HB_BUILD_LOG%" == "" if "%OS%" == "Windows_NT" echo Harbour build output to: '%_HB_BUILD_LOG%'
|
||||
if not "%_HB_BUILD_LOG%" == "" if "%OS%" == "Windows_NT" if exist "%_HB_BUILD_LOG%" del "%_HB_BUILD_LOG%"
|
||||
if not "%_HB_BUILD_LOG%" == "" if "%OS%" == "Windows_NT" set _HB_BUILD_LOG=^>^> %_HB_BUILD_LOG% 2^>^&1
|
||||
|
||||
rem ---------------------------------------------------------------
|
||||
rem Detect name of GNU Make
|
||||
rem
|
||||
@@ -150,7 +164,7 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
if "%HB_COMPILER%" == "mingw" goto DO_GCC
|
||||
if "%HB_COMPILER%" == "mingw64" goto DO_GCC
|
||||
if "%HB_COMPILER%" == "mingwarm" goto DO_GCC
|
||||
if "%HB_COMPILER%" == "cygwin" goto DO_GCC
|
||||
if "%HB_COMPILER%" == "cygwin" goto DO_GCC_CYG
|
||||
|
||||
set _HB_CONTRIBLIBS=%HB_CONTRIBLIBS%
|
||||
set _HB_CONTRIB_ADDONS=%HB_CONTRIB_ADDONS%
|
||||
@@ -161,8 +175,9 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
set HB_CONTRIB_ADDONS=
|
||||
set HB_EXTERNALLIBS=no
|
||||
set HB_EXTERNAL_ADDONS=
|
||||
%_HB_MAKE% clean install %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
if errorlevel 1 echo GNU Make returned: %ERRORLEVEL%
|
||||
%_HB_MAKE% clean install %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 %_HB_BUILD_LOG%
|
||||
if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL%
|
||||
if errorlevel 1 goto MAKE_DONE
|
||||
set HB_DYNLIB=no
|
||||
set HB_CONTRIBLIBS=%_HB_CONTRIBLIBS%
|
||||
set HB_CONTRIB_ADDONS=%_HB_CONTRIB_ADDONS%
|
||||
@@ -172,21 +187,36 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
set _HB_CONTRIB_ADDONS=
|
||||
set _HB_EXTERNALLIBS=
|
||||
set _HB_EXTERNAL_ADDONS=
|
||||
%_HB_MAKE% clean install %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
if errorlevel 1 echo GNU Make returned: %ERRORLEVEL%
|
||||
%_HB_MAKE% clean install %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 %_HB_BUILD_LOG%
|
||||
if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL%
|
||||
goto MAKE_DONE
|
||||
|
||||
:DO_GCC
|
||||
|
||||
set HB_DYNLIB=no
|
||||
%_HB_MAKE% clean install %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
if errorlevel 1 echo GNU Make returned: %ERRORLEVEL%
|
||||
%_HB_MAKE% clean install %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 %_HB_BUILD_LOG%
|
||||
if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL%
|
||||
goto MAKE_DONE
|
||||
|
||||
:DO_GCC_CYG
|
||||
|
||||
set HB_DYNLIB=no
|
||||
sh make_gnu.sh clean install %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL%
|
||||
goto MAKE_DONE
|
||||
|
||||
:SKIP_WINDLL
|
||||
|
||||
%_HB_MAKE% %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
if errorlevel 1 echo GNU Make returned: %ERRORLEVEL%
|
||||
if "%HB_COMPILER%" == "cygwin" goto SKIP_WINDLL_CYG
|
||||
|
||||
%_HB_MAKE% %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 %_HB_BUILD_LOG%
|
||||
if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL%
|
||||
goto MAKE_DONE
|
||||
|
||||
:SKIP_WINDLL_CYG
|
||||
|
||||
sh make_gnu.sh %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 %_HB_BUILD_LOG%
|
||||
if errorlevel 1 echo Harbour GNU Make returned: %ERRORLEVEL%
|
||||
goto MAKE_DONE
|
||||
|
||||
:MAKE_DONE
|
||||
@@ -194,6 +224,7 @@ if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp
|
||||
set _HB_MAKE=
|
||||
set HARBOUR=%_HB_HARBOUR_OLD%
|
||||
set CLIPPER=%_HB_CLIPPER_OLD%
|
||||
set _HB_BUILD_LOG=
|
||||
set _HB_HARBOUR_OLD=
|
||||
set _HB_CLIPPER_OLD=
|
||||
goto END
|
||||
|
||||
@@ -24,50 +24,59 @@ if not "%OS%" == "Windows_NT" goto END
|
||||
setlocal
|
||||
|
||||
rem ; Basic setup
|
||||
set HB_VERSION=200
|
||||
if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=dos
|
||||
set HB_PKGNAME=hb%HB_VERSION%%HB_COMPILER:~0,2%
|
||||
set HB_DIRNAME=%HB_PKGNAME%
|
||||
set HB_VERSION=2b2
|
||||
|
||||
rem ; Dir setup
|
||||
set HB_INSTALL_BASE=%~dp0_hb_inst
|
||||
set HB_INSTALL_PREFIX=%HB_INSTALL_BASE%\%HB_DIRNAME%
|
||||
set HB_INSTALL_PREFIX=%HB_INSTALL_BASE%\_pending
|
||||
set HB_BIN_INSTALL=
|
||||
set HB_LIB_INSTALL=
|
||||
set HB_INC_INSTALL=
|
||||
set HB_DOC_INSTALL=
|
||||
|
||||
rem ; Pre-build cleanup
|
||||
if exist %HB_INSTALL_PREFIX% rmdir /q /s %HB_INSTALL_PREFIX%
|
||||
if exist "%HB_INSTALL_PREFIX%" rmdir /q /s "%HB_INSTALL_PREFIX%"
|
||||
|
||||
rem ; Option setup
|
||||
set HB_BUILD_LOG=yes
|
||||
set HB_BUILD_OPTIM=yes
|
||||
set HB_BUILD_DEBUG=no
|
||||
|
||||
rem ; Build Harbour
|
||||
call make_gnu.bat clean install
|
||||
call "%~dp0make_gnu.bat" clean install
|
||||
|
||||
if errorlevel 1 echo Harbour build returned: %ERRORLEVEL%
|
||||
rem if errorlevel 1 goto MK_ERROR
|
||||
|
||||
rem ; Final name setup
|
||||
set HB_PKGNAME=hb%HB_VERSION%%HB_COMPILER:~0,2%
|
||||
set HB_DIRNAME=%HB_PKGNAME%
|
||||
|
||||
rem ; Rename temp dir to final name
|
||||
if exist "%HB_INSTALL_BASE%\%HB_DIRNAME%" rmdir /q /s "%HB_INSTALL_BASE%\%HB_DIRNAME%"
|
||||
move "%HB_INSTALL_PREFIX%" "%HB_INSTALL_BASE%\%HB_DIRNAME%" > nul
|
||||
set HB_INSTALL_PREFIX=%HB_INSTALL_BASE%\%HB_DIRNAME%
|
||||
|
||||
rem ; Post-build installation
|
||||
xcopy /D /Y ChangeLog* "%HB_INSTALL_PREFIX%\"
|
||||
xcopy /D /Y COPYING "%HB_INSTALL_PREFIX%\"
|
||||
xcopy /D /Y ERRATA "%HB_INSTALL_PREFIX%\"
|
||||
xcopy /D /Y INSTALL "%HB_INSTALL_PREFIX%\"
|
||||
xcopy /D /Y TODO "%HB_INSTALL_PREFIX%\"
|
||||
copy /Y ChangeLog* "%HB_INSTALL_PREFIX%\" > nul
|
||||
copy /Y COPYING "%HB_INSTALL_PREFIX%\" > nul
|
||||
copy /Y ERRATA "%HB_INSTALL_PREFIX%\" > nul
|
||||
copy /Y INSTALL "%HB_INSTALL_PREFIX%\" > nul
|
||||
copy /Y TODO "%HB_INSTALL_PREFIX%\" > nul
|
||||
|
||||
rem ; Build .zip package
|
||||
if exist %HB_PKGNAME%.zip del %HB_PKGNAME%.zip
|
||||
echo Harbour .zip install package creation: '%HB_PKGNAME%.zip'
|
||||
if exist "%HB_PKGNAME%.zip" del "%HB_PKGNAME%.zip"
|
||||
pushd
|
||||
cd %HB_INSTALL_BASE%
|
||||
zip -9 -X -r -o %~dp0%HB_PKGNAME%.zip . -i %HB_DIRNAME%\*
|
||||
cd "%HB_INSTALL_BASE%"
|
||||
zip -q -9 -X -r -o "%~dp0%HB_PKGNAME%.zip" . -i "%HB_DIRNAME%\*"
|
||||
popd
|
||||
|
||||
:MK_ERROR
|
||||
|
||||
rem ; Cleanup
|
||||
if "%1" == "--deltemp" rmdir /q /s %HB_INSTALL_PREFIX%
|
||||
if "%1" == "--deltemp" rmdir /q %HB_INSTALL_BASE%
|
||||
if "%1" == "--deltemp" rmdir /q /s "%HB_INSTALL_PREFIX%"
|
||||
if "%1" == "--deltemp" rmdir /q "%HB_INSTALL_BASE%"
|
||||
|
||||
endlocal
|
||||
|
||||
|
||||
@@ -29,59 +29,69 @@ setlocal
|
||||
|
||||
rem ; Basic setup
|
||||
set HB_VERSION=2.0.0beta2
|
||||
if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=win
|
||||
set HB_PKGNAME=harbour-%HB_VERSION%-%HB_ARCHITECTURE%-%HB_COMPILER%
|
||||
set HB_DIRNAME=harbour-%HB_ARCHITECTURE%-%HB_COMPILER%
|
||||
|
||||
rem ; Dir setup
|
||||
set HB_INSTALL_BASE=%~dp0_hb_inst
|
||||
set HB_INSTALL_PREFIX=%HB_INSTALL_BASE%\%HB_DIRNAME%
|
||||
set HB_INSTALL_PREFIX=%HB_INSTALL_BASE%\_pending
|
||||
set HB_BIN_INSTALL=
|
||||
set HB_LIB_INSTALL=
|
||||
set HB_INC_INSTALL=
|
||||
set HB_DOC_INSTALL=
|
||||
|
||||
rem ; Pre-build cleanup
|
||||
if exist %HB_INSTALL_PREFIX% rmdir /q /s %HB_INSTALL_PREFIX%
|
||||
if exist "%HB_INSTALL_PREFIX%" rmdir /q /s "%HB_INSTALL_PREFIX%"
|
||||
|
||||
rem ; Option setup
|
||||
set HB_BUILD_LOG=yes
|
||||
set HB_BUILD_DLL=yes
|
||||
set HB_BUILD_OPTIM=yes
|
||||
set HB_BUILD_DEBUG=no
|
||||
set HB_BUILD_IMPLIB=no
|
||||
|
||||
rem ; Build Harbour
|
||||
call make_gnu.bat
|
||||
call "%~dp0make_gnu.bat"
|
||||
|
||||
if errorlevel 1 echo Harbour build returned: %ERRORLEVEL%
|
||||
rem if errorlevel 1 goto MK_ERROR
|
||||
|
||||
rem ; Final name setup
|
||||
set HB_PKGNAME=harbour-%HB_VERSION%-%HB_ARCHITECTURE%-%HB_COMPILER%
|
||||
set HB_DIRNAME=harbour-%HB_ARCHITECTURE%-%HB_COMPILER%
|
||||
|
||||
rem ; Rename temp dir to final name
|
||||
if exist "%HB_INSTALL_BASE%\%HB_DIRNAME%" rmdir /q /s "%HB_INSTALL_BASE%\%HB_DIRNAME%"
|
||||
move "%HB_INSTALL_PREFIX%" "%HB_INSTALL_BASE%\%HB_DIRNAME%" > nul
|
||||
set HB_INSTALL_PREFIX=%HB_INSTALL_BASE%\%HB_DIRNAME%
|
||||
|
||||
rem ; Post-build cleanup
|
||||
if exist "%HB_BIN_INSTALL%\*.tds" del "%HB_BIN_INSTALL%\*.tds"
|
||||
if exist "%HB_BIN_INSTALL%\*.lib" del "%HB_BIN_INSTALL%\*.lib"
|
||||
if exist "%HB_BIN_INSTALL%\*.exp" del "%HB_BIN_INSTALL%\*.exp"
|
||||
|
||||
rem ; Post-build installation
|
||||
xcopy /D /Y ChangeLog* "%HB_INSTALL_PREFIX%\"
|
||||
xcopy /D /Y COPYING "%HB_INSTALL_PREFIX%\"
|
||||
xcopy /D /Y ERRATA "%HB_INSTALL_PREFIX%\"
|
||||
xcopy /D /Y INSTALL "%HB_INSTALL_PREFIX%\"
|
||||
xcopy /D /Y TODO "%HB_INSTALL_PREFIX%\"
|
||||
copy /Y ChangeLog* "%HB_INSTALL_PREFIX%\" > nul
|
||||
copy /Y COPYING "%HB_INSTALL_PREFIX%\" > nul
|
||||
copy /Y ERRATA "%HB_INSTALL_PREFIX%\" > nul
|
||||
copy /Y INSTALL "%HB_INSTALL_PREFIX%\" > nul
|
||||
copy /Y TODO "%HB_INSTALL_PREFIX%\" > nul
|
||||
|
||||
rem ; Build .zip package
|
||||
if exist %HB_PKGNAME%.zip del %HB_PKGNAME%.zip
|
||||
echo Harbour .zip install package creation: '%HB_PKGNAME%.zip'
|
||||
if exist "%HB_PKGNAME%.zip" del "%HB_PKGNAME%.zip"
|
||||
pushd
|
||||
cd %HB_INSTALL_BASE%
|
||||
zip -9 -X -r -o %~dp0%HB_PKGNAME%.zip . -i %HB_DIRNAME%\*
|
||||
cd "%HB_INSTALL_BASE%"
|
||||
zip -q -9 -X -r -o "%~dp0%HB_PKGNAME%.zip" . -i "%HB_DIRNAME%\*"
|
||||
popd
|
||||
|
||||
rem ; Build installer package
|
||||
"%HB_DIR_NSIS%makensis.exe" %~dp0mpkg_win.nsi
|
||||
echo Harbour .exe install package creation: '%HB_PKGNAME%.exe'
|
||||
"%HB_DIR_NSIS%makensis.exe" /V2 "%~dp0mpkg_win.nsi"
|
||||
|
||||
:MK_ERROR
|
||||
|
||||
rem ; Cleanup
|
||||
if "%1" == "--deltemp" rmdir /q /s %HB_INSTALL_PREFIX%
|
||||
if "%1" == "--deltemp" rmdir /q %HB_INSTALL_BASE%
|
||||
if "%1" == "--deltemp" rmdir /q /s "%HB_INSTALL_PREFIX%"
|
||||
if "%1" == "--deltemp" rmdir /q "%HB_INSTALL_BASE%"
|
||||
|
||||
endlocal
|
||||
|
||||
|
||||
@@ -81,16 +81,16 @@ Section "Main components" hb_main
|
||||
File /nonfatal "$%HB_INSTALL_PREFIX%\ChangeLog*"
|
||||
|
||||
SetOutPath $INSTDIR\bin
|
||||
File "$%HB_BIN_INSTALL%\*.*"
|
||||
File "$%HB_INSTALL_PREFIX%\bin\*.*"
|
||||
|
||||
SetOutPath $INSTDIR\lib
|
||||
File "$%HB_LIB_INSTALL%\*.*"
|
||||
File /r "$%HB_INSTALL_PREFIX%\lib\*.*"
|
||||
|
||||
SetOutPath $INSTDIR\include
|
||||
File "$%HB_INC_INSTALL%\*.*"
|
||||
File "$%HB_INSTALL_PREFIX%\include\*.*"
|
||||
|
||||
SetOutPath $INSTDIR\doc
|
||||
File /r "$%HB_DOC_INSTALL%\*.*"
|
||||
File /r "$%HB_INSTALL_PREFIX%\doc\*.*"
|
||||
|
||||
; Write the installation path into the registry
|
||||
; WriteRegStr HKLM "Software\Harbour" "Install_Dir" "$INSTDIR"
|
||||
|
||||
@@ -2728,7 +2728,7 @@ static HB_ERRCODE hb_dbfClose( DBFAREAP pArea )
|
||||
SELF_WRITEDBHEADER( ( AREAP ) pArea );
|
||||
|
||||
/* It's not Clipper compatible but it reduces the problem with
|
||||
byggy Windows network setting */
|
||||
buggy Windows network setting */
|
||||
if( hb_setGetHardCommit() )
|
||||
SELF_FLUSH( ( AREAP ) pArea );
|
||||
}
|
||||
@@ -5630,7 +5630,7 @@ static HB_ERRCODE hb_dbfRddInfo( LPRDDNODE pRDD, USHORT uiIndex, ULONG ulConnect
|
||||
}
|
||||
|
||||
if( fFree && szTrigger )
|
||||
hb_itemPutCPtr2( pItem, szTrigger );
|
||||
hb_itemPutCPtr( pItem, szTrigger );
|
||||
else
|
||||
hb_itemPutC( pItem, szTrigger );
|
||||
|
||||
@@ -5652,7 +5652,7 @@ static HB_ERRCODE hb_dbfRddInfo( LPRDDNODE pRDD, USHORT uiIndex, ULONG ulConnect
|
||||
}
|
||||
else if( pData->szPendingTrigger )
|
||||
{
|
||||
hb_itemPutCPtr2( pItem, pData->szPendingTrigger );
|
||||
hb_itemPutCPtr( pItem, pData->szPendingTrigger );
|
||||
pData->szPendingTrigger = NULL;
|
||||
}
|
||||
else
|
||||
@@ -5672,7 +5672,7 @@ static HB_ERRCODE hb_dbfRddInfo( LPRDDNODE pRDD, USHORT uiIndex, ULONG ulConnect
|
||||
}
|
||||
|
||||
if( fFree && szPasswd )
|
||||
hb_itemPutCPtr2( pItem, szPasswd );
|
||||
hb_itemPutCPtr( pItem, szPasswd );
|
||||
else
|
||||
hb_itemPutC( pItem, szPasswd );
|
||||
|
||||
@@ -5694,7 +5694,7 @@ static HB_ERRCODE hb_dbfRddInfo( LPRDDNODE pRDD, USHORT uiIndex, ULONG ulConnect
|
||||
}
|
||||
else if( pData->szPendingPasswd )
|
||||
{
|
||||
hb_itemPutCPtr2( pItem, pData->szPendingPasswd );
|
||||
hb_itemPutCPtr( pItem, pData->szPendingPasswd );
|
||||
pData->szPendingPasswd = NULL;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -727,7 +727,7 @@ static PHB_ITEM hb_nsxKeyGetItem( PHB_ITEM pItem, LPKEYINFO pKey,
|
||||
pVal[ pTag->KeyLength ] = '\0';
|
||||
hb_cdpnTranslate( pVal, pTag->pIndex->pArea->cdPage, hb_vmCDP(),
|
||||
pTag->KeyLength );
|
||||
pItem = hb_itemPutCPtr( pItem, pVal, pTag->KeyLength );
|
||||
pItem = hb_itemPutCLPtr( pItem, pVal, pTag->KeyLength );
|
||||
}
|
||||
else
|
||||
#else
|
||||
|
||||
@@ -2301,7 +2301,7 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo )
|
||||
{
|
||||
char * szTitle = NULL;
|
||||
if( hb_gt_wvt_GetWindowTitle( pWVT->hWnd, &szTitle ) )
|
||||
pInfo->pResult = hb_itemPutCPtr2( pInfo->pResult, szTitle );
|
||||
pInfo->pResult = hb_itemPutCPtr( pInfo->pResult, szTitle );
|
||||
else
|
||||
pInfo->pResult = hb_itemPutC( pInfo->pResult, NULL );
|
||||
if( hb_itemType( pInfo->pNewVal ) & HB_IT_STRING )
|
||||
|
||||
@@ -218,7 +218,7 @@ static PHB_ITEM hb_i18n_pluralexp_compile( PHB_ITEM pExp )
|
||||
memcpy( &szMacro[ 4 ], hb_itemGetCPtr( pExp ), ulLen );
|
||||
szMacro[ 4 + ulLen ] = '}';
|
||||
szMacro[ 5 + ulLen ] = '\0';
|
||||
pMacro = hb_itemPutCPtr( NULL, szMacro, ulLen );
|
||||
pMacro = hb_itemPutCLPtr( NULL, szMacro, ulLen );
|
||||
szType = hb_macroGetType( pMacro );
|
||||
if( *szType == 'B' )
|
||||
{
|
||||
|
||||
@@ -1262,7 +1262,7 @@ void hb_retc_buffer( char * szText )
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_retc_buffer(%s)", szText));
|
||||
|
||||
hb_itemPutCPtr2( hb_stackReturnItem(), szText );
|
||||
hb_itemPutCPtr( hb_stackReturnItem(), szText );
|
||||
}
|
||||
|
||||
#undef hb_retc_const
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
* hb_itemGetDL()
|
||||
* hb_itemGetNI()
|
||||
* hb_itemGetCPtr()
|
||||
* hb_itemGetCLPtr()
|
||||
* hb_itemGetCLen()
|
||||
* hb_itemGetNLen()
|
||||
* hb_itemPutCConst()
|
||||
@@ -347,11 +348,11 @@ PHB_ITEM hb_itemPutCLConst( PHB_ITEM pItem, const char * szText, ULONG ulLen )
|
||||
return pItem;
|
||||
}
|
||||
|
||||
PHB_ITEM hb_itemPutCPtr2( PHB_ITEM pItem, char * szText )
|
||||
PHB_ITEM hb_itemPutCPtr( PHB_ITEM pItem, char * szText )
|
||||
{
|
||||
ULONG ulLen;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_itemPutCPtr2(%p, %s)", pItem, szText));
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_itemPutCPtr(%p, %s)", pItem, szText));
|
||||
|
||||
if( pItem )
|
||||
{
|
||||
@@ -387,11 +388,6 @@ PHB_ITEM hb_itemPutCPtr2( PHB_ITEM pItem, char * szText )
|
||||
return pItem;
|
||||
}
|
||||
|
||||
PHB_ITEM hb_itemPutCPtr( PHB_ITEM pItem, char * szText, ULONG ulLen )
|
||||
{
|
||||
return hb_itemPutCLPtr( pItem, szText, ulLen );
|
||||
}
|
||||
|
||||
PHB_ITEM hb_itemPutCLPtr( PHB_ITEM pItem, char * szText, ULONG ulLen )
|
||||
{
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_itemPutCLPtr(%p, %s, %lu)", pItem, szText, ulLen));
|
||||
|
||||
@@ -1514,6 +1514,13 @@ HB_FUNC( __MVSAVE )
|
||||
buffer[ 0 ] = '\x1A';
|
||||
hb_fsWrite( fhnd, buffer, 1 );
|
||||
|
||||
/* NOTE: Here, we're not CA-Cl*pper compatible by default settings.
|
||||
[vszakats] */
|
||||
#ifndef HB_C52_STRICT
|
||||
if( hb_setGetHardCommit() )
|
||||
hb_fsCommit( fhnd );
|
||||
#endif
|
||||
|
||||
hb_fsClose( fhnd );
|
||||
}
|
||||
|
||||
|
||||
@@ -978,7 +978,8 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
CASE hbmk[ _HBMK_cARCH ] == "win"
|
||||
/* Order is significant.
|
||||
watcom also keeps a cl.exe in its binary dir. */
|
||||
aCOMPDET := { { {|| FindInPath( hbmk[ _HBMK_cCCPREFIX ] + "gcc" ) }, "mingw" },;
|
||||
aCOMPDET := { { {|| FindInPath( "cygstart" ) }, "cygwin" },;
|
||||
{ {|| FindInPath( hbmk[ _HBMK_cCCPREFIX ] + "gcc" ) }, "mingw" },;
|
||||
{ {|| iif( ! Empty( GetEnv( "WATCOM" ) ),;
|
||||
FindInPath( "wpp386" ),;
|
||||
NIL ) }, "watcom" },;
|
||||
@@ -991,7 +992,6 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
|
||||
{ {|| FindInPath( "pocc" ) }, "pocc" },;
|
||||
{ {|| iif( ( tmp1 := FindInPath( "icl" ) ) != NIL .AND. "itanium" $ Lower( tmp1 ), tmp1, NIL ) }, "iccia64" },;
|
||||
{ {|| FindInPath( "icl" ) }, "icc" },;
|
||||
{ {|| FindInPath( "cygstart" ) }, "cygwin" },;
|
||||
{ {|| FindInPath( "xcc" ) }, "xcc" },;
|
||||
{ {|| FindInPath( "x86_64-w64-mingw32-gcc" ) }, "mingw64", "x86_64-w64-mingw32-" } }
|
||||
aCOMPSUP := { "mingw", "msvc", "bcc", "watcom", "icc", "pocc", "xcc", "cygwin",;
|
||||
|
||||
Reference in New Issue
Block a user