* include/hbapi.h
* source/common/hbstr.c
* source/rtl/hbmd5.c
* Moved (and somewhat standardized and renamed) mem to hex C
function from hbm5/rtl to common lib.
* bin/hb-func.sh
! Fixed double '%' chars in hbmk.cfg generation.
* contrib/hbcrypt/Makefile
+ contrib/hbcrypt/hbsha1.c
+ contrib/hbcrypt/hbsha1hm.c
+ contrib/hbcrypt/tests/testsha1.prg
+ Added HB_SHA1() and HB_HMAC_SHA1() functions.
* source/rtl/hbmd5.c
* Changed meaning of second boolean parameter. From
now on a .T. has to be passed to get binary output.
(I won't list this as a incompatible, as the new
parameter has just been introduced)
; by now HB_MD5() and HB_SHA*() functions are synced
in functionality.
* contrib/hbcrypt/hbsha1.c
* contrib/hbcrypt/hbsha2.c
* contrib/hbcrypt/hbsha1hm.c
* contrib/hbcrypt/hbsha2hm.c
* contrib/hbcrypt/tests/testsha2.prg
* Changed all SHA2 functions to returned digest in hex
format by default. The binary format can be requested by
passing .T. as an extra parameter.
INCOMPATIBLE: Please update your sources if you used
these functions. Add .T. parameter to keep
current workings.
* contrib/hbcurl/hbcurl.c
% Cleaned types (no BYTE, no BOOL, deleted unnecessary casts).
Only a few ULONGs remained.
* contrib/hbssl/pem.c
+ Some advances.
* contrib/hbssl/Makefile
+ contrib/hbssl/evp.c
+ contrib/hbssl/evpciph.c
+ contrib/hbssl/evpmd.c
* contrib/hbssl/hbssl.ch
+ contrib/hbssl/tests/digest.prg
+ contrib/hbssl/tests/crypt.prg
+ Added almost complete EVP (hashing, encryption, decryption) API.
This means support for a max of 14 hashing methods and
about 90 symmetric encryption methods.
* contrib/hbssl/ssl.c
* contrib/hbssl/sslctx.c
* Moved two functions between files.
* bin/postinst.bat
* config/globsh.cf
+ Tweaked/fixed to allow building Harbour present on a path
which contains spaces.
* bin/postinst.bat
! Fixed for MS-DOS. Again.
Here ChangeLog again causes some problems.
* config/globsh.cf
% Removed some redundancy regarding tool path forming.
* config/global.cf
* config/win/global.cf
* config/linux/global.cf
* config/os2/global.cf
* config/wce/global.cf
+ Changed host CPU detection.
+ Added automatic __PLATFORM__* macro configuration in cross-build
situations.
+ Enhanced target/host CPU detection and decisions based on them.
+ Added automatic HB_BIN_COMPILE setup if not specified by user.
In such case Harbour build will automatically look for the first
available native build and use that.
+ Protected detection related screen messages with HB_BUILD_VERBOSE=yes.
* Minor sync in shell command definition order.
* INSTALL
% User set __PLATFORM__* macro tweaks not needed anymore.
* bin/postinst.cmd
* bin/postinst.bat
* bin/hb-func.sh
* addins -> addons
(hm, which is better?)
* 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)
* Makefile
! Adjusted a little bit to postinst.bat executed for Linux
cross builds also.
* doc/linux1st.txt
* source/rtl/Makefile
* config/hpux/global.cf
* config/darwin/global.cf
* config/dos/global.cf
* config/win/global.cf
* config/win/xcc.cf
* config/win/mingw.cf
* config/win/pocc.cf
* config/linux/watcom.cf
* config/linux/global.cf
* config/os2/global.cf
* config/sunos/global.cf
* config/bsd/global.cf
* config/wce/global.cf
* config/wce/poccarm.cf
- Deleted references of already halfly-deleted HB_GT_LIB
support. Users should use -DHB_GT_LIB=<gtname>. HB_GT_LIB
also has a different, special purpose in os2, this is still
kept, but it would be better to use some other names for it.
! Fixed linux/watcom to suppress .elf extension of binaries
when built on a non-Linux host.
- Deleted extra GT libs from link list. Now all *portable* GTs
plus the default one are *linked*, and all GTs are always
attempted to be *built*.
- Deleted checking GT libs extistance. They always exist
unless the source tree is corrupted, so there is no point
to do this check.
* wce/poccarm now always have /SUBSYSTEM:WINDOWS.
; NOTE: If we want to support build-time default GT selection/override,
we should find some proper ways, but it makes things
very complicated without much benefit, since GT can be
easily overridden in final apps, supplied binary tools can
also very easily rebuilt using hbmk2 with whatever GT.
* utils/hbmk2/hbmk2.prg
* Minor formatting.
* make_gnu.bat
+ Minor adjustment to support OS/2 cross-builds.
* source/rtl/gtwvt/gtwvt.c
* Minor adjustment to casting to Windows type.
* contrib/hbfimage/Makefile
- Disabled for OS/2.
* bin/postinst.cmd
+ Synced with .bat. 'copy' replaced by 'xcopy'.
* config/os2/watcom.cf
+ Added fix (from win/watcom.cf) to swap dirseps
for wcc386 as it cannot accept forward slashes.
Przemek, please adapt this for Linux, as it's
probably not needed there.
* bin/postinst.bat
+ Added .hbc search paths: /contrib, /contrib/rddsql, /addins, /examples.
NOTE: addins will be the directory where 3rd party addins
can be added.
* utils/hbmk2/hbmk2.prg
* Refinements to path handling of -icon= parameter.
- utils/hbrun/hbrun.rc
* utils/hbrun/hbrun.hbp
* Switched to use -icon option instead of .rc file.
* contrib/hbtip/client.prg
! Minor cleanups and fixes to proxy handling.
% Deleted second parameter from HB_BASE64() calls.
* contrib/hbtip/smtpcln.prg
% Deleted second parameter from HB_BASE64() calls.
* bin/postinst.bat
* Force English language hbmk2 in Harbour build.
* contrib/hbtip/client.prg
+ Added proxy support.
Borrowd from xhb, work of Luiz Rafael Culik.
Formatted, minor fixes applied, TRY/CATCH error handling
method swapped from simple bool retval method (which
is otherwise used in hbtip). Not tested yet.
* bin/postinst.bat
* mpkg_gnu.bat
+ Moved copying of root doc (ChangeLog, INSTALL) files
to postinst.bat.
* make_gnu.bat
! Minor fix to not accept extra cmdline parameters when
in full build mode.
* harbour/bin/hb-func.sh
* harbour/utils/hbmk2/hbmk2.prg
* updated automatic first function detection to decode non symbol
characters in C function names
* utils/hbmk2/hbmk2.prg
! Always escape filenames/paths if they contain "-" char.
(on Windows).
(this could recently cause a regression with BCC)
* include/hbapi.h
! Missded change from previous commit.
* bin/postinst.bat
+ hbrun is now built also in non-dll mode at the end of the
build process, so it gets built with the icon.
Probably we should switch to using hbmk2 to build these
extra tools, eventually.
* bin/hb-mkdyn.sh
! Fixed to not use HB_CCPREFIX for libtool command.
* utils/hbmk2/hbmk2.prg
! Fixed typo in libtool cmd.
* ChangeLog
* Items marked DONE.
* 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.
* 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.
* bin/hb-mkdyn.bat
! Applied version number change to this file, too.
* contrib/xpp/xpp.ch
+ Added minor tweak to not confuse non-Harbour compilers
if included.
* contrib/rddsql/sddfb/fbirddd.c
* contrib/rddsql/sddpg/pgsqldd.c
! Warnings fixed.
* contrib/hbmysql/mysql.c
! Fixed wrong type for file handle, causing problems for x64 builds.
* contrib/hbnf/descendn.c
! Removed 'auto' keyword which is no longer recognized by
MSVC 2010.
* bin/postinst.bat
+ Creating implibs for msvc64/mingw64 platforms where 3rd
parties support it. (libcurl, firebird, mysql)
* contrib/gtwvg/wvggui.h
! Fixed to compile with MSVS 2010. Thanks Pritpal.
* contrib/gtwvg/wvggui.c
* Reenabled for MSVS 2010 after applying fix.
* 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
! Fixed to morph harbour binary extension according to target
platform. This should fix HB_INSTALL_PREFIX autodetection and
also -trace display of harbour command line.
Please test.
* harbour/bin/hb-func.sh
! Changed comp= line to not have a filter. Filters aren't
supported here, even the whole line isn't processed yet
by hbmk2.
* INSTALL
* Minor correction.
* bin/hb-func.sh
! HB_USER_LIBS_DEF -> CC_HB_USER_LIBS
; QUESTION: Is it a problem to move these to HB_ namespace?
* source/rtl/lang.c
! Fixed to return language IDs with consistent '-' separators
instead of '_'. We may change this to consistent '_', if
we decide it's better.
* utils/hbmk2/hbmk2.prg
% Changed default way of updating .po files. New method supports
incremental updates, thus much faster than previous solution.
As a side-effect, removed from source and changed translatable
strings won't automatically disappear from .po files.
This new method is also much friendlier to version control
systems, as .po entry order won't change on each minor update
(and generate a huge commit diff).
+ Added -rebuildpo option to activate a complete rebuild of .po
files, clearing all no more existing entries. This operation
will take more time, will create big diffs and it's recommended
to be done when doing a complete rebuild (maybe this will
be automatically enforced later on).
; With this, hbmk2 seems feature complete. (maybe C++/C mode
switching could be added yet, it's on the TODO list)
* bin/hb-func.sh
* Addition of libs= entry in hbmk.cfg file will now be
initiated by setting envvar HB_USER_LIBS_DEF (was HB_USER_LIBS),
to avoid potential binary build problems where locally
set HB_USER_LIBS envvar could create an unusuable (on other
systems) builds (hbmk2 setup).
+ contrib/rddsql/readme.txt
+ Added readme (posted on the list). Work of Mindaugas.
* harbour/bin/hb-func.sh
* respect HB_USER_LIBS creating hbmk.cfg
* harbour/contrib/rddads/ads1.c
! fixed minimal record buffer size calculation
! fixed adsGetValue() method hacked to not report errors due to too
small field buffer.
Warning! Now ADS RDD will report any error as RTE if sth wrong
will happen in one of AdsGet*() function when field is read so
it's possible that also some other hidden bugs will be exploited
and you will see RTE. Please test it.
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added -tshead=<file> option to create a .ch header with
build timestamp information in it: _HBMK_BUILD_DATE,
_HBMK_BUILD_TIME_, HB_BUILD_TIMESTAMP_.
* -opt/-noopt -> -optim/-nooptim to avoid name ambiguity.
+ Added feature to -vcshead= to create a locally rolled
build number if there is no version control system detected.
In this case _HBMK_VCS_TYPE_ will be defined as "hbmk"
and _HBMK_VCS_ID_ will be initialized with a string, starting
with "1" and incremented on each hbmk2 call.
* Internal change to componentize hbmk2 functionality, clearing
away all STATIC vars and some parameter passing hacks.
Work in progress, TODO added.
! Fixed cosmetic bug in debug output when making .po.
* source/rtl/mlcfunc.c
! Fixed warning appeard in latest change.
* source/rtl/trim.c
* source/compiler/hbfunchk.c
- Removed HB_EXTENSION protected second extended parameters
from RTRIM() and ALLTRIM(). If you miss this option, please
report it on the list, we may readd such functionality under
some different name.
INCOMPATIBLE for HB_EXTENSION builds.
* doc/dirstruc.txt
* bin/hb-func.sh
* utils/hbmk2/examples/contribf.hbp
- contrib/hbole
* contrib/Makefile
+ contrib/hbwin/oleinit.c
+ contrib/hbwin/olecore.c
+ contrib/hbwin/hbwinole.h
+ contrib/hbwin/oleauto.prg
+ contrib/hbwin/tests/sample.odt
* contrib/hbwin/tests/testole.prg
- contrib/hbwin/win_tole.prg
- contrib/hbwin/win_ole.c
+ contrib/examples/hboleold
+ contrib/examples/hboleold/tests
+ contrib/examples/hboleold/tests/testole.prg
+ contrib/examples/hboleold/win_tole.prg
+ contrib/examples/hboleold/win_ole.c
+ contrib/examples/hboleold/Makefile
* Replaced old hbwin OLE implementation with
new implementation in hbole. Thanks to
Mindaugas Kavaliauskas for the new implementation.
Those who need the old implementation in the
meantime for any reason, can find it in contrib/example/hboleold.
; TODO: Fill the few missing features (ActiveX/FiveWin
compatibility).
* ChangeLog
* Marked two TODO/TOFIX done.
* harbour-win-spec
* harbour-wce-spec
* bin/hb-func.sh
* doc/dirstruc.txt
* doc/whatsnew.txt
- contrib/hbwinprn
* contrib/Makefile
* contrib/hbwin/Makefile
+ contrib/hbwin/win_prn1.c
+ contrib/hbwin/win_prn2.c
+ contrib/hbwin/win_tprn.prg
+ contrib/hbwin/tests/testprn.prg
* utils/hbmk2/examples/hmg.hbp
* utils/hbmk2/examples/fwh.hbp
* utils/hbmk2/examples/contribf.hbp
! Undone undiscussed (worsened by recent mailing list problems)
changes done in previous two commits.
The direction in Harbour is that we try to gather all
Windows specific functionality into one contrib (hbwin),
if there is a fault or missing feature we fix it at the
proper place (in this case in hbole) instead of splitting
hbwin lib into pieces.
; TOFIX: Refix deleted change history for "moved" files.
; TODO: Move hbole to hbwin and fix missing OLE bits in hbwin.
* ChangeLog
! Fixed duplicated header in one of the entries after prev two commits.
* bin/postinst.bat
+ Added generation of libpq.lib from .dll for msvc. (not tested)
+ Added generation of QT implibs for msvc. (not tested)
+ Copying QT implibs for mingw.
* source/common/hbverdsp.c
! Minor in comment.
* utils/hbmk2/hbmk2.prg
+ Added MT support for C compilation phase.
Single input compilers aren't covered yet (gcc, pocc).
+ Added -debugtime internal option to measure running time.
* bin/postinst.bat
+ Added support for HB_BUILD_IMPLIB for mingw.
(only when using Windows shell to build it, which is now the
preferred method.)
ace32 implib method was applied to most other libs, too. I didn't
test it, it may need further tweaks. I'll tweak it gradually, with
hbmk2 it is probably better to use implibs from native locations
where possible (like we do for QT on all platforms and like we do
for all non-Win platforms), so even other compilers may get
further changes.
* source/vm/Makefile
+ Enabled "amalgamated" VM lib for all compilers/platforms,
except for those where this doesn't give any advantage, or
it breaks the build, these are: pocc*, xcc, bcc, dmc.
Please note that Open Watcom 1.7 might also fail (I didn't
test), so make sure to upgrade to 1.8.
* harbour-win-spec
* harbour-wce-spec
* mpkg_win.bat
* mpkg_tgz.sh
* harbour.spec
* bin/hb-func.sh
* include/hbsetup.h
* source/vm/Makefile
* source/vm/fm.c
- source/vm/fm
- source/vm/fmmt
* utils/hbmk2/hbmk2.prg
- Removed hbfm and hbfmmt lib references. These libs are
no longer generated or used.
* Narrowed HB_FM_STATISTICS presence in various source
files. From now on the system default for all builds is
HB_FM_STATISTICS_OFF. We may change this to
HB_FM_STATISTICS_DYN_OFF if we find a solution to the
potential and actual problems with this method.
If someone needs to change mem stat default, it can be
done by ususal means.
* bin/postinst.bat
! Fixed shared executable creation for cross-builds.
* utils/hbmk2/hbmk2.hbm
* utils/hbi18n/hbi18n.hbm
% Added -nulrdd. This will remove the hbmk2 build size overhead
compared to GNU Make built executables.
* utils/hbmk2/hbmk2.prg
! Don't add the same libdir twice in some cases.
+ Added support for wce arch in remaining places.
! Added hbmainwin and hbmainstd for mingw targets.
This should fix some failing shared lib scenarios I've
experienced with minwgce. I hope it doesn't break
everything else (tested mingw64 and mingw scenarios worked).
* Internal change to handle shared libname separately
so that special extensions and handling can be added
for it, if needed.
* bin/hb-mkdyn.bat
* owatcom tweaks. Build is still going dunno if this will be okay.
* contrib/hbqt/generator/rebuild_hbqt.bat
* Added hbmk2 dir.
* utils/hbmk2/hbmk2.prg
! Fixed stupid MSVC typo.
* harbour/bin/hb-func.sh
+ added support for displaying harbour bin, lib and include directories
for --hbbindir --hblibdir --hbincdir parameters.
Viktor please add such functionality also to hbmk2.
Only given directories should be displayed without any other
characters in the output.
Such feature allows to use -I`hbmk --hbincdir` in *nixes build
scripts what should greatly simplify 3-rd party projects make scripts.
* harbour-wce-spec
* INSTALL
* bin/postinst.bat
* Makefile
* make_gnu.bat
* external/sqlite3/Makefile
* external/libhpdf/Makefile
* external/libpng/Makefile
* contrib/gtalleg/Makefile
* contrib/hbodbc/Makefile
* contrib/hbtpathy/Makefile
* contrib/hbole/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/Makefile
* contrib/hbfbird/Makefile
* contrib/hbwin/Makefile
* source/vm/Makefile
* source/vm/vmmt/Makefile
+ Added wce arch and mingwarm/msvcarm/poccarm support.
In parallel with old win/mingwce|msvcce|poccce support.
As soons as this new one work, the old one will be deleted.
* make_gnu.bat
! Fixed to work like rest of targets for GCC family.
It will now only initiate a 'clean install' if HB_BUILD_DLL=yes.
* utils/hbmk2/hbmk2.prg
+ Added Przemek's code for rtlink/blinker script parsing.
Not yet activated.