* harbour/contrib/gtwvg/Makefile
+ wvgtabpg.prg
* harbour/contrib/gtwvg/wvtwin.ch
* harbour/contrib/gtwvg/wvgparts.ch
+ Added constants to manage Tab Pages
* harbour/contrib/gtwvg/gtwvg.c
! Changed the behavior if a GT is child of another GT.
* harbour/contrib/gtwvg/wincallb.c
! Cleanups.
* harbour/contrib/gtwvg/wvgsink.c
! Cleanup.
% Fixed a potential nasty bug. Kept it in the code to refer if some
problem arises in the future.
* harbour/contrib/gtwvg/wvgwin.c
! Cleanup. Removed yet unfinished code.
* harbour/contrib/gtwvg/wvgcombo.prg
! Cleanups and documentation update.
* harbour/contrib/gtwvg/wvgcrt.prg
! Changed the style of modal GT console.
* harbour/contrib/gtwvg/wvgwnd.prg
% Rearrangement of methods.
! Updated to use either protocol - HB_ASCallBck() or SetProp()
controllable by a #define constant.
+ harbour/contrib/gtwvg/wvgtabpg.prg
+ Started WvgTabPage() compatible with - XbpTabPage() of Xbase++.
Unfinished but yet usable as demonstrated in demowvg.prg.
* harbour/contrib/hbwin/hbwapi.h
+ Added wapi_par_WORD|DWORD() macros.
* harbour/contrib/hbwin/wapi_commctrl.c
+ Added TabCtrl_* WINAPI macros as functions.
* harbour/contrib/gtwvg/tests/demowvg.prg
! Updated to execute pure Xbase++ code in all its fury.
+ Added WvgTabPage() implementation via CUI+GUI demo in
<Traditional><WVG Console with GCUI> menu option.
* 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"
* harbour/source/rdd/usrrdd/usrrdd.c
! removed unnecessary declaration
* harbour/source/compiler/harbour.yyc
! removed unnecessary ";"
* harbour/source/vm/classes.c
* harbour/source/compiler/hbpcode.c
* pacified some warnings for compilers which can detect that
hb_errInternal() does not returns
* harbour/source/rtl/hbgtcore.c
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rdd/dbfnsx/dbfnsx1.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* harbour/source/rdd/dbffpt/dbffpt1.c
* harbour/contrib/rddads/adsx.c
* marked all places where we put some link time bindings after
hb_errInternal() as: /* not executed, only to force linking ... */
* 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
* harbour/contrib/examples/uhttpd/uhttpd.prg
* Updated uHTTPD (Work in progress)
* Updated to work in Linux.
* Fixed PRIVATE use and threads as per Przemek suggestions
* Marked WIN_SYSREFRESH() with USE_WIN_ADDONS define
* Changed WIN_TIMEZONEBIAS() to hb_UTCoffset()
* Changed WIN_SETENV() to hb_SetEnv()
* Minor changes
* harbour/contrib/examples/uhttpd/uhttpdc.c
* Marked WIN_SYSREFRESH() as only windows function
- Deleted WIN_SETENV()
- Deleted WIN_TIMEZONEBIAS()
+ Added hb_UTCoffset()
* harbour/contrib/examples/uhttpd/socket.c
* Guarded for only windows build
* harbour/contrib/examples/uhttpd/session.prg
* Changed FileDate() to hb_FGetDateTime()
* harbour/contrib/examples/uhttpd/uhttpd.ini
* Minor fixes
* harbour/contrib/examples/uhttpd/modules/showcounter.prg
* harbour/contrib/examples/uhttpd/modules/tableservletdb.prg
* fixed Linux build
+ harbour/contrib/examples/uhttpd/uhttpd-inet.hbm
+ harbour/contrib/examples/uhttpd/uhttpdgd-inet.hbm
+ Added as temporary files to build uhttpd under Linux
(they haven't -gui flags that give error as per Przemek
note, instead add -gtxwc as standard gui)
; NOTE:
Przemek please check if hb_UTCOffSet() it is correct, then we have to move in
other place.
Tested all samples and they works.
Modules build need to be fixed (Viktor?) but hrb are built. Need to be copied
manually to ../home/cgi-bin
* 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.
* harbour/include/hbapi.h
* harbour/include/hbwince.h
* harbour/source/common/hbgete.c
* harbour/source/common/hbwince.c
+ added BOOL hb_setenv( const char * szName, const char * szValue )
It sets or deletes (szValue==NULL) environment variable.
Please add support for other compilers/OS-es or define
unsupported platforms to eliminate TODO warning.
For sure OS2 version have to be updated.
* harbour/source/rtl/gete.c
+ added .prg function:
HB_SETENV( <cEnvName>, [<cNewVal>] [, <lOsCP>] ) -> <lOK>
which sets or deletes (when <cNewVal> is NIL) process environment
variable <cEnvName>. <lOsCP> controls character translation to
OS encoding. By default is enabled.
TOFIX: <cEnvName> OS character encoding is missing in [HB_]_GETENV()
* harbour/source/common/hbprintf.c
* do not use modfl() in WinCE POCC builds. If MSVC also does not
support if in WinCE builds then please change the condition to
global HB_OS_WIN_CE
* 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.
* harbour/include/hbdefs.h
* harbour/source/vm/hvm.c
* respect HB_START_PROCEDURE in all builds if such public
function/procedure exists.
Now whole Harbour code can be compiled with -n1 in all builds.
Warning for Windows/DOS users:
if you have main() function in your .prg code then it will be
automatically detected as application startup entry just like
in other systems.
Otherwise the 1-st linked function will be used like so far.
+ added HB_START_PROC_STRICT macro which causes that HVM ignores
HB_FS_FIRST attribute. Before this modification HB_START_PROCEDURE
has such meaning.
* harbour/source/vm/memvars.c
! added protection against pushing new private variable on HVM stack
if such private variable is already created by the same function.
Clipper also has such protection. This code illustrates it:
proc main()
memvar var1, var2, var3
private var1 := "a", var2 := "b", var3 := "c"
? var1, var2, var3
private var1 := "A", var2, var3 := "C"
? var1, var2, var3
private var1 := NIL, var2, var3
? var1, var2, var3
return
compare Clipper and current Harbour results with old Harbour ones or
with xHarbour results.
* 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.
* source/compiler/ppcomp.c
! #pragma -k? options are now case-insensitive like all
other Harbour options.
This completes this change:
2008-08-06 22:18 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* 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.
* harbour/bin/hb-func.sh
* explicitly bind system libraries with harbour shared library.
RPM/DEB packages should automatically detect these dependencies.
Viktor, now you do not have to pass system libraries like
m, dl, rt, pthread, socket, nsl, resolv, curses, slang, x11,
wininet, ws2, commdlg, commctrl, uuid, ole32 ... when you create
shared binaries by hbmk2 - all bindings are in harbour shared
library. They are necessary only for static builds.
* bin/hb-mkdyn.sh
* bin/postinst.sh
+ Added some level of cygwin support.
; TOFIX: .dlls are not generated.
* make_gnu.sh
* Change recently added '==' operators to '='.
+ Added link to GNU bash and POSIX shell docs.
For Harbour we need to comply with the latter
(at least for OS neutral script parts).
* INSTALL
* mpkg_win.bat
* config/global.cf
* Formatting.
* 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.
* mpkg_win.bat
! Not polluting caller environment vars.
* Changed to always override HB_INSTALL_PREFIX to a local temp dir.
(to avoid picking up any other misc files accidentally present
in a user supplied directory)
+ Added --deltemp option which will delete the temp install dir.
+ Completed requirement list.
* mpkg_win.nsi
* Formatting.
* harbour/contrib/examples/uhttpd/uhttpd.prg
* Updated uHTTPD (Work in progress)
! Fixing memory usage attempt.
Set PRIVATE vars to NIL when not more used and force
collect memory with hb_GCAll( .T. )
* Set Service Threads initial value to 0
+ Added support for directory index files
+ Added support for filters (WIP)
* Added creation of error.log file in case of error
* Minor changes
* harbour/contrib/examples/uhttpd/cgifunc.prg
* Fixed comment
* harbour/contrib/examples/uhttpd/uhttpd.ini
+ DirectoryIndex entry
; NOTE: Please check me for memory usage. I have added a comment
// FSG - memory check
to interested lines. But I'm not sure if this solves the
problem.
* 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.
* harbour/source/rtl/hbproces.c
* check if some define constants exists before use - it should
fix compilation in some WinCE builds, f.e. with MSVC
* harbour/source/common/hbprintf.c
* disabled _LIB_VERSION setting in DJGPP builds - if we need it
for some reasons then it should be done in different which does
not create multiple instances of this variable
* harbour/source/vm/Makefile
! fixed compilation with C compilers which does not support MT mode
(HB_MT=no) - it's seldom situation but may exists on some platforms,
f.e. in *nixes when PTHREADS is not available
* harbour/config/win/bcc.cf
! fixed compilation in SHELL environment
(if exists ... del ... is COMMAND.COM/CMD.EXE only command)
* harbour/source/rtl/hbstrfmt.c
! casting for C++ compilation
* harbour/contrib/xhb/dbf2txt.c
! casting for C++ compilation
! fixed two bad bugs which can cause GPF or some other bad results
I'd seen after short check. I haven't analyzed this code carefully
for others.
* harbour/bin/postinst.sh
! fixed hb*-mkslib link in cross builds (MinGW/MinGWCE)
* 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.