* config/os2/gcc.mk
+ Attempt to fix direct ld usage to create Harbour .dlls.
Please make tests for all versions of gcc/gccomf targets.
* INSTALL
- Deleted TCPV4 header instructions for OS/2. (they still
works, it just got less emphasis with this)
* include/hbdefs.h
! Fixed to not #include <dos.h> unconditionally. This should
be done by specific source code, if needed. INCOMPATIBLE,
if source code relied on this behavior. From now on it,
should include dos.h manually.
* src/vm/thread.c
* src/common/hbver.c
* src/rtl/gtdos/gtdos.c
* src/rtl/isprint.c
* src/rtl/diskspac.c
* src/rtl/disksphb.c
* src/rtl/net.c
* contrib/hbct/print.c
! Fixed to #include <dos.h> manually.
* src/rtl/fstemp.c
! Fixed recent warning for dos targets.
* contrib/hbct/video.c
! Fixed old unused variable warning for dos/watcom targets.
* INSTALL
+ Documented that OS/2 Warp 4 is supported (instead of generic OS/2).
* src/common/hbverdsp.c
* include/hbsetup.ch
* contrib/xhb/xhbver.prg
- Deleted HB_COMPAT_VO, HB_COMPAT_DBASE, HB_COMPAT_CLIP as build-time
options. They were not used, and in the future these should be
implemented as addon libraries.
* INSTALL
* Minor terminogology adjustment.
* examples/hbdoc2/tmplates.prg
* examples/hbdoc2/hbdoc2.prg
- Deleted special handling of FlagShip functions.
* INSTALL
* Changed to use win-make/dos-make in examples.
* contrib/hbwin/win_tbmp.prg
- Deleted XBPBITMAP class mapped to WIN_BMP.
This should be the job of HBXBP.
* contrib/xpp/xpp.hbc
+ contrib/xpp/tests
+ contrib/xpp/tests/testdll.prg
* contrib/xpp/Makefile
+ contrib/xpp/win_dllx.c
* contrib/hbwin/Makefile
- contrib/hbwin/win_dllx.c
* contrib/hbwin/tests/testdll.prg
+ Moved Xbase++ compatible DLL functions to xpp lib.
* INCOMPATIBLE change. If you use these functions (DLL*())
add xpp lib to your lib list.
; Finally we don't have any HB_COMPAT_* dependent parts
in hbwin.
* contrib/hbwin/hbwin.ch
* Changed to use full (0xFF) color components for RGB presets.
* contrib/gtwvg/Makefile
* Deleted trailing spaces.
* INSTALL
* external/Makefile
* contrib/Makefile
+ Added build option to exclude specific list of contrib/external
libraries using syntax: 'HB_CONTRIBLIBS=no lib1 lib2 libn'
* INSTALL
+ Added new item to TROUBLESHOOTING section describing
common problem when native executables are forgotten to be
rebuilt, and causing error in cross-build.
This typically causes problems when compiler/pp/hbmk2 get
new feature.
* contrib/hbwin/win_tprn.prg
! Deleted trace msg left there by mistake.
* contrib/hbwin/hbwin.ch
+ Added WIN_*_QUALITY constants.
* config/global.mk
+ Displaying HB_BIN_COMPILE even if explicitly specified by user.
* INSTALL
+ Added gcc pkg to opensolaris pkg list.
* harbour.spec
! Do not mark Red Hat and SUSE as discontinued. These names seem
to be used for "enterprise" versions of these distros, but correct
me if I'm wrong.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Made it clean on the help screen which options can only be used
from the command line.
* INSTALL
+ Extended Linux deb/rpm sections:
- Added list of base packages
- Listed actual active distro names
- Added pkg install command for various rpm distros
- Added link to webpage containing extensive information
about pkg management commands on different distros
+ Added SUNWsvn package for OpenSolaris.
* harbour.spec
! Typo in comment.
+ Added 'DISCONTINUED' comments to those distros which are
(suprise!) discontinued.
* contrib/hbwin/wapi_winbase.c
! Fixed to set internal getlasterror value in WAPI_FORMATMESSAGE().
Thanks Xavi.
* contrib/hbwin/wapi_err.c
! Fixed to include 'hbwapi.h'
Thanks Xavi again.
* config/global.mk
+ Added autodetection of Gentoo Linux package manager.
* contrib/hbbtree/hb_btree.c
+ Added two TOFIX notes. Both reported on the list previously.
* config/global.mk
! Fixed to not require HB_BIN_COMPILE is host and target
platform is the same, host is x64 and target is x86.
x64 hosts can run x86 binaries. (pls shout if you know
any exception)
* INSTALL
+ Added extra info to openSUSE section.
; TODO: Update .rpm/opensuse section.
* harbour.spec
+ Added initialization of HB_USER_DFLAGS.
; TOFIX: Current setup doesn't allow passing -m32 to force 32-bit
.rpm builds on 64-bit systems.
; TOFIX: OpenSUSE 10.2 uses 'gpm' instead of 'gpm-devel'.
* contrib/hbqt/hbqt.hbc
* contrib/hbqt/hbqts.hbc
* Changed to enable -hbcppmm only on win and os2 platforms.
I don't know about linux, but on darwin this option caused
this error:
hbide(70507,0x7fff708a0be0) malloc: *** error for object 0x1019d3948: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap
* INSTALL
+ Added free SVN book link.
* src/vm/extrap.c
% Marked exception filter callback as 'static'
; TOCHECK: Please verify that OS/2 still works this way.
* src/rtl/oemansi.c
! Fixed two tabs.
* src/rtl/gtwvt/gtwvt.c
* contrib/gtwvg/gtwvg.c
* contrib/rddads/adsfunc.c
! Fixed to not use unsafe/ANSI CharToOemBuffA() API.
; Please review me.
* config/win/mingw.mk
+ Added information about MinGW alternatives for MSVC
security features. Unfortunately they need Cygwin
binary plus some depend on MinGW host platform
and/or version.
* include/hbwince.h
* src/common/hbwince.c
- Deleted CharToOemBuffA(), OemToCharBuffA(). No longer
needed by Harbour.
; TODO: Delete rest of not anymore used ANSI WinAPI
functions. Now Harbour never uses ANSI
WinAPI functions in UNICODE mode.
* config/win/global.mk
- Deleted reference to CharToOemBuffA(), OemToCharBuffA().
* INSTALL
* Updated valgrind example.
* contrib/hbnetio/utils/netiosrv.hbp
* utils/hbformat/hbformat.hbp
* utils/hbmk2/hbmk2.hbp
* utils/hbi18n/hbi18n.hbp
* utils/hbtest/hbtest.hbp
* utils/hbrun/hbrun.hbp
* config/wce/msvcarm.mk
* config/win/msvc.mk
+ Added MSVC linker switches to enhance security by
enabling NX compatibility and ASLR.
Especially important for server apps like netiosrv and hbrun.
; TODO: Enable the same for MinGW.
; TOCHECK: Please test this with old MSVC versions and MSVCARM,
maybe we will need to disable them in some cases.
; QUESTION: I'm unsure of -fixed:no MSVC option. Do we need it
to increase security?
* config/wce/msvcarm.mk
+ Changed to use link.exe for linking instead of cl[arm].exe.
This now syncs it with rest of Harbour.
* 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.
* INSTALL
+ Added OS/2 to QT supported platforms.
* harbour.spec
+ Merged lib and static subpackages into main one.
hbmk2 requires that both dynamic and static libs (namely hbcplr)
are present for successful linking.
Please test and comment, I can revert old version in
case of any problems.
* contrib/hbqt/filelist.mk
* contrib/hbqt/hbqt_hbevents.cpp
* contrib/hbqt/hbqt_hbslots.cpp
- contrib/hbqt/hbqt_hbevents2.cpp
- contrib/hbqt/hbqt_hbslots2.cpp
* Merged new EVENTS/SLOTS implementation with old one,
removing all existing redundancies and fixing double
definition of low-level classes.
* INSTALL
* Clean Linux .rpm section, added full install commands just
like for Ubuntu, added qt45-devel, added more description.
(not tested, I don't have .rpm based distro)
* config/global.mk
! Fixed debian package manager detection, as suggest by
Tamas Tevesz.
* mpkg_rpm.sh
* Sorted '-with' checks.
+ Added freeimage and cairo enabler logic (none tested)
* INSTALL
- Deleted gtk2-devel from instructions.
+ Added freeimage-devel and cairo-devel to rpm pkg list.
(none tested)
* contrib/hbide/projects/hbide.hbi
! Deleted .exe extension from output name for portability.
! Fixed -workdir option to also have ${hb_plat} macro for portability.
; Pls remember that hbide is meant to be a portable tool.
; TOFIX: Delete -workdir option altogether. Not needed.
; TOFIX: Hard-wired dir C:\qt\2009.01\qt\lib should be stored in
SVN.
* INSTALL
+ Added note that at least QT 4.5.0 is required for Harbour.
[TOMERGE 2.0]
* package/winuni/mpkg_win_uni_extra_copy.bat
+ Copying full source of hbide to Windows binary release.
; TODO: Probably it'd be better to move this tool to examples to
avoid such exceptions.
[TOMERGE 2.0]
* package/winuni/RELNOTES
+ Added link to sf.net files.
* Next Windows binary release to not include HBQT libs
built against static QT libs.
[TOMERGE 2.0]
* contrib/hbwin/mapi.c
! Minor correction / optimization.
[TOMERGE 2.0]
* INSTALL
+ Added more generic link for QT OSS downloads.
* contrib/hbqt/*
* Regenerated.
(Please list only '* contrib/hbqt/*' to avoid growing ChangeLog
with several hundred entries each time the generator changes)
* INSTALL
+ Added direct link to QT Windows 4.5.3 pkg.
* contrib/hbqt/detect.mk
* contrib/hbqt/moc.mk
+ Added my copyright.
* contrib/hbqt/hbqt_hbdbfmodel.cpp
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt_hbqtableview.cpp
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_hbqmainwindow.cpp
! Fixed some public C functions to hold hbqt_ prefix,
instead of using generic names.
! Added one missing 'extern' keyword.
+ Added TOFIX for QT_HBQTABLEVIEW_NAVIGATE() which
has a remaining leak of one typical type.
; TOFIX: Do the same with gcFuncs().
; TODO: Regenerate.
* contrib/hbwin/mapi.c
+ Added support for unlimited number of recipients and
attached files. Please test and review.
* utils/hbmk2/hbmk2.prg
+ Added support for linux/open64. (Please test)
* INSTALL
+ Added open64.
* src/vm/dynlibhb.c
+ Using new UNICODE conversion macros in HB_LIBLOAD().
* INSTALL
* Minor.
* contrib/xhb/hbsyslog.c
+ HB_SYSLOGOPEN(): Added UNICODE support. (this bug was hidden
by explicit cast)
* Using HB_TRUE/HB_FALSE.
+ Using new UNICODE conversion macros in HB_SYSLOGMESSAGE().
(functionally not tested)
* Formatting.
* contrib/xhb/hblogdef.ch
+ Added comment that the header is used by C code.
* contrib/hbqt/detect.mk
! Fixed static build after last commit.
* contrib/hbwin/wapi_winbase.c
* contrib/hbwin/win_dll.c
* Variable renamed.
* contrib/hbwin/win_prn2.c
% Minor optimization.
* contrib/hbwin/win_osc.c
+ Using new UNICODE conversion macros in WIN_OSVERSIONINFO().
; NOTE: Remaining "problem area" is HB_TCHAR_* usage in low level
code, when conversion needs to be done from/to C buffer
instead of Harbour parameter/return value. The problem
is that I don't have a pattern for that.
* src/macro/Makefile
- src/macro/macro.l
* src/compiler/Makefile
- src/compiler/harbour.l
- src/compiler/fixflex.c
* INSTALL
* config/c.mk
* config/rules.mk
* Deleted references to Flex and related files.
Flex is not used since long. It couldn't generate MT safe lexer code.
* contrib/hbcairo/Makefile
+ Added autodetection for MacPorts cairo pkg.
+ Fixed autodetection on *nix systems in general.
* INSTALL
+ Added cairo package information for Darwin/MacPorts and Ubuntu.
* contrib/hbqt/qtcore/Makefile
! Fixed after last commit.
* INSTALL
+ Added HB_DIR_*, HB_INC_* settings to ones which users
should NOT have in their setup anymore.
Please delete them, it's just noise on the dev list.
This current full list:
set HB_PATH=<Harbour root dir>
set HRB_DIR=<Some Harbour dir>
set INCLUDE=<Harbour include dir>
set LIB=<Harbour lib dir>
set HB_INC_*=
set HB_DIR_*=
* INSTALL
+ Added cairo links.
* contrib/hbwin/wapi_shellapi.c
+ WAPI_USERISANADMIN() function. Based on xhb's recently added
OS_ISUSERANADMIN() function by Peter Rees.
Reformatted, renamed and applied fixes/UNICODE/cleanups, usual stuff.
* contrib/hbcairo/hbcairo.hbc
+ Changed libs= for *nix system. Not tested for this cairo,
it comes from my local xhgtk hbmk2 files.
* INSTALL
+ Documented HB_WITH_CAIRO setting.
* bin/hb-mkimp.bat
+ Added HB_BUILD_IMPLIB support for cairo lib.
I didn't test them.
* contrib/hbcairo/hbcairo.hbc
* Changed cairo lib name from 'libcairo-2.0' to 'cairo'
This is what HB_BUILD_IMPLIB will generate.
; TODO: It's the "fun" part of any component adaptation, that
each build and platform use a different lib naming scheme.
We should fix this one by one for all platforms.
; TODO: Make build tests on each platform/compiler.
* contrib/hbcairo/Makefile
+ Added cairo component detection.
- Deleted installation of .h header. It doesn't seem to be
one for the public.
* config/global.mk
% "De-xmastree"-d one if/else structure.
* mpkg_rpm.sh
* INSTALL
* harbour.spec
* config/global.mk
* config/detect.mk
* HB_COMMERCE renamed to HB_BUILD_NOGPLLIB (in sync with existing
--without option)
+ HB_BUILD_NOGPLLIB now documented in INSTALL.
; Please update your enviroment.
; BTW, I'm open to other names which are more generic and clearly
states what we're talking about exactly. Current terminology
is limited to GPL license.
* config/global.mk
* config/bin.mk
* src/rdd/Makefile
* Moved central RDD related information to local makefiles.
- Deleted support for $(HB_DB_DRVEXT) envvar.
To extend Harbour with RDDs these should be added as
regular addons, and optionally hbrun rebuilt using hbrun.hbp.
[ $(HB_DB_DRVEXT) is still used from hbmk script, I didn't
touch that part. ]
* INSTALL
* Minor.
* INSTALL
* bin/hb-mkimp.bat
* contrib/hbqt/hbqt.hbc
* contrib/hbqt/hbqts.hbc
* contrib/gtqtc/gtqtcs.hbc
* contrib/gtqtc/gtqtc.hbc
* utils/hbmk2/examples/xhgtk.hbc
* config/global.mk
+ Eliminated HB_DIR_* envvar requirement to find required 3rd
party component libs.
This means that it's now enough to only set HB_WITH_* envvars
to enable HB_BUILD_IMPLIB.
This should make configuration a lot simpler, and this clears
the last pending TODO in this area.
HB_INC_* won't work this way, so please start to migrate to
HB_WITH_* envvars, the values should stay the same.
* external/pcre/cnv_o2hb.bat
* external/pcre/cnv_hb2o.bat
* Updated comment.
* INSTALL
* harbour.spec
* mpkg_rpm.sh
* Moved mpkg_rpm*.sh cmdline options description to INSTALL.
At the same time some inconsistencies were fixed and from
now on it should be updated in less copies. Still, there
different option list for win/wce cross-builds and regular
builds. (some of these may not be relevant anymore as Przemek
just deleted some of these option, which is an even better
solution.)
Maybe the same could be done for the rest of them?
* contrib/hbwin/hbwin.ch
+ Added new macros submitted by Xavi.
Formatting (tab removal/alignment) applied.
* config/detfun.mk
+ Displays "Configure with HB_WITH_*" text on non-*nix systems,
when an external component is not found.
Comments are welcome whether this is useful, it looks a bit
verbose/ugly to me.
* INSTALL
* Minor change in wording.
* contrib/hbwin/win_tprn.prg
* contrib/hbwin/win_prn1.c
! Fixed HFONT leak in WIN_CREATEFONT(). This also means the
function works a little bit differently, so in case you are
using it directly, be warned that this change is INCOMPATIBLE.
It will now return a font handle instead of boolean value
signaling success.
! Fixed several functions to check for valid HDC.
% Deleted redundant code from WIN_DELETEDC().
; Submitted by Xavi. Thank you.
(plus these small modifications by me:)
! Fixed formatting to use the same coding style as the rest of
the file (and all our sources).
! Fixed to use FALSE instead of 0.
* INSTALL
+ Added note to HOW TO PARTICIPATE section to use the same
coding style as found in original files when adding patches.
* contrib/hbwin/win_prn2.c
+ PRINTFILERAW(): Changed to use Harbour File I/O API instead
of Windows one to read from a disk file.
* More variable name / macro usage cleanup.
! TOFIX: PRINTFILERAW() has suspicious code aiming to delete
Chr( 26 ) from input files. In current implementation it can
strip Chr( 26 ) even from inside the file if the file is
larger than read buffer, which means it will corrupt input
and may cause wrong output to be printed (f.e. if that Chr( 26 )
is part of a printer control char sequence).
* INSTALL
+ Added linux/clang to the target mix.
* utils/hbmk2/hbmk2.prg
+ Added dependency tree to flat dependency list converter.
(no cyclic reference check here)
* contrib/gtwvg/wvgwing.c
! Fixed for Windows x64 platform.
* contrib/gtwvg/Makefile
+ Enabled for Cygwin, IA64 and mingw64 compilers.
Latest mingw64 experimental builds build it fine.
This means all win compilers are supported except xcc.
; NOTE: Now it's disabled only for xcc.
Can someone with xcc installed try gtwvg? Maybe it can
be made work so we can drop this exception.
* config/global.mk
* utils/hbmk2/hbmk2.prg
+ Added autodetection of x86_64 build of mingw64.
(in hbmk2 it's recognized even if host platform isn't x64)
* INSTALL
+ Added darwin -> win/mingw64 cross-platform scenario.
Such binaries are now provided by the mingw64 project.
* include/hbapi.h
* Changed HB_ERRCODE to be 'insigned int' (was USHORT).
; You'll need to rebuild all sources.
* utils/hbmk2/hbmk2.prg
% Turned off line numbers (for hbmk2 itself).
* INSTALL
* Minor formatting.