* harbour/source/compiler/hbmain.c
* extended -n2 to work also with code without starup procedure but with
local variables
* harbour/utils/hbrun/hbrun.prg
+ added -n2 to compiler parameters when .prg file is compiled and
executed. It allows to use with hbrun .prg files with and without
startup procedure
* utils/hbmk2/hbmk2.prg
+ Added support for rest of embedded compiler installations:
pocc64, poccarm, dos/watcom. Since these share a common
install kit with other targets, they can only be selected
using -comp= switch and in this case they will be used
if the installation is present.
* contrib/hbwin/win_misc.c
+ Added support for embedded Chr(0) to WIN_ANSITOWIDE() and
WIN_WIDETOANSI().
! Fixed WIN_ANSITOWIDE(). Dunno when it worked the last time,
but it must be long ago (SysStringLen() was returning zero).
* contrib/hbwin/Makefile
* contrib/hbwin/win_misc.c
+ contrib/hbwin/wapi_shellapi.c
* Moved and renamed WIN_SHELLEXECUTE() to WAPI_SHELLEXECUTE()
since this implementation is a full wrapper of original
Windows API. Incompatible. Please update your sources.
* contrib/hbwin/legacyco.c
* Formatting.
* utils/hbmk2/hbmk2.prg
+ Added preliminary support for autosetup for several more
compilers: win/watcom, win/pocc, win/pocc64, wce/poccarm,
dos/djgpp, dos/watcom.
Only these were tested: dos/djgpp, win/watcom, win/pocc.
This means it's now possible to "bundle" DJGPP, watcom or
pocc _compiler tools_ with Harbour and hbmk2 will be able
to detect them, or user can choose between them using
-arch/-comp switches, then hbmk2 will just be able to use
them "as is", without the need to change anything on the
environment. zero-conf usage in essence, just like we
already had for mingw family.
; NOTE: Before the release I'll rethink placement of these
tools inside the Harbour directory tree. Currently
they are detected in the Harbour root dir, but with
multiple compilers this is not ideal.
* source/vm/thread.c
! Fixed compile error after 2009-06-16 08:55 UTC+0200.
* utils/hbmk2/hbmk2.prg
- Deleted hb_DirBase() DJGPP hack after Przemek's fix.
- Deleted gcc compiler command line hack after Przemek's fix.
* contrib/hbxbp/xbp.ch
+ Added extra protection for Windows-only debug line.
* contrib/hbxbp/apig.ch
* Minor in comment.
* contrib/rddado/adordd.prg
* Minor formatting.
* Changed it to use non-legacy OLE interface.
PLEASE REVIEW & TEST.
* contrib/hbwin/legacy.prg
+ Added support for TOleAuto():cClassName var.
+ Added RTE generation in case the OLE object cannot be created.
PLEASE REVIEW & TEST.
+ contrib/rddado/tests/test.mdb
+ Added. It's generated by access2.prg to avoid any problems.
* contrib/rddado/tests/access1.prg
* Minor formatting.
; TOFIX: Does't work:
---
Error BASE/3012 Argument error: OPEN
Called from WIN_OLEAUTO:OPEN(0)
Called from ADO_OPEN(0)
Called from DBUSEAREA(0)
Called from MAIN(11)
---
- examples/uhttpd
+ examples/httpsrv
- examples/httpsrv/uhttpd.ini
+ examples/httpsrv/httpsrv.ini
- examples/httpsrv/uhttpdgd.hbp
+ examples/httpsrv/httpsrvg.hbp
- examples/httpsrv/uhttpdc.c
+ examples/httpsrv/httpsrvc.c
- examples/httpsrv/uhttpd.prg
+ examples/httpsrv/httpsrv.prg
* examples/httpsrv/cookie.prg
* examples/httpsrv/cgifunc.prg
* examples/httpsrv/session.prg
* examples/httpsrv/readme.txt
* Renamed uhttpd to httpsrv.
NOTE: If there are better names proposed I can rename
it to anything else. Mindaugas's new uhttpd will
be name uhttpd2 to avoid any ambiguity.
* utils/hbmk2/hbmk2.prg
! Fixed extension-less parameters not recognized as .prg
on dos platform.
(they were picked as libs due to extension match with
empty dynamic lib extension)
Thanks to Przemek for the report.
* utils/hbmk2/hbmk2.prg
+ Added skip=yes|no option support to .hbc files.
skip=yes will cause the rest of the .hbc file to be skipped
from processing.
+ Now .hbc files are recognized even in libs= lines.
+ Showing error message when a referred .hbc cannot be found.
* utils/hbmk2/examples/contribf.hbc
* Updates/fixes.
* contrib/xhb/xhb.hbc
* contrib/hbtpathy/hbtpathy.hbc
* contrib/hbblat/hbblat.hbc
* contrib/hbziparc/hbziparc.hbc
* contrib/hbxbp/hbxbp.hbc
* contrib/rddsql/sddmy/sddmy.hbc
+ contrib/rddsql/sddpg/sddpg.hbc
+ contrib/rddsql/sddfb/sddfb.hbc
* contrib/rddsql/sddodbc/sddodbc.hbc
* contrib/rddado/rddado.hbc
* contrib/gtwvg/gtwvg.hbc
* contrib/rddads/rddads.hbc
* contrib/hbfimage/hbfimage.hbc
* contrib/hbtip/hbtip.hbc
* contrib/hbwin/hbwin.hbc
* contrib/hbssl/hbssl.hbc
+ Added some missing .hbc files.
* Tweaked to use .hbc references.
* Tweaked filters. .hbc files will now filter themselves out,
if they are references in unsupported environment, like hbwin
under linux.
* ChangeLog
* Marked TOFIX/TODO as DONE.
* utils/hbmk2/hbmk2.prg
+ Added Harbour 1.0.x support for -main and -gt* options.
Should also work with xhb.
* utils/hbmk2/examples/hmg.hbc
! Updated. Tested okay with HMG 2.9.2.
- utils/hbmk2/examples/wxharbour.hbc
- Deleted, now hosted by wxHarbour project.
Many thanks to Teo Fonrouge.
* utils/hbmk2/examples/xhgtk.hbc
* Updated hbmk2 make file xhgtk.
Also sent this and xhgtk.hbp to Rodrigo Moreno to consider
uploading them files to xhgtk repository.
It makes building the lib and using the lib very simple
on all platforms/compilers.
+ utils/hbmk2/examples/wxharbour.hbc
+ Added wxharbour hbmk2 config file.
Also sent to Teo Fonrouge to consider uploading it to
repository (and later make it easier to merge it with
ours).
* contrib/hbqt/Makefile
* contrib/gtqtc/Makefile
+ Added another alternative header path to detection list.
* source/rtl/achoice.prg
! Partially reverted this commit:
https://sourceforge.net/apps/trac/harbour-project/changeset/10605
After this change, activating DBU menus with all items disabled
(f.e. F7/F8) caused app hang.
This line:
nUserFunc := iif( nMode != AC_NOITEM,;
Do( xUserFunc, nMode, nPos, nPos - nAtTop ), NIL )
Was now changed back to this:
nUserFunc := Do( xUserFunc, nMode, nPos, nPos - nAtTop )
ac_test2.prg still seem to function fine after this, but
I'd kindly like to ask Vladislav Lavrecky to make tests
again, maybe we need another fix here.
* source/vm/evalhb.c
* Minor formatting.
* contrib/hbtip/client.prg
* Minor formatting.
! :ReadToFile() nMode param check.
* utils/hbmk2/hbmk2.prg
* Cleanup to variable name prefixes.
* contrib/xhb/Makefile
+ contrib/xhb/xthrow.prg
+ Added THROW() function for xhb compatibility.
This is written in Harbour, based on hbcompat.ch
and has Harbour license + exception.
+ contrib/xhb/xcstr.prg
+ contrib/xhb/xdbmodst.prg
* contrib/xhb/Makefile
+ Ported following old functions from xhb:
CSTRTOVAL(), STRINGTOLITERAL(), VALTOPRG(), PRGEXPTOVAL()
+ Ported following new functions from xhb:
VALTOARRAY(), VALTODATE(), VALTOHASH(), VALTOLOGICAL()
VALTONUMBER(), VALTOARRAY(), VALTOTYPE(),
DBMODIFYSTRUCTURE(), DBIMPORT(), DBMERGE()
(borrowed from xhb, work of Ron Pinkas)
* mpkg_deb.sh
! Applied patch to recent change to only accept
QT libs on or above version 4.5.0.
Patch submitted by Guy Roussin.
* utils/hbmk2/hbmk2.prg
+ Added ${hb_status} and ${hb_revision} macros which
will return Harbour version status and revision.
* contrib/rddads/ads1.c
! Fixed to allow EF_CANDEFAULT in EG_DATAWIDTH RTE when
trying to update field content.
* examples/dbu/dbu52.dif
* examples/dbu/dbu53.dif
! Fixed two more filename edit fields where uppercase was
forced. Thanks to Davor Siklic for the hint.
* 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)