* utils/hbmk2/hbmk2.prg
! Fixed again -hbdyn generation by removing hbmaindllp lib
from the liblist. This was added as part of a fix, so I'm
not sure what is the good and final solution. Anyway it
looks like this lib isn't to be used for .dll, or only for
pure pcode ones. So it's probably better to leave it as
a manual user option: -l{win}hbmaindllp
If someone knows more, pls speak up.
* utils/hbmk2/hbmk2.hu_HU.po
! Typo.
* utils/hbmk2/hbmk2.prg
! Typo in an IF construct which caused wrong autodetection of
embedded MinGWs.
* Renamed a variable.
* utils/hbmk2/hbmk2.prg
+ Added support to redefine .prg level __ARCH*__ and __*_ENDIAN__
macros in cross build situations. [ This doesn't seem to be
a practical problem, but cross builds targeting *nix systems
aren't covered and they probably won't be. ]
Anyway, I wouldn't recommend using these macros in .prg code,
as they won't work as expected when creating universal binaries
(f.e. on darwin).
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added experimental pure C build mode. Activate with -hbc
(cmdline only). In this mode Harbour libs won't be linked,
.prgs won't be compiled, language files won't be handled,
options will be treatet as C compiler ones, and obviously
some other Harbour related hbmk2 options will be ignored.
* Minor translation update.
* bin/postinst.bat
+ bin/hb-mkimp.bat
+ Separated import lib generation from postinst.bat into
a separate batch file. This file can be run by users,
and it will be included in binary builds to help users.
HB_COMPILER, HB_LIB_INSTALL and HB_DIR_* envvars have
to be set to make it work.
; TODO: Add documentation to INSTALL.
* utils/hbmk2/hbmk2.prg
+ Recognizing SVN repositories in a rare configuration.
* INSTALL
* Made clear that GNU Make installation isn't needed for mingw
targets.
* include/hbextern.ch
+ Added HB_EXECMSG().
* contrib/xhb/tests/xhb.hbc
+ Added hbct, hbtip and hbwin (on Windows) to emulate xhb, which
has these libs as part of the core.
* utils/hbmk2/hbmk2.prg
+ Environment variables can not be used as filters.
If an envvar with the name of the filter exists and it's
value isn't "0" or "no", it's considered a match.
- Deleted -EHsc-/-EHsc/-EHs-c- switch variant from msvc C flag list.
This was copied from Harbour Make files, and most probably they
aren't necessary even there, especially since they are set
inconsistently (differently) for depending on msvc compiler
version and win/wce target. These flags deal with exception
handling, so I doubt any core code (with the exception of hbqt)
would need it.
+ Added some level of internal support for build modes
(release, debug, fulldebug) and unicode/ascii selection. Added
to TODO anyway, will continue with them in the future.
* utils/hbmk2/hbmk2.prg
+ Added autodetection for recently released (version 0.55) mingw32ce
packages.According to their homepage, they use slightly different
names for packages, which is now recognized by hbmk2.
I didn't test it though on Linux, and there is no Windows binary
release yet for this new version.
* utils/hbmk2/hbmk2.prg
+ Added filter support for input files without extension.
* Reverted prev change because it didn't solve any problems
as *.*/* input masks aren't expanded anyway on non-*nix
shells and it would create several problems to support it.
Explicitly added .ch and other files are probably done with
an intent, so there is no point in filtering them (well
except for *nix shells, but I don't deal with this issue
for now). It isn't a good idea to pass *.*/* to hbmk2
anyway as it may pickup everything in the way.
* utils/hbmk2/hbmk2.prg
* Input files with following extensions won't be considered
.prg source files anymore: .ch, .h, .hpp, .hxx.
This means *.* input mask can now be used more freely.
I cannot imagine a situation where this could be limitation,
but if someone has any concern with this, please tell.
! Minor typo in code.
* contrib/Makefile
+ contrib/xpp
+ contrib/xpp/Makefile
+ contrib/xpp/xpp.ch
+ Added startup of an Xbase++ dialect lib (similar to xhb).
The idea is that these will hold all Xbase++ specific functions
with an xpp_*() prefix, and they will eventually be moved
inside the core into source/dialect/xpp lib, so that dialect
selection can be better integrated into Harbour compiler tools.
Currently it holds one header only.
+ utils/hbmk2/examples/oohg.hbc
+ Added oohg hbmk2 config file. (untested)
* utils/hbmk2/examples/fwh.hbc
* utils/hbmk2/examples/hmg.hbc
* utils/hbmk2/examples/hwgui.hbc
% Minor simplification.
* utils/hbmk2/hbmk2.prg
+ Added macros: ${hb_bin}, ${hb_lib}, ${hb_dyn}, ${hb_inc}.
Representing HB_*_INSTALL dirs. They can be useful in
-instpath=, if someone wants to have a copy of the target in
a Harbour dir for easy access: -instpath=${hb_lib}/
* utils/hbmk2/hbmk2.prg
+ In -rebuild mode now targets will be deleted by hbmk2
before calling compilers to create them. This will resolve
some potential errors when compiler tools get confused about
an existing file with the same name but perhaps created with
another compiler. It will also make sure no attempts will be
made to create an incremental build. If target cannot be
deleted, a warning message will be shown by hbmk2.
* harbour-win-spec
* harbour-wce-spec
* harbour.spec
* mpkg_win.bat
* include/hbver.h
* doc/whatsnew.txt
* source/vm/maindllp.c
* 1.1.0dev -> 2.0.0dev
; Preparation for next rc1.
* INSTALL
* Long lines reflowed.
* utils/hbmk2/hbmk2.prg
+ Now if hbmk2 is renamed to a name which ends with '10',
like 'hbmk210', it will automatically function in -hb10
(Harbour 1.0.x) compatibility mode.
% Don't add doubly defined include paths or include try paths.
* Minor change in BCC system lib ordering.
* INSTALL
* Removed 'not recommended' text to not hurt any feelings.
+ Added hint to TROUBLESHOOTING section how to clear PATH
with a simple and safe method.
* utils/hbmk2/hbmk2.prg
* Internal variable name change.
* ChangeLog
! Fixed terminology in my prev entry (embedding -> nesting)
* utils/hbmk2/hbmk2.prg
+ Added support for hbcs= lins in .hbc files. This means
they can now be embedded. Filters and macros are accepted,
extension optional, .hbc will be added.
! Fixed wrongly calculated embedding level, counting now made
simpler.
+ Added warning message if embedding level reached the maximum,
instead of just ignoring the to be embedded files.
* COPYING
+ Added utils/hbmk2 to the COMPILER LICENSE section.
- Deleted OLD HARBOUR LICENSE section.
* source/lang/msgeu.c
* source/lang/msgsr852.c
* source/lang/msgsriso.c
* source/lang/msgsliso.c
* source/lang/msgslwin.c
* source/lang/msgsl437.c
* source/lang/msgsl852.c
* Changed copyright to new Harbour license by group (silent)
consent. Copyright holders kept intact, if that's a problem
for anyone in the future, we shall delete these files from
the repository and retranslate (or do whatever else we
decide), notice however that msgsr*.c and msgsl*.c files
were only containing translations for month and day names.
msgeu.c contained translation work spanning to 40 strings.
* source/compiler/hbusage.c
* Updated Lorenzo Fiorini's e-mail address in credit list.
* utils/hbmk2/hbmk2.prg
! Fixed to make pos= files relativ to .hbc container location.
! Fixed to not macro process pos= entries, because it breaks
${lng} macros.
+ Added -debugi18n messages for .po update.
* contrib/xhb/Makefile
+ contrib/xhb/xhberr.c
+ Added SETUNHANDLEDEXCEPTIONFILTER() as a dummy function,
actual code is commented and won't work in Harbour.
(borrowed from xhb)
* utils/hbmk2/hbmk2.prg
+ Added feature to automatically process make script
with the name hbmk.hbm if found in local directory.
This will be processed before the first command line
option.
! -quiet switch wasn't effective on embedded Harbour
compiler command line displayed in case of error.
* INSTALL
* One 'sf.net' URL changed to sourceforge.net.
(for consistency only. both name works.)
* utils/hbmk2/hbmk2.prg
* Formatting.
+ Added comment to help screen on -l switch, that the <libname>
mustn't contain path, extension and lib prefix.
* contrib/xhb/Makefile
+ contrib/xhb/bkgtsks.c
+ Added background tasks functions. My only current goal
was to make it compile under Harbour, plus did some
optimizations along the way.
(borrowed from xhb, work of Francesco Saverio Giudice)
; TODO: Adapt to Harbour: MT mode, Set() replacement,
attach it to VM possibly without modifying
the VM itself.
* source/rtl/mlcfunc.c
+ Reenabled for default builds the parameter extension
in memo functions (now guarded with HB_C52_STRICT).
This breaks our effort to not introduce such extensions,
but since was no better idea I've made an exception,
but I personally still don't like it and this practice
stays forbidden.
Talking about the last parameter of these functions:
MEMOLINE(), MLCOUNT(), MLPOS(), MLCTOPOS(), MPOSTOLC()
* source/codepage/cphr437.c
* source/codepage/cphr852.c
* source/codepage/cphrwin.c
* Fixed wrongly ordered accented chars.
* Fixed missing accented chars in Windows CP.
; Submitted by Vladimir Miholic on sf.net.
* contrib/xhb/xhb.h
+ Added hb_seconds() compatibility macro.
* tests/speedtst.prg
+ Added SET DATE ANSI and SET CENTURY ON.
* tests/Makefile
+ tests/brwpos.prg
+ Added TBrowse() :rowPos test submitted by Xavi to the list.
* utils/hbmk2/hbmk2.hbp
* utils/hbrun/hbrun.hbp
% Minor opt to prev.
* tests/rto_tb.prg
+ Added hb_SToD() compatibility function to make it link
with xhb.
+ Added forced define of HB_COMPAT_C53 in xhb mode, but
commented because it makes it RTE.
* INSTALL
! Term changed to be consistent with rest of doc.
* include/hbapi.h
! Typo in comment.
* utils/hbmk2/hbmk2.hbp
* utils/hbrun/hbrun.hbp
% Don't include extra static libs in liblist for mingw targets.
It links & works without it and the .exe is smaller.
* INSTALL
* MinGW examples: version number increase.
* utils/hbmk2/hbmk2.prg
* Internal implementation to support multiple Harbour versions
and dialects has been extended.
+ Added support for -hb10 cmdline switch to force Harbour 1.0.x
compatibility mode. Experimental, please make tests with it,
some more exotic features (like shared mode, cross compiling)
may not work (or not as smoothly). Also added 'hb10' fiter name.
! Fixed to not use -Go C compiler option in xcc mode.
! Filter was returning constant failure due to internal
RTE in certain situations since add 'shared'/'static' filters.
+ Don't cover filter evalution with BEGIN SEQUENCE to avoid
such errors as above being kept hidden.
* examples/superlib/readme.txt
* examples/dbu/readme.txt
+ Made clear in text that we're needing 'GNU Patch' tool.
* utils/hbmk2/hbmk2.prg
! Fix to path normalizer. Last fix wasn't without side-effects
for relative dirs.
! Fixed potential RTE in yesterday's *.hbp handling.
* utils/hbmk2/hbmk2.prg
+ Added support for wildcarded project specs:
- This command will build each .hbp file found in current dir:
> hbmk2 *.hbp
- This command will build all .prg files in current dir,
each into a separate executable as separate projects:
> hbmk2 -target=*.prg
* utils/hbmk2/hbmk2.prg
+ Added support for filter keywords 'shared' and 'static'.
* bin/postinst.bat
* utils/hbmk2/hbmk2.hbm
* utils/hbrun/hbrun.hbm
* Moved extra libs required in shared mode to .hbm files.
! Fixed hbl= -> hbi=
* utils/hbmk2/hbmk2.prg
! Fix to prev fix reported by Vailton. Could RTE when compiling .hrbs.
+ Added -hbraw switch which will make hbmk2 work like harbour compiler.
+ .hbp extension is also recognized when embedded.
* tests/hbpptest/compare.bat
! Fixed long fn.
* tests/bnch_win.bat
! Fix in comment.
* utils/hbmk2/hbmk2.prg
+ Added -echo= command line parameter. Similar to echo= in .hbc files.
! Fixed filename expansion behaviour on empty strings.
* Tweaked a little the filter parser to recognize keywords using
similar rules to Harbour compiler.
! Fixed filter parser not to RTE on malformed filters.
- examples/hbapollo/Makefile
+ examples/hbapollo/hbapollo.hbm
- examples/hboleold/Makefile
+ examples/hboleold/hboleold.hbm
- examples/hbsqlit2/Makefile
+ examples/hbsqlit2/hbsqlit2.hbm
- examples/hbgf/hbgfwin/Makefile
+ examples/hbgf/hbgfwin/hbgfwin.hbm
- examples/hbgf/hbgfos2/Makefile
+ examples/hbgf/hbgfos2/hbgfos2.hbm
- examples/hbgf/hbgfgtk/Makefile
+ examples/hbgf/hbgfgtk/hbgfgtk.hbm
- examples/hbwhat/Makefile
+ examples/hbwhat/hbwhat.hbm
* Replaced GNU Make files with hbmk2 make files. These should
now work outside the source tree. Please test them, they are
also good examples for .hbm files.
- examples/pe/Makefile
- examples/pp/Makefile
- examples/hbdoc/Makefile
- examples/guestbk/Makefile
- examples/misc/Makefile
- examples/dbu/Makefile
- examples/hscript/Makefile
- examples/rl/Makefile
- examples/Makefile
- examples/hbgf/Makefile
- Deleted unnecessary make files belonging to GNU Make system.
(these wouldn't work outside the source tree, f.e in a binary
distro which includes these examples in source form)
- examples/rdddbt
- Deleted this example as it doesn't build anymore.
* examples/hbsuper/hbsuper.hbm
! Added SVN header.
* source/rtl/Makefile
* source/rtl/errint.c
+ source/rtl/errintlo.c
* Split hb_errInternal() and hb_errInternalRaw() for
easier user override.
* utils/hbmk2/hbmk2.prg
! Fixed typo causing -i Harbour option missed in make
modes where Harbour compiler is the final step (like -gh).
+ Directory for target is now automatically created.
+ Directory for -instpath paths are now automatically created.
! Fixed path normalizer not fully normalizing in some cases
when path didn't begin with path separator (relative path).
! Fixed path builder to not be confused about non-native
path separators.
% Path builder will now normalize first to minimize steps.
+ Now all dirs *beginning* with ".hbmk" will be made hidden.
(previously only dirs named exactly ".hbmk" were made hidden)
(experimental)
* utils/hbmk2/hbmk2.prg
! Fixed -map option for mingw family. Strangely its help
says '-Wl,-Map FILE' is the format but this only works
if FILE exists on disk :/ otherwise it gives an error
that FILE isn't found. 'Wl,-Map,FILE' seems to work for
all cases. Pbly OS/2 and DJGPP should also be fixed.
! Applied above fix for DJGPP and OS/2 GCC. I didn't test
it but probably works the same way as in mingw and *nix
gcc.
+ contrib/examples/hbsuper
+ contrib/examples/hbsuper/hbsuper.hbm
+ contrib/examples/hbsuper/hbsuper.dif
+ contrib/examples/hbsuper/hbsuper.prg
+ contrib/examples/hbsuper/readme.txt
+ Added SuperLib portability patch and Harbour make script.
Original sources need to be downloaded from The Oasis,
just like for DBU and RL.
This is a slightly minimal patch than my previous version
to minimize any unnecessary space/command changes, and
I also reverted to original C code where it was possible.
* utils/hbmk2/hbmk2.prg
* Minor formatting.
* utils/hbmk2/hbmk2.prg
% -undef/-D Harbour options will be reduced in cross-compilation
scenarios. If a __PLATFORM__* value appears as both -undef and
-D it will be omitted. This results in smaller command line,
plus works around this warning:
'Warning W0001 Redefinition or duplicate definition of #define __PLATFORM__WINDOWS'
when using the embedded compiler (doesn't seem to happen with
external compiler).
+ Added autodetection for mingw64 and mingwarm compilers. It should
now be enough to use -arch=wce on the command line to initiate a
WinCE cross-build if the compiler is setup in the path or using
the embedded installation. So it's recommended to use -arch=wce
instead of -arch=mingwarm from now on. For mingw64 builds, no
extra switch is needed, if in the PATH, it will be autodetected.
! Added Harbour command to Harbour command line shown in case of
error.
* contrib/gtwvg/wvgcuig.c
! Fixed one GCC warning. I'm not sure if this is a correct one,
my only goal was to make the warning disappear and to define
a previously undefined case.
; TOFIX: This warning still remains, and indicates unsafe code:
wvgsink.c:516: warning: dereferencing pointer 'hSink.33' does break strict-aliasing rules
* contrib/gtwvg/tests/demoxbp.prg
* contrib/gtwvg/tests/demowvg.prg
! Fixed hard-wired paths, so that now some more samples
work regardless of Harbour installation dir.
; NOTE: Never use hard-wired absolute paths inside any Harbour
component. We now have hb_DirBase(), please make use of it.
; NOTE: For me most of the samples still don't work, AX toolbar icons
don't appear, and most of the AX samples fail with an unclosable
window.
* contrib/hbwin/axcore.c
* contrib/gtwvg/wvgsink.c
* Moved recently added extra AX functions to GTWVG.
* Kept optimized, hbwin version of HB_AX_ATLCREATEWINDOW().
* Others renamed and commented:
WIN_AXGETUNKNOWN() -> WVG_AXGETUNKNOWN()
WIN_AXSETVERB -> WVG_AXDOVERB()
! HB_AX_ATLSETVERB() now accepts HWND pointers, too.
! HB_AX_ATLAXGETCONTROL() now accepts HWND pointers, too.
; TOFIX: GTWVG uses HB_AX_* prefix to denote AX function, while
these should be named WVG_AX*().
; TODO: Probably the full content, or at least the universally
useful portion of wvgsink.c should eventually go to hbwin,
but all these functions need further cleanups,
and they also have to be renamed. I don't know what we
should stay compatible with so it's difficult to make
any moves. Some test code showing the usefulness of
these function would be probably help.
* include/hbsetup.h
* source/common/hbver.c
+ Moved CPU detection to core header. Introduced
HB_CPU_* macros. Now they can be used to branch code
by CPU type.
* contrib/rddads/adsmgmnt.c
+ Added my copyright.
* contrib/hbwin/wapi_commctrl.c
* contrib/hbwin/wapi_winbase.c
* contrib/hbwin/wapi_winuser.c
! Fixed remaining hb_parc() vs hb_parcx() usages.
% WAPI_TABCTRL_CREATE() further simplified.
Please review, it may be wrong.
* utils/hbmk2/hbmk2.prg
* Minor internal change.