* 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.
* src/rtl/hbzlib.c
+ Added QNX version number to the comment noting the hack.
* contrib/xhb/xhbfs.c
+ Added ISDIRECTORY() implementation which exactly mimics
current xhb behavior. Current xhb behavior seems wrong
because on Windows platform it works like HB_DIREXISTS()
in Harbour (not allowing wildcards), while on rest of
platforms it accept wildcards. The original intent in
xhb was the latter.
* contrib/xhb/hbcompat.ch
- Deleted ISDIRECTORY() <-> HB_DIREXISTS() mapping.
* external/minizip/minizip.dif
* external/minizip/ioapi.h
+ Update for MS-DOS from Tamas Tevesz.
- contrib/hbqt/qth/QSyntaxHighlighter.qth
- Deleted to try to fix the SVN update breakage caused by
deleting a file and readding it in the same commit on a
Windows machine.
* config/qnx/libs.mk
+ Added x11 libs. QNX supports it, though not the ancient
release I have.
* src/vm/dynlibhb.c
* include/hbthread.h
+ Added QNX support.
* src/rtl/hbzlib.c
! Added hack to fix missing zlibVersion() and zError()
functions from the zlib lib shipped with QNX 6.2.1.
+ config/qnx/libs.mk
+ Added QNX specific lib configuration.
* utils/hbmk2/hbmk2.prg
+ Added (untested) list of system libs for qnx/gcc.
* INSTALL
+ Added QNX reference to one more place.
; NOTE on QNX:
All binaries build cleanly, hbtest works.
; TOFIX/TODO:
- hbrun seems to misdetect the width of the terminal
- Clean some hack in QNX port
- platform autodetection
- retest whole port from vanilla SVN source, test MT
linkage.
; So now Harbour can run in cars, planes and spaceships.
* external/zlib/Makefile
* config/dos/djgpp.mk
+ Added patch by Tamas Tevesz targeting djgpp cross-builds:
- makes zlib compile with djgpp 2.03
- adding ranlib makes the whole thing cross-compile (the linker was
complaining about index not being present in the archives)
the reason of the dash prefix is that since it wasn't there before,
it must have worked without, so let's not break situations where it
isn't present (it is present in bnu219b.zip though, and it seems to
be chugging along nicely in a native situation as well)
- adds $(HB_CCPATH)$(HB_CCPREFIX) to the bin tools used
* src/common/hbffind.c
* src/rtl/fstemp.c
* src/rtl/filesys.c
* src/rtl/fssize.c
! Fixed to use '#define _LARGEFILE64_SOURCE 1' instead of
'define _LARGEFILE64_SOURCE' to fix compilation on QNX.
This replaced previously added hack for stat64 in two
locations.
* src/rtl/hbzlibgz.c
! Protected gzungetc() and gzclearerr() calls with 'ZLIB_VERNUM >= 0x1202'
; QNX 6.2.1 ships with zlib 1.1.3.
* src/rtl/gttrm/gttrm.c
! Added fix to compile when SA_RESTART is not available (in QNX).
; TOFIX: Replace this with some more meaningful solution.
* src/rtl/hbzlib.c
! Fixed to compile when compressBound() is not available.
The detection is hackish because proper zlib version detection
is not available here yet.
* src/rtl/hbznet.c
! Fixed to build with older zlib versions where Z_RLE and/or
Z_FIXED are not available.
* include/hbdefs.h
! Fixed stdint handling for QNX.
* INSTALL
* include/hbsetup.h
* utils/hbmk2/hbmk2.prg
+ Added experimental support for QNX operating systems.
Tested with 6.2.1.
+ config/qnx
+ config/qnx/gcc.mk
+ config/qnx/global.mk
+ Added qnx GNU make files. For now this is a simple copy
of linux ones.
* src/common/hbgete.c
* src/common/hbprintf.c
+ HB_OS_QNX tweaks.
* src/common/hbffind.c
* src/rtl/fssize.c
! Disabled stat64 for HB_OS_QNX.
* src/common/hbffind.c
! Fixed very old error in default (todo) branch
where hbrtl function was mistakenly referenced.
* external/Makefile
* contrib/Makefile
* contrib/sddoci/Makefile
* config/none.mk
* config/global.mk
* config/bin.mk
* config/dir.mk
+ Since QNX has GNU Make 3.79.1, I had to re-xmastree
the GNU Make files (though I didn't restore the xmas
indentation), plus restore all logic that dealt
with older GNU Make versions. Also added some new logic.
+ Changed to give warning only when using older than
3.81 make versions. Some feature are disabled in this case,
f.e. HB_BUILD_PKG (win/dos specific feature)
; TOFIX: host platform and cpu detection relies on $(eval)
which is not present on pre 3.80.
; habour and hbpp builds fine, but there are several remaining
problems in rtl and vm.
* mpkg_nightly.sh
+ Added feeback about what the script does.
+ Using -q for zip to lessen large amount of unnecessary feedback
* external/pcre/pcre.dif
* external/pcre/Makefile
! Tweak to make PCRE build on djgpp 2.3
Patch by Tamas Tevesz (2nd version posted on dev list)
* contrib/hbide/resources/curlinehilight.png
+ contrib/hbide/resources/horzruler.png
* contrib/hbide/resources/togglelinenumber.png
* contrib/hbide/resources/toolsutilities.ui
* contrib/hbide/resources/toolsutilities.uic
* contrib/hbide/resources/setup.ui
* contrib/hbide/resources/setup.uic
* contrib/hbqt/qth/HBQPlainTextEdit.qth
* contrib/hbqt/qth/QTableWidget.qth
- contrib/hbqt/qth/HBQSyntaxHighLighter.qth
+ contrib/hbqt/qth/HBQSyntaxHighlighter.qth
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
* contrib/hbqt/doc/en/class_hbqsyntaxhighlighter.txt
* contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
* contrib/hbqt/qtgui/QTableWidget.cpp
* contrib/hbqt/qtgui/THBQPlainTextEdit.prg
* contrib/hbqt/qtgui/HBQSyntaxHighlighter.cpp
* contrib/hbqt/qtgui/THBQSyntaxHighlighter.prg
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/hbqt_hbqplaintextedit.h
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.h
* contrib/hbide/hbide.hbp
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.prg
+ contrib/hbide/idedict.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideshortcuts.prg
* contrib/hbide/idestylesheets.prg
* contrib/hbide/idethemes.prg
* contrib/hbide/idetools.prg
% Widened padding for menubar prompts to show up at a proper distance.
+ Controlled "RETURN" keyword not to jump to first indentation place,
with env variable - HBIDE_RETURN_ATBEGINING=yes. Scheduled to be
included in "Setup" interface.
+ Allowed hbIDE execution with any text type file. It was accepting .PRG.CPP only.
+ Broadened the scope of keyword coloring for any case, mixed or absolute.
It was all lower or all upper previously.
+ Prepared ground for user defined keywords through user dictionaries.
+ Added new flags in "Setup" dialog ( yet not active ).
Please have a look into the contents of different pages and
let me know what else can qualify to be included therein.
+ More macro for Tools parameter - ${source_fullname_less_ext}
% Tools & Utilities dialog made modeless. At times it is desirable
to execute a tool multiple times and also to gather output logs.
+ Tools & Utilities dialog now remembers its last opened position.
+ Implemented: user-configurable 5 toolbars which can be populated
through Tool & Utilities interface. Invoke "Tools & Utilities"
interface and play with the toolbars. You will find it really
rewarding. I am also trying to find a way to hook
"Kayboard Mappings" macros to be included under this interface.
Your input is welcome. I will write the help in about a week,
but interface is straight enough to grab/grasp/use.
+ Implemented: to switch on/off horizontal ruler.
+ Implemented: to remember the last settings for next run for
Horizontal Ruler, Line Numbers display and Current Line highlighting.
* mpkg_nightly.sh
+ Added patch by Tamas Tevesz. Thank you very much.
+ Will now use simple cp to put nightlies in place if
the scripts detects that it's run in sf.net server shell.
* mpkg_nightly.sh
+ Added instructions to setup unattended file upload on sf.net.
If SSH key pair is setup and public key uploaded to sf.net
user account, nightlies can be created and automatically
upload to sf.net, using these commands:
---
$ export HB_SFNET_FRS_PRIVATE_KEY=~/.ssh/id_dsa
$ export HB_SFNET_USER=myuser
$ ./mpkg_nightly.sh
---
* src/vm/set.c
* Reset default value to "hb_out.log".
+ mpkg_nightly.sh
+ Added script to generate nightly sources.
; TODO: Upload nightlies to sf.net.
; TODO: Change nightly filenames to match our normal source releases.
; TOFIX: Current .zip nighly has wrong (*nix) EOLs. This has to be
changed to CRLF.
* INSTALL
* Changed nightly script URLs to point to sf.net file area.
! Minor fix to bug tracker address.
* contrib/xhb/regexrpl.prg
* contrib/hbtip/httpcli.prg
* contrib/hbtip/mail.prg
! Fixed to use EMPTY() on HB_REGEX[ALL]() return
value instead of NIL check.
Required after recent change in HB_REGEX*()
return values in no-match case.
* contrib/hbcurl/hbcurl.c
* contrib/hbcurl/hbcurl.ch
+ Added support to download-to/upload-from file handle.
* contrib/hbqt/qtgui/Makefile
* contrib/hbqt/qtcore/Makefile
* contrib/hbqt/Makefile
* contrib/hbqt/gtqtc/Makefile
* contrib/hbqt/qtnetwork/Makefile
! Fixed to not build separate HBQT libs for static
linkage for non-win/wce targets.
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.nsi
* Changed to use 'Harbour Project' as folder name in registry.
(instead of 'Harbour'). Just to be consistent.
* package/winuni/mpkg_win_uni.nsi
+ Add major.minor version number to registry folder names.
This allows multiple major versions of Harbour to be installed
in parallel.
* contrib/xhb/ttable.prg
% '&("{||" + c + "}")' -> HB_MACROBLOCK()
* contrib/xhb/trpccli.prg
* contrib/xhb/hblognet.prg
* contrib/xhb/xcstr.prg
* contrib/xhb/tedit.prg
* contrib/xhb/xdbmodst.prg
* contrib/xhb/trpc.prg
* contrib/xhb/thtm.prg
* contrib/xhb/dumpvar.prg
* contrib/xhb/xhbmt.prg
* contrib/xhb/xhberr.prg
* contrib/xhb/ttable.prg
* contrib/xhb/txml.prg
* '.NOT.' -> '!'
% ValType( x ) == "Y" -> IS*()
* Some other basic formatting and cleanup.
* src/rtl/hbini.prg
* examples/httpsrv/session.prg
* Formatting.
* tests/db_brows.prg
* tests/server.prg
* tests/testrdd2.prg
* tests/setkeys.prg
* contrib/hbtip/tests/tiptest.prg
* contrib/hbtip/tests/loadhtml.prg
* examples/hbsqlit2/tests/hbsqlite.prg
* examples/gtwvw/tests/wvwtest9.prg
* examples/gtwvw/tests/ebtest7.prg
* '.NOT.' -> '!'
* contrib/hbqt/hbqt_base.cpp
+ Added QVERSION() function which returns QT lib version as string.
Wrapper to QT function with the same name.
+ Added QSHAREDBUILD() function which returns whether QT lib used
are shared or static. Wrapper to QT function with the same name.
- Deleted HBQT_ISSTATICLINK() which was not portable implementation.
+ contrib/hbqt/tests/qtver.prg
+ Added test code to display all detecable QT version/lib information.
* INSTALL
* contrib/hbqt/hbqts.hbp
* contrib/hbqt/hbqtguis.hbp
* contrib/hbqt/hbqtcores.hbp
* contrib/hbqt/hbqtnetworks.hbp
* contrib/hbqt/hbqts.hbc
% Fixed to avoid building separate, but completely idendical
HBQT libs on Linux platform for linking to static QT libs.
Please note that on all platforms except Windows and Symbian,
it's not necessary to create separate HBQT builds for
static and dynamic QT libraries. Instead, on these
platforms (Linux, Darwin and possible OS/2) it's enough to
just link the same HBQT libs with either static or dynamic
QT libs. For this reason, recently added HBQT_ISSTATICLINK()
function will only work on Windows, thus it's not portable.
It needs to be redesigned to use QT API to retrieve lib type,
or if such API doesn't exist, this function should be deleted
from Harbour.
* external/zlib/deflate.c
* external/zlib/zutil.c
* external/zlib/deflate.h
* external/zlib/zutil.h
* external/zlib/crc32.c
* external/zlib/trees.c
* external/zlib/uncompr.c
* external/zlib/zconf.h
* external/zlib/compress.c
* external/zlib/adler32.c
! Restored original version ID to help creating more meaningful
.dif of local patches.
* include/hbcom.ch
* Changed functions names to use proper camelcasing so that
they also hold true for C level API.
* include/hbsocket.ch
+ Readded .prg level function names to address array constant
comment.
+ Added 'this is also used in C file' comment.
* contrib/hbsms/hbsms.prg
! Fixed COM port reading function after last update.
I finally restored original defaulting logic (instead of
FETCHCHARS() method) which by default waits for 64 bytes
and 5 seconds. Pls check me.
* contrib/hbqt/plug_moc.prg
* utils/hbmk2/hbmk2.prg
+ Implemented separate filename notation setting for scripts
and cmdlines (just like with filename escaping).
This should aid the win/bcc on linux cross-build scenario.
(not testing done though)
* harbour/src/rdd/dbf1.c
* minor formatting
* harbour/doc/xhb-diff.txt
+ added section about pre/post incrementation/decrementation and
<op>= operators.
I think that you may find it interesting. I do not remember if I
documented it in the past and it's important feature which allows
Harbour programmers safely use pre/post ++/-- and <op>= operations
for complex expressions with side effects.
* config/global.mk
! Reverted one optimization from yesterday's late
night programming jam session.
* contrib/hbqt/hbqt_base.cpp
* Renamed HBQT_ISQTSTATICLINKED() to HBQT_ISSTATICLINK().
(enough to have one 'QT' in the name)
* config/win/bcc.mk
+ More changes targeting bcc support under WINE scenario.
; Here it now works "out of the box"
* INSTALL
+ Added example for win/bcc build under WINE.
(kudos go to Tamas Tevesz for the setup example)
+ Added win/bcc to supported cross(ish)-builds.
* examples/httpsrv/uhttpd.prg
! Fixed bogus newlines in RTE ALERT() windows.
+ contrib/hbqt/qth/QHideEvent.qth
+ contrib/hbqt/qth/QShowEvent.qth
+ contrib/hbqt/qth/QWindowStateChangeEvent.qth
+ Added new classes.
+ contrib/hbqt/qtgui/QHideEvent.cpp
+ contrib/hbqt/qtgui/QShowEvent.cpp
+ contrib/hbqt/qtgui/QWindowStateChangeEvent.cpp
+ contrib/hbqt/qtgui/TQHideEvent.prg
+ contrib/hbqt/qtgui/TQShowEvent.prg
+ contrib/hbqt/qtgui/TQWindowStateChangeEvent.prg
+ Auto generated.
* contrib/hbqt/qtgui/filelist.mk
+ Classes auto added.
* contrib/hbide/resources/fullscreen.png
+ Added image for trayicon context menu.
* contrib/hbqt/generator/qt45.qtp
+ Added new classes.
* contrib/hbqt/hbqt.ch
+ Added QSystemTrayIcon_* constants.
* contrib/hbqt/hbqt.h
+ Constants for new classes.
* contrib/hbqt/hbqt_base.cpp
+ HBQT_ISQTSTATICLINKED() function provided by CarozoDeQuilmes.
* contrib/hbqt/hbqt_garbage.h
* Auto generated.
* contrib/hbqt/hbqt_hbslots.cpp
* contrib/hbqt/hbqt_hbslots.h
+ Signal/Slots for QSystemTrayIcon():activated(...).
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideobject.prg
+ Implemented: minimize action on hbIDE window landing in system tray
instead of statusbar. For now this is the default but provision is
in place to base it on user request. Once minimized in system tray,
left-click will restore the window and icon in tray will disappear.
Right-click on tray icon will bring forward a menu with "Show" and
"Exit" options. Exit is equivalant to toolbar's exit icon.
This feature will be available only on those OSes which support
system tray area. Please test on all aupported systems. I am also
interested to know which other actions can make-up in the
icon's context menu.
* config/global.mk
% Minor optimization, in bcc location detection. I hope.
+ Changed autodetection to look for fixed .exe extension
for tools which have no native *nix versions, so their
name always ends with .exe regardless of host platform.
This should make these tools usable under WINE.
* config/win/bcc.mk
+ Attempt to better support bcc on linux build scenario,
by using backslash escaping in this case.
* utils/hbmk2/hbmk2.prg
* Cleaned up to use hard-coded .exe extensions in autodetection
code for tools which have no other version. (syncing with
above GNU Make change). This has no effect yet.
* config/global.mk
* utils/hbmk2/hbmk2.prg
! xcc.exe -> xCC.exe
* config/global.mk
! Attempt to fix rare case when Windows cross-build on Linux
platform wrongly changed HB_BUILD_SHARED mode on. IOW now
automatic HB_BUILD_SHARED defaulting logic (based on install
location) only kicks in if the target platform is *nix.
Tamas could you please retest it?
* harbour/src/rdd/dbf1.c
+ allow to open DBF files with 0x07 and 0x87 signature created by
CA-VO DBFNTX when ANSI encoding is enabled.
Thanks to Vitomir Cvitanovic for CA-VO tests.
Warning! After any modifications in such files Harbour DBF* RDDs
will correct above signatures to standard DBASE ones (0x03 and 0x83).
* examples/uhttpd2/umain.prg
* examples/uhttpd2/uhttpd2.hbp
- examples/uhttpd2/socket.c
+ Changed to use core SOCKET API.
* examples/uhttpd2/run.prg
+ Displays port it listens on.
* examples/httpsrv/uhttpd.prg
+ Using hbsocket.ch constant instead of local one.
* utils/hbmk2/hbmk2.prg
! Tuned watcom filename escaping behavior:
It will now use *nix notation on *nix builds.
It will now use double quoting on Windows builds.
It will now use single quoting in script files on all builds.
No quoting on other platforms. [ watcom is special because
each platform native compiler can create builds for other
platforms, so we must use platform native fn quoting. ]
This should in theory (hopefully) fix the remaining
combinations for watcom, though I didn't test any
of these. [ The only exception is using watcom Windows
.exe via WINE on *nix systems. But that seems a little
bit exotic of an option ;)
Oh for testing pass some source filenames with spaces
in them.
; TOCHECK: Whether watcom script files (@<fn>) use the same
single quoting ('filename') on all platforms.
For some reason so far it was only used for
win targets, so I may have broken it, if it
was done for good reason.