* utils/hbmk2/hbmk2.prg
* config/postinst.prg
+ Changed the way default .hbc search paths are setup. Now
instead of being speficied by hbmk.cfg, they are hard-coded
into hbmk2: contrib, addons. This makes these
search paths work even whithout 'install' build phase.
Pls note that 'examples' fell out of the std search path list.
- hbmk2 will _no longer_ automatically process .hbc files in
current directory. This concept was causing more trouble
than good, as it turned out. Also removed -nohbc option,
which has now lost its meaning.
; TODO: Rename hbmk.cfg to hbmk.hbc to have a standard
extension.
; TODO: To solve the search path issue on *nix dir structures.
Currently the search paths are:
bin/../contrib/, bin/../addons/
; TODO: Delete -nohbc options from all hbmk2 project files.
; TODO: Delete paths from .hbc references (possibly after
solving the *nix search path arrangement issue)
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* Renamed hbrun-x64-dll.exe -> hbrun-dll-x64.exe
* examples/rddado/rddado.hbc
! Fixed .hbc reference path. Thanks to Itamar for reporting it.
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* package/winuni/mpkg_win_uni.bat
* utils/hbformat/Makefile
* utils/hbi18n/Makefile
* utils/hbtest/Makefile
* config/postinst.prg
* Forcing shared build for hbformat, hbi18n and hbtest.
Simply to save binary sizes on all platforms.
* Disabled extra shared (-dll) version for hbformat, hbi18 and hbtest
because this is now the default mode for these.
* Disabled extra shared (-dll) version for hbmk2.
* Changed distro to always include hbrun x64 shared build, too.
; To sum it up: hbformat, hbi18n, hbtest will now have shared exes
generated and distributed, for hbmk2 only static one, and for hbrun
both. This simplifies build and install, and fully syncs x64 tools
distributed, with 32-bit ones.
+ external/patchup.prg
+ Added new 'patchup' Harbour script written by Tamas Tevesz.
The script serves as a tool to automate downloading,
file renaming, patching and recreating local .dif for
source packages we host locally in external directory.
The tool is also able to automatically recreate .dif file
after making local modifications in these sources,
don't forget to run 'hbrun patchup -rediff' in such case.
[ It replaces prev ren_sfn.prg tool created by me. ]
Please make sure to read the documentation and tool
requirements included in the .prg itself.
Very nice job, thanks a lot Tamas.
; TODO: Updating Makefiles with new metadata.
- config/ren_sfn.prg
- Deleted tool now superceded by patchup.prg
* config/win/pocc.mk
* config/win/pocc64.mk
! Fixed pocc64 build. The build setup was broken since
about 2.0.0beta2. One year without anyone noticing.
* src/rtl/hbsocket.c
! Readded once present (in old hbinet.c) ugly kludge for pocc64
to at least be able to build binaries instead of choking on a
missing Windows function. More in the source code.
Affecting both 5 and 6.
* external/zlib/Makefile
! Added ugly workaround to avoid quite strange pocc64 (both 5 and 6)
error when compiling crc32 for dynamic lib:
---
pocc.exe -I. -I../../../../../include -Ze -Go -MT -Tamd64-coff -Ot -DHB_LEGACY_TYPES_OFF -DUNICODE -Focrc32_dyn.obj -DHB_DYNLIB -DZLIB_DLL -c ../../../crc32.c
../../../crc32.c(209): error #3101: [asm] Invalid argument to 'GLOBAL'.
../../../crc32.c(209): error #3152: [asm] Expected ']'.
../../../crc32.c(209): error #3151: [asm] Syntax error.
../../../crc32.c(223): error #3101: [asm] Invalid argument to 'FUNCTION'.
../../../crc32.c(223): error #3152: [asm] Expected ']'.
../../../crc32.c(223): error #3151: [asm] Syntax error.
../../../crc32.c(223): error #3151: [asm] Syntax error.
---
* external/bzip2/Makefile
! Disabled for pocc64 (both 5 and 6), due to this error:
---
pocc.exe -I. -I../../../../../include -Ze -Go -MT -Tamd64-coff -Ot -DHB_LEGACY_TYPES_OFF -DUNICODE -Foblocksor.obj -c ../../../blocksor.c
../../../blocksor.c(583): error #3114: [asm] Invalid combination of opcode and operands.
---
* src/rtl/gtwin/gtwin.c
! Fixed for pocc after: 2010-03-05 19:26 UTC+0100 Viktor Szakats
(looks like pocc isn't very actively used in Harbour)
* config/globsh.mk
+ Added two TODOs to FALSE definitions.
* config/globsh.mk
+ 'FALSE' variable set for 'nt' shells.
* 'FALSE' variable set to a dummy value ($(TRUE)) for 'dos' and 'os2' shells.
* config/wce/mingwarm.mk
* config/win/mingw.mk
* config/win/cygwin.mk
! Fixed to fail after deleting the library on 'ar' failure.
* src/common/hbfsapi.c
! hb_fsFName*(): Fixed to not GPF when called with NULL parameters.
(this also fixes 'hbpp -c' GPF)
* config/global.mk
+ Will now force HB_BUILD_UNICODE=no on Win9x hosts
(and if HB_BIN_COMPILE is not set to point to a non-UNICODE
Harbour tools to be used. Building UNICODE Harbour on Win9x
is a cross-build situation)
* config/win/bcc.mk
+ Added small trick to make the build work on Win9x host.
; Win9x is able to build properly using win/bcc.
* config/global.mk
% Minor optimization for Windows platform
! At the same time fix for CreateProcess( 'uname' ) error on Win9x.
* config/wce/mingwarm.mk
* config/win/mingw.mk
* config/win/cygwin.mk
! Fix to previous: In multi-command cmdlines, f.e.: '(cmd1 && cmd2)'
$(RM) command _must_ be used as a workaround so that GNU Make
converts it to a batch file. Unfortunately with this, an 'ar'
failure will be masked by a successful $(RM), so the make won't
stop.
* config/globsh.mk
+ Added new command macro $(FALSE) preparing for general solution
to force failure.
* config/beos/gcc.mk
* config/qnx/gcc.mk
* config/bsd/gcc.mk
* config/bsd/clang.mk
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
* config/hpux/gcc.mk
* config/linux/gcc.mk
* config/linux/icc.mk
* config/linux/clang.mk
* config/linux/sunpro.mk
* config/sunos/gcc.mk
* config/sunos/sunpro.mk
* config/instsh.mk
* 'false' -> '$(FALSE)' for shell independence.
* config/wce/mingwarm.mk
* config/wce/msvcarm.mk
* config/win/mingw.mk
* config/win/icc.mk
* config/win/cygwin.mk
* config/win/msvc.mk
! Removed delete command which was called when $(AR) command failed.
(usually: '|| $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@)')
This fixes three issues:
- It won't force GNU Make into using cmd shell (in fact temporary batch file)
to execute these commands, thus it won't hit cmd shell length limitations
on NT and W2K systems (maybe Win9x also? TOCHECK).
- Build process will properly stop in case $(AR) (lib assembly) command
fails, instead of deleting the wrong lib and continuing with the build.
Best would be to delete it and fail, but I found no clean way to do this.
- This incorrect variation is no longer used: '|| $(RM) $(LIB_DIR)/$@'
(pathsep conversion is missing)
NOTE: If someone can recommend a way to fail the build after deleting
the partial lib, all above logic can be reintroduced, but in this
case the lib creation cmds need to be rewritten like mingw to
avoid long cmdline lengths.
IOW I'm looking for a win shell equivalent of this sequence:
AR_RULE = $(AR) ... || ( $(RM) ... && **false** )
where **false** is something which creates no output and returns
non-zero errorlevel.
* ChangeLog
+ More explanation to prev log entry.
* config/wce/mingwarm.mk
* config/win/mingw.mk
* config/win/cygwin.mk
+ Added support for host systems with shorter cmdline limits
(in lib creation command). F.e. on WinW2K or WinNT.
* config/win/cygwin.mk
! Fixed delete command on 'ar' failure to work on native
Windows shell.
* tests/wvtext.prg
+ Extended with tests for row resize.
+ Added visual feedback for resize event.
* config/global.mk
! Typo after last changes making HB_BUILD_PKG ineffective.
* INSTALL
* Minor.
* config/win/mingw.mk
+ Added (commented) support for -m32/-m64 options.
This may be useful in the future f.e. for mingw tdm 4.5.0
compiler which can build both 64 and 32-bit targets using
the same compiler binaries.
* config/global.mk
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.mk
* config/win/xcc.mk
* config/win/mingw.mk
* config/win/pocc.mk
* config/win/bcc.mk
* config/win/watcom.mk
* config/win/cygwin.mk
* config/win/msvc.mk
* config/os2/watcom.mk
+ Changed to init RCFLAGS from global.mk.
* config/global.mk
+ Added support for theoretical QNX cross-builds.
* ChangeLog
* Updated QNX TODO list.
+ config/detplat.mk
* config/global.mk
+ Last usage of $(eval) replaced with "quasi-function" call
solution. It's less efficient, but now it should support
GNU Make 3.79.
NOTE: If someone has a better solution, or even a more optimal
version of this one, pls speak up!
+ Two usages of $(eval) replaced with GNU Make version agnostic
solution. (in previous commit)
* config/detfun.mk
* config/global.mk
% Streamlined internal handling of HB_SRC_ROOTPATH value.
+ HB_SRC_ROOTPATH will now be conditioned before use:
ending pathsep added, pathseps converted to forward
slash, double slashes deleted.
! Fixed HB_BIN_COMPILE autodetection in PATH, $(realpath
was not necessary, it only ruined already absolute paths
which are likely to appear in PATH anyway.
% Optimized HB_BIN_COMPILE autodetection in PATH to reuse
function created for this purpose.
! Fixed GNU Make 3.81 version detection to work also with
future GNU Make versions.
+ Added GNU Make 3.80 version detection. (unused, commented)
% Deleted version guards from around $(eval) and $(info) calls:
Unknown function calls will simply be ignored by
GNU Make and empty string returned, so this is safe.
% Force HB_BUILD_PKG off only if HB_SRC_ROOTPATH is not
specified (and running < 3.81 GNU Make version).
+ Show warning when using < 3.81 GNU Make version and
HB_SRC_ROOTPATH was not specified.
+ Falling back to using HB_SRC_ROOTPATH in all places where
$(realpath) or $(abspath) calls are used in 3.81 version.
! Protected one $(realpath) with version guard.
+ Automatized how HB_VER_STATUS_SH is filled for final releases.
; NOTE: HB_SRC_ROOTPATH support is completely untested.
; TODO: If everything works as intended, now "only" $(eval)
calls need some workaround to give full blown
functionality also with 3.79 version of GNU Make.
* config/instsh.mk
! Fixed to not use $(realpath) (and fail to install),
when running under < 3.81 GNU Make.
* utils/hbmk2/hbmk2.prg
* config/global.mk
* Changed to use 'wcc386' executable for watcom detection
(was 'wpp386').
* INSTALL
+ Minor updates regarding QT.
* INSTALL
* config/detfun.mk
* config/global.mk
* HB_ROOT -> HB_SRC_ROOTPATH
Renamed to not have such obvious and short name and not
to collide with build-in hbmk2 macro with the same name.
* INSTALL
* config/global.mk
* config/detfun.mk
* config/detect.mk
* external/sqlite3/Makefile
* external/png/Makefile
* external/jpeg/Makefile
* external/bzip2/Makefile
* external/libhpdf/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbmzip/Makefile
* contrib/hbbz2/Makefile
* contrib/hbhpdf/Makefile
* contrib/sddsqlt3/Makefile
* contrib/hbwin/Makefile
+ Added HB_ROOT variable which can be used to specify Harbour
source tree root as an absolute directory, when using
older than 3.81 GNU Make version (f.e. on QNX).
+ Changed the way locally hosted source directories are
specified for detection function, in order to support
HB_ROOT functionality.
* external/minizip/minizip.dif
* external/minizip/ioapi.h
+ Update for MS-DOS from Tamas Tevesz.
- contrib/hbqt/qth/QSyntaxHighlighter.qth
- Deleted to try to fix the SVN update breakage caused by
deleting a file and readding it in the same commit on a
Windows machine.
* config/qnx/libs.mk
+ Added x11 libs. QNX supports it, though not the ancient
release I have.
* src/vm/dynlibhb.c
* include/hbthread.h
+ Added QNX support.
* src/rtl/hbzlib.c
! Added hack to fix missing zlibVersion() and zError()
functions from the zlib lib shipped with QNX 6.2.1.
+ config/qnx/libs.mk
+ Added QNX specific lib configuration.
* utils/hbmk2/hbmk2.prg
+ Added (untested) list of system libs for qnx/gcc.
* INSTALL
+ Added QNX reference to one more place.
; NOTE on QNX:
All binaries build cleanly, hbtest works.
; TOFIX/TODO:
- hbrun seems to misdetect the width of the terminal
- Clean some hack in QNX port
- platform autodetection
- retest whole port from vanilla SVN source, test MT
linkage.
; So now Harbour can run in cars, planes and spaceships.
* external/zlib/Makefile
* config/dos/djgpp.mk
+ Added patch by Tamas Tevesz targeting djgpp cross-builds:
- makes zlib compile with djgpp 2.03
- adding ranlib makes the whole thing cross-compile (the linker was
complaining about index not being present in the archives)
the reason of the dash prefix is that since it wasn't there before,
it must have worked without, so let's not break situations where it
isn't present (it is present in bnu219b.zip though, and it seems to
be chugging along nicely in a native situation as well)
- adds $(HB_CCPATH)$(HB_CCPREFIX) to the bin tools used
* INSTALL
* include/hbsetup.h
* utils/hbmk2/hbmk2.prg
+ Added experimental support for QNX operating systems.
Tested with 6.2.1.
+ config/qnx
+ config/qnx/gcc.mk
+ config/qnx/global.mk
+ Added qnx GNU make files. For now this is a simple copy
of linux ones.
* src/common/hbgete.c
* src/common/hbprintf.c
+ HB_OS_QNX tweaks.
* src/common/hbffind.c
* src/rtl/fssize.c
! Disabled stat64 for HB_OS_QNX.
* src/common/hbffind.c
! Fixed very old error in default (todo) branch
where hbrtl function was mistakenly referenced.
* external/Makefile
* contrib/Makefile
* contrib/sddoci/Makefile
* config/none.mk
* config/global.mk
* config/bin.mk
* config/dir.mk
+ Since QNX has GNU Make 3.79.1, I had to re-xmastree
the GNU Make files (though I didn't restore the xmas
indentation), plus restore all logic that dealt
with older GNU Make versions. Also added some new logic.
+ Changed to give warning only when using older than
3.81 make versions. Some feature are disabled in this case,
f.e. HB_BUILD_PKG (win/dos specific feature)
; TOFIX: host platform and cpu detection relies on $(eval)
which is not present on pre 3.80.
; habour and hbpp builds fine, but there are several remaining
problems in rtl and vm.
* mpkg_nightly.sh
+ Added feeback about what the script does.
+ Using -q for zip to lessen large amount of unnecessary feedback
* external/pcre/pcre.dif
* external/pcre/Makefile
! Tweak to make PCRE build on djgpp 2.3
Patch by Tamas Tevesz (2nd version posted on dev list)
* config/global.mk
! Reverted one optimization from yesterday's late
night programming jam session.
* contrib/hbqt/hbqt_base.cpp
* Renamed HBQT_ISQTSTATICLINKED() to HBQT_ISSTATICLINK().
(enough to have one 'QT' in the name)
* config/win/bcc.mk
+ More changes targeting bcc support under WINE scenario.
; Here it now works "out of the box"
* INSTALL
+ Added example for win/bcc build under WINE.
(kudos go to Tamas Tevesz for the setup example)
+ Added win/bcc to supported cross(ish)-builds.
* examples/httpsrv/uhttpd.prg
! Fixed bogus newlines in RTE ALERT() windows.
* config/global.mk
% Minor optimization, in bcc location detection. I hope.
+ Changed autodetection to look for fixed .exe extension
for tools which have no native *nix versions, so their
name always ends with .exe regardless of host platform.
This should make these tools usable under WINE.
* config/win/bcc.mk
+ Attempt to better support bcc on linux build scenario,
by using backslash escaping in this case.
* utils/hbmk2/hbmk2.prg
* Cleaned up to use hard-coded .exe extensions in autodetection
code for tools which have no other version. (syncing with
above GNU Make change). This has no effect yet.
* config/global.mk
* utils/hbmk2/hbmk2.prg
! xcc.exe -> xCC.exe
* config/global.mk
! Attempt to fix rare case when Windows cross-build on Linux
platform wrongly changed HB_BUILD_SHARED mode on. IOW now
automatic HB_BUILD_SHARED defaulting logic (based on install
location) only kicks in if the target platform is *nix.
Tamas could you please retest it?
* utils/hbmk2/hbmk2.prg
+ Quite big commit aiming to clean path forming in different
situations. After this is change it should be more or less
true that internally hbmk2 always uses native path format,
it should accept _any_ format regardless of platform,
and it should convert filenames to proper format only when
calling external compiler tools, according to their specific
taste.
F.e. this should fix problems when doing Windows cross-build
on *nix systems, with watcom, or other compilers (except
mingw) which has native compiler. It should continue to
work with WINE based on compilers in similar situations.
There is one specific exception when passing around
filenames as part of options. In this case hbmk2 cannot do
too much magic, so try to avoid it.
Though I never actualluy tried this latter case.
Please test it, regressions are possible. I'd be happy to
see stress tests with passing various combination of pathseps
and watching -trace output whether everything is properly
converted to right format.
+ Will now convert filenames to Cygwin format for Cygwin
targets.
! Fixed to accept .hbi files without '@' prefix.
* config/postinst.prg
% Do not add '@' prefix when referring to .hbi files.
* src/vm/extend.c
! Fixed TRACE message of new hb_parnintdef() function.
* src/rtl/hbcomhb.c
* Minor correction to one function description in comment.
* src/rtl/hbsocket.c
* Minor formatting.
* include/hbcom.ch
+ Added comments.
* Formatting.
+ Added comment that code is used by .c code.
* contrib/hbtpathy/telepath.prg
* Rewritten to use native HB_COM*() API (instead of hbct
specific COM_() one).
+ tp_send() code rewritten to use core timeout functionality.
+ Implemented formerly disabled tp_ctrldtr() function.
(pls review it)
% FetchChars() internal function simplified.
* contrib/hbcomm/hbcomm.prg
* Rewritten to use native HB_COM*() API (instead of hbct
specific COM_() one).
* contrib/hbsms/hbsms.prg
* Rewritten to use native HB_COM*() API (instead of hbct
specific COM_() one).
* Receive code rewritten to rely on core timeout functionality
instead of rolling local implementation.
; I didn't make any tests with API converted COM code, so please
review and test these changes.
* contrib/hbtpathy/hbtpathy.hbc
* contrib/hbcomm/hbcomm.hbc
* contrib/hbsms/hbsms.hbc
- Deleted hbct dependency.
* INSTALL
* package/winuni/RELNOTES
* QT 4.6.2 -> 4.6.3
* include/hbextern.ch
+ Added new HB_SOCKET*() functions.
* config/postinst.prg
! Fixed to exclude whole extra shared binary creation for
all platforms except win/wce/os2.
+ examples/udpds/udpds.hbp
+ Added hbmk2 make file.
* INSTALL
* external/sqlite3/Makefile
* utils/hbmk2/hbmk2.prg
* config/global.mk
* config/wce/msvcarm.mk
* config/win/msvc.mk
* Changed HB_COMPILER_VER values for msvc targets. Previously it was
the Visual Studio version, now it is the C compiler version,
the same value used in _MSC_VER predefined macro:
Name old NEW
-------------------------------------- ---- ----
C Compiler version 6.0 600
C/C++ compiler version 7.0 700
Visual C++, Windows, version 1.0 100 800
Visual C++, 32-bit, version 1.0 100 800
Visual C++, Windows, version 2.0 200 900
Visual C++, 32-bit, version 2.x 200 900
Visual C++, 32-bit, version 4.0 400 1000
Visual C++, 32-bit, version 5.0 500 1100
Visual C++, 32-bit, version 6.0 600 1200
Visual Studio .NET (2002), version 7.0 700 1300
Visual Studio .NET 2003, version 7.1 710 1310
Visual Studio 2005, version 8.0 800 1400
Visual Studio 2008, version 9.0 900 1500
Visual Studio 2010, version 10.0 1000 1600
INCOMPATIBLE for users setting HB_COMPILER_VER manually, pls
change the value as indicated above. For most users it's
recommended to rely on autodetection and not to set this
variable at all.
* config/postinst.prg
! Fixed to use hb_osFileMask() instead of hard-coded '*' mask.
* contrib/hbtip/hbtipssl/Makefile
* contrib/hbtip/Makefile
+ Always create hbtipssl. (not just when
openssl is detected)
* config/detect.mk
* contrib/hbssl/hbssls/Makefile
* contrib/hbssl/Makefile
* Moved openssl detection from central (core) location
to hbssl lib.
! Fixed hbssl GNU Make files after recent change in
static/dynamic selection.
* contrib/xhb/hbcompat.ch
* contrib/xhb/xhbfs.c
! Deleted FILESIZE(). It's not an xhb compatibility function,
but one offered as part of CT lib in xhb, and HBCT in Harbour.
* src/common/hbver.c
+ Added compiler version detection for clang 2.x (and newer)
Patch by Tamas Tevesz.
* INSTALL
* Minor.
* config/bsd/clang.mk
* config/linux/clang.mk
+ Clearing forced C++ mode if clang 1.x is detected.
(Patch from Tamas Tevesz. Slight fix added by me to
set HB_CMP when falling back to C mode. I didn't make
tests though.)
; NOTE: Probably HB_BUILD_MODE=c should be export-ed
to avoid double evaluation. Pls test it.
* config/postinst.prg
* config/ren_sfn.prg
+ Raised warning level to 3.
* INSTALL
* config/global.mk
+ Added support for configurations where PATH contains the same
compiler multiple times. (and all similar cases when a files
is looked for in a list of possible dirs). From now on only
the first one will be extracted. Dirs can still contain spaces.
Such configurations started to appear like mushrooms just
recently. Maybe it's something seasonal. Anyhow I'd suggest
to fix such configurations, since it may cause misc problems,
outside the real of Harbour. So the INSTALL is still not
lying:
Keep only one compiler in PATH at any time, and especially
don't keep the same C compiler multiple times in PATH, and
especially not two different versions of the same C compiler.
If you're is interested in GNU Make black magic for some (pervert)
reason, you may want to take a closer look at the implementation.
* utils/hbmk2/hbmk2.prg
* '-plug=' option renamed to '-plugin='
+ Added support for 'plugins=' line in .hbc files.
% Plugins are now fully loaded just once at the beginning
of hbmk2. (as opposed to every invocation)
+ Plugins are now automatically treated as .hrb or .prg
based on _file content_. This means that any extension
can be used for plugins for both .prg and .hrb code.
When .prg or .hrb extension is used there isn't any
extra trial made on the file content, it will be load
as source or HRB respectively.
Maybe we should find a new distinctive extension for
hbmk2 plugins.
* Default extension for -plugin= option changed to .prg
(was: .hrb)
+ Showing type of input plugin in -trace mode.
('source' or 'compiled')
* config/detect.mk
! Applied fix to DragonFly patch, submitted by Tamas Tevesz.
* src/vm/runner.c
* Minor formatting.
* INSTALL
+ Added one more envvar which is apparently used by users
even though it does nothing since many years.
(see '10. TROUBLESHOOTING' section)
* config/postinst.prg
* Minor cleanups.
* src/common/hbprintf.c
* include/hbsetup.h
* config/global.mk
* config/bsd/libs.mk
* config/detect.mk
+ Applied patch by Tamas Tevesz, making it possible to build
Harbour for DragonFly BSD systems.
Thanks a bunch.
* utils/hbmk2/hbmk2.prg
+ Applied above change to hbmk2 code, so now it should also
support DragonFly BSD. (pls test it)
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ In non-incremental mode when no workdir is manually set, hbmk2
will now create a temp subdir inside temp dir and create any
intermediate output files there. (previously it was using the
temp dir without creating a temp subdir inside).
; Please test and report leftover temp files and dirs, also test
it on *nix platforms.
* Changed 'couldn't', 'don't' style English abbrevs to
'could not', 'do not', etc.
* config/rules.mk
! Fixed to include static-only C compiler options for targets
which have no separate static/dynamic C compiler pass.
This should fix wrongly built pcre lib causing missing
exported functions in mingw Harbour .dlls.
* utils/hbmk2/hbmk2.prg
+ Changed filtering implementation for cmdline parameters.
Now filters can be placed anywhere and they work for all
parameters.
Please test, regressions may be possible.
* config/postinst.prg
! Added gpm handling logic to hbmk.cfg creation. This was
previously done in recently deleted postinst.sh function.
* config/global.mk
* config/rules.mk
* external/pcre/Makefile
+ Added HB_CFLAGS_STA variable to hold C compiler options
passed solely when compiling for static lib.
* Change PCRE setup to use HB_CFLAGS_STA instead of -U
trick at the same time silencing msvc warning.
* config/global.mk
* config/rules.mk
+ Added HB_CFLAGS_DYN variable to pass lib specific options
specially directed to compilation phase when building
to create a .dll. Currently this affects pcre and zlib since
these are included in harbour .dll.
* external/libhpdf/Makefile
* external/pcre/Makefile
* external/png/Makefile
* external/zlib/Makefile
+ Configured HB_CFLAGS_DYN for these libs to properly create
exported symbols in harbour .dll. This was a problem so far
for any non-mingw made harbour .dll.
* debian/rules
- doc/man/hbmk.1
+ doc/man/hbmk2.1
! Renamed to hbmk2 to be in sync with name of the tool.
* Makefile
! Fixed to always descend into utils directory,
because (in 'install' mode) hbrun and hbmk2 needs
to be built regardless of HB_BUILD_PARTS setting.
* contrib/hbfbird/hbfbird.hbi
! Fixed to set output libname. This is needed because
we can't rely on input filename due to mingw trick.
* config/global.mk
+ Show HB_BUILD_IMPLIB setting. Now there is nothing
hackish in it, so it can be fully supported setting.
* config/postinst.prg
% Minor optimizations in hbmk2 invocation lines.
(removed unnecessary spaces, using envvar macros,
deleted unnecessary double quotes)
! Fixed (in two places) to only invoke hbmk2 if
HB_HOST_BIN_DIR envvar is set.
! NSIS invocation command made more friendly to cross
platform environment by using native pathsep.
+ Will now echo the external commands issued to stdout.
* config/postinst.prg
+ Added new experimental envvar:
HB_BUILD_ADDONS=prj1.hbp prj2.hbp prjn.hbp
Harbour build process will initiate the build of the passed
.hbp files at 'install' phase.
% Simplification to other hbmk2 invocation commands.
* contrib/hbwin/win_svc.c
! Fixed to set running status only if entry function
is valid and able to reenter HVM.
+ Added trace message when entry function cannot be found.