* 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.
- src/dynlib/mt
* src/dynlib/Makefile
* src/vm/maindllp/dllpcode.c
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* utils/hbmk2/hbmk2.prg
* config/postinst.hbs
* config/global.mk
* config/bin.mk
* Changed to have only one harbour dll, and this one with MT support.
This means the old MT mode dll named harbourmt/harbourm is no more
and the old ST mode dll vanished also. This will result in much
cleaner layout of Harbour binary tree, smaller distribution size,
and unambigous dll tree when linking an app with dll multiple
components (f.e. contribs).
If someone wants to build an ST mode harbour dll, she can use the
internal build-time option: _HB_BUILD_DYN_ST=yes
; Please test.
; TODO: Do a final cleanup on internal variable names to not have "ST" in them.
* contrib/make.hbs
* contrib/hbide/idemisc.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbrun/hbrun.prg
* config/postinst.hbs
* bin/hb3rdpat.hbs
* Using new filename handling functions from core.
% Deleted redundant local copies of these functions.
* utils/hbmk2/hbmk2.prg
+ REQUESTing new filename handling function till they are
used in hbmk2 too.
; TODO: Make the switch in hbmk2 too.
* contrib/hbplist
- contrib/hbrun/hbrunext.hbp
+ contrib/hbrun/hbrun.prg
+ contrib/hbrun/hbrun.hbp
+ contrib/hbrun/hbrun.1
* config/postinst.hbs
- utils/hbrun
* utils/Makefile
* Moved hbrun to contrib area.
; Now it can contain any contrib libs.
* utils/hbmk2/hbmk2.prg
! Do not add .hbx file to input file list if the file doesn't
exist. This is to resolve the chicken-egg problem when
initially creating the .hbx file for a new project.
! Never use .hbx filename for forming the output name
and deciding about startup module.
* utils/hbmk2/hbmk2.prg
* config/postinst.hbs
+ Do not add duplicates to extern list.
(it may have only happened if renaming sources and
building without clean)
* utils/hbmk2/hbmk2.prg
* config/beos/gcc.mk
* config/qnx/gcc.mk
* config/bsd/gcc.mk
* config/wce/mingwarm.mk
* config/vxworks/gcc.mk
* config/minix/gcc.mk
* config/darwin/gcc.mk
* config/hpux/gcc.mk
* config/win/mingw.mk
* config/linux/gcc.mk
* config/cygwin/gcc.mk
* config/symbian/gcc.mk
* config/os2/gcc.mk
* config/sunos/gcc.mk
! Separate -Wimplicit-int and -Wimplicit-function-declaration
so that they are added to cflags only when not in cpp mode.
; Patch by Tamas.
* config/postinst.hbs
* MAKEDIR() -> HB_DIRCREATE().
Warning: Make a 'make clean' _before_ updating to this revision.
Or, do a fresh checkout and build that.
Or, do a clean rebuild twice.
(otherwise plain 'make clean' will end with an error)
- examples/pp
- Deleted obsolete PP code.
; NOTE: Now that HB_BUILD_CONTRIB_DYN=yes works pretty much
okay on both win and linux, I will delete this
tool meant as a temporary workaround for those
requiring dynamic versions of Harbour libs:
bin/hbmk2l2d.hbs
If you need it, make a copy of it locally, though
most pbly nobody ever used this.
* config/hb_c.cfg
* Changed to align assignments.
! Fixed to align case statments like it's done in Harbour.
* contrib/gtwvg/wvgcuig.c
* contrib/gtwvg/wvgwin.c
* contrib/gtwvg/wvgutils.c
* contrib/gtwvg/wvgcore.c
* contrib/gtwvg/wvgwing.c
* Reformatted with uncrustify.
Results are fantastic with this tool.
* config/hb_c.cfg
+ Some more settings.
* Changed to not wrap lines at column 100. It'd be great
feature, though sometimes it makes code less readable.
* contrib/gtwvg/wvgcuig.c
* contrib/gtwvg/wvgwin.c
* contrib/gtwvg/wvgutils.c
* contrib/gtwvg/wvgcore.c
* contrib/gtwvg/wvgwing.c
! Fixed formatting using uncrustify.
* contrib/gtwvg/wvggui.c
* Minor modification to make it not break when autoformatted.
* contrib/hbmisc/dates2.c
* contrib/hbtip/encurlc.c
* contrib/hbwin/win_prn2.c
% Optimized out HB_ISLOG() calls.
* harbour/include/hbcomp.h
* do not inherit in macrocompiler -z compile time switch when -kc is
also used
* harbour/src/common/expropt2.c
* disable logical expression optimization (reduction) in macrocompiler
when -kc compile time switch is used.
* harbour/config/beos/gcc.mk
* harbour/config/qnx/gcc.mk
* harbour/config/bsd/gcc.mk
* harbour/config/wce/mingwarm.mk
* harbour/config/vxworks/gcc.mk
* harbour/config/hpux/gcc.mk
* harbour/config/darwin/gcc.mk
* harbour/config/dos/djgpp.mk
* harbour/config/win/mingw.mk
* harbour/config/linux/gcc.mk
* harbour/config/cygwin/gcc.mk
* harbour/config/symbian/gcc.mk
* harbour/config/os2/gcc.mk
* harbour/config/sunos/gcc.mk
* harbour/utils/hbmk2/hbmk2.prg
* enable some important warnings in GCC builds using -W<name>... instead
of -Wall and -Wno-<name>... for warning level set to low.
It should help in backward compatibility with some older GCC versions.
* harbour/config/beos/gcc.mk
* harbour/config/qnx/gcc.mk
* harbour/config/bsd/gcc.mk
* harbour/config/wce/mingwarm.mk
* harbour/config/vxworks/gcc.mk
* harbour/config/hpux/gcc.mk
* harbour/config/darwin/gcc.mk
* harbour/config/dos/djgpp.mk
* harbour/config/win/mingw.mk
* harbour/config/linux/gcc.mk
* harbour/config/cygwin/gcc.mk
* harbour/config/symbian/gcc.mk
* harbour/config/os2/gcc.mk
* harbour/config/sunos/gcc.mk
* use -Wall -Wno-unused -Wno-pointer-sign -Wno-uninitialized
-Wno-switch -Wno-strict-overflow -Wno-main
instead of -W when warnings are not enabled with GCC based compilers.
Using only -W only is rather useless because this switch enables
warnings which can be usually ignored in 3-rd party code.
This modification should help in locating bugs introduced by us
to 3-rd party code, i.e. due to wrong header files used on some
platforms (we do not use autoconf assuming some default settings
what can be wrong in some cases). It should also not hide some
important/critical bugs in 3-rd party code.
This modification pacifies some common warnings which can be
ignored usually but it also enables some more important ones.
If it's necessary then we can tune it a little bit more and disable
some other warnings too.
It's possible that on some platforms using very old GCC versions
some of -W* switches are not supported - please make tests and
inform us about problems.
* harbour/utils/hbmk2/hbmk2.prg
* use -Wall -Wno-unused -Wno-pointer-sign -Wno-uninitialized
-Wno-switch -Wno-strict-overflow -Wno-main
instead of -W when warning level is set to low with GCC based
compilers
* harbour/src/rtl/cdpapi.c
* removed dummy assignment
* harbour/src/lang/msgpl852.c
* harbour/src/lang/msgplmaz.c
* harbour/src/lang/msgpliso.c
* harbour/src/lang/msgplwin.c
! fixed one message translation
* harbour/config/dos/watcom.mk
* harbour/config/win/watcom.mk
* harbour/config/linux/watcom.mk
* harbour/config/os2/watcom.mk
* disable explicitly some Open Watcom warnings in 3rd party code
which we can safely ignore when HB_BUILD_WARN='no'
* harbour/utils/hbmk2/hbmk2.prg
* disable explicitly some Open Watcom warnings in 3rd party code
which we can safely ignore when warning level is low