* 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.
* 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.
* 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?
* 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