* contrib/hbide/hbide.ch
+ contrib/hbide/hbide.env
* contrib/hbide/hbide.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/projects/hbide.hbi
* contrib/hbide/resources/projectproperties.ui
+ Started the possibility to switch to any compiler while building a project.
! Implemented tooltips on <Project Properties> dialog components.
+ Added one more tab <Compilers> which holds the contents of hbide.env
residing alongside hbide.exe.
NOTE: hbide.env is an experimental feature and as such name and location
of this file may change in future.
! Few more artifacts corrected.
* utils/hbmk2/hbmk2.prg
+ Added Harbour lib dir autodetection when Harbour installed
on 64-bit systems (where libs are in */lib64/harbour).
Please test it.
; NOTE: I've also found some logic which makes hbmk2 build
process inherit -m64/-m32/-mlp64/-mlp32 switches from
hbmk2 itself. But it only passes it to C flags.
I'm not sure it sure pass it at all, but in case it
needs to pass it, should it also pass it to linker
flags? I don't have 64-bit linux development system
to try these things.
* config/global.mk
+ Added some provisions for separate -cpu selection:
Now win/wce compiler autodetection code tries to fill HB_CPU.
This should eventually be extended to all platforms/compilers.
+ HB_CPU autodetection will now consider -m64 and -m32 HB_USER_CFLAGS
on linux platform. This may not be correct on non-intel
linux platforms. Eventually this hidden knob should be changed
to proper CPU selection (probably).
% De-xmas.
! Minor fixes to HB_COMPILER autodetection when HB_PLATFORM=wce
is used on win hosts.
; I just hope there won't be any regressions.
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.prg
* contrib/hbide/idemisc.prg
! Implemented <New Project> and <Load Project> prompts of
context menu of <Projects> node of <Project Tree>.
+ contrib/hbide/projects/hbide.hbi
! Demonstration project file to show the basic protocol used to
execute next compile/link actions.
This implementation includes real-time view of the resultant
.hbp file which will be supplied to HBMK2. Because, this is going
to be a proposed engine, please experiment with the interface.
Just change diffenrent components and click on <.hbp> tab page.
It will reflect what the final .hbp will be supplied to HBMK2.
I want to be sure I am not missing something.
* harbour/contrib/rddads/ads1.c
! fixed ordSkipUnique() to properly update BOF/EOF flags, skip over
ADS BOF phantom record and respect not optimized local filters
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idetags.prg
* contrib/hbide/resources/projectproperties.ui
! More near TO project properties, will be ready by tomorrow.
* harbour/contrib/hbcairo/util.c
* harbour/contrib/hbcairo/image.c
* harbour/contrib/hbcairo/context.c
! fixed casting for some more pedantic C++ compilers
* config/beos/gcc.mk
* config/bsd/gcc.mk
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.mk
* config/hpux/gcc.mk
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
* config/dos/watcom.mk
* config/dos/djgpp.mk
* config/common/watcom.mk
* config/win/xcc.mk
* config/win/mingw.mk
* config/win/pocc.mk
* config/win/bcc.mk
* config/win/watcom.mk
* config/win/icc.mk
* config/win/cygwin.mk
* config/win/msvc.mk
* config/linux/watcom.mk
* config/linux/gcc.mk
* config/linux/icc.mk
* config/linux/clang.mk
* config/linux/sunpro.mk
* config/os2/watcom.mk
* config/os2/gcc.mk
* config/sunos/gcc.mk
* config/sunos/sunpro.mk
* Initializing LDFLAGS, DFLAGS and ARFLAGS at the beginning of files.
This allows to easily add to these var according to build settings.
It also syncs all .mk files to use the same layout in this regard.
* config/wce/msvcarm.mk
* config/win/msvc.mk
+ Added -debug linker option to .dll linking for msvc/msvcarm targets.
* harbour/contrib/rddads/ads1.c
* added support for dynamic descend flag switching by
ordDescend( [<tag>], [<bag>], <lDescending> ) -> <lPrevSetting>
It needs ADS 9.00 or higher and it's ignored in earlier ADS versions.
Based on Brian Hayes modification in xHarbour ADS RDD.
* harbour/src/rdd/dbfntx/dbfntx1.c
* harbour/src/rdd/dbfnsx/dbfnsx1.c
* harbour/src/rdd/dbfcdx/dbfcdx1.c
* harbour/contrib/rddads/ads1.c
* modified ordSkipUnique() to be compatible with CL53 - it means
that the passed parameter has a little bit different meaning when
table has active index and it hasn't.
If no index is active (natural order) then passed parameter is number
of records to skip just like in dbSkip() function otherwise it's only
direction choice so negative value means backward skipping and
zero or positive means forward skipping.
We may decide to change this behavior anyhow please remember that
it's not such clear what number of records to skip should mean during
skipping with active order having repeated key values and with working
filters which also can exclude some records. It's possible to create
few algorithms giving different results for some conditions.
* utils/hbmk2/hbmk2.prg
! Added -debug linker option when building .dll for msvc and compatible targets.
! Fixed minor regression in embedded CRLFs of hbmk2 texts.
* config/win/msvc.mk
* utils/hbmk2/hbmk2.prg
+ Added -MT/-MTd for win/msvc compatible targets when verison is 7.1 (.NET 2003)
or older. On these versions this will assure that multithreading C RTL is
being used (at the same time forcing static C RTL).
* config/wce/msvcarm.mk
* config/win/msvc.mk
+ Added -debug linker option for executables.
; TODO: Add it for .dlls too.
* config/globsh.mk
+ Deleting (MSVC) .pdb and .ilk files for executables and dynlibs on 'make clean'.
* contrib/hbcairo/Makefile
+ Added autodetection for MacPorts cairo pkg.
+ Fixed autodetection on *nix systems in general.
* INSTALL
+ Added cairo package information for Darwin/MacPorts and Ubuntu.
* contrib/hbqt/qtcore/Makefile
! Fixed after last commit.
* contrib/hbqt/generator/qt45.qtp
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/qtcore/filelist.mk
* contrib/hbqt/qtcore/QUiLoader.cpp
* contrib/hbqt/qtgui/QLabel.cpp
* contrib/hbqt/qth/QLabel.qth
! Fixed QUiLoader issue.
! Fixed XbpStatic()'s weired behaviour which was caused by expected improvements
in QLabel() class which eventually did not yield desired results, unluckily.
I will look into this matter later.
Now, HBQT sources re-built places proper make files and components.
* config/global.mk
* utils/hbmk2/hbmk2.prg
+ Added autodetection of DWARF-2 build of mingw.
This is mingw build is required for QT 4.6.0.
* utils/hbmk2/hbmk2.prg
! Fixed to consider HB_CCPOSTFIX setting when trying to autodetect gcc/win, gcc/wce.
* bin/hb-mkimp.bat
- Deleted creation of QT implibs for mingw. Enough to use what's
provided by QT SDK.
* contrib/hbqt/qtgui/QLabel.cpp
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/qtcore/filelist.mk
* Rerun generator. This caused that QTUILoader references
got removed, plus a few other changes.
* contrib/hbqt/qtcore/QUiLoader.cpp
- Deleted header telling this file is automatically generated.
! Manually fixed debug lines to be in sync with rest of hbqt.
* contrib/hbqt/qtcore/Makefile
! Fixed to add QTUILoaded stuff manually, since it's missing
from generated filelist.mk.
* config/win/msvc.mk
* Minor in comment.
* contrib/xhb/freadlin.c
* contrib/hbide/freadlin.c
! Fixed C mode MSVC warning.
* config/win/msvc.mk
- Removed -MT switch from default MSVC options. It should be user controlled
and -MT seemed to be the default anyway. Now it's also in sync with hbmk2
and also with msvcarm target.
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
+ contrib/hbide/resources/projectproperties.ui
+ Added Project Properties Dialog in .ui format. Trying to implement
some exotic thoughts which I ever missed in xMate.
* harbour/src/rtl/gtos2/Makefile
* added workaround for wrong code generated by OpenWatcom 1.8
when -s switch is used for functions calling APIENTRY16 functions.
Such code executed from non main thread causes GPF.
* INSTALL
+ Added HB_DIR_*, HB_INC_* settings to ones which users
should NOT have in their setup anymore.
Please delete them, it's just noise on the dev list.
This current full list:
set HB_PATH=<Harbour root dir>
set HRB_DIR=<Some Harbour dir>
set INCLUDE=<Harbour include dir>
set LIB=<Harbour lib dir>
set HB_INC_*=
set HB_DIR_*=
* src/rtl/philes.c
* include/hbextern.ch
+ Added HB_FISDEVICE()
; NOTE: Didn't add anything to hbmk2 yet, as after testing I found it
weird and unusual that the output is different when redirected,
but we may think of some other solution, like user option or else.
* harbour/doc/en-EN/hb_apifs.txt
* harbour/include/hbapifs.h
* harbour/src/rtl/filesys.c
* changed:
BOOL hb_fsSetDevMode( HB_FHANDLE hFileHandle, USHORT uiDevMode )
to:
int hb_fsSetDevMode( HB_FHANDLE hFileHandle, int iDevMode )
Now it returns previous mode for hFileHandle or -1 on error.
if iDevMode == 0 then it does not change device mode.
* harbour/src/rtl/philes.c
* modified HB_FSETDEVMODE() function to work with new hb_fsSetDevMode()
Current syntax is:
HB_FSETDEVMODE( <hFile> [, <nNewMode> ] ) -> <nOldMode>
It may return FD_BINARY, FD_TEXT or FS_ERROR.
* harbour/src/rtl/philes53.c
* modified FSETDEVMOD() function to work with new hb_fsSetDevMode()
It's similar to HB_FSETDEVMODE() but returns FD_BINARY instead of
FS_ERROR. Such behavior is more closer to CL53.
* harbour/src/rtl/console.c
* set also STDIN into binary mode
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.prg
* contrib/hbide/idemisc.prg
! More properties honored while reloading the sessions.
Now editor tab is opened exactly in the same state it was closed.
Unluckily I am not been to move the cursor to the same position,
I do not know why QTextCursor():movePosition( nPos ) fails.
Anybody has any hint?
* harbour/contrib/hbcairo/context.c
* harbour/contrib/hbcairo/paths.c
* harbour/contrib/hbcairo/text.c
* harbour/contrib/hbcairo/tests/table.prg
* added some error check. If function parameters are invalid C level
functions is not called with invalid (NULL) pointers.
* changed cairo_text_extent() to return an array of .c structure
members instead of returning multiple values using parameters
passed by reference. In the future I'll try to follow this way
to return structures.
* harbour/contrib/hbwin/olecore.c
* harbour/contrib/hbwin/axcore.c
* changed error system name from OLE to WINOLE
* renumerated error subcodes starting from 1001
* src/rtl/philes.c
* src/rtl/philes53.c
* include/hbextern.ch
+ Added HB_FSETDEVMODE(). Documented, always available
equivalent of C5.3 undocumented function FSETDEVMOD().
* utils/hbmk2/hbmk2.prg
* Changed to use HB_FSETDEVMODE().
* utils/hbmk2/hbmk2.prg
+ Setting std and err output handles to text mode as an attempt
to fix OS/2 (and MS-DOS) jagged output.
* At the same time changed to use Chr( 10 ) instead of hb_osNewLine()
to send EOL to std and err outputs.
; Thanks Przemek for the help.
* contrib/hbwin/wapi_shellapi.c
! WAPI_USERISANADMIN() -> WAPI_ISUSERANADMIN()
* utils/hbmk2/hbmk2.prg
! Added RTRIM() to MEMOLINE() calls to strip right space paddings.
* harbour/include/hbwince.h
* harbour/contrib/hbwin/axcore.c
* moved HBTEXT macro definition from axcore.c to hbwince.h
* harbour/contrib/hbwin/wapi_shellapi.c
! use HBTEXT() macro for literal constants used as second parameter
of GetProcAddress(). It fixes WINCE builds where whole API uses
only UNICODE strings.
* INSTALL
+ Added cairo links.
* contrib/hbwin/wapi_shellapi.c
+ WAPI_USERISANADMIN() function. Based on xhb's recently added
OS_ISUSERANADMIN() function by Peter Rees.
Reformatted, renamed and applied fixes/UNICODE/cleanups, usual stuff.
* contrib/hbcairo/hbcairo.hbc
+ Changed libs= for *nix system. Not tested for this cairo,
it comes from my local xhgtk hbmk2 files.
* INSTALL
+ Documented HB_WITH_CAIRO setting.
* bin/hb-mkimp.bat
+ Added HB_BUILD_IMPLIB support for cairo lib.
I didn't test them.
* contrib/hbcairo/hbcairo.hbc
* Changed cairo lib name from 'libcairo-2.0' to 'cairo'
This is what HB_BUILD_IMPLIB will generate.
; TODO: It's the "fun" part of any component adaptation, that
each build and platform use a different lib naming scheme.
We should fix this one by one for all platforms.
; TODO: Make build tests on each platform/compiler.
* contrib/hbcairo/Makefile
+ Added cairo component detection.
- Deleted installation of .h header. It doesn't seem to be
one for the public.
* config/global.mk
% "De-xmastree"-d one if/else structure.