* 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.
* utils/hbmk2/hbmk2.prg
* config/global.mk
! Changed .dll names for OS/2 to be the same as in MS-DOS:
harbour/harbourm. (.dll names in OS/2 are limited to 8.3)
* config/dos/djgpp.mk
! Attempt to fix empty line problem when stripping isn't requested.
Something better would be good here.
* config/os2/gcc.mk
! Fixed empty line problem when stripping isn't requested.
* doc/gmake.txt
- source/vm/mainpm.c
* config/os2/gcc.mk
* examples/hbdoc/examples/core_es/dirstruc.txt
- Deleted os2pm and mainpm references. It wasn't needed, so
(with OS/2 users) we decided to delete it.
* Makefile
- source/hbpcre
- source/hbzlib
* external/Makefile
+ external/pcre
+ external/zlib
* external/pcre/Makefile
* external/zlib/Makefile
* external/libhpdf/Makefile
* external/libpng/Makefile
* include/hbsetup.h
* include/hbzlib.h
* include/hbregex.h
* source/rtl/hbzlibgz.c
* source/rtl/Makefile
* source/rtl/hbregexc.c
* source/rtl/hbregex.c
* source/rtl/hbzlib.c
* source/Makefile
* contrib/xhb/Makefile
* contrib/hbmzip/Makefile
* utils/hbmk2/hbmk2.prg
* config/global.mk
* config/lib.mk
* config/bin.mk
* config/detect.mk
* config/darwin/libs.mk
* config/linux/libs.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/icc.mk
* config/win/cygwin.mk
* config/win/msvc.mk
* config/dyn.mk
* config/os2/watcom.mk
* config/os2/gcc.mk
* config/bsd/libs.mk
* config/hpux/libs.mk
* config/sunos/libs.mk
* Changed the way embedded zlib and pcre are handled:
- They now reside in /external dir.
- They are now excluded from Harbour dynlib. This means they
will now be linked statically on non-*nix systems and
dynamically on *nix systems. On *nix it's probably easy to
switch to link statically. On non-*nix this is quite
complicated to do.
- If these libs are provided by the system, those will be used.
- On non-*nix systems the locally hosted versions will be used,
unless user overrides them using HB_INC_PCRE or HB_INC_ZLIB.
- There is currently no officially supported way to force usage
of locally hosted libs.
- If PCRE lib is forcibly disabled or not found, build system
will fall back to POSIX regex on *nix systems and Borland regex
with bcc compiler. Otherwise it will stop the build with an error.
- If zlib is forcibly disabled or not found, an error will be
generated at build-time (in hbrtl). hbmzip is simply skipped
in this case.
- hbmk2 will use local builds of these libs if they are present
in lib dir.
; TOFIX: hbmk script.
; TOFIX: dos builds. cmdline lenghts are most probably too big for them.
; NOTE: Bumps are expected.
; NOTE: I've yet to test/verify it.
- external/libhpdf/ori_src
- external/libhpdf/ori_dst
- Deleted. (added in prev commit by oversight)
* contrib/hbssl/bio.c
- Disabled feature which doesn't seem to be exported via
implibs.
+ contrib/hbssl/hbssls.hbc
+ contrib/hbssl/hbssls
+ contrib/hbssl/hbssls/Makefile
* contrib/hbssl/hbssl.hbc
* contrib/hbssl/Makefile
* Default hbssl lib is now created to link dynamically (on Windows).
+ Added static build of hbssl by the name hbssls, with new .hbc
file linking to static OpenSSL libs.
* contrib/hbssl/Makefile
+ contrib/hbssl/hbssls.hbc
* contrib/hbssl/hbssl.hbc
* bin/hb-func.sh
- Commented creation of dynamic libs. Now it's done on GNU Make
level.
* config/os2/gcc.mk
- Disabled os2/gcc .dll creation. If someone comes up with a working
solution we can readd it, but in current form it just broke os2/gcc
target with no short-term hope for a solution.
* source/common/hbver.c
+ Added "Embarcadero" to Borland C compiler name.
Borrowed from xhb / Andi Jahja
+ Readded also "Borland" to both Embarcadero and CodeGear compiler
names. Probably for most ppl "Borland" tells a hell lot more than
these names which keep changing every second year.
* contrib/gtwvg/Makefile
* contrib/hbtip/Makefile
* contrib/hbtip/hbtipssl/Makefile
* Formatting.
* config/rules.mk
* config/dos/djgpp.mk
* config/common/watcom.mk
* config/os2/gcc.mk
+ Finished support for HB_LDFLAGS variable (to hold Makefile
local extra linker options). We don't use this feature yet.
* config/sunos/sunpro.mk
+ Setting CXX for sunos/sunpro.mk to make it build .cpp files
without forcing cpp mode explicitly. (suncc seems to do nothing
with .cpp input files.)
* config/bsd/libs.mk
* config/hpux/libs.mk
* config/darwin/libs.mk
* config/sunos/libs.mk
- Deleted commented /usr/X11R6/lib64 lib dir. It's a Linux
distro specific thing.
* config/linux/libs.mk
+ Added comment for /usr/X11R6/lib64
* source/rtl/gtcrs/Makefile
* source/rtl/gttrm/Makefile
* source/rtl/gtsln/Makefile
* Using HB_HAS_GPM instead of old HB_GPM_MOUSE.
* config/bin.mk
* config/dyn.mk
* config/bsd/libs.mk
* config/darwin/libs.mk
* config/hpux/libs.mk
* config/dos/djgpp.mk
* config/win/mingw.mk
* config/linux/libs.mk
* config/os2/gcc.mk
* config/sunos/libs.mk
* Extended the way it's decided whether to include
rtl external lib dependencies or not. Now binary specific
logic was moved to bin.mk, and dynamic lib logic was added
to dyn.mk.
The flag is called HB_LINKING_RTL (not empty means yes).
+ Updated syslib list assembly parts to use HB_HAS_*
autodetection variables instead of trying to find it out
by other means.
* config/global.mk
+ Adding gtcrs, gtsln, gtxwc to std liblist if required
components are available. This means that it's now again
possible to select these as build-time default GTs.
* Updated comment for setting plans.
* INSTALL
+ Added DJGPP cross-builds to support matrix.
+ Added DJGPP bash.exe to the shell mix.
+ Added OS/2 bash.exe to the shell mix.
; NOTE: djgpp build fails here when using bash too
(I've used a Windows machine to test), see below.
* ChangeLog
* Updating pending item status.
* contrib/hbbtree/hb_btree.c
! Added TOFIX about bad bug. (hitting win64, maybe more)
Reported on the list a while ago.
* utils/hbmk2/hbmk2.prg
- Deleted HB_CCPATH support for *nix based gcc/icc compilers.
To be in sync with GNU Make files.
+ Added HB_CCPATH support for os2 and dos.
+ Added HB_CCPREFIX and HB_CCPOSTFIX support for dos/djgpp to
support cross-builds.
+ Using host dependent executable extension for compiler
tools in dos/djgpp to support cross-builds.
* config/wce/mingwarm.mk
* config/win/mingw.mk
+ Added HB_CCPOSTFIX support. Now in sync with rest of gcc
family compilers in GNU Make and with hbmk2.
* config/win/cygwin.mk
+ Added HB_CCPATH, HB_CCPREFIX, HB_CCPOSTFIX support.
To be in sync with rest of gcc family compiler in GNU Make
and with hbmk2.
* config/dos/djgpp.mk
+ Added HB_CCPATH, HB_CCPREFIX, HB_CCPOSTFIX support for
dos/djgpp.
! Fixed to only give error when using non-DOS build of
GNU Make on a Windows host.
; NOTE: Tried the bld process with bash.sh, and it starts
when using nativ DOS make.exe, but it fails also
with 'Bad command or file name' and 'No command name seen.'
when building hbcommon lib. Same effect when using
msys. So I conclude our djgpp make files are broken
for POSIX shells, I hope someone else can also do
tests.
* config/os2/gcc.mk
+ Added HB_CCPATH support.
To be in sync with rest of gcc family compiler in GNU Make
and with hbmk2.
* config/win/bcc.mk
! Readded dbl quotes around tlib filename. This breaks tlib
on msys shells. The real problem is caused by /P64 option.
Fix unknown, besides avoiding msys shell+bcc target
combination.
* contrib/hbfbird/Makefile
* Indented/rearranged.