* src/3rd/zlib/Makefile
* src/3rd/zlib/*
* updated to 1.2.7 from 1.2.6. Using 3rdpatch.hb and .dif reapplied manually.
* src/rtl/hbzlibgz.c
+ HB_GZOPEN() updated to use new in zlib 1.2.7 wide gzopen()
on Windows. It means now it supports unicode filenames.
* contrib/hbmzip/3rd/minizip/zip.c
* updated manually from zlib 1.2.7 (two warnings fixed)
* 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.
* 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.
* harbour/src/vm/procaddr.c
! removed dummy entry at the end of function table
* harbour/src/common/hbstr.c
* harbour/src/rdd/dbfcdx/dbfcdx1.c
* harbour/src/rdd/hsx/hsx.c
* harbour/contrib/xhb/fparse.c
* pacified warnings
* harbour/include/hbsetup.h
* disabled flatten function attribute in ANDROID builds,
it causes that Android_NDK-GCC GPFs compiling src/vm/procaddr.c
* harbour/include/hbdate.h
* enabled localtime_r() in Android builds
* harbour/src/common/hbgete.c
* enabled setenv() in Android builds
* harbour/src/common/hbtrace.c
! fixed ANDROID_LOG_* flags
; QUESTION: why Android log is used instead of syslog?
It causes that harbour has to be linked with
log library (-llog).
* harbour/src/common/hbprintf.c
* disabled modfl() in Android builds
* harbour/src/rtl/filesys.c
* added hack for missing functions in android libc library
* harbour/src/rtl/diskspac.c
* harbour/src/rtl/disksphb.c
* use statfs instead of statvfs in Android builds
* harbour/contrib/hbct/dattime3.c
* disabled stime() in Android builds
* harbour/contrib/hbmzip/3rd/minizip/ioapi.h
* do not use 64bit FILE functions in Android builds
* harbour/contrib/xhb/hbsyslog.c
* disabled using Android log in Android builds - use standard syslog
instead. This code needs deeper modification to switch to Android log.
; I have just recompiled whole Harbour code for android-3, android-5
and android-9 at ARM using standard Harbour Linux build files.
Android does not have pthread and rt libraries (they are merged
with android c library) so to avoid link errors I simply created
soft links from libpthread.a and librt.a to libc.a.
With this hack could use unmodified hbmk2 and linux .mk files.
BTW exporting HB_CPU="arm" was not enough to switch to cross build
in my x86@64 Linux machine so I had to export HB_HOST_BIN and set
HB_BUILD_3RDEXT="no"
* contrib/hbqt/hbmk2_qt.hbs
% Deleted now unnecessary .prg wrapper generation logic.
* Moved .qth processing to "pre_c" phase.
! Deleted HB_FUNC_EXTERN for constructor now declared locally.
! Added constructor to symbol table.
* contrib/3rd/sqlite3/sqlite3.hbp
* contrib/hbbz2/3rd/bz2/bz2.hbp
* contrib/hbexpat/3rd/expat/expat.hbp
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
* contrib/hblzf/3rd/liblzf/lzf.hbp
* contrib/hbmlzo/3rd/minilzo/minilzo.hbp
* contrib/hbmzip/3rd/minizip/minizip.hbp
* contrib/hbmxml/3rd/minixml/mxml.hbp
* contrib/hbxdiff/3rd/libxdiff/xdiff.hbp
+ Added -pic option to 3rd party libs. This switch will
make them use -pic when creating their static libs,
which allows to link them to contrib dynlibs when
using HB_BUILD_CONTRIB_DYN=yes.
* contrib/hbwin/tests/dlg.prg
* Minor formatting.
* debian/control
* Update.
* contrib/hbmzip/3rd/minizip/minizip.dif
* contrib/hbmzip/3rd/minizip/ioapi.h
! Fixed type for haiku/beos.
; [Tamas Tevesz]
* contrib/hbxbp/xbpappevent.prg
! Renamed XbpAppEventToQKeyEvent() to hbxbp_AppEventToQKeyEvent()
; TOFIX: Demessify these public function names:
HBXBPAPPDESKTOP
HBXBP_APPEVENTTOQKEYEVENT
HBXBP_CLEAREVENTBUFFER
HBXBP_CONVERTAFACTFROMXBP
HBXBP_GETNEXTID
HBXBP_INITIALIZEEVENTBUFFER
HBXBP_SETEVENTLOOP
XBP_SETPRESPARAM
XBP_SETPRESPARAMIFNIL
XBP_XBPTOQTNAME
Probably HBXBP_ should be used consistently in all above.
* 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?
* contrib/hbmxml/3rd/minixml/mxml.hbp
* contrib/3rd/sqlite3/sqlite3.hbp
* contrib/hbmzip/3rd/minizip/minizip.hbp
* contrib/hblzf/3rd/liblzf/lzf.hbp
* contrib/hbxdiff/3rd/libxdiff/xdiff.hbp
* contrib/hbexpat/3rd/expat/expat.hbp
* contrib/hbbz2/3rd/bz2/bz2.hbp
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
! Do not create dynamic version of 3rd party dependencies hosted
locally. It should fix some problems on *nix builds with
HB_BUILD_CONTRIB_DYN=yes.
* contrib/hbrun/hbrun.hbp
+ -o option.
* utils/hbmk2/hbmk2.prg
+ Added dynlib dir + prefix to --hbinfo output.
* src/rtl/hbsocket.c
* contrib/xhb/xhb.hbp
* contrib/3rd/sqlite3/sqlite3.hbp
* contrib/hbmzip/3rd/minizip/minizip.dif
* contrib/hbmzip/3rd/minizip/ioapi.h
* INSTALL
; Further Minix patch from Tamas:
* contains small touchups to src/rtl/hbsocket.c to bring the previous
modifications in line with the rest, plus typo fixes
* disables contrib/xhb until minix gets the features needed
* disables contrib/3rd/sqlite3, pending investigation
* makes contrib/hbmzip work
* adds some notes to INSTALL
- external/zlib
- external/png
- external/jpeg
- external/hbpmcom
- external/pcre
- external/Makefile
+ src/3rd
+ src/3rd/zlib
* src/3rd/zlib/Makefile
+ src/3rd/png
* src/3rd/png/Makefile
+ src/3rd/hbpmcom
* src/3rd/hbpmcom/Makefile
+ src/3rd/jpeg
* src/3rd/jpeg/Makefile
+ src/3rd/pcre
* src/3rd/pcre/Makefile
+ src/3rd/Makefile
* Moved /external to /src/3rd
; This way all core components reside in core.
; NOTE: png, jpeg are not referenced by core components,
so they may be moved to contrib area in the future.
* config/detect.mk
* Makefile
* src/Makefile
* src/rtl/hbcom.c
* contrib/hbmzip/hbmzip.hbp
* contrib/hbmzip/3rd/minizip/minizip.hbp
* contrib/hbhpdf/hbhpdf.hbp
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
* contrib/hbhpdf/3rd/libhpdf/hpdf.h
* contrib/hbwin/hbwin.hbp
* Updated to reflect above change.
; NOTE: Now -j builds can be optimized to better overlap with
3rd component builds. Please do it in src/Makefile.
* contrib/hbplist
* Updated.
* contrib/hbhpdf/hbhpdf.hbp
* contrib/hbhpdf/hbhpdf.hbc
* contrib/hbexpat/3rd/expat/expat.hbc
! Fixed for 'HB_BUILD_CONTRIB_DYN=yes'
* external/Makefile
- external/libhpdf
+ contrib/hbhpdf/3rd
+ contrib/hbhpdf/3rd/libhpdf
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbc
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
* Moved to contrib local dir.
+ Added support for 'HB_BUILD_CONTRIB_DYN=yes'
* contrib/hbhpdf/3rd/libhpdf/hpdf.h
! Fixed for dynamic build.
; TODO: Regenerate .dif. For me it restored original copy for some reason :(
* contrib/hbsqlit3/hbsqlit3.hbc
* contrib/sddsqlt3/sddsqlt3.hbc
* Using .hbc file for 3rd party lib.
* contrib/3rd/sqlite3/sqlite3.hbp
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
* contrib/hbmzip/3rd/minizip/minizip.hbp
* contrib/hbexpat/3rd/expat/expat.hbp
! Changed -warn=no to -warn=low, which is equivalent to 'HB_BUILD_WARN := no'
in Makefile.
* utils/hbmk2/hbmk2.prg
* Changed the way target selection (-hblib, -hbdyn*, -hbexe, etc)
options are handled. So far the last one specified remained
active, now the first one specified will stay active.
IOW: 'hbmk2 -hbdyn mylib.hbp' will result in dynamic lib target,
even if mylib.hbp contains -hblib option.
; Beware of some regressions or incompatibility with certain
build configs.
* contrib/hbpost.hbm
* contrib/hbpre.hbm
* Moved -hbdyn option to hbpre.hbm. This makes it possible
for .hbp files to act differently when built as dynamic lib.
; Such will be required for
* external/libhpdf/libhpdf.hbp
* Cleared TOFIX after above changes.
* contrib/hbplist
* contrib/hbmzip/hbmzip.hbp
* contrib/hbmzip/hbmzip.hbc
- external/minizip
+ contrib/hbmzip/3rd
+ contrib/hbmzip/3rd/minizip
* contrib/hbmzip/3rd/minizip/minizip.hbc
* contrib/hbmzip/3rd/minizip/minizip.hbp
- contrib/hbmzip/3rd/minizip/Makefile
* Moved minizip dir under the contrib that uses it.
; Please test.