* include/hbsetup.h
* Minor in comment.
+ Also looking for __DARWIN__ to autodetect HB_OS_DARWIN.
* utils/hbmk2/hbmk2.prg
+ Honoring -quiet option for language file creation related screen output.
* INSTALL
* Some improvements.
* bin/postinst.bat
+ Added -quiet to hbmk2 cmdlines.
* utils/hbmk2/hbmk2.prg
! Minor visual correction to help screen option section.
* ChangeLog
! Missed from prev entry:
* utils/hbmk2/hbmk2.prg
+ Added quiet option for watcom linker commands.
! Fixed missing SYS directive in watcom/win targets which prevented
using this target in cross-build scenarios.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added -implib option. Implemented it for all compilers.
(some of these don't support -hbdyn option yet though, once we
got it matured in GNU Make, these can be added to hbmk2)
+ Added linux/watcom dynlib generation. Quite experimental, it doesn't
work due to missing symbols.
+ Added linux/watcom support for -shared mode. Experimental, it doesn't
work due to 'invalid library file attribute'. Either the GNU Make
generate .so is wrong, or it's wrongly specified, or else.
I hope something can continue watcom dynamic lib support.
* config/dos/watcom.mk
* Formatting.
* config/linux/watcom.mk
- Deleted 'RUNTIME linux' and 'OP norelocs' options from dynlib gerenation.
* config/global.mk
% Minor opt.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Some 'hbmk' texts changed to 'hbmk2'.
* contrib/rddads/adsfunc.c
! Fixed ADSGETLASTERROR() to return empty string instead of garbage
when there was no error.
Borrowed from xhb by Augusto Infante.
Fixes applied: Using manifest constant instead of 0, using NULL
instead of empty string literal.
* config/bsd/gcc.mk
* config/hpux/gcc.mk
* config/darwin/gcc.mk
* config/linux/gcc.mk
* config/os2/gcc.mk
* config/sunos/gcc.mk
+ Added HB_CCACHE, HB_CCPREFIX, HB_CCPOSTFIX to all places where
it was missing from.
bsd/hpux/os2/sunos - pre/post to cc/ld, pre to ar
darwin - ccache to ld (I'm not sure about this one)
linux - post to cc/ld
; Not it's about consistent and in sync with hbmk2.
Please review me.
* utils/hbmk2/hbmk2.prg
+ Added support for HB_CCPREFIX/HB_CCPOSTFIX for os2/gcc targets.
* source/vm/maindllh.c
* source/vm/Makefile
+ Added support for os2 .dll. Please review.
* config/os2/watcom.mk
+ Added os2 .dll generation for watcom.
Now it generates OK.
* source/Makefile
* config/lib.mk
+ Added support for os2 and some level of *nix support.
* INSTALL
* Minor update to a few option description.
* utils/hbmk2/hbmk2.prg
+ Added preliminary/experimental/untested OS/2 -shared (.dll)
support for watcom targets.
* source/pp/Makefile
* bin/hb-mkdyn.bat
+ Deleting hbpp dynamic built object to not interfere with
harbour dll creation when picking up the objects with wildcard.
* Changed .dll creation script to not filter out above object
explicitly, it's not needed anymore.
* source/vm/mainwin.c
* source/vm/mainstd.c
* bin/hb-mkdyn.bat
+ Added hack to exclude any content when creating dynamic build
objects for win/watcom. Any content here breaks .dll creation
on this target.
* Changed .dll creation script to not filter out above objects
explicitly, it's not needed anymore.
* config/global.mk
% Changed CPU detection to use $(filter)
+ Added CPU detection based on wce compilers.
+ Showing detected host and target CPU architecture in log
(if it could be detected - this is currently only implemented
for non-*nix targets)
- Deleted host binary extension display in verbose mode.
- Deleted now unused HB_BUILD_VERBOSE option.
* config/global.mk
+ Added HB_DYN_VER variable to hold the version number used in Harbour
dynamic libary name.
* config/bsd/global.mk
* config/darwin/global.mk
* config/hpux/global.mk
* config/linux/global.mk
* config/os2/global.mk
* config/sunos/global.mk
* config/wce/global.mk
* config/win/global.mk
+ Added DYN_EXT variables for each platform.
* source/Makefile
* config/rules.mk
+ config/dyn.mk
+ source/dynlib
+ source/dynlib/mt
+ source/dynlib/mt/Makefile
+ source/dynlib/Makefile
* config/win/msvc.mk
+ Added experimental .dll building feature to the GNU Make system.
It's only implemented for MSVC yet.
The goal is to replace shell specific (postinst) solutions.
* utils/hbmk2/hbmk2.prg
+ Added darwin/icc support. Untested yet.
* source/vm/maindllp.c
! Fixed typo in prev commit.
* utils/hbmk2/hbmk2.prg
* Improvement in msvc/wce support to support multiple WinCE
CPUs.
! Fixed to add '/manifest:no' only for 8.00 or upper msvcarm
compilers.
* config/wce/msvcarm.mk
* Minor improvements.
+ Added preliminary support for MIPS/SH/x86 WinCE build settings.
* source/vm/maindllp.c
+ Added MIPS and SH .dll names.
* include/hbsetup.h
* source/common/hbver.c
* HB_CPU_SUPERH -> HB_CPU_SH
* utils/hbmk2/hbmk2.prg
* config/global.mk
! Fixed to -undef:__PLATFORM__UNIX even for Windows host platforms.
This is required because Cygwin builds have this envvar set.
I'm not sure that setting __PLATFORM__UNIX for Cygwin is right
behavior though.
* config/dos/watcom.mk
* config/win/watcom.mk
* config/linux/watcom.mk
* config/os2/watcom.mk
+ config/common/watcom.mk
% Moved common watcom compiler specific make logic to one file.
I've choosen OS/2 rules in this global makefile, as they will
work on all platforms, albeit in the known slighly hacky way.
It's easy to reintroduce shell specific rules for more advanced
shells. There was one common rule set for nt/dos shells, plus
a very clean one for sh. I may do this in a next commit.
After this change it's possible to create all possible watcom
cross-builds. Pls shout if I missed something or the concept
seems to have some potential flaws.
; QUESTION: Does 'wlib' support '-p=64' option on Linux watcom builds?
; NOTE: Still most of the not yet merged logic could be merged,
since there is only a few minor difference between them.
; TODO: Add shell optimized watcom rules for nt/dos/sh shells.
; TODO: Try to do a similar stunt for gcc.mk files.
* source/pp/ppcore.c
* #ifdef -> #if defined()
* utils/hbmk2/hbmk2.prg
* config/wce/msvcarm.mk
! Fixes to cmdline macros, now many warnings are gone.
* utils/hbmk2/hbmk2.prg
+ Added ceshell, oleaut32 syslibs to default wce liblist.
(to be more in sync with win)
* contrib/hbwin/hbwin.hbc
! Added sms syslib for wce.
* utils/hbmk2/hbmk2.prg
* config/global.mk
+ Added autodetection for old MSVC for WinCE versions (clarm.exe based ones).
+ Added autodetection for HB_VISUALC_VER_PRE80 value for msvcarm targets.
* INSTALL
+ Added cross-build matrix. Tweaked cross-build information.
+ Added MSVC 2005 for WinCE/ARM example.
; TODO: Create separate example section for native and cross-builds.
* config/global.mk
! Fixed to handle spaces in PATH elements.
Now '#' is used as intermediate char. Please change it to something
else if you feel this might clash with some real-world scenarios.
* utils/hbmk2/hbmk2.prg
* config/wce/msvcarm.mk
! Readded -DUNDER_CE.
Does anyone know of any documentation about required macros
for WinCE compilation?
* INSTALL
+ Added msvcarm examples (using MSVC 2008. 2005 should be similar).
* config/wce/msvcarm.mk
% Somewhat reduced number of macro options.
! Deleted debug switch from default c option list.
% Deleted a few more default c options.
! Added corelibc to syslib list.
! Cleaned linker flags to make it link. Some others
just removed, they seem not required.
* utils/hbmk2/hbmk2.prg
* Synced msvcarm settings with .mk.
* config/global.mk
* utils/hbmk2/hbmk2.prg
+ Added msvcarm autodetection to both GNU Make and hbmk2.
* config/wce/global.mk
* config/wce/poccarm.mk
* utils/hbmk2/hbmk2.prg
* bin/hb-mkdyn.bat
+ Added coredll to wce syslib list.
(required for msvc and pocc, optional for mingw)
; Now msvcarm builds, with a lot of warnings.
* utils/hbmk2/hbmk2.prg
+ Added support for detecting Harbour binary environment
in raw form, meaning the one after simple 'make' *without*
'make install'.
Of course 'install' is still useful to build dlls (and
implibs on win), but for normal cases this may be a very
useful feature. You do a 'make' (no admin needed on *nix),
go to ./bin/arch/comp and hbmk2 works without any extra
configuration.
This feature also allows us to distribute multihost
binary packages. Such unified binaries can be run under
multiple hosts. (IOW we can have one binary distro which
covers potentially all our supported platforms/compilers
both as host OS and target OS). See watcom for such an
example in the C compiler world.
* utils/hbmk2/hbmk2.prg
+ Added wininet syslib to std lib list for win platform.
(to be in sync with wce and hbmk script).
* INSTALL
* Using 'platform' in a few places where 'architecture' was used
in text.
* utils/hbmk2/hbmk2.prg
+ Added support for HB_INSTALL_PREFIX macros (recently introduced
in global.cf). Maybe it'd be better to not use this build-time
envvar at all.
Now that autoconfiguration is working pretty well, I think it may
be time to drop support for some envvars in hbmk2. In case of
HB_INSTALL_PREFIX it rather makes things more complicated.
* config/global.cf
* config/rules.cf
* config/dos/watcom.cf
* config/win/watcom.cf
* config/os2/watcom.cf
% Using HB_PRGFLAGS instead of HB_FLAGSEXTRA.
% Using HB_CFLAGS and HB_PRGFLAGS instead of HB_CDBG.
% Using HB_CFLAGS instead of HB_CUNICODE.
% Moved all flags from HB_RULE to HB_FLAGS (except HB_USER_PRGFLAGS).
This only affects dos/watcom, more cmdlines will be put in HARBOURCMD.
* external/sqlite3/Makefile
* external/libhpdf/Makefile
* external/libpng/Makefile
* source/vm/maindllh/Makefile
* source/vm/maindllp/Makefile
* source/vm/vmmt/Makefile
* source/rtl/gtxwc/Makefile
* source/rtl/gtcrs/Makefile
* source/rtl/gttrm/Makefile
* source/rtl/gtsln/Makefile
* contrib/gtalleg/Makefile
* contrib/hbmysql/Makefile
* contrib/hbodbc/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbqt/Makefile
* contrib/hbfbird/Makefile
* contrib/hbcurl/hbcurls/Makefile
* contrib/hbcurl/Makefile
* contrib/gtqtc/Makefile
* contrib/rddsql/sddmy/Makefile
* contrib/rddsql/sddpg/Makefile
* contrib/rddsql/sddfb/Makefile
* contrib/rddsql/sddodbc/Makefile
* contrib/hbhpdf/Makefile
* contrib/hbpgsql/Makefile
* contrib/rddads/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbtip/hbtipssl/Makefile
* contrib/hbssl/Makefile
! Using HB_CFLAGS/HB_PRGFLAGS to specify Makefile local
compiler settings instead of modifying HB_USER_*FLAGS.
This way the double defines are gone.
+ Included global.cf to all Makefiles which needs to modify
HB_CFLAGS/HB_PRGFLAGS. Probably we should move global.cf
inclusion to the top of all Makefiles as a convention.
Not terribly elegant, but solves a few problems and
more efficient.
% Changed ', -I$(d))' to ',-I$(d))' along the way. This avoids
wasting an extra space in command line.
; NOTE: It'd still be beneficial to find a way to get rid of
'descend' rule. It could make cmdlines cleaner/shorter
and whole build process simpler/faster. I didn't manage
so far.
* source/vm/Makefile
* Deleted 'HB_USER_CFLAGS := $(subst -DHB_MT_VM,,$(HB_USER_CFLAGS))'
(since it's no longer supported practice to modify user supplied flags)
I'm not sure if it's important enough to have. AFAIK there is no
reason users use HB_MT_VM define, it's not a public setting, so we
shouldn't go too much far in trying to protect against its presence.
If it's needed, we should add 'HB_CFLAGS += -DHB_ST_VM' and handle
HB_ST_VM as the reverse of HB_MT_VM inside the source.
* source/rdd/dbffpt/dbffpt1.c
* source/rdd/dbffpt/Makefile
* Optimizations are now disabled using #pragma for __XCC__ instead of
deleting them from HB_USER_CFLAGS. Please test, and see above on
modifying HB_USER_CFLAGS in our make files.
* bin/postinst.cmd
! Deleted double quote from target dir in xcopy commands.
Blind change.
* utils/hbtest/rt_main.ch
* utils/hbtest/hbtest.hbp
* utils/hbtest/Makefile
+ Changed to use #pragma to turn on line numbers instead of
using HB_USER_PRGFLAGS (or HB_PRGFLAGS). This way there is
no need for Makefile hack/tweaks and it works with all make methods
automatically.
* config/instsh.cf
! Partially restored a few things which were lost without comments
in prev OS/2 commit:
- Formatting
- '@' prefixes
- '-' prefixes
* utils/hbmk2/hbmk2.prg
! Minor fix for darwin and automatic entry function detection using 'nm'.
nm on Darwin doesn't seem to support '--defined-only -C' option.
Przemek, please check this, maybe this hurts functionality.
* make_gnu_os2.cmd
% Minor opt. I hope OS/2 accepts such 'if' command.
* include/hbthread.h
! Fix to poccarm build. Provided by Przemek.
* utils/hbmk2/hbmk2.prg
* config/wce/msvcarm.cf
* config/wce/global.cf
* config/wce/poccarm.cf
+ Added -DUNICODE for mingwarm. It didn't seem to require it so far,
but I thought it's better to define this for all wce compilers.
% Deleted -DHB_NO_WIN_CONSOLE. No longer exists in Harbour.
% Deleted /stack:65536,4096 linker option from wce/msvcarm.
I'm just guessing it's not needed.
+ -DUNICODE is now enforced through HB_BUILD_UNICODE=yes setting
in GNU Make for all wce compilers.
* bin/hb-mkdyn.bat
! Fixed gcc family (mingw) .dll generation. New tricks
had to be employed to workaround 8K cmdline limits.
* contrib/hbwin/win_misc.c
* Implemented recent WinCE fix by Przemek for another
CreateProcess() call.
* utils/hbmk2/hbmk2.prg
* Cleaned system lib list for wce platform.
wininet, commdlg, commctrl libs moved from base to extra
system lib list. These libs aren't needed by Harbour code
code. [ No change in functionality, just synced with rest
of Harbour. ]
I didn't test yet, but seeing the content of this lib,
it's not needed for Harbour core code.
* config/wce/global.cf
* bin/hb-mkdyn.bat
% Deleted wininet wce system lib from liblist.
* config/wce/poccarm.cf
% Deleted winsock wce system lib from poccarm liblist.
ws2 should be enough. (I didn't retest the platform yet)
* config/wce/msvcarm.cf
* config/wce/global.cf
* config/wce/mingwarm.cf
* config/wce/poccarm.cf
* config/win/watcom.cf
* config/win/icc.cf
* config/win/cygwin.cf
* config/win/global.cf
* config/win/msvc.cf
* config/win/xcc.cf
* config/win/mingw.cf
* config/win/pocc.cf
* config/win/bcc.cf
% Moved system lib list definition to <arch>/global.cf files
for wce/win platforms.
This will ensure that compilers for the same platform will
always use the same system libs too.
Added reasoning in comment for each extra win system lib.
% Deleted the same meaningless comment line from all files.
* config/global.cf
+ Showing $(SHELL) variable content.
+ Added experimental support for explicitly changing $(SHELL)
variable for nt and dos shells. This should solve the
problem when mingw32-make is picking up sh.exe as shell if
cygwin or msys is in the PATH (or the user may also have
sh.exe laying around).
* INSTALL
% Deleted SHLVL hack from wce/mingwarm build config example.
Not needed anymore.
% Deleted "sh.exe mustn't be in the path" sentences.
Not needed anymore, now it can be in the PATH.
* make_gnu.bat
+ Readded calling sh for cygwin. (sorry I needed this personally
to keep the same interface for all cases on Windows, but I'll
think about this further, also to better cover mingw+msys case.
So this is rather temporary.)
* INSTALL
+ Added HB_INSTALL_PREFIX description (this is now optional).
+ Added HB_BUILD_PKG description.
+ Added HB_BUILD_IMPLIB description.
* log-%HB_COMPILER%.txt log names changed to log.txt.
* Cygwin example changed to directly launch make_gnu.sh.
; NOTE: INSTALL still needs some updates. I'll do that while
testing new ways of doing things.
* config/global.cf
+ Some new information is shown in the log. (detection results)
% exporting HB_HOST_CPU to avoid detecting it in each recursion.
+ Showing whether HB_ARCHITECTURE/HB_COMPILER values were autodetected.
+ Showing GNU Make version and targets ("clean"/"install"/"all").
+ Showing HB_BUILD_PKG, HB_BUILD_DLL settings.
+ Added logic to do some presets if HB_BUILD_PKG=yes and check
if clean+install was specified.
* bin/postinst.cmd
* bin/postinst.bat
* bin/hb-mkpkg.bat
* bin/hb-mkimp.bat
* bin/hb-mkdyn.bat
+ Prefixed all messages coming from our make process with '! '
+ Some new messages added to offer better entertainment for builders.
- mpkg_gnu.bat
* config/global.cf
+ bin/hb-mkpkg.bat
* bin/postinst.bat
* mpkg_win.nsi
+ Updated to work as a child function of postinst.bat instead
of being a starter batch file. Now a package build can be
initiated the same way as a normal one except that HB_BUILD_PKG=yes
setting should be used additionally and 'clean install' is
obligatory.
In package building scenarios HB_INSTALL_PREFIX will be automatically
set by the process, using the pkg/<arch>/<comp> tree to install the
build into.
* Moved most of the old logic to GNU Make level, so the batch file
is very simple now.
; TOFIX: Whole removal of above dir should be solved to avoid
leftover old files to be included in the release packages.
Ideas are welcome.
; TODO: Integrate into postinst.bat.
; TODO: Move .nsi file to a better place.
* bin/postinst.bat
* config/rules.cf
! Fixed to respect HB_BUILD_DLL setting.
* bin/hb-mkdyn.bat
! Fixed to create temp files in install area so that multiple parallel
build runs don't badly interact with each other.
! Some fixes regarding spaces in dirs, although tool support is generally
to hectic/buggy to implement that reliably. Spaces are still not recommended
in dir.
! Fix for msvc.
! Untested fixes for watcom.
! Fixed leaving two temp file on disk for debuggin purposes.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added -vcshead support for Bazaar repositories.
* config/global.cf
* config/wce/global.cf
* config/dos/watcom.cf
* config/win/watcom.cf
* config/win/global.cf
* config/os2/watcom.cf
- Deleted no more used HB_CDYNLIB and HB_DYNLIB logic.
* config/rules.cf
! Changed CC_RULE and CPP_RULE to have CC_OUT option _before_ CC_IN.
Quick check didn't reveal any problems with this accross our supported
compiler, but I may be wrong, so pls check me, I didn't test this
change thoroughly.
This change fixes CC_OUT for bcc, where it was ignored before.
If this is breaks other compilers, bcc specific CC_RULE should be
added to win/bcc.cf.
* utils/hbmk2/hbmk2.prg
* source/rtl/gtcrs/gtcrs.c
* source/rtl/gtcrs/gtcrs.h
* source/rtl/gtcrs/Makefile
* source/rtl/gttrm/Makefile
* source/rtl/gttrm/gttrm.c
* source/rtl/gtsln/mousesln.c
* source/rtl/gtsln/gtsln.c
* source/rtl/gtsln/Makefile
* HAVE_GPM_H -> HB_HAS_GPM
* config/global.cf
+ Added some compile-time macros in comment.
* Minor correction to MKFLAGS comment.
* source/rtl/console.c
* source/rtl/hbgtcore.c
* Changed wording 'screen driver' to 'Harbour terminal (GT)'.
Former term isn't used by us.
* config/bsd/gcc.cf
* config/darwin/gcc.cf
* config/hpux/gcc.cf
* config/dos/djgpp.cf
* config/linux/gcc.cf
* config/linux/icc.cf
* config/linux/sunpro.cf
* config/os2/gcc.cf
* config/sunos/gcc.cf
* config/sunos/sunpro.cf
+ Readded accidentally deleted feature to include *nix system
libs needed for rtl, only if rtl is actually linked.
(IOW in practice don't link them for harbour/hbpp executables)
! Fixed a few old problems where some extra libs were always
linked. Now m is the only one linked in all scenarios.
+ Added linking pdcurses along with gtcrs for djgpp.
* Standardized LDFLAGS in linux/icc (left from previous modification).
! Indentations corrected.
* config/bin.cf
+ Harbour binary core liblists are now formed centrally.
Four variations are generated:
HB_LIBS_ST_RDD
HB_LIBS_MT_RDD
HB_LIBS_ST_NORDD
HB_LIBS_MT_NORDD
Binaries can choose by using: 'LIBS = $(HB_LIBS_*)'.
Important to use '='.
This step also fixes potential problems with former liblists,
where it was easy to make a local mistakes and some libs which
needed more complicated logic, or which were just rarely used
simply weren't added. Now all liblists are guaranteed to have
proper order and content.
HB_GT_LIBS and HB_DB_DRIVERS are automatically added centrally,
so no need to add them manually in each compiler specific .cf.
* tests/Makefile
* tests/hbpptest/Makefile
* tests/multifnc/Makefile
* utils/hbformat/Makefile
* utils/hbmk2/Makefile
* utils/hbtest/Makefile
* utils/hbi18n/Makefile
* utils/hbrun/Makefile
% Using above HB_LIBS_* macros.
; The only few places which I didn't thouch is non-Harbour
executables (harbour exe and hbpp exe).
* config/bsd/gcc.cf
* config/wce/msvcarm.cf
* config/wce/mingwarm.cf
* config/wce/poccarm.cf
* config/hpux/gcc.cf
* config/darwin/gcc.cf
* config/dos/watcom.cf
* config/dos/djgpp.cf
* config/win/watcom.cf
* config/win/icc.cf
* config/win/cygwin.cf
* config/win/msvc.cf
* config/win/xcc.cf
* config/win/mingw.cf
* config/win/pocc.cf
* config/win/bcc.cf
* config/linux/watcom.cf
* config/linux/gcc.cf
* config/linux/icc.cf
* config/linux/sunpro.cf
* config/os2/watcom.cf
* config/os2/gcc.cf
* config/sunos/gcc.cf
* config/sunos/sunpro.cf
% Deleted local logic to merge HB_GT_LIBS and HB_DB_DRIVERS
into LIBS.
* utils/hbmk2/hbmk2.hbp
* utils/hbrun/hbrun.hbp
! Extra libspecs are still needed for some compilers.
I've readded them until better solution is found.
* utils/hbmk2/hbmk2.prg
+ Reorganized core Harbour lib handling. The goal is to
allow linkers to resolve references by themselves, either
by clever ordering and adding libs multiple times if needed.
I took the methods used in Makefiles as guiding line.
% Removed -Wl,--start-group / -Wl,--end-group lib grouping.
It doesn't seem to be necessary anymore.
! Fixed "hbrtl" lib reference with some targets in -xhb mode.
; NOTE: Please test, I didn't test all possible combinations
only mingw and recent Harbour. (no xhb, no hb10x)
; NOTE: Regressions are possible regarding lib selection or
ordering and also GT selection.
; TODO: If this works out okay, we can delete similar grouping
options from .cf files. At the same time, core liblists
could be moved to central place to ease maintenance
and guarantee correctness.
* utils/hbmk2/hbmk2.hbp
* utils/hbrun/hbrun.hbp
- Deleted extra core lib specifications to make it link
in shared mode. Doesn't seem to be necessary anymore
after above hbmk2 change.
* Makefile
* tests/Makefile
* contrib/hbmisc/Makefile
* contrib/hbwin/Makefile
* utils/Makefile
% Started converting '=' operators to ':=' where applicable.
; TODO: Rest of Makefiles.
* contrib/hbwin/Makefile
! Including 'global.cf' directly to make HB_ARCHITECTURE/HB_COMPILER
variables work in case we're relying on autodetection.
; TOFIX: Rest of Makefiles.
* config/global.cf
+ Added self-inclusion check to allow adding this .cf file
directly to Makefiles in order to force platform detection
for cases where this information is needed for local decisions.
* config/dos/global.cf
- Deleted 'ifndef MK' construct. Purpose unknown, and not
found similar for other platforms.
* config/global.cf
* config/globsh.cf
+ Added my copyright.
* contrib/hbtpathy/tpwin.c
* contrib/hbtpathy/tpos2.c
% Deleted unnecessary headers.
* utils/hbmk2/examples/contribf.hbc
* contrib/hbtpathy/Makefile
+ contrib/hbtpathy/tpdos.c
* contrib/hbtpathy/hbtpathy.hbc
+ Added DOS stubs. This makes it possible to enable this contrib
for all existing platforms. Serial support is possible to
implement in DOS.
% Now all source files are compiled for each platform, platform
specific parts are guarded internally, no need to duplicate the
logic on the make level.
* contrib/hbwin/win_tprt.prg
* contrib/hbwin/win_prt.c
+ ::Recv() got a new second parameter to return result code.
+ WIN_PORTFCN() now requires port number to be passed as 1st param.
+ WIN_PORTERROR() now requires port number to be passed as 1st param.
* Renamed function WIN_PORTFCN() to WIN_PORTFUNCLAST()
+ Fixed last port operation and last error to be stored per port
rather than in global vars. This makes it possible to use multiple
ports in parallel.
- Deleted WIN_PORTBUFFERS() which wasn't MT friendly.
+ WIN_PORTOPEN() function got enabled 6th and 7th inbuffer/outbuffer
parameters. This replaces WIN_PORTBUFFERS() function.
+ Added WIN_PORTRECV() function which is similar to WIN_PORTREAD()
but returns the result directly rather than putting it in a var
passed by reference. It accepts lenght parameter and return result
code by reference. It's a little bit more effient than WIN_PORTREAD().
% Some if/else branches swapped to make code a little smoother.
* contrib/hbwin/olecore.c
+ Attempt to add vars by reference support. Commented until
there is no test code to try it.
* Minor formatting.
* contrib/xhb/hbserv.h
* contrib/xhb/htmlform.ch
* contrib/xhb/inet.h
* contrib/xhb/hblognet.prg
* contrib/xhb/tfile.prg
* contrib/xhb/html.ch
* contrib/xhb/tedit.prg
* contrib/xhb/tframe.prg
* contrib/xhb/htjlist.prg
* contrib/xhb/xdbmodst.prg
* contrib/xhb/htmlclrs.ch
* contrib/xhb/thtm.prg
* contrib/xhb/hterrsys.prg
* contrib/xhb/tcgi.prg
* contrib/xhb/regexrpl.prg
* contrib/xhb/hbserv.ch
* contrib/xhb/ttable.prg
* contrib/xhb/hjwindow.prg
* contrib/xhb/hbserv.c
* contrib/xhb/htmutil.prg
* Header formatting.
; NOTE: I noticed some xhb components have pure GPL license (recently
added CGI parts), plus some other use some sort of xhb specific
modification of original Harbour + exception license. This
contains some sentence which doesn't seem to make much sense:
"This exception applies only to the code released with this xHarbour explicit exception."
FYI.
* contrib/hbtpathy/telepath.prg
* utils/hbmk2/hbmk2.prg
* Minor formatting, comments.
* utils/hbmk2/hbmk2.prg
+ Added support for windres resource compiler for os2/gcc.
(untested)
+ Minor step to support os2/gcc cross-compilation on Linux.
* utils/hbmk2/hbmk2.prg
! Fixed to ignore filtered -gt switches (like -gtxwc{unix})
without warning message.
+ Some small steps towards adding sunpro[64] support to hbmk2.
% Merged watcom compiler support code for different platforms.
(option casing also synced)
! Added "{LS}" (resources) to os2/watcom compiler cmdline.
! Added -bt=os2/nt to resource compiler cmdline for watcom.
+ Added '-p=64' option to win|os2|dos/watcom lib cmdline.
+ Added '-q' option to watcom wlib/wrc cmdlines.
! Fixed debug linker option for watcom.
* config/dos/watcom.cf
* config/win/watcom.cf
* config/linux/watcom.cf
* config/os2/watcom.cf
+ Added doc link to wlib tool.
* Synced link option casing with each other and hbmk2.
% Deleted 'export DOS4G=quiet' for win and os2.
* config/global.cf
+ Minor cosmetic.
* utils/hbmk2/hbmk2.prg
+ In incremental (-inc) mode .c and .rc stubs are now created
inside workdir and kept there for consecutive build runs.
They are only recreated if necessary. This means that
-gt, -main= and -icon options work well with -inc mode, and
won't anymore force linking on each run.
* All stubs will be recreated in -rebuild mode.
* Above stubs will be deleted in -clean mode. (except vcshead and tshead)
* utils/hbmk2/hbmk2.prg
! Deleted -MTd win/msvc compiler switch in -debug mode to not
leave it to the default settings and give users full control
of this.
* contrib/hbqt/hbqt_slots.cpp
! Deleted windows.h.
* include/hbsetup.h
+ PPC CPU detection made better.
* include/hbatomic.h
* source/vm/maindllp.c
* source/rtl/gttone.c
+ Using HB_CPU_* macros to detect CPU instead of compiler
specific solutions.
Przemek, please review me.
* source/vm/maindllp.c
% Using hbver.h constants to form the version number
included in the .dll name. So it's now maintainence
free.
% Reduced redundancy when forming .dll names.
* source/vm/maindllp.c
* utils/hbmk2/hbmk2.prg
* Renamed wce .dll to harbour[mt]-20-wce-arm.dll
* Renamed non-ARM wce .dlls to harbour[mt]-20-wce.dll
* INSTALL
+ config/linux/sunpro.cf
+ Added Sun Studio compiler support for Linux platforms.
Thanks Tamas Tevesz for the tip that this port exists.
It has various problems to fix, but it's a start.
* config/sunos/sunpro.cf
! Typo in prev commit.
* INSTALL
* utils/hbmk2/hbmk2.prg
* config/global.cf
+ Little bit changed the meaning of HB_BUILD_NAME. It's now
simply appended to <arch>/<comp> value. So, to create
'<arch>/<comp>.<bld>' style names HB_BUILD_NAME=.dbg can be
used. This will result in the flattest dir structure.
To create a subdir, this can be used:
HB_BUILD_NAME=/dbg. To create a dir structure:
HB_BUILD_NAME=/dbg/cpp
+ GRANDP variable is now automatically calculated.
* config/sunos/sunpro.cf
! Minor typo.
* config/global.cf
* Changed HB_BUILD_SUBDIR to HB_BUILD_NAME.
! HB_BUILD_NAME fixes after initial testing. Should be okay now.
* INSTALL
+ Documented new HB_BUILD_NAME setting.
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
+ Added support for -build= option. This is similar to HB_BUILD_NAME
when building Harbour. Also added ${hb_build} macro.
* INSTALL
* bin/postinst.sh
* source/vm/fm.c
* source/common/hbver.c
+ config/sunos/sunpro64.cf
* config/sunos/sunpro.cf
* ChangeLog
+ Applied second SunPro patch sent by Tamas Tevesz.
Addressed these former TODOs:
+ Added sunpro64 target.
+ Finalized C compiler options (including warning level settings).
+ Added compiler identification code to hbver.c.
+ dynamic lib creation.
* utils/hbmk2/hbmk2.prg
! Fixed RTE when run on sunos. Needs further work to discover how
it could run onto that codepath, normally it shouldn't.
* bin/postinst.sh
% Cleaned a few remaining 'gpp' HB_COMPILER value checks.
* include/hbdefs.h
* include/hbsetup.h
* include/hbinit.h
* source/vm/fm.c
+ config/sunos/sunpro.cf
+ Added first round of Sun Pro (Sun Studio) compiler.
Contribution of Tamas Tevesz.
; TODO:
+ Add other Sun Pro CPU targets.
* Finalize __inline keyword usage. (currently in fm.c)
Przemek, could you take a look at it?
! Fix warning option.
+ Add compiler identification code to hbver.c.
+ hbmk2 support.
+ dynamic lib creation.
* utils/hbmk2/hbmk2.prg
* Minor rename.
* contrib/hbclipsm/gauge.c
% Minor opt, plus removed cast.
* contrib/hbwin/wce_smsc.c
* contrib/hbwin/wce_sim.prg
* Minor formatting.
* utils/hbmk2/hbmk2.prg
% Maybe I'm overlooking some scenarios, but I could simply drop the
need for libdynhas= in hbmk.cfg.
Now the required gtsln/gtcrs/gtxwc system libs will be automatically
linked when these libs are selected by user (either by hbmk.cfg,
.hbc or cmdline/.hbp files). Tested on Darwin.
I can add automatic addition of these system libs based on presence
of corresponding Harbour libs if needed. Or maybe even better would be
to never link these GTs to the Harbour dynamic lib. Please comment on this.
! Fixed to add external curses/X11/slang libs in -shared mode. Was needed
on Darwin.
+ Linking pdcurses for gtcrs with dos/djgpp.