* contrib/hbblat/hbblat.hbp
* contrib/hbcurl/hbcurl.hbp
* contrib/hbssl/hbssl.hbp
! fix to prev
* contrib/hbpost.hbm
* contrib/hbqt/hbqt_common.hbm
* deleted extra pathsep
* contrib/hbfbird/hbfbird.hbp
* contrib/hbgd/hbgd.hbp
* contrib/sddfb/sddfb.hbp
! fixed to use .dll imp lib source in -hbdyn mode.
it's a fix for experimental HB_INSTALL_3RDDYN option.
* contrib/make.hb
* minor cleanups in errorlevel descriptions
* utils/hbmk2/hbmk2.prg
! fixed finding scripts in path and without extensions
in runner mode
! fixed to not execute '.' when runner mode is started
with 'hbmk2 .' command
* utils/hbmk2/hbmk2.prg
+ will now gather a list of existing 3rd party dll dependencies
using the file-group named 'depimplibsrc'. This list can
be used to install these files to user-specific locations
* contrib/hbpost.hbm
+ added global solution to install 3rd party dll dependencies,
with minor fixes
* contrib/hbblat/hbblat.hbp
* contrib/hbcurl/hbcurl.hbp
* contrib/hbssl/hbssl.hbp
- deleted local solution to install 3rd party dll dependencies
* utils/hbmk2/hbmk2.prg
* .hb? input make files are now considered with UTF8 encoding.
+ enabled full UTF8 CP on *nix systems. EXPERIMENTAL.
* debian/copyright
* package/winuni/mpkg_win_uni.nsi
* utils/hbmk2/hbmk2.prg
* contrib/hbpost.hbm
* contrib/hbnetio/utils/hbnetio/modules.hbp
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbqt/hbqt_common.hbm
* contrib/hbide/ideedit.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesaveload.prg
* contrib/hbrun/hbrun.prg
* contrib/hbrun/plugins.prg
* config/postinst.hbs
* COPYING
+ added support for .hb extension for Harbour scripts.
I plan to make a full switch to .hb from .hbs.
* contrib/make.hbs
* contrib/hbpost.hbm
+ use HB_LIB3RD hbmk2 macro instead of rolling custom logic
to detect and enable unicows lib.
* utils/hbmk2/hbmk2.prg
+ added HB_LIB3RD internal variable (usable as filter and as macro)
it's filled when '<hbroot>/lib/3rd/<plat>/<comp>' directory is present
+ added EXPERIMENTAL pseudo-function for filters to detect presence
of file or directory: {hb_ispath='<file or directory>'}. if the
value is not an absolute path, it will be meant relative to source
hbmk2 file.
* package/harb_win.mft
* package/harb_win.rc
* package/mpkg_win.nsi
* package/mpkg_src_nightly.sh
* package/winuni/mpkg_win_uni.nsi
* "Harbour Project" -> "Harbour"
* "hbrun" shortcut -> "Harbour (Interactive shell)"
* utils/hbmk2/hbmk2.prg
+ will now add lib/3rd dir to the link commands, so
unicows lib will be found in uninstalled Harbour SVN
source tree.
* contrib/make.hbs
* contrib/hbpost.hbm
+ automatically enable unicows support for contribs, if available.
- deleted support for undocumented __HB_BUILD_WINUNI envvar
* config/global.mk
* config/rules.mk
- deleted support for undocumented __HB_BUILD_WINUNI envvar
* package/winuni/mpkg_win_uni.bat
* package/mpkg_win_nightly.bat
- deleted special support for unicows libs for nightly
and official releases, along with HB_DIR_UNICOWS envvar.
Now these libs are included in all builds.
* config/win/global.mk
+ automatically enable unicows support for core, if available.
* config/win/xcc.mk
* config/win/icc.mk
* config/win/mingw.mk
* config/win/pocc.mk
* config/win/bcc.mk
* config/win/msvc.mk
+ added support for SYSLIBPATHS. (used by unicows support)
! fixed bcc dynlib link command missing libpaths.
; NOTE: watcom unicows support is missing, as it needs
special tricks due to missing separate libpath option
in this compiler/linker.
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.mk
* synced with config/win files
+ config/libbin.mk
+ added rule to install pre-built binary libs.
(for unicows libs)
* Makefile
+ lib/3rd
+ lib/3rd/win
+ lib/3rd/win/mingw
+ lib/3rd/win/mingw/Makefile
+ lib/3rd/win/mingw/libunicows.a
+ lib/3rd/win/mingw/libunicows_license.txt
+ lib/3rd/win/bcc
+ lib/3rd/win/bcc/unicows_license.txt
+ lib/3rd/win/bcc/unicows.lib
+ lib/3rd/win/bcc/Makefile
+ added locally hosted unicows runtime/implibs from:
http://libunicows.sourceforge.net/ by author Vaclav Slavik.
With these libs, it's possible to use UNICODE builds
with both MS unicows.dll and opencows .dll on legacy
Windows-system (Win9x).
These libs will be installed to Harbour core lib directory,
and also used from lib/3rd directory, if they are available.
I've uploaed mingw and bcc libs because these are used
nearly exclusively by users, but they are also available
for older msvc, watcom, dmc and lcc compilers. I don't
think it's worth the extra size to support Win9x using
these legacy compilers, anyhow they can be added easily
if needed (except watcom, which requires more work).
; These changes mean three things:
1. Harbour now has only one build mode on Windows: UNICODE
This will greatly simplify coding and testing and will
allow to focus much better on what's important. It also
allows to drop lots of dual code dealing with separate
UNICODE and non-UNICODE branches.
2. Harbour default builds will now run on Win9x (currently
when using mingw or bcc compilers), though UNICOWS.DLL
is now required. See INSTALL how to get this free .dll
from MS. This also means that Harbour can now theoretically
by built on Win9x systems (I didn't try).
3. Harbour users can create UNICODE builds compatible with
Win9x, by simply adding -lunicows to their .hbp projects.
No extra installation is required.
* contrib/hbpost.hbm
+ install .hbx files to respective contrib dirs.
; TODO: delete all '-instfile=inc:' options from contrib .hbp files
so that contrib headers are no longer duplicated in central
Harbour include dir. This WILL BE INCOMPATIBLE change requiring
users to use <contrib>.hbc files to add contrib packages
to their projects (as opposed to manual -l options).
* contrib/make.hbs
* contrib/hbpost.hbm
+ implemented contrib-specific public file copy process using
standard hbmk2 logic. (with very minor help from make.hbs)
* contrib/make.hbs
* cleaned up previously added logic, then disabled the whole
thing, now replaced by standard hbmk2 logic.
* config/postinst.hbs
* minor fmt
; TODO: replace global contrib-specific file rules with contrib-local
ones. so that unnecessary files won't be copied and any
extra/special files will be.
* include/extend.api
* include/hbdefs.h
* include/hbapi.h
* include/clipdefs.h
* contrib/hbpost.hbm
* contrib/hbfimage/hbfimage.hbp
* config/rules.mk
- deleted HB_LEGACY_TYPES_OFF macro. it is the default
in post 3.0.x Harbour versions.
+ added HB_LEGACY_TYPES_ON macro. This should be used when
building C code which uses Clipper/Harbour legacy types
(f.e. LONG or BOOL).
It will stay until next stable version when all legacy
types will be permanently removed. This gives time for
3rd party developers to update code to use Harbour
(non-legacy) types in C code.
See '2009-11-01 11:35 UTC+0100 Viktor Szakats' ChangeLog
entry about non-legacy Harbour types.
* config/win/global.mk
* contrib/hbpost.hbm
+ added undocumented build option __HB_BUILD_WINUNI=unicows
to build Harbour core binaries (.exes and .dlls) with
unicows lib linked it so they run on Win9x systems.
User has to supply unicows libs, see INSTALL about them.
* include/Makefile
+ include/hbstrict.ch
* contrib/hbpost.hbm
+ added experimental -u+ header to catch some common code style
problems. currently IF() is caught, but it interferec with std.ch
hbsix.ch and possibly more, so it's not enabled
* config/global.mk
* src/dynlib/2nd/Makefile
* src/dynlib/Makefile
* secondary harbour dynlib is now enabled by __HB_BUILD_DYN_2ND=yes
* renamed secondary harbour dynlib to harbour2*
+ it's now possible (again) to build harbour .dll in ST mode by
using __HB_BUILD_DYN_ST=yes. if used together with __HB_BUILD_DYN_2ND=yes,
the secondary dynlib will be MT. (pls note the secondary dynlib
is never directly used by hbmk2, so it's there for mere build convenience
only)
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/xbpprintdialog.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/hbxbp/xbpprinter.prg
* contrib/hbxbp/xbpdataref.prg
! IF() -> IIF() (with the help of hbstrict.ch)
* contrib/hbformat/hbfmtcls.prg
! fixed mistakenly changed '==' to LEFTEQUAL() in prev commit
* debian/control
* debian/compat
* debian/rules
- add all build-depends
- create detached debug symbol package
- various small bits
; [Tamas Tevesz]
* contrib/hbpost.hbm
* Removed soversion from dynlib name for cygwin targets.
(untested)
* contrib/hbtip/tests/httpadv.prg
* contrib/hbtip/tests/dnldftp.prg
* contrib/hbtip/tests/tipmmail.prg
* contrib/hbtip/tests/tiptest.prg
* contrib/hbtip/tests/dbtohtml.prg
* contrib/hbtip/tests/upld_ftp.prg
* contrib/hbtip/tests/tipmail.prg
* contrib/hbtip/tests/base64.prg
* contrib/hbtip/tests/ftpadv.prg
* contrib/hbtip/tests/loadhtml.prg
* contrib/hbtip/tests/tipmime.prg
! inside is one real fix (unused var in base64.prg), the rest is
generous use of hbformat + some manual editing (weed out funky chars,
reduce eye bleeding caused by comment blocks, throw away c++-style
comments, and the like).
; [Tamas Tevesz]
* contrib/hbpost.hbm
* config/linux/gcc.mk
+ Setting -soname on linux systems. Experimental, I don't know a bit about
what this value should be or how it's supposed to work, so pls test.
Once settled one something, it should be extended to all *nix platforms
and all linux compilers.
* 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.
* 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.
* config/global.mk
* config/rules.mk
* contrib/hbpost.hbm
* INSTALL
+ Renamed HB_BUILD_UNICODE to HB_BUILD_WINUNI.
Reasons many-fold, first it makes it clear this is a Windows
only setting, second it makes room for future UNICODE
setting which may mean a native UNICODE Harbour HVM,
third is to try to clear up the wide misunderstandings
surrounding this setting (several users thought this
will enable general UNICODE support in Harbour).
+ Extended/changed description of option HB_BUILD_WINUNI,
explaining its purpose better, giving more precise details
for WinCE builds and builds on Win9x/ME hosts.
; INCOMPATIBLE: If you use this setting, rename it on
your system. Note1: You don't have to set this
when doing WinCE builds (it's ignored).
Note2: Try UNICOWS, instead of overriding
this setting. It works.
* utils/hbmk2/hbmk2.prg
* Changed the way target selection (-hblib, -hbdyn*, -hbexe, etc)
options are handled. So far the last one specified remained
active, now the first one specified will stay active.
IOW: 'hbmk2 -hbdyn mylib.hbp' will result in dynamic lib target,
even if mylib.hbp contains -hblib option.
; Beware of some regressions or incompatibility with certain
build configs.
* contrib/hbpost.hbm
* contrib/hbpre.hbm
* Moved -hbdyn option to hbpre.hbm. This makes it possible
for .hbp files to act differently when built as dynamic lib.
; Such will be required for
* external/libhpdf/libhpdf.hbp
* Cleared TOFIX after above changes.
* contrib/hbplist
* contrib/hbmzip/hbmzip.hbp
* contrib/hbmzip/hbmzip.hbc
- external/minizip
+ contrib/hbmzip/3rd
+ contrib/hbmzip/3rd/minizip
* contrib/hbmzip/3rd/minizip/minizip.hbc
* contrib/hbmzip/3rd/minizip/minizip.hbp
- contrib/hbmzip/3rd/minizip/Makefile
* Moved minizip dir under the contrib that uses it.
; Please test.
* INSTALL
* win-make.exe
* w64-make.exe
+ Update included GNU Make to 3.82 (from 3.81)
(locally built from CVS using msvc2010).
* contrib/hbpost.hbm
% Minor opt/cleanup.
* utils/hbmk2/hbmk2.prg
+ Added ${hb_dynsuffix} macro which returns a dynlib suffix
value compatible with the naming system used for Harbour core
dynlib (-x64, -wce-arm, -bcc, etc..)
% Internals optimized to use dynsuffix value when calculating
harbour core dynlib name.
! Fixed to not require macros inside filters to be uppercases.
(as a side effect now unknown macro names will be passed
as is to getenv() to check for possible envvar value)
* contrib/hbpost.hbm
+ Will now use ${hb_dynsuffix} when forming output name in
-hbdyn mode. So f.e. for x64 targets an '-x64' suffix will
be used, which matches with the one used with core harbour
dynlib. Also bcc targets will get -bcc postfix.
+ Will now use ${hb_dynsuffix) when forming implib output name
if it's not empty (for x86, ia64, wce and bcc in practice).
* contrib/make.hbs
* config/postinst.hbs
! Display msg about extern generation only if it was really started.
* config/hbextern.hbs
! Fixed to check for the presence of input file.
* utils/hbmk2/hbmk2.prg
+ -implib= option now accepts filename, too (exactly like -o option)
So it's possible to manually set the generated implib lib in
-hbdyn (and -hbexe) modes.
* contrib/hbpost.hbm
+ Moved the _dll/_exe implib output name postfixing logic from
hbmk2 (though hbmk2 will still keep appending these by default)
This way the "_dll" postfix thing is fully controlled by make.hbs
and hbpost.hbm, no hidden "agreements" with hbmk2.
* config/global.mk
+ Added log warning, if the source tree is modified.
* utils/hbmk2/hbmk2.prg
+ Added -depimplib[-] option to contrib implib creation for
dependency dlls.
+ Added -autohbm[-] cmdline-only option to disable processing of
hbmk.hbm in current directory.
* contrib/hbpost.hbm
+ Disabled implib creation for dependency dlls for HB_BUILD_CONTRIB_DYN
mode.
* contrib/hbgd/hbgd.hbp
! Fixed to use .lib as implib source for coff-compatible targets and mingw.
; NOTE: Successfully created a small test app which uses harbour.dll and
contrib .dlls:
'contrib\hbct\tests\hbmk2 addascii.prg -lhbct_dll -shared -autohbm-'
'contrib\hbpgsql\tests\hbmk2 async.prg -lhbpgsql_dll -shared -autohbm-'
(-autohbm is there only to disable hbmk.hbm processing)
Quite nice, isn't it?
For these examples, there are problems:
'contrib\hbblat\tests\hbmk2 blatcmd.prg -lhbblat_dll -lhbwin_dll -shared -autohbm-'
It's showing application errro 0xc0000142.
For this other one:
'contrib\hbgd\tests\hbmk2 barms.prg -lhbgd_dll -shared -autohbm-'
It's showing this RTE:
---
Error BASE/3003 Cannot find super class: __CLSINSTSUPER
Called from __CLSINSTSUPER(0)
Called from HBCLASS:CREATE(0)
Called from TCODE(0)
Called from MAIN(30)
---
"Almost" there. If you have any idea why it fails, pls tell.
Loading contrib pcode .dlls dynamically:
--- hbmk2 testdyn.prg -shared -autohbm-
DYNAMIC CHARADD
PROCEDURE Main()
LOCAL l := hb_libLoad( "hbct.dll" )
IF ! Empty( l )
QOUT( CHARADD( "abc", Chr( 1 ) ) )
ENDIF
RETURN
---
Running it results in:
---
Error BASE/1001 Undefined function: CHARADD
Called from CHARADD(0)
Called from MAIN(7)
---
* utils/hbmk2/hbmk2.prg
! Fixed ${hb_workdynsub} macro not returning correct value.
! Fixed to install implibs when -instforce is used and targets are
up to date.
+ Added -implib=<dir> option to control placement of implibs generated
in -hbdyn and -hbexe modes. (by default it's the output dir for
main target)
+ Added autodetection of hbmaindllp lib and this case generate little
stub posted by Przemek on the list earlier this year, and in this
case also enabling linkage of shared Harbour lib in -shared mode.
NOTE: Pls check this, this solution is Windows centric, but until
I know this is the correct track I didn't want to extend it.
Przemek can you take a look at it?
* Changed the install group name to "depimplib" for implibs generated
for dependencies, and use "implib" group for implibs generated for
our own targets. This is needed to be able to control them
separately, since we don't necessarily want to install "depimplib"
while we always want to install "implib"s.
* contrib/make.hbs
* contrib/hbpost.hbm
* Updated list of TODOs
* HB_BUILD_CONTRIB_DLL changed to HB_BUILD_CONTRIB_DYN
+ HB_BUILD_CONTRIB_DYN now works also in stdalone mode.
% Moved HB_BUILD_CONTRIB_DYN related options to hbpost.hbm
+ Added -shared and -lmaindllp options to dynamic lib build mode.
* Changed dependency implib install target to have 'depimplib'
prefix to differenciate from -hbdyn implib install target.
+ Added -implib=<dir> option to tell hbmk2 to create implibs
in lib dir in -hbdyn mode.
+ Added install target for implibs generated in -hbdyn mode.
; All this means that now by setting HB_BUILD_CONTRIB_DYN=yes,
a dynamic version will be build of the libs, import lib
placed in lib dir, dynamic lib placed into dynamic lib dir
(bin on non-*nix platforms, lib on *nix platforms).
IOW, now HB_BUILD_CONTRIB_DYN=yes should work, at least on
win and wce. I didn't make functional tests though.
Please review/test it.
* include/hbsocket.h
* src/rtl/hbsocket.c
! Fixed type in C level function name.
* src/rtl/hbdoc.prg
! Fixed to always use CRLF as EOL in internal doc data.
* contrib/hbtip/utils.c
! HB_BASE64() marked as HB_LEGACY_LEVEL3.
+ Added TIP_CRLF()
* contrib/hbtip/smtpcli.prg
* contrib/hbtip/client.prg
* contrib/hbtip/ftpcli.prg
* contrib/hbtip/mail.prg
* Using TIP_CRLF() instead of HB_INETCRLF().
* config/postinst.hbs
+ More meaningful message when doing 'make install' without
HB_INSTALL_PREFIX being set.
* contrib/hbpost.hbm
+ Added extra protection to not try to install anything when
using 'install' without target dir being specified.
* INSTALL
* Updated to reflect the optional nature of make 'install'
option.
* Updated to reflect change in HB_INSTALL_PREFIX.
* {hb_top} HB_INSTALL_PREFIX macro not documented anymore.
* utils/hbrun/hbrun.prg
+ Added public function HBRUN_DIRBASE() which returns the
same value as envvar __HBRUN__DIRBASE, but this one looks
a superior interface between scripts and runner environment.
Pls comment.
* contrib/make.hbs
* contrib/hbpost.hbm
* Updated TODO list.
* Renamed internal _HB_*_INSTALL vars to _HB_INSTALL_*
; TODO: Do the same in Harbour with HB_*_INSTALL envvars.
* utils/hbmk2/hbmk2.prg
+ Added -instforce option which will force the target to be
copied to -instpath even if it was up to date. This is to
make it in sync with GNU Make behaviour, where single
'make install' will copy everything regardless of being
up to date or not.
* contrib/hbpost.hbm
+ Added -instforce to make it in sync with old GNU Make
behavior. Such case is exploited by .rpm generation, and
this is the reason why the contrib libs weren't
appearing in target lib dir.
* config/postinst.hbs
+ Added two .so related TOFIXes.
* mpkg_src.sh
+ Changed to always delete temp file bin/hb_flst.tmp containing
a list of all source files. (anyone knows why was it left there?)
* package/harbour.spec
* Minor in comment.
* Temply commented adding .so files in the lib/ root (without harbour postfix)
* contrib/make.hbs
* contrib/hbpost.hbm
+ Added support for HB_MAN_INSTALL, HB_ETC_INSTALL.
* utils/hbmk2/hbmk2.prg
+ Enabled multi-input compilation for *nix gcc family. This means that
all C source files will be now compiled in one gcc invokation, instead
of compiling them one by one.
% PATHNORMALIZE(): delete unused function.
% ISDRIVESPEC() converted to macro _ISDRIVESPEC().
* config/postinst.hbs
+ Added code to create ld config file.
+ Added commented original bash code to create .so links which I cannot
understand. Anyone to jump in?
+ Added PathNormalize() function from hbmk2.
+ Changed back DirBuild() to always normalize path before creating it
(to filter out potential ".." and "." dirs from it). Required for
ld creation.
* config/global.mk
* HB_ETC_INSTALL is now format equally on all *nix platforms to have a
'harbour' subdir. Required to work well with ld creation logic in postinst.hbs.
* contrib/hbqt/tests/wvtqt.hbp
* contrib/hbxbp/tests/wvtqt.hbp
! Added missing SVN header.
% Cleanup.
* INSTALL
* contrib/hbpost.hbm
* config/global.mk
* Changed HB_BUILD_IMPLIB to HB_INSTALL_IMPLIB to reflect
new meaning after recent changes. With new build system
the implibs are always created in lib working dir, and
this setting only controls whether to copy it to final
install directory. The default is still 'no'. Setting it
to yes is only recommended if the installation will be
used in local environment (3rd party .dlls) only. IOW
never set this to yes when creating a build for other
users (f.e. for distribution).
INCOMPATIBLE if you used this setting, pls change it now.
* INSTALL
+ Documented HB_STATIC_* options.
* contrib/make.hbs
* Updated TODO list.
* src/debug/debugger.prg
* src/rtl/dirscan.prg
* tests/wcecon.prg
* contrib/xhb/traceprg.prg
* contrib/hbqt/tests/wvtqt.hbp
* contrib/hbqt/generator2/hbqtgen2.prg
* contrib/hbxbp/tests/demoxbp.prg
* contrib/hbxbp/tests/dialogqt.prg
* contrib/hbxbp/tests/wvtqt.hbp
* contrib/hbhpdf/tests/harupdf.prg
* contrib/gtwvg/tests/wvgtbrowser.prg
* contrib/gtwvg/tests/wvgwvtclasses.prg
* contrib/hbtip/tests/dbtohtml.prg
* contrib/hbtip/mail.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idetools.prg
* contrib/hbide/idesources.prg
* contrib/hbide/hbide.prg
* examples/uhttpd2/umain.prg
* examples/hbvpdf/tests/pdf_demo.prg
* examples/httpsrv/uhttpd.prg
* examples/httpsrv/cgifunc.prg
* examples/httpsrv/modules/tableservletdb.prg
* examples/httpsrv/session.prg
* HB_OSPATHSEPARATOR() -> HB_PS()
% Delete temp vars along the way.
* utils/hbmk2/hbmk2.prg
+ Generalized internals for support for older Harbour and
xhb versions.
+ Added -hb20 option. (thanks for asking for it so nicely ;)
* src/rtl/stuff.c
! Fixed GPF in STUFF() when HB_SIZE is signed value.
(HB_SIZE_SIGNED mode)
* contrib/make.hbs
% Normalized some dirs to give cleaner and shorter output.
+ Shows HB_BUILD_CONTRIBS value.
! Fixed to only generate doc once for multi-hbp packages (HBQT f.e.).
% Internal cleanups.
* contrib/hbqt/hbmk2_plugin_qt.hbs
+ Honor HB_WITH_QT also on OS/2.
* Internal. Feedback is still not perfect.
* utils/hbmk2/hbmk2.prg
+ Normalize implib source dirs, -o dirs, -workdir dirs.
+ Implibs automatically generated for dependencies are now put
in the 'implib' install target category, so they can be controlled
separately.
* contrib/hbpost.hbm
! Fixed to only install new automatic implibs when HB_BUILD_IMPLIB=yes.
; TODO: Rename this setting to HB_INSTALL_IMPLIB (or some better
name). Now implib are always made, this setting only controls
whether to install them (f.e. we don't want to install them
when creating package for distribution).
- Deleted stuff belonging to stdalone -hbimplib targets. This
method is deprecated inside contrib area.
* config/global.mk
- Do not show HB_CONTRIBLIBS value anymore.
* utils/hbmk2/hbmk2.prg
+ Added mingw/mingw64 version detection. Not very extensively
tested.
+ Added -depimplibs=, -depimplibd cmdline options, and depimplibs=
and depimplibd .hbc options. They serve to configure automatic
(without stdalone .hbi file using -hbimplib) import library
generation for dependencies. The internal logic is the same,
but now implibs can be generated for multiple dependencies
at once, using pure .hbp files (or eveb .hbc for that matter).
+ Filters now also support '<' and '>' operators.
+ Filters will now expand internal macros before looking for
envvars.
+ Added HB_COMP_VER macro, returning compiler version.
! Fixed to handle "*.hbs" passed as option.
! Fixed to do entry detection also for .hbs files.
* contrib/make.hbs
- Temply disabled .hbi handling, now it's done by .hbp files.
! Refixed to skip hbhrb/hbppo projects in stdalone mode.
* contrib/hbqt/tests/testbrow.prg
* Updated with Bacco's 'testedit.prg' sent to the list.
* Formatting. (pls try to format it like this)
* contrib/hbpost.hbm
+ Enabled 'dynamicbase' and 'nxcompat' exe generation flags
for newer versions of msvc and mingw, to be in sync with
our GNU Make settings (and safety).
* contrib/xhb/hbcompat.ch
! Fixed some wrong xhb to Harbour translations reported by Rossine.
* contrib/hbide/hbide.hbp
% Deleted -gc3. It made the executable 2MBs larger.
Pls report any performance problems after this
change.
* contrib/gtalleg/gtalleg.hbp
* contrib/hbblat/hbblat.hbp
* contrib/hbcairo/hbcairo.hbp
* contrib/hbcurl/hbcurl.hbp
* contrib/hbfbird/hbfbird.hbp
* contrib/hbfimage/hbfimage.hbp
* contrib/hbgd/hbgd.hbp
* contrib/hbhpdf/hbhpdf.hbp
* contrib/hbmysql/hbmysql.hbp
* contrib/hbpgsql/hbpgsql.hbp
* contrib/hbssl/hbssl.hbp
* contrib/rddads/rddads.hbp
* contrib/sddfb/sddfb.hbp
* contrib/sddmy/sddmy.hbp
* contrib/sddoci/sddoci.hbp
* contrib/sddpg/sddpg.hbp
+ Added new switches to enabled automatic import library
generation without .hbi files.
Please note that this means that now HB_WITH_BLAT will
have to be set from now on for hbblat lib.
* config/global.mk
* Minor.
* config/win/watcom.mk
! Fixed to add .exe extension to watcom tools to make it work
in wine-based cross build situations. [pls note that watcom
can create cross builds using its native tools, so this is
just the cherry on top :)]
Patch provided by Tamas Tevesz.
* contrib/make.hbs
* contrib/hbpost.hbm
% Internal simplifications, merged list of contribs into one.
% Moved HB_BUILD_PARTS logic to .hbmk file.
* contrib/sddodbc/sddodbc.c
! Applied previous patch for hbodbc to sddodbc.
Thanks for Tamas Tevesz to supply the .dif.
* 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.
- examples/hbdoc2
+ contrib/hbdoc2
* contrib/make.hbs
+ Moved hbdoc2 to contrib area.
+ Added hbdoc2 to std set of utils built.
; I plan to add hbdoc2 to std build process so that we don't
have to ship raw doc files in distros, plus, tools like hbide
can use pre-compiled docs for "intellisense" feature. We
don't have such pre-compiled file format.
; TODO: Delete hbdoc processing logic and code from hbide and
use external calls to hbdoc2 for such tasks (f.e. when
compiling "intellisense" database for addon lib.
* contrib/hbpost.hbm
! Fixed typo in -o option.
! Fixed tricky error in last commit causing workdir
to be placed at wrong place.
* utils/hbmk2/hbmk2.prg
+ --hbrefs option renamed to --hbinfo and now also includes
target type.
+ Extended target detection with 'hbppo' and 'hbhrb' types.
These are automatically detected from Harbour option usage.
+ Added ${hb_outputname} macro. Returns the output name as
specified with -o option, without extension. Returns empty
if there wasn't -o option at the point of usage.
+ Added ${hb_outputdir} macro. Returns the output dir as
specified with -o option. Returns empty if there wasn't
-o option at the point of usage.
+ -p -s options don't require to manually select -hbraw
mode, it will be autodetected.
! Fixed to not interpret -i- Harbour option as include dir.
+ Don't add the same Harbour option twice.
* contrib/Makefile
* contrib/make.hbs
+ contrib/hbpost.hbm
+ contrib/hbpre.hbm
% Cleaned the way build options are passed to hbmk2.
+ Synced much more options and build behavior of hbmk2
based contrib build with GNU Make build (debug, unicode,
warnings, Harbour settings, C settings)
+ Added more projects to hbmk2 build method.
% Deleted MS-DOS specific hack (for now) because the new
cmdlines are very short.
; TODO: Now make.hbs is not self-contained, which would
better be solved somehow.
* contrib/make.hbs
+ It will now detect and show target type in stdalone mode.
+ Synced default build options with GNU Make.
* contrib/hbqt/hbqts.hbp
* contrib/hbqt/hbqtguis.hbp
* contrib/hbqt/hbqtcores.hbp
* contrib/hbqt/hbqtnetworks.hbp
+ Added -hblib option to make it easy to detect target type
for 3rd party tools.
* contrib/hbnetio/utils/netiosrv.prg
+ Will now also accept .hbs and .prg files as RPC filters.
- contrib/hbnetio/utils/modules
* contrib/hbnetio/utils/modules.hbp
+ contrib/hbnetio/utils/rpcdemo.hbs
* Renamed RPC demo to .hbs.
* Deleted modules subdir.
- contrib/hbnetio/utils/hbmk.hbm
* contrib/hbnetio/utils/hbnetio.hbp
- Deleted separate hbmk.hbm.
* contrib/hbnetio/utils/netiocmd.prg
! Minor in help screen.
* contrib/hbnetio/tests/netiotst.prg
+ Added some feedback.