* utils/hbmk2/hbmk2.prg
* Invoke xhb compiler (in -xhb mode) for each input source file,
to avoid xhb compiler bugs (like aborting due to too many
warnings even if -w0 is used - reported by Pritpal in xhb 2007 Oct
version).
* contrib/hbmzip/3rd/minizip/minizip.dif
* contrib/hbmzip/3rd/minizip/ioapi.h
! Fixed for cygwin. [Tamas Tevesz]
* contrib/hblzf/3rd/liblzf/lzfP.h
* contrib/hblzf/3rd/liblzf/liblzf.dif
! Fixed for bcc. [Tamas Tevesz]
* utils/hbmk2/hbmk2.prg
! Fixed to include hbmainstd after converting cygwin from
compiler to platform.
; QUESTION: should we use hbmainwin for cygwin apps in -gui mode?
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.es_PE.po
+ Added -pic[-] option and pic= .hbc command to enable PIC.
It's always enabled when using -hbdyn/-hbdynvm.
! Using -fPIC for bsd. (in sync with core make)
+ Added sunos/sparc PIC option, though to really kick in,
CPU detection should be implemented, or it should be
manually supplied using -cpu=sparc option.
Please review these.
* contrib/hblzf/3rd/liblzf/lzf_d.c
* contrib/hblzf/3rd/liblzf/lzfP.h
* contrib/hblzf/3rd/liblzf/LICENSE
* contrib/hblzf/3rd/liblzf/lzf.hbp
* contrib/hblzf/3rd/liblzf/liblzf.dif
* contrib/hblzf/3rd/liblzf/Changes
* contrib/hblzf/3rd/liblzf/README
* contrib/hblzf/3rd/liblzf/lzf_c.c
* update lzf to 3.6 [Tamas Tevesz]
* contrib/hbqt/qtgui/hbqt_init.cpp
* Renamed HBQT_PUSHEVENT() to HBQTGUI_EVENTPUSH().
* Commented this new function with a detailed TOFIX note,
with some notes needing more close inspection.
* harbour/config/win/bcc.mk
* harbour/utils/hbmk2/hbmk2.prg
* disabled W8060 warnings in BCC builds when warning level is set to low
* harbour/src/rtl/gtwin/gtwin.c
! added missing void in hb_gt_win_IsFullScreen() declaration
* harbour/utils/hbmk2/hbmk2.prg
* harbour/config/dos/watcom.mk
* harbour/config/win/watcom.mk
* harbour/config/linux/watcom.mk
* harbour/config/os2/watcom.mk
! fixed to not use -wcd124 and -wcd136 in OpenWatcom C++ builds
* harbour/config/win/xcc.mk
! added -noexpobj as workaround for problems with creating
shared library
* removed now unnecessary $(RM) harbour*.dll
* harbour/src/rtl/base64d.c
* pacified warning
% removed unnecessary condition with RTE - decoded string has to
be shorter then the source one taken from HVM string item so for
sure it cannot exceed maximum string item size
* harbour/src/rtl/base64c.c
* generate RTE if encode string size is too big
* eliminated unnecessary INT_MAX string limit
* harbour/utils/hbmk2/Makefile
! fixed list of linked libraries - hbpp and hbcommon libs were
given explicitly though they are also included in harbour
shared library. It means that for HB_BUILD_SHARED=yes some semi
dynamic hbmk2 executable was created with repeated compiled hbpp and
hbcommon code. The first copy was inside hbmk2 executable file and
the second one inside harbour shared library (.so, .dyn, .dll, ...).
This fix should also resolves the problem with missing math library
when hbmk2 was linked.
* config/globsh.mk
! make the clean target also remove the newly-created libharbour* symlinks [Tamas]
* utils/hbmk2/hbmk2.prg
+ Added TODO to eventually delete lib grouping.
* config/linux/watcom.mk
- Disabled dynlib creation on linux/watcom, because watcom support
is broken yet.
* contrib/hbnetio/utils/hbnetio/hbnetio.hbp
* contrib/hbformat/utils/hbformat.hbp
* contrib/hbrun/hbrun.hbp
- Deleted nxcompat (and friends) flags from local .hbp files.
They are enabled by config/hbpost.hbm, in more precise manner.
* utils/hbmk2/hbmk2.hbp
* utils/hbi18n/hbi18n.hbp
* utils/hbtest/hbtest.hbp
- Deleted also from here. (These .hbp files are not used
by core make.)
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.es_PE.po
* utils/hbmk2/hbmk2.prg
+ Added -F<framework> option to pass OS X/Darwin frameworks to the linker
(in both hbexe and hbdyn modes)
+ <name.framework> input files will be recognized as OS X/Darwin frameworks.
+ Added support for frameworks= command in .hbc files.
* contrib/hbqt/qtgui/hbqtgui.hbc
* contrib/hbqt/qtwebkit/hbqtwebkit.hbc
* contrib/hbqt/qtcore/hbqtcore.hbc
* contrib/hbqt/qtnetwork/hbqtnetwork.hbc
* contrib/hbqt/qscintilla/hbqscintilla.hbc
* contrib/hbqt/qtdesigner/hbqtdesigner.hbc
* Replaced manual hack to add QT frameworks on darwin,
with new hbmk2 framework options.
* contrib/sddfb/sddfb.hbc
* contrib/hbfbird/hbfbird.hbc
+ Added Firebird as framework on darwin.
* utils/hbmk2/hbmk2.prg
! Fixed regression in 2011-02-10 23:45 UTC+0100 Viktor Szakats,
in making .hbmk dir hidden when converting from custom DirBuild()
to core hb_DirBuild(). Due to typo the dir was not made hidden.
! Fixed to make .hbmk hidden regardless of casing (f.e. on MS-DOS).
* utils/hbmk2/hbmk2.prg
! Readded REQUEST HB_FSETATTR. It was used in conditional
code, so it was not linked on *nix builds, causing
failure to run postinst.hbs.
* src/rtl/hbrandom.c
* Minor formatting.
- src/dynlib/mt
* src/dynlib/Makefile
* src/vm/maindllp/dllpcode.c
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* utils/hbmk2/hbmk2.prg
* config/postinst.hbs
* config/global.mk
* config/bin.mk
* Changed to have only one harbour dll, and this one with MT support.
This means the old MT mode dll named harbourmt/harbourm is no more
and the old ST mode dll vanished also. This will result in much
cleaner layout of Harbour binary tree, smaller distribution size,
and unambigous dll tree when linking an app with dll multiple
components (f.e. contribs).
If someone wants to build an ST mode harbour dll, she can use the
internal build-time option: _HB_BUILD_DYN_ST=yes
; Please test.
; TODO: Do a final cleanup on internal variable names to not have "ST" in them.
* contrib/make.hbs
* contrib/hbide/idemisc.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbrun/hbrun.prg
* config/postinst.hbs
* bin/hb3rdpat.hbs
* Using new filename handling functions from core.
% Deleted redundant local copies of these functions.
* utils/hbmk2/hbmk2.prg
+ REQUESTing new filename handling function till they are
used in hbmk2 too.
; TODO: Make the switch in hbmk2 too.
* contrib/hbmysql/hbmysql.hbc
* contrib/sddpg/sddpg.hbc
* contrib/hbpgsql/hbpgsql.hbc
* contrib/sddmy/sddmy.hbc
* contrib/hbmagic/hbmagic.hbp
* contrib/hbmagic/hbmagic.hbc
* contrib/hbfimage/hbfimage.hbc
* contrib/hbcairo/hbcairo.hbc
+ Added libpaths for darwin.
+ Added libmagic detection on darwin.
* contrib/hbgd/hbgd.hbc
! Fixed libpath option for darwin.
* utils/hbmk2/hbmk2.prg
* Add watt lib path to path list only if exists.
* Add -L and libpaths= values to path lists only if they exist.
! Fixed option order in dynlib libtool command for darwin.
* utils/hbmk2/hbmk2.prg
+ switched to use libtool for lib assembly with all darwin
compilers (was gcc only + TODO)
+ switched to use libtool for dynlib assembly with all darwin
compilers (instead of compiler)
+ Added '-flat_namespace -undefined suppress -single_module'
options for dynlib assembly. Now in sync with core build.
; Pls test. I didn't test if the created .dylibs actually work.
* contrib/hbpost.hbm
- Deleted now unecessary manual darwin dylib options.
* 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/hbmxml/3rd/minixml/mxml.hbp
* contrib/3rd/sqlite3/sqlite3.hbp
* contrib/hbmzip/3rd/minizip/minizip.hbp
* contrib/hblzf/3rd/liblzf/lzf.hbp
* contrib/hbxdiff/3rd/libxdiff/xdiff.hbp
* contrib/hbexpat/3rd/expat/expat.hbp
* contrib/hbbz2/3rd/bz2/bz2.hbp
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
! Do not create dynamic version of 3rd party dependencies hosted
locally. It should fix some problems on *nix builds with
HB_BUILD_CONTRIB_DYN=yes.
* contrib/hbrun/hbrun.hbp
+ -o option.
* utils/hbmk2/hbmk2.prg
+ Added dynlib dir + prefix to --hbinfo output.
* contrib/hbplist
- contrib/hbrun/hbrunext.hbp
+ contrib/hbrun/hbrun.prg
+ contrib/hbrun/hbrun.hbp
+ contrib/hbrun/hbrun.1
* config/postinst.hbs
- utils/hbrun
* utils/Makefile
* Moved hbrun to contrib area.
; Now it can contain any contrib libs.
* Makefile
* contrib/Makefile
+ Changed script runner tool to hbmk2 (from hbrun).
So now hbrun is not required for build process.
* utils/Makefile
* package/harbour.spec
* INSTALL
* Changed to reflect that now hbmk2 runs the build scripts.
* utils/hbmk2/hbmk2.prg
* utils/hbrun/hbrun.prg
+ Added hbrun_ProgrName() function to return runner executable name.
* utils/hbmk2/hbmk2.prg
+ Added experimental hbrun script runner "emulation" to hbmk2.
With a few differences:
- there is no interactive console
- it works only if filename with .hbs or .hrb is passed as first parameter
(which present a minor incompatibility for those using hbmk2
to compile .hbs scripts to executables)
- the default GT environment for scripts is GTCGI.
- scripts may request interactivity with HBRUN_GTINTERACTIVE()
function call. This will switch mode to GTWIN/GTTRM/GTDOS/GTOS2
depending on platform. Though interactive functions linked into
hbmk2 are very limited.
- only a limited set of functions and headers are available,
those which may be useful for cmdline apps.
(which means hbmk2 size didn't grow significantly after this
commit)
; The goal is to make it possible to replace hbrun with hbmk2
for Harbour build related scripts, and other simple user scripts.
* utils/hbrun/hbrun.prg
* Minor cleanups.
* Using HB_PROGNAME() instead of HB_ARGV( 0 )
* src/common/hbverdsp.c
+ Instead of adding "(UNICODE)" marker in build info for UNICODE
builds, now it will add "(WINANSI)" for non-UNICODE builds.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* Using more hb_StrFormat()
* contrib/hbnetio/utils/hbnetio/netiocon.prg
* Tweak to one cmd help.
* utils/hbrun/hbrun.prg
* Formatting.
* utils/hbmk2/hbmk2.prg
! Do not add .hbx file to input file list if the file doesn't
exist. This is to resolve the chicken-egg problem when
initially creating the .hbx file for a new project.
! Never use .hbx filename for forming the output name
and deciding about startup module.
* utils/hbmk2/hbmk2.prg
* config/postinst.hbs
+ Do not add duplicates to extern list.
(it may have only happened if renaming sources and
building without clean)
* contrib/hbrunext/hbrunext.hbp
* contrib/hbrunext/pullext.prg
* utils/hbrun/hbrun.prg
+ Will now show the list of available extensions if any is linked.
* INSTALL
* watt homepage update. [Tamas]
* contrib/make.hbs
+ Updated to use hbmk2 to create hbx files.
* contrib/3rd/sqlite3/sqlite3.hbc
* Fix for Minix. From Tamas.
* contrib/hbblink/hbblink.hbx
* Updated.
* utils/hbmk2/hbmk2.prg
* Refinements in hbx related console feedback.
* contrib/hbplist
+ Added hbrunext to contrib list, so it's now built for everyone.
; It also builds nicely using full shared mode (on win platform
with '-env:__HB_DYN__=_dll -shared' options). .exe is 1MB with
mingw.
But, there is one catch, harbourmt.dll and harbour.dll are mixed
(mt pulled by hbrunexp, st pulled by contrib dlls),
which is tricky business. What's best solution for this? (Obviously,
building both ST and MT versions of all .dlls doesn't seem like
a very good idea)
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.es_PE.po
+ Added 'requests=' command to .hbc files.
* utils/hbrun/hbrun.prg
+ Added my name to copyright banner.
* utils/hbmk2/hbmk2.prg
+ Add -D__HBEXTREQ__ whenever an .hbx module is present in a project.
* contrib/hbpost.hbm
- Delete manual -D__HBEXTREQ__. Now automatic.
* utils/hbmk2/hbmk2.prg
+ Added -request= option to force linking any custom function/procedure
to target executable.
* contrib/hbrunext/hbrunext.hbp
* Replaced small hack using -main= to force linking, with -request= option.
* utils/hbmk2/hbmk2.prg
* config/beos/gcc.mk
* config/qnx/gcc.mk
* config/bsd/gcc.mk
* config/wce/mingwarm.mk
* config/vxworks/gcc.mk
* config/minix/gcc.mk
* config/darwin/gcc.mk
* config/hpux/gcc.mk
* config/win/mingw.mk
* config/linux/gcc.mk
* config/cygwin/gcc.mk
* config/symbian/gcc.mk
* config/os2/gcc.mk
* config/sunos/gcc.mk
! Separate -Wimplicit-int and -Wimplicit-function-declaration
so that they are added to cflags only when not in cpp mode.
; Patch by Tamas.
* utils/hbmk2/hbmk2.prg
+ Added -manifest= hbmk2 option for -hbexe/-hbdyn targets on
Windows platform. (all compilers supported)
Pls test.
; To generate manifests with -hbdyn and pocc/msvc compilers,
use -dflag=-manifest (or any other manifest related options
their linker support)
; TOFIX: bcc's resource compiler doesn't work in -inc mode.
* utils/hbmk2/hbmk2.prg
+ Added "nCOMPVer" variable for hbmk2 plugins. This returns
C Compiler version, which currently gives results for
mingw and msvc.
* utils/hbmk2/hbmk2.prg
+ Implemented experimental link script for mingw compilers with
-hbdyn targets. If it works out it can be extended to -hbexe
outputs, too. With further work it can be extended for os2 and
dos platforms. I will only do this if someone actually
reports such problems and can do tests.
; Please retest mingw build with HBQT contrib enabled, long HB_BUILD_NAME,
and HB_BUILD_CONTRIB_DYN=yes, and also normal cases.
* utils/hbmk2/hbmk2.prg
+ Adding clib3s lib to system lib list for win/watcom when
in -hbdyn mode. This is to fix link errors of 3rd (non-Harbour)
dynamic libs in HB_BUILD_CONTRIB_DYN=yes mode.
I have no idea why it's needed, so please extended or tweak
this fix if you have a better understanding of it.
(maybe the lib should be add for all platforms, or for
all link modes, etc)
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
+ Enabled for win/watcom. I don't know since when it builds and
what fixed it, so it's possible it's still broken with older
watcom verions. Now it builds fine with 1.9.
; TOFIX: watcom still has problems with missing externals when
building hbwin dll:
Error! E2028: IID_IDispatch is an undefined reference
Error! E2028: IID_IOleObject is an undefined reference
Error! E2028: IID_IUnknown is an undefined reference
Error! E2028: GUID_NULL is an undefined reference
Error! E2028: IID_IProvideClassInfo2 is an undefined reference
Error! E2028: IID_IProvideClassInfo is an undefined reference
Error! E2028: IID_IConnectionPointContainer is an undefined reference
Error! E2028: IID_IEnumVARIANT is an undefined reference
gtwvg dll:
Error! E2028: IID_IPicture is an undefined reference
and hbodbc dll:
Error! E2028: _SQLSetStmtAttrW@16 is an undefined reference
Any idea?
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
+ Keep order of filter lists.
* utils/hbmk2/hbmk2.prg
! Use _hbmkcpp_<cFirstFile>.cpp (instead of _hbmkcpp.cpp) on
non MS-DOS platforms.