* src/rtl/arc4.c
! fixed for watcom (getpid)
! cast for msvc
! fixed for dmc (ms struct missing for win seed)
! fixed for bcc (inline disabled for this dead compiler, getpid)
! fixed warning for all non-unix, non-win targets
; TOFIX: it's also broken for watcom/dos and watcom/linux
Tamas, can you take a look at it?
* utils/hbmk2/hbmk2.prg
+ use HB_RAND32()
* src/vm/set.c
* _SET_EOF default set to .T. on *nix to match other plaforms
(and Clipper I might guess)
CHECKME!
* formatting
! missing 'break;'. it didn't cause error, anyhow pls check me
maybe it was intentional (in 'case HB_SET_PRN_CON:' branch)
CHECKME!
* contrib/hbunix/hbunix.hbp
* contrib/hbunix/hbunix.hbx
+ POSIX_SLEEP( <n> ) -> <n>
* contrib/hbcurl/hbcurl.ch
* contrib/hbcurl/core.c
+ added changes from latest libcurl version (untested with
latest version)
* utils/hbmk2/hbmk2.prg
! fixed symbol names in hbx generation for watcom/{linux|dos|os2}
* utils/hbmk2/hbmk2.prg
+ added experimental -ldflag+=, -dflag+= cmdline options
and ldflags+= .hbc option. Such flags will be added after
libs, which may be useful in some situations, f.e. pkg-config
% only enclose libnames and paths inside single-quotes if
they contain any non-ascii, non-digig, non-., non-/ chars
! fixed .hbx generation on darwin
* src/rtl/listbox.prg
! corrected minor typo in change:
2009-02-18 14:18 UTC+0100 Przemyslaw Czerpak
equality operator stayed '=' in one place. didn't cause
any user level problem
* utils/hbmk2/hbmk2.prg
+ avoiding '=' operator to be _SET_EXACT agnostic
% deleted setting _SET_EXACT
* utils/hbmk2/hbmk2.prg
+ added mingw-w64 autodetection on *nix
* doc/xhb-diff.txt
! typos
* config/global.mk
+ added mingw-w64 autodetection on *nix. build with 'make HB_COMPILER=mingw64'
! supposedly fixed wce/mingw (intel) comp autodetection
* had to change CC*/compiler autodetection on *nix cross builds
and since this file is black magic, fallouts are possible.
pls test it (disc: I'm no heavy linux user, you've been warned)
; NOTE: win/mingw64 build on linux results in broken exes (400+ hbtest failures
and even the percentage of failure is calculated as 0.0%),
most likely due to these (which may even be mingw64 bugs):
../../../hbarch.c: In function 'hb_put_ord_ieee754':
../../../hbarch.c:181: warning: 'iExp' may be used uninitialized in this function
../../../hbarch.c: In function 'hb_put_ieee754':
../../../hbarch.c:114: warning: 'iExp' may be used uninitialized in this function
../../../hbstr.c: In function 'hb_numRound':
../../../hbstr.c:500: warning: statement with no effect
../../../hbstr.c: In function 'hb_numInt':
../../../hbstr.c:525: warning: statement with no effect
../../../hbstr.c:519: warning: 'dInt' is used uninitialized in this function
../../../hbstr.c: In function 'hb_numRound':
../../../hbstr.c:512: warning: 'doComplete5i' may be used uninitialized in this function
../../../hbstr.c: In function 'hb_numDecConv':
../../../hbstr.c:514: warning: 'doComplete5i' may be used uninitialized in this function
../../../hbstr.c:396: note: 'doComplete5i' was declared here
In file included from ../../../hvmall.c:105:
../../../itemapi.c: In function 'hb_itemStrBuf':
../../../itemapi.c:2329: warning: 'dDig' may be used uninitialized in this function
* utils/hbmk2/hbmk2.prg
+ 'hbmk2 proj' will now build 'proj.hbp' if such file exists.
if not, it will build proj.prg like before.
Experimental, it's quite useful, but let's see how much
confusion does it create.
* utils/hbmk2/hbmk2.prg
+ added (aka: "fixing a build issue") new -depincroot=/depincroot=
setting to set root dir for -depincpath= values
* contrib/hbodbc/hbodbc.hbp
* contrib/sddodbc/sddodbc.hbp
* formatting
* package/mpkg_win_nightly.bat
+ disabled bcc libs in nightly binary build.
bcc is not tested by most developers anymore, so its risky
to include it and let it break the build.
* contrib/hbrun/hbrun.rc
- Disable app icon for bcc builds. bcc is too old or buggy
to handle .ico files with certain properties.
* utils/hbmk2/hbmk2.prg
- Disabled -icon= option for bcc to avoid build breaks due
to more recent .ico files.
* contrib/hbmlzo/hbmlzo.hbx
* autoupdate
; NOTE: This was my last patch targeting a bcc specific problem.
It's a waste of time.
* utils/hbmk2/hbmk2.prg
+ dependency check to define HBMK_DIR_* macro with autodetected header dir
+ macro evaluator to return actual value (if any) for internally defined macro
+ contrib/hbdroid
+ contrib/hbdroid/hvminit.c
+ contrib/hbdroid/hbdroid.h
+ contrib/hbdroid/hbdroid.hbc
+ contrib/hbdroid/hbdroid.hbp
+ contrib/hbdroid/msginfo.c
+ Android lib
Based on code sent to the list by Antonio.
Only build tested (on win).
* utils/hbmk2/hbmk2.prg
+ Added -c=/-cpp= dialect support for sunpro, icc, clang, watcom.
Many thanks to Tamas for the information.
+ Added dialect support for vxworks/diag
* contrib/hbpre.hbm
- do not set any C++ std in contrib area
it's a mess.
* utils/hbmk2/hbmk2.prg
+ Added experimental -c=[iso90|iso99|iso1x|gnu90|gnu99|gnu1x] and
-cpp=[iso98|iso0x|gnu98|gnu0x] hbmk2 options to select
C/C++ dialect in a C compiler and built setting independent way.
It will currently affect GCC and compatible family of compilers.
If you happen to know about C dialect/std selection in other
compilers, pls tell and they can be mapped to this option.
F.e. in other win compilers the adaptation to C/C++ stds is very
fuzzy, where such option exists at all (f.e. BCC -A* options),
mostly it's just toggling some compiler extensions.
Comments are welcome of course.
+ Added TOFIX for vxworks with potential disagreement on C std level.
I used hardwired C99 forcage hack while porting Harbour to it.
+ Added internal logic for C- and C++-only options.
; NOTE: Behavior with Objective C sources is yet to be tested.
* contrib/hbmzip/3rd/minizip/minizip.hbp
* contrib/hbunix/hbunix.hbp
* contrib/gtalleg/gtalleg.hbm
* contrib/xhb/xhb.hbp
* contrib/hbqt/hbqt_common.hbm
* contrib/rddads/rddads.hbp
* contrib/hbfimage/hbfimage.hbp
* contrib/hbpre.hbm
* contrib/hbssl/hbssl.hbm
+ -cflag=-std=... => -c=gnu90 hbmk2 option.
* contrib/hbmxml/3rd/minixml/mxml.hbp
* contrib/hbmxml/3rd/minixml/config.h
* Testing without HAVE_SNPRINTF/HAVE_VSNPRINTF in ANSI C89 mode.
* utils/hbmk2/hbmk2.prg
+ Added '-cflag+=' experimental option which works like
-cflag=, but it adds the custom flag _after_ C flags
added internally by hbmk2. This allows for some better fine
tuning (f.e. see rddads.hbp). Another possbility would
have been to move all user flags after internal ones,
but this could make it easy to break builds, and it
would also make cflags behave differently than the rest,
so I decided to add this new syntax.
+ Some step to support hbmk2 options to control C/C++ dialect.
% Minor optimization in formed C compiler and linker cmdlines.
* contrib/rddads/rddads.hbp
! Fixed gcc option to disable stupid warning caused
by sloppy #pragma usage in ACE header.
Also changed to use '-cflag+=' to make it work.
At last!
* hbbz2/3rd/bz2/bz2.hbp
* hbbz2/core.c
+ Build bz2 with BZ_NO_STDIO option. This will get rid of fileno()
call, so it becomes C89 compliant.
+ Added internal error handler required when BZ_NO_STDIO is used.
% Deleted -std=gnu89 override.
; Checkme.
* utils/hbmk2/hbmk2.prg
! Fixed compiled resources not triggering rebuild of
target executable in incremental mode unless the resources
sources were also changed.
Thanks to Mindaugas for reporting it.
* utils/hbmk2/hbmk2.prg
+ new filter values: lngcpp and lngc. Can be used to
check forced C++/C mode.
* contrib/hbmzip/3rd/minizip/ioapi.h
* contrib/hbmzip/3rd/minizip/zip.h
* contrib/hbmzip/3rd/minizip/minizip.dif
! C++ -> ANSI C comments
* contrib/hbmzip/3rd/minizip/minizip.hbp
! Override c89 mode with gnu89. For f*64() functions.
* contrib/rddads/rddads.hbp
! Override c89 mode with gnu89. ADS headers need it.
* contrib/hbpre.hbm
+ Forcing c89 mode for GCC family compilers (in non C++ forced mode)
Results were pretty good and Harbour/3rd party code complies
very well.
* contrib/hbunix/hbunix.hbp
* contrib/hbcurl/hbcurl.hbm
* contrib/hbnetio/hbnetio.hbp
* contrib/gtwvg/gtwvg.hbp
* contrib/hbwin/hbwin.hbp
* contrib/hbsqlit3/hbsqlit3.hbp
* contrib/hbexpat/hbexpat.hbp
* contrib/hbmemio/hbmemio.hbp
- Deleted just added local c89 mode forcage. Now it's done global.
* contrib/hbqt/qtgui/hbqtgui.h
! Fixed HBQT_TYPE_QIcon redefinintion. Pls check, I didn't rebuild the
whole package after the mod.
* utils/hbmk2/hbmk2.prg
+ Added experimental feature to filter out libs from the lib lists:
-l-kernel32, libs=-kernel32
Harbour core libs cannot be disabled this way (except hbzlib and
hbpcre)
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.es_PE.po
* utils/hbmk2/hbmk2.prg
* INSTALL
* Use 'please' more sparsingly. Use 'always' a bit more.
* config/lib.mk
* config/bin.mk
* config/dyn.mk
+ Added internal configuration '__HB_BUILD_NOSYSLIB=<lib1> [<lib2>]'
to delete items from default list of system libs used by
core build.
* src/common/hbtrace.c
* contrib/xhb/hbsyslog.c
+ Added Android specific logging support. Untested.
* contrib/xhb/hbsyslog.c
! Disabled syslog() call for Symbian.
* include/hbsetup.h
+ Added Android OS platform detection. Untested.
* utils/hbmk2/hbmk2.prg
% Disabled some very old HB_INSTALL_PREFIX autodetection logic,
which supports some obsolete looking scenarios when hbmk2 executable
is not in standard location. Rest of logic and failure detection
rearranged accordingly. After this step hbmk2 no more requires
harbour executable to be present next to it.
IMPORTANT: This is live testing, pls report any problems.
* utils/hbmk2/hbmk2.prg
+ Added TOFIX. There is a build error caused by gpm, when
trying to build 64-bit Harbour on a 32-bit Ubuntu (10.10)
Linux. gpm lib is not available in 64-bit form, but
32-bit hbmk2 is built flagged with HB_HAS_GPM, so when
run it will want to include gpm also for 64-bit target.
I'm not sure what is the solution for this. Ideally
hbmk2 should dynamically decide if gpm is really required
for a given target. It could f.e. look into gttrm lib
to check for this.
[ though maybe this build scenario is just too awkward
for any sane purpose, even more so because X11 is also
not available in 64-bit form, limiting its use even more.
Probably it's more realistic goal to cross-build 32-bit
targets on a 64-bit host. ]
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/*.po
+ Added -nodefgt[-] cmdline option and nodefgt=[yes|no] .hbc
commands. It will disable linkage of default GT when creating
statically linked application. It's little hakish solution,
so pls be careful when playing with it.
% Only link to gpm lib if any of GTTRM, GTCRS or GTSLN GTs
are actually linked. (it can be useful in conjunction
with -nodefgt option)
* utils/hbmk2/hbmk2.prg
! Fixed potential RTE occurring at filter expression
evaluation time (f.e. with filter {x86-64})
+ Added warning (suppressible with -quiet) when any error
in filter expression formation or evaluation is found.
* contrib/hbqt/qtgui/hbqtgui.hbx
* contrib/hbqt/qtgui/hbqtgui.hbm
- contrib/hbqt/qtgui/gtqtc.h
- contrib/hbqt/qtgui/gtqtc.cpp
+ contrib/hbqt/gtqtc
+ contrib/hbqt/gtqtc/gtqtc.cpp
+ contrib/hbqt/gtqtc/gtqtc.h
* Moved readded GTQTC related files to their original
position. Please add build files (f.e. from old SVN)
and add them to HBQT core makefiles, like f.e. for
hbqtsql.
IMPORTANT: .hbx is not required for any GT, so it's not
needed for GTQTC either.
* contrib/hbqt/hbqt_common.hbm
* utils/hbmk2/hbmk2.prg
* config/bsd/pcc.mk
* pcc fixups [Tamas Tevesz]
* utils/hbmk2/hbmk2.prg
+ Added pcc to help screen
* config/bsd/pcc.mk
* XXX -> TODO
* INSTALL
+ Added pcc to more platforms.
* utils/hbmk2/hbmk2.prg
+ Continue if there were no input files specified. This
can be useful in some situations.
* Show warning about no input files only when -info option is used.
+ Consider resource files as valid input files when showing
above warning.
* src/rtl/hbzlibgz.c
! In block declaration in recent patch.
* utils/hbmk2/hbmk2.prg
! Regression in recent xhb patch.
* contrib/hbwin/axcore.c
! Format warning in trace.
* utils/hbmk2/hbmk2.prg
* Invoke xhb compiler (in -xhb mode) for each input source file,
to avoid xhb compiler bugs (like aborting due to too many
warnings even if -w0 is used - reported by Pritpal in xhb 2007 Oct
version).
* contrib/hbmzip/3rd/minizip/minizip.dif
* contrib/hbmzip/3rd/minizip/ioapi.h
! Fixed for cygwin. [Tamas Tevesz]
* contrib/hblzf/3rd/liblzf/lzfP.h
* contrib/hblzf/3rd/liblzf/liblzf.dif
! Fixed for bcc. [Tamas Tevesz]
* utils/hbmk2/hbmk2.prg
! Fixed to include hbmainstd after converting cygwin from
compiler to platform.
; QUESTION: should we use hbmainwin for cygwin apps in -gui mode?
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.es_PE.po
+ Added -pic[-] option and pic= .hbc command to enable PIC.
It's always enabled when using -hbdyn/-hbdynvm.
! Using -fPIC for bsd. (in sync with core make)
+ Added sunos/sparc PIC option, though to really kick in,
CPU detection should be implemented, or it should be
manually supplied using -cpu=sparc option.
Please review these.
* contrib/hblzf/3rd/liblzf/lzf_d.c
* contrib/hblzf/3rd/liblzf/lzfP.h
* contrib/hblzf/3rd/liblzf/LICENSE
* contrib/hblzf/3rd/liblzf/lzf.hbp
* contrib/hblzf/3rd/liblzf/liblzf.dif
* contrib/hblzf/3rd/liblzf/Changes
* contrib/hblzf/3rd/liblzf/README
* contrib/hblzf/3rd/liblzf/lzf_c.c
* update lzf to 3.6 [Tamas Tevesz]
* contrib/hbqt/qtgui/hbqt_init.cpp
* Renamed HBQT_PUSHEVENT() to HBQTGUI_EVENTPUSH().
* Commented this new function with a detailed TOFIX note,
with some notes needing more close inspection.
* harbour/config/win/bcc.mk
* harbour/utils/hbmk2/hbmk2.prg
* disabled W8060 warnings in BCC builds when warning level is set to low
* harbour/src/rtl/gtwin/gtwin.c
! added missing void in hb_gt_win_IsFullScreen() declaration
* harbour/utils/hbmk2/hbmk2.prg
* harbour/config/dos/watcom.mk
* harbour/config/win/watcom.mk
* harbour/config/linux/watcom.mk
* harbour/config/os2/watcom.mk
! fixed to not use -wcd124 and -wcd136 in OpenWatcom C++ builds
* harbour/config/win/xcc.mk
! added -noexpobj as workaround for problems with creating
shared library
* removed now unnecessary $(RM) harbour*.dll
* harbour/src/rtl/base64d.c
* pacified warning
% removed unnecessary condition with RTE - decoded string has to
be shorter then the source one taken from HVM string item so for
sure it cannot exceed maximum string item size
* harbour/src/rtl/base64c.c
* generate RTE if encode string size is too big
* eliminated unnecessary INT_MAX string limit