* 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.
* utils/hbmk2/hbmk2.prg
+ Added '-Wl,-static' option for gcc/*nix when -fullstatic
hbmk option is used. I hope this is fine. On my Ubuntu,
this says: '/usr/bin/ld: cannot find -lgcc_s'.
- Removed debug trace line left in.
* contrib/Makefile
! Fixed commenting hbwhat.
* INSTALL
+ Added more information to Windows section.
This will need a cleanup already.
+ Added links, header.
* make_gnu.bat
+ Added automatic default of HB_INSTALL_PREFIX on NT
and above systems. This means this setting is now
option. If not set, it will install under the
source tree.
* make_gnu.bat
+ Added autodetection of mingw32-make.exe. If found in
PATH, it will be used instead of make.exe.
This way the build process is much less resistant of
environment configuration. If this works out, I'll
lax the rules in INSTALL.
* utils/hbmk2/hbmk2.prg
* Minor internal cleanup to previous.
* INSTALL
+ Added text to specifically tell to rename mingw32-make.exe
to make.exe if the former is found in a distro.
BTW most probably mingw32-make.exe would also make it, but
our make_gnu.bat file wants make.exe, and there is no
easy way to check (but can be done).
* utils/hbmk2/hbmk2.prg
! Fixed silly typo preventing object files to get their
proper extension in -hbcc mode.
* Minor internal change to avoid changing extensions twice
on the same string, since this may cause loss.
* INSTALL
* make_gnu.bat
* make_gnu.sh
+ Added listing of supported C compilers.
+ Added list of available built-time options.
(may be incomplete).
! Added -n options to hbmk2 calls.
- Removed similar content from script files.
* make_gnu.bat
- Removed --install-with-dll option.
Use set HB_BUILD_DLL=yes instead.
* utils/hbmk2/hbmk2.prg
! Fixed swapped -hbcc and -hbcmp meaning.
+ Don't deal with compiler autodetection if called with
-hbcmp option. In this mode a C compiler isn't needed
at all.
+ harbour/contrib/xhb/xhbcls.ch
+ added header file which xHarbour like OVERRIDE / EXTEND CLASS
definitions.
Warning: using this functionality may break logical inheritance
scheme or even some internal class definitions in both
Harbour and xHarbour compilers. In Harbour it's unsupported
feature added here only for strict XHB compatibility.
* INSTALL
+ Added more information.
(everyone trying to build Harbour from source
should read this first.)
* bin/postinst.bat
+ Added option to copy import libs belonging to
external tools for msvc and bcc32 to HB_LIB_INSTALL.
This is to keep this debated, but convenient feature
for the GNU-make world, until we find some better way
to deal with it. Now it's self contained, detached from
all important Harbour parts. And most importantly:
You don't have to use it, if you don't want to.
Now, if you want, set HB_DIR_IMPLIB to "yes" and
setup your HB_DIR_* dirs to the roots of the external
tool dirs, like this (adjust to your environment):
---
set HB_DIR_IMPLIB=yes
set HB_DIR_ADS=C:\devl\ADS910\ACESDK
set HB_DIR_ALLEGRO=C:\devl\allegro-4.2.2
set HB_DIR_APOLLO=C:\devl\Apollo-6.1.0.4
set HB_DIR_BLAT=C:\devl\blat-2.6.2
set HB_DIR_CURL=C:\devl\curl-7.19.0
set HB_DIR_FIREBIRD=C:\devl\Firebird-2.1.1
set HB_DIR_FREEIMAGE=C:\devl\FreeImage-3.11.0
set HB_DIR_GD=C:\devl\gd-2.0.34
set HB_DIR_LIBHARU=C:\devl\libharu-2.1.0
set HB_DIR_MYSQL=C:\devl\mysql-5.0.67
set HB_DIR_OPENSSL=C:\devl\openssl-0.9.8j
set HB_DIR_PGSQL=C:\devl\pgsql-8.3.3
---
(This may be tweaked in the future, so I don't
guarantee any compatibility for this stuff)
* make_b32.bat
* make_vc.bat
* make_gcc.sh
* Redirected old "non-GNU" build starters to the mainstream
Harbour GNU Make system, with some measures to keep
compatibility. It's not 100% compatible, but the most
important settings and aspects should be similar.
It's recommended for everyone to switch using the GNU
make system natively, as the non-GNU one will be removed
in the future, the old way is now legacy and not supported.
* INSTALL
* make_gnu.bat
+ Added some more information.
* bin/postinst.bat
* make_gnu.bat
* config/win/global.cf
* Renamed HB_DLL to HB_BUILD_DLL, which makes this GNU make
setting compatible with old non-GNU make.
* INSTALL
* make_gnu.bat
+ Added --install-with-dll option. This will build
and install Harbour with .dlls. Some examples:
--- for msvc:
call "%ProgramFiles%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
set PATH=C:\devl\make-3.81;%PATH%
set HB_INSTALL_PREFIX=C:\devl\hbvc-1.1
call make_gnu.bat --install-with-dll > out.txt 2>&1
---
--- for bcc32:
set PATH=C:\devl\bcc55\bin;%PATH%
set PATH=C:\devl\make-3.81;%PATH%
set HB_COMPILER=bcc32
set HB_INSTALL_PREFIX=C:\devl\hbb32-1.1
call make_gnu.bat --install-with-dll > out.txt 2>&1
---
* make_gnu.bat
* make_gnu_os2.cmd
+ Will now automatically create the install destination dirs.
; TODO: Could someone please add this feature to make_gnu.sh?
* bin/postinst.bat
* bin/hb-mkdyn.bat
* Moved building dll flavoured executables to postinst,
so they will be rebuilt even if HB_DLL!=yes but .dlls
are available.
* contrib/Makefile
+ Added support for option: HB_CONTRIBLIBS=no.
This will disable building any Harbour contribs.
(no need to resort to hacks here anymore)
* utils/hbmk2/hbmk2.prg
* Minor on help screen.
* utils/hbmk2/hbmk2.prg
+ Now all dirs of input files referred to through .hbm
make files will be adjusted with the .hbm path as passed
on the command line. This allows to use .hbm files without
switching to their host dirs:
'hbmk2 examples/hello/hello.hbm'
(internal logic also allows to display error messages
pointing to the exact location where the error
was detected)
+ Added simple macro substitution engine. Not used yet.
% Minor optimizations.
* bin/hb-mkdyn.bat
* source/vm/Makefile
* utils/hbmk2/hbmk2.prg
+ config/win/msvcia64.cf
+ Added support for IA64 architecure with MSVC.
(actual compilation untested as it needs MSVC Team System)
* bin/hb-mkdyn.bat
% Now using .hbm files.
* harbour/contrib/gtwvg/gtwvg.c
! Some refinements is setting Window's style through
SetWindowLong(Ptr)().
* harbour/contrib/gtwvg/wvgwin.c
% Removed some test code.
* harbour/contrib/gtwvg/gtwvg.c
* harbour/contrib/gtwvg/gtwvg.h
! Updated to honor Box Caharcter Changes as in GTWVT by Przemek.
! Updated HB_GTI_CLOSABLE and HB_GTI_RESIZABLE behavior as in GTWVT
by Viktor.
* bin/hb-mkdyn.bat
* Cleaned tool outputs.
+ Added hbmaindllh lib to included liblist.
(dunno what this serves, but we had it in non-GNU make)
Do we need this at all?
+ Added support for msvc64 dll name.
* Some tweak to owatcom, but it's just guessing, it still
doesn't work.
+ Added generating hbrun-dll executable.
* source/vm/hvm.c
* source/vm/mainstd.c
* Random tweak for owatcom/win dll support without success.
Best result so far is:
"Unrecoverable error 9012: Can't locate the starting procedure: 'MAIN'"
* source/vm/Makefile
+ Added mainddllp generation for msvc, msvc64, bcc32, owatcom.
* source/vm/maindllp.c
+ Added msvc64 and msvcia64 .dll names.
* source/vm/extrap.c
* Minor tweak to use alternate (documented) CPU detection macro.
* utils/hbmk2/hbmk2.prg
+ Added msvc64 .dll name.
* Removed automatic addition of hbcommon lib for shared
mode for win compilers.
* utils/hbtest/hbtest.hbm
* utils/hbrun/hbrun.hbm
+ Added make files.
* config/rules.cf
* config/win/global.cf
* config/lib.cf
* config/bin.cf
* Make files changed to:
- add Harbour option -n1 for all lib .prgs.
- add Harbour option -n for all binary .prgs.
- use HB_GCMODE to override -gc mode for binaries.
- add C -DHB_DYNLIB option when HB_DLL envvar is set to 'yes'.
; This means that now 'set HB_DLL=yes' setting works as planned,
and will compile Harbour to allow the creation of .dlls
and will also create those (msvc, bcc32, owatcom).
(MinGW has been covered before these changes already.)
; TOFIX: .dlls still need tweaking to work properly.
owatcom doesn't create usable binaries when
using HB_DLL=yes f.e., also hbrun-dll cannot be
built with msvc/bcc32.
* config/win/owatcom.cf
% Removed DOS hack.
* bin/hb-mkdyn.bat
! Fixes to recent changes.
* harbour/source/rtl/gtwvt/gtwvt.h
* harbour/source/rtl/gtwvt/gtwvt.c
+ added support to set codepage for box drawing characters using
HB_GTI_BOXCP as numeric value just like in HB_GTI_CODEPAGE for
non UNICODE builds. In Windows CP encoding has even higher priority
then font name so such functionality is necessary for users who
have to keep normal and box font synced
% do not allocate separate font handle for BOX drawing characters
when they have the same encoding as normal characters
! keep box and normal font handles synced and free then on exit
! respect HB_GTI_RESIZABLE settings when new window is created
* bin/hb-mkdyn.bat
+ Moving .lib and .exp (if they are generated) files
to LIB dir.
* source/vm/maindllp.c
+ Added owatcom flavour of .dll name.
* contrib/hbwin/win_misc.c
+ Added WAPI_GETLASTERROR(), WAPI_SETLASTERROR(), WAPI_SETERRORMODE().
* utils/hbmk2/hbmk2.prg
+ Added TODO to create temp .c files in temp location.
Looks this can create a few problems (-hbcc, .ppo output
location when -p is used by user).
+ '/o' flavour of -o option is now ignored on non-*nix
systems to make sure users cannot mess up the hbmk process
flow.
* -o option modified to reset any previous explicit -o settings.
* Some minor internal renames, comments.
+ Added new hbmk.cfg / .hbp option: 'shareddef='. This can
change the default state of shared/static setting, so it
can be used by installers or user to override default
behaviour. NOTE: HB_SHARED envvar can also be used.
* Changed hbmk.cfg lookup preferences to this:
1. $HOME/.harbour
2. /etc/harbour
3. <hbmkdir>/../etc/harbour
4. <hbmkdir>/../etc
5. <hbmkdir>
(NOTE: I've deleted /etc as etc/harbour seems superior
and we already store a .def file there.
I've also deleted /usr/local/etc)
* harbour/contrib/gtwvg/gtwvg.c
* harbour/contrib/gtwvg/wvgcrt.prg
* harbour/contrib/gtwvg/wvgwnd.prg
! More types of consoles. Mainly modal windows implementation.
* harbour/source/vm/memvars.c
+ added support for reading FoxPro .mem files - Clipper compatibility
! fixed bug introduced in my recent modifications in .mem files writing
! fixed very old bug which disabled writing to .mem files strings
longer then 32Kb
* harbour/contrib/gtwvg/wvgwin.c
! added dirty hack for borland C compiler and #define NONAMELESSUNION
in oledlg.h
* harbour/config/linux/owatcom.cf
! added missing support for HB_USER_LDFLAGS
* INSTALL
! Typo in prev.
* config/darwin/install.cf
* config/win/install.cf
+ Added same as Linux workaround to not let install phase
fail because copy on install error.
* INSTALL
+ Added MinGW + msys specific entry.
* bin/postinst.sh
+ Added generation of hbcc.bat, hbcmp.bat, hblnk.bat
to be in complete feature sync with the non-msys method.
NOTE: non-msys method isn't recommended.
* make_gnu_os2.cmd
+ Added automatic HB_*_INSTALL setup based on HB_INSTALL_PREFIX
to be in sync with the rest of Harbour.
* make_gnu.bat
! Fixed forward slashed to backslashes.
* Changed default compiler from mingw to msvc.
* utils/hbmk2/hbmk2.prg
! Refined autodetection of msvc to not be confused by
watcom binary dir in the path.
! Refined autodetection of owatcom by also checking for
WATCOM envvar. Thanks Petr Chornyj for the hint.
% Removed hack to not prioritize MSVC compiler detection,
so it's now handled just like the others.
* bin/postinst.bat
+ Added dos/windows (djgpp/mingw) autodetection.
! Cleaned help screen.
(missed from previous entry)
* Other minor cleanups and fixes on help screen.
* bin/postinst.cmd
* bin/postinst.bat
* bin/hb-func.sh
+ Added arch= and comp= variables to hbmk.cfg.
I plan to use these for autoconfiguration.
* make_gnu_os2.cmd
* make_gnu.bat
- Removed built in output redirection to make them in sync
with the bash flavour. Users can easily redirect it themselves.
* utils/hbmk2/hbmk2.prg
+ Formally added icc.
* config/win/msvcce.cf
! Untested fixes for msvcce in GNU make.
+ harbour/config/linux/icc.cf
* harbour/config/linux/gcc.cf
* harbour/bin/hb-func.sh
* harbour/bin/postinst.sh
* harbour/source/common/hbver.c
+ added support for Intel(R) C/C++ compiler
* harbour/bin/postinst.sh
% use hb-mkdyn symlink instead of regenerating it as hb-mkslib
It will work also in DOS/Windows (MSys/DJGPP emulates ln -s ...)
* harbour/source/vm/thread.c
* removed all references to HB_THREAD_EQUAL()/HB_THREAD_SELF() in
non MT builds
* harbour/source/rtl/console.c
! fixed default color setting in hb_dispOutAtBox()
* harbour/contrib/gtwvg/wvggui.h
* harbour/contrib/gtwvg/wvgwin.c
* harbour/contrib/gtwvg/wincallb.c
* harbour/contrib/gtwvg/wvgsink.c
! fixes for C++ compilation:
- this is reserved word in C++ - do not use it as variable name
- class is reserved word in C++ - do not use it as variable name
- use macros to hide differences between C and C++ WinAPI
- casting
* utils/hbmk2/hbmk2.prg
* On *nix platform hbmk.cfg is now first checked for
in /usr/local/etc, then in /etc and after that in
hbmk2's dir. Please advise if there are other such
global config dirs to check on different platforms.