* harbour/source/rtl/fstemp.c
* enabled mkstemps() in *BSD and Darwin builds
* enabled large file support and use mkstemp64() and mkstemps64()
when available - please test with different *nixes
* config/wce/poccarm.cf
* config/win/xcc.cf
* config/win/pocc.cf
* Minor cosmeric change in some LDFLAGS/LD_OUT flags.
* config/win/msvc.cf
* Moved system libs to LDLIBS. (missed in prev round)
* config/darwin/gcc.cf
% Using custom LD_OUT instead of overriding while LD_RULE.
* 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/os2/watcom.cf
* config/os2/gcc.cf
* config/sunos/gcc.cf
* config/sunos/sunpro.cf
* Cleaned LDFLAGS usage:
% Using := instead of =
! Always initialize LDFLAGS to empty to prevent spillage of random values.
* Moved lib specs included in LDFLAGS to LDLIBS.
* Cleaned "DEBUG ALL" addition in watcom compilers.
; GNU Make .cf cleanup is about over. There could probably be done
some additional optimizations, but it's already much cleaner, simpler
and more efficient than it was until a few weeks ago.
Still could be done: CFLAGS vs. CPPFLAGS usage accross compilers.
*_RULE variables, revise redefinition needs, maybe change the central
default, etc.
* ChangeLog
! Typos in prev entry.
* harbour/source/rtl/fstemp.c
* enabled mkstmp() in SunOS builds (is it supported by MacOSX?)
+ added optional support for mkstemps() - it's disabled by default
* harbour/contrib/xhb/hbcompat.ch
! removed some old not longer valid translations
xHarbour developers should copy current hbcompat.ch from
Harbour SVN to xHarbour CVS
* 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.