* src/common/hbver.c
* Formatting.
* config/vxworks/diab.mk
! Refined tweak added to make hbsocket compile. I overdid
it, causing other breakage.
! Fixed dynlib generation to cope with Windows cmdline
length limits.
+ Added proper dynlib generation rule.
* config/vxworks/gcc.mk
* config/vxworks/global.mk
+ HB_CCPOSTFIX setup made common to all compilers, because
it's needed for 'strip' call.
* utils/hbmk2/hbmk2.prg
+ Some vxworks environment setup made common to all compilers.
* harbour-win-spec
* harbour-wce-spec
! Deleted hbmk.hbc references.
; Patches by Tamas Tevesz:
* harbour.spec
! Fixes to make it work.
* external/minizip/minizip.dif
* Updated.
* INSTALL.
* Nevermind.
* config/vxworks/diab.mk
+ Implemented support for Wind River Compiler.
Incomplete yet, as I couldn't test each build
feature due to errors in earlier build stages.
* src/common/hbver.c
+ Added fourth version number level.
+ Added version detection for Wind River Compiler (diag).
* Formatting.
* src/common/hbprintf.c
* external/minizip/ioapi.h
+ Fixes for Wind River Compiler (diag)
* src/rtl/hbdyn.c
! Dirty fix to compile in HB_LONG_LONG_OFF mode.
Przemek if you see this, can you take a look at it if
it's right or at least not terribly off?
* include/hbsetup.h
! Temporary hack for Wind River Compiler to use
HB_LONG_LONG_OFF, otherwise the compiler crashes with
internal error in hvm.c (without hvmall and optimizations
also). Now, this flag caused another slew of problems,
so as it looks now support for this compiler cannot
be added:
"../../../hvm.c", line 9827: internal compiler error (etoa:1000): - Failed allocating register pair
please contact support@windriver.com */
* include/hbinit.h
+ Enabled Wind River compiler to use the GCC init mode.
(didn't actually test it, but it compiles)
* utils/hbmk2/hbmk2.prg
+ Added new debug switch -debugpars to get a list of
input parameters processed by hbmk2.
+ Synced automatic HB_CCPOSTFIX configuration based on cpu
setting with GNU Make logic.
* config/vxworks/gcc.mk
* Cleanups.
+ Added more CPU postfixes.
* INSTALL
* Minor convenience added to prev.
* INSTALL
! vxWorks casing.
+ Added vxworks/gcc/arm example.
* utils/hbmk2/hbmk2.prg
% -DARMEL no more defined for vxworks/gcc/arm. It turns
out it's a predefined macro.
* config/global.mk
! Fixed HB_CPU autodetection after prev change.
* INSTALL
; NOTE: After previous change HB_CCPOSTINST is automatically
set on vxworks/gcc.
* config/vxworks/libs.mk
* config/vxworks/gcc.mk
+ Tried to enable dynlibhb, didn't succeed, see comments.
* config/vxworks/gcc.mk
% Deleted unnecessary compile time macros.
; TOFIX: vxworks HB_BUILD_SHARED=yes is broken. harbour .so
is not found. Couldn't find out why.
; TOFIX: vxworks/gcc/arm hbatomic.h needs support added.
arm harbour and hbpp builds fine.
* utils/hbmk2/hbmk2.prg
+ Added experimental -cpu option. (not at the level
of comp/plat internally, as there won't be separate
subdir open for different cpu builds created in parallel)
+ Added some untested support for vxworks/gcc/arm.
* utils/hbmk2/hbmk2.hbp
+ Synced with Makefile.
* config/global.mk
! Fixed to default HB_CPU value to x86 for vxworks.
+ Exports HB_CPU.
* config/vxworks/libs.mk
* config/vxworks/gcc.mk
+ Added experimental support to select arm target by
using HB_CPU=arm.
* config/wce/msvcarm.mk
! Missed re-xmastree changed done now. (for pre GNU Make 3.81 compatibility)
* include/hbthread.h
! Hacked around collision between vxWorks headers.
* ChangeLog
! Fixed casing of vxWorks.
* utils/hbmk2/hbmk2.prg
+ Added vxworks/gcc libpaths.
! Fixed vxworks/gcc system lib list.
! Fixed ar to have postfix.
; All these are syncs with GNU Make.
* src/rtl/hbsocket.c
! Typos in previous vxworks patchs.
* config/global.mk
! Fixed forming automatic HB_INSTALL_PREFIX value in *nix cross-build
situations. (it's still wrong as it assumes nix->win cross-builds)
; Now vxworks/gcc/x86 build is clean.
There are iTODOs left, and
- this particular class of warnings, which seems
to be a bug down the <pthread.h> system header:
hbnetio\netiocli.c:155: warning: missing initializer
hbnetio\netiocli.c:155: warning: (near initialization for 's_netioMtx.mutexAttr.mutexAttrType')
- also this, each time FD_ZERO() and friends are used:
warning: implicit declaration of function 'bzero'
- "argument n of 'x' differ in signedness" and "discards qualifiers from pointer target type"
warnings in hbsocket.c code.
; TOFIX:
- Unrecoverable error 9998: Harbour terminal (GT) initialization failure
when running hbtest.
- GPF when running hbmk2 and hbrun. (hbformat, hbi18 startup fine)
* INSTALL
+ config/vxworks
+ config/vxworks/libs.mk
+ config/vxworks/gcc.mk
+ config/vxworks/diab.mk
+ config/vxworks/global.mk
+ Started experimental VxWorks port.
; NOTE: VxWorks port was made possible by Wind River Systems Inc.,
who were so kind to mail me a full VxWorks development
environment, for the purpose of porting Harbour to this
platform. Thank you very much guys.
[ The free license is valid for one month, so if anyone
is interested in helping in this project, I can help with
real tests, builds and information. BTW, the devenv is
Eclipse based plus cmdline, running on Windows (available
for Linux and Solaris, too) and the target VxWorks exes
run in a virtual environment. ]
* config/global.mk
+ Added autodetection of VxWorks platform.
* utils/hbmk2/hbmk2.prg
+ Added VxWorks support. It's incomplete yet.
! Fixed to quote *nix/gcc compiler family in
Windows-host cross-platform situations.
* src/vm/thread.c
* src/common/hbgete.c
* src/common/hbffind.c
* src/common/hbtrace.c
* src/common/hbdate.c
* src/rtl/gtstd/gtstd.c
* src/rtl/gttrm/Makefile
* src/rtl/hbsocket.c
* src/rtl/filesys.c
* src/rtl/diskspac.c
* src/rtl/cputime.c
* src/rtl/disksphb.c
* src/rtl/gtpca/gtpca.c
* src/rtl/net.c
* src/rtl/hbproces.c
* src/rtl/gtsys.c
* src/rtl/hbcom.c
* external/zlib/inflate.c
* external/jpeg/jmorecfg.h
* external/pcre/Makefile
* include/hbapifs.h
* include/hbthread.h
* include/hbdefs.h
* include/hbsetup.h
* contrib/xhb/hboutdbg.c
* contrib/xhb/hbsyslog.c
* contrib/xhb/hbserv.c
+ vxworks/gcc port. First phase.
; Please review.
; NOTE: - vxworks has no termios, for serial comm
support it has sioLib.h.
- vxworks supports another C compiler, which
was not tested yet.
- vxworks supports lots of CPUs, only x86 was
tested yet.
- There are still mutex related warnings to sort out.
- Some parts had to disabled, like HB_LIB*() functionality.
; TODO: Regenarate .difs in external/.
* src/vm/hashfunc.c
* Silenced warnings shown by vxworks/gcc.
* include/hbextern.ch
* src/rtl/hbdoc.prg
+ Added __HBDOC_LOADHBD( <cFileName> ) -> <hbdoc> | NIL
+ Added __HBDOC_SAVEHBD( <cFileName>, <hbdoc> ) -> <lSuccess>
- doc/en/Makefile
* doc/Makefile
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.nsi
- Don't install doc sources.
* config/postinst.hbs
+ Will now build .hbd files from doc sources at 'install' phase.
.hbd files will be installed in HB_DOC_INSTALL path, which
is /doc by default.
; NOTE: Apps like hbide can now use __HBDOC_LOADHBD() to load
these .hbd files.
; NOTE: We may add other doc generators to hbrtl, plus we may
further enhance .hbd format to be more easily usable
for client apps (and f.e. to consume less disk space).
; TODO: Config HB_DOC_INSTALL also on *nix systems.
* contrib/gtwvg/wvgwing.c
! Fixes after previous commit.
Patch by Tamas Tevesz.
* contrib/make.hbs
* Minor.
* utils/hbmk2/Makefile
* utils/hbmk2/hbmk2.prg
+ Added build time configuration for GPM (on Linux) and
WATT (on MS-DOS) builds. This makes hbmk.hbc generation
(at 'install' phase) unnecessary, which means that now
'install' is not required on _any_ platforms and scenarios
to use hbmk2. Since hbmk2 is now used to build contribs,
this is now also a reqiurement.
; Please test, I didn't make any Linux, MS-DOS build tests
after this change.
* config/postinst.hbs
- Deleted hbmk.hbc creation. Now this logic is included in
hbmk2 at build-time on Linux and MS-DOS build which have
GPM lib and WATT lib detected respectively.
* contrib/hbct/numline.c
* HB_ISIZ variables renamed.
* src/rtl/console.c
* src/rtl/hbgtcore.c
* Made internal error codes of "terminal init failure"s
occuring in different situations different. I hope I
left 9998 for the one that happens usually.
* contrib/Makefile
- Deleted hbnetio from list, it's now made by make.hbs.
* config/postinst.hbs
* Minor.
* bin/hbxpatch.hbs
* utils/hbmk2/hbmk2.prg
* contrib/make.hbs
* config/postinst.hbs
* contrib/hbide/idemisc.prg
* contrib/hbide/idefunctions.prg
* hbmk2 rooted filename/path handling functions renamed.
Now they are in sync with hbmk2_*() (plugin) flavour.
With their new names they could even be included in core,
by adding an hb_ prefix to them.
* Renamed one internal constant in hbmk2.
* contrib/hbide/idemisc.prg
- Deleted unused hbmk2 function.
* contrib/make.hbs
! Fixed stdalone mode to create target in their usual GNU Make
target dir.
! Fixed HB_BUILD_NAME handling.
* INSTALL
* utils/Makefile
* config/postinst.hbs
% Changed postinst to create .hbl file on its own behalf without
calling hbi18n.
* INSTALL
* contrib/make.hbs
+ Added standalone mode. The goal is to emulate GNU Make's
nice in-place build feature for contribs hbmk2 make files.
Run with 'hbrun ../make.hbs [clean] [install]'
(install mode's installation phase doesn't work yet)
+ Added contrib type autodetection.
* HB_ADDONS_LIB, HB_ADDONS_BIN merged into HB_BUILD_ADDONS,
now the type is autodetected.
% Move hbmk2 cmdline to HBMK_OPTION only on MS-DOS hosts.
+ Added *nix script header.
+ Updated TODO list.
; NOTE: Most tasks are ready now regarding make system
migration in contrib area from GNU Make to hbmk2.
* config/postinst.hbs
+ Added native .hbl generation logic which doesn't require
hbi18n executable. (not used yet)
* bin/hbxpatch.hbs
* contrib/make.hbs
+ Added svn:executable flag.
* INSTALL
* GNU Make 3.81 recommended (without 'or upper')
+ Documented GNU Make 3.81.90 bug.
* contrib/make.hbs
* Minor tweak to avoid line ending spaces in stdout.
* Minor visual cleanup.
* contrib/hbide/hbide.hbp
+ Added instfile option to install .dlls on Windows systems.
* config/postinst.hbs
! Fixes in comment and feedback output.
- Deleted commented .hbl generation stuff based on hbmk2.
* config/postinst.hbs
+ Using hbi18n tool to generate .hbl files to utils.
(currently hbmk2 only)
This fixes missing .hbl after latest changes which dropped
regenerating utils at postinst phase. At the same time it
enables .hbl file generation for all platforms. The logic
will automatically generate .hbl files for all .po files
found under any utils.
* INSTALL
* utils/Makefile
+ Added hbi18 to the list of tools required to build Harbour
in cross-platform situations.
* contrib/hbqt/hbmk2_plugin_qt.hbs
! Fixed QT tools detection on HB_WITH_QT.
* utils/hbrun/hbrun.prg
+ Extended to look in current dir, hbrun dir and PATH for
passed script name, if no extension was passed, it will
try .hbs and .hrb in that order. This means hbrun is
pretty much like a shell command processor now.
* bin/hbxpatch.hbs
* utils/hbmk2/hbmk2.prg
* utils/hbrun/hbrun.prg
* contrib/hbqt/hbmk2_plugin_qt.hbs
* config/postinst.hbs
* HB_OSPATHSEPARATOR() -> HB_PS()
* HB_OSNEWLINE() -> HB_EOL()
* utils/hbmk2/hbmk2.prg
* Using string literals instead of Chr() in few places.
! FindInPath() corrected to honor original dir in filename
it receives. This may affect plugins if they pass such
argument.
* utils/hbmk2/hbmk2.prg
+ -clean will now delete the target for -hbdyn, -hblib and default
-hbexe modes. .bak is also deleted for -hblib mode.
Probably more autogenerated extensions will have to be deleted
here to become in sync with globsh.mk.
+ Extended -instfile and -instpath support to also accept
a file group prefix. This way multiple set of files can be
copied to a set of target directories.
; TODO: Change all -instfile options to point to 'inc' group.
+ dos/djgpp will now use -gstabs+ for debug mode instead of -g.
Following change made in GNU Make system by Tamas.
* contrib/makefile.hbs
+ Reworked the way GNU Make operations are mapped to hbmk2
actions. F.e. 'clean install' needs special attention as
plain clean cannot be done because
+ Added hbblat to limited set of test contribs.
+ Better isolation and preparation of hbmk2 configuration.
+ Cleanups to dynamic lib creation from contribs.
+ Added experimental support to install headers similarly
as GNU Make does.
* Makefile
! Fixed to reverse order and dependency of contrib and utils
trees in clean without install mode. In pure clean mode,
the contribs need to be traversed first, because hbrun and
hbmk2 are required for this task.
* Makefile
* contrib/Makefile
+ Will now inform about missing hbrun and .hbs scripts not
run because of it.
* examples/hbapollo/hbapollo.hbp
* -instfile updated with header file group.
* src/rtl/hbproces.c
! Fixed some unused variable warnings experienced with poccarm.
; Patches from Tamas Tevesz:
* config/dos/djgpp.mk
+ debug switch changed to -gstabs+ from -g. Following this:
http://www.delorie.com/djgpp//mail-archives/thread.cgi?msg=djgpp-workers/2002/05/29/06:33:31&mode=frames
* bin/hbxpatch.hbs
* Updated after latest changes. Thanks!
* src/common/hbver.c
! Fix for pcc detection.
* src/rtl/gtdos/gtdos.c
* src/rtl/hbproces.c
! MS-DOS fixes for TRACE() messages.
* src/common/hbver.c
* src/rtl/Makefile [t]
* src/rdd/Makefile [t]
* include/hbdefs.h
* include/hbsetup.h
+ config/bsd/pcc.mk
* config/rules.mk [t]
+ First step to add support for pcc (Portable C Compiler) on bsd.
; Patch by Tamas Tevesz.
; TODO: ? I guess the -gc3 and -l disabler hacks are temporary.
(in files marked with [t])
* INSTALL
* external/Makefile
* contrib/Makefile
* utils/Makefile
- Deleted HB_CONTRIB_ADDONS, HB_EXTERNAL_ADDONS,
HB_UTIL_ADDONS.
+ Documented HB_ADDONS_LIB, HB_ADDONS_BIN (still not
necessarily the final names)
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
+ Included hbnetio in Windows based installers.
(.zip already had it after previous changes)
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* config/postinst.hbs
- Deleted building hbrun-dll. It makes simpler,
won't be missed by too many users. Users needing
fully shared binaries can use HB_BUILD_SHARED=yes.
- bin/patchup.hbs
+ bin/hbxpatch.hbs
* Renamed to have hb prefix.
Better suggestion are welcome for the name, don't
consider this final. Pbly sth like hbupdext.prg
would be better.
* contrib/Makefile
* Changed test status of makefile.hbs call to make it
do some actual work.
* config/postinst.hbs
- Deleted implib creation. Now done by makefile.hbs.
Implibs are never required for core, so this is now
much cleaner.
- Deleted experimental HB_BUILD_ADDONS support. This
feature has moved to makefile.hbs and it can be
controlled by HB_ADDONS_LIB and HB_ADDONS_BIN to add
non-hosted extra components to the build process.
The envvar names are not finalized.
* Changed to only copy .hbs files starting with 'hb'
in bin dir to avoid catching local scripts and adding
them to install.
* contrib/makefile.hbs
+ Makred dependencies from external.
* Reworked the way project list is assembled.
! Fixed root dir issues.
! Fixed -instpath option
* config/postinst.hbs
* Tweaked to convert pathseps in external tool calls
to native.
* ChangeLog
! Corrected most basic problems with Massimo's latest
log entry. Massimo: You fixed a one byte typo and
caused by to fix about 10 typos writing 3-4 letters.
This isn't very effective help.
* harbour-win-spec
* harbour-wce-spec
* harbour.spec
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
* config/postinst.hbs
* Renamed hbmk.cfg to hbmk.hbc, to use std extensions.
This file is a sortof autoexec.hbc.
* utils/hbmk2/hbmk2.prg
- Deleted line from help about automatic .hbc processing in cwd.
- external/minizip/readme.txt
- Deleted. Most information was obsolete and now update
is automatic.
- contrib/hbide/resources/hbmk2_plugin_ui.prg
+ contrib/hbqt/hbmk2_plugin_ui.prg
+ Moved this hbmk2 plugin to its proper place inside
hbqt. It's QT specific functionality.
* contrib/hbide/hbide.hbp
* contrib/hbqt/hbqt.hbc
* contrib/hbqt/hbqts.hbc
* Changed to follow above plugin location change.
* contrib/hbide/ideprojmanager.prg
- Commented ui plugin from hbide. It's needs to be solved
differently. ui plugin is QT specific so it cannot be
inside hbide tree.
* config/postinst.prg
+ Some more feedback.
! Slight correction to another feedback.
* 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)