* package/winuni/RELNOTES
! adjusted hbmk2 cmdline example for building wce apps
(it gets around the problem fixed in hbmk2 below)
[TOMERGE 3.0]
* utils/hbmk2/hbmk2.prg
! fixed to only look for ccprefix/ccpostfix-ed gcc executable
on wce, if ccprefix/ccpostfix is non-empty. This fixes misdetection
of cygwin when -plat=wce is used.
* contrib/hbnf/menutonf.prg
! FT_MenuTo() fixed to default 3rd parameter if non-logical type
is passed. this is original NFLIB bug. Spotted and fix siggested
by Klas Engwall.
* ChangeLog
+ added TOMERGE to previous entry
* 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.
* utils/hbmk2/hbmk2.prg
* config/postinst.hbs
! fixed wrongly placed @cStdErr parameter in hb_processRun()
calls. it didn't cause any error as the param is empty and
return value currently unused.
* utils/hbmk2/hbmk2.prg
- disabled addition of header and libs paths for optional
package managers on bsd platforms. in some situations this
may be unwanted.
(added in 2010-11-03 19:01 UTC+0100 Viktor Szakats)
* utils/hbmk2/hbmk2.prg
! fixed to put requests to stub code for core GTs when
-gt* options are used
(the fix it meant to be unintrusive and could use a future
cleanup/optimization by using the raw GT list to form
the library list instead of rolling both lists in parallel)
Please test.
* minor cleanup to IsGTRequested() so it can be reused in the future
* 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)