* contrib/hbssl/Makefile
+ contrib/hbssl/sslerr.c
+ contrib/hbssl/sslx509.c
* contrib/hbssl/ssl.c
* contrib/hbssl/sslctx.c
* contrib/hbssl/hbssl.ch
* contrib/hbssl/tests/test.prg
+ Added ERR_*() API functions.
+ Prefixed .ch contant names with HB_ to avoid collision with
ssl own headers.
+ Added SSL_CTX_SET_MODE(), SSL_CTX_GET_MODE() functions.
+ Added HB_SSL_READ_ALL(), HB_SSL_READ_LINE() functions meaning
to mimic HB_INETRECVALL() and HB_INETRECVLINE(). (probably needs
more work, it'd be great if someone who understands the guts of
these inet functions could take a look)
* SSL_PEEK() synced with SSL_READ() recent changes.
+ Added SSL_SET_MODE(), SSL_GET_MODE(), SSL_SET_MTU() functions.
+ Added SSL_GET_RBIO(), SSL_GET_WBIO() functions.
+ Added SSL_GET_PEER_CERTIFICATE() function.
+ Added X509_GET_SUBJECT_NAME(), X509_GET_ISSUER_NAME(), X509_NAME_ONELINE()
+ Added HB_SSL_MODE_* constants.
* include/hbextern.ch
* Changed to use new hbextlng.ch.
- examples/hbextern/hbextern.lst
! It wasn't deleted in 2009-07-18 21:37 UTC+0600 for some reason.
* source/rtl/console.c
! Fixed OUTSTD() and OUTERR() to output separator space
to std/err instead of alt.
* source/rtl/hbinet.c
% Minor optimization.
- examples/hbextern/hbextern.lst
* examples/hbextern/hbextern.prg
; hbextern.ch_, hbextcdp.ch_, and hbextlng.ch_ will have the copyright
comment from the existing include file; contrib output will not
* minor optimizations
- removed use of hbextern.lst
+ auto-generated .ch_ files for contrib folders
; these will have same name as contrib folder
; generic copyright message using doc/hdr_tpl.txt as template
; the include folder has some files matching the contrib
folder names but with non-extern content; these files
must be merged by hand, or a #include statement used
* config/global.cf
+ Enabled base directory for all intermediate build files
(objects, Harbour generated .c files, etc).
Now they will be put under 'obj' dir inside each source
directory.
After this huge task, it's now possible to filter out
all these intermediate files from grep, hbextern commands.
For me this means I can do without a parallel virgin
repository kept for grep usage.
* examples/hbextern/hbextern.prg
* Filtering obj dirs instead of all platforms specifically.
* config/c.cf
! Fixed to use $(GRANDP) instead of hard-wired ../../ dir.
Please verify me.
; Przemek, you can now go on, the only remaining larger thing
is moving install dir creation to GNU Make level.
* source/rtl/gtwin/gtwin.c
* Minor formatting.
* source/rtl/gtapi.c
% hb_gtSetCursor(): Deleted parameter evaluation.
It's better to do it only on low-level.
* config/win/bcc.cf
% Line deleted.
* utils/hbmk2/hbmk2.prg
+ -nohblib now supported in scripts.
+ -nohblib- option added.
* examples/pp/pp.hbp
* Comment deleted.
* contrib/rddads/adsfunc.c
% Minor optimizations.
* Using sizeof() instead of repeating buffer sizes.
* Formatting.
- Deleted no more relevant comment.
* examples/terminal/trm_cli.prg
* examples/terminal/terminal.prg
! Fixes to prev change.
* source/common/hbver.c
% Deleted unnecessary casts.
* examples/hbmsql/msql.c
* Fixed const warnings.
* examples/hbmake/hbmake.hbp
- examples/hbmake/hbmakec.c
* examples/hbmake/hbmake.prg
* Using portable HB_USERLANG() instead of local Windows-only solution.
- examples/hboleold
- Deleted. It's no longer easy to fix with new const usage.
- examples/hbgf
- Deleted. We have much better GUI examples these days then these
very early ones.
* examples/httpsrv/uhttpdc.c
* Minor formatting.
* examples/terminal/trm_cli.prg
* examples/terminal/trm_cli.hbp
* examples/terminal/terminal.prg
* examples/terminal/trm_srv.prg
* examples/terminal/trm_srv.hbp
* examples/terminal/terminal.hbc
* examples/terminal/trm_app.prg
* examples/terminal/trm_app.hbp
+ Changed to use portable solutions instead of GTWVG/Windows facilites.
This means that these programs should now build and run on
all OSes with MT support and they will work with any full screen
GTs. I didn't test yet on other platforms and stopping the server
is a bit messy yet due to the newly added threads.
* contrib/hbct/ctwin.c
! Silenced MSVC warning.
* contrib/xhb/freadlin.c
* examples/hbdoc/hbdfrdln.c
* examples/hbmake/hbmakec.c
* BYTE -> char
% Some casts optimized out.
; NOTE: Please review me, this is quite popular function and
I don't want to mess it up.
* contrib/hbmisc/Makefile
+ contrib/hbmisc/fcomma.prg
- source/rdd/usrrdd/rdds/fcomma.prg
* source/rdd/usrrdd/rdds/Makefile
* fcomma.prg moved to hbmisc, since it depends on
hbmisc features.
* examples/hbextern/hbextern.prg
- Removed special treatment of fcomma.prg.
* include/hbcomp.h
* include/hbcompdf.h
* include/hbapifs.h
* include/hbexprop.h
* include/hbmacro.h
* include/hbapi.h
* include/hbapiitm.h
* include/hbdate.h
* source/pp/ppcore.c
* source/vm/itemapi.c
* source/vm/arrays.c
* source/vm/extend.c
* source/common/expropt1.c
* source/rtl/philes.c
* source/rtl/empty.c
* source/rtl/minmax.c
* source/rtl/dates.c
* source/rtl/filesys.c
* source/rdd/dbfnsx/dbfnsx1.c
* source/rdd/dbfcdx/dbfcdx1.c
* source/rdd/dbf1.c
* source/rdd/dbffpt/dbffpt1.c
* source/rdd/hbsix/sxdate.c
* source/compiler/hbmain.c
* source/compiler/complex.c
* source/compiler/harbour.yyc
* source/compiler/harbour.y
* contrib/hbct/files.c
* contrib/hbct/dattime2.c
* contrib/hbct/datetime.c
* contrib/xhb/filestat.c
* contrib/hbtip/utils.c
* examples/hboleold/win_ole.c
* LONG -> long for date/time related values
(julian, date, type, millisec)
; This is an effort to clean Harbour sources from
Windows/legacy-Clipper basic types and replace
them with own or ANSI C ones.
In the above case, usage wasn't consistent,
LONG and long were mixed.
* source/main/harbour.c
* source/vm/fm.c
* LONG -> long for some stat counters.
* contrib/gtqtc/gtqtc.cpp
- Deleted commented Windows specific parts.
* contrib/hbtip/utils.c
* UINT -> unsigned int
* examples/hbmsql/msql.ch
* Minor in comment.
* examples/hbextern/hbextern.prg
* Excluding all HB_ARCHITECTURE dirs explicitly.
(this resolves the recursion problem)
* Excluding fcomma.prg explicitly.
- Deleted 'example' from exclusion list.
- source/rdd/usrrdd/example
+ tests/usrrdd
* Moved examples under test dir.
* contrib/Makefile
* Moved hbxbp to the end of list as a workaround for potentially
outdated hbqt.ch reference, if it's before hbqt build.
Still not prefect though. We should probably fix the ordering
of -I option in build process, but it doesn't seem trivial.
Or avoid installing headers into central include dir, but that
also leads far.
* utils/hbmk2/hbmk2.prg
* Minor step to fix a recent regression.
* source/rtl/hbzlibgz.c
* HB_GZDIRECT() is now always defined in core, if it's built against
older zlib version, it will simply do nothing.
We can discuss how to handle this situation, all have pros and cons:
1) Always define: Throw RTE at runtime.
2) Always define: Return error at runtime.
3) Don't define if low-level wrapper isn't present. Makes it
easy to catch missing dependencies on .prg level, but it
break Harbour to provide a consistent higher level API.
* examples/hbextern/hbextern.prg
! Minor fix in generated comment.
* examples/hbextern/hbextern.hbp
+ -w2 -> -w3
* ChangeLog
! Wrong header in previous entry.
* contrib/hbqt/hbqt_qimage.cpp
* contrib/hbqt/hbqt_qtextdocument.cpp
* contrib/hbqt/hbqt_qapplication.cpp
* contrib/hbqt/hbqt_qtextcursor.cpp
* contrib/hbqt/hbqt_qclipboard.cpp
* contrib/hbqt/hbqt_qurl.cpp
* contrib/hbqt/hbqt_qwebhistoryitem.cpp
* contrib/hbqt/hbqt_qvariant.cpp
* contrib/hbqt/hbqt_qfont.cpp
* contrib/hbqt/hbqt_qimagereader.cpp
* contrib/hbqt/hbqt_qcursor.cpp
* contrib/hbqt/hbqt_qfontdatabase.cpp
* contrib/hbqt/hbqt_qcoreapplication.cpp
* contrib/hbqt/hbqt_qobject.cpp
* contrib/hbqt/hbqt_qtextframe.cpp
* contrib/hbqt/hbqt_qabstractitemmodel.cpp
* Minor EOF change after regerenating them with hbqtgen.
(probably it would be better to generate only one EOLs at
EOF by hbqtgen)
* examples/hbextern/hbextern.hbp
* build flags
* examples/hbextern/hbextern.prg
* significant updates
; default params works mostly like original version
; TOFIX: produces this 'bad' code (harbour reports "hbextern.ch_(1019) Error E0025 Error in #if expression"
#if ZLIB_VERNUM >= 0x1230
EXTERNAL HB_GZDIRECT
#endif /* #if ZLIB_VERNUM >= 0x1230 */
% Question: do I upload a new hbextern.ch or can/should a user with more experience with it do so?
* INSTALL
* make_gnu.bat
+ Added support for Cygwin builds (passes call to make_gnu.sh).
+ Added Cygwin build starter example.
+ Cygwin mentioned as a requirement for mingwarm builds,
also added to PATH.
! Fixed cygwin autodetection.
! Fixed wrong PATH order in 'MinGW GCC + MSYS' example.
* Merged mingw+msys and cygwin bash based build methods,
and titled as "alternate" method.
Now all supported compilers work by starting up make_gnu.bat.
* utils/hbmk2/hbmk2.prg
! Change compiler autodetection to work for cygwin.
* mpkg_dos.bat
* mpkg_win.bat
* make_gnu.bat
! Fixed build process to work in paths containing spaces.
I didn't test the batch in pure DOS, so I may have broken it.
* config/win/install.cf
* config/wce/install.cf
! Fixed 'install' to work when there is a space in install path.
* make_gnu.bat
* INSTALL
+ Added support for HB_BUILD_LOG envvar. If set to 'yes',
it will automatically set log output filename to:
'log-<arch>-<comp>.txt'
if set to 'no' it will no make any extra redirection,
if set to any other value, it will be used for output
(both std and err). The batch will set HB_BUILD_LOGFILE
to the filename used for output for processing.
This feature requires Windows NT or upper host.
I didn't enable this feature yet by default to not break
existing user setups, but maybe I'll do it before the
final release.
* Modified text shown (+ beep thrown) when build failed.
* Messages now all start with 'Harbour'.
* Do not do the second build pass if the first one failed.
* contrib/hbwin/legacy.prg
! Fixed CreateObject() not working due to typo.
Thanks to Itamar Lins for the report.
* mpkg_dos.bat
* mpkg_win.bat
* mpkg_win.nsi
+ Enabled HB_BUILD_LOG=yes.
* Silenced copy, zip, makensis commands.
+ Added message about failed build process.
* Changed to use 'copy' instead of 'xcopy'
* Changed internals so now they don't require HB_COMPILER
and HB_ARCHITECTURE to be set. This means that now
we can rely on autodetection even for mpkg_*.bat files.
Creating an installer is very easy now for most cases.
Just type:
mpkg_gnu.bat
* source/vm/set.c
+ Added file commit support to __MVSAVE(), if Set( _SET_HARDCOMMIT )
is set to .T.. This is the default which means by default we aren't
CA-Cl*pper compatible. Addition protected by HB_C52_STRICT.
* source/rdd/dbf1.c
! Minor typo in comment.
* doc/en-EN/hb_apiit.txt
* include/hbapi.h
* include/hbapiitm.h
* source/vm/itemapi.c
* source/vm/extend.c
* source/rtl/gtwvt/gtwvt.c
* source/rdd/dbf1.c
* contrib/gtqtc/gtqtc.cpp
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvggui.c
* contrib/hbwin/olecore.c
* examples/hboleold/win_ole.c
* Finishing long planned function renames to clear up
a very (10 years) old naming inconsistency.
To adapt you code to this, please do changes below:
1) hb_itemPutCPtr() (with three parameters) -> hb_itemPutCLPtr()
2) hb_itemPutCPtr2() -> hb_itemPutCPtr()
Unmodified code will generate compile time errors, so it's easy
to spot where the modifications need to be done. For most users,
only case 1) will need to be dealt with.
; INCOMPATIBLE. Please update your code.
* source/rtl/hbi18n1.c
* source/rdd/dbfnsx/dbfnsx1.c
* hb_itemPutCPtr() (with three parameters) -> hb_itemPutCLPtr()
* contrib/gtwvg/wvggui.c
* contrib/gtqtc/gtqtc.cpp
! Fixed GPF in hb_gtInfo( HB_GTI_SCREENSIZE ) call with wrong
parameter.
- examples/superlib/hbsuper.hbp
+ examples/superlib/superlib.hbc
+ examples/superlib/superlib.dif
- examples/superlib/hbsuper.dif
* examples/superlib/readme.txt
+ examples/superlib/superlib.hbp
* Change make system to have full multiplatform/multicompiler
support. The same all other examples and contribs have.
+ Added one-liner instruction, how to build superlib based
apps using hbmk2.
* examples/hbextern/hbextern.prg
* significant re-implementation
; with no params will work like original version
; processes source files with LF terminators
; params to control: recursion, include 'conditions',
include classes, include class methods/etc
; execute with -? or --help
* source/rtl/getsys.prg
! GETACTIVE() function fixed to work even if an app
manages getlist on its own. In this case GETACTIVE()
will maintain the GET object in its own STATIC variable.
This should fix the SuperLib problem reported by Bruno Luciani.
* examples/superlib/hbsuper.dif
+ Will now automatically enable CLIPPER53 protected code
if Harbour was built with HB_COMPAT_C53 setting. This
enables SuperLib to use C53's build-in mouse functions.
* INSTALL
! Typo in prev.
* contrib/gtwvg/gtwvg.c
* contrib/hbwin/win_prn2.c
! Suppressed two mingw/C++ warnings.
* examples/superlib/hbsuper.hbp
* lib name changed to 'super' (from 'superlib') to match
the lib name of the Cl*pper version.
* examples/superlib/readme.txt
* Minor text correction.
* harbour/include/hbapi.h
* harbour/source/vm/extend.c
* renamed existing hb_par*() and hb_stor*() functions which supports
variable number of parameters (...) into hb_parv*() and hb_storv*()
* added new hb_par*() and hb_stor*() functions which use strict number
of parameters. New hb_par*() functions do not make hidden conversion
between types, f.e. hb_parl() returns 1 only for logical parameters
which contain .T.
* harbour/include/extend.api
* map Clipper _par*() functions to hb_parv*()
* map Clipper _stor*() functions to hb_storv*()
* harbour/source/vm/dynsym.c
* harbour/source/vm/hvm.c
* harbour/source/vm/maindllp.c
* harbour/source/vm/thread.c
* harbour/source/vm/classes.c
* harbour/source/rtl/cdpapi.c
* harbour/source/rtl/mlcfunc.c
* harbour/contrib/hbnf/dispc.c
* harbour/contrib/hbnf/mouse.c
* harbour/contrib/hbnf/getenvrn.c
* harbour/contrib/hbhpdf/harupdf.c
* harbour/contrib/gtwvg/wvgcuig.c
* harbour/contrib/gtwvg/wvgwin.c
* harbour/contrib/gtwvg/wvgutils.c
* harbour/contrib/gtwvg/wvgcore.c
* harbour/contrib/gtwvg/wvgwing.c
* harbour/contrib/rddads/adsfunc.c
* harbour/contrib/rddads/ads1.c
* harbour/contrib/rddads/adsmgmnt.c
* harbour/contrib/hbmisc/hb_f.c
* harbour/contrib/hbwin/wapi_commctrl.c
* replaced hb_par*() and hb_stor*() calls used with additional parameters
by hb_parv*() and hb_storv*()
TODO: update examples/hbwhat/*.c files
* harbour/examples/uhttpd2/socket.c
* harbour/examples/httpsrv/socket.c
* changed hb_parni() to hb_parnidef()
* harbour/source/vm/itemapi.c
* removed some conversion which are not necessary for CA-Cl*pper
compatibility
* harbour/source/macro/macrolex.c
* replaced HB_LEX_IS*() macros by by HB_IS*() ones
* examples/superlib/readme.txt
* examples/dbu/readme.txt
* examples/rl/readme.txt
* Minor typo.
+ Added direct download link to superlib on Phil's site.
I hope Phil doesn't mind. I've also left the link for the
whole page.
* include/hbextern.ch
* source/vm/thread.c
+ Added HB_MUTEXWAITERSCOUNT() to core.
(slightly rewritten using local functions)
- examples/uhttpd2/umutex.c
- No longer needed.