* include/Makefile
+ include/hbstrict.ch
* contrib/hbpost.hbm
+ added experimental -u+ header to catch some common code style
problems. currently IF() is caught, but it interferec with std.ch
hbsix.ch and possibly more, so it's not enabled
* config/global.mk
* src/dynlib/2nd/Makefile
* src/dynlib/Makefile
* secondary harbour dynlib is now enabled by __HB_BUILD_DYN_2ND=yes
* renamed secondary harbour dynlib to harbour2*
+ it's now possible (again) to build harbour .dll in ST mode by
using __HB_BUILD_DYN_ST=yes. if used together with __HB_BUILD_DYN_2ND=yes,
the secondary dynlib will be MT. (pls note the secondary dynlib
is never directly used by hbmk2, so it's there for mere build convenience
only)
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/xbpprintdialog.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/hbxbp/xbpprinter.prg
* contrib/hbxbp/xbpdataref.prg
! IF() -> IIF() (with the help of hbstrict.ch)
* contrib/hbformat/hbfmtcls.prg
! fixed mistakenly changed '==' to LEFTEQUAL() in prev commit
* 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
* contrib/hbmxml/3rd/minixml/config.h
! yet another bcc problem. my last after the last.
anyone to pick up fixing bcc bugs?
* config/detect.mk
- exclude slang/curses/x11 for android
* contrib/hbct/strdiff.c
* contrib/hbct/dattime3.c
* uncrustified
* contrib/hbct/misc2.c
* contrib/hbct/token1.c
* contrib/hbct/print.c
* formatted
* 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.
* harbour/config/linux/libs.mk
* harbour/config/android/libs.mk
* filter out libraries which does not exists in android inside
android not linux config files
* src/common/hbtrace.c
* contrib/xhb/hbsyslog.c
- Deleted Android specific logging. syslog works good.
+ config/android
+ config/android/libs.mk
+ config/android/gcc.mk
+ config/android/gccarm.mk
+ config/android/global.mk
+ config/android/mingw.mk
+ Added android specific core build files. They are
all redirected to linux.
* config/linux/libs.mk
+ Do not add rt and pthreads libs for android targets.
* ChangeLog
* Corrected some old text.
* config/wce/mingw.mk
* Fixed to include mingwarm.
Note however that x86 wce targets are extremely rare, so
it's unlikely that you need this.
* config/detect.mk
! Deleted OS X specific (MacPorts) autodetection location for pcre.
Now it's using locally hosted version.
This was the error without this:
---
libtool: can't locate file for: -lpcre
libtool: file: -lpcre is not an object file (not allowed in a library)
make[3]: *** [libharbour.2.1.0.dylib] Error 1
---
* INSTALL
- Deleted HB_BUILD_WINUNI option. It's not documented
option anymore. Pls don't use it. Use UNICOWS solution
if you need Win9x/ME support. Pls also note that _building Harbour_
on Win9x/ME systems is deprecated (as it is only possible
to build Harbour in non-UNICODE version in such scenario).
* config/global.mk
- Deleted some built-in build names which only differed
in WINUNI setting.
* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/tests/xbpqtc.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbqt/gtqtc/gtqtc.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/qth/HBQSlots.qth
* contrib/hbqt/qtcore/qth/HBQEvents.qth
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/tests/demoqt.prg
* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/idemain.prg
* contrib/hbide/ideeditor.prg
! HB_TR_ALWAYS -> HB_TR_DEBUG.
Neverending battle with abused debugging facilities continue.
Please _never_ use HB_TR_ALWAYS in committed code, not even
in commented lines because it's confusing, it trashes console
on *nix systems, it creates a rubbish/unfinished feel for
anyone trying out these components and it creates unnecessary
noise on lists in the form of problem reports.
For those few developers who actually need these lines:
_Set HB_TR_LEVEL on your development machine_ to HB_TR_DEBUG
to get those debug lines!!
Also: Never use HB_TR_ALWAYS as a mean of generating
test output meant for users, I've found some of these in
tests/ .prgs. Use something native instead, like
a text box, msgbox, log file, OutStd(), QOut(), etc.
If this won't change in the future, the best will be to
simply remove HB_TR_ALWAYS from hbtrace.ch, thus making
it unsuited for purposes it wasn't designed for.
Thank you.
* config/win/mingw.mk
+ Added commented -Wextra warning option which will be particularly
interesting with the release of gcc 4.6, since they've finally
implemented the last useful feature which was unique to BCC:
-Wunused-but-set-variable and -Wunused-but-set-parameter
See:
http://gcc.gnu.org/gcc-4.6/changes.html
* 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.
* contrib/hbrun/hbrun.prg
! Fixed to not crash due to corrupted .hrb leftover files next to hbrun executable.
* src/compiler/hbusage.c
! typo in e-mail address
* contrib/hbqt/hbqt_common.hbm
+ qt autodetection on beos
* config/postinst.hbs
* ld config -> linux only
; [Tamas Tevesz]
* 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
* include/hbgtinfo.ch
* src/rtl/gtwin/gtwin.c
* src/rtl/gtwvt/gtwvt.c
+ HB_GTI_ISFULLSCREEN checking and setting inside GTWIN done.
! Minor fix for GTWVT, code patched to work on Windows 95 (tested).
; [Aleksander Czajczynski]
* config/beos/gcc.mk
* config/bsd/clang.mk
* config/bsd/pcc.mk
* config/linux/clang.mk
+ add soname specs to some gnu lds [Tamas Tevesz]
* 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
* contrib/hbmzip/hbmzip.hbp
* Changed header used for minizip autodetection.
zip.h is also used by component named libzip.
Thanks to Przemek for the hint.
[ looking for multiple headers (possibly connected by various
bool operators) is too huge work for so far too little gain, so
for now I pass it.]
* contrib/hbrun/hbrun.prg
+ Use HB_GTI_FULLSCREEN to detect if the GT is capable of non-console
mode of operation (formely hard-wired check for GTCGI was done).
Pls verify me.
* config/postinst.hbs
+ Show msg that postinst.hbs is finished (and errlev) [Tamas]
* contrib/hbqt/qtgui/hbqtgui.ch
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_misc.prg
* contrib/hbqt/qtcore/hbqt_init.cpp
! Fixed indentation in recent additions.
+ Added new function hbqt_create_objectFromEventType2() which
is supposed to create the object and fill PPTR in C code
(without calling back to .prg)
I didn't make any functional tests so pls do it.
+ Added mechanism to register/unregister event types with
object names.
+ QTGUI will now register its event types on init.
+ Event filter changed to look for registeres event types
and create appropriate object dynamically.
; TODO: Old code is still there, until the new one gets tested.
Please do tests.
! Fixed to pull required class wrappers for object types
associated with events.
; TOFIX: hbqt_create_object()/HBQT_CREATEQTOBJECT() is wrong
because it uses macro expansion to call object instantation,
which means _ALL_ HBQT apps now require to pull and link
every existing QT symbols to work reliably, which is
unacceptable for all apps (except HBIDE which pulls all
these anyway)
We should move to full C++ wrappers to solve this
cleanly.
; TOFIX: Clean code to never use the unsafe hbqt_create_objectFromEventType().
; TOFIX: Just a note: Raw pointers are still used in QLIST f.e.,
so even the raw pointer problem is not fully solved yet.
* contrib/hbqt/qtgui/hbqtgui.hbx
* contrib/hbqt/qtcore/hbqtcore.hbx
* Regenerated automatically.
; !!! FOR HBQT (AND ALL) DEVELOPERS: Please enable HB_REBUILD_EXTERN=yes !!!
* contrib/hbtip/sendmail.prg
+ Encode .xml attachments in base64. Response to sf.net #3192722
+ Set MIME type for .xml (text/xml)
; Pls review this.
* config/postinst.hbs
+ Create dynlib symlinks only if the dynlib was actually created
and exists. (different patch from what we've dicussed on the
list, so pls verify it)
* 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.
* config/beos/gcc.mk
* config/linux/sunpro.mk
* config/sunos/sunpro.mk
+ Added $(LN) commands to these remaining targets.
Only vxworks is missing them now, but I can't remember
how this worked there.
* config/bsd/pcc.mk
* config/hpux/gcc.mk
* config/linux/watcom.mk
* config/linux/icc.mk
+ Added $(LN) calls for targets it was missing from.
(and which they use multiline dynlib creation block)
* config/cygwin/gcc.mk
* Moved $(LN) calls to separate lines to be in sync with
rest of platforms with multiline dynlib creation block.
* config/global.mk
! Fixed regression for win/wce systems after recent dynlib changes.
On these systems the referenced lib name should always contain
the version number.
* config/vxworks/gcc.mk
* config/vxworks/diab.mk
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
* config/linux/gcc.mk
* Cleaned to use new central variables for harbour dynlib links.
; TODO: Do the same with rest of *nix targets when adding soname
and '2.1' style symlinks, when current system proves okay
with darwin and linux/gcc targets.
* config/linux/gcc.mk
* Using central macros for dynlib versions.
* config/dyn.mk
+ Added macros to help creation of .major.minor versioned dynlib links.
* config/postinst.hbs
* config/global.mk
* config/bin.mk
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
* config/linux/gcc.mk
* config/dyn.mk
* config/os2/gcc.mk
* Trying to cleanup the harbour dynlib name situation.
Here's the plan (which is similar to what's used in contrib area):
win, wce: harbour-21[-subtype][.dll/.lib]
dos, os2: harbour[.dll|.???]
darwin:
libharbour.2.1.0.dylib
libharbour.2.1.dylib -> (symlink) [compatibility level]
libharbour.dylib -> (symlink)
*nix:
# libharbour.s?.2.1.0
# libharbour.s?.2.1 -> (symlink) [soname]
# libharbour.s? -> (symlink)
; It's possible it's broken now. Pls test linux/gcc and darwin.
'install' was not tested.
; TODO: Clean variable usage, there is some redundancy, plus
some places where current solution is not generic, f.e.
using HB_VER_*, HB_DYNLIB_BASE vs. HB_DYNLIB_NAME, etc.
* harbour/src/rtl/fscopy.c
* Reverted 2011-02-22 12:27 UTC+0200 Mindaugas Kavaliauskas
which made behavior inconsistent with rest of similar
functions like FERASE(), FRENAME(), which also don't throw
RTE if bad parameter is passed, but return FERROR()
and failure instead.
Also restored _SET_DEFAULT handling to not create a special case
compared to __COPYFILE() behavior, ia. some features like
FXO_SHARELOCK are still enabled while FXO_DEFAULT is not).
Pls rewrite it using hb_fsOpen()/hb_fsCreate() if that behavior
bothers you.
* contrib/hbpost.hbm
* config/linux/gcc.mk
+ Setting -soname on linux systems. Experimental, I don't know a bit about
what this value should be or how it's supposed to work, so pls test.
Once settled one something, it should be extended to all *nix platforms
and all linux compilers.
* config/global.mk
* src/dynlib/Makefile
+ src/dynlib/2nd
+ src/dynlib/2nd/Makefile
* Changed so that _HB_BUILD_DYN_ST=yes now creates a separate,
secondary dll in ST mode, called harbourst/harbours.