* utils/hbmk2/hbmk2.prg
! Fixed C++ support for dos/djgpp. exe name was wrong.
* examples/superlib/readme.txt
* examples/dbu/readme.txt
* examples/rl/readme.txt
+ Added hbformat command to intructions how to convert
original sources to patchable format (EOL + lowercase).
Many thanks to Alexander Kresin.
* utils/hbformat/hbformat.prg
* utils/hbformat/hbformat.ini
* if "nEol" option is 0, the EOL is set to OS default value
* new option added - lFCaseLow ( default - no ). If yes, the file name
is converted to lower case.
* A limitation for file mask has been introduced - *.* is rejected now
( it may be dangerous ).
* external/libpng/Makefile
! Fixed to properly link with DJGPP.
* utils/hbmk2/hbmk2.prg
! Fixed ${hb_cpu} macro for dos/os2 platforms.
* contrib/hbhpdf/Makefile
* utils/hbmk2/examples/contribf.hbc
+ Enabled for DOS platform.
; I could back port my app to DOS after these changes, with
only inet stuff not linked in.
* INSTALL
* Further cleanups in pocc examples.
* utils/hbmk2/hbmk2.prg
+ Added support to detect pocc64 vs. pocc when one
common PellesC installation is used. This is probably
how most users will use it in real life.
New pocc 6.0 support one unified build for pocc, pocc64 and poccarm.
* INSTALL
* Revised links section.
+ Added User Forums, removed user mailing list.
; I'm not sure if we should link to comp.lang.clipper.
* utils/hbmk2/hbmk2.prg
! Fixed just added -hblib lib assembly command line to use {SCRIPT}
in dos/djgpp.
; TOFIX: dos/owatcom builds can now created successfully
(using standard Open Watcom 1.8 installation),
the bad news is that f.e. hbmk2 will crash the
NTVDM when trying a simple make.
* INSTALL
! Minor fix to DOS instructions.
+ Added DOS build examples.
* mpkg_dos.bat
! Fixed target dir and archive name to be different
for djgpp and owatcom builds.
* make_gnu.bat
+ config/djg-make.exe
+ Added embedded copy of DOS build of GNU Make.
This is to make DOS builds, specifically dos/owatcom
builds simpler. Original filename was 'make.exe'.
This can probably be removed once we move DOS
platform status to a 'target-only' one, like WinCE/ARM.
* make_gnu.bat
! Ugly hack added to create doc/en-EN dir. This still
won't solve the DOS copy problem unless I remove
the hack committed previously. If I remove it
the make process cannot be anymore started without
this batch file as it would choke on xcopy if
above dir doesn't exist.
* make_gnu.sh
! Applied fix to only create install dirs if called
with 'install' option. At the same time enabled
this feature for all platforms. It will also create
doc/en-EN dir.
PLEASE TEST/REVIEW, I didn't do any testing.
; TOFIX: Much or all of these should IMO be done directly
from make files, it would be much self-contained
and consistent.
* source/pp/Makefile
! Fixed to find ChangeLog when building for DOS targets.
This was a problem when trying to build dos/owatcom.
Now in DOS mode it will refer to the ChangeLog by its
8.3 name.
* utils/hbmk2/hbmk2.prg
* Minor formatting.
* mpkg_deb.sh
* harbour.spec
- Deleted hbmsql.
; TOFIX: hbqt is missing from some Linux make files.
; TOFIX: (in next major release) We should try to
make Linux build files less-maintenance intensive.
* utils/hbmk2/hbmk2.prg
! Fixed windows/dos cross-compilation. The error is very
strange, it occures only when calling gcc in compiler
mode with @script file. See comment in source, maybe
someone has an idea.
Anyway now it's possible to bundle DOS libs in the unified
Windows build and create DOS apps/libs with it, using this command:
hbmk2 hello.prg -arch=dos
[needs DJGPP in PATH]
(I couldn't make owatcom work on DOS, but that may also work
along the same lines)
+ Added support for static lib generation for dos/djgpp.
+ Added support for static lib generation for os2/gcc. (untested)
Where are our OS/2 developers?
* config/dos/global.cf
! Fixed to use xcopy instead of copy to 'install' files.
This means long filenames (and also casing) will be retained.
This also means that now 'install' actually works.
It may also mean that creating a DJGPP build isn't anymore
possible on a pure DOS system, I can't remember when xcopy
was introduced. Anyway I think it's better to have this
requirement than not having a proper DOS build at all
(since long years).
This also means that our DOS release cannot even be *used*
in pure DOS environment, since our long filenames will
be chopped when extracting the distro .zip. Only final
.exes are able to run under DOS.
We still have the option to implement full short name
support, but I'm not sure this has any importance anymore.
If we don't want to do this, we can finally lift some
restrictions which tied our hands so far, based on the
fact that DOS builds cannot even be created and run on
real DOS. So, this means:
- We may use long filenames as distro name.
- We may convert DOS platform as a target only platform,
similar to WinCE/ARM.
- If we do the above, we may even embed our DOS
libs in Windows distro, and build DOS apps using
hbmk2 hello.prg -arch=dos
- We may use long filename anywhere in our tree.
(but we must check first if long names are also
supported for headers, dirnames and source names)
If you have an opinion, please tell.
* config/dos/global.cf
! Adding ending pathsep to DOC_SUBDIR to make xcopy happy
and not ask if the target is a file or directory.
; TOFIX: Anyhow, DOC_SUBDIR feature simply doesn't work since
very long, so we should do something about it in the future.
* debian/changelog
+ Added new version entry. (Thanks Guy)
* bin/postinst.bat
! Added workaround to make it work under DOS.
(avoiding 'Out of environment space' error)
+ mpkg_dos.bat
+ Added DOS package generator batch. Very similar
to mpkg_win.bat, maybe we should merge them in
the future.
* mpkg_win.bat
* Using short name for main dir, just to sync it with
DOS version.
* utils/hbformat/hbformat.prg
+ Changed default GT to GTCGI.
* utils/hbmk2/hbmk2.prg
! Added workaround for dos/djgpp anomaly in hb_DirBase()
(and also hb_ProgName()) where path contains forward
slashed instead of backslashes.
; TOFIX: In core.
* source/vm/Makefile
! Disabled hbvmall for dos build because of thid djgpp error:
---
gcc -I. -I../../../../include -Wall -W -O3 -c ../../hvmall.c -ohvmall.o
In file included from ../../../../include/hbmath.h:60,
from ../../itemapi.c:97,
from ../../hvmall.c:67:
c:/devl/djgpp/include/libm/math.h:97: error: redefinition of 'struct exception'
---
* contrib/hbblat/hbblat.hbc
* contrib/hbhpdf/hbhpdf.hbc
* Minor formatting.
* utils/hbmk2/hbmk2.prg
* Synced HB_DYNLIB handling with GNU Make. This means
that from now on hbmk2 won't use -DHB_DYNDLL C compiler
switch in -hbdyn mode for mingw/cygwin compilers.
* ChangeLog
* Updated status of some TODO/TOFIX entries.
* contrib/rddsql/sddodbc/tests/sddodbc.hbc
+ Added odbc32 to lib list for win platform.
* utils/hbmk2/hbmk2.hbp
* utils/hbrun/hbrun.hbp
* Removed mingw specific hack which made benefit from
the fact that mingw-made .dlls export all public symbols,
when built for shared.
* INSTALL
* Minor simplification.
* make_gnu.bat
* Minor cleanup.
- Deleted 'don't modify, this is a template' text.
* utils/hbmk2/hbmk2.prg
+ Targets will now get an alternate workdir by default
on win/wce platforms when using -hbdyn.
; TOFIX: ? HB_DYNLIB usage should be cleaned and synced with
GNU Make system.
Current HB_DYNLIB usage:
GNU Make system: ( win or wce ) and non-gcc
hbmk2: ( win or wce )
* contrib/Makefile
- contrib/hbmsql
+ examples/hbmsql
* Moved hbmsql to examples.
- examples/hbmsql/Makefile
+ examples/hbmsql/hbmsql.hbp
+ Changed GNU Make file to hbmk2 make file.
* examples/hbmake/hbmake.hbp
* Minor to comment.
* make_gnu.bat
+ Added C compiler autodetection. This feature will kick
in if HB_COMPILER is left empty.
(works for all compilers except msvcarm and poccarm)
* utils/hbmk2/hbmk2.prg
+ Added -nohblib option which will omit all static core
Harbour libraries from link commands. Works only in
the command line.
* INSTALL
* Minor.
* 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