* contrib/hbqt/hbqt_slots.cpp
* contrib/hbqt/hbqt_slots.h
* contrib/hbqt/moc_slots.cpp
+ Added "timeout()" signal. I am not sure if it will work.
Please let me know if I am right, otherwise I have to restructure
this mechanism from bottom-up.
* harbour/source/vm/itemapi.c
* cleaned hb_itemPutC*() functions. Now each function which accepts
only pure szText pointer without length can be called with NULL
as szText. Each function which need string length parameter needs
non NULL szText value. I hope it's easy to remember for developers.
% minor code optimizations for above rules
* harbour/source/rtl/filebuf.c
* allow to reuse tables in aliased workarea in RW mode after previous
opening in RO mode
* contrib/hbssl/ssl.c
+ contrib/hbssl/hbssl.c
* contrib/hbssl/Makefile
+ HB_SSL_READ_ALL() and HB_SSL_READ_LINE() rewritten.
(HB_SSL_READ_ALL() isn't fully optimal, and maybe there
are errors, please check.)
+ Added SSL_GET_RFD(), SSL_GET_WFD().
* include/Makefile
+ include/hbapinet.h
* source/rtl/hbinet.c
+ Moved some basic declarations to new API header,
mainly to export hb_select[Read|Write]*() functions.
We will also need such header in the future when
we implement C level socket/networking API. Current
solution is quite messy since the header has to
pull Windows headers which may not be friendly with
all usages/include order.
* source/rtl/hbinet.c
* HB_SOCKET_STRUCT renamed to HB_SOCKET.
+ Added PHB_SOCKET type.
+ Added hb_selectReadFD(), hb_selectWriteFD() which
are similar to hb_selectReadSocket() and
hb_selectWriteSocket() but expect raw FD plus explicit
timeout values.
These function names and solutions are tentative
to solve SSL integration with Harbour, and hopefully
in the future we will have a clean net API, the current
one is very messy.
* source/vm/itemapi.c
! hb_itemPutCPtr(), hb_itemPutCLPtr() fixed to put empty
string to item if szText is NULL and length is non-zero,
instead of trying to free NULL pointer causing internal
error.
* include/hbextlng.ch
* Corrected header to be in sync with CDP and not
to repeat the filename.
* 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
* contrib/hbssl/Makefile
* contrib/hbssl/hbssl.h
* contrib/hbssl/hbssl.ch
* contrib/hbssl/sslctx.c
* contrib/hbssl/ssl.c
+ contrib/hbssl/sslbio.c
* contrib/hbssl/tests/test.prg
! Fixed a few bugs and typos, so now the test works.
+ Added very basic BIO interface.
* harbour/source/macro/macro.y
* harbour/source/macro/macro.yyc
% improved macrocompiler speed by reducing number of memory
allocations for compiled subexpressions
* harbour/source/pp/Makefile
* removed old HB_PP_RULES used for precomputed pptables
* added protection against setting possible actions executed without
HB_ARCHITECTURE and HB_COMPILER
* config/globsh.cf
+ Attempt to fix dos shell clean rules. Please test.
+ Attempt to fix os2 shell clean rules. Obviously blind attempt.
* RDP -> RD for os2 since it cannot remove full paths in OS/2 (AFAIK).
+ Added '@' to all os2 dirbase and clean commands.
* harbour/source/pp/Makefile
! set EXE_FILE - it's workaround to force bin/<arch>/<cmp> directory
creation in current make files and then cleaning it if possible
* harbour/config/rules.cf
* removed old hardcoded clean rules which deleted files not created
by build process
* harbour/config/instsh.cf
* pacified install command echo
* harbour/config/globsh.cf
! fixed new sh clean rules: [ ! -f $(LIB_DIR)/* ] causes syntax
error when more then one file exists in $(LIB_DIR) directory
* source/pp/Makefile
! Fixed to delete hbpp.tds.
* config/globsh.cf
+ Attempt to fix nt shell clean rules. Please test.
! Fixed to create bin dir even when lib targets are being
created. This hack is needed to support existing hack
inside source/pp/Makefile. If there is any possibility
to solve current hbpp lib+bin rules in some cleaner ways
IMO we should do it, but so far I couldn't figure out
how current method works.
* config/globsh.cf
! Minor fix dir creation to rules. (only create bin/lib target
dir when bin/lib target is actually specified)
% Minor cleanup to clean rules.
* make_gnu.sh
! Changed to use gmake on all sunos systems.
* utils/hbmk2/hbmk2.prg
* config/sunos/gcc.cf
! Added space after -o CC option. Required by some sunos systems.
; Thanks for valuable input and testing to Tamas Tevesz.
* config/instsh.cf
* shell/nt rule $(MD) -> $(MDP). (just for clarity)
* config/globsh.cf
* dos shell fixed again. Now I had to delete '.exe' extension
from tools to stay withing cmdline limit (for single file
copy commands)
* make_gnu.sh
* config/global.cf
+ Readded HB_GPM_MOUSE detection to starter script.
; TOFIX: This logic should be moved to GNU Make global.cf.
+ Readded HB_COMMERCE logic but now to global.cf, to
deal with Harbour-wide settings, currently this is only
HB_GPM_MOUSE. lib-specific HB_COMMERCE issues should be
handled in local Makefiles.
* config/global.cf
* Minor formatting.
* TODO added (host CPU detection on non-win platforms).
* config/hpux/gcc.cf
* config/darwin/gcc.cf
* config/global.cf
* config/sunos/gcc.cf
* config/bsd/gcc.cf
- GPM isn't available on these platforms so it's not necessary
to handle it in these make files.
* utils/hbmk2/Makefile
* utils/hbrun/Makefile
! Changed ordering of hbcpl/hbpp/hbcommon libs to this:
hbcplr, hbpp, hbcommon
(from this: hbpp, hbcplr, hbcommon
and this: hbcommon, hbpp, hbcplr)
This syncs it with existing .hbp lib order and hopefully
fixes link problems on sunos/sparc, reported by a user.
Please retest & report results.
* tests/rddtest/make_c53.bat
* Minor formatting.
- tests/run.bat
- tests/run_all.bat
- Deleted. We need some portable concept here, but my guess is
that it's been a very long time since anyonw tried to run all
test program in a row.
* harbour/source/rtl/gtcrs/Makefile
* test for HB_COMPILER=djgpp instead of HB_ARCHITECTURE=dos to
activate trick used to detect PDCURSES in DJGPP builds when
* config/globsh.cf
+ Reworked 'clean' rules. Now whole bin/obj/lib dirs should
disappear with any .tds files in them.
OS/2 shell is the only black sheep here, I've updated it,
but since I cannot try it, it may not work.
% Deleted MV variable. Not used in Harbour.
+ Added MDP variable for nt.
* bin/postinst.bat
! Fixed for MS-DOS. Again.
Here ChangeLog again causes some problems.
* config/globsh.cf
% Removed some redundancy regarding tool path forming.
+ config/dj-mkdir.exe
+ config/dj-cp.exe
+ config/dj-rm.exe
* config/instsh.cf
* config/globsh.cf
+ Solved the MS-DOS dir creation and neverending copy problem by
uploading MS-DOS versions of well working GNU tools. Also added
'rm' tool to facilitate 'clean'.
Maybe this is the ultimate solution for all these build difficulties,
we could do the same for win and OS/2, for OS/2 it's probably safe
to do as the platform isn't evolving anymore.
(placement and naming of these tools may change in future commits)
+ Added DJGPP 2.04 GNU Tools.
* Changed dos shell rules to use DOS GNU Tools.
% Deleted dos/watcom specific COMSPEC shell hack (and with it
the QUESTION).
* make_gnu.bat
- config/djg-make.exe
+ config/dj-make.exe
* Renamed to have common prefix with newly added tools.
(and fit into 8.3)
* harbour/config/dir.cf
! fixed typo in include path
* disabled parallel processing in DOS hosts - it does not work
correctly and it looks like a problem with nested directory
change in DJGPP port of GNU make.
* config/global.cf
* config/instsh.cf
* config/dirsh.cf
* config/globsh.cf
* Restored compatibility with pre-3.81 GNU Make versions.
(some user feedback features are now disabled for older versions)
* source/pp/Makefile
* config/rules.cf
* config/global.cf
+ Added new internal variable HB_HOST_BIN_DIR to avoid touching
original HB_BIN_COMPILE and in turn mess up __PLATFORM__ macro
definitions in recursive runs to GNU Make.
* config/global.cf
* config/instsh.cf
! Fixed to only set __PLATFORM__ flags if there is really a cross
build situation. This is to avoid redefinition warnings with dos
on win builds.
; QUESTION: BTW, could we modify harbour compiler to not throw
these redef warnings for internally defined macros? This problem is
still present if user is manually configuring HB_BIN_COMPILE to
a platform native executable.
! Hack added to dos shell install rule to create HB_INSTALL_PREFIX
first. Of course there is no guarantee that this envvar is set,
or that it's one level up to HB_*_INSTALL dir, or that its parent
exist, but anyway I don't know any better.