* 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/config/globsh.mk
+ Added command $(TRUE) as dummy one for all shells. Pls check.
The goal is to have a command which does nothing just returns success.
* 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.
* INSTALL
* Pelles C support version numbers adjusted.
6.0 DOESN'T work with Harbour due to multiple bugs in this compilers.
Don't report such problems to the list.
* package/winuni/HARBOUR_README_MINGWARM
* Updated for latest cegcc binary release.
* utils/hbmk2/hbmk2.prg
! Typo in BSD macro redefinition.
* config/global.mk
+ Extended platform macro redefinition for all supported platforms.
+ Extended arch bit macro redefinition (didn't test it though)
* config/globsh.mk
! Fixed implib not being deleted when using POSIX shells.
! Fixed dynlib and implib not being deleted when using OS/2 or MS-DOS shells.
* 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.
* config/win/global.mk
+ Enabled UNICODE mode for all 64-bit Windows targets.
Here there is no concern about Win9x compatibility, so
it can be safely done, and I hope this move will make it
easier to catch UNICODE coding problems, as it will be now
part of some default builds.
The ultimate litmus test is on Windows is msvc64, where
C++, 64-bit and Unicode compatibility is tested at the
same time.
* 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).
* config/global.mk
! Fixed to recent changes to sysloc detection.
* config/linux/gcc.mk
+ Added HB_BUILD_STRIP for linux/gcc.
* config/bin.mk
! Fixed to not try to build a shared binary for binaries not
dependent on HVM. It's done in a little tricky way, maybe
we should introduce a new variable to signal Harbour
executables vs plain C ones.
This should fix link errors in harbour reported by users.
* 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)
* harbour-win-spec
* harbour-wce-spec
* INSTALL
* bin/postinst.sh
* Makefile
* source/pp/Makefile
* source/Makefile
* config/global.mk
* HB_BUILD_PART -> HB_BUILD_PARTS (simple rename)
+ HB_BUILD_STRIP added. It's dummy yet. Support will have to
be added on the compiler level and removed from postinst phase.
* harbour/harbour-win-spec
* harbour/harbour-wce-spec
* harbour/bin/hb-func.sh
* harbour/config/global.mk
* updated to work with modified base make internals and envvars
* do not overload defined by user HB_TOOLS_PREF
! fixed c&p typo in DJGPP cross build HB_TOOLS_PREF
Warning: it still needs export HB_BUILD_SHARED=no before creating
RPMs but it should be fixed in base make together with native builds.
TODO: we should agree some conditions for alternative system wide
cross build installation, like .cfg file name and localization.
* 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.
* config/global.mk
* Changed to install libs by default to lib/<plat>/<comp> on *nixes too.
(if HB_INSTALL_PREFIX isn't a system location)
* config/dyn.mk
! Typo in prev.
* bin/postinst.sh
! Fix to strip command. Now using 'find' again and using -maxdepth 1
to prevent it from parsing subdirs.
* config/global.mk
+ Added new user settings to screen dump.
* source/dynlib/mt/Makefile
* source/dynlib/Makefile
* config/darwin/gcc.mk
* config/linux/gcc.mk
* config/dyn.mk
+ Attempt to add link creation for dynlibs.
Not tested yet.
; TODO: darwin needs even more sopthistication.
; TODO: clean support is missing yet.
; TODO: add this to rest of targets.
* source/vm/vmmt/Makefile
! Disabled HB_HVM_ALL for linux-icc, because it causes compiler internal
error when using -fpic.
* source/vm/Makefile
* Indenting.
* 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.
* INSTALL
* config/global.mk
+ HB_BUILD_SHARED will now default to yes, if HB_INSTALL_PREFIX
points to a *nix system location. (in sync with hbmk2 logic)
* config/dos/djgpp.mk
+ Added .dll building rule, but it doesn't work, so I've commented it.
(-shared isn't accepted by DJGPP ld)
* config/bin.mk
+ Added HB_BUILD_SHARED support for os2/watcom.
* source/Makefile
* Deleted env space saving optimization for dos platform
and added support for gtdos when building dos .dlls.
% Deleted line after prev changes.
* config/global.mk
+ Added special .dll names when building dos based ones.
(harbour / harbourm)
* config/dos/watcom.mk
+ Enabled absolutely experimental dos .dll support.
; Current result:
---
wlink OP quiet SYS cwdllr NAME '..\..\..\..\..\bin\dos\watcom\harbour' OP implib='../../.
./../../lib/dos/watcom/harbour.lib' @__dyn__.tmp
Warning! W1027: file clib3r.lib(cstart): redefinition of ___begtext ignored
Warning! W1027: file clib3r.lib(cstart): redefinition of __nullarea ignored
Warning! W1027: file clib3r.lib(cstart): redefinition of __D16Infoseg ignored
Warning! W1027: file clib3r.lib(cstart): redefinition of __x386_zero_base_selector ignored
Warning! W1027: file clib3r.lib(cstart): redefinition of __exit_ ignored
Warning! W1027: file clib3r.lib(cstart): redefinition of __do_exit_with_msg__ ignored
Warning! W1027: file clib3r.lib(cstart): redefinition of __GETDS ignored
Warning! W1027: file clib3r.lib(cstart): redefinition of ___GETDSStart_ ignored
Warning! W1027: file clib3r.lib(cstart): redefinition of ___GETDSEnd_ ignored
Error! E2030: file clib3r.lib(cstart): multiple starting addresses found
mingw32-make.exe[2]: *** [harbour] Error 1
---
; TOFIX: hbpp object will be (or is) again a showstopper.
* config/win/watcom.mk
* Synced with dos/watcom.mk after above change.
* 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.
* source/dynlib/mt/Makefile
* source/dynlib/Makefile
* source/Makefile
* config/global.mk
* config/bin.mk
+ Added experimental support for HB_BUILD_SHARED=yes setting,
which tells GNU Make to create shared Harbour tool executables.
; TOFIX: watcom for sure needs to be fixed.
* harbour/bin/hb-func.sh
! fixed few problems introduced by macro name modifications and removed
some wrong RT checking
* harbour/bin/hb-func.sh
* harbour/source/common/hbprintf.c
* harbour/source/rtl/fstemp.c
* harbour/config/bsd/libs.mk
* updated for NetBSD builds
* INSTALL
* HB_INC_* -> HB_WITH_*. This is now the new documented (pbly
the final name) to control external dependencies. Usage is
the same as with HB_INC_*. HB_INC_* is still accepted.
+ Synced .deb and .rpm package names with information found in
mpkg_*.sh files.
* config/detfun.mk
! Fixed to accept HB_WITH_* variables in place of HB_INC_*.
If both are specified, HB_WITH_* will be used.
* mpkg_deb.sh
% Deleted redundant-looking package detection. Packages are now
detected from GNU Make everywhere where needed.
Also deleted redundant assembly of HB_CONTRIBLIBS variable.
* mpkg_tgz.sh
% Deleted -fPIC handling. Now handled by GNU Make system.
- Deleted HB_NCURSES_FINK variable which isn't used in Harbour anywhere.
* config/global.mk
+ Setting lib INSTALL dir to lib64 for x86_64 targets.
(Please extend this with other 64-bit CPU types, if
this is how it should work on *nixes)
This rule was taken from mpkg_tgz.sh.
* 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.
* 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.
* harbour/config/detect.mk
! fixed typo in include directory used for slang.h detection
- removed redundant HB_LOCAL_SLN variable - now this functionality
can be reached using HB_INC_SLANG
* 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.
* 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.
* 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.
* 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.
* 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-
* 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.