* utils/hbmk2/hbmk2.prg
+ Added experimental and partial support to build using/for xhb.
This is to help some 3rd party lib developers who'd like to
target both compilers. Some aspects of xhb support aren't working
or working slightly differently: Default Harbour switch is
-n instead of -n2 which isn't supported in xhb. Everything
related to dll handling won't currently work. Cross-compiling
won't work either due to at least differences in __PLATFORM__
macros. Anyway, play with it and tweak the source if needed.
I hope we can add support without adding too much hacks into
hbmk2 source, if however we need to bend logic too far, I'd
rather leave those problematic parts of to keep the code
maintainable. F.e. xhb compatible COMP/ARCH values aren't
supported and I don't plan to add them.
Enable support by renaming hbmk2 to have an 'x' prefix: xhbmk2,
or use -xhb command line switch. The only intent is be able
to use hbmk2 to build binaries from sources using xhb compiler
and libs. Also notice that I've made just very light tests
only with bcc55 compiler.
[ notice: xhb support doesn't mean you can compile hbmk2 with
xhb. This wasn't intented or planned. ]
* utils/hbmk2/examples/contribf.hbp
! Fixes.
* utils/hbmk2/hbmk2.prg
+ Added filter support to -o option.
+ Added macro support to -o option.
! Fixed missing win system libs from bcc linker command.
IMPORTANT: bcc users will have to make sure they add bcc PSDK
lib to their bcc32.cfg and ilink32.cfg files,
otherwise hbmk2 won't work for them:
--- bcc32.cfg
-I"C:\devl\BCC55\Include"
-L"C:\devl\BCC55\Lib";"C:\devl\BCC55\Lib\PSDK"
--- ilink32.cfg
/L"C:\devl\BCC55\Lib";"C:\devl\BCC55\Lib\PSDK"
---
(or manually pass that with -L option to hbmk2)
* -i option moved to main help screen.
* utils/hbmk2/examples/fwh.hbp
+ Added odbc32 lib.
* utils/hbmk2/hbmk2.prg
! Fixed to find headers in originating file directory.
This may need further tweaking. This works a little
differently in Harbour and C compilers and hbmk2 tries
to mimic both. Possible that it's still not fully
compatible, if you know something pls speak up.
+ Added -incpath= option and incpaths= .hbp option. This
is now the preferred method to add headers paths. All
path will be added to both Harbour and C compiler.
Important: a synonym for this switch is simply -i, just
like before, but now the path will be also added to
C compiler command line.
* From now on Harbour include dir will always be the first
one on the include path list passed to compilers. Before
in Harbour it was always first, in C compilers it was
always last. (disregarding include dirs passed directly
to compiler, which will always come first, but isn't
recommended). The ordering is thus this:
compiler ... flags harbourincludedir incpaths ...
- Deleted include path option detection, from now on
only those paths will be scanned wich were passed to
hbmk2 via -incpath/-i options.
% Added -kmo optimization for hbmk2 source.
+ -info and -quiet will now work in .hbm files.
(they will not control some close-to-startup messages
if specified this way though)
* external/libhpdf/Makefile
* external/libpng/Makefile
+ Enabled for darwin.
* contrib/hbqt/generator/hbqtgen.prg
! Recent fix to hbqt.h applied to generator.
* utils/hbmk2/hbmk2.hbm
- Removed no longer needed -km switch.
* utils/hbmk2/examples/hmg.hbp
* utils/hbmk2/examples/hwgui.hbp
* utils/hbmk2/examples/fwh.hbp
% Updated to use -incpaths=
* utils/hbmk2/examples/fwh.hbp
* Updated to work like similar hwgui and hmg files.
; QUESTION: Is hbwin lib required for FWH?
* utils/hbmk2/hbmk2.prg
+ Added -opt/-noopt switch (plus .hbp param) to control
C compiler optimizations.
+ Added C compiler optimizations to all compilers identical
to the ones used to build Harbour. Specifically MinGW,
MSVC got new switches, bcc got -6, owatcom got fully
synced.
+ Added internal support for C++ mode selection for all
compilers.
+ Added -debug support for all compilers where it was missing
(most).
! Synced poccarm switch with Harbour build.
- utils/hbmk2/examples/minigui.hbp
+ utils/hbmk2/examples/hmg.hbp
+ Harbour MiniGUI hbmk2 param file updated
and instructions added. Now it's possible
to build hmg apps using hbmk2 very easily,
see instructions in file.
* utils/hbmk2/examples/hwgui.hbp
+ hwgui hbmk2 param file updated and
instructions added. Now it's possible
to build hwgui apps using hbmk2 very easily,
see instructions in file.
* source/vm/itemapi.c
* source/rtl/hbffind.c
* contrib/hbct/atnum.c
! Fixed macro related warnings.
* utils/hbmk2/hbmk2.prg
! Fixed additional bcc link parameter to honor GUI/CUI mode.
This should fix the command window for GUI GTs.
* utils/hbmk2/examples/hwgui.hbp
! Fixed.
! Added gt=gtnul.
* utils/hbmk2/hbmk2.prg
* contrib/hbole/tests/hbole.hbp
* contrib/gtwvg/tests/gtwvg.hbp
* contrib/hbwin/tests/hbwin.hbp
- utils/hbmk2/examples/winapi.hbp
+ Added all important Windows system libs to all
win compilers in hbmk2.
- Removed above libs from .hbp files.
* contrib/hbodbc/todbc.prg
* contrib/hbodbc/browodbc.prg
* contrib/hbodbc/odbc.c
* Further cleanups.
SETNUMLEN() -> SQLNUMSETLEN(). This should probably be a core
function by the name HB_NUMSETLEN().
* contrib/hbole/tests/testole.prg
* contrib/hbole/tests/sample.odt
+ Updated to latest hbole code.
; TOFIX: hbole code doesn't compile with MSVC in default C++
even if #define CINTERFACE 1 is enabled.
; TOFIX: OpenOffice example fails at some point. It probably
needs array support.
* contrib/hbole/olecore.c
* Minor formatting.
* contrib/hbqt/hbqt_qabstractitemview.cpp
! Fixed backslash to forward slash.
* contrib/hbct/tests/ctwtest.prg
* contrib/hbnf/dispmsg.prg
* contrib/hbnf/pegs.prg
* contrib/hbnf/tbwhile.prg
* contrib/hbnf/calendar.prg
* contrib/gtwvg/tests/demowvg.prg
* contrib/examples/terminal/trm_server.prg
* contrib/examples/terminal/trm_client.prg
! Using manifest constants.
* contrib/hbmysql/mysql.c
* contrib/hbodbc/odbc.c
* Minor cleanup.
* contrib/hbodbc/tests/odbcdemo.prg
* contrib/hbodbc/tests/odbccall.prg
* contrib/hbodbc/tests/testodbc.prg
* Minor.
* INSTALL
* make_b32.bat
* doc/gmake.txt
* bin/postinst.bat
* bin/hb-mkdyn.bat
* make_gnu.bat
* contrib/hbfimage/readme.txt
* contrib/examples/uhttpd/modules/bldhrb.bat
* source/vm/Makefile
* source/rtl/console.c
* source/compiler/gencobj.c
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/examples/winapi.hbp
- config/win/bcc32.cf
+ config/win/bcc.cf
* Long time TODO done: Renamed bcc32 compiler name to bcc.
bcc32 is still accepted by make_gnu.bat, but will be
removed in the future, so it's recommended to update
your local settings to use:
set HB_COMPILER=bcc
- config/dos/bcc16.cf
- Deleted bcc16 compiler support. I didn't work since ages,
and Harbour doesn't support 16-bit compilers anyway.
* bin/hb-func.sh
! Fixed gtalleg lib name.
% Removed explicit harbour -gc0 option. This is now the default.
* utils/hbmk2/hbmk2.prg
+ Added fmstat/nofmstat support.
! Minor fix to allow more freedom in formatting inside .hbp files.
! Fixed to delete prg stub file when using -hbcc option.
+ Added Copyright section for Przemek for the ideas I've
borrowed from hbmk script and contributed code.
+ Detect platform default GT and only create stub if the
user selected GT is different.
+ Now using versions shared libs on *nixes.
+ Mode detection now regards the ending or the beginning
of the original name, so prefixed or postfixed names will
also be recognized: xhbcmp, hbcmpx, myhbcmp.
! Fixed to multiple -gt options override each other so the
last one will be effective.
! Fixed error message text when stub cannot be created.
Furthermore in this case hbmk will now quit.
+ Also using '-Wl,--start-group' for bsd (from hbmk script).
+ Added '-bind_at_load', '-multiply_defined suppress' gcc
options for darwin shared mode (from hbmk script).
* Changed stub name to hbstub (from hbmkgt).
* pthread lib handling streamlined based on hbmk script,
but this probably needs further cleaning as the script
isn't clear to me here.
+ Added fmstat/nofmstat switch. It most probably needs some
tweaking, as the conditions seem rather sophisticated here.
TODO: For non-*nix/non-gcc platforms (msvc/bcc32/owatcom
most importantly).
+ Added system libs for darwin if gtcrs or gtsln are selected.
(nslang isn't a default lib here, so it won't work on plain
installations, slang however will).
+ Missed from previous commit: Fix so that -nohbp doesn't
prevent processing the global config .hbp file.
! Fixed typo in prev commit.
* utils/hbmk2/examples/contrib.hbp
- Removed hbtip as it's not fully portable (dos).
+ utils/hbmk2/examples/contribf.hbp
+ Added complete database of contrib, with
availability information.
* contrib/xhb/Makefile
* contrib/hbmsql/Makefile
* contrib/hbmzip/Makefile
* contrib/hbziparc/Makefile
* contrib/hbnf/Makefile
* contrib/hbmisc/Makefile
* contrib/hbvpdf/Makefile
* Formatting.
* common.mak
* changed HBM_KDIR from "utils\hbmk" to "utils\hbmk2"
- utils/hbmk
+ utils/hbmk2
* renamed dir name to fix wrong dir change on gnu scripts: mpkg_tgz.sh
and the harbour.spec
! Fixed dir name error that avoided to build rpms and tgz files.