* harbour/utils/hbtest/rt_str.prg
! disabled workaround for 64 bit [U]LONG values in Win64 builds.
Unlike all other 64 bit platforms MS-Windows 64 uses 32 bit
[U]LONG integer values and this workaround should not be enabled.
This modification reduces number of errors reported by HBTEST in
Win64 builds.
* contrib/hbnetio/utils/hbnetio/hbnetio.hbp
* contrib/hbformat/utils/hbformat.hbp
* contrib/hbrun/hbrun.hbp
- Deleted nxcompat (and friends) flags from local .hbp files.
They are enabled by config/hbpost.hbm, in more precise manner.
* utils/hbmk2/hbmk2.hbp
* utils/hbi18n/hbi18n.hbp
* utils/hbtest/hbtest.hbp
- Deleted also from here. (These .hbp files are not used
by core make.)
* contrib/make.hbs
+ Generalized the way dynamic lib dependencies are found
to make it work on *nix systems, too.
* include/harbour.hbx
+ src/rtl/libnamec.c
* src/rtl/libname.prg
* src/rtl/Makefile
+ Added HB_LIBEXT() and HB_LIBPREFIX() functions.
* utils/hbmk2/hbmk2.prg
+ Added "platform", "compiler", "cpu", "buildname", "dynsuffix"
to --hbinfo returned data.
* INSTALL
+ Documented HB_BUILD_CONTRIB_DYN setting. The default is
'no', and if set to 'yes', the build system will create
dynamic lib versions of the contribs.
* src/Makefile
* utils/hbformat/Makefile
* utils/hbi18n/Makefile
* utils/hbtest/Makefile
* config/global.mk
* config/dos/watcom.mk
* config/dos/djgpp.mk
* config/dyn.mk
* config/rules.mk
* INSTALL
* Renamed HB_BUILD_DLL to HB_BUILD_DYN.
* external/minizip/minizip.dif
+ Updated after latest changed by Tamas Tevesz. Thanks a lot!
* utils/hbmk2/hbmk2.prg
+ Added support for vxworks/diab compiler.
* utils/hbtest/hbtest.prg
+ Added my name to the copyright header.
* config/global.mk
! Fixed to only assign *nix specific default value HB_INSTALL_PREFIX
on *nix hosts (only a problem when doing *nix cross-builds _from_
non-*nix systems).
* utils/hbmk2/hbmk2.prg
* config/vxworks/gcc.mk
* config/vxworks/diab.mk
+ Added minimal support for HB_BUILD_SHARED=yes for vxworks targets.
For diab it just won't find the harbour .so (see comment for more)
For gcc it links okay, though it's detected as kernel task, so
current support is most probably not right.
* config/vxworks/diab.mk
* Minor change to sync one C compiler option with VxWorks Workbench
generated one.
; NOTE: By this change Harbour VxWorks base port is finished. Besides
being an interesting excercise, it helped to develope new
non-*nix to *nix cross building codepaths, tweak Harbour for
"headless" (w/o terminal) OSes, and to break the ground for
target CPU selection inside one target platform.
Harbour builds cleanly using both vxworks/gcc and vxworks/diab,
and compiler tools plus non-MT utils run properly as well.
Obviously I made few functional tests, but from the experiences
of the port effort, these are the remaining areas:
- reporting bug(s) to Wind River (particularly the one
breaking hvm.c compilation, requiring HB_LONG_LONG_OFF
forcage, causing other unnecessary limits and hbtest
failures)
- serial I/O needs to be implemented using VxWorks specific
sioLib API
- 'fork' has to be replaced.
- sockets were not tested, anyhow they are supposed to work.
- termios is missing, so large parts of GTSTD and GTTRM are
disabled on this platform.
- ARM/MIPS CPU support needs to be added to hbatomic.h
- HB_LIBLOAD() and friends need to be implemented, but I hit
walls here.
- MT apps GPFs, this needs to be fixed probably inside our
code, but it's possible some build options are needed which
I missed all along.
- HB_SHARED_MODE=yes needs further tweaking.
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_hvm.prg
* utils/hbtest/rt_hvma.prg
* utils/hbtest/rt_stra.prg
* utils/hbtest/rt_vars.ch
- Disabled long string tests for vxworks. They fail because of
memory exhaustion.
! Fixes to prev.
; Now hbtest runs OK on vxworks/gcc.
* config/global.mk
+ Now defines __PLATFORM__VXWORKS for cross-builds.
! Fixed typo in lastly added __PLATFORM__ redefinition.
* INSTALL
+ Added vxworks/diab example.
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_hvm.prg
* utils/hbtest/rt_hvma.prg
* utils/hbtest/rt_stra.prg
* utils/hbtest/rt_vars.ch
+ Enabled GTCGI for Harbour builds. This makes it independent
for GTs, to there is better chance to run it. Now it also
works on VxWorks.
+ Will now detect .dbf creation failure and continue gracefully
with a message and skipping all related tests.
* src/rtl/hbsocket.c
* external/minizip/ioapi.h
* include/hbthread.h
+ Added/cleaned hacks to avoid collision between VxWorks's own
system types.
* external/minizip/ioapi.h
! Disabled 64-bit FSIO for whole VxWorks.
* config/vxworks/gcc.mk
* config/vxworks/diab.mk
* config/vxworks/global.mk
+ _VX_CPU is now defined in vxworks/global.mk.
* src/common/hbarch.c
! Fixed hb_put_le_uint64() definition to match declaration.
* include/hbdefs.h
! Fixed compatibility type definitions in HB_LONG_LONG_OFF mode.
* include/hbsetup.h
+ Added bzero() declaration hack for vxworks.
* include/hbinit.h
+ Added support for diag compiler init function.
It requires the constructor to have public visibility.
* src/common/hbver.c
+ Changed to always display x.x.x.x format verison no for diab.
(in generic way).
* INSTALL
* Updated list of CPUs supported by vxworks.
* include/hbextern.ch
* src/rtl/Makefile
+ src/rtl/hbdoc.prg
+ Added __HBDOC_LOADDIR() internal RTL function to read
NFDOC formatted documentation source directories into
memory. The result will be a list of hashes which contain
the raw content of doc files. The function does format
validation (but not content) and add all agreed-on metadata
to the hashes.
It's a start and I hope others can join to create new
layers of function for below functionality:
- doc content validation
- pre-formatting
- output generators
The goal is to avoid local solutions and standardize
the format.
+ tests/hbdoctst.prg
+ Added small test app which will find and parse all
documentation inside the Harbour source tree and
save them in .hbd (serialized doc hash) format.
Such .hdb files can be generated by the build process
in the future, so tools like HBIDE can use the content
to display intellisense or built-in help.
; TODO: HBQT doc/html should be removed as it's
hbdoc tools' job to convert HBDOC source
format to html or whatever else format needed.
* harbour.spec
* debian/rules
- doc/man
+ src/pp/hbpp.1
+ src/main/harbour.1
+ utils/hbmk2/hbmk2.1
+ utils/hbtest/hbtest.1
+ utils/hbrun/hbrun.1
* Moved man doc files to their own component dirs.
* doc/Makefile
* doc/en/Makefile
+ doc/clipper.txt
- doc/en/clipper.txt
* Moved non-NFDOC formatted doc file to doc dir.
* doc/en/Makefile
! Fixed missing 1stread.txt
* doc/en/hb_apigt.txt
* doc/en/hbinet.txt
* doc/en/tbrowse.txt
* doc/en/hb_apifs.txt
! Fixed NFDOC non-standard entries.
* bin/hbxpatch.hbs
! Fixed detecting dirs. (could cause errors only in rare cases)
* contrib/hbdoc2/tmplates.prg
* Formatting.
* harbour/include/hbpp.h
* harbour/include/hbmacro.h
* harbour/include/hbcomp.h
* harbour/include/hbcompdf.h
* harbour/include/hbexprb.c
* harbour/src/pp/ppcore.c
* harbour/src/compiler/hbmain.c
* harbour/src/vm/macro.c
! fixed code used to decide about early and late macro
evaluation in codeblocks to be exactly Clipper compatible.
Now if codeblock contains at least one macro variable
(i.e.: &var, any&var, any&var.2) then it's always early
evaluated.
Please remember that codeblocks which contains only simple
macro variable ( &var[.] ), i.e.:
{|| &var }
are modified during compilation by Clipper and Harbour compilers to:
&( "{||" + var + "}" )
and then PCODE is generated. It allows to use LOCALs, STATICs and
FIELDs as 'var' in such expressions. In xHarbour above functionality
was extended to work also with macrotext variables, i.e.:
{|| &var.2 }
If you think it's important extension then I can make the same
in Harbour or I can even implement it for all codeblock expressions
with macros using declared non memvar symbols, i.e.
{|| &var + 1 }
what should effectively eliminate E0047 compile time error
! fixed compile time error E0042 "Macro of declared symbol..."
to be generated with the same conditions as in Clipper.
! fixed compile time error E0047
"Code block contains both macro and declared symbol references..."
to be generated with the same conditions as in Clipper.
Note: -km switch disables macro text evaluation so also above errors
unless macro is not used in codeblock
Warning: above modifications can cause compile time errors in some
code which was not Clipper compatible and in such case they
will have to be updated.
* harbour/utils/hbtest/rt_math.prg
! updated code with Clipper incompatible code exploited by above
modifications
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* package/winuni/mpkg_win_uni.bat
* utils/hbformat/Makefile
* utils/hbi18n/Makefile
* utils/hbtest/Makefile
* config/postinst.prg
* Forcing shared build for hbformat, hbi18n and hbtest.
Simply to save binary sizes on all platforms.
* Disabled extra shared (-dll) version for hbformat, hbi18 and hbtest
because this is now the default mode for these.
* Disabled extra shared (-dll) version for hbmk2.
* Changed distro to always include hbrun x64 shared build, too.
; To sum it up: hbformat, hbi18n, hbtest will now have shared exes
generated and distributed, for hbmk2 only static one, and for hbrun
both. This simplifies build and install, and fully syncs x64 tools
distributed, with 32-bit ones.
* utils/hbmk2/hbmk2.prg
+ hbmainstd/hbmainwin lib is now added for mingw family
to lib list also for static executables. It fixes the GPF
at startup with Equation Solution mingw64 build. I hope
it doesn't create any harm for other builds, it remains
to be tested.
% Disabled -fomit-frame-pointer for mingw64.
* utils/hbformat/Makefile
* utils/hbmk2/Makefile
* utils/hbi18n/Makefile
* utils/hbtest/Makefile
* utils/hbrun/Makefile
* config/win/mingw.mk
% "HB_MAIN" logic eliminated from local make files and moved
to mingw.mk only.
* src/vm/extrap.c
* src/vm/dynlibhb.c
* src/common/hbgete.c
* src/common/hbffind.c
* src/common/hbver.c
* src/rtl/filesys.c
* src/rtl/diskspac.c
* src/rtl/gtos2/gtos2.c
* src/rtl/cputime.c
* src/rtl/disksphb.c
* include/hbthread.h
* contrib/hbmzip/hbmzip.c
! Fixed to setup all OS/2 INCL_* constants and
to #include os2.h by themselves, and not to rely
on Harbour headers to do this job for them.
; TODO: Do the same for dos.h.
* doc/hdr_tpl.txt
- Deleted local changelog.
! Fixes to .prg function docs
+ Update copyright year to 2010.
+ Added fact that $SEEALSO$ should be comma separated.
+ Added .c function example (far from perfect)
* examples/hbdoc2/tmplates.prg
* doc/hdr_tpl.txt
+ Added $VERSION$ tag. (pls update HBIDE. We haven't finalized
the format yet, to it's little bit premature to create
new and new parsers/generators for it yet)
* include/hbdefs.h
! Fixed to not unconditionally include OS/2 headers with
an arbitrary selection of INCL_ macros.
Now OS/2 headers will only be included if legacy types
are requested (off by default), and no INCL_ macros
are defined. This latter change may affect 3rd party
code written for OS/2, so I'm marking it INCOMPATIBLE.
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt.h
* Changed to #include hbapi.h from hbqt.h. It needs it,
so this is the clean way. Changed generator to leave
out hbapi.h from each source file and refer to hbqt.h
only. (untested)
+ Added logic to #include OS/2 headers with some INCL_
macros defined, to make QT on OS/2 happy. (copied them
from the dev. list)
; TODO: Regenerate HBQT sources.
* utils/hbtest/hbtest.prg
! Cleaned old problem reported by Chen. It seems like
a feature which was never finished, and it's not even
hugely needed, so I deleted it.
* config/global.mk
+ Will now provide HB_COMP_PATH_PUB value for os2-gcc, os2-gccomf
compilers. This value can be used to manually form ld.exe
command line.
(NOTE: This may be deleted in the future, when sorting
out line-length limit problems for these compilers.
* include/hbsetup.ch
* src/common/hbverdsp.c
- Deleted HB_COMPAT_XPP option. It's no longer used in Harbour.
From this point all Xbase++ compatibility functions and core
classes are implemented in 'xpp' contrib library (name
tentative). Add it to your lib list, if you need Xbase++
compatible functions. IOW HB_COMPAT_XPP build time option
got converted to a app link time option.
* src/rtl/isprint.c
- Deleted dirty Xbase++ extension of ISPRINTER(). Now it's
purely Clipper compatible in default build.
INCOMPATIBLE. For Xbase++ version, use XPP_ISPRINTER()
(or HB_ISPRINTER() which is the exact same).
* src/rtl/tobject.prg
* src/rtl/transfrm.c
* src/rtl/memoedit.prg
* include/memoedit.ch
* Replaced "#ifdef HB_COMPAT_XPP" with "#ifndef HB_CLP_STRICT".
Which means we've endorsed these extensions in Harbour,
and they are always enabled except in strict compatibility
builds.
* src/rdd/nulsys/nulsys.c
- Deleted HB_COMPAT_XPP guarded function.
* contrib/xhb/xhbver.prg
* Always return .T. for _HB_COMPAT_XPP in version info.
* include/box.ch
* contrib/xpp/xpp.ch
+ Added Xbase++ compatibility box.ch constants from core box.ch.
INCOMPATIBLE if you use B_THIN or B_FAT box style.
* utils/hbtest/hbtest.prg
* examples/hbdoc2/tmplates.prg
* examples/hbdoc2/hbdoc2.prg
- Deleted parts dealing with HB_COMPAT_XPP option.
* INSTALL
* Updated valgrind example.
* contrib/hbnetio/utils/netiosrv.hbp
* utils/hbformat/hbformat.hbp
* utils/hbmk2/hbmk2.hbp
* utils/hbi18n/hbi18n.hbp
* utils/hbtest/hbtest.hbp
* utils/hbrun/hbrun.hbp
* config/wce/msvcarm.mk
* config/win/msvc.mk
+ Added MSVC linker switches to enhance security by
enabling NX compatibility and ASLR.
Especially important for server apps like netiosrv and hbrun.
; TODO: Enable the same for MinGW.
; TOCHECK: Please test this with old MSVC versions and MSVCARM,
maybe we will need to disable them in some cases.
; QUESTION: I'm unsure of -fixed:no MSVC option. Do we need it
to increase security?
* config/wce/msvcarm.mk
+ Changed to use link.exe for linking instead of cl[arm].exe.
This now syncs it with rest of Harbour.
* harbour/src/vm/garbage.c
% small improvement in HB_GC_AUTO code
* harbour/include/hbdefs.h
! reverted the hack which casted file handles to unsigned values
I added two weeks ago - it was also converting FS_ERROR value
from -1 to 4294967295. Please remember that on some platforms
negative handles can exist and are valid. Only -1 indicates an
error.
* harbour/utils/hbtest/rt_file.prg
+ added regression test for FOPEN() FS_ERROR value
* harbour/contrib/hbwin/legacycd.c
* harbour/contrib/hbwin/legacyco.c
* added missing EOL at EOF
* harbour/utils/hbtest/rt_str.prg
* modified code which tries to replicate Clipper behavior with ULONG
values also in 64bit systems where ULONG is not 32bit integer
* config/global.cf
* config/rules.cf
* config/dos/watcom.cf
* config/win/watcom.cf
* config/os2/watcom.cf
% Using HB_PRGFLAGS instead of HB_FLAGSEXTRA.
% Using HB_CFLAGS and HB_PRGFLAGS instead of HB_CDBG.
% Using HB_CFLAGS instead of HB_CUNICODE.
% Moved all flags from HB_RULE to HB_FLAGS (except HB_USER_PRGFLAGS).
This only affects dos/watcom, more cmdlines will be put in HARBOURCMD.
* external/sqlite3/Makefile
* external/libhpdf/Makefile
* external/libpng/Makefile
* source/vm/maindllh/Makefile
* source/vm/maindllp/Makefile
* source/vm/vmmt/Makefile
* source/rtl/gtxwc/Makefile
* source/rtl/gtcrs/Makefile
* source/rtl/gttrm/Makefile
* source/rtl/gtsln/Makefile
* contrib/gtalleg/Makefile
* contrib/hbmysql/Makefile
* contrib/hbodbc/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbqt/Makefile
* contrib/hbfbird/Makefile
* contrib/hbcurl/hbcurls/Makefile
* contrib/hbcurl/Makefile
* contrib/gtqtc/Makefile
* contrib/rddsql/sddmy/Makefile
* contrib/rddsql/sddpg/Makefile
* contrib/rddsql/sddfb/Makefile
* contrib/rddsql/sddodbc/Makefile
* contrib/hbhpdf/Makefile
* contrib/hbpgsql/Makefile
* contrib/rddads/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbtip/hbtipssl/Makefile
* contrib/hbssl/Makefile
! Using HB_CFLAGS/HB_PRGFLAGS to specify Makefile local
compiler settings instead of modifying HB_USER_*FLAGS.
This way the double defines are gone.
+ Included global.cf to all Makefiles which needs to modify
HB_CFLAGS/HB_PRGFLAGS. Probably we should move global.cf
inclusion to the top of all Makefiles as a convention.
Not terribly elegant, but solves a few problems and
more efficient.
% Changed ', -I$(d))' to ',-I$(d))' along the way. This avoids
wasting an extra space in command line.
; NOTE: It'd still be beneficial to find a way to get rid of
'descend' rule. It could make cmdlines cleaner/shorter
and whole build process simpler/faster. I didn't manage
so far.
* source/vm/Makefile
* Deleted 'HB_USER_CFLAGS := $(subst -DHB_MT_VM,,$(HB_USER_CFLAGS))'
(since it's no longer supported practice to modify user supplied flags)
I'm not sure if it's important enough to have. AFAIK there is no
reason users use HB_MT_VM define, it's not a public setting, so we
shouldn't go too much far in trying to protect against its presence.
If it's needed, we should add 'HB_CFLAGS += -DHB_ST_VM' and handle
HB_ST_VM as the reverse of HB_MT_VM inside the source.
* source/rdd/dbffpt/dbffpt1.c
* source/rdd/dbffpt/Makefile
* Optimizations are now disabled using #pragma for __XCC__ instead of
deleting them from HB_USER_CFLAGS. Please test, and see above on
modifying HB_USER_CFLAGS in our make files.
* bin/postinst.cmd
! Deleted double quote from target dir in xcopy commands.
Blind change.
* utils/hbtest/rt_main.ch
* utils/hbtest/hbtest.hbp
* utils/hbtest/Makefile
+ Changed to use #pragma to turn on line numbers instead of
using HB_USER_PRGFLAGS (or HB_PRGFLAGS). This way there is
no need for Makefile hack/tweaks and it works with all make methods
automatically.
* config/instsh.cf
! Partially restored a few things which were lost without comments
in prev OS/2 commit:
- Formatting
- '@' prefixes
- '-' prefixes
* config/bin.cf
+ Harbour binary core liblists are now formed centrally.
Four variations are generated:
HB_LIBS_ST_RDD
HB_LIBS_MT_RDD
HB_LIBS_ST_NORDD
HB_LIBS_MT_NORDD
Binaries can choose by using: 'LIBS = $(HB_LIBS_*)'.
Important to use '='.
This step also fixes potential problems with former liblists,
where it was easy to make a local mistakes and some libs which
needed more complicated logic, or which were just rarely used
simply weren't added. Now all liblists are guaranteed to have
proper order and content.
HB_GT_LIBS and HB_DB_DRIVERS are automatically added centrally,
so no need to add them manually in each compiler specific .cf.
* tests/Makefile
* tests/hbpptest/Makefile
* tests/multifnc/Makefile
* utils/hbformat/Makefile
* utils/hbmk2/Makefile
* utils/hbtest/Makefile
* utils/hbi18n/Makefile
* utils/hbrun/Makefile
% Using above HB_LIBS_* macros.
; The only few places which I didn't thouch is non-Harbour
executables (harbour exe and hbpp exe).
* config/bsd/gcc.cf
* config/wce/msvcarm.cf
* config/wce/mingwarm.cf
* config/wce/poccarm.cf
* config/hpux/gcc.cf
* config/darwin/gcc.cf
* config/dos/watcom.cf
* config/dos/djgpp.cf
* config/win/watcom.cf
* config/win/icc.cf
* config/win/cygwin.cf
* config/win/msvc.cf
* config/win/xcc.cf
* config/win/mingw.cf
* config/win/pocc.cf
* config/win/bcc.cf
* config/linux/watcom.cf
* config/linux/gcc.cf
* config/linux/icc.cf
* config/linux/sunpro.cf
* config/os2/watcom.cf
* config/os2/gcc.cf
* config/sunos/gcc.cf
* config/sunos/sunpro.cf
% Deleted local logic to merge HB_GT_LIBS and HB_DB_DRIVERS
into LIBS.
* utils/hbmk2/hbmk2.hbp
* utils/hbrun/hbrun.hbp
! Extra libspecs are still needed for some compilers.
I've readded them until better solution is found.
* harbour/source/macro/macro.y
* harbour/source/macro/macro.yyc
* harbour/source/compiler/harbour.y
* harbour/source/compiler/harbour.yyc
% reduced INASSING definition - thanks to Xavi for information
* harbour/source/compiler/hbopt.c
! fixed stupid bug in logical expression optimization - thanks to Randy
for self contain example
* harbour/include/hbapi.h
* harbour/include/hbmacro.h
* harbour/include/hbexprb.c
* harbour/source/vm/macro.c
* harbour/source/vm/hvm.c
* harbour/source/macro/macro.y
* harbour/source/macro/macro.yyc
+ added direct support for pushing references to macro expressions.
It resolves the problem with Clipper compatibility (thanks to Alex
for information and example) in code like:
m->var := {0}
&("var[1]") += 10
and also many other things, f.e. now Harbour can cleanly compile
and execute this code:
proc main
local s
m->o := errorNew()
s:="o:tries"
? m->o:tries
? &s
? &(s+"+=2")
? m->o:tries
? &(s+":=3")
? m->o:tries
?
&s := 4
? m->o:tries
&s -= 2
? m->o:tries
&s++
? m->o:tries
?
s := "o"
m->o := 1
? &s
&s := &s + 4
? &s
? &s += 5
? --&s
?
s := "o[2]"
m->o := { 1, 2 }
? &s
&s := &s + 4
? &s
? &s += 5
? --&s
return
* harbour/utils/hbtest/Makefile
* force hbtest compilation with line numbers - information about line
numbers is important part of this test.
* tests/speedtst.prg
! Fixed missing hb_progname() for non-Harbour compilers.
* include/hbextern.ch
+ Added time related new functions.
* utils/hbmk2/hbmk2.prg
+ Added -runflag: option to pass flags to target executable.
+ Started -inc (incremental link) support. It's very early
stage, don't expect it to work yet and please don't report
any problems with this feature yet.
* source/vm/asort.c
! Fixed to return Clipper compatible results when non-logical
non-numeric value is returned from ASORT() codeblock.
* utils/hbtest/rt_array.prg
* Cleaned ASORT() tests when sorting block returns constant value.
Now Clipper results aren't bent anymore, instead I've added
different expected results for Harbour and Clipper. The
difference is due to different sorting algorithms used,
here the point is to get similar *pattern* for different
invalid values.
* source/rtl/philes.c
% HB_FGETDATETIME(): Removed double call to hb_stortdt().
* contrib/hbqt/tests/hbqt.hbp
* Removed extra line at EOL.
* contrib/gtqtc/tests/hbqt.hbp
! Removed environment dependent 'libspath=' line.
Please don't add such path to Harbour SVN, since these
can differ from system to system and is also non-portable.
The correct name of the directive is: 'libpaths='.
* contrib/gtqtc/Makefile
% Removed double SVN ID.
This file needs to be updated according to hbqt latest
Makefile portability changes.
* contrib/rddads/ads1.c
* Minor formatting.
* bin/hb-mkdyn.bat
* Cleaned tool outputs.
+ Added hbmaindllh lib to included liblist.
(dunno what this serves, but we had it in non-GNU make)
Do we need this at all?
+ Added support for msvc64 dll name.
* Some tweak to owatcom, but it's just guessing, it still
doesn't work.
+ Added generating hbrun-dll executable.
* source/vm/hvm.c
* source/vm/mainstd.c
* Random tweak for owatcom/win dll support without success.
Best result so far is:
"Unrecoverable error 9012: Can't locate the starting procedure: 'MAIN'"
* source/vm/Makefile
+ Added mainddllp generation for msvc, msvc64, bcc32, owatcom.
* source/vm/maindllp.c
+ Added msvc64 and msvcia64 .dll names.
* source/vm/extrap.c
* Minor tweak to use alternate (documented) CPU detection macro.
* utils/hbmk2/hbmk2.prg
+ Added msvc64 .dll name.
* Removed automatic addition of hbcommon lib for shared
mode for win compilers.
* utils/hbtest/hbtest.hbm
* utils/hbrun/hbrun.hbm
+ Added make files.
* config/lib.cf
* config/bin.cf
+ Added -n to Harbour flags to bin.cf.
+ Added -n1 to Harbour flags to lib.cf.
; TOFIX: The former works, the latter doesn't.
Could someone please help why is this
happening?
* utils/hbmk2/hbmk2.prg
- Removed -n from default Harbour switches.
; TODO: Add prgflags=-n to all .hbp files.
; TODO: Add -n to all .hbm files.
; TODO: Add .hbp file to dirs where there are .prgs
needing -n flag.
+ bin/hb-mkdll.bat
+ Added .dll creation for GNU-make. Not yet enabled,
only MSVC supported, and by the nature of the
wonderful world of Microsoft, whole Harbour needs
to be compiled with HB_USER_CFLAGS=-DHB_DYNLIB to
make this work. -DHB_DYNLIB has some drawbacks
though: export table will be generated for all
executables made from these .libs, .exp/.lib will
also be generated for all executables.
; TODO: Solve to compile Harbour lib .prgs using
-n1 switch. (needed for .dll, and this
one has only befenefits for other scenarios)
; TODO: Add hb-mkdll.bat to postinst.bat.
; TODO: Add BCC support, if possible.
; TODO: Rename hb-mkslib.sh to 8.3 name and sync
name with the .bat version (not necessarily
mkdll, but something short.)
* bin/hb-func.sh
! Added system libs for optional components included
in the harbour dynlib. I plan to make some more
changes here, but this should fix missing system
libs with shared option enabled in hbmk2.
* contrib/examples/dbu/dbu.hbm
* contrib/examples/rl/rl.hbm
+ Added -n.
* utils/hbdoc/Makefile
* utils/hbmk2/Makefile
* utils/hbtest/Makefile
* utils/hbi18n/Makefile
* utils/hbrun/Makefile
- Removed explicit -gc0 -n override.
Should now be set automatically for all binaries.