* include/Makefile
+ include/hbextcdp.ch
* include/hbextern.ch
* utils/hbmk2/hbmk2.prg
+ Separated EXTERNAL HB_CODEPAGE_* lines to hbextcdp.ch.
These are commonly needed by apps.
* Using hbextcdp.ch in hbmk2.
; TODO: hbextern app needs to be updated to filter out
CODEPAGE symbols.
* source/pp/Makefile
* source/pp/hbpp.c
+ hbpp is now accepting directory for -c parameter and in this
case it will check ChangLog names in specified dir.
+ Modified make file to pass dir to hbpp so now it configures
itself automatically no matter where we move the object directory.
; Please review me.
* config/global.cf
+ Enabled base directory for all intermediate build files
(objects, Harbour generated .c files, etc).
Now they will be put under 'obj' dir inside each source
directory.
After this huge task, it's now possible to filter out
all these intermediate files from grep, hbextern commands.
For me this means I can do without a parallel virgin
repository kept for grep usage.
* examples/hbextern/hbextern.prg
* Filtering obj dirs instead of all platforms specifically.
* config/c.cf
! Fixed to use $(GRANDP) instead of hard-wired ../../ dir.
Please verify me.
; Przemek, you can now go on, the only remaining larger thing
is moving install dir creation to GNU Make level.
* config/dos/global.cf
* config/global.cf
* config/linux/global.cf
* config/os2/gcc.cf
* config/os2/global.cf
* Finished internal support for obj base dir. In next step
I'll enable it.
* config/global.cf
+ Added new shell detection logic (not used yet)
+ Added experimental HB_HOST_ARCH (host architecture) and
HB_HOST_BIN_EXT detection. Extra screen messages will be
deleted later.
Currently 3.81 GNU Make is required (for the screen messages).
+ Moved DIRSEP init here.
+ Moved CMDPREF init here.
+ Moved CompSpec detection here.
* config/none.cf
% Using global.cf for some central logic.
* config/c.cf
* config/rules.cf
% DIRSEP init deleted, now in global.cf
* source/pp/Makefile
- Removed HB_PPGEN_PATH setting. Now HB_BIN_COMPILE is used to
point to the directory where all native executables are to be
found. This means you can simply delete HB_PPGEN_PATH from
your local settings.
; NOTE: Please update make_gnu_xmingw*.sh script accordingly,
it should probably accept (detect) HB_BIN_COMPILE and
drop HB_COMP_PATH / HB_PPGEN_PATH settings.
Or, we should define some new ways to define cross
builds replacing the current mess (there is also
HB_XBUILD). I'd vote for these envvars:
- HB_HOST_ARCH (linux, win, dos, os2, etc...)
- HB_HOST_BIN (dir of native executables)
- HB_HOST_BIN_EXT (.exe or empty)
* INSTALL
* Updated cross-build sections and deleted make_gnu_xmingw*.sh
related exception to keep instructions clean.
* contrib/hbwin/wapi_commctrl.c
* contrib/hbwin/hbwapi.h
! Fixed to compile under various other win compilers.
! Added missing WinCE protections. (notice all tools are freely
available to check these and avoid breaking builds)
Added non-WinCE branch to return dummy values.
! Formatted: (_WIN32_IE >= 0x0300) -> ( _WIN32_IE >= 0x0300 )
! Fixed non-ANSI comments.
! Fixed warnings, and there is still some dubious comversions
in there like HANDLE - HTREEVIEW and RECT passings. I wonder
if it is possible at all to create clean Windows API code.
; NOTE: Please take care of above stuff, it's not a pleasure
to be the cleaner of such code, but it breaks builds
to it must be done all the time.
; NOTE: I'd like to recommend adding only Windows API functions
which are available on all Windows platforms (WinCE,
Win64) otherwise it will be more difficult to build
anything portable on top of them.
; QUESTION: Why many functions are disabled with #if 0?
* config/hpux/install.cf
* config/darwin/install.cf
* config/dos/install.cf
* config/win/install.cf
* config/install.cf
* config/linux/install.cf
* config/os2/install.cf
* config/sunos/install.cf
* config/bsd/install.cf
* config/wce/install.cf
! Restored previous install rule setup, to fix hbpp combined
lib/bin install case.
; QUESTION: How to use multiple commands in a non-bash (= batch)
INSTALL_RULE variable? This would be needed to support
automatic addition of install dirs with non-bash shells.
* source/pp/Makefile
* config/rules.cf
* config/darwin/gcc.cf
* config/dos/watcom.cf
* config/dos/djgpp.cf
* config/global.cf
* config/lib.cf
* config/win/watcom.cf
* config/bin.cf
* config/linux/watcom.cf
* config/os2/watcom.cf
* config/os2/gcc.cf
+ Now all binaries will be created inside bin/<arch>/<comp>,
instead of the work/obj dir.
; Please test. (I didn't test cross-compilation yet, but maybe
now it's a better time to cleanup the HB_PPGEN_PATH, HB_BIN_COMPILE
settings and drop the former.
! Reverted prev cleanup.
; TOFIX: install rule for hbpp lib doesn't work after recent
change.
; TODO: Delete HB_PPGEN_PATH
* config/darwin/install.cf
* config/hpux/install.cf
* config/dos/install.cf
* config/install.cf
* config/win/install.cf
* config/linux/install.cf
* config/os2/install.cf
* config/sunos/install.cf
* config/bsd/install.cf
* config/wce/install.cf
* Little tweak to install rules to allow multiline rules
on non-bash shells.
Maybe there is another way, but couldn't find it.
; This is a step towards moving install dir creation to
GNU Make level.
* source/rtl/hbinet.c
* Formatting, cleanup.
* Few types cleaned. Although many 'int's seems better be 'long',
I didn't touch it.
Please review. No functionality should change.
! HB_INETSTATUSDESC() to always return string if socket is valid.
* config/darwin/global.cf
* config/hpux/global.cf
* config/dos/global.cf
* config/win/global.cf
* config/linux/global.cf
* config/os2/global.cf
* config/sunos/global.cf
* config/bsd/global.cf
* config/wce/global.cf
+ Added dir creation for executables.
This is a preparation step towards generating executables
inside bin/<ARCH>/<COMP>.
* Dir creation on OS/2 shells changed a bit, I hope it works,
and I'm not sure if it was intentional to use a different
solution than DOS/NT shells, since there is only GNU Make
logic involved. Anyhow, please test.
* config/dos/global.cf
% Deleted (unused) RANLIB reference.
* config/win/bcc.cf
! Restored branch to use link script to avoid cmdline length
limits present on some NT systems.
Also fixed to work on paths with spaces.
* config/bin.cf
* Minor cleanup to prev.
* config/bin.cf
* config/lib.cf
+ Preparation for moving the generated binaries in:
bin/<ARCH>/<COMP>
* contrib/hbwin/hbwapi.h
* contrib/hbwin/wapi_commctrl.c
+ Added TreeView_* functions under namespace HB_FUNC( WAPI_TREEVIEW_* ).
NOTE: Please check for different compilers/platforms. I have tried to confine
functions in #ifdef but these may be limited.
* contrib/hbxbp/xbpfontdialog.prg
* contrib/hbxbp/xbprtf.prg
+ Implemented :print( oXbpPrinter, lOnlySelection ) in XbpRTF() class.
TODO: <lOnlySelection> is not functional yet.
+ Implemented :selFont GETSET METHOD - Harbour Extension - this accepts
XbpFont() object as new font.
* contrib/hbxbp/tests/demoxbp.prg
+ Demonstrated the use of XbpFontDialog() with XbpRTF().
1. Click on <Rtf> tab.
2. Select some text.
3. Click on <Font> Push Button - it will open Font Dialog on the left-top corner.
4. Move around in the font dialog, select every factor available, change it,
you will see the effects on selected text in <Rtf>.
* harbour/source/rtl/gtwin/gtwin.c
* added code to disable/enable mouse input by:
hb_gtInfo( HB_GTI_MOUSESTATUS, <lOnOff> )
It's possible that hb_gtInfo( HB_GTI_MOUSESTATUS, .F. ) will also
disable mouse cursor in full screen mode but I haven't tested it.
Please check.
* source/rtl/gtwin/gtwin.c
* Minor formatting.
* source/rtl/gtapi.c
% hb_gtSetCursor(): Deleted parameter evaluation.
It's better to do it only on low-level.
* config/win/bcc.cf
% Line deleted.
* utils/hbmk2/hbmk2.prg
+ -nohblib now supported in scripts.
+ -nohblib- option added.
* examples/pp/pp.hbp
* Comment deleted.
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpgeneric.prg
! Changed the way AppEvent() eventloop was being executed.
Not it is more near to Xbase++, not 100% but near.
CPU consumption is reduced to 2-3 percent.
* contrib/hbxbp/xbprtf.prg
+ Implemented more XbpRTF() features.
* contrib/hbxbp/tests/demoxbp.prg
+ Demonstrated more XbpRtf() features.
Play with Rtf tab.
* bin/hb-func.sh
* make_gnu.sh
* Moved lib detection logic to hb-func.sh.
; It'd be better to have a way to gather such information
along the make process in some .cfg files.
* source/rtl/gtcrs/Makefile
- Deleted some header locations which weren't checked anyway
before these changes. Please review.
* config/djg-make.exe
+ Updated to 3.81 (from 3.79.1) found in djgpp 2.04 (beta)
(doesn't resolve the dos/watcom problem with hbpp)
* harbour/source/pp/Makefile
! fixed hardcoded for windows shortcut (Change~1) ChangeLog name
in DOS OpenWatcom builds so now it's possible again to create
such builds in real DOS without LFN support
* make_gnu.sh
- Deleted CRS, SLN, GPM detection.
; Now only some CPU dependent Linux settings remain.
How to move these to central Makefiles?
* make_gnu.sh
* config/hpux/gcc.cf
* config/sunos/gcc.cf
* -fPIC setting moved to Makefiles.
* Minor syncing between these two makefiles.
; NOTE: hbmk script creation may need to be updated.
* utils/hbmk2/hbmk2.prg
+ -fPIC now added as standard for hpux and sunos.
* source/vm/extend.c
! [REVERTED - I overlooked it]
Fixed hb_parvcx() to return "" instead of NULL when dealing
with array parameters out of bound or non-string.
(Borrowed from xhb by Ron Pinkas. Although the fix is
implemented differently in Harbour)