* INSTALL
! Typo in prev.
* config/darwin/install.cf
* config/win/install.cf
+ Added same as Linux workaround to not let install phase
fail because copy on install error.
* INSTALL
+ Added MinGW + msys specific entry.
* bin/postinst.sh
+ Added generation of hbcc.bat, hbcmp.bat, hblnk.bat
to be in complete feature sync with the non-msys method.
NOTE: non-msys method isn't recommended.
* make_gnu_os2.cmd
+ Added automatic HB_*_INSTALL setup based on HB_INSTALL_PREFIX
to be in sync with the rest of Harbour.
* make_gnu.bat
! Fixed forward slashed to backslashes.
* Changed default compiler from mingw to msvc.
* utils/hbmk2/hbmk2.prg
! Refined autodetection of msvc to not be confused by
watcom binary dir in the path.
! Refined autodetection of owatcom by also checking for
WATCOM envvar. Thanks Petr Chornyj for the hint.
% Removed hack to not prioritize MSVC compiler detection,
so it's now handled just like the others.
* bin/postinst.bat
+ Added dos/windows (djgpp/mingw) autodetection.
! Cleaned help screen.
(missed from previous entry)
* Other minor cleanups and fixes on help screen.
* bin/postinst.cmd
* bin/postinst.bat
* bin/hb-func.sh
+ Added arch= and comp= variables to hbmk.cfg.
I plan to use these for autoconfiguration.
* make_gnu_os2.cmd
* make_gnu.bat
- Removed built in output redirection to make them in sync
with the bash flavour. Users can easily redirect it themselves.
* utils/hbmk2/hbmk2.prg
+ Formally added icc.
* config/win/msvcce.cf
! Untested fixes for msvcce in GNU make.
+ harbour/config/linux/icc.cf
* harbour/config/linux/gcc.cf
* harbour/bin/hb-func.sh
* harbour/bin/postinst.sh
* harbour/source/common/hbver.c
+ added support for Intel(R) C/C++ compiler
* harbour/bin/postinst.sh
% use hb-mkdyn symlink instead of regenerating it as hb-mkslib
It will work also in DOS/Windows (MSys/DJGPP emulates ln -s ...)
* harbour/source/vm/thread.c
* removed all references to HB_THREAD_EQUAL()/HB_THREAD_SELF() in
non MT builds
* harbour/source/rtl/console.c
! fixed default color setting in hb_dispOutAtBox()
* harbour/contrib/gtwvg/wvggui.h
* harbour/contrib/gtwvg/wvgwin.c
* harbour/contrib/gtwvg/wincallb.c
* harbour/contrib/gtwvg/wvgsink.c
! fixes for C++ compilation:
- this is reserved word in C++ - do not use it as variable name
- class is reserved word in C++ - do not use it as variable name
- use macros to hide differences between C and C++ WinAPI
- casting
* utils/hbmk2/hbmk2.prg
* On *nix platform hbmk.cfg is now first checked for
in /usr/local/etc, then in /etc and after that in
hbmk2's dir. Please advise if there are other such
global config dirs to check on different platforms.
* harbour-win-spec
* harbour-wce-spec
* harbour.spec
* bin/hb-func.sh
* utils/hbmk2/hbmk2.prg
* hbmkcfg.hbp file renamed to the clearer: hbmk.cfg
Same rules apply, the format is .hbp, which is also
made clear on the hbmk2 help screen.
hbmk2 and hbmk.cfg now effecticely replaces harbour.cfg,
which can now be considered obsolete, along with the
/go option. If someone knows some real-life tasks
which can be done with /go+harbour.cfg, but cannot
with hbmk2, please speak up.
* source/vm/fm.c
! Fixed compilation error in dlmalloc with pocc64.
* config/win/pocc64.cf
* config/win/msvc64.cf
* Cleanup.
* config/win/gcc.cf
! Added gdi32 to system lib list.
* config/win/mingw.cf
* config/win/mingwce.cf
* Minor sync with each other.
% Two duplicated lines removed from mingwce. I hope these
weren't intentional.
---
AR = $(CCPREFIX)ar
ARFLAGS = $(HB_USER_AFLAGS)
---
* bin/postinst.sh
+ Added 'hb-mkslib' creation for compatibility.
NOTE: This name is deprecated and will be removed in next
major release (1.2). Update your environment to
use the name: 'hb_mkdyn'.
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/Makefile
* common.mak
+ Added -DHBMK_INTEGRATED_COMPILER compile time option
to enable integrated Harbour compiler. Experimental,
please test. This results is bigger executable (obviously)
but may be more efficient on some platforms.
% Using .exe extension for external commands on non-*nix.
* Using slightly different format to echo commands on
screen, they are now printed in a new line and they are
not put between quotes.
* harbour/include/hbsetup.h
* minor modifications in macros
* disabled some GCC function attributes when ICC is used
* harbour/source/pp/ppcore.c
* casting
* harbour/source/vm/fm.c
* destroy dlmalloc mspace in hb_xexit() when USE_DL_PREFIX is used
otherwise call malloc_trim(0) to at least reduce allocated memory
* bin/hb-mkdyn.bat
* make_gnu.bat
* make_gnu.sh
* utils/hbmk2/hbmk2.prg
* config/win/msvc.cf
+ config/win/msvc64.cf
+ Added separate HB_COMPILER for msvc x64 mode.
This allows to keep both the 32 and 64-bit builds
built in parallel.
NOTE: This is only supported with GNU Make.
* utils/hbmk2/hbmk2.prg
+ Added autodetection of msvc64.
+ Added pocc64 and msvc64 support in self-detection
code.
* bin/hbmk.bat
+ Added -n to stay compatible with former hbmk.bat.
* ChangeLog
* Updates.
! Correction made to entry:
2009-02-24 01:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
* Attempt to add .dll support for win/owatcom.
; TOFIX: This happens:
Warning! W1023: no starting address found, using 00401000
* utils/hbmk2/hbmk2.prg
! Tweaked to only include path in shared lib name on *nixes,
if Harbour is installed in a system location.
! Forgot to add bin dir to lib path in shared mode in gcc/*nix.
! Fixed macro substitution order for {DB}.
! Tweaks for library name forming on gcc family.
The applied rule is to prepend -l, delete lib prefix and extension,
when the libname doesn't have a path in it, if it has, the libname
will be passed as is (without -l, with lib prefix and extension).
* contrib/hbgd/gdwrp.c
! Added required Windows initialization for GD headers.
This become an issue because I've recently removed
windows system headers (which weren't needed for
local code) from this file.
* utils/hbmk2/hbmk2.prg
! Fixed bug in path normalization which stripped leading
(root) path separator. Guy, could you please retest now?
- bin/hb-mkdll.bat
+ bin/hb-mkdyn.bat
* bin/postinst.bat
* harbour-win-spec
* harbour-wce-spec
* harbour.spec
* bin/postinst.sh
* bin/hb-func.sh
- bin/hb-mkslib.sh
+ bin/hb-mkdyn.sh
* Synced the name of these tools with similar function,
name also converted to 8.3.
; NOTE: lib/dll creation functionality (which is the
difference now between .sh and .bat flavour) may
once in the future be implemented in hbmk2. See
existing TODO there.
* utils/hbmk2/hbmk2.prg
% Normalizing autodetected paths when system locations
are used on *nix and always for win/dos/os2.
! Fix to MSVC resource handling.
* harbour/source/vm/estack.c
; added TODO note for TSD handles recovery system to document dynamic
(not static) TSD access as public API. Otherwise it's a risk to give
such interface for 3-rd party code developers due to potential
resource leak.
* harbour/contrib/hbct/ctwin.c
+ added support for thread local current window pointer in CT Windows.
Warning: each new thread uses window 0 as default.
* harbour/contrib/hbct/files.c
+ added MT support FILESEEK(), FILEATTR(), FILESIZE(), FILEDATE().
Warning: now each thread operates on it's own directory handle.
The directory handle is open until is not scanned to the end by
subsequent calls to FILESEEK() without parameters or by explicit
call with NIL or empty string "" as file name, f.e.: FILESEEK( NIL ).
Such method of closing directory handle is compatible with original
CT3 behavior.
* utils/hbmk2/hbmk2.prg
+ Added support for resources on Windows platform.
mingw, owatcom, msvc, bcc32 are supported. mingw and
owatcom support single resources only.
* config/rules.cf
+ Added owatcom .err files to the clean list. Maybe there
is more appropriate place to put this. Please correct it.
* bin/hb-mkdll.bat
- Removed no longer relevant NOTE. BCC tlib can actually
handle dots in pathname if put between quotes, which
is how it is.
* contrib/gtwvg/gtwvg.h
* contrib/gtwvg/wvggui.h
! Applied former owatcom fix to GTWVG, too. Please retry,
I didn't test it.
! Converted failing declarations to use HB_ID_REF().
! Applied more casting fixes shown by owatcom 1.8.
; Remaining errors and warnings posted on the list.
* bin/postinst.bat
! Protected command from pre-NT systems.
* harbour-win-spec
* harbour-wce-spec
* harbour.spec
+ hbmkcfg.hbp added to distros (I hope to all of them).
* ChangeLog
* Updated statuses of a few pending items.
* utils/hbmk2/hbmk2.prg
! Fixed bug which made gtwvt the default GT for mingw.
! Fixed to create final exe in current dir if no output
filename was specified and the first input file
contained a path.
* Changed to use version-less harbour shared lib names
on *nixes.
! Fixed to pass full path with harbour.so to gcc.
(even when Harbour isn't run from a system location)
! Fixed compilation/linking/cleanup if an input file
wasn't in current dir.
* Temp stub file is now created in system default temp dir,
instead of the current one.
+ Harbour shared lib path is normalized when Harbour
is found on system locations. (so '*/bin/../lib/' becomes
'*/lib')
* Better I hope handling of .so/.dylib/.sl/.dll files passed
on the command line.
* bin/hb-mkdll.bat
! Fixed typo in Borland MT .dll name.
! Fixed to not include maindll.obj, maindllp.obj in
Borland .dlls.
* Minor formatting and cleanup on internal names.
+ Added checking for source lib existence, showing
message if not found.
+ Better user feedback.
* bin/postinst.bat
+ Added running hb_mkdll.bat at the end of the build
process. For now users have to use 'set HB_DLL=yes'
to enable this features. It's experimental yet,
see previous comments.
* source/vm/Makefile
+ Now generating hbmainstd and hbmainwin for remaining
(non-mingw and non-mingwce) compilers. MSVC and BCC
need this for -shared linkage, I'm not sure about the
rest, anyhow we can disable it for other compilers
if it isn't needed in future.
* bin/hb-func.sh
% Refined hbmkcfg.hbp setup to better detect conditions.
* contrib/hbcurl/hbcurl.c
! Pacified this only one new gcc 4.3.3 warning.
* config/win/gcc.cf
* config/win/mingw.cf
+ Added -mtune=pentiumpro gcc optimization.
* harbour/contrib/gtwvg/wvgwin.c
* harbour/contrib/gtwvg/wvg3stat.prg
* harbour/contrib/gtwvg/wvgcheck.prg
* harbour/contrib/gtwvg/wvgcombo.prg
* harbour/contrib/gtwvg/wvgdarea.prg
* harbour/contrib/gtwvg/wvglistb.prg
* harbour/contrib/gtwvg/wvgmle.prg
* harbour/contrib/gtwvg/wvgpushb.prg
* harbour/contrib/gtwvg/wvgradio.prg
* harbour/contrib/gtwvg/wvgscrlb.prg
* harbour/contrib/gtwvg/wvgsle.prg
* harbour/contrib/gtwvg/wvgstatb.prg
* harbour/contrib/gtwvg/wvgstatc.prg
* harbour/contrib/gtwvg/wvgtoolb.prg
* harbour/contrib/gtwvg/wvgtreev.prg
* harbour/contrib/gtwvg/wvgwnd.prg
! Code cleanup.
! Implemented generic callback functionality taking
use of SetProp()/GetProp() functions of WINAPI. It
effectively eliminates the use of AsCallBack()
function which has been discussed as non-scalable
in multi-processor architect.
; TODO: To use hb_gcAlloc() mechanism to hold the
codeblock. Please review wvgwnd():SetWindowProcCallback()
and wvgwin:WVG_SetWindowProcBlock( ::hWnd, bBlock ).
I did try but could not resolve it properly.
* bin/hb-mkdll.bat
+ Added Borland C/C++ .dll building.
It has the same requirements as MSVC.
NOTE: Due to tlib bug, it won't work if the HB_LIB_INSTALL
path contains '.' chars. I can add a workaround,
but at the cost of speed.
* bin/hb-func.sh
* utils/hbmk2/hbmk2.prg
+ Previous workaround changed to generic solution, keeping
all Harbour lib specific external lib knowledge inside
hbmk2.
Guy, if you can please retest.
* bin/hb-mkdll.bat
* Minor in comment.
* config/lib.cf
* config/bin.cf
+ Added -n to Harbour flags to bin.cf.
+ Added -n1 to Harbour flags to lib.cf.
; TOFIX: The former works, the latter doesn't.
Could someone please help why is this
happening?
* utils/hbmk2/hbmk2.prg
- Removed -n from default Harbour switches.
; TODO: Add prgflags=-n to all .hbp files.
; TODO: Add -n to all .hbm files.
; TODO: Add .hbp file to dirs where there are .prgs
needing -n flag.
+ bin/hb-mkdll.bat
+ Added .dll creation for GNU-make. Not yet enabled,
only MSVC supported, and by the nature of the
wonderful world of Microsoft, whole Harbour needs
to be compiled with HB_USER_CFLAGS=-DHB_DYNLIB to
make this work. -DHB_DYNLIB has some drawbacks
though: export table will be generated for all
executables made from these .libs, .exp/.lib will
also be generated for all executables.
; TODO: Solve to compile Harbour lib .prgs using
-n1 switch. (needed for .dll, and this
one has only befenefits for other scenarios)
; TODO: Add hb-mkdll.bat to postinst.bat.
; TODO: Add BCC support, if possible.
; TODO: Rename hb-mkslib.sh to 8.3 name and sync
name with the .bat version (not necessarily
mkdll, but something short.)
* bin/hb-func.sh
! Added system libs for optional components included
in the harbour dynlib. I plan to make some more
changes here, but this should fix missing system
libs with shared option enabled in hbmk2.
* contrib/examples/dbu/dbu.hbm
* contrib/examples/rl/rl.hbm
+ Added -n.
* utils/hbdoc/Makefile
* utils/hbmk2/Makefile
* utils/hbtest/Makefile
* utils/hbi18n/Makefile
* utils/hbrun/Makefile
- Removed explicit -gc0 -n override.
Should now be set automatically for all binaries.
* harbour/source/rtl/gtxwc/gtxwc.c
! fixed typo which caused GPF when palette was set before console window
initialization
* harbour/source/rtl/gttrm/gttrm.c
* reset console color palette to default on application exist