* config/rules.cf
+ Added -ko optimization switch for Harbour.
; TODO: Disable it for specific places of hbtest.
* bin/hb-mkdyn.bat
+ Added missing pocc implib generation.
* utils/hbmk2/hbmk2.prg
+ mingwce support synced with mingw some more.
F.e. now resources are supported for mingwce executables.
* bin/hb-mkdyn.sh
* bin/hb-mkdyn.bat
* source/vm/maindllp.c
* utils/hbmk2/hbmk2.prg
+ Renamed all Windows Harbour .dlls to harbour-11.dll and
harbourmt-11.dll. This means that MinGW will now have a versioned
name to be in sync with other builds. It also means that
-vc, -pocc, -ow postfixes are gone (and additionally DMC
could also be supported). What remains is -x64 to
signal an x64 and -ia64 to signal a IA64 build. Another thing
which remains is -b32 (now renamed to -bcc to be in sync with
rest of Harbour), because Borland has an non-standard
name mangling, and while it can be made work with other
compilers since the calling convention is the same, it requires
the .dll user applications to be rebuilt with some implib tricks.
Overall Borland isn't recommended for .dll creation.
Please do further tests for binary compatibility.
; TOFIX: Location of .dll still differs for mingw/cygwin, they
are created in lib while rest of compilers create it in
bin. I think we should sync them by creating a copy
of the .dlls in bin for mingw/cygwin. Przemek, could
you help here?
; TOFIX: "Making <dllname>..." screen messages. I'll need some
help here also.
* bin/hb-mkdyn.sh
* ${MAJOR} default set to 1.
* make_gnu_os2.cmd
* Minor formatting.
* contrib/hbgd/gdwrp.c
! Minor correction to recent change. (avoiding warning for MinGW)
* utils/hbdoc/genos2.prg
* utils/hbdoc/genng.prg
* utils/hbdoc/genasc.prg
* utils/hbdoc/genchm.prg
* utils/hbdoc/genhpc.prg
* utils/hbdoc/ft_funcs.prg
* utils/hbdoc/hbdoc.prg
* utils/hbdoc/genhtm.prg
* utils/hbdoc/genpdf1.prg
* utils/hbdoc/gentrf.prg
* utils/hbdoc/genrtf.prg
+ Enabled line number for all files to aid finding crashes.
! Few crashes fixed. Still far from usable state.
* source/vm/thread.c
+ Added short Harbour level API description. (from Przemek)
* contrib/xhb/Makefile
* contrib/xhb/hbcompat.ch
+ contrib/xhb/xhbmt.prg
+ Added translation for all xhb MT functions.
(Thanks a lot Przemek)
* bin/postinst.bat
+ Added owatcom and pocc support for implib generation.
* utils/hbmk2/hbmk2.prg
+ Fixed win/pocc support.
+ Added resource support for win/pocc.
+ Added .dll support for win/pocc.
+ Added win/xcc support (untested).
+ -DHB_DYNLIB is passed to C compiler in -hbdyn (.dll) mode
for win targets. (still need fixing to create usable .dlls)
; NOTE: pocc support is very limited as pocc compiler doesn't
support multiple input files.
* harbour/source/rtl/gttrm/gttrm.c
+ added some missing xterm key sequences
* harbour/utils/hbmk2/hbmk2.prg
! fixed curses name in SunOS builds (here we are using native curses
library not ncurses)
* harbour/config/hpux/global.cf
* harbour/config/sunos/global.cf
* enabled GTXWC disabled for default builds
* utils/hbmk2/hbmk2.prg
* -debug description extended.
* contrib/xhb/hbcompat.ch
- Disabled dangerous bitop compatibility macros + comment added.
Enabled them with #define XHB_BITOP. Or even better
to change code to use HB_BIT*() functions natively.
* utils/hbmk2/hbmk2.prg
+ Added support for static lib creation (experimental).
win/msvc, win/bcc are supported.
+ Added support for dynamic lib creation (experimental).
win/msvc is currently support.
; Please help adding support for the rest of compilers.
* utils/hbmk2/hbmk2.prg
+ Normalizing paths of cfg files.
* CCPREFIX, CCPATH renamed to HB_CCPREFIX, HB_CCPATH
(seems these are Harbour specific settings)
* contrib/examples/uhttpd/home/testxmldb.html
* Added Safari as unsupported browser.
(BTW, what would it need to support Safari and Chrome, or
WebKit browsers in general?)
* utils/Makefile
* Minor reordering.
* config/win/poccce.cf
* config/win/pocc.cf
! Turned off -Ox, left -Ot.
"When it comes to optimizations, the -Ot option (in this case) is the much
more important than -Ox. The -Ox option will only rarely find things to
optimize, and in your case it will cause a GPF. I suggest you skip the -Ox
option and just use the -Ot option for now...
Pelle"
* utils/hbmk2/hbmk2.prg
! Fixed -gh switch detection and workings.
(Francesco, pls check now allmod.hbm)
+ -gt switch can now be filtered. (-gtwin{win})
! -gui switch won't anymore add '-Wl,-mwindows' C compiler switch
on *nix systems. Someone pls confirm this is right.
* icc will use -vc postfixed .dlls. They seem to be binary
compatible, but I didn't test.
% Using __PLATFORM__UNIX macro where applicable.
! Ignoring -o Harbour option passed using '-prgflag:'
* INSTALL
+ Added some details.
* mpkg_win.bat
! Don't create install files if the make process returned
with error.
* source/lang/msg_tpl.c
! Removed ending ';'.
* source/vm/Makefile
+ Added icc to generate maindllh.lib.
* source/common/hbfsapi.c
! Removed obsolete 'extern hb_fhnd_ForceLink()'.
* config/rules.cf
* config/lib.cf
* config/bin.cf
% Compiling all .prg files with -n1 switch.
* contrib/examples/uhttpd/uhttpdc.c
* Cleaned Windows headers usage.
#define HB_OS_WIN_USED is safe to use on all platforms,
it just requests the Windows headers, and if compiled on
Windows, it will #include them.
* contrib/examples/uhttpd/uhttpd.prg
+ Automatically sets USE_HB_INET on non-Windows platforms.
- contrib/examples/uhttpd/uhttpd-inet.hbm
- contrib/examples/uhttpd/uhttpdgd-inet.hbm
- Removed files no longer necessary.
* contrib/examples/uhttpd/uhttpd.hbm
+ Added comment about -DUSE_HB_INET option.
% Removed -lhbct
* include/hbextern.ch
+ Added HB_SETENV()
* utils/hbmk2/hbmk2.prg
* Minor cleanups.
* contrib/examples/uhttpd/uhttpd.hbm
- Removed -n. It's now automatic.
; TODO: Remove the rest.
* INSTALL
* doc/man/hbmk.1
+ config/win/icc.cf
* utils/hbmk2/hbmk2.prg
+ Added Intel(R) C++ compiler support for Windows.
+ Added initial support also in hbmk2.
; This compile is actively developed and its famous of
generating the fastest running code of all C compilers.
It also outputs an extremely detailed warning list.
And the best thing: It compiled Harbour without a single
hitch. hbtest is also running fine. hbmk2 is able to
create executables.
* doc/man/hbmk.1
* INSTALL
* utils/hbmk2/hbmk2.prg
- config/win/dmc.cf
- config/os2/icc.cf
- Removed win/dmc (Digital Marc C) C compiler from supported
compiler list. The compiler was added last year, but
it turned out to be too buggy for any kind of production
work, and the compiler's development seem to have been
stalled year ago.
This is part of the pruning effort to leave here what's
really needed and beneficiary for users. This will
reduce the test matrix and give way to more important
things.
- Removed os2/icc. IBM Visual Age isn't available for OS/2
since very long, and no one seems to use this compiler
on this platform. Harbour support also wasn't tested
since long.
* doc/man/hbmk.1
* INSTALL
* utils/hbmk2/hbmk2.prg
- config/win/icc.cf
- Deleted win/icc from supported compiler list. This was
never working and the compiler isn't available anymore
for Windows. For AIX we could support it though.
* INSTALL
* Minor typos.
* mpkg_win.bat
+ Added zip link. Made NSIS link more direct.
* doc/man/hbmk.1
* INSTALL
* utils/hbmk2/hbmk2.prg
* config/dos/global.cf
- config/dos/rsx32.cf
- config/win/rsxnt.cf
- Pruned rsx32 and rsxnt compiler support. Both are dead
product since long years. Their successor is MinGW on win,
and DJGPP on dos.
; NOTE: More candidates for such pruning are:
- dmc (buggy and compiler not updated)
- xcc (based on very old version of pocc)
Any opinions?
* config/dos/global.cf
- Cleaned emx, watcom, rsx, bcc16 related branches.
* mpkg_win.bat
* mpkg_win.nsi
! Exclusion of junk files is now done in batch, so
the .zip is now also free from them.
* utils/hbmk2/hbmk2.prg
+ Added -prgflag:, -cflag:, -ldflag: options.
To lessen the chance to mess up hbmk and underlying
tools, only "-" and (on non-*nix) "/" prefixed values
are accepted. Values are slash corrected by hbmk and
filters can also be used.
+ -hbcc and -hblnk will now consider raw (unrecognized and
prefixed) options as C/linker flags respectively. Values
are slash corrected and filters can also be used.
; NOTE: Passing C/linker flags directly to underlying
tools isn't a very good idea if you want to stay
portable across tools and OSes. The only exception
is the '-D' C flag which seems universally available
on all C compilers.
* "/" prefixed Harbour options will now be recognized
in normal mode on non-*nix systems.
! DOS EOL char is now ignored in .hbp/.hbm files.
+ Added -bm owatcom C compiler switch in -mt mode for win/os2/linux.
Pls test on os2/linux.
* TOFIX: Attempted to add -gui support for win/owatcom. Harbour
still complains about "It's not a GUI app". This compiler
is a real bitch with tons of similarly looking options
and no adequate online docs, so if someone feels like
it, pls correct the TOFIX section in source.
Until then GTWVT and GTWVG won't work with owatcom.
; NOTE: Most probably not, but I hope hbmk2 now qualifies for
"basic functionality".
* mpkg_win.nsi
! Fixed to not include some more unnecessary files generated
by certain linkers along the build process.
* utils/hbmk2/hbmk2.prg
+ Added warning msg if referenced .hbm file cannot be found.
+ filename without extension referenced with @ prefix
will get an .hbm extension added automatically.
! Typo in prev fixed.
* Filename updated in comment.
* doc/man/hbmk.1
* Updates. Work in progress.
* utils/hbmk2/hbmk2.prg
+ Added man page, troff/groff links.
! Reversed the logic shared lib paths were included by.
* Changed the meaning -hbcc again. Now it will switch hbmk2
to a mode where it accept -c option. If -c is sensed, it
will stop after calling the C compiler.
! gtwxc removed from default GT list for *nix systems.
It should be added there by hbmk.cfg.
* doc/man/hbmk.1
* Updated. Blindly.
Do someone know a tool which can render man pages and show
it without having to install this file first?
* utils/hbmk2/hbmk2.prg
! Fixed to not create .c stub if only C compilation is requested.
In this case it won't do any entry function detection either.
! Attempt to fix core GT dependencies not automatically linked
with gcc/*nix for gtsln/gtcrs/gtxwc (in static mode).
% Not adding some (now unnecessary) system libraries when in
shared mode for gcc family compilers on all platforms.
See: 2009-03-04 12:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
; Please test above changes.
* INSTALL
* HB_INC_OPENSSL sample corrected to point to real-life header dir.
+ Added cygwin compiler. gcc temply removed from doc list.
% Removed unnecessary -n hbmk2 switches.
+ Added cygwin section.
* utils/hbmk2/hbmk2.prg
+ Don't add gtnul as a real library.
Please test, I've never used GTNUL.
+ Added support for cygwin compiler value.
(works the same as current 'win/gcc' combination)
! Typo in rare error messages.
! Removed -no-cygwin option from cygwin gcc command line.
* source/common/hbprintf.c
* contrib/hbssl/sslrand.c
! Fixed to compile with cygwin.
; TOFIX:
when running hbtest.exe:
Error DBFNTX/1011 Write error: _hbtmp_.dbf
Called from DBCREATE(0)
Called from TEST_BEGIN(0)
Called from MAIN(0)
* make_gnu.sh
+ Added cygwin detection.
* config/win/gcc.cf
+ config/win/cygwin.cf
+ Added separate cygwin make config.
gcc is now just a map to cygwin.
* INSTALL
* make_gnu.bat
- 'msvc' is no longer the default choice for win.
HB_COMPILER must always be specified.
* mpkg_win.bat
+ Removes tmp install dir before creating the build.
+ Added support for MinGW.
+ Added creation of .zip packages. (Info-ZIP zip.exe
is required).
* make_gnu.sh
* INSTALL
+ on win/dos/os2 systems it will create HB_*_INSTALL dirs
automatically (sync with make_gnu.bat).
+ on dos/os2 it will also automatically set HB_DOC_INSTALL.
+ on win/dos/os2 it will automatically convert
HB_INSTALL_PREFIX and HB_*_INSTALL to use forward slashes.
* utils/hbmk2/hbmk2.prg
+ Added gtnul to standard list of GTs.
Attempt to solve the problem reported by Barry Jackson.
Please test if this solves anything.
* doc/Makefile
! Deleted files removed.
* INSTALL
+ Extended 'HOW TO ENABLE OPTIONAL COMPONENTS BEFORE BUILD'
section a bit. (HB_DIR_* stuff still not included as it's
early to document it yet, refer to the ChangeLog for info
on it).
* bin/hbmk.bat
- Removed -n switch.
+ mpkg_win.bat
+ Added Windows installer creator script.
; TODO: Move all mpkg_*.* and related files to new /package dir.
* mpkg_win.nsi
+ Changed to use HB_*_INSTALL envvars for source file locations.
! Fixed to exclude .tds files.
+ Will now will include version number, architecture and compiler
in installer .exe name.
+ Default install destination will now include compiler name.
* source/compiler/hbmain.c
* source/compiler/cmdcheck.c
* source/compiler/gencobj.c
* source/compiler/hbusage.c
+ Marked -go option as HB_LEGACY_LEVEL2. Deprecated text
shown on help screen.
* utils/hbmk2/hbmk2.prg
! Fixed entry func autodetection problem with gcc when
source file is passed without .prg extension.
Reported by Maurilio.
* utils/hbmk2/hbmk2.prg
+ Now hbmk will show the filename of each processed .hbp file.
* Changed -quiet meaning: it will now suppress above messages.
* ChangeLog
+ Added new line for previous entry about new --version option.
* INSTALL
- Bison requirement moved next to the parser related option,
to not cause any unnecessary confusion.
* utils/hbmk2/hbmk2.prg
* Made -hbcc and -hbcmp to behave the same. They'll no both
generate objects.
* INSTALL
- Removed HB, HBPP envvars as cross-compilation requirements.
* make_gnu_os2.cmd
+ Now honors HB_USER_MAKEFLAGS setting.
* utils/hbmk2/hbmk2.prg
+ Added -n2 Harbour switch as default.
; TODO: If this works out well, we can remove explicit
-n switches from .hbm files.
* config/win/bcc.cf
+ Suppressing some OS commands to not pollute output.
* utils/hbmk2/hbmk2.prg
+ Automatically switching to -hbcmp mode if /gh switch is used.
+ In -hbcmp mode it will pass /o option directly to Harbour.
- contrib/examples/uhttpd/modules/bldhrb.bat
+ contrib/examples/uhttpd/modules/allmod.hbm
+ Replaced batch file with hbmk2 make file. It will build
all .hrb files and place them to cgi-bin dir.
* source/rtl/Makefile
* include/hbextern.ch
+ source/rtl/hbstrfmt.c
+ Added HB_STRFORMAT() sprintf()-like formatting.
+ Added hb_StrFormat() C level function.
; Work of Mindaugas sent to the list, with some minor
cleanups applied. Please test on your platform/compiler.
* contrib/examples/uhttpd/uhttpd.prg
* contrib/examples/uhttpd/cgifunc.prg
* contrib/examples/uhttpd/session.prg
* contrib/examples/uhttpd/uhttpd.hbm
* xhb compatibility cleanups.
- xhb lib and header dependency removed.
* utils/hbmk2/hbmk2.prg
* Changed so that libs won't inherit their .hbm file paths.
+ Embedded .hbm files will inherit their parents dir.
- contrib/examples/uhttpd/hbmk.bat
+ contrib/examples/uhttpd/uhttpdgd.hbm
* contrib/examples/uhttpd/uhttpd.prg
* contrib/examples/uhttpd/readme.txt
* Added separate GD enabled .hbm file.
* Remaining hbmk.bat features moved to .prg code and into readme.txt.
* utils/hbmk2/hbmk2.prg
+ Added support for @ and .hbm parameters inside .hbm files.
Currently three levels deep nesting in allowed.
* contrib/xhb/Makefile
+ contrib/xhb/dbf2txt.c
+ Added DBF2TXT() function from xhb.
; TODO: RPC support and HB_SERVICE*() API ?
* INSTALL
* make_b32.bat
* doc/gmake.txt
* bin/postinst.bat
* bin/hb-mkdyn.bat
* make_gnu.bat
* contrib/hbfimage/readme.txt
* contrib/examples/uhttpd/modules/bldhrb.bat
* source/vm/Makefile
* source/rtl/console.c
* source/compiler/gencobj.c
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/examples/winapi.hbp
- config/win/bcc32.cf
+ config/win/bcc.cf
* Long time TODO done: Renamed bcc32 compiler name to bcc.
bcc32 is still accepted by make_gnu.bat, but will be
removed in the future, so it's recommended to update
your local settings to use:
set HB_COMPILER=bcc
- config/dos/bcc16.cf
- Deleted bcc16 compiler support. I didn't work since ages,
and Harbour doesn't support 16-bit compilers anyway.
* utils/hbmk2/hbmk2.prg
! Fixed yesterday's -fullstatic patch. Now it should work.
* make_b32.bat
* make_vc.bat
- Disabled automatic .dll builds to expose the
pure make_gnu.bat interface.
* Some refininements to vc version.
+ mpkg_win.nsi
+ Added NSIS Windows installer script.
Needs to be inserted into build creation process,
which is completely missing yet from SVN. Anyhow
it's tested and working well. At this moment it should
be run from a freshly created dir created with
'make_gnu.bat install'.
You can find the result here:
http://www.syenar.hu/harbour/harbour-1.1.0dev-win32-msvc.exe
* utils/hbrun/hbrun.prg
+ Added -v option which simply runs '? hb_version()' after
startup.
* make_gnu.bat
+ Added init of HB_DOC_INSTALL.
* doc/license.txt
- Removed SVN header to be in full sync with /COPYING.
* INSTALL
* Minor cleanups.