* utils/hbmk2/hbmk2.prg
! Tweak to self name filter.
* contrib/hbpost.hbm
! Added options for darwin to make dynlib building work again
after the -hbdynvm/-hbdyn change last year.
; TODO: Move these to hbmk2. Also maybe it'd be better to
use libtool there, like in core Harbour build.
+ Added dynlib internal name and version info.
* contrib/hbodbc/hbodbc.hbc
* contrib/sddodbc/sddodbc.hbc
+ Added odbc lib name for darwin.
* contrib/hbodbc/odbc.c
! Added workaround for OpenWatcom (1.9) missing an entry for
SQLSetStmtAttr() function's wide version (SQLSetStmtAttrW),
while it has it properly present in the header.
The workaround will disable UNICODE for hbodbc lib when
built for win/watcom.
[ I'd appreciate if someone could report this problem
upstream. ]
* contrib/hbodbc/odbc.c
! Variables renamed to reflext their real type.
! More type related cleanups.
! Fixed remaining cases where return buffers
were not initialized to empty string.
* contrib/hbodbc/odbc.c
! Fixed remaining wrappers to not make decisions based on
result returned by C level ODBC function, and always
pass everything back as is.
% Applied minor optimization as a result of above.
! Deprecated SQLEXECUTESCALAR() fixed to initialize buffer
and length before calling C level ODBC function.
! Fixed one double assignment typo from prev commit.
* contrib/hbodbc/odbc.c
! SQLEXECUTESCALAR() marked with HB_LEGACY_LEVEL3. Do no use this
function. It's not a direct ODBC function wrapper and it
internally calls SQLGetData with a fixed SQL_CHAR type, which
is wrong.
! SQLGETDATA() fixed to default some parameters properly (so far
it was checking for zero value instead of looking at Harbour
type). Potentially incompatible change.
! SQLROWCOUNT() fixed to always return value by reference.
(it's not wrapper's job to check success value and act anything
depending on it).
; TOFIX: There are some more wrappers which do that: SQLDESCRIBECOL(),
SQLCOLATTRIBUTES(), SQLGETCONNECTATTR(), SQLGETSTMTATTR().
% SQLROWCOUNT(), SQLGETINFO(), SQLNUMRESULTCOLS(), SQLCOLATTRIBUTE(): Minor optimization.
! SQLGETINFO(), SQLNUMRESULTCOLS(), SQLGETSTMTATTR(), SQLSETCONNECTATTR(),
SQLGETCONNECTATTR(), SQLDESCRIBECOL(): Setting initial value to parameter retrieved by reference.
! SQLDESCRIBECOL(), SQLCOLATTRIBUTE(): fixed to not crash if wrong length is passed.
* contrib/hbodbc/todbc.prg
% TODBC:LoadData() got some minor optimizations.
* TODBC:LoadData() changed to be able to retrieve fields with
length of 256, instead of 64. This is still hack and should
be fixed to retrieve full length.
! TOFIX: TODBC:LoadData() to pull data in its original type
instead of pulling everything as string, then trying
to convert it back to original type.
* src/rtl/dircmd.prg
! Typo in comment.
* utils/hbmk2/hbmk2.prg
+ Added workaround for mingw compiler problem where it
tends to leave zero byte long objects in cases when the
build process gets (manually) aborted.
Please check it and report any potential performace
problems (hbmk2 needs to read the objects' size from
the directory listing). Maybe we will need a Harbour
function which returns both timestamp and size in one
call.
* contrib/hbodbc/todbc.prg
- Deleted 'FROM HBCLASS' from class declarations.
Thanks to Manu for the report.
* contrib/hbxpp/dbfuncsx.prg
+ Added XPP_DBUSEAREA() which emulates non-Clipper compatible
behavior of Xbase++ DBUSEAREA() implementation.
Based on code and information sent by Shum
* contrib/gtwvg/wvgwing.c
! Fixed compilation in newer BCC versions (6.3).
Fix suggested by YD0DKL
* package/winuni/mpkg_win_uni.bat
+ Added copyright msg.
* contrib/gtalleg/gtalleg.hbc
! Fixed allegro-config command to not contain output redirection.
* contrib/hbcurl/hbcurl.hbc
! Fixed lib name on non-win platforms.
* contrib/hbgd/hbgd.hbc
! Fixed gd lib name on Linux.
* contrib/hbodbc/hbodbc.hbp
* contrib/sddodbc/sddodbc.hbp
* contrib/hbssl/hbssls.hbp
* contrib/hbcurl/hbcurl.hbc
* contrib/hbcurl/hbcurls.hbp
% Using allwin instead of win|wce.
* utils/hbmk2/hbmk2.prg
+ Added trick to not corrupt version numbers in libnames when
adding extension. (it will check for extensions beginning
with numeric and add instead of replace extension in such case)
! Fixed pkg-config/*-config parser when result contained LF chars.
* config/postinst.hbs
* Do not create dynlib symlink on non-*nix platforms.
; Now HB_BUILD_CONTRIB_DYN works for all contribs also on Linux.
; TODO: Shouldn't harbour-2.1.0.so be called harbour.so.2.1.0 ?
; TODO: Creating versionless links for contribs.
* INSTALL
* Documented how to [re]build one specific contrib package.
* INSTALL
* contrib/make.hbs
* Using 'contrib package' instead of 'contrib lib'.
* package/winuni/mpkg_win_uni_extra_copy.bat
* Do not install contrib utils sources anymore. If they
are important, they can be built as part of regular build
a shipped as binary.
* package/winuni/mpkg_win_uni_extra_copy.bat
* contrib/make.hbs
* contrib/hbqt/generator/hbqtgen.prg
- contrib/hbmysql/hbmysql.hbi
- contrib/hbmysql/Makefile
- contrib/gtalleg/gtalleg.hbi
- contrib/gtalleg/gtallegs
- contrib/gtalleg/Makefile
- contrib/hbct/Makefile
- contrib/sddmy/sddmy.hbi
- contrib/sddmy/Makefile
- contrib/hbodbc/Makefile
- contrib/xhb/Makefile
- contrib/sddfb/sddfb.hbi
- contrib/sddfb/Makefile
- contrib/hbtpathy/Makefile
- contrib/hbgt/Makefile
- contrib/hbsqlit3/Makefile
- contrib/hbmzip/Makefile
- contrib/hbblat/Makefile
- contrib/hbblat/hbblat.hbi
- contrib/hbqt/qtgui/qtguis
- contrib/hbqt/qtgui/Makefile
- contrib/hbqt/qtcore/qtcores
- contrib/hbqt/qtcore/Makefile
- contrib/hbqt/qtcore/filelist.mk
- contrib/hbqt/Makefile
- contrib/hbqt/detect.mk
- contrib/hbqt/filelist.mk
- contrib/hbqt/hbqts
- contrib/hbqt/gtqtc/gtqtcs
- contrib/hbqt/gtqtc/Makefile
- contrib/hbqt/moc.mk
- contrib/hbqt/qtnetwork/filelist.mk
- contrib/hbqt/qtnetwork/qtnetworks
- contrib/hbqt/qtnetwork/Makefile
- contrib/hbfbird/hbfbird.hbi
- contrib/hbfbird/Makefile
- contrib/sddpg/sddpg.hbi
- contrib/sddpg/Makefile
- contrib/hbziparc/Makefile
- contrib/hbxbp/Makefile
- contrib/hbbz2/Makefile
- contrib/hbblink/Makefile
- contrib/hbnf/Makefile
- contrib/hbcurl/hbcurl.hbi
- contrib/hbcurl/hbcurls
- contrib/hbcurl/Makefile
- contrib/hbmemio/Makefile
- contrib/hbxpp/Makefile
- contrib/hbfship/Makefile
- contrib/hbcups/Makefile
- contrib/rddbmcdx/Makefile
- contrib/hbfoxpro/Makefile
- contrib/hbnetio/Makefile
- contrib/rddsql/Makefile
- contrib/hbhpdf/hbhpdf.hbi
- contrib/hbhpdf/Makefile
- contrib/gtwvg/Makefile
- contrib/hbpgsql/hbpgsql.hbi
- contrib/hbpgsql/Makefile
- contrib/hbclipsm/Makefile
- contrib/rddads/rddads.hbi
- contrib/rddads/Makefile
- contrib/sddsqlt3/Makefile
- contrib/hbfimage/hbfimage.hbi
- contrib/hbfimage/Makefile
- contrib/sddodbc/Makefile
- contrib/hbgd/hbgd.hbi
- contrib/hbgd/Makefile
- contrib/hbmisc/Makefile
- contrib/sddoci/sddoci.hbi
- contrib/sddoci/Makefile
- contrib/hbcomm/Makefile
- contrib/hbtip/hbtipssl
- contrib/hbtip/Makefile
- contrib/hbcairo/hbcairo.hbi
- contrib/hbcairo/Makefile
- contrib/hbwin/Makefile
- contrib/hbssl/hbssls
- contrib/hbssl/hbssl.hbi
- contrib/hbssl/Makefile
- contrib/hbsms/Makefile
- Deleted references to .hbi and GNU Make files in contrib
area. Now hbmk2 is used here to create the targets.
This has a few consequences:
- From now on *.hbp / *.hbc files need to be updated
whenever files are added, deleted or renamed. Pls remember it.
- hbmk2 will have to be updated in sync with the GNU Make
system when adding new platforms and compilers.
- in-place 'make' won't work, pls see new method in
INSTALL. (it may still change)
* config/postinst.hbs
* Changed to only create .hbd documentation file for the
core. This is to ensure separation of components.
* contrib/Makefile
- Deleted old Makefile-based build logic in contrib area,
now this make file does nothing else than passing the
control to make.hbs Harbour script.
* contrib/make.hbs
* contrib/hbpre.hbm
* contrib/hbpost.hbm
% Moved -instpath options to hbpost.hbm to save cmdline length.
% Moved HB_BUILD_SHARED control logic from make.hbs to hbpost.hbm
! -warn option moved to hbpre from hbpost, so libs can override it
(can be important for external code)
+ Will now compile .hbd binary documentation in 'install' phase
and copy it to HB_DOC_INSTALL.
* Internal pathsep cleanup.
! Fixed to accept 'install'/'clean' regardless of casing.
+ Now accepts HB_BUILD_CONTRIBS instead of HB_CONTRIBLIBS
(though old envvar still work for while)
+ Log feedback now show the build action executed.
+ Added more TODOs.
* INSTALL
* Documented the change to HB_BUILD_CONTRIBS from HB_CONTRIBLIBS.
* utils/hbmk2/hbmk2.prg
+ Will now automatically recognize HB_BUILD_NAME envvar and
convert it to -build= cmdline option.
* contrib/hbodbc/todbc.prg
* contrib/hbodbc/odbcold.c
* contrib/hbodbc/odbc.c
* Renamed SQLSTOD to HB_ODBCSTOD
* Renamed SQLSETNUMLEN to HB_ODBCSETNUMLEN.
* Old names are deprecated with HB_LEGACY_LEVEL3.
If you happen to use these function names, pls update to
the new ones ASAP.
* contrib/hbodbc/todbc.prg
* contrib/hbodbc/odbcold.c
* contrib/hbodbc/odbc.c
- Deleted SQLEXTENDEDFETCH() wrapper. The original ODBC
function was in compatibility status since ODBC 3.0 and
it was causing permanent build problems in Harbour, due
to disagreement in parameter widths/types on different
platforms and compiler headers (f.e. on Linux AMD64 C++
mode, POCC and XCC).
INCOMPATIBILITY: This compatibility function was deleted,
use SQLFETCHSCROLL() instead.
* Replaced SQLEXTENDEDFETCH() with SQLFETCHSCROLL() in TODBC
code as recommended by MS.
! Added cast to silence msvc C mode warning.
* config/vxworks/gcc.mk
! Fixed vxworks/gcc HB_BUILD_SHARED=yes link mode.
* contrib/hbodbc/odbc.c
- Deleted compatibility trick which mapped SQL[U]LEN to SQL[U]INTEGER.
The trick is most likely not needed anymore, they were first
introduced in 2007-01-24 10:25 UTC+0100 Przemyslaw Czerpak with
the description 'synced with xhb', next it was extended with the
"U" version in 2008-08-13 03:08 UTC+0200 Viktor Szakats, for
__DMC__ compatibility. We dropped DMC support since.
; Tamas can you pls retest if this fixed the Linux AMD64 build
error in C++ mode?
* src/rtl/gtsys.c
* Made GTCGI the default GT for VxWorks. (GTSTD doesn't work now)
* src/rtl/hbsocket.c
+ Enabled ioctl() calls for VxWorks.
! Worked around 'socklen_t' vs 'int' warnings with VxWorks.
(still remains some 'const char *' and 'caddr_t' vs 'char *
warnings, nothing serious though)
* include/hbthread.h
! Enabled HB_CRITICAL_NEED_INIT for VxWorks. Avoids the compiler
warnings caused by PTHREAD_COND_INITIALIZER having one less
structure member than initialized structure.
MT mode still doesn't work though.
* contrib/hbodbc/odbc.c
+ Added HB_ODBCVER() function to return build-time ODBC version
reported by ODBCVER macro.
* contrib/hbodbc/tests/testodbc.prg
+ Show ODBC version number.
- contrib/hbqt/doc/html
- Deleted. doc dirs now have to abide by the HBDOC rules posted
on the dev list, which means doc may contain (non-empty) language
dirs only. html should be generated by client app or by install
process.
* contrib/hbwin/hbwinole.h
! Patch by Tamas Tevesz, fixing NONAMELESSUNION issue for watcom.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added -instfile= option, instfiles= .hbc option and hbmk2 plugin
API to add new files to the list of files to be copied to
-instpath= targets. This option makes it possible to install
extra files along the target lib or exe itself, f.e. headers
or other supplementary files. This option only works for
-instpath= options which point to a dir (not a file).
* contrib/gtwvg/gtwvg.hbp
* contrib/hbblat/hbblat.hbp
* contrib/hbblink/hbblink.hbp
* contrib/hbbz2/hbbz2.hbp
* contrib/hbcairo/hbcairo.hbp
* contrib/hbclipsm/hbclipsm.hbp
* contrib/hbct/hbct.hbp
* contrib/hbcurl/hbcurl.hbp
* contrib/hbfimage/hbfimage.hbp
* contrib/hbfoxpro/hbfoxpro.hbp
* contrib/hbgd/hbgd.hbp
* contrib/hbhpdf/hbhpdf.hbp
* contrib/hbmysql/hbmysql.hbp
* contrib/hbmzip/hbmzip.hbp
* contrib/hbnf/hbnf.hbp
* contrib/hbodbc/hbodbc.hbp
* contrib/hbpgsql/hbpgsql.hbp
* contrib/hbqt/gtqtc/gtqtc.hbp
* contrib/hbqt/hbqt.hbp
* contrib/hbsqlit3/hbsqlit3.hbp
* contrib/hbssl/hbssl.hbp
* contrib/hbtip/hbtip.hbp
* contrib/hbtpathy/hbtpathy.hbp
* contrib/hbwin/hbwin.hbp
* contrib/hbxbp/hbxbp.hbp
* contrib/hbxpp/hbxpp.hbp
* contrib/rddads/rddads.hbp
* contrib/rddsql/rddsql.hbp
* contrib/xhb/xhb.hbp
+ Added -instfile= options for headers installed by Makefile.
; TODO: Make copying of headers to central dir unnecessary on
*nix platforms as well.
* contrib/makefile.hbs
* Updated TODOs.
* contrib/hbqt/gtqtc/gtqtc.hbp
% Deleted -pi= option.
* contrib/hbqt/gtqtc/gtqtcs/Makefile
* Not needed to install headers from secondary (static) Makefile.
* examples/gfspell/gfspell.hbp
* examples/gtwvw/gtwvw.hbp
* examples/hbapollo/hbapollo.hbp
* examples/hbbtree/hbbtree.hbp
* examples/hbdoc2/hbdoc2.hbp
* examples/hbextern/hbextern.hbp
* examples/hbsqlit2/hbsqlit2.hbp
* examples/hbvpdf/hbvpdf.hbp
* examples/ps32/ps32.hbp
* examples/rddado/rddado.hbp
* examples/superlib/superlib.hbp
+ Added -instfile= options for headers installed by Makefile.
+ Added -w option where missing.
- Deleted -q0, -l where present.
+ Synced output setup with contribs.
! Added hbxpp.hbc reference for ps32.
+ Added dependency detection for hbsqlit2, hbapollo.
! hbdoc2 GT changed to GTCGI.
; Now the contrib and examples .hbp files are completely on the same
feature level.
* external/png/Makefile
! Fixed one MAP entry. Patch by Tamas Tevesz.
* contrib/hbodbc/todbc.prg
! Attempt to fix sf.net bug #2984474.
- TODBC class seems to have a typo where ROUND() is called with
full number width instead of number of decimals in
in TODBC():LoadData() method
- Added SQL_BIGINT to list of numeric types when doing the
conversion in TODBC():LoadData() method.
; Please review me a test with real ODBC connection, these were
blind fixes, I'm not user of TODBC class.
* contrib/hbct/ctnet.c
* contrib/hbtpathy/tpwin.c
* contrib/hbnf/getenvrn.c
! Fixed to disable some functionality on all WinCE platforms.
These were WinCE API functions wrongly declared in
mingwarm/poccarm headers. (thus causing link-time errors
for final apps trying to use these functions)
* contrib/hbwin/win_dlg.c
! Enabled more functionality for WinCE. mingwarm builds
will probably crash due to buggy commdlg.h header.
* src/vm/fm.c
! Fixed to redefine ABORT for all wce/msvcarm targets.
* utils/hbmk2/hbmk2.prg
! Minor typo in recently added help item.
* contrib/gtwvg/gtwvg.h
* contrib/gtwvg/wvggui.h
* contrib/hbwin/win_prn1.c
* contrib/hbwin/win_prn2.c
* contrib/hbwin/win_prn3.c
* contrib/hbwin/win_dlg.c
* contrib/hbodbc/odbc.c
* contrib/rddsql/sddodbc/sddodbc.c
! Fixed to compile with -DWIN32_LEAN_AND_MEAN.
* contrib/hbodbc/odbc.c
* contrib/rddsql/sddodbc/sddodbc.c
! Silenced warnings.
* contrib/rddsql/sddoci/sddoci.c
* contrib/rddsql/sddoci/tests/test1.prg
+ Finished type mapping and value translation.
; Not being an Oracle user, I only have the few sample
tables, so no testing was made with these types.
; TOFIX: decimal position retrieval is currently wrong.
; TOFIX: date/time/timestamp doesn't seem to get through.
* config/win/global.mk
* config/rules.mk
* Moved HB_BUILD_UNICODE handling here for win platform,
to allow disabling it for potential 3rd party libs which
don't support UNICODE mode.
* src/common/hbffind.c
* Formatting.
* contrib/hbodbc/odbc.c
* contrib/rddsql/sddodbc/sddodbc.c
+ Added support for UNICODE mode on non-Windows systems.
This also means that by now HB_TCHAR_* macros aren't used
in non-win/wce code anymore.
NOTE: Since the translation functions have been changed,
now _SET_OSCODEPAGE setting are honored in these
calls. We may change this later to some lib specific cp.
; TOFIX: Warnings are showing up in non-UNICODE mode:
odbc.c:438: warning: pointer targets in passing argument 2 of 'hb_storstr' differ in signedness
Couldn't find an optimal way to pacify them (also in sddodbc).
Can someone help?
* include/hbdefs.h
+ HB_TCHAR_* macros are again only defined for win/wce targets.
This will make sure these won't get used in non-win/wce specific code.
* contrib/hbmysql/tmysql.prg
! Fixed old buggy code which started to throw errors
after introducing strict parameter evaluation in
lower-level code.
For now I replaced the code with old behavior.
Pls make further to replicate original _intent_.
* harbour/src/compiler/harbour.y
* harbour/src/compiler/harbour.yyh
* harbour/src/compiler/harbour.yyc
! pacified compile time error when ... is used as parameter in _HB_MEMBRER
declaration. TODO: Remove or fix this strong typing grammar rules.
* harbour/src/debug/dbgtwin.prg
* harbour/src/debug/dbgtmenu.prg
* harbour/src/debug/tbrwtext.prg
* harbour/src/debug/debugger.prg
* harbour/src/debug/dbgtinp.prg
* harbour/src/rtl/tbcolumn.prg
* harbour/src/rtl/listbox.prg
* harbour/src/rtl/pushbtn.prg
* harbour/src/rtl/treport.prg
* harbour/src/rtl/radiogrp.prg
* harbour/src/rtl/tthreadx.prg
* harbour/src/rtl/checkbox.prg
* harbour/src/rtl/tsymbol.prg
* harbour/src/rtl/teditor.prg
* harbour/src/rtl/tmenuitm.prg
* harbour/src/rtl/tbrowse.prg
* harbour/contrib/hbmysql/tmysql.prg
* harbour/contrib/xhb/stream.prg
* harbour/contrib/xhb/trpccli.prg
* harbour/contrib/xhb/hblognet.prg
* harbour/contrib/xhb/tfile.prg
* harbour/contrib/xhb/tframe.prg
* harbour/contrib/xhb/htjlist.prg
* harbour/contrib/xhb/hblog.prg
* harbour/contrib/xhb/trpc.prg
* harbour/contrib/xhb/thtm.prg
* harbour/contrib/xhb/tcgi.prg
* harbour/contrib/xhb/ttable.prg
* harbour/contrib/xhb/txml.prg
* harbour/contrib/xhb/hjwindow.prg
* harbour/contrib/xhb/htmutil.prg
* harbour/contrib/hbodbc/todbc.prg
* harbour/contrib/hbfbird/tfirebrd.prg
* harbour/contrib/xpp/tthreadx.prg
* harbour/contrib/hbpgsql/tpostgre.prg
* harbour/contrib/hbgd/gdchart.prg
* harbour/contrib/hbgd/gdimage.prg
* harbour/contrib/hbgd/gdbar.prg
* harbour/contrib/hbgd/gdbarcod.prg
* harbour/contrib/hbmisc/twirler.prg
* harbour/contrib/hbtip/thtml.prg
* harbour/contrib/hbtip/cgi.prg
* harbour/contrib/hbtip/httpcli.prg
* harbour/contrib/hbtip/smtpcli.prg
* harbour/contrib/hbtip/client.prg
* harbour/contrib/hbtip/ftpcli.prg
* harbour/contrib/hbtip/mail.prg
* harbour/contrib/hbtip/popcli.prg
* harbour/contrib/hbwin/win_tprn.prg
* harbour/contrib/hbbtree/tbtree.prg
* harbour/utils/hbformat/hbformat.prg
! fixed class method declarations to be synced with method implementations
All of the above missdeclarations were detected by compilation with:
HB_USER_PRGFLAGS=-DHB_CLS_PARAMS_ERR
Few years ago in hbclass.ch I defined PP rules to force strict method
declarations but I had to disable them due to problems with old PP.
I defined HB_CLS_NO_PARAMS_ERR and left this note in hbclass.ch:
> I have to enable this definition by default until we will not fix
> preprocessor. [druzus]
Current PP code works correctly so we can remove it and activate this
code. Anyhow as above commit shows a lot of code has been created with
wrong declarations. I fixed Harbour core code (except HBQT, HBXBP and
GTWVG - I hope Pritpal or Viktor will fix it) but setting
HB_CLS_PARAMS_ERR as default will exploit a lot of similar problems in
user code so I would like the hear other developers' opinions about it.
* include/hbextern.ch
! HB_SETCODEPAGE() reference also guarded with HB_LEGACY_LEVEL2.
* tests/wcecon.prg
* tests/gtkeys.prg
* examples/terminal/trm_cli.prg
* HB_SETCODEPAGE() -> HB_CDPSELECT().
* contrib/hbwin/win_prn2.c
+ Added comment.
* contrib/hbwin/legacy.prg
+ Guarded with HB_WIN_LEGACY_LEVEL_OFF.
* contrib/hbmysql/mysqlold.c
* contrib/hbodbc/odbcold.c
* contrib/hbwin/legacycd.c
* contrib/hbwin/legacyco.c
* contrib/hbwin/legacycp.c
* contrib/hbwin/legacycv.c
* contrib/hbwin/legacy.prg
+ Guarded with HB_LEGACY_LEVEL3.
This means these will be removed after major release.
Please upgrade your code to use new function names.
* harbour/config/lib.mk
* harbour/config/bin.mk
* harbour/config/header.mk
* harbour/config/dyn.mk
* harbour/config/doc.mk
* harbour/config/instsh.mk
! rewritten install rules so now they work without any problem when
more then one target .mk file is included, i.e. lib.mk and header.mk
* harbour/source/pp/Makefile
* harbour/source/dynlib/mt/Makefile
* harbour/source/dynlib/Makefile
* harbour/contrib/hbmysql/Makefile
* harbour/contrib/hbct/Makefile
* harbour/contrib/xhb/Makefile
* harbour/contrib/hbodbc/Makefile
* harbour/contrib/hbtpathy/Makefile
* harbour/contrib/hbsqlit3/Makefile
* harbour/contrib/hbmzip/Makefile
* harbour/contrib/hbblat/Makefile
* harbour/contrib/hbqt/Makefile
* harbour/contrib/hbxbp/Makefile
* harbour/contrib/xpp/Makefile
* harbour/contrib/hbnf/Makefile
* harbour/contrib/hbcurl/Makefile
* harbour/contrib/gtqtc/Makefile
* harbour/contrib/rddsql/sddmy/Makefile
* harbour/contrib/rddsql/sddpg/Makefile
* harbour/contrib/rddsql/sddfb/Makefile
* harbour/contrib/rddsql/sddodbc/Makefile
* harbour/contrib/hbhpdf/Makefile
* harbour/contrib/rddado/Makefile
* harbour/contrib/gtwvg/Makefile
* harbour/contrib/hbpgsql/Makefile
* harbour/contrib/hbclipsm/Makefile
* harbour/contrib/rddads/Makefile
* harbour/contrib/hbfimage/Makefile
* harbour/contrib/hbgd/Makefile
* harbour/contrib/hbtip/Makefile
* harbour/contrib/hbwin/Makefile
* harbour/contrib/hbvpdf/Makefile
* harbour/contrib/hbbtree/Makefile
* harbour/contrib/hbssl/Makefile
* harbour/external/libhpdf/Makefile
* removed not longer necessary workaround for overwritten by different
targets INSTALL_RULE
Possible TODO: clean up some other rules in config .mk files to remove
hacks from pp and dynlib Makefile(s).
Above modifications should fully resolve the problems with repeated
install actions and also build problems with some more restrictive
POSIX SHELLs.
* mpkg_deb.sh
* HB_WITHOUT_ADS -> HB_INC_ADS
* HB_WITHOUT_ODBC -> HB_INC_ODBC
; Please verify these changes.
* contrib/gtalleg/Makefile
* contrib/hbmysql/Makefile
* contrib/hbodbc/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbfbird/Makefile
* contrib/hbcurl/hbcurls/Makefile
* contrib/hbcurl/Makefile
* contrib/rddsql/sddmy/Makefile
* contrib/rddsql/sddpg/Makefile
* contrib/rddsql/sddfb/Makefile
* contrib/rddsql/sddodbc/Makefile
* contrib/hbhpdf/Makefile
* contrib/hbpgsql/Makefile
* contrib/rddads/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbtip/Makefile
+ Using new central detection function instead of replicating
in in every contrib. The "side effect" is that now precise
instructions will be shown if a given contrib isn't included in a build.
Code is much cleaner/simpler/shorter now.
; It's possible that I made some mistakes along the line,
plus report if anything is wrongly detected.
* external component names converted to all lowercase.
; QT will be done in next commit.
* config/detfun.mk
* config/detect.mk
+ Added usage instructions (moved parts from detect.mk to detfun.mk).
* Moved help to detfun.mk.
+ Added HB_INC_* 'force' option.
+ Now clearing _DET_* vars on exit.
* external component names converted to all lowercase.
* config/global.mk
+ Updated plans.
* harbour/contrib/hbodbc/odbc.c
* harbour/contrib/rddsql/sddodbc/odbcdd.c
* synced workarounds for missing in some header files SQL* definitions
* harbour/config/globsh.mk
* harbour/config/instsh.mk
! eliminated COMMAND.COM commands used for DOS shell - I've just tested
that they do not work with pure MS-DOS 6.2 without using $(CMDPREF)
though they works with FreeDOS. Anyhow we can safely eliminate them
using dj-*.exe tools directly without any if ... command.com testing.
It also resolve the problem with IF EXIST <DIR>\NUL which is always
true in some environment, i.e. Novel-NetWare drives.
* config/global.cf
* config/rules.cf
* config/dos/watcom.cf
* config/win/watcom.cf
* config/os2/watcom.cf
% Using HB_PRGFLAGS instead of HB_FLAGSEXTRA.
% Using HB_CFLAGS and HB_PRGFLAGS instead of HB_CDBG.
% Using HB_CFLAGS instead of HB_CUNICODE.
% Moved all flags from HB_RULE to HB_FLAGS (except HB_USER_PRGFLAGS).
This only affects dos/watcom, more cmdlines will be put in HARBOURCMD.
* external/sqlite3/Makefile
* external/libhpdf/Makefile
* external/libpng/Makefile
* source/vm/maindllh/Makefile
* source/vm/maindllp/Makefile
* source/vm/vmmt/Makefile
* source/rtl/gtxwc/Makefile
* source/rtl/gtcrs/Makefile
* source/rtl/gttrm/Makefile
* source/rtl/gtsln/Makefile
* contrib/gtalleg/Makefile
* contrib/hbmysql/Makefile
* contrib/hbodbc/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbqt/Makefile
* contrib/hbfbird/Makefile
* contrib/hbcurl/hbcurls/Makefile
* contrib/hbcurl/Makefile
* contrib/gtqtc/Makefile
* contrib/rddsql/sddmy/Makefile
* contrib/rddsql/sddpg/Makefile
* contrib/rddsql/sddfb/Makefile
* contrib/rddsql/sddodbc/Makefile
* contrib/hbhpdf/Makefile
* contrib/hbpgsql/Makefile
* contrib/rddads/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbtip/hbtipssl/Makefile
* contrib/hbssl/Makefile
! Using HB_CFLAGS/HB_PRGFLAGS to specify Makefile local
compiler settings instead of modifying HB_USER_*FLAGS.
This way the double defines are gone.
+ Included global.cf to all Makefiles which needs to modify
HB_CFLAGS/HB_PRGFLAGS. Probably we should move global.cf
inclusion to the top of all Makefiles as a convention.
Not terribly elegant, but solves a few problems and
more efficient.
% Changed ', -I$(d))' to ',-I$(d))' along the way. This avoids
wasting an extra space in command line.
; NOTE: It'd still be beneficial to find a way to get rid of
'descend' rule. It could make cmdlines cleaner/shorter
and whole build process simpler/faster. I didn't manage
so far.
* source/vm/Makefile
* Deleted 'HB_USER_CFLAGS := $(subst -DHB_MT_VM,,$(HB_USER_CFLAGS))'
(since it's no longer supported practice to modify user supplied flags)
I'm not sure if it's important enough to have. AFAIK there is no
reason users use HB_MT_VM define, it's not a public setting, so we
shouldn't go too much far in trying to protect against its presence.
If it's needed, we should add 'HB_CFLAGS += -DHB_ST_VM' and handle
HB_ST_VM as the reverse of HB_MT_VM inside the source.
* source/rdd/dbffpt/dbffpt1.c
* source/rdd/dbffpt/Makefile
* Optimizations are now disabled using #pragma for __XCC__ instead of
deleting them from HB_USER_CFLAGS. Please test, and see above on
modifying HB_USER_CFLAGS in our make files.
* bin/postinst.cmd
! Deleted double quote from target dir in xcopy commands.
Blind change.
* utils/hbtest/rt_main.ch
* utils/hbtest/hbtest.hbp
* utils/hbtest/Makefile
+ Changed to use #pragma to turn on line numbers instead of
using HB_USER_PRGFLAGS (or HB_PRGFLAGS). This way there is
no need for Makefile hack/tweaks and it works with all make methods
automatically.
* config/instsh.cf
! Partially restored a few things which were lost without comments
in prev OS/2 commit:
- Formatting
- '@' prefixes
- '-' prefixes
* source/pp/Makefile
! Fixed to not throw harmless but still confusing error
messages when cleaning hbpp binary parts.
* bin/hb-mkdyn.bat
% Minor optimization in initialization.
- make_gnu_os2.cmd
- make_gnu.bat
- Deleted these starter batch files.
; Please use 'mingw32-make' (if installed in PATH) or
'config/mingw32-make' (if not installed in PATH) instead.
OS/2 users should use 'make'.
; OS/2 users will have to add:
set HB_USER_CFLAGS=-DTCPV40HDRS
to local configuration unless they used:
set HB_OS2_TCP32=yes
I'd like to ask OS/2 users to add (now deleted) related
documentation to one of our docs: INSTALL or include/hbsetup.h.
Since this was a setting to disable some default setup,
we can readd this setting with another name to
config/global.cf if needed. Pls tell me about it.
; TODO: Delete make_gnu.sh and/or integrate make_gnu_xmingw*.sh.
There is still two things which is done by make_gnu.sh:
- Detection for -fPIC option.
- Setting HB_INSTALL_PREFIX to system location.
(I don't like this, but it seems to be standard
behaviour on Linux, so we may want to change GNU Make
default logic according to that)
; TODO: Move mpkg_*.sh files with related support files to /package.
Best would be to integrate them to postinst.sh.
* INSTALL
+ Added TOFIX to one example: djgpp with NT shell will choke on
too long cmdline when building external/libhpdf.
; TOFIX: see above. (if possible. If it's too complicated we
should simply drop this scenario, after all DJGPP GNU
Make also works well.
* contrib/gtalleg/Makefile
* contrib/hbmysql/Makefile
* contrib/hbodbc/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbqt/Makefile
* contrib/hbfbird/Makefile
* contrib/hbxbp/Makefile
* contrib/hbcurl/Makefile
* contrib/gtqtc/Makefile
* contrib/rddsql/sddmy/Makefile
* contrib/rddsql/sddpg/Makefile
* contrib/rddsql/sddfb/Makefile
* contrib/rddsql/sddodbc/Makefile
* contrib/hbhpdf/Makefile
* contrib/gtwvg/Makefile
* contrib/hbpgsql/Makefile
* contrib/rddads/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbwin/Makefile
+ Indentation.