* 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.
* utils/hbmk2/hbmk2.prg
+ Added support for -strip option in -hblib mode.
! Fixed -strip in -hbdyn mode for darwin and sunos targets which
use individual strip command.
* harbour-win-spec
* harbour-wce-spec
* Reverted change in 2009-09-21 14:03.
; See related pending question on dev list.
* config/sunos/global.mk
! Fixed to not use -s option for stripping. This doesn't seem to
be supported on sunos platform, at least according to code found
in hbmk2.
* utils/hbmk2/hbmk2.prg
+ Added support for -strip in -hbdyn mode.
+ Added -strip support for sunos/gcc targets.
! Fixed to use strip command instead of -s option with sunos/sunpro
targets.
* utils/hbmk2/hbmk2.prg
* config/bin.mk
+ Added hbmainstd lib for os/2 targets in shared mode.
Maurilio, please restest after this change.
; Needless to say I couldn't test these, so I'd appreciate if sunos
users could verify it (except -strip in -hbdyn mode).
* contrib/hbqt/Makefile
* contrib/hbqt/hbqts/Makefile
* contrib/gtqtc/Makefile
* contrib/gtqtc/gtqtcs/Makefile
! Fixed QT detection on darwin after 2009-09-18 12:19 change
in detfun.mk.
* utils/hbmk2/hbmk2.prg
+ Comment added (from .mk).
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
* config/darwin/global.mk
* config/rules.mk
+ Implemented HB_BUILD_STRIP for darwin.
(on darwin strip has to be called directly)
* utils/hbmk2/hbmk2.prg
; Fixes based on Przemek's extensive tests/suggestions on different *nix systems.
! -fixshared option now only effective for gcc compilers. For the rest
it behaves as -fullshared.
! Added x11 and curses/slang libpath for bsd targets in shared mode.
hbmk2 solution is rough, but didn't see a reason to make it more
complicated. I hope it fixes the problem.
+ Enabled -fullstatic mode for sunpro compilers.
* utils/hbmk2/hbmk2.prg
! Fixed to add /usr/X11R6/lib64 dir to libpath list on linux
targets only. (sync with similar guard in sunpro compiler support)
; TOFIX: This leaves the GPF in sunpro/linux on the pending list.
; TOFIX: And here comes to mind that mingw64 also GPFs in shared mode.
* utils/hbmk2/hbmk2.prg
* config/global.mk
+ Added beos system location detection.
+ Added system location detection based on [LD_]LIBRARY_PATH.
; Please review and even tweak code if needed. I didn't test these changes.
* utils/hbmk2/hbmk2.prg
% system location detection code disabled for non-*nix hbmk2 builds.
It's of no use there, as far as I can overview all scenrios.
* config/global.mk
* Restored default lib dir to simply lib on *nixes.
% Minor opt to system location detection.
! Fixed to only use 'harbour' lib/inc postfixes on beos
when installed on system location. Thanks Przemek for the patch.
* mpkg_tgz.sh
* bin/postinst.sh
% Attempt to clean mpkg_tgz.sh from redundant make logic.
Some tasks (stripping, shared tool making using HB_BUILD_SHARED,
chmod on HB_INC_INSTALL) moved to postinst.sh, some others
deleted (platform detection, shared tool building using old
method, component detections, install dir forming and creation.
; Please review me and test.
; TODO: Maybe above tasks in postinst.sh should only be
executed when HB_BUILD_PKG=yes.
* config/global.mk
! Fixed to only use lib64 dir if it exists. Please review/test
this feature.
+ Now exports HB_SYSLOC variable which is set to non-empty if
HB_INSTALL_PREFIX points to system location.
* harbour.spec
- Deleted PIC option related lines. These are handled by GNU Make now.
* utils/hbmk2/hbmk2.prg
+ Added PIC related options to *nix compilers when using -hbdyn option.
% Deleted PIC related option from link command. Not needed.
* config/bin.mk
! Fixed to leave sys libs for non-*nix systems in shared mode.
+ Added support for win/watcom.
* utils/hbmk2/Makefile
* utils/hbrun/Makefile
+ Added extra core lib specs required in shared mode.
* utils/hbmk2/hbmk2.prg
% Deleted bin dir from lib dir list in shared mode for
non-*nix compilers. Implibs are used in all cases so this
is isn't necessary anymore.
* external/sqlite3/sqlite3.c
* external/sqlite3/sqlite3.dif
* external/sqlite3/sqlite3.h
+ sqlite upgraded to 3.6.18 (from 3.6.17)
* external/sqlite3/Makefile
+ Enabled for mingwarm. Now it compiles with only one warning.
* utils/hbmk2/hbmk2.prg
+ Added 'fossil' version control system support to -vcshead option.
* utils/hbmk2/hbmk2.prg
! Fixed to add windows system libs in mingw -shared mode.
+ Added some steps towards os2/gcc -shared support.
* INSTALL
* Minor.
* ChangeLog
! Typos.
* source/rtl/hbsocket.c
! Applied patch for BEOS/HAIKU by Tamas Tevesz.
* contrib/hbtip/sendmail.prg
! Fixed to append CRLF instead of hb_osNewLine() to e-mail body.
Patch submitted by Lorenzo Fiorini.
NOTE: This fix is surely valid, I'll apply further fixes as we
manage to find out more on the bigger picture.
* contrib/hbtip/mail.prg
! Applied a few patches from mail.prg sent by Gerald Drouillard:
- Using :setBody() from :New() instead of replicating (little bit
different) logic.
- "Content-Length" deleted from generated e-mail text.
- Added parameter list to METHOD declaration for :setHeader().
* Minor formatting.
* config/beos/libs.mk
+ Applied patch from Tamas Tevesz changing 'socket' lib to 'network' for BEOS/HAIKU.
* utils/hbmk2/hbmk2.prg
+ Done the same for hbmk2 (changed 'socket' lib to 'network' for BEOS/HAIKU).
* config/detfun.mk
+ Changed to avoid duplicate component detection lines in verbose output.
(_DET_OPT_VERB=very|yes - not yet documented)
(note this needs absolute paths to be used when referring to internal
components in _DET_INC_DEFP/_DET_INC_LOCL)
* external/sqlite3/Makefile
* external/libhpdf/Makefile
* external/libpng/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbhpdf/Makefile
+ Changed to use absolute paths when referring to locally hosted components
in _DET_INC_LOCL variables.
* utils/hbmk2/hbmk2.prg
- Deleted supc++ lib. hbmk2 won't be able to solve every existing
compiler configuration problems, so in this case users will have to deal
with this special case and supply supc++ or supcxx or stdc++
lib if it's required, or manually select C++ mode for hbmk2 if
that better solves local needs.
Case closed from my side.
* contrib/hbqt/hbqts.hbc
* contrib/hbqt/hbqt.hbc
* contrib/gtqtc/gtqtcs.hbc
* contrib/gtqtc/gtqtc.hbc
+ Readded supc++ libs to .hbc files, where needed.
* utils/hbmk2/hbmk2.prg
- Deleted supc++ lib from os2/gcc targets.
It causes warnings like this:
---
emxomf warning: Undefined stabs type 182 referenced
emxomf info: parsing sym no.676 type=1 at char 'xyz' in position 12:context:p182
emxomf warning: Cycle detected by make_type.
---
; TODO: Check if C++ built Harbour works with hbmk2 in (default) C mode.
* 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/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.
* 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.
* utils/hbmk2/hbmk2.prg
! Fixed to include system zlib/pcre libs in static mode if local built lib
isn't found.
* external/sqlite3/Makefile
* external/libhpdf/Makefile
* external/libpng/Makefile
* utils/hbmk2/hbmk2.prg
* contrib/hbsqlit3/Makefile
* contrib/hbhpdf/Makefile
* config/detfun.mk
* config/detect.mk
- Deleted _DET_LOC_PLAT variable.
* package/winuni/mpkg_win_uni_extra_copy.bat
- Deleted some extra commented lines dealing with pcre/zlib headers.
* 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)
* config/darwin/clang.mk
+ Disable -c option to avoid warnings when --analyze user option is used.
* utils/hbmk2/hbmk2.prg
! Implemented fix from hbmk script for shared mingw targets in GUI mode.
* bin/hb-func.sh
! Synced wce .dll name with rest of Harbour.
* utils/hbmk2/hbmk2.prg
! Fixed to use 'rc' AR cmd on sunos. (instead of 'rcs')
+ Added -hbdyn support for gcc family of compilers. (very light testing with mingw)
+ Added sunpro compiler support. (not tested, bazaar style)
! Basic CPU detection fixed for clang.
+ Added TOFIX for CPU detection for *nix based gcc, icc, clang, sunpro
compilers.
* config/wce/mingwarm.mk
* config/hpux/gcc.mk
* config/win/mingw.mk
* config/linux/gcc.mk
* config/linux/icc.mk
* config/linux/sunpro.mk
* config/sunos/gcc.mk
* config/sunos/sunpro.mk
* Minor: AR cmd chars reordered to be in sync with hbmk2.
* config/darwin/clang.mk
+ Added comment with option to force C++ mode with clang.
* utils/hbmk2/hbmk2.prg
+ Added (not yet tested) darwin/clang support.
Probably it could be added for other platforms, too. Also
for GNU Make. clang cmdline is compatible with GCC for the most
part, so it's easy to do and if the few differences can be sorted out,
it can be done without duplicating .mk file logic.
* config/darwin/gcc.mk
- Disabled '-no-cpp-precomp' option for darwin/gcc. Most probably
it's not needed anymore. For users using older darwin systems, this
can be added manually.
* utils/hbmk2/hbmk2.prg
! Fixed to work on newer Darwin systems (f.e. latest XCode
with gcc 4.2.1). -Wno-long-double option had to be removed.
This way hbmk2 is in sync with GNU Make.
* source/vm/thread.c
! Fixed to compile HB_MT().
* INSTALL
+ Added "Embarcadero" to Borland compiler description.
! Fixed "Open Watcom C++ 9 or above" compiler description.
; Thanks to Tamas Tevesz for pointing these.
+ Added a bit more detail to *BSD platform description.
+ Added eComStation to OS/2 platform description.
! Few minor fixes when referring to Borland C++ compiler
by its full name.
* utils/hbmk2/hbmk2.prg
! Using 'svnversion .' (instead of 'svnversion') to make
it work with older svn versions.
* examples/terminal/trm_cli.prg
! Fixed some var naming problems slipped in the source.
Thanks to Bill Smith for reporting it.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added '@.clp' to cmdline template in help.
! Fixed double linefeeds in output (visible in dos builds).
! Fixed syntax of generated .rc file for os2 targets.
I can't check but the app icons still don't seem to
be added, so this will need further attention from
real OS/2 users.
* config/detect.mk
* config/dos/watcom.mk
* config/dos/djgpp.mk
! Fixed to properly set watt lib location even when backslash
is used in HB_INC_WATT setting.
* utils/hbmk2/hbmk2.prg
+ Readded lib grouping by default for all targets which
require it: mingw, linux/gcc, bsd/gcc, dos/djgpp.
+ Added option '-nolibgrouping' to disable lib grouping
for advanced users who'd like to streamline link process.
Maybe once we manage to make this smooth for everyone,
it will become the default.
+ Added option '-nomiscsyslib' to disable default list
of extra system libs (on win/wce platforms currently).
This will speed up link process but you should in turn
supply these libs manually (even for our own contribs).
* utils/hbmk2/hbmk2.prg
! Fixed to not apply compression in -hbcmp (and similar) modes.
! Adjusted rdd lib ordering to make some linkers (mingw) happy without
using lib grouping. Please review.
* bin/hb-mkimp.bat
* Little formatting.
* utils/hbmk2/examples/contribf.hbc
* contrib/hbtip/hbtipssl.hbc
* contrib/hbtip/hbtip.hbc
* contrib/hbtip/Makefile
+ Enabled hbtip lib for dos platform. It can work with watt lib.
* INSTALL
+ Little improvements.
* bin/hb-func.sh
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
! Fixed gpm lib to be added at the end of liblist to make
it link after removal of lib grouping switches.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added -compiler and -platform options as alternatives for
-comp and -plat, maybe this is more clear and it's also better in
sync with GNU Make's HB_COMPILER/HB_PLATFORM.
* config/dos/watcom.mk
* watt libname to lowercase.
* utils/hbmk2/hbmk2.prg
+ Added experimental support for @.clp files.
A bit hacky and could be incomplete. I'm not a .clp file user,
so pls test and extend.
* INSTALL
* contrib/gtalleg/Makefile
+ contrib/gtalleg/gtallegs
+ contrib/gtalleg/gtallegs/Makefile
* contrib/gtalleg/gtalleg.hbc
+ contrib/gtalleg/gtallegs.hbc
+ Added static flavour of gtalleg. This was an option until now,
now both versions are automatically built to be in sync with
rest of contribs. This also means that HB_ALLEGRO_STATIC
setting is no longer needed.
+ Added separate static/dynamic .hbc files accordingly.
* contrib/hbqt/Makefile
+ contrib/hbqt/hbqts
+ contrib/hbqt/hbqts/Makefile
* contrib/hbqt/hbqt.hbc
+ contrib/hbqt/hbqts.hbc
+ HB_QT_STATIC=yes setting will now cause building of static
flavor hbqt lib *above* the default one which links against
dynamic qt libs. Until now this setting caused that the
static version was built *instead* of the dynamic one.
NOTE: Using this setting will cause a significantly longer
build time on non-*nix systems.
+ Added separate static/dynamic .hbc files accordingly.
* config/global.mk
! Fixed to set CXX predefined variable to empty to make
defaulting logic in rules.mk work as expected.
This fixes recent hbqt build failure with MSVC.
* config/dos/watcom.mk
+ Added watt lib support. (untested, please test)
* source/rtl/Makefile
* source/rtl/hbsocket.c
* config/detect.mk
* config/dos/djgpp.mk
* Renamed HB_*_TCP to HB_*_WATT.
+ Added HB_INC_WATT to INSTALL. (couldn't make it work locally,
so it's not very precise yet)
* config/detect.mk
* Minor: lowercased component name for watt lib.
* config/dos/djgpp.mk
* Minor: Using LIBPATHS to store watt lib path instead of LDLIBS.
* config/install.mk
% Deleted no longer used/needed HB_INSTALL_DEF variable.
* source/pp/hbpp.c
+ Added command to HB_DYNLIB guard.
* source/pp/Makefile
! Deleted wildcard check before hbpp obj deletion. It's wrong
because hbpp obj isn't there when the rule is validated, so
the deletion would never take place. (For some reason it was
still deleted on some platforms though - apparently not on
OS/2 GNU Make.). Anyhow addition of $(wildcard) call at this
spot was not critical anyway. See: 2009-08-22 11:59
* utils/hbmk2/hbmk2.prg
! Fixed checking wrong dependencies when non-.prg extension was
used for .prg source files in incremental mode.
* INSTALL
* Updated Ubuntu external pkg list.
+ Added slang to darwin external pkg list.
* config/darwin/libs.mk
+ Added two syslib paths required for slang (gtsln).
* utils/hbmk2/hbmk2.prg
! Fixed to add user GTs before the list of user libs.
This is to ensure proper linkage with linkers which need
this (mingw f.e. and all which used lib grouping switches
before they were removed from hbmk2/make in Harbour)
* config/bin.mk
* config/dyn.mk
+ Added new HB_LINKING_VMMT variable, which is set to non-empty
if hbvmmt is to be linked. It makes it possible to add
MT dependent libs to sys lib list, if needed.
* config/linux/libs.mk
+ Adding pthread lib when HB_LINKING_VMMT is set. This isn't
needed on my *nix systems (Ubuntu and Darwin), but was used
for all platforms in postinst.sh dynlib creation logic, so
please speak up if we should add this lib to other *nix
platforms, or we can delete it from Linux.