* utils/hbrun/hbrun.prg
+ Extended to look in current dir, hbrun dir and PATH for
passed script name, if no extension was passed, it will
try .hbs and .hrb in that order. This means hbrun is
pretty much like a shell command processor now.
* bin/hbxpatch.hbs
* utils/hbmk2/hbmk2.prg
* utils/hbrun/hbrun.prg
* contrib/hbqt/hbmk2_plugin_qt.hbs
* config/postinst.hbs
* HB_OSPATHSEPARATOR() -> HB_PS()
* HB_OSNEWLINE() -> HB_EOL()
* utils/hbmk2/hbmk2.prg
* Using string literals instead of Chr() in few places.
! FindInPath() corrected to honor original dir in filename
it receives. This may affect plugins if they pass such
argument.
* utils/hbmk2/hbmk2.prg
+ -clean will now delete the target for -hbdyn, -hblib and default
-hbexe modes. .bak is also deleted for -hblib mode.
Probably more autogenerated extensions will have to be deleted
here to become in sync with globsh.mk.
+ Extended -instfile and -instpath support to also accept
a file group prefix. This way multiple set of files can be
copied to a set of target directories.
; TODO: Change all -instfile options to point to 'inc' group.
+ dos/djgpp will now use -gstabs+ for debug mode instead of -g.
Following change made in GNU Make system by Tamas.
* contrib/makefile.hbs
+ Reworked the way GNU Make operations are mapped to hbmk2
actions. F.e. 'clean install' needs special attention as
plain clean cannot be done because
+ Added hbblat to limited set of test contribs.
+ Better isolation and preparation of hbmk2 configuration.
+ Cleanups to dynamic lib creation from contribs.
+ Added experimental support to install headers similarly
as GNU Make does.
* Makefile
! Fixed to reverse order and dependency of contrib and utils
trees in clean without install mode. In pure clean mode,
the contribs need to be traversed first, because hbrun and
hbmk2 are required for this task.
* Makefile
* contrib/Makefile
+ Will now inform about missing hbrun and .hbs scripts not
run because of it.
* examples/hbapollo/hbapollo.hbp
* -instfile updated with header file group.
* src/rtl/hbproces.c
! Fixed some unused variable warnings experienced with poccarm.
; Patches from Tamas Tevesz:
* config/dos/djgpp.mk
+ debug switch changed to -gstabs+ from -g. Following this:
http://www.delorie.com/djgpp//mail-archives/thread.cgi?msg=djgpp-workers/2002/05/29/06:33:31&mode=frames
* bin/hbxpatch.hbs
* Updated after latest changes. Thanks!
* src/common/hbver.c
! Fix for pcc detection.
* src/rtl/gtdos/gtdos.c
* src/rtl/hbproces.c
! MS-DOS fixes for TRACE() messages.
- bin/patchup.hbs
+ bin/hbxpatch.hbs
* Renamed to have hb prefix.
Better suggestion are welcome for the name, don't
consider this final. Pbly sth like hbupdext.prg
would be better.
* contrib/Makefile
* Changed test status of makefile.hbs call to make it
do some actual work.
* config/postinst.hbs
- Deleted implib creation. Now done by makefile.hbs.
Implibs are never required for core, so this is now
much cleaner.
- Deleted experimental HB_BUILD_ADDONS support. This
feature has moved to makefile.hbs and it can be
controlled by HB_ADDONS_LIB and HB_ADDONS_BIN to add
non-hosted extra components to the build process.
The envvar names are not finalized.
* Changed to only copy .hbs files starting with 'hb'
in bin dir to avoid catching local scripts and adding
them to install.
* contrib/makefile.hbs
+ Makred dependencies from external.
* Reworked the way project list is assembled.
! Fixed root dir issues.
! Fixed -instpath option
* config/postinst.hbs
* Tweaked to convert pathseps in external tool calls
to native.
* ChangeLog
! Corrected most basic problems with Massimo's latest
log entry. Massimo: You fixed a one byte typo and
caused by to fix about 10 typos writing 3-4 letters.
This isn't very effective help.
- external/patchup.prg
+ bin/patchup.prg
* Moved to bin dir for universal access. F.e. we may want
to support external components inside contribs or anywhere
else in the tree.
+ Added support to recognize and use .hbp file as well, if
Makefile is not available in current dir.
* ChangeLog
* Revised and updated status for pending TODOs TOFIXes of
this year.
* contrib/hbcurl/hbcurl.c
* contrib/hbcurl/hbcurl.ch
+ Added support for all new libcurl features introduced in
7.19.4, 7.20.0, 7.21.0
* Changed some recently added constants to be in sync libcurl
values.
* contrib/hbwin/Makefile
* contrib/hbwin/hbwin.hbp
+ contrib/hbwin/wapi_winnetwk.c
+ Added WAPI_WNETGETLASTERROR()
* contrib/hbct/ctnet.c
* NETREDIR(): Deleted Windows specific 4th parameter extension
which activated debug-style features (introduced in xhb)
based on WNetGetLastError() call. Such call was now added
separately to hbwin.
* contrib/hbide/hbide.prg
! Deleted hard-coded reference for specific QT version.
This should be solved differently.
; TOFIX: BTW the whole notion of having a special build
for a given distro is wrong. It should rather
do autodetection in all builds.
; Patches from Tamas Tevesz:
* src/rtl/memvarhb.prg
* Adjusted information on magic byte
+ Version number change to 1.
* src/rtl/hbcom.c
! Fix for linux/watcom link problem.
* bin/postinst.sh
* Ajustment for some undisclosed but probably weird system :)
* mpkg_deb.sh
* mpkg_rpm.sh
* mpkg_rpm_win.sh
* mpkg_nightly.sh
* mpkg_src.sh
* mpkg_rpm_wce.sh
* mpkg_tgz.sh
* bin/hb-mkdyn.sh
* bin/hb-func.sh
* bin/postinst.sh
- Do not force bash.
(QNX by default doesn't have bash f.e., and now with the
limited amount of .sh code in SVN, we can focus on making
the code POSIX compliant.)
* ChangeLog
! One QNX TODO marked as DONE.
* bin/hb-func.sh
* bin/postinst.sh
- Deleted 'hbmk' script. Now superceded by hbmk2, which is
backward compatible with hbmk.
- Deleted 'hb-mkslib' compatibility synonym. Use 'hb-mkdyn'
instead.
* Makefile
- bin/postinst.prg
+ config/postinst.prg
* Moved postinst.prg from bin to config dir.
* config/postinst.prg
+ Changed to automatically build all tools found in /utils,
thus dropping hard-wired tool names from postinst.
* Minor cleanup.
* bin/postinst.prg
* Corrected double pathseps in one place.
* ChangeLog
+ Marked TODO's as DONE.
! Fixed timezone for today.
* utils/hbrun/hbrun.rc
+ Added support for OS/2. Can someone test it?
- bin/postinst.bat
* bin/postinst.prg
* INSTALL
* Moved remaining .bat to .prg. This means that HB_BUILD_PKG now
should work with all shells and (cross) build situations. I didn't
test these (pls do so), but it's now easy to make necessary
tweaks for these platforms in case it's necessary.
; Harbour doesn't use a single line of .bat anymore in the build process.
* config/wce/mingwarm.mk
* config/win/mingw.mk
* config/win/cygwin.mk
* config/os2/gcc.mk
! Fixed resource compiler binary name to honor CCPREFIX and friends.
* utils/hbrun/Makefile
+ utils/hbrun/hbrun.rc
+ Added resource file to include icon.
; TOFIX: The .ico file path is hard-wired and will break if HB_BUILD_NAME
contains subdirs.
* bin/postinst.bat
- Deleted no more necessary hack to build hbrun with icon using hbmk2.
* INSTALL
* config/rules.mk
+ config/res.mk
* config/bin.mk
* config/wce/global.mk
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.mk
* config/common/watcom.mk
* config/win/xcc.mk
* config/win/mingw.mk
* config/win/pocc.mk
* config/win/bcc.mk
* config/win/watcom.mk
* config/win/cygwin.mk
* config/win/global.mk
* config/win/msvc.mk
* config/os2/watcom.mk
* config/os2/gcc.mk
* config/os2/global.mk
+ Added support to GNU Make system to compile and link resources
on win, wce and os2 platforms.
* bin/postinst.bat
+ Deleted requirements from local comment. These are
documented in INSTALL.
* bin/postinst.bat
* bin/postinst.prg
+ Moved shared Harbour tools generation from .bat to .prg.
So now it should work on OS/2, cross-builds and all shells
in general. (some cmdline tweaks may be required for *nix)
+ Changed hbrun regeneration (with icon) to better take into account
build settings.
; This leaves about 50 (!) total lines of DOS batch code in
Harbour, which is quite good for a project of this size.
* bin/postinst.bat
* bin/postinst.prg
+ Moved implib generation logic from .bat to .prg. You may
recall this has happened recently, and you're right, but
this time it's based on hbmk2 calls. This change means
that implib generation is now available for all shells
(f.e. msys and cross-build scenarios).
(best would be to move to GNU Makefile level though)
* utils/hbmk2/hbmk2.prg
* Minor cleanup to use native pathseps in hb_FileExists() call.
* bin/postinst.bat
! Fixed missing '\' when forming PGSQL .dll path.
* utils/hbmk2/hbmk2.prg
+ Added undocumented '-mkimplibms' option to allow for users
to make bcc implib happy for some .dlls (translated to
-a implib.exe option). Ugly solution, needed because bcc
chose not to follow standards.
* bin/postinst.bat
+ Some adjustments to hbmk2-based implib generation cmdlines.
+ Added exception to use static ocilibs with mingw.
* bin/postinst.bat
- bin/hb-mkimp.prg
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
+ Switched HB_BUILD_IMPLIB build option to use hbmk2
to create implibs instead of local solution (hb-mkimp.prg).
Note, this means that implibs will now always be
created dynamically from .dll, even when a package
offers pre-built .lib for the compiler. This will
in practice cause a change msvc and pocc compilers.
This also means that from now on it's enough to have
the .dll to create implibs.
It's also easier for users to create implibs using
hbmk2 any time, so it's possible that HB_BUILD_IMPLIB
build-time option will be deleted in the future.
; Not tested yet.
* utils/hbmk2/hbmk2.prg
+ Added experimental -mkimplib= option to "convert" .dll
files into import libraries. Syntax tentative.
; TODO: Support for idiotic -a Borland C implib option.
If anyone has an idea how to detect when to use
-a and when not, I will implement it. If not,
I will most probably drop maintaining -a option
for bcc and leave it off. This leaves implibs
working for most .dlls we currently use, but will
break some (blat, curl, cairo, pq, alleg from
contrib).
* config/win/xcc.mk
* utils/hbmk2/hbmk2.prg
! Fixed to use case-correct filenames for xcc tools.
* bin/hb-mkimp.prg
+ Added msvcia64, msvcarm, xcc support.
! Fixed few library specs for msvc*.
* FS_ERROR -> F_ERROR
! Fixed handling spaces inside dll name for msvc*.
! Fixed handling non .dll extension for msvc*.
* bin/hb-mkimp.prg
+ Finished, tested. This version also adds pocc64 support.
It also gives proper feedback.
* INSTALL
* bin/postinst.bat
- bin/hb-mkimp.bat
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
+ Switched to use hb-mkimp.prg instead of .bat.
25KB less of non-portable .bat file in Harbour SVN.
Remains only ~100 lines of .bat stuff in core parts.
+ Deleted GNU Sed requirement.
+ Lifted Windows NT requirement for implib creation.
+ Lifted NT shell requirement for implib creation.
+ bin/hb-mkimp.prg
+ Added .prg rewrite for implib generation. This highly
reduces redundancy, drops WinNT and GNU Sed tool
requirement, further lowers the amount of non-portable
batch sources in SVN. It also opens the door to add
automatic implib generation in tools like hbmk2.
Not yet tested.
* bin/postinst.bat
% Minor cleanup.
* bin/hb-mkimp.bat
* Rearrangement.
* utils/hbmk2/hbmk2.prg
! Typo on comment.
* harbour/bin/postinst.bat
! fixed to not override hbrun if HB_BUILD_SHARED == "yes"
* harbour/ChangeLog
! fixed date
* harbour/contrib/hbsqlit3/hbsqlit3.c
! fixed usage hb_fsNameConv in SQLITE3_TEMP_DIRECTORY
* bin/postinst.bat
! Fixed recent change. 'HB_BUILD_SHARED=yes' means to create
_default_ binaries (hbtest.exe, hbrun.exe, etc) in shared
mode, so the correct behavior here is to _not_ create separate
shared versions in this case.
I didn't retest every aspect of this, so it's possible even
this is wrong and the whole change has to be rethought or reverted.
! Fixed indentation after recent change.
Please do respect formatting when editing files.
* src/rtl/hbsocket.c
* bin/hb-mkdyn.sh
* bin/hb-func.sh
* utils/hbmk2/hbmk2.prg
* config/win/global.mk
+ Restored to work with ws2_32.dll. (instead of wsock32)
* INSTALL
+ Added information on Win9x/ME support.
* src/rtl/diskspac.c
* src/rtl/disksphb.c
+ Added comment about the reason why GetDiskFreeSpaceEx()
is called dynamically (win95 first edition support).
+ Added support for HB_NO_WIN95 build-time flag to drop
Win95 compatibility. Unfortunately current dynamic load
trick fails with UNICOWS, returning zero for disk
space related calls in this scenario. If we drop the
dynamic call, we lose support for Win95 first edition,
but these functions will work properly on Win95b/98/ME
in return. I'm still thinking about it, but maybe it's
better to drop Win95 first edition support altogether
and make newer versions work properly. Any opinions?
* contrib/hbwin/wapi_winbase.c
* contrib/hbwin/wapi_wingdi_font.c
! Fixed to use WIDE/ANSI versions of dynamically executed
functions according to UNICODE setting.
* bin/hb-mkdyn.sh
* bin/hb-func.sh
* utils/hbmk2/hbmk2.prg
* config/win/global.mk
! Stepping back to link against wsock32 instead of ws2_32.
The only reason is Win95 (even OSR2) compatibility.
This is a little bit less efficient unfortunately.
* src/rtl/hbsocket.c
! Fixed to use WSAioctl via dynamic call for non WinCE
builds, and if HB_NO_WIN95 macro is no defined.
WSAioctl is present in ws2_32.dll, which .dll isn't
available on Win95.
; Not tested since I don't know how to test it, pls
review and test.
; NOTE: There seem to exist a package which add ws2_32
support for Win95, but I couldn't find it, if
someone has, we can drop this ugly trick and
simply document the requirement.
* src/rtl/gtwin/gtwin.c
* Formatting.
* INSTALL
* bin/hb-mkimp.bat
+ contrib/rddsql/sddoci
+ contrib/rddsql/sddoci/Makefile
+ contrib/rddsql/sddoci/ocidd.c
+ contrib/rddsql/sddoci/sddoci.hbc
+ contrib/rddsql/sddoci/tests
+ contrib/rddsql/sddoci/tests/hbmk.hbm
+ contrib/rddsql/sddoci/tests/test1.prg
* contrib/rddsql/Makefile
+ Added support for direct connection to Oracle
databases via OCILIB library.
UNICODE, ANSI (default) and MIXED modes are supported.
For mingw targets, the library will be linked
statically, for the rest dynamically.
You need to have Oracle client (oci.dll and the
rest of the package) installed to use it.
; TODO: Finish type conversion and mapping.
* contrib/rddsql/sddmy/mysqldd.c
* contrib/rddsql/sddpg/pgsqldd.c
* contrib/rddsql/sddfb/fbirddd.c
* contrib/rddsql/sddodbc/odbcdd.c
! HB_ULONG -> HB_SIZE
; TOFIX: To Mindaugas: Current SDD architecture will crash with GPF
if dbUseArea() is attempted after a failed RDDI_CONNECT
call. You can check it f.e. with sddodbc's test1.prg, by
modifying test.mdb to test_.mdb, and simply run it.
* harbour/bin/hb-func.sh
* updated new contrib libraries
* harbour/contrib/xhb/regexrpl.prg
! fixed hb_RegexReplace() to respect lCaseSensitive and lNewLine flags
* harbour/src/rtl/filesys.c
% use in OS2 builds system API functions instead of CRTL ones
to get/set current drive
% use in OS2 builds system API function DosQueryCurrentDisk() to
check if disk drives are available in hb_fsIsDrv() function
! use in OS2 builds system API function DosQCurDir() to extract current
directory. It fixed buffer overflow due to ignored buffer size in
GCC OS2 builds and makes MT safe getting current directory for non
current drive.
* bin/hb-mkimp.bat
+ Added support for Apollo 7.
* utils/hbmk2/hbmk2.prg
+ Accepting '&&' and '||' as 'and' and 'or' operators.
* examples/hbsqlit2/hbsqlit2.hbp
* examples/hbapollo/hbapollo.hbp
+ HB_INC_* -> HB_WITH_*
* examples/hbapollo/apollo.c
* examples/hbapollo/hbapollo.hbc
+ Added support for Apollo 7.
+ Version 6.1 can now be selected by defining HB_WITH_APOLLO_VER61 envvar.
* examples/gtwvw/gtwvw.c
* HB_LONG -> HB_MAXINT
* INSTALL
+ Added new section: 7. DEBUGGING OPTIONS
So far covered: tracing, memory statistics, valgrind and codeguard.
I'd like to ask our experts to review and if needed extend
these informations (send me suggestions and I'll update it).
* bin/postinst.bat
+ Enabling -debug option on shared tool hbmk2 builds if HB_BUILD_DEBUG=yes.
* contrib/hbide/ideactions.prg
! Typo.
* harbour/include/Makefile
* harbour/include/hbmath.h
+ harbour/include/hbmather.h
* harbour/include/hbsetup.h
* harbour/include/hbapi.h
* moved math error handler definitions and settings separate header file
* moved hb_random_num() declaration from hbmath.h to hbapi.h
After above modification hbmath file should be use only by code which
wants to use math functions declared usually in math.h
+ harbour/include/hbfloat.h
+ added header file with test macros for floating point numbers
this file should be included before any other files
* harbour/src/vm/hvmall.c
* harbour/src/vm/itemapi.c
* harbour/src/common/hbprintf.c
* harbour/src/rtl/math.c
* use new macros from hbfloat.h
* harbour/src/rtl/math.c
+ include "hbmather.h"
* harbour/src/rtl/hbrandom.c
* harbour/src/rdd/dbf1.c
* harbour/contrib/xhb/hboutdbg.c
- removed not longer necessary include "hbmath.h"
* harbour/contrib/hbct/ctmath.h
- do not include <float.h> and <limits.h>
* harbour/contrib/hbct/ct.h
- do not include "hbmath.h" and "ctmath.h"
* harbour/contrib/hbct/ctmath.c
* harbour/contrib/hbct/exponent.c
* harbour/contrib/hbct/ctc.c
+ include "ctmath.h"
* harbour/contrib/hbct/trig.c
* harbour/contrib/hbct/finan.c
* harbour/contrib/hbct/ctmath2.c
+ include "ctmath.h"
+ include "hbmather.h"
* harbour/contrib/hbct/num1.c
+ include "ctmath.h"
+ include <float.h>
* harbour/include/hbinit.h
* harbour/src/rtl/hbsocket.c
* added patches from Tamas - thanks
* harbour/bin/hb-func.sh
* harbour/harbour.spec
+ create /etc/ld.so.conf.d/harbour.conf with Harbour shared lib directory
if /etc/ld.so.conf.d directory exists and user has sufficient write
permission or install package is created.
This modification allows to install Harbour anywhere and in modern
distros using /etc/ld.so.conf.d/ harbour shared libraries will be
always available for all programs
[TOMERGE 2.0]
* harbour/include/hbgtcore.h
* harbour/include/hbapigt.h
* moved declaration of hb_gtSetDefault() from hbgtcore.h to hbapigt.h
* harbour/include/hbapi.h
* harbour/src/vm/hvm.c
+ added new function hb_vmSetDefaultGT()
* harbour/bin/hb-func.sh
* harbour/utils/hbmk2/hbmk2.prg
* use hb_vmSetDefaultGT() to set default GT
* removed extern declarations for functions defined in hbapi.h
* harbour/src/vm/dynlibhb.c
+ added support for HB_LIBLOAD()/HB_LIBFREE() in DJGPP 2.04 builds
* harbour/config/global.mk
* use 8.3 names for harbour dynamic libraries in all DOS builds
* harbour/config/dos/djgpp.mk
+ added support for dynamic libraries (DXE) in DJGPP builds.
DXE is sth similar to DLL in Windows and can be used with
DJGPP 2.04. I had to make some modifications in DXE header
files to make it working so it will not work in default DJGPP
installation. I'll document these modifications in the future.
* harbour/config/dos/watcom.mk
* enable creating of harbour dynamic libraries only when HB_BUILD_DLL
is explictly set by user to 'yes'. In DOS DJGPP and OpenWatcom builds
DLLs support is not functional yet.
* harbour/config/dyn.mk
* added an option to create harbour dynamic libraries from static
ones instead of .o|.obj files. It's necessary for DXE3GEN which
internally calls LD which has some limited on maximum size of passed
parameters.
TODO: make HB_DYN_LIBS definition common for dyn.mk and lib.mk
* harbour/bin/hb-func.sh
! use CC_HB_USER_LIBS instead of HB_USER_LIBS in linked library list
current HB_USER_LIBS has different meaning in build process then
in the past