* source/rtl/gtcrs/Makefile
* source/rtl/gttrm/Makefile
* source/rtl/gtsln/Makefile
* config/global.mk
% Deleted dedicated (redundant) make level settings:
- HB_GPM_NOICE_DISABLE=yes
It should be replaced with HB_USER_CFLAGS=-DHB_GPM_NOICE_DISABLE
Notice this setting was only effective in gtsln (yet it was passed to two other GTs).
- HB_GT_CRS_BCEHACK=yes
It should be replaced with HB_USER_CFLAGS=-DHB_GT_CRS_BCEHACK
- HB_NCURSES_194=yes
It should be replaced with HB_USER_CFLAGS=-DHB_NCURSES_194
; TODO: Change logic in bin/hb-func.sh to lookup user flags for -DHB_NCURSES_194,
instead of processing dedicated HB_NCURSES_194 variable. I'm unsure
which variable to check here for user flags.
* bin/hb-func.sh
* config/beos/libs.mk
* config/global.mk
* config/bsd/libs.mk
* config/darwin/libs.mk
* config/hpux/libs.mk
* config/dos/djgpp.mk
* config/linux/libs.mk
* config/sunos/libs.mk
* Renamed two variables to be in sync with latest changes:
HB_CRS_LIB -> HB_LIBNAME_CURSES
HB_SLN_LIB -> HB_LIBNAME_SLANG
(this one is not honored by GNU Make system)
; TOFIX: Honor HB_LIBNAME_SLANG in GNU Make system? Is that
needed in some cases?
* config/dos/djgpp.mk
+ Synced system lib/libpath logic with libs.mk found on
other platforms.
- bin/pack_src.sh
+ mpkg_src.sh
* Moved and renamed to align with rest of pkg creation scripts.
(this should also go to package dir once in the future)
* source/common/hbver.c
* Converted decimal version numbers to hex in BCC guards.
+ Added BCC version detections for old (pre-5.x) versions.
(Borrowed from xhb/Miguel Angel Marchuet)
- ERRATA
* doc/howtosvn.txt
* INSTALL
* bin/postinst.cmd
* bin/postinst.bat
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
+ Replaced ERRATA file (which was never updated), with a link
to bug/feature/etc tracker link in INSTALL.
* INSTALL
* Minor improvements.
* config/global.mk
! Fixed clang autodetection on darwin.
! Fixed systematic (copy/paste) typos in most 'find_in_path_par' calls.
(in gentoo mingw and msdosdjgpp autodetection)
* source/Makefile
* config/lib.mk
+ Added Przemek's patch to add local hbzlib and hbpcre
libs to Harbour dynlib.
; TODO: Add some ways to disable this because it has some
drawbacks (it f.e. makes it impossible to link 3rd
party libs also exporting zlib / pcre interfaces).
This information needs to be passed to hbmk2, too.
I don't have any elegant way to solve this problem ATM.
* utils/hbmk2/hbmk2.prg
* Changed to only add local hbzlib and hbpcre libs to liblist
in static mode. (this is needed to support change above).
+ Enabled lib grouping for beos/gcc.
+ Added supc++/supcxx lib to liblist of gcc family compilers.
This aims to solve link problems when Harbour is built
in C++, but hbmk2 is used in C mode.
* contrib/hbqt/hbqts.hbc
* contrib/hbqt/hbqt.hbc
* contrib/gtqtc/gtqtcs.hbc
* contrib/gtqtc/gtqtc.hbc
- Deleted explicit supc++ libspec. Now it's added by
hbmk2 automatically.
* config/dyn.mk
! Modified to add local hbpcre and hbzlib to syslib
list to make it link with beos/haiku.
Please test/confirm this change.
- Disabled above logic, since it's not needed.
* config/global.mk
+ Added autodetection for linux/sunpro, linux/icc,
darwin/clang, darwin/gcc, darwin/icc.
On darwin clang became the default, if available.
* external/sqlite3/Makefile
+ Tweak for linux/watcom. Based on Przemek patch sent to the devlist.
* config/detfun.mk
* config/bin.mk
* config/dyn.mk
* source/Makefile
* config/lib.mk
% Minor modification to HB_HAS_*_LOCAL logic to make
it safe to use this var without first checking HB_HAS_*.
; Please test/review these. I didn't restest everything after above changes.
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
+ Added HBMK_OPTIONS environment variable where options
can be specified in the same format as in the cmdline.
This is the supported and recommended way to control
hbmk2 by envvar.
+ Documented HBMK_OPTION on help screen.
% Cleaned internal handling of 'legacy' environment
variables. This means they will be processed in one
central place and converted to regular cmdline options
just as if they were specified in HBMK_OPTIONS.
+ Showing screen message if there were any settings read
from the environment (also showing the actual settings).
This will make it easy to debug problems caused by
leftover envvars.
- Deleted HB_COMPILER and HB_PLATFORM envvar references
from screen messages. Now these are considered legacy
and not advertised.
* Regenerated *.po files.
* contrib/hbqt/hbqts.hbc
! Fixed to include supc++ for gcc targets.
* contrib/hbqt/hbqt.hbc
* contrib/gtqtc/gtqtc.hbc
% Simplified inclusion logic of supc++.
* contrib/gtqtc/gtqtc.hbc
+ contrib/gtqtc/gtqtcs.hbc
+ contrib/gtqtc/gtqtcs
+ contrib/gtqtc/gtqtcs/Makefile
* contrib/gtqtc/Makefile
+ HB_QT_STATIC now works the same way as for hbqt.
* contrib/hbwin/legacy.prg
+ Added operator overloading to TOLEAUTO compatibility class.
Original code has been optimized and few small bugs fixed.
Please test, I've only tested clean build.
* contrib/hbtip/sendmail.prg
! Fixed hang experienced in some situations when sending
e-mail. This was reported on Linux, but was also present
on Windows (and all OSes). It was cause by not checking
:GetOk() return value, but looking for :cReply being NIL.
This seems to be incorrectly coded since the very beginning,
but surfaced only after cleaning up socket API in core.
Please review/test, I left also old condition in.
* utils/hbmk2/hbmk2.prg
* Minor formatting.
* utils/hbmk2/examples/contribf.hbc
* contrib/Makefile
- contrib/hbvpdf
+ examples/hbvpdf
* Moved hbvpdf lib to examples section.
This code is barely updated and offers duplicate functionality
of superior hbhpdf lib.
* source/rtl/filesys.c
* Minor formatting.
* harbour/bin/hb-func.sh
* updated hb* scripts to work with HAIKU/BEOS
* harbour/source/vm/dynlibhb.c
* enabled dlopen()/dlclose() in HAIKU/BEOS builds
* added TODO warning in non DOS builds which does not support
dynamic library loading
* harbour/source/rtl/fserr.c
! fixed errno translation
* harbour/source/rtl/gttrm/gttrm.c
+ added support for CTRL+{UP,DOWN,RIGHT,LEFT} keys in HAIKU XTerm.
+ added hack for UP,DOWN,RIGHT,LEFT keys in HAIKU XTerm - it works
only locally.
* added two notes about problems with HAIKU XTerm which cannot be
cleanly resolved by us:
- reverted MIDDLE and RIGHT button
- UP,DOWN,RIGHT,LEFT use the same sequences as
CTRL+{UP,DOWN,RIGHT,LEFT} in XTerm 3.x.x
any hardcoded solution is wrong in such case because XTerm can
be used for remote access.
* harbour/include/hbvmpub.h
* harbour/include/hbdefs.h
* added #if/#endif comments and minor formatting
* harbour/include/hbsetup.h
! disable malloc attribute for GCC < 3.xx
* harbour/include/hbinit.h
! removed unnecessary __HAIKU__ condition
* harbour/include/hbdate.h
! enable MT safe localtime_r() function in HAIKU/BEOS builds
* harbour/source/common/hbgete.c
! enable setenv()/unsetenv() in HAIKU/BEOS builds
* harbour/source/common/hbprintf.c
! removed wrongly added condition which disabled [u]intmax_t for GCC < 3
* harbour/source/rtl/gtcrs/gtcrs.h
! do not redefine existing MAX_SIGNO
* harbour/source/rtl/hbsocket.c
! enabled MT safe socket functions in HAIKU/BEOS builds
* harbour/config/beos/libs.mk
! do not set explicitly GCC internal library paths.
They are configured in GCC config and should not be overloaded
in normal builds.
TOFIX: error code are not properly decoded in HAIKU/BEOS builds.
It can be seen in hbtest results. It's possible that it's
HAIKU/BEOS problem not Harbour one.
* tests/menutest.prg
! Deleted COLOR keywords from examples. This seems to be an xhb
extension no present in Harbour or Clipper.
* source/rtl/menuto.prg
+ Added NOTE documenting the __ATPROMPT() cColor parameter is
a Harbour extension. (it's valid because this is an
undocumented/internal function)
* contrib/xhb/hbcompat.ch
+ Added @ PROMPT + COLOR keyword.
Please test, I don't know if it collides with std.ch definition.
* INSTALL
* doc/bintools.txt
* os2-make.exe
! Updated OS/2 make.exe (and links in INSTALL) to make-3.81-r3
(from make-3.81-r2).
This fixes the dreaded cmdline length inducated GNU Make crashes
which made us add .mk workarounds and which created a showstopper
towards OS/2 .dll support.
Many thanks to Maurilio Longo and Andreas Buening for hunting
down and fixing the problem in OS/2 GNU Make port.
* contrib/hbtip/sendmail.prg
! Applied patch from Alex Strickland.
Fixes wrong encoding (7-bit).
Fixed mails sent as multi-part even if there was only simple body.
* utils/hbmk2/hbmk2.prg
! Fixed stupid error in last cmomit.
* utils/hbmk2/hbmk2.prg
+ Extended autodetection of mingw cross-compiler on *nix system.
* Disabled native compiler tool autodetection for non-*nix targets
on *nix hosts. This will need further refinement.
* config/haiku/libs.mk
- Deleted commented lines.
* config/global.mk
+ Some more Haiku/BeOS autodetection.
* utils/hbmk2/hbmk2.prg
% Deleted UTF-8 hack. Now using the built-in UTF-8 conversion
support.
* contrib/hbwin/win_com.c
% Minor optimization and fixed warnings after recent patch.
* INSTALL
+ Added see also HB_CC* to HB_COMPILER settings.
* external/pcre/pcreglob.c
! Fixed fatal mistake in prev commit.
* config/global.mk
+ Extended generic mingw autodetection on *nix to work on Fedora 11.
Please test. On Fedora 11 HB_CCPREFIX is i686-pc-mingw32-
* external/pcre/pcreglob.c
! Fixed watcom compilation. There are still warnings.
Please review it.
* external/pcre/config.h
* external/pcre/Makefile
* -DPCRE_STATIC moved to Makefile from config.h. There is
no dynlib build mode here, so this could be done.
* config/bsd/gcc.mk
* config/hpux/gcc.mk
* config/sunos/gcc.mk
- Deleted -fPIC from DFLAGS. Pls tell if this was put there for a reason.
* config/hpux/gcc.mk
* config/sunos/gcc.mk
* config/sunos/sunpro.mk
+ Added separate compilation pass for Harbour dynlibs using PIC option.
* config/global.mk
+ Added logic for host CPU detection on *nix systems.
Please extend 'check_host_cpu' with more real-world values.
+ HB_CPU made equal to HB_HOST_CPU for *nix systems.
This should be fine-tuned on the compiler level depending
on default compiler behaviour and ABI modifier options.
(if we do this further tweaks in global.mk will be needed)
* INSTALL
! Deleted wrong (and duplicate) HB_INC_* value.
* INSTALL
+ Minor tuning here and there.
* external/libhpdf/Makefile
+ Enabled libpng detection on darwin.
* config/linux/icc.mk
* config/linux/sunpro.mk
+ Implemented PIC compilation phase.
* config/linux/global.mk
* Deleted hacks dealing with PIC. Notice that now
we use -fpic on gcc/icc, while it was previously
set to -fPIC. The old hacks enabled PIC only for
Intel x86/x86_64 ABIs, which is now removed. Pls
speak up if we need to readd them on compiler
level. This way it'd be possible to optimize out second
compilation pass for ABIs which don't need special
PIC code generation. To make this useful in a generic
way, IMO we should fix ABI (CPU) HB_HOST_CPU/HB_CPU
detection in global.mk for *nix systems, and do
compiler level decisions based on HB_CPU value.
* config/linux/gcc.mk
* Minor option reordering.
* config/linux/gcc.mk
+ Enabled separate -fpic (with lowercase as a start) compilation
phase for Harbour dynlib.
% Deleted -fPIC from dynlib link command-line. Please advise if
this is necessary and what are the rules here. On linux/ubuntu
it made no difference whatsoever.
; Please test.
; TODO: hbmk2 will have to updated once we've settled with fpic
setup in GNU Make.
* config/darwin/icc.mk
- Deleted commented fpic option. On darwin this is not needed,
but some further research will be needed what *is* needed
on this platform. (check -fno-common).
* harbour/include/hbapi.h
+ added hb_xgrabz() and hb_xmemdup() macros
* harbour/include/hbapicdp.h
* harbour/source/rtl/cdpapi.c
+ added new functions which can be used in translations changing the
size of trnaslated strings:
hb_cdpDup(), hb_cdpnDup(), hb_cdpnDup2(), hb_cdpnDup3(),
hb_cdpnDupLen(), hb_cdpnDup2Len()
Now hb_cdp[n]Translate() functions are depreciated.
+ added pseduto codepage "UTF8" which can be used in trnaslations only
+ added new function hb_cdpFindExt() which allows to chose pseudo CPs
* harbour/include/hbapi.h
* harbour/include/hbset.h
* harbour/source/vm/set.c
* harbour/source/nortl/nortl.c
- removed old functions: hb_osEncode() and hb_osDecode() with low level
code which was using static char to char translation table
+ add new functions hb_osEncodeCP() and hb_osDecodeCP() which can make
translations changing the size of translated strings.
Warning all parameters have to be initialized.
Passing NULL in second parameter means that the 1-st is dynamically
allocated and can be used as buffer and reallocated if necessary.
if 2-nd parameter is not NULL then the 1-st one is used as const value.
The size of allocated buffer can be passed by reference in 3-rd
parameter and this value is updated on reallocation.
If buffer is two small then new bigger one is allocated and old one
freed.
* harbour/source/vm/set.c
+ added support for UTF8 translations in _SET_OSCODEPAGE
* harbour/source/vm/cmdarg.c
* harbour/source/common/hbffind.c
* harbour/source/rtl/filesys.c
* harbour/source/rtl/philes.c
* harbour/source/rtl/gete.c
* harbour/source/rtl/net.c
* harbour/source/rtl/hbproces.c
* harbour/source/rtl/hbrunfun.c
* harbour/source/rtl/run.c
* harbour/contrib/hbwin/win_misc.c
* harbour/contrib/hbwin/wapi_shellapi.c
* harbour/contrib/hbwin/wapi_winbase.c
* use new hb_osEncodeCP()/hb_osDecodeCP() functions
* harbour/source/rtl/hbi18n1.c
* harbour/source/rtl/gtxwc/gtxwc.c
* harbour/source/rtl/gtpca/gtpca.c
* replaced depreciated hb_cdp[n]Translate() functions with new
hb_cdp[n]Dup*()
* harbour/source/rtl/gtstd/gtstd.c
* harbour/source/rtl/gtcgi/gtcgi.c
* harbour/source/rtl/hbgtcore.c
* replaced depreciated hb_cdp[n]Translate() functions with new
hb_cdp[n]Dup*()
+ added support for UTF8 translations set by hb_setDispCP() and
hb_setTermCP() functions
* harbour/source/rdd/delim1.c
* harbour/source/rdd/sdf1.c
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/dbffpt/dbffpt1.c
* harbour/source/rdd/dbfnsx/dbfnsx1.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* harbour/source/rdd/dbfntx/dbfntx1.c
* replaced depreciated hb_cdp[n]Translate() functions with new
hb_cdp[n]Dup*()
+ added support for CP translations which can change the size of
translated strings
! disabled memo field translations for fields marked as binary
+ added support for UTF8 translations.
Using UTF8 as CP disables any national sorting in indexes.
Warning: please remember that normal character fields in tables have
fixed size and translation to UTF8 may increase the string
and cut results.
* harbour/source/rdd/dbf1.c
! fixed GPF in dbCreate() with empty struct table
* include/hbdefs.h
* contrib/hbfimage/fi_wrp.c
* contrib/hbfimage/Makefile
! Reverted prev. It does all sort of strange things.
; TODO: So the only way is the proper fix: Cleaning Harbour
source from BOOL, BYTE, LONG, ULONG and all other
'legacy' types.
* include/hbdefs.h
* Using #define instead of typedef for legacy core types.
This is needed to allow for ugly hack to disable these.
* contrib/hbfimage/fi_wrp.c
! Added terrible hack to make them build on non-win platforms.
; dos/djgpp and probably os2/gcc would work, but there I wasn't
interested enough to add extra logic to handle each special
case.
; non-linux/darwin *nixes should be tested.
* contrib/hbfimage/Makefile
+ Enabled for linux and darwin.
* contrib/hbwin/Makefile
- contrib/hbwin/win_tprt.prg
- contrib/hbwin/win_prt.c
+ contrib/hbwin/win_tcom.prg
+ contrib/hbwin/win_com.c
+ Applied patch from Alex Strickland.
This patch renames all former WIN_PORT*() functions and classes
to WIN_COM*(). INCOMPATIBLE.
! Added missing DWORD casts to -1 values.
* Slightly renamed Win_ComSetTimeouts() and made it static.
; TOFIX: I had to comment out WIN_COMINIT() function since HB_INITFUNC()
doesn't exist in Harbour.