* source/rtl/fstemp.c
! Fixed regression in hb_fsCreateTemp() after 2009-08-07 11:55 UTC+0200
where temp files couldn't be opened, instead a lot of temp filenames
were created.
* harbour/contrib/hbtpathy/telepath.prg
! fixed tp_inkey() to not freeze when called without parameter
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rdd/dbfnsx/dbfnsx1.c
* added OS/FS error codes to RTEs generated during indexing
* replaced few numeric error codes with EDBF_* macros
* config/bsd/gcc.cf
* config/wce/msvcarm.cf
* config/wce/mingwarm.cf
* config/wce/poccarm.cf
* config/hpux/gcc.cf
* config/darwin/gcc.cf
* config/dos/watcom.cf
* config/dos/djgpp.cf
* config/win/watcom.cf
* config/win/icc.cf
* config/win/cygwin.cf
* config/win/msvc.cf
* config/win/xcc.cf
* config/win/mingw.cf
* config/win/pocc.cf
* config/win/bcc.cf
* config/linux/watcom.cf
* config/linux/gcc.cf
* config/linux/icc.cf
* config/linux/sunpro.cf
* config/os2/watcom.cf
* config/os2/gcc.cf
* config/sunos/gcc.cf
* config/sunos/sunpro.cf
% CFLAGS and CPPFLAGS initialized using := operator.
! Fixed not initializing CFLAGS/CPPFLAGS at all for some compilers.
This may cause spilling of unwanted switches into our make system.
(watcom.cf)
* Few remaining indentations left from previous round (sunpro.cf).
* Some other minor cleanups along the way (xcc.cf).
* config/bsd/gcc.cf
% Started using := for CFLAGS/CPPFLAGS.
* config/darwin/gcc.cf
* Minor cleanups. Sync with bsd/gcc.cf, using vars with std names,
deleted unused lines.
* config/dos/watcom.cf
* config/win/watcom.cf
* config/linux/watcom.cf
* config/os2/watcom.cf
! Using $(HB_INC_COMPILE) instead of $(TOP)$(ROOT)include
like every other compilers.
* config/bsd/gcc.cf
* config/wce/msvcarm.cf
* config/wce/mingwarm.cf
* config/wce/poccarm.cf
* config/darwin/gcc.cf
* config/hpux/gcc.cf
* config/dos/watcom.cf
* config/dos/djgpp.cf
* config/win/watcom.cf
* config/win/icc.cf
* config/win/cygwin.cf
* config/win/msvc.cf
* config/win/xcc.cf
* config/win/mingw.cf
* config/win/pocc.cf
* config/win/bcc.cf
* config/linux/watcom.cf
* config/linux/gcc.cf
* config/linux/icc.cf
* config/linux/sunpro.cf
* config/instsh.cf
* config/dirsh.cf
* config/os2/watcom.cf
* config/os2/gcc.cf
* config/sunos/gcc.cf
* config/sunos/sunpro.cf
% Removed spaces before $(foreach) parameters. A space is
automatically added by GNU Make, so it's not needed. May
save a little bytes here and there and command look more
tidy (source looks a little bit clumsier though).
* config/bin.cf
* Minor formatting to liblist template.
* config/bsd/gcc.cf
* config/darwin/gcc.cf
* config/hpux/gcc.cf
* config/linux/gcc.cf
* config/linux/icc.cf
* config/linux/sunpro.cf
* config/sunos/gcc.cf
* config/sunos/sunpro.cf
% Using LIBS var to check for libs rather than HB_GT_LIBS.
* config/bin.cf
+ Harbour binary core liblists are now formed centrally.
Four variations are generated:
HB_LIBS_ST_RDD
HB_LIBS_MT_RDD
HB_LIBS_ST_NORDD
HB_LIBS_MT_NORDD
Binaries can choose by using: 'LIBS = $(HB_LIBS_*)'.
Important to use '='.
This step also fixes potential problems with former liblists,
where it was easy to make a local mistakes and some libs which
needed more complicated logic, or which were just rarely used
simply weren't added. Now all liblists are guaranteed to have
proper order and content.
HB_GT_LIBS and HB_DB_DRIVERS are automatically added centrally,
so no need to add them manually in each compiler specific .cf.
* tests/Makefile
* tests/hbpptest/Makefile
* tests/multifnc/Makefile
* utils/hbformat/Makefile
* utils/hbmk2/Makefile
* utils/hbtest/Makefile
* utils/hbi18n/Makefile
* utils/hbrun/Makefile
% Using above HB_LIBS_* macros.
; The only few places which I didn't thouch is non-Harbour
executables (harbour exe and hbpp exe).
* config/bsd/gcc.cf
* config/wce/msvcarm.cf
* config/wce/mingwarm.cf
* config/wce/poccarm.cf
* config/hpux/gcc.cf
* config/darwin/gcc.cf
* config/dos/watcom.cf
* config/dos/djgpp.cf
* config/win/watcom.cf
* config/win/icc.cf
* config/win/cygwin.cf
* config/win/msvc.cf
* config/win/xcc.cf
* config/win/mingw.cf
* config/win/pocc.cf
* config/win/bcc.cf
* config/linux/watcom.cf
* config/linux/gcc.cf
* config/linux/icc.cf
* config/linux/sunpro.cf
* config/os2/watcom.cf
* config/os2/gcc.cf
* config/sunos/gcc.cf
* config/sunos/sunpro.cf
% Deleted local logic to merge HB_GT_LIBS and HB_DB_DRIVERS
into LIBS.
* utils/hbmk2/hbmk2.hbp
* utils/hbrun/hbrun.hbp
! Extra libspecs are still needed for some compilers.
I've readded them until better solution is found.
* config/wce/mingwarm.cf
* config/win/xcc.cf
* config/win/mingw.cf
* config/win/pocc.cf
% Deleted system libs not needed for core Harbour.
* config/wce/mingwarm.cf
* config/win/mingw.cf
% Using := instead of = in one place.
* utils/hbmk2/hbmk2.prg
+ Reorganized core Harbour lib handling. The goal is to
allow linkers to resolve references by themselves, either
by clever ordering and adding libs multiple times if needed.
I took the methods used in Makefiles as guiding line.
% Removed -Wl,--start-group / -Wl,--end-group lib grouping.
It doesn't seem to be necessary anymore.
! Fixed "hbrtl" lib reference with some targets in -xhb mode.
; NOTE: Please test, I didn't test all possible combinations
only mingw and recent Harbour. (no xhb, no hb10x)
; NOTE: Regressions are possible regarding lib selection or
ordering and also GT selection.
; TODO: If this works out okay, we can delete similar grouping
options from .cf files. At the same time, core liblists
could be moved to central place to ease maintenance
and guarantee correctness.
* utils/hbmk2/hbmk2.hbp
* utils/hbrun/hbrun.hbp
- Deleted extra core lib specifications to make it link
in shared mode. Doesn't seem to be necessary anymore
after above hbmk2 change.
* contrib/hbtpathy/telepath.prg
! Fixed forming default COM port names on Windows NT
systems. (I didn't test Win9x, but I assume they work
like DOS regarding this aspect).
* contrib/hbxbp/Makefile
* contrib/gtwvg/Makefile
! Using HB_INC_DEPEND instead of modifying HB_USER_PRGFLAGS
and HB_USER_CFLAGS. Old solution wasn't good because the
new include dirs were added after central ones, so central
ones effectively masked them and wrong headers could be
picked through the build.
* config/rules.cf
+ Added HB_INC_DEPEND variable to store dirs which should
be included before central include dir.
* config/global.cf
* Small change in predefined HB_BUILD_NAMEs. Unicode 'u'
marker moved to end, C++ marked changed to 'p' (from 'x').
* contrib/rddado/rddado.hbc
* contrib/gtwvg/gtwvg.hbc
* Slash sync with other .hbc files. (forward slash is used)
* config/dos/watcom.cf
% Minor opt in operator.
* config/globsh.cf
% Deleted hack with unknown purpose when forming $(MK) variable:
'$(subst \~,~,$(MAKE))' -> $(MAKE)
Please shout if you know the purpose, all I could find out
is that it was added in this change:
Fri Jun 11 17:11:09 1999 Gonzalo A. Diethelm
but there is no specific description of this change, besides
making MAKE work on non-bash systems.
- bin/hbmk.bat
- Deleted. Probably no one uses it.
* contrib/hbtip/sendmail.prg
+ Added pop3s support for lPopAuth option.
* contrib/hbtip/client.prg
% TIPCLIENT() now uses INIT instead of manual initialization of
class vars.
* TIPCLIENT():NEW(): Protocol check made more robust.
* source/vm/dynlibhb.c
+ Enabled HB_HAS_DLFCN on darwin. Support is there, tested on
latest 10.5 Leopard.
* config/global.cf
* Minor.
* config/linux/sunpro.cf
* config/sunos/sunpro.cf
+ Using 'suncc|sunCC' compiler executables. This makes HB_CCPATH
unnecessary. Thanks Przemek.
* harbour/include/hbatomic.h
% added architecture independent support for atomic operations and
spinlocks in all SunOS builds
* harbour/source/vm/dynlibhb.c
! reenabled dlopen interface for Sun C compilers
* enabled dlopen interface for SunOS builds
* make_gnu_os2.cmd
* make_gnu.bat
* make_gnu.sh
* config/global.cf
+ Moved emptying of CLIPPER/HARBOUR envvars to GNU Make level.
+ Emptying CLIPPERCMD/HARBOURCMD envvars before calling Harbour compiler.
* make_gnu_os2.cmd
% Deleted defaulting of HB_ARCHITECTURE and HB_COMPILER. Now
done on GNU Make level. Untested.
* config/readme.txt
- Deleted info on OS/2 make.
* config/global.cf
* config/lib.cf
* config/bin.cf
* config/test.cf
! Inclusion of compiler specific rules now happens from [lib|bin|test].cf.
This way it plays well with scenarios where global.cf is directly
included in Makefiles. It should also be slightly more efficient.
* config/globsh.cf
* config/bsd/gcc.cf
* config/wce/msvcarm.cf
* config/wce/mingwarm.cf
* config/wce/poccarm.cf
* config/darwin/gcc.cf
* config/hpux/gcc.cf
* config/dos/djgpp.cf
* config/win/cygwin.cf
* config/win/mingw.cf
* config/linux/gcc.cf
* config/linux/icc.cf
* config/linux/sunpro.cf
* config/os2/gcc.cf
* config/sunos/gcc.cf
* config/sunos/sunpro.cf
% Using ':=' instead of '=' where possible.
(incomplete. pass two)
The rest is really the core and need deeper examination
of ordering and variable dependency. There is probably more
room for improvement.
* contrib/hbqt/hbqt.ch
+ Added more constants.
* contrib/hbxbp/xbpbrowse.prg
! Column display protocol tweaked to provide a descent view.
+ Implemented ::sizeCols() instance variable of XbpBrowse() object.
This provides for switching off the resizing behavior of the columns.
* contrib/hbxbp/tests/demoxbp.prg
! Demonstrated the above facts.
2009-08-10 02:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbtip/sessid.prg
* contrib/hbtip/cgi.prg
* contrib/hbtip/encoder.prg
* contrib/hbtip/mail.prg
* contrib/hbtip/sendmail.prg
* contrib/hbtip/httpcli.prg
* contrib/hbtip/smtpcli.prg
* contrib/hbtip/client.prg
* contrib/hbtip/ftpcli.prg
* contrib/hbtip/popcli.prg
+ Added TIP_SSL() function to return whether SSL functionality is available
or not.
% Deleted unnecessary tip.ch header inclusions.
+ Added TIPCLIENT():INETTIMEOUT() method to set / refresh timeout.
% Direct hb_inetTimeout() calls either optimized out (after ::super:open()),
or replaced by ::hb_inetTimeout() calls.
! Fixed to also accept pop3s where pops is accepted.
+ TIPCLIENTPOP() will set default port to 995 in pop3s mode.
+ TIPCLIENTSMTP() will set default port to 465 in smtps mode.
+ TIPCLIENTHTTP() will set default port to 443 in https mode.
+ Some steps towards SMTP STARTTLS authentication.
! Uncommented setting "Content-Length" in TIPMAIL:SETBODY().
gmail rejects attachment without it. It's also needed for internal
consistency as TIPMAIL:NEW() sets this data.
! HB_SENDMAIL() fixed to use HB_MEMOREAD() to read attachment.
! HB_SENDMAIL() fixed to load the attachment if it was passed
as a content/name pair array. Handling all combinations now.
* HB_SENDMAIL() changed to not exit on the first invalid attachment
specification, but simply ignore these. Feels more natural that way,
but the old behaviour can be restored if there was a reason for it
which overlooked.
* Formatting.
; TOFIX: hbtip currently has two different facilities to find out the
MIME type of a given extension: TIP_FILEMIMETYPE() and
HB_SETMIMETYPE(). First one also looks into the content while
the second one has a much more extensive extension based
detection. There is also a 3rd and separate function which
aims to detect whether a type is binary or text. This isn't
very efficient this way, unless there is some reasoning
behing current logic.
* contrib/hbtip/log.prg
! Fixed to reset internal file handle to empty value on close.
* contrib/hbssl/sslctx.c
! Added !OPENSSL_NO_STDIO guard for functions where it applies().
+ Added SSL_CTX_LOAD_VERIFY_LOCATIONS().
* config/global.cf
! Deleted two debug lines from prev commit.
* contrib/hbtip/sessid.prg
* contrib/hbtip/cgi.prg
* contrib/hbtip/encoder.prg
* contrib/hbtip/mail.prg
* contrib/hbtip/sendmail.prg
* contrib/hbtip/httpcli.prg
* contrib/hbtip/smtpcli.prg
* contrib/hbtip/client.prg
* contrib/hbtip/ftpcli.prg
* contrib/hbtip/popcli.prg
+ Added TIP_SSL() function to return whether SSL functionality is available
or not.
% Deleted unnecessary tip.ch header inclusions.
+ Added TIPCLIENT():INETTIMEOUT() method to set / refresh timeout.
% Direct hb_inetTimeout() calls either optimized out (after ::super:open()),
or replaced by ::hb_inetTimeout() calls.
! Fixed to also accept pop3s where pops is accepted.
+ TIPCLIENTPOP() will set default port to 995 in pop3s mode.
+ TIPCLIENTSMTP() will set default port to 465 in smtps mode.
+ TIPCLIENTHTTP() will set default port to 443 in https mode.
+ Some steps towards SMTP STARTTLS authentication.
! Uncommented setting "Content-Length" in TIPMAIL:SETBODY().
gmail rejects attachment without it. It's also needed for internal
consistency as TIPMAIL:NEW() sets this data.
! HB_SENDMAIL() fixed to use HB_MEMOREAD() to read attachment.
! HB_SENDMAIL() fixed to load the attachment if it was passed
as a content/name pair array. Handling all combinations now.
* HB_SENDMAIL() changed to not exit on the first invalid attachment
specification, but simply ignore these. Feels more natural that way,
but the old behaviour can be restored if there was a reason for it
which overlooked.
* Formatting.
; TOFIX: hbtip currently has two different facilities to find out the
MIME type of a given extension: TIP_FILEMIMETYPE() and
HB_SETMIMETYPE(). First one also looks into the content while
the second one has a much more extensive extension based
detection. There is also a 3rd and separate function which
aims to detect whether a type is binary or text. This isn't
very efficient this way, unless there is some reasoning
behing current logic.
* contrib/hbtip/log.prg
! Fixed to reset internal file handle to empty value on close.
* contrib/hbssl/sslctx.c
! Added !OPENSSL_NO_STDIO guard for functions where it applies().
+ Added SSL_CTX_LOAD_VERIFY_LOCATIONS().
* config/global.cf
! Deleted two debug lines from prev commit.
* contrib/hbqt/hbqt_slots.cpp
* contrib/hbxbp/xbpbrowse.prg
+ Implemented XbpColumn():type == XBPCOL_TYPE_ICONFILE.
Now any image can be viewed as an icon in a column object of XbpBrowse()
* contrib/hbxbp/tests/demoxbp.prg
! Updated to demonstrate XbpColumn():type == XBPCOL_TYPE_ICONFILE functionality.
* config/global.cf
! Fixed 'sh' HB_SHELL detection. Problem experienced with
Cygwin GNU Make, where SHLVL isn't defined on the first
level. Now also checking for SHELL=/bin/sh to detect sh
shell.
* tests/multifnc/Makefile
* external/sqlite3/Makefile
* external/libhpdf/Makefile
* external/libpng/Makefile
* contrib/gtalleg/Makefile
* contrib/hbodbc/Makefile
* contrib/hbtpathy/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbblat/Makefile
* contrib/hbqt/Makefile
* contrib/hbfbird/Makefile
* contrib/hbxbp/Makefile
* contrib/hbcurl/Makefile
* contrib/gtqtc/Makefile
* contrib/rddsql/sddfb/Makefile
* contrib/rddsql/sddodbc/Makefile
* contrib/rddado/Makefile
* contrib/gtwvg/Makefile
* contrib/rddads/Makefile
* contrib/hbfimage/Makefile
* contrib/hbtip/Makefile
* contrib/hbwin/Makefile
* contrib/hbssl/Makefile
* source/vm/Makefile
* source/vm/vmmt/Makefile
* source/rtl/gtdos/Makefile
* source/rtl/gtwin/Makefile
* source/rtl/gtxwc/Makefile
* source/rtl/gtcrs/Makefile
* source/rtl/gttrm/Makefile
* source/rtl/Makefile
* source/rtl/gtos2/Makefile
* source/rtl/gtsln/Makefile
* source/rtl/gtgui/Makefile
* source/rtl/gtwvt/Makefile
* source/rdd/Makefile
* source/rdd/dbffpt/Makefile
! Including 'global.cf' directly to make HB_ARCHITECTURE/HB_COMPILER/HB_COMMERCE
variables work in case we're relying on autodetection.
; TODO: May need to do this for a few other cases where detection is relying
on some additional variables. Like HB_XBUILD, which needs to be
cleaned further, maybe autodetection added.
; NOTE: Above changes mean that from now on for basic build usage it's
enough to have the compiler in PATH and to issue a simple 'make'
or 'mingw32-make' (or whatever GNU Make is called in that environment),
and make process should just work. IOW, no need to go through
"starter" scripts in root (make_gnu.*).
* Makefile
* tests/Makefile
* contrib/hbmisc/Makefile
* contrib/hbwin/Makefile
* utils/Makefile
% Started converting '=' operators to ':=' where applicable.
; TODO: Rest of Makefiles.
* contrib/hbwin/Makefile
! Including 'global.cf' directly to make HB_ARCHITECTURE/HB_COMPILER
variables work in case we're relying on autodetection.
; TOFIX: Rest of Makefiles.
* config/global.cf
+ Added self-inclusion check to allow adding this .cf file
directly to Makefiles in order to force platform detection
for cases where this information is needed for local decisions.
* config/dos/global.cf
- Deleted 'ifndef MK' construct. Purpose unknown, and not
found similar for other platforms.
* config/global.cf
* config/globsh.cf
+ Added my copyright.
* contrib/hbtpathy/tpwin.c
* contrib/hbtpathy/tpos2.c
% Deleted unnecessary headers.
* contrib/hbxbp/xbpbrowse.prg
! Few more tweaks.
* contrib/hbxbp/xbptreeview.prg
- Commented out experimental CSS implementation.
+ Made public Harbour extention ::setStyleSheet( cStyleSheet ) method.
Now it is possible to fine tune widget's appearnce the way user
can imagine. The supplied style sheet will be applied on top of
existing one.
% TODO: extend ::setStyleSheet() functionality the easiest way.
* contrib/hbxbp/tests/demoxbp.prg
! Demonstrated the use of ::setStyleSheet() with XbpTreeView() class.
Play with the <Tree> tab.