* 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
* harbour/utils/hbmk2/Makefile
! fixed list of linked libraries - hbpp and hbcommon libs were
given explicitly though they are also included in harbour
shared library. It means that for HB_BUILD_SHARED=yes some semi
dynamic hbmk2 executable was created with repeated compiled hbpp and
hbcommon code. The first copy was inside hbmk2 executable file and
the second one inside harbour shared library (.so, .dyn, .dll, ...).
This fix should also resolves the problem with missing math library
when hbmk2 was linked.
* config/globsh.mk
! make the clean target also remove the newly-created libharbour* symlinks [Tamas]
* utils/hbmk2/hbmk2.prg
+ Added TODO to eventually delete lib grouping.
* config/linux/watcom.mk
- Disabled dynlib creation on linux/watcom, because watcom support
is broken yet.
* 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.)
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.es_PE.po
* utils/hbmk2/hbmk2.prg
+ Added -F<framework> option to pass OS X/Darwin frameworks to the linker
(in both hbexe and hbdyn modes)
+ <name.framework> input files will be recognized as OS X/Darwin frameworks.
+ Added support for frameworks= command in .hbc files.
* contrib/hbqt/qtgui/hbqtgui.hbc
* contrib/hbqt/qtwebkit/hbqtwebkit.hbc
* contrib/hbqt/qtcore/hbqtcore.hbc
* contrib/hbqt/qtnetwork/hbqtnetwork.hbc
* contrib/hbqt/qscintilla/hbqscintilla.hbc
* contrib/hbqt/qtdesigner/hbqtdesigner.hbc
* Replaced manual hack to add QT frameworks on darwin,
with new hbmk2 framework options.
* contrib/sddfb/sddfb.hbc
* contrib/hbfbird/hbfbird.hbc
+ Added Firebird as framework on darwin.
* utils/hbmk2/hbmk2.prg
! Fixed regression in 2011-02-10 23:45 UTC+0100 Viktor Szakats,
in making .hbmk dir hidden when converting from custom DirBuild()
to core hb_DirBuild(). Due to typo the dir was not made hidden.
! Fixed to make .hbmk hidden regardless of casing (f.e. on MS-DOS).
* utils/hbmk2/hbmk2.prg
! Readded REQUEST HB_FSETATTR. It was used in conditional
code, so it was not linked on *nix builds, causing
failure to run postinst.hbs.
* src/rtl/hbrandom.c
* Minor formatting.