* harbour/include/hbcomp.h
* minor formatting
* harbour/source/rdd/dbfnsx/dbfnsx1.c
! fixed false corruption RT error generated due to missing reset
on cached current key offset - thanks to Jaroslav Janik for
information and self contain example
* harbour/include/hbrddcdx.h
* harbour/source/rdd/dbfcdx/dbfcdx1.c
+ added support for national sorting using accented and multibyte
characters.
Warning CDX indexes created so far for such CDPs are not sorted using
the same conditions as current SVN code so new applications should
reindex.
Harbour codepages with accented characters:
cs852, csiso, cskam, cswin,
sk852, skiso, skkam, skwin
sv850, sviso, svwin
fr850, friso, frwin
el737, elwin,
Harbour codepages with multibyte characters:
cs852, csiso, cskam, cswin,
sk852, skiso, skkam, skwin
Now string keys in CDX indexes using above codepages are sorted
in the same way as HVM sorts strings. Please only remember that
CDX internal format was designed for byte weight sorting so such
CPs may reduce internal compression level increasing the size of
final indexes.
After this modification all native index types (NTX, NSX and CDX)
fully respects national sorting defined in Harbour CPs.
* 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.
* harbour/include/hbapi.h
+ added hb_xgrabz() and hb_xmemdup() macros
* harbour/include/hbapicdp.h
* harbour/source/rtl/cdpapi.c
+ added new functions which can be used in translations changing the
size of trnaslated strings:
hb_cdpDup(), hb_cdpnDup(), hb_cdpnDup2(), hb_cdpnDup3(),
hb_cdpnDupLen(), hb_cdpnDup2Len()
Now hb_cdp[n]Translate() functions are depreciated.
+ added pseduto codepage "UTF8" which can be used in trnaslations only
+ added new function hb_cdpFindExt() which allows to chose pseudo CPs
* harbour/include/hbapi.h
* harbour/include/hbset.h
* harbour/source/vm/set.c
* harbour/source/nortl/nortl.c
- removed old functions: hb_osEncode() and hb_osDecode() with low level
code which was using static char to char translation table
+ add new functions hb_osEncodeCP() and hb_osDecodeCP() which can make
translations changing the size of translated strings.
Warning all parameters have to be initialized.
Passing NULL in second parameter means that the 1-st is dynamically
allocated and can be used as buffer and reallocated if necessary.
if 2-nd parameter is not NULL then the 1-st one is used as const value.
The size of allocated buffer can be passed by reference in 3-rd
parameter and this value is updated on reallocation.
If buffer is two small then new bigger one is allocated and old one
freed.
* harbour/source/vm/set.c
+ added support for UTF8 translations in _SET_OSCODEPAGE
* harbour/source/vm/cmdarg.c
* harbour/source/common/hbffind.c
* harbour/source/rtl/filesys.c
* harbour/source/rtl/philes.c
* harbour/source/rtl/gete.c
* harbour/source/rtl/net.c
* harbour/source/rtl/hbproces.c
* harbour/source/rtl/hbrunfun.c
* harbour/source/rtl/run.c
* harbour/contrib/hbwin/win_misc.c
* harbour/contrib/hbwin/wapi_shellapi.c
* harbour/contrib/hbwin/wapi_winbase.c
* use new hb_osEncodeCP()/hb_osDecodeCP() functions
* harbour/source/rtl/hbi18n1.c
* harbour/source/rtl/gtxwc/gtxwc.c
* harbour/source/rtl/gtpca/gtpca.c
* replaced depreciated hb_cdp[n]Translate() functions with new
hb_cdp[n]Dup*()
* harbour/source/rtl/gtstd/gtstd.c
* harbour/source/rtl/gtcgi/gtcgi.c
* harbour/source/rtl/hbgtcore.c
* replaced depreciated hb_cdp[n]Translate() functions with new
hb_cdp[n]Dup*()
+ added support for UTF8 translations set by hb_setDispCP() and
hb_setTermCP() functions
* harbour/source/rdd/delim1.c
* harbour/source/rdd/sdf1.c
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/dbffpt/dbffpt1.c
* harbour/source/rdd/dbfnsx/dbfnsx1.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* harbour/source/rdd/dbfntx/dbfntx1.c
* replaced depreciated hb_cdp[n]Translate() functions with new
hb_cdp[n]Dup*()
+ added support for CP translations which can change the size of
translated strings
! disabled memo field translations for fields marked as binary
+ added support for UTF8 translations.
Using UTF8 as CP disables any national sorting in indexes.
Warning: please remember that normal character fields in tables have
fixed size and translation to UTF8 may increase the string
and cut results.
* harbour/source/rdd/dbf1.c
! fixed GPF in dbCreate() with empty struct table
* include/hbdefs.h
* contrib/hbfimage/fi_wrp.c
* contrib/hbfimage/Makefile
! Reverted prev. It does all sort of strange things.
; TODO: So the only way is the proper fix: Cleaning Harbour
source from BOOL, BYTE, LONG, ULONG and all other
'legacy' types.
* include/hbdefs.h
* Using #define instead of typedef for legacy core types.
This is needed to allow for ugly hack to disable these.
* contrib/hbfimage/fi_wrp.c
! Added terrible hack to make them build on non-win platforms.
; dos/djgpp and probably os2/gcc would work, but there I wasn't
interested enough to add extra logic to handle each special
case.
; non-linux/darwin *nixes should be tested.
* contrib/hbfimage/Makefile
+ Enabled for linux and darwin.
* 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)
* include/hbgtinfo.ch
+ contrib/gtqtc/hbgtqtc.ch
* contrib/gtqtc/gtqtc.h
* contrib/gtqtc/Makefile
* Moved HB_GTI_CODEC local to GT. Pls never add GT specific
(especially non-core) HB_GTI_* settings to core header.
* Renamed HB_GTI_CODEC to HB_GTI_QTCODEC.
! Fix to not install non-public header gtqtc.h.
* include/hbgtinfo.ch
+ #define HB_GTI_CODEC 60
* contrib/gtqtc/gtqtc.h
* contrib/gtqtc/gtqtc.cpp
+ Implemented CODEC support.
USAGE:
hb_gtInfo( HB_GTI_CODEC, "Windows-1251" )
hb_setCodePage( "RU1251" )
Please test as I have never used any codepage.
* include/hbzlib.ch
* Minor formatting.
* source/hbpcre/Makefile
! Fixed missing global.mk from prev commit.
* source/hbpcre/Makefile
- source/hbpcre/_hbconf.h
- source/hbpcre/_hbpcreg.c
+ source/hbpcre/pcreglob.c
* source/hbpcre/config.h
* source/hbpcre/cnv_o2hb.bat
* source/hbpcre/cnv_hb2o.bat
+ Modified to not require extra Harbour source file. _hbpcreg.c
wasn't necessary even before, as this initialization is
done from init code in hbrtl/hbregex.c.
% Reduced content of local config stub _hbconf.h to just three
lines. We don't need to suppress warnings anymore as we have
HB_BUILD_WARN build option to control that, the rest is solved
by adding such options to local Makefile.
* Changed to use config.h instead of local stub (which
is now just three lines and only needed to support dynlib
build pass).
* source/hbpcre/pcrevutf.c
* source/hbpcre/pcreconf.c
* source/hbpcre/pcreinfo.c
* source/hbpcre/pcremktb.c
* source/hbpcre/config.h
* source/hbpcre/pcrenewl.c
* source/hbpcre/pcreucd.c
* source/hbpcre/pcreoutf.c
* source/hbpcre/chartabs.c
* source/hbpcre/pcrerefc.c
* source/hbpcre/pcreget.c
* source/hbpcre/pcrefinf.c
* source/hbpcre/pcretryf.c
* source/hbpcre/pcreexec.c
* source/hbpcre/pcretabs.c
* source/hbpcre/pcredfa.c
* source/hbpcre/pcrever.c
* source/hbpcre/pcrecomp.c
* source/hbpcre/pcrexcls.c
* source/hbpcre/pcrestud.c
* Restored some original code after above changes.
(config inclusion logic)
* include/hbsetup.h
* config/darwin/clang.mk
+ Added manual compiler macro HB_CC_CLANG until we find the official
predefined macro to detect this compiler.
Actually we could roll our own HB_CC_<comp> set of macros to do compiler
detection in central headers and clean compiler specific macros from
code.
! Fixed '__attribute (( flatten ))' not being supported with clang.
(Thanks Przemek)
! Deleted extra parameters from libtool command line.
* INSTALL
+ Added clang to the darwin compiler list.
* harbour/include/hbstack.h
* harbour/source/vm/estack.c
* small cleanup in some macros definitions
* harbour/source/vm/hvm.c
* pacified ICC++ warnings
* harbour/source/vm/mainstd.c
! do not force main() declaration as extern "C"
* harbour/include/hbdefs.h
* harbour/include/hbsetup.h
* modified HB_FUNC*() macros declarations to respect global extern "C"
settings
* harbour/source/vm/classes.c
* use HB_FUNC*() macros to declare harbour functions
* harbour/source/common/hbprintf.c
* added workaround for some missing C99 math macros in SunOS GCC used in
C++ mode. Warning C++ mode in SunOS-GCC disables C99 extensions.
* harbour/contrib/gtalleg/gtalleg.c
* hack for compilation with SunPRO C
* harbour/include/hbcomp.h
* harbour/include/hbcompdf.h
* harbour/source/compiler/hbmain.c
* harbour/source/compiler/genc.c
* harbour/source/compiler/genhrb.c
+ added support for compiling multiple .prg modules into single
compilation unit with repeated static or init/exit functions
with the same name.
Now Harbour compiler compiling .prg code from different .prg modules
included by @<name>.clp or by SET PROCEDURE TO ... / DO ... [ WITH ... ]
works exactly like Clipper. It supports separated file wide definitions
for each compiled .prg module when -n switch is used and allows to
use static or init/exit functions/procedures with the same names but
in different modules.
It resolves incompatibility often reported by [x]Harbour users.
Now it's not longer necessary to update existing Clipper code.
@.clp files and SET PROCEDURE TO ... / DO ... [ WITH ... ] are
fully functional like in Clipper.
AFAIR it was the last unintentional incompatibility with Clipper.
TODO: add support for multiple static functions with the same name
in .HRB files - it's necessary to change used format so I'll
probably to that with .HRL support. Now when -gh switch is used
harbour and such functions exists then compiler generates:
Error E0002 Redefinition of procedure or function ...
TODO: modify hbmk2 to pass @<name>.clp files directly to Harbour
compiler so it can compile them just like Clipper does and
generate single output file: <name>.<ext>
* harbour/config/instsh.mk
* disabled install command echo
* harbour/include/hbcomp.h
* harbour/include/hbcompdf.h
* harbour/source/compiler/hbmain.c
* harbour/source/compiler/genc.c
* harbour/source/compiler/genhrb.c
% removed FUNCALLS internal structures and functions.
It simplifies compiler code, reduce memory usage and
increase performance due to eliminating unnecessary
structures which were update and scanned in previous.
Now we have all necessary information in symbol table.
* harbour/contrib/hbnetio/netiocli.c
+ added support for DNS addresses
* harbour/include/hbcomp.h
* harbour/source/compiler/hbmain.c
! fixed typo in -m parameter handling
! fixed old memory leak exploited by compile time error in code with
static variables
* harbour/include/hbcomp.h
* harbour/include/hbcompdf.h
* harbour/source/compiler/hbmain.c
* harbour/source/compiler/cmdcheck.c
* harbour/source/compiler/hbcomp.c
* harbour/source/compiler/genc.c
* harbour/source/compiler/harbour.yyc
* harbour/source/compiler/harbour.y
* harbour/source/compiler/hbdbginf.c
* harbour/source/compiler/genhrb.c
* harbour/source/compiler/gencobj.c
- removed old "AutoOpen" code used for @<name>.clp, SET PROCEDURE TO ...
and DO <func> [ WITH <args,...> ] statements
It was neither Clipper compatible not working correctly in some cases.
+ added new code for multi .prg module compilation into single unit
with support for multiple file wide declarations just like Cipper
does doe @.clp files and SET PROCEDURE TO / DO ... [ WITH ... ]
% cleaned redundant code used in harbour compiler to execute grammar
parser with different conditions. Now it's much shorter and simpler
and hb_compparse() is called only from one place.
! fixed possible multiple declarations in symbol table for ANNOUNCE
function
% rewritten C code generation to increase speed and make it independent
from some internal compiler structures. Now it's shorter and faster
but it strongly uses scope attributes in symbol table so they have
to be properly set during compilation and new code for .c file
generation should help in their validation.
% few other optimizations and cleanups
Now Harbour can compile code like:
/*** t01.prg ***/
static s_var := "main sVar"
proc main()
? procname(), "->", sVar
do t02
return
/*** t02.prg ***/
static s_var := "t02 sVar"
proc t02()
? procname(), "->", sVar
return
by simpe:
harbour -n -w -es2 t01
or using tst.clp:
t01
t02
and:
harbour -n -w -es2 @tst
in both cases it works just like Clipper. Please note that in the
second version generated file inherits (like in Clipper) name from
.clp file and is called "tst.c". The .clp file name is also used
as module handler signature.
TODO: add support for multiple static functions with the same name
but coming from different .prg modules compiled into single
unit using @.clp files or SET PROCEDURE TO / DO ... [ WITH ... ]
In above modifications I already implemented it partially but
I haven't made one very important extension which strongly
interacts with symbol table usage during compilation and can
be source of really bad problems if I made sth wrong so I plan
to finish when above changes will have been tested.
* harbour/include/hbapifs.h
* harbour/source/rtl/filebuf.c
+ added hb_fileExists() and hb_fileDelete() functions
+ added support for alternative file IO API used in RDD code which
can be implemented by 3-rd party developers and registered using
hb_fileRegister() function.
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/dbffpt/dbffpt1.c
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rdd/dbfnsx/dbfnsx1.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* use hb_fileExist() and hb_fileDelete() functions for files accessed
by hb_file*() API
* harbour/include/hbvmpub.h
! fixed default size macro used in HB_ITEM_PUT_LONGRAW()
* harbour/include/hbexprb.c
* enable ("alias")-> optimization only when -ko harbour compiler
option is used - it changes RT error.
* harbour/config/linux/sunpro.mk
! fixed dynamic library creation - @<filename> is not supported by
SunPRO C compiler, because it's ported only to POSIX environments
then we can simply pass file list as shell arguments
* harbour/include/hbrdddbf.h
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/dbffpt/dbffpt1.c
* cleaned memo block size decoding.
* harbour/include/hbvmpub.h
+ added new internal macro HB_ITEM_PUT_LONGRAW()
* harbour/source/vm/hvm.c
* harbour/source/vm/itemapi.c
* use HB_ITEM_PUT_LONGRAW()
* config/global.mk
* INSTALL
+ Added poccarm and pocc64 autodetection.
+ Added iccia64 autodetection.
+ Added watcom target platform detection on all host platforms.
+ Added djgpp autodetection under win hosts.
% Simplified INSTALL examples accordingly.
Actually it's so simple now that only 'make' should be
issue after setting up the compiler according to compiler
docs. It's very rare that HB_COMPILER or HB_PLATFORM should
be specified now on non-*nix platforms.
* Minor formatting.
- Deleted debug $(info) line.
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
! Fixed to not initialize HB_DYN_INSTALL location to central lib
dir in case there was a plat/comp specific lib dir found.
I can't remember why this was done this way, but now it doesn't
seem to be necessary and it can just cause problems, as central
lib may contain some overlapping lib name (leftovers from other
'install' sessions) causing trouble for linkers. It also cleaner
this way.
! Added '(internal)' text to Harbour command -trace output.
! Changed harbour.exe path in internal command trace/error output
to use the same base dir as hbmk2 itself. In cross-compile
situations this is more accurate. Since harbour.exe shouldn't
necessarily exist, I've put harbour.exe path in paranthesis
to suggest it's not a real path.
; NOTE: Actually now hbmk2 autodetection code is lagging behind
GNU Make, so hbmk may need to get a bigger internal revision
sooner or later to catch up. It currently cannot switch
platforms based on detected situation, also the embedded
and normal tool installation should be merged, plus
autodetection added for *nix platforms.
* include/hbwince.h
* include/hbdef.h
! Added HB_EXPORT to some WinCE function, because they are needed
to successfully link shared final executable for non-mingw
wce compilers (poccarm and msvcarm). (in mingw we automatically
export all 'extern' functions, so this isn't a problem)
* harbour/include/hbmacro.h
* harbour/source/macro/macro.yyc
* harbour/source/macro/macro.y
* hb_macroIdentNew() made public
* harbour/include/hbexprb.c
! use hb_macroIdentNew() instead of hb_compIdentifierNew()
in code compiled for macrocompiler
* harbour/include/hbexprb.c
* minor modification
* harbour/source/common/expropt2.c
+ added compile time optimization for expression like ("alias")->var
and ("alias")->(<exp>)
* include/hbsetup.h
* Minor in comment.
+ Also looking for __DARWIN__ to autodetect HB_OS_DARWIN.
* utils/hbmk2/hbmk2.prg
+ Honoring -quiet option for language file creation related screen output.
* INSTALL
* Some improvements.
* bin/postinst.bat
+ Added -quiet to hbmk2 cmdlines.
* utils/hbmk2/hbmk2.prg
* Improvement in msvc/wce support to support multiple WinCE
CPUs.
! Fixed to add '/manifest:no' only for 8.00 or upper msvcarm
compilers.
* config/wce/msvcarm.mk
* Minor improvements.
+ Added preliminary support for MIPS/SH/x86 WinCE build settings.
* source/vm/maindllp.c
+ Added MIPS and SH .dll names.
* include/hbsetup.h
* source/common/hbver.c
* HB_CPU_SUPERH -> HB_CPU_SH
* include/hbsetup.h
% Optimized out HB_OS_UNIX_COMPATIBLE. HB_OS_UNIX should be used
instead. Since the definition logic for HB_OS_UNIX was completely
different from HB_OS_UNIX_COMPATIBLE, it may be possible that
it's not 100% the same as before, although their meaning was
the same.
HB_OS_UNIX_COMPATIBLE is still available for compatibility, but
it's now marked with HB_LEGACY_LEVEL2 and will be removed in next
major release.
* include/hbapifs.h
* include/hb_io.h
* include/hbsocket.h
* source/vm/set.c
* source/debug/dbgentry.c
* source/common/hbffind.c
* source/rtl/fscopy.c
* source/rtl/fstemp.c
* source/rtl/gtstd/gtstd.c
* source/rtl/gttrm/gttrm.c
* source/rtl/version.c
* source/rtl/hbsocket.c
* source/rtl/copyfile.c
* source/rtl/filesys.c
* source/rtl/console.c
* source/rtl/cputime.c
* source/rtl/gtpca/gtpca.c
* source/rtl/fssize.c
* source/rtl/memofile.c
* source/compiler/hbcomp.c
* source/compiler/gencobj.c
* contrib/hbct/files.c
* contrib/xhb/xhbcopyf.c
* contrib/xhb/hbserv.c
* contrib/hbnf/getenvrn.c
* HB_OS_UNIX_COMPATIBLE -> HB_OS_UNIX
* config/global.cf
* HB_UNIX_COMPATIBLE -> HB_OS_UNIX
* make_gnu_os2.cmd
% Minor opt. I hope OS/2 accepts such 'if' command.
* include/hbthread.h
! Fix to poccarm build. Provided by Przemek.
* utils/hbmk2/hbmk2.prg
* config/wce/msvcarm.cf
* config/wce/global.cf
* config/wce/poccarm.cf
+ Added -DUNICODE for mingwarm. It didn't seem to require it so far,
but I thought it's better to define this for all wce compilers.
% Deleted -DHB_NO_WIN_CONSOLE. No longer exists in Harbour.
% Deleted /stack:65536,4096 linker option from wce/msvcarm.
I'm just guessing it's not needed.
+ -DUNICODE is now enforced through HB_BUILD_UNICODE=yes setting
in GNU Make for all wce compilers.
* harbour/include/hbthread.h
* added workaround for different CRITICAL_SECTION definitions in
some compiler header files
* harbour/source/vm/fm.c
* harbour/source/hbzlib/ChangeLog
* harbour/source/hbzlib/zutil.c
* use #pragma warning to pacify OpenWatcom warnings
* harbour/include/hbatomic.h
% added architecture independent support for atomic operations and
spinlocks in all SunOS builds
* harbour/source/vm/dynlibhb.c
! reenabled dlopen interface for Sun C compilers
* enabled dlopen interface for SunOS builds
* contrib/hbqt/hbqt_slots.cpp
! Deleted windows.h.
* include/hbsetup.h
+ PPC CPU detection made better.
* include/hbatomic.h
* source/vm/maindllp.c
* source/rtl/gttone.c
+ Using HB_CPU_* macros to detect CPU instead of compiler
specific solutions.
Przemek, please review me.
* source/vm/maindllp.c
% Using hbver.h constants to form the version number
included in the .dll name. So it's now maintainence
free.
% Reduced redundancy when forming .dll names.
* source/vm/maindllp.c
* utils/hbmk2/hbmk2.prg
* Renamed wce .dll to harbour[mt]-20-wce-arm.dll
* Renamed non-ARM wce .dlls to harbour[mt]-20-wce.dll
* INSTALL
+ config/linux/sunpro.cf
+ Added Sun Studio compiler support for Linux platforms.
Thanks Tamas Tevesz for the tip that this port exists.
It has various problems to fix, but it's a start.
* config/sunos/sunpro.cf
! Typo in prev commit.
* include/hbdefs.h
! Further tweaked HB_STRICT_ALIGNMENT detection by using
HB_CPU_* macros.
Please review and extend/tweak if needed.
* include/hbdefs.h
* include/hbsetup.h
* include/hbinit.h
* source/vm/fm.c
* source/common/hbver.c
* config/sunos/sunpro.cf
+ Patch for Sun support by Tamas Tevesz.
- SunPro compiler C++ mode support.
- HB_STRICT_ALIGNMENT config refinement for Sun platform.
- SunPro compiler version detection will detect raw version
number for newer releases.
- SunPro optimization flag tweaks for C/C++ mode.
Trying to be Blastwave.org compatible as much as possible.
- LD_OUT -o option tweak for SunPro.
; NOTE: -o option should better be revised for all supported
[gcc] compilers to have space between it and the
filename.
* source/vm/extrap.c
+ Changed to use HB_CPU_* macros instead of using compiler
specific ones.
* harbour/include/hbsetup.h
* harbour/include/hbthread.h
* harbour/include/hbatomic.h
* harbour/source/vm/thread.c
* added support for MT mode in WinCE builds using raw MS-Windows API
instead of CRTL wrappers. It's possible that it may badly interact
with some CRTLs functions we are using in our code so I do not know
it will work. Please test.