* 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.
* 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.
* 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.
* source/vm/fm.c
! Fixed compilation error in dlmalloc with pocc64.
* config/win/pocc64.cf
* config/win/msvc64.cf
* Cleanup.
* config/win/gcc.cf
! Added gdi32 to system lib list.
* config/win/mingw.cf
* config/win/mingwce.cf
* Minor sync with each other.
% Two duplicated lines removed from mingwce. I hope these
weren't intentional.
---
AR = $(CCPREFIX)ar
ARFLAGS = $(HB_USER_AFLAGS)
---
* bin/hb-mkdyn.bat
* make_gnu.bat
* make_gnu.sh
* utils/hbmk2/hbmk2.prg
* config/win/msvc.cf
+ config/win/msvc64.cf
+ Added separate HB_COMPILER for msvc x64 mode.
This allows to keep both the 32 and 64-bit builds
built in parallel.
NOTE: This is only supported with GNU Make.
* utils/hbmk2/hbmk2.prg
+ Added autodetection of msvc64.
+ Added pocc64 and msvc64 support in self-detection
code.
* bin/hbmk.bat
+ Added -n to stay compatible with former hbmk.bat.
* utils/hbmk2/hbmk2.prg
! Fixed bug which made gtwvt the default GT for mingw.
! Fixed to create final exe in current dir if no output
filename was specified and the first input file
contained a path.
* Changed to use version-less harbour shared lib names
on *nixes.
! Fixed to pass full path with harbour.so to gcc.
(even when Harbour isn't run from a system location)
! Fixed compilation/linking/cleanup if an input file
wasn't in current dir.
* Temp stub file is now created in system default temp dir,
instead of the current one.
+ Harbour shared lib path is normalized when Harbour
is found on system locations. (so '*/bin/../lib/' becomes
'*/lib')
* Better I hope handling of .so/.dylib/.sl/.dll files passed
on the command line.
* bin/hb-mkdll.bat
! Fixed typo in Borland MT .dll name.
! Fixed to not include maindll.obj, maindllp.obj in
Borland .dlls.
* Minor formatting and cleanup on internal names.
+ Added checking for source lib existence, showing
message if not found.
+ Better user feedback.
* bin/postinst.bat
+ Added running hb_mkdll.bat at the end of the build
process. For now users have to use 'set HB_DLL=yes'
to enable this features. It's experimental yet,
see previous comments.
* source/vm/Makefile
+ Now generating hbmainstd and hbmainwin for remaining
(non-mingw and non-mingwce) compilers. MSVC and BCC
need this for -shared linkage, I'm not sure about the
rest, anyhow we can disable it for other compilers
if it isn't needed in future.
* bin/hb-func.sh
% Refined hbmkcfg.hbp setup to better detect conditions.
* contrib/hbcurl/hbcurl.c
! Pacified this only one new gcc 4.3.3 warning.
* config/win/gcc.cf
* config/win/mingw.cf
+ Added -mtune=pentiumpro gcc optimization.
* utils/hbmk/hbmk2.prg
+ Added new TODOs.
+ Now using GTCGI as the GT.
+ Added -info option to enable informational output.
(currently this is the default for testing period)
+ Added -arch=<arch> command line option. Same as HB_ARCHITECTURE.
Added -comp=<comp> command line option. Same as HB_COMPILER.
envvars are kept for compatibility.
+ Added -hblnk option to give plave for hblnk script behaviour
emulation.
* Changed -cc, -cmp options to -hbcc, -hbcmp respecitvely.
+ Changed -hbcc, -hbcmp, -hblnk switches to turn off information
output and turn on quiet mode by default.
+ Added autodetection of architecture when unique to
architecture compiler is choosen manually. IOW, when
-comp=msvc|mingw|pocc|dmc|xcc is passed the architecture will
be set to win automatically. When -comp=djgpp is used,
dos will be selected.
! Fixed ordering of compiler autodetection because f.e. owatcom
bin dir holds a 'cl.exe', which made hbmk2 falsely detect msvc.
+ Added trick which I'm not sure I like, and may cause problems
and seemingly unpredictable behaviour, but could also help
in some environments where multiple compilers are setup in
parallel (this isn't a recommended scenario for various other
reasons, so maybe we shouldn't support it further). So from
now on the compiler autodetection will first look for the
compiler used to build hbmk2.exe, and check for the rest
afterwards. This feature is turned off for msvc builds of
hbmk2.exe because it breaks owatcom autodetection.
+ Added possibility to pass a plain dir by using -odir[\|/]
switch. The final name will be determined by first input
file name, if this one also has a dir, -o option will be
ignored. Added logic to handle separator differences, this
wasn't tested to a great deal.
+ Added -Wl,--start-group support for linux/gcc|gpp, win/mingw,
dos/djgpp.
! Fixed owatcom support to setup library paths.
! Fixed linux/owatcom to use link script.
* Some adjustments to win/owatcom C compiler settings. I guess
the ones in .cf should also need a cleanup.
* Few minor indentation problems fixed.
! C compiler and linker scripts now got an extension in
the generated temp filename to make some of them happy
(owatcom in this case). .cpl is used for compiler scripts,
.lnk for linker ones.
+ Compiler autodetection now also looks in hbmk2 executable
dir before looking into the PATH.
! Link script content was wrong due to typo.
! Fixed problem with library paths being wrong (doubly
decorated) in the link command. This may also fix some
problems with double extensions and final .c file cleanup.
! Fixed to add hbdebug lib when building in shared mode.
! Fixed typo in automatically adding './' on *nix systems.
; Please test, I definitely couldn't retest all scenaros
after all these changes.
* bin/postinst.bat
* Adapted change in mode modifier switches, also
added new -hblnk one.
* utils/hbmk/examples/winapi.hbp
+ Added mapi32.
+ utils/hbmk/examples/contrib.hbp
+ Added .hbp file for popular and portable only contribs.
* config/win/owatcom.cf
- Removed unnecessary system libs.
* contrib/hbvpdf/hbvpdft.prg
* hbwhat32 -> hbwhat in comment.
* contrib/hbwin/wapi_commctrl.c
* contrib/hbwin/wapi_winuser.c
! Fixed harbour-project page link in header.
* contrib/hbwin/hbwapi.h
* Formatting (indenting the whole file content inside
self-guard isn't necessary.)
* ChangeLog
* utils/hbmk/hbmk2.prg
* TODOs moved to source file.
+ Added hbp comment syntax to help screen.
* config/win/install.cf
! Reverted previous fix (with xcopy) and replaced with
official method to suppress return value.
* config/win/bcc32.cf
* Synced flags with non-GNU make. This adds MT support.
* config/win/install.cf
! Install command modified to not give errors and block
the whole build process if the target file already exists.
The workaround consisted of changing 'copy' to 'xcopy /d /y'.
* include/inkey.ch
+ Added comments on K_MM*DOWN codes.
These also should be protected, and moved to
local the local headers belonging to GTs
supporting this feature (GTWVG notably).
* source/rtl/gtwvt/gtwvt.c
+ Protected non-Clipper compatible extension regarding
K_MM*DOWN with __HB_GTWVT_GEN_K_MMDOWN_EVENTS #define.
Also see notes in about app level code modification
needed if you want to continue using default Harbour build:
2009-02-18 12:20 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/postinst.bat
+ Added generation of hbcc[.bat|.cmd], hbcmp[.bat|.cmd]
and hblnk[.bat|.cmd].
; NOTE: Available only when using GNU-make to build Harbour.
* utils/hbmk/hbmk2.prg
% Minor optimizations.
+ HB_USER_LIBS now gets automatic path separator adjustment.
* config/win/msvc.cf
! Added missing system libs.
! Tweaked C options to be like in non-GNU make.
* make_gcc.sh
* make_gnu.sh
- Removed compatibility with HB_ARCHITECTURE = w32.
* source/compiler/hbusage.c
+ Added Vailton Renato to credit list.
* utils/hbmk/hbmk.prg
+ Cleanups and additions to help screen.
! Fixed dm/dmc compiler ID.
- config/win/dm.cf
+ config/win/dmc.cf
* contrib/gtalleg/Makefile
* contrib/hbwhat/Makefile
* Digital Mars C compiler ID changed from dm to dmc.
(they also have a D compiler f.e.)