* INSTALL
* minor clarifications to INSTALL/TROUBLESHOOTING
* config/os2/watcom.mk
* config/wce/mingwarm.mk
* config/wce/msvcarm.mk
* config/wce/poccarm.mk
* config/win/bcc.mk
* config/win/mingw.mk
* config/win/msvc.mk
* config/win/pocc.mk
* config/win/watcom.mk
* config/win/xcc.mk
+ added std header paths to RC commands
* utils/hbmk2/Makefile
+ utils/hbmk2/hbmk2.rc
* utils/hbmk2/hbmk2.hbp
+ added std windows versioninfo and manifest to hbmk2
* utils/hbmk2/hbmk2.prg
+ utils/hbmk2/p_extdyn.hb
+ added almost complete hbrun functionality into hbmk2
to run it, type: 'hbmk2 .'
Missing is extension registration, plugins don't seem
to work yet, and I plan to switch from full screen
prompt to shell-like prompt. Plugin paths, extension
configuration, history on-disk files need further
polishing.
+ hbmk2 will act as a hbrun, if renamed to hbrun
* contrib/hbqt/qtcore/hbqt_misc.prg
+ added two TOFIXes for missing PROTECTED keyword
for two object variables of unknown purpose. Not
even HBQT developers know what it is, but without
it, HBQT breaks.
; Those who need "stable" hbqt (meaning "it builds")
Go to:
http://sourceforge.net/p/hbqt/
* harbour/utils/hbmk2/hbmk2.prg
* harbour/config/dos/watcom.mk
* harbour/config/win/watcom.mk
* harbour/config/linux/watcom.mk
* harbour/config/os2/watcom.mk
! fixed to not use -wcd124 and -wcd136 in OpenWatcom C++ builds
* harbour/config/win/xcc.mk
! added -noexpobj as workaround for problems with creating
shared library
* removed now unnecessary $(RM) harbour*.dll
* harbour/src/rtl/base64d.c
* pacified warning
% removed unnecessary condition with RTE - decoded string has to
be shorter then the source one taken from HVM string item so for
sure it cannot exceed maximum string item size
* harbour/src/rtl/base64c.c
* generate RTE if encode string size is too big
* eliminated unnecessary INT_MAX string limit
* config/postinst.hbs
* config/global.mk
* config/bin.mk
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
* config/linux/gcc.mk
* config/dyn.mk
* config/os2/gcc.mk
* Trying to cleanup the harbour dynlib name situation.
Here's the plan (which is similar to what's used in contrib area):
win, wce: harbour-21[-subtype][.dll/.lib]
dos, os2: harbour[.dll|.???]
darwin:
libharbour.2.1.0.dylib
libharbour.2.1.dylib -> (symlink) [compatibility level]
libharbour.dylib -> (symlink)
*nix:
# libharbour.s?.2.1.0
# libharbour.s?.2.1 -> (symlink) [soname]
# libharbour.s? -> (symlink)
; It's possible it's broken now. Pls test linux/gcc and darwin.
'install' was not tested.
; TODO: Clean variable usage, there is some redundancy, plus
some places where current solution is not generic, f.e.
using HB_VER_*, HB_DYNLIB_BASE vs. HB_DYNLIB_NAME, etc.
* harbour/src/rtl/fscopy.c
* Reverted 2011-02-22 12:27 UTC+0200 Mindaugas Kavaliauskas
which made behavior inconsistent with rest of similar
functions like FERASE(), FRENAME(), which also don't throw
RTE if bad parameter is passed, but return FERROR()
and failure instead.
Also restored _SET_DEFAULT handling to not create a special case
compared to __COPYFILE() behavior, ia. some features like
FXO_SHARELOCK are still enabled while FXO_DEFAULT is not).
Pls rewrite it using hb_fsOpen()/hb_fsCreate() if that behavior
bothers you.
* utils/hbmk2/hbmk2.prg
* config/beos/gcc.mk
* config/qnx/gcc.mk
* config/bsd/gcc.mk
* config/wce/mingwarm.mk
* config/vxworks/gcc.mk
* config/minix/gcc.mk
* config/darwin/gcc.mk
* config/hpux/gcc.mk
* config/win/mingw.mk
* config/linux/gcc.mk
* config/cygwin/gcc.mk
* config/symbian/gcc.mk
* config/os2/gcc.mk
* config/sunos/gcc.mk
! Separate -Wimplicit-int and -Wimplicit-function-declaration
so that they are added to cflags only when not in cpp mode.
; Patch by Tamas.
* harbour/include/hbcomp.h
* do not inherit in macrocompiler -z compile time switch when -kc is
also used
* harbour/src/common/expropt2.c
* disable logical expression optimization (reduction) in macrocompiler
when -kc compile time switch is used.
* harbour/config/beos/gcc.mk
* harbour/config/qnx/gcc.mk
* harbour/config/bsd/gcc.mk
* harbour/config/wce/mingwarm.mk
* harbour/config/vxworks/gcc.mk
* harbour/config/hpux/gcc.mk
* harbour/config/darwin/gcc.mk
* harbour/config/dos/djgpp.mk
* harbour/config/win/mingw.mk
* harbour/config/linux/gcc.mk
* harbour/config/cygwin/gcc.mk
* harbour/config/symbian/gcc.mk
* harbour/config/os2/gcc.mk
* harbour/config/sunos/gcc.mk
* harbour/utils/hbmk2/hbmk2.prg
* enable some important warnings in GCC builds using -W<name>... instead
of -Wall and -Wno-<name>... for warning level set to low.
It should help in backward compatibility with some older GCC versions.
* harbour/config/beos/gcc.mk
* harbour/config/qnx/gcc.mk
* harbour/config/bsd/gcc.mk
* harbour/config/wce/mingwarm.mk
* harbour/config/vxworks/gcc.mk
* harbour/config/hpux/gcc.mk
* harbour/config/darwin/gcc.mk
* harbour/config/dos/djgpp.mk
* harbour/config/win/mingw.mk
* harbour/config/linux/gcc.mk
* harbour/config/cygwin/gcc.mk
* harbour/config/symbian/gcc.mk
* harbour/config/os2/gcc.mk
* harbour/config/sunos/gcc.mk
* use -Wall -Wno-unused -Wno-pointer-sign -Wno-uninitialized
-Wno-switch -Wno-strict-overflow -Wno-main
instead of -W when warnings are not enabled with GCC based compilers.
Using only -W only is rather useless because this switch enables
warnings which can be usually ignored in 3-rd party code.
This modification should help in locating bugs introduced by us
to 3-rd party code, i.e. due to wrong header files used on some
platforms (we do not use autoconf assuming some default settings
what can be wrong in some cases). It should also not hide some
important/critical bugs in 3-rd party code.
This modification pacifies some common warnings which can be
ignored usually but it also enables some more important ones.
If it's necessary then we can tune it a little bit more and disable
some other warnings too.
It's possible that on some platforms using very old GCC versions
some of -W* switches are not supported - please make tests and
inform us about problems.
* harbour/utils/hbmk2/hbmk2.prg
* use -Wall -Wno-unused -Wno-pointer-sign -Wno-uninitialized
-Wno-switch -Wno-strict-overflow -Wno-main
instead of -W when warning level is set to low with GCC based
compilers
* harbour/src/rtl/cdpapi.c
* removed dummy assignment
* harbour/src/lang/msgpl852.c
* harbour/src/lang/msgplmaz.c
* harbour/src/lang/msgpliso.c
* harbour/src/lang/msgplwin.c
! fixed one message translation
* harbour/config/dos/watcom.mk
* harbour/config/win/watcom.mk
* harbour/config/linux/watcom.mk
* harbour/config/os2/watcom.mk
* disable explicitly some Open Watcom warnings in 3rd party code
which we can safely ignore when HB_BUILD_WARN='no'
* harbour/utils/hbmk2/hbmk2.prg
* disable explicitly some Open Watcom warnings in 3rd party code
which we can safely ignore when warning level is low
* harbour/src/rtl/filesys.c
* unified hb_fsSeek[Large]() return value when seek operation cannot
be executed for given file handle. Now it's 0 for all platforms.
* harbour/include/hbapicls.h
* harbour/src/vm/classes.c
+ added new public C function
PHB_SYMB hb_clsFuncSym( HB_USHORT uiClass )
It returns class function symbol or NULL.
* harbour/ChangeLog
* harbour/config/os2/gccomf.mk
* harbour/include/hbpcode.h
* harbour/include/hbdebug.ch
* harbour/include/hbmath.ch
* harbour/include/hbgfx.ch
* harbour/src/vm/classes.c
* harbour/utils/hbmk2/hbmk2.prg
* removed dummy trailing spaces at EOLs
* config/win/mingw.mk
+ Added (commented) support for -m32/-m64 options.
This may be useful in the future f.e. for mingw tdm 4.5.0
compiler which can build both 64 and 32-bit targets using
the same compiler binaries.
* config/global.mk
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.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/msvc.mk
* config/os2/watcom.mk
+ Changed to init RCFLAGS from global.mk.
* config/global.mk
+ Added support for theoretical QNX cross-builds.
* ChangeLog
* Updated QNX TODO list.
* config/os2/gcc.mk
* utils/hbmk2/hbmk2.prg
- Deleted resource support from os2/gcc and os2/gccomf.
It didn't work with any gcc flavours. Resource support
seems to be broken in gcc tools.
* config/wce/poccarm.mk
* config/dos/watcom.mk
* config/win/xcc.mk
* config/win/pocc.mk
* config/win/bcc.mk
* config/win/watcom.mk
* config/linux/watcom.mk
* config/os2/watcom.mk
* Changed to not forcefully turn off warnings in some targets.
(so HB_BUILD_WARN=no is now equivalent to hbmk2 -warn=def)
; NOTE: This will result in some new warnings in /external
dir since for above compilers I've now upped the
warning level from nothing to the default level.
* external/zlib/Makefile
* Changed to not set Harbour level warnings for this
external component (in sync with all the others).
* config/os2/gcc.mk
+ Readded OS/2 windres call in coff mode. Commented the whole
thing with NOTE. Seems like windres bug.
I left gccomf branch active, maybe they fixed it in those
more recent versions.
* utils/hbmk2/hbmk2.prg
* config/os2/gcc.mk
! Fixed to not use '-O coff'. It generates strange error.
'-O omf' is still used, pls test it.
* utils/hbrun/hbrun.rc
* Trying to make it work for OS/2 and at the same time
lessen the chaos (f.e. using forward slashes in filenames).
* 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.
* contrib/hbssl/evpmd.c
! Disabled md2 support for >= 1.0.0 OpenSSL versions.
Seems they dropped it.
* contrib/hbssl/ssl.c
* contrib/hbssl/x509.c
* contrib/hbssl/sslctx.c
! Disabled some code parts which didn't compile with
>= 1.0.0 OpenSSL versions. This is not the right fix,
but I just can't figure what went wrong (or what
has been changed) in OpenSSL which cases it. There
is something wrong around 'X509_NAME' symbol.
* utils/hbmk2/hbmk2.prg
* config/beos/gcc.mk
* config/bsd/gcc.mk
* config/wce/mingwarm.mk
* config/darwin/gcc.mk
* config/hpux/gcc.mk
* config/win/mingw.mk
* config/win/cygwin.mk
* config/linux/gcc.mk
* config/linux/icc.mk
* config/os2/gcc.mk
* config/sunos/gcc.mk
- Deleted '-pipe' option. Efficient, but buggy. It didn't take
too long to bump into the problem: On build error, the
.o file is generated with some dummy content, so a second
build attempt will silently make build errors ignored.
* contrib/rddsql/sddfb/sddfb.c
* Minor formatting.
* contrib/hbqt/hbqt_hbdbfmodel.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbqt/hbqt_hbqtableview.cpp
* contrib/hbqt/hbqt_hbevents.cpp
* contrib/hbqt/hbqt_destruct.cpp
* contrib/hbqt/hbqt_utils.cpp
* contrib/hbqt/hbqt_hbqmainwindow.cpp
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/hbqt_base.cpp
* contrib/hbqt/hbqt_hbslots.cpp
* Cleaned header inclusion order after adding hbapi.h to hbqt.h.
* config/os2/gcc.mk
! Fixed to use '-Wl,' trick proposed by Przemek, to forward obj list
script filename directly to linker.
This gets around the problem where gcc tries to pass expanded
scripts to subprocesses (ld) via cmdline, thus imposing a 32K
limit also to script files.
* 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/hbextern.ch
+ Added __CLSMSGTYPE function.
* config/os2/gcc.mk
* Changed to use 'ld' tools directly when creating
Harbour dynamic libraries.
; Please test, it's possible that some option have to be
deleted, changed, or some system/compiler libs added
manually to make it work.
* harbour/contrib/hbtpathy/tpunix.c
! fixed tty raw IO mode setting
* reduced CRTSCTS redefinition to WATCOMC and Linux, added small
comment about it and iTODO compile time warning if CRTSCTS is
not defined.
TODO: make some cleanup and extensions for *nix version of this
library.
* harbour/config/os2/watcom.mk
* disabled -s from GTSTD compile time parameters to test possible
workaround for OW problems in MT mode and APIENTRY16 functions.
* src/rtl/gtos2/Makefile
* config/os2/watcom.mk
% Changed the way -s option is disabled for certain modules
(currently gtos2).
This method doesn't require new variable, although it's still
a hack.
* harbour/src/rtl/gtos2/Makefile
* harbour/config/os2/watcom.mk
* disable -s in GTOS2 OpenWatcom builds using HB_CSTACK_CHECK variable.
This is workaround for wrong code generated by OpenWatcom <= 1.8
when -s switch is used for functions calling APIENTRY16 functions.
Such code executed from non main thread causes GPF.
* config/beos/gcc.mk
* config/bsd/gcc.mk
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.mk
* config/hpux/gcc.mk
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
* config/dos/watcom.mk
* config/dos/djgpp.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/icc.mk
* config/win/cygwin.mk
* config/win/msvc.mk
* config/linux/watcom.mk
* config/linux/gcc.mk
* config/linux/icc.mk
* config/linux/clang.mk
* config/linux/sunpro.mk
* config/os2/watcom.mk
* config/os2/gcc.mk
* config/sunos/gcc.mk
* config/sunos/sunpro.mk
* Initializing LDFLAGS, DFLAGS and ARFLAGS at the beginning of files.
This allows to easily add to these var according to build settings.
It also syncs all .mk files to use the same layout in this regard.
* config/wce/msvcarm.mk
* config/win/msvc.mk
+ Added -debug linker option to .dll linking for msvc/msvcarm targets.
* harbour/src/vm/fm.c
* enabled HB_FM_DL_ALLOC by default in OS2 OpenWatcom builds
* harbour/config/os2/watcom.mk
! enabled -bm flag (MT code) in OS2 OpenWatcom builds - now when
HB_FM_DL_ALLOC is enabled by default it should not kill the
performance. Please make tests with OS2 OpenWatcom builds.
* INSTALL
* Updated dev list max attachment size.
* INSTALL
* config/beos/libs.mk
* config/global.mk
* config/bsd/libs.mk
* config/bin.mk
* config/wce/global.mk
* config/hpux/libs.mk
* config/darwin/libs.mk
* config/dos/djgpp.mk
* config/win/global.mk
* config/linux/libs.mk
* config/os2/gcc.mk
* config/sunos/libs.mk
+ Added support for HB_USER_LIBS build option to specify
extra libs. Note: This is useful only in very special
cases, so pls don't use it unless you exactly know what
you want to do. The libs have to be specced without
prefixes and extensions. It will be added after Harbour
libs and before system libs.
* utils/hbmk2/hbmk2.prg
* config/os2/gcc.mk
! Fixed to use .lib extension in gccomf mode. As far I could
debunk it from lenghty e-mail, this is the default extension for
libs, used by OS/2 GCC in OMF mode.
If not, don't blame me.
! Fixed to not use lib prefix in gccomf mode.
It does seem alright but due to no testing again give me
*very short correction information*, if this turns out to be
false.
* contrib/hbct/disk.c
! Typo in comment.
* utils/hbmk2/hbmk2.prg
* config/os2/gcc.mk
* Changed to use GCC default extensions for objects and libs
even in OMF mode.
! This fixed hbmk2 problems reported by David Arturo Macias Corona.
; Please verify if now also changed lib extension didn't create
any new problem in hbmk2, f.e. when using -strip option.
* INSTALL
- Deleted sudo from one pkg creation command.
* config/global.mk
+ Added MSVS 10.0 compiler version autodetection.
* config/os2/gcc.mk
% Deleted OS/2 make bug workarounds from OMF specific code.
Submitted by David Arturo Macias Corona.
Please test/review.
* INSTALL
! Minor fix to OS/2 example.
* utils/hbmk2/hbmk2.prg
* config/os2/gcc.mk
! Fixed to use 'stripomf' tool instead of 'strip' in gccomf mode.
; Please only post comments on above patch if it contains real
information. I'm not interested in "This is wrong.", "You messed it up."
kind of comments, only in real information, since I'm not OS/2 user.
* INSTALL
* utils/hbmk2/hbmk2.prg
* config/os2/gcc.mk
+ config/os2/gccomf.mk
+ Added OS/2 GCC OMF support.
This tries to fix resource support in hbmk2 compared to David's
solution. hbmk2 support is completely newly done, .mk support was imported
as is, with little change in actication logic.
! Fixed to use $(ECHOQUOTE) in some $(ECHO) command parameters.
; NOTE: Until we don't add autodetection for OMF supporting GCC versions,
it will have to be selected manually using HB_COMPILER=gccomf.
Notice that for GCC 4.x this is obligatory since COFF support is
broken in these versions.
Additional EMX* envvar options are left as an excercise for the
users, I intentionally didn't document these in INSTALL, as INSTALL
servers as Harbour documentation, not 3rd party tools like GCC.
* config/global.mk
! Minor in comment.
* contrib/hbqt/Makefile
* contrib/hbqt/hbqts/Makefile
* contrib/gtqtc/gtqtcs/Makefile
* contrib/gtqtc/Makefile
! Disabled QT dependent parts for msvcia64 targets.
; Fails with error:
---
z:\devl\qt\4.5.2\include\qtcore\../../src/corelib/tools/qvector.h(541) : warning C4346: 'QVector<T>::iterator' : dependent name is not a type
prefix with 'typename' to indicate a type
z:\devl\qt\4.5.2\include\qtcore\../../src/corelib/tools/qvector.h(541) : error C2143: syntax error : missing ';' before 'QVector<T>::insert'
z:\devl\qt\4.5.2\include\qtcore\../../src/corelib/tools/qvector.h(541) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
z:\devl\qt\4.5.2\include\qtcore\../../src/corelib/tools/qvector.h(541) : fatal error C1903: unable to recover from previous error(s); stopping compilation
---
* package/winuni/HARBOUR_README_MINGWARM
* Minor raw update to document newly found --force-local tar switch.
* config/global.mk
* utils/hbmk2/hbmk2.prg
+ Added autodetection for win/msvcia64 compiler.
* INSTALL
+ Tweaks to links.
* ChangeLog
! Fixed wrong entry header in my prev commit.
* INSTALL
* utils/hbmk2/hbmk2.prg
* config/os2/gcc.mk
! Reverted "rogue" patch. I'd like to kindly ask David,
to commit when doubts are cleared, otherwise I will
have to revoke R/W rights to avoid extra cleanup work.
This solution is wrong, for specific concerns see dev list.
* harbour/config/os2/gcc.mk
* harbour/utils/hbmk2/hbmk2.prg
+ Added support of OMF library format
To select alternative OMF library format, use:
set HB_OS2_OMF=yes
* INSTALL
+ Added note for OMF library format
* harbour/include/hbpp.h
* harbour/include/hbcompdf.h
* harbour/source/pp/pplib.c
* harbour/source/pp/ppcore.c
* harbour/source/compiler/cmdcheck.c
* harbour/source/compiler/ppcomp.c
+ added support for disabling all automatically set platform dependent
macros by '-undef:.ARCH.' switch.
.ARCH. is meta flag to select all architecture dependent macros:
__PLATFORM__*, __ARCH??BIT__, __*_ENDIAN__
It should simplify cross build harbour compiler settings in
core make system and hbmk2 or hb* scripts.
* harbour/config/dos/watcom.mk
* harbour/config/os2/watcom.mk
* harbour/config/win/pocc.mk
* harbour/config/win/bcc.mk
* harbour/config/win/watcom.mk
* harbour/config/linux/watcom.mk
* disable C compiler warnings when HB_BUILD_WARN=no. Some compilers
enable warnings by default.
It pacifies warnings when external libraries are compiled.