+ harbour/contrib/Makefile
+ harbour/contrib/iodmem/Makefile
+ harbour/contrib/iodmem/iodmem.hbc
+ added make files
* harbour/contrib/iodmem/iodmem.c
! updated to be compatible with the latest SVN (rename method implemented)
* some warnings are fixed
+ harbour/contrib/iodmem
+ harbour/contrib/iodmem/iodmem.c
+ Implemented Memory file system. Public functions hb_memfs*() are
availible, if HB_MEMFS_PUBLIC_API is defined.
+ Implemeted I/O driver for memory file system
; HB_IODMEM request can be used to force linking of I/O driver and
memory FS into executable.
"mem:" prefix should be used to indicate a MemFS file, ex.:
REQUEST HB_IODMEM
PROC main()
LOCAL nI
FIELD F1
DBCREATE("mem:test", {{"F1", "N", 9, 0}},, .T., "memarea")
FOR nI := 1 TO 1000
DBAPPEND(); F1 := HB_RANDOM() * 1000000
NEXT
INDEX ON F1 TAG f1
DBEVAL({|| QOUT(F1)})
DBCLOSEAREA()
DBDROP("mem:test") // Free memory resource
RETURN
; TODO: locking is not supported yet (but it is not very usefull
if MemFS is used to store of a temporary database opened in
exclusive mode).
* 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).
* harbour-win-spec
* harbour-wce-spec
* harbour.spec
% Using HB_BUILD_STRIP instead of stripping locally.
* harbour.spec
% Using HB_BUILD_SHARED instead of rebuilding tools locally.
* Changed 'make -i' to 'make' to sync with other spec files.
* 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)
* ChangeLog
! Added missing lines from prev entry:
* bin/postinst.sh
+ Added HB_CCPATH to strip cmd. Suggest by Przemek.
! Minor fix to find cmd by Tamas Tevesz.
* 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
; 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.
* 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.
* INSTALL
! Fixed typos in new section.
; NOTE: Please review this section, as I don't have an rpm-capable
distro at hand. I may have also missed some sudo/fakeroot
commands as I never use them in context of Harbour.
TODO: If there it's at all possible I think Harbour package
creation should support sudo-less way to *create* packages.
'sudo' should be a must only to install them to system location.
* 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.
* 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.
* 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.
* 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.
* debian/rules
% Minor Makefile optimizations. I hope this is right.
* INSTALL
+ Readded alternative package for curl on debian.
+ external/zlib/zlib.dif
+ external/sqlite3/sqlite3.dif
+ Added .dif files for local patches to locally hosted
3rd party code. Pls update these when modifying original
source locally.
; NOTE: I intentionally didn't add svn props to these files.
* external/sqlite3/Makefile
! Typo in comment.
* utils/hbmk2/hbmk2.prg
! Fixed to add windows system libs in mingw -shared mode.
+ Added some steps towards os2/gcc -shared support.
* INSTALL
* Minor.
* 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.