* config/win/msvc.mk
* utils/hbmk2/hbmk2.prg
* Replaced -Ot2b1 win/msvc* option with -O2 as recommended by Microsoft,
and in sync with GNU Make. This will result in somewhat larger
executable, but this gives the best overall performance. AFAICS
this change will practically allow automatic inlining to take place.
This puts msvc in the lead again compared to mingw regarding speed.
* config/wce/msvcarm.mk
* Deleted bogus option -Od turning off all optimization for
wce/msvcarm targets for new compiler versions.
* config/wce/msvcarm.mk
* config/win/msvc.mk
* Deleted Exception Handling options from all msvc cmdlines
where it was supplied. It has a heritage from the past, and
I could depict no sense in the setup:
- old wce/msvcarm: -EHsc
- new wce/msvcarm: -EHsc-
- old win/msvc*: none
- new win/msvc*: -EHs-c-
The only place this could be needed ATM is hbqt, so pls report
results after this change, or unleash any information about
proper usage of these options.
NOTE: These options were already left out from hbmk2.
* utils/hbmk2/hbmk2.prg
* Deleted -YX option for old msvc versions. (to be in sync with
this recent change in GNU Make)
* Synced msvcarm options for new compiler versions with GNU Make.
(deleted bogus -Od and some other options)
; TODO: msvc optimization options for old compiler version could
still use a revamp.
* config/wce/poccarm.mk
* config/dos/watcom.mk
* config/win/xcc.mk
* config/win/pocc.mk
* config/win/bcc.mk
* config/win/watcom.mk
* config/linux/watcom.mk
* config/os2/watcom.mk
* Changed to not forcefully turn off warnings in some targets.
(so HB_BUILD_WARN=no is now equivalent to hbmk2 -warn=def)
; NOTE: This will result in some new warnings in /external
dir since for above compilers I've now upped the
warning level from nothing to the default level.
* external/zlib/Makefile
* Changed to not set Harbour level warnings for this
external component (in sync with all the others).
* config/wce/mingwarm.mk
* config/win/mingw.mk
* config/win/cygwin.mk
* config/os2/gcc.mk
! Fixed resource compiler binary name to honor CCPREFIX and friends.
* utils/hbrun/Makefile
+ utils/hbrun/hbrun.rc
+ Added resource file to include icon.
; TOFIX: The .ico file path is hard-wired and will break if HB_BUILD_NAME
contains subdirs.
* bin/postinst.bat
- Deleted no more necessary hack to build hbrun with icon using hbmk2.
* INSTALL
* config/rules.mk
+ config/res.mk
* config/bin.mk
* config/wce/global.mk
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.mk
* config/common/watcom.mk
* config/win/xcc.mk
* config/win/mingw.mk
* config/win/pocc.mk
* config/win/bcc.mk
* config/win/watcom.mk
* config/win/cygwin.mk
* config/win/global.mk
* config/win/msvc.mk
* config/os2/watcom.mk
* config/os2/gcc.mk
* config/os2/global.mk
+ Added support to GNU Make system to compile and link resources
on win, wce and os2 platforms.
* bin/postinst.bat
+ Deleted requirements from local comment. These are
documented in INSTALL.
* contrib/hbssl/evpmd.c
! Disabled md2 support for >= 1.0.0 OpenSSL versions.
Seems they dropped it.
* contrib/hbssl/ssl.c
* contrib/hbssl/x509.c
* contrib/hbssl/sslctx.c
! Disabled some code parts which didn't compile with
>= 1.0.0 OpenSSL versions. This is not the right fix,
but I just can't figure what went wrong (or what
has been changed) in OpenSSL which cases it. There
is something wrong around 'X509_NAME' symbol.
* utils/hbmk2/hbmk2.prg
* config/beos/gcc.mk
* config/bsd/gcc.mk
* config/wce/mingwarm.mk
* config/darwin/gcc.mk
* config/hpux/gcc.mk
* config/win/mingw.mk
* config/win/cygwin.mk
* config/linux/gcc.mk
* config/linux/icc.mk
* config/os2/gcc.mk
* config/sunos/gcc.mk
- Deleted '-pipe' option. Efficient, but buggy. It didn't take
too long to bump into the problem: On build error, the
.o file is generated with some dummy content, so a second
build attempt will silently make build errors ignored.
* contrib/rddsql/sddfb/sddfb.c
* Minor formatting.
* config/win/cygwin.mk
* config/win/mingw.mk
* config/wce/mingwarm.mk
% Added -pipe option to win/gcc compilers, this way it's faster
(but consume more memory) since it passes intermediate files
- I could only spot the .s file - without writing them to disk.
Probably we should enable this on other platforms as well,
and if it works out well, also in hbmk2.
+ contrib/hbfoxpro/dll.prg
+ contrib/hbfoxpro/Makefile
* contrib/hbwin/Makefile
- contrib/hbwin/win_dllf.prg
+ Moved FoxPro-like dynamic call function to
hbfoxpro lib.
Renamed it to FOX___DYNCALL() until we find
it a better name, or someone will suggest
how this is best presented for actual FoxPro
users.
* contrib/Makefile
* utils/hbmk2/examples/contribf.hbc
+ Enabled hbfoxpro lib.
* config/wce/global.mk
* config/win/global.mk
* Formatting.
* include/hbsetup.h
* Changed not to rely on _WIN32_WCE to detect WinCE.
* config/wce/global.mk
* utils/hbmk2/hbmk2.prg
% Changed to not pre-define _WIN32_WCE to any value. This should
be user choice.
* contrib/hbfimage/fi_winfu.c
! Fixed for WinCE builds. Now only non-WinCE compatible parts
are disabled and functions keep being defined on .prg level
regardless.
* contrib/hbfimage/fi_winfu.c
* contrib/hbfimage/fi_wrp.c
% Cleaned logic that guards '_WINDOWS_' definition.
* contrib/hbwin/win_bmp.c
! Fixed to use hexadecimal notation instead of octal, because
some compilers where getting confused and tried to match these
with some codepages.
* contrib/hbwin/win_prn1.c
! Fixed for poccarm, because Pelles C (even 6.0) forgets to
map FONTENUMPROC to FONTENUMPROCW.
* contrib/hbwin/win_prn3.c
! Added some extra WinCE guards to avoid warning for this platform.
* src/debug/dbgentry.c
* Formatting.
* utils/hbmk2/hbmk2.prg
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
! Fixes to previous change after testing:
- '-D_WINCE' is required by pocc headers, so I've readded it there.
- '-DARM' is already defined by mingwarm, so it's not needed.
* include/hbsetup.h
* Cleaned the way WinCE is detected.
Now looking for UNDER_CE or _WIN32_WCE constants. (was: _WINCE)
* utils/hbmk2/hbmk2.prg
* Cleaned the way constants are initialized for WinCE platform. It's also
means they are now synced with GNU Make build system. This means:
UNICODE, _WIN32_WCE (to 0x501), UNDER_CE are always defined.
Secondary CPU macros are defined as needed.
Removed all the other WinCE related constants.
+ Defining UNDER_CE and _WIN32_WCE for resource compiler for WinCE targets.
* config/wce/global.mk
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.mk
* Cleaned the way constants are initialized for WinCE platform.
- '-D_WIN32_WCE=0x501 -DUNDER_CE' moved to global, so now these will
be equally defined for all WinCE compilers.
- Deleted these from msvcarm targets ('-D_WINCE' was apparently used
by our own hbsetup.h detection code only):
'-D_WINCE -DCE_ARCH -DWINCE -D_WINDOWS -D_UNICODE -D_UWIN'
- Deleted this from from poccarm targets:
'-D_WINCE'
- Deleted several secondary CPU constants for msvc* targets:
'-D_ARM_ -DARMV4 -D_ARMV4I_ -Darmv4i -D__arm__'
'-D_SHX_'
'-D_MIPS_ -DMIPS_HAS_FPU'
These are not necessarily true, and not even necessary. I you know
otherwise, speak up.
- Kept primary CPU constants:
'-D_M_*'
- Kept secondary CPU constants (needed by some inconsistent Windows header files):
'-DARM', '-DSHx', '-DMIPS', '-D_X86_'
* config/win/global.mk
* Cleaned to use 'HB_BUILD_UNICODE' setting to enable UNICODE for non-x86 targets.
* config/win/msvc.mk
! Fixed to respect 'HB_BUILD_UNICODE' user-setting when enabling UNICODE for
newer MSVC targets. IOW it's now possible to turn off UNICODE for newer
MSVC targets.
; Above should ensure more consistency for different WinCE compilers.
Closer behavior and more consistent build logs, with less unnecessary options.
* utils/hbmk2/hbmk2.prg
! Fix to add 'lib' prefix for gcc compiler when using -implib option.
+ Added comment detailing prev change.
* config/wce/msvcarm.mk
* config/win/msvc.mk
- Deleted -YX option.
We don't want to force precompiled headers by default on older
MSVC versions.
* contrib/hbwin/hbwin.ch
+ Added HB_WIN_DLL_CALLCONV_* macros. (so far only privately defined inside .c code)
+ Added HB_WIN_DLL_CTYPE_* macros. (so far only privately defined inside .c code)
+ Reworked HB_WIN_DLL_CTYPE_* macro values. INCOMPATIBLE. Since they weren't
previously documented, this should not be a breakage, pls report it if this is
a problem.
! Fixed .ch syntax to also work in .c files.
* contrib/hbwin/hbwin.h
* contrib/hbwin/legacycd.c
* contrib/hbwin/win_dll.c
* contrib/hbwin/tests/testdll.prg
* Using hbwin.ch for callconv and C type constants.
+ Added public low-level interface: hbwin_dllCall().
This has provision for exact parameter type specification.
* Changed Harbour level functions to use new public
interface hbwin_dllCall().
+ Moved CALLDLL(), CALLDLLBOOL(), CALLDLLTYPED() to legacy source.
* HB_DLLEXEC structure made private to XPP compatibility
section.
+ Added new WIN_DLLCALL() API. This can replace all old CALL*()
function and give more flexibility. Its first parameter is an
optional array, which can specify calling convention (it was
fixed in old implementation), return type and UNICODE swicth,
plus it has provision to specify parameter types, too.
+ Changed test app to use new WIN_DLLCALL() API.
* hb_getprocaddress() made public (but not exported) and
renamed to hbwin_getprocaddress().
* config/wce/mingwarm.mk
* config/win/mingw.mk
- Deleted hack to always add frame buffer for hbwin.
It's not necessary anymore.
* src/vm/runner.c
* BYTE -> char
* contrib/hbct/ctstrfil.c
* LONG -> HB_ISIZ
* contrib/hbmzip/hbmzip.c
* Changed to use FS API instead of C RTL.
* Using std Harbour method to include windows.h.
* package/winuni/RELNOTES
+ Added note about downgrade to mingw64 4.4.0, which is
a more stable release than 4.5.0, and where .dlls also
work properly.
* config/wce/mingwarm.mk
* config/win/mingw.mk
! Fixed to not use -fomit-frame-pointer option for debug builds.
! Hack added to disable -fomit-frame-pointer for hbwin lib.
; TOFIX: Fix hb_Dynacall() to not be sensitive on this option
in mingw builds. Is it possible?
* config/wce/msvcarm.mk
+ Added -nxcompat and -dynamicbase to .dll link command.
(I'm unsure what -dynamicbase is good for in a .dll, but it's
accepted and set)
! Fixed to add -nxcompat/-dynamicbase for MSVC 2008 and upper.
(it's also possible to use it with MSVS 2005 SP1 though, but
build won't detect this case)
* include/hbwince.h
* Formatting.
* src/vm/extrap.c
* contrib/hbwin/win_prn3.c
+ Added TOFIXes for unsafe function usage:
IsBadWritePtr(), IsBadReadPtr(), lstrlen(), lstrcpy(), lstrcat()
; QUESTION: Any idea how to fix that? win_prn3.c can
probably be fixed with some good general coding
idea.
* contrib/hbwin/wce_smsc.c
! Fixed to not use unsafe CRTL functions.
* src/rtl/oemansi.c
! Rewritten HB_OEMTOANSI() and HB_ANSITOOEM() to not use
Windows API functions marked as unsafe. New version is a bit
slower but won't mark Harbour apps as unsafe in an audit.
; Please test and review.
* utils/hbmk2/hbmk2.prg
* config/wce/msvcarm.mk
* config/win/msvc.mk
% Deleted -Gs MSVC option. Testing with MSVC 2008 I've found
this have no effect on x86 builds, and it makes x64 builds
slighly less efficient by forcing stack checks in each function
call. This seems to contradict MSDN, which doesn't suggest such
difference between x86 and x64:
http://msdn.microsoft.com/en-us/library/9598wk25.aspx
% Deleted -GS- MSVC option used for wce targets for MSVC >= 8.00.
'-GS-' will disable stack cookies (on by default), thus trading
app size/speed for security. Maybe this is preferred for wce
users, but in Harbour I'd rather opt to pass this decision to users
for all targets.
Enable with: HB_USER_CFLAGS=-GS- / -cflag={allmsvc}-GS-
MSDN:
http://msdn.microsoft.com/en-us/library/8dbf701c.aspx
* INSTALL
* Updated valgrind example.
* contrib/hbnetio/utils/netiosrv.hbp
* utils/hbformat/hbformat.hbp
* utils/hbmk2/hbmk2.hbp
* utils/hbi18n/hbi18n.hbp
* utils/hbtest/hbtest.hbp
* utils/hbrun/hbrun.hbp
* config/wce/msvcarm.mk
* config/win/msvc.mk
+ Added MSVC linker switches to enhance security by
enabling NX compatibility and ASLR.
Especially important for server apps like netiosrv and hbrun.
; TODO: Enable the same for MinGW.
; TOCHECK: Please test this with old MSVC versions and MSVCARM,
maybe we will need to disable them in some cases.
; QUESTION: I'm unsure of -fixed:no MSVC option. Do we need it
to increase security?
* config/wce/msvcarm.mk
+ Changed to use link.exe for linking instead of cl[arm].exe.
This now syncs it with rest of Harbour.
* config/beos/gcc.mk
* config/bsd/gcc.mk
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.mk
* config/hpux/gcc.mk
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
* config/dos/watcom.mk
* config/dos/djgpp.mk
* config/common/watcom.mk
* config/win/xcc.mk
* config/win/mingw.mk
* config/win/pocc.mk
* config/win/bcc.mk
* config/win/watcom.mk
* config/win/icc.mk
* config/win/cygwin.mk
* config/win/msvc.mk
* config/linux/watcom.mk
* config/linux/gcc.mk
* config/linux/icc.mk
* config/linux/clang.mk
* config/linux/sunpro.mk
* config/os2/watcom.mk
* config/os2/gcc.mk
* config/sunos/gcc.mk
* config/sunos/sunpro.mk
* Initializing LDFLAGS, DFLAGS and ARFLAGS at the beginning of files.
This allows to easily add to these var according to build settings.
It also syncs all .mk files to use the same layout in this regard.
* config/wce/msvcarm.mk
* config/win/msvc.mk
+ Added -debug linker option to .dll linking for msvc/msvcarm targets.
* utils/hbmk2/hbmk2.prg
! Added -debug linker option when building .dll for msvc and compatible targets.
! Fixed minor regression in embedded CRLFs of hbmk2 texts.
* config/win/msvc.mk
* utils/hbmk2/hbmk2.prg
+ Added -MT/-MTd for win/msvc compatible targets when verison is 7.1 (.NET 2003)
or older. On these versions this will assure that multithreading C RTL is
being used (at the same time forcing static C RTL).
* config/wce/msvcarm.mk
* config/win/msvc.mk
+ Added -debug linker option for executables.
; TODO: Add it for .dlls too.
* config/globsh.mk
+ Deleting (MSVC) .pdb and .ilk files for executables and dynlibs on 'make clean'.
* contrib/hbwin/win_tprn.prg
* contrib/hbwin/win_prn1.c
! Fixed ::SETPEN() and WIN_SETPEN() to not leak objects.
Patch submitted by Xavi.
* config/wce/poccarm.mk
* config/win/pocc.mk
% Removed some unnecessary logic, thus making it similar to all
other compiler setups.
* ChangeLog
* TODO marked as DONE.
* INSTALL
* Updated dev list max attachment size.
* INSTALL
* config/beos/libs.mk
* config/global.mk
* config/bsd/libs.mk
* config/bin.mk
* config/wce/global.mk
* config/hpux/libs.mk
* config/darwin/libs.mk
* config/dos/djgpp.mk
* config/win/global.mk
* config/linux/libs.mk
* config/os2/gcc.mk
* config/sunos/libs.mk
+ Added support for HB_USER_LIBS build option to specify
extra libs. Note: This is useful only in very special
cases, so pls don't use it unless you exactly know what
you want to do. The libs have to be specced without
prefixes and extensions. It will be added after Harbour
libs and before system libs.
* utils/hbmk2/hbmk2.prg
+ Added option to control C compiler warning level:
-warn=yes mode will set the warning level exactly
the same way as it's set for Harbour builds. This
is also the default setting.
This setting is usually the highest useful setting,
which sometimes equals to C compiler default, sometimes
not.
-warn=no mode will try to turn off warnings. This works
exactly the same way as disabling warnings in Harbour
builds. Notice this isn't supported with all C compilers,
and with some compilers this equals to default C compiler
mode. This mode isn't recommended for any sort of serious
work.
-warn=def mode will leave everything as is, IOW to
C compiler defaults. There is no equivalent setting in
Harbour builds.
* config/wce/poccarm.mk
! Synced warning option with win/pocc.
* config/wce/msvcarm.mk
! Synced warning option with win/msvc.
! Synced HB_BUILD_MODE with win/msvc.
(this means C++ is now the default)
* config/win/xcc.mk
! Synced warning option with pocc.
* examples/hbmsql/tests/dbf2msql.prg
* examples/hbmsql/tests/test.prg
* examples/hbmsql/tests/hbmk.hbm
* examples/hbsqlit2/tests/hbsqlite.prg
* examples/hbsqlit2/tests/hbmk.hbm
* examples/hbapollo/tests/hbmk.hbm
* examples/hbapollo/tests/apollo.prg
* examples/hbvpdf/tests/pdf_demo.prg
* examples/hbvpdf/tests/hbmk.hbm
* examples/hbvpdf/tests/tstpdf.prg
! Fixed warnings and errors in example test apps.
+ Added -es2 option to test default options in examples.
* INSTALL
* config/global.mk
* config/wce/msvcarm.mk
* config/win/msvc.mk
+ Replaced MSVC specific compiler version setting with generic
compiler version setting.
HB_VISUALC_VER_PRE80 and HB_VISUALC_VER_PRE70 setting are
deleted and HB_COMPILER_VER is activated.
; INCOMPATIBLE.
* config/global.mk
+ Added MSVC compiler version autodetection.
(6.0, 7.x, 8.0, 9.0)
* config/win/msvc.mk
+ Enabled UNICODE mode for MSVC 2008 (9.0) and above.
This compiler version doesn't support Win9x anyway.
* utils/hbmk2/hbmk2.prg
- Deleted support for HB_VISUALC_VER_PRE80 in hbmk2.
(HB_COMPILER_VER was already supported in hbmk2)
* Makefile
- source/hbpcre
- source/hbzlib
* external/Makefile
+ external/pcre
+ external/zlib
* external/pcre/Makefile
* external/zlib/Makefile
* external/libhpdf/Makefile
* external/libpng/Makefile
* include/hbsetup.h
* include/hbzlib.h
* include/hbregex.h
* source/rtl/hbzlibgz.c
* source/rtl/Makefile
* source/rtl/hbregexc.c
* source/rtl/hbregex.c
* source/rtl/hbzlib.c
* source/Makefile
* contrib/xhb/Makefile
* contrib/hbmzip/Makefile
* utils/hbmk2/hbmk2.prg
* config/global.mk
* config/lib.mk
* config/bin.mk
* config/detect.mk
* config/darwin/libs.mk
* config/linux/libs.mk
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.mk
* config/win/xcc.mk
* config/win/mingw.mk
* config/win/pocc.mk
* config/win/bcc.mk
* config/win/watcom.mk
* config/win/icc.mk
* config/win/cygwin.mk
* config/win/msvc.mk
* config/dyn.mk
* config/os2/watcom.mk
* config/os2/gcc.mk
* config/bsd/libs.mk
* config/hpux/libs.mk
* config/sunos/libs.mk
* Changed the way embedded zlib and pcre are handled:
- They now reside in /external dir.
- They are now excluded from Harbour dynlib. This means they
will now be linked statically on non-*nix systems and
dynamically on *nix systems. On *nix it's probably easy to
switch to link statically. On non-*nix this is quite
complicated to do.
- If these libs are provided by the system, those will be used.
- On non-*nix systems the locally hosted versions will be used,
unless user overrides them using HB_INC_PCRE or HB_INC_ZLIB.
- There is currently no officially supported way to force usage
of locally hosted libs.
- If PCRE lib is forcibly disabled or not found, build system
will fall back to POSIX regex on *nix systems and Borland regex
with bcc compiler. Otherwise it will stop the build with an error.
- If zlib is forcibly disabled or not found, an error will be
generated at build-time (in hbrtl). hbmzip is simply skipped
in this case.
- hbmk2 will use local builds of these libs if they are present
in lib dir.
; TOFIX: hbmk script.
; TOFIX: dos builds. cmdline lenghts are most probably too big for them.
; NOTE: Bumps are expected.
; NOTE: I've yet to test/verify it.
- external/libhpdf/ori_src
- external/libhpdf/ori_dst
- Deleted. (added in prev commit by oversight)
* utils/hbmk2/hbmk2.prg
! Fixed to use 'rc' AR cmd on sunos. (instead of 'rcs')
+ Added -hbdyn support for gcc family of compilers. (very light testing with mingw)
+ Added sunpro compiler support. (not tested, bazaar style)
! Basic CPU detection fixed for clang.
+ Added TOFIX for CPU detection for *nix based gcc, icc, clang, sunpro
compilers.
* config/wce/mingwarm.mk
* config/hpux/gcc.mk
* config/win/mingw.mk
* config/linux/gcc.mk
* config/linux/icc.mk
* config/linux/sunpro.mk
* config/sunos/gcc.mk
* config/sunos/sunpro.mk
* Minor: AR cmd chars reordered to be in sync with hbmk2.
* config/wce/mingwarm.mk
* config/win/mingw.mk
+ Reenabled implib generation for mingw targets.
This will be needed to implement multi-host binary distros
supporting cross-build shared targets. This way there is no
need to fiddle with switching BIN dirs in cross-build situations,
the LIB dir selection is enough to find all required libs,
regardless where .dlls are installed. (.dlls should ideally
be installed to system locations).
* INSTALL
+ Added DJGPP cross-builds to support matrix.
+ Added DJGPP bash.exe to the shell mix.
+ Added OS/2 bash.exe to the shell mix.
; NOTE: djgpp build fails here when using bash too
(I've used a Windows machine to test), see below.
* ChangeLog
* Updating pending item status.
* contrib/hbbtree/hb_btree.c
! Added TOFIX about bad bug. (hitting win64, maybe more)
Reported on the list a while ago.
* utils/hbmk2/hbmk2.prg
- Deleted HB_CCPATH support for *nix based gcc/icc compilers.
To be in sync with GNU Make files.
+ Added HB_CCPATH support for os2 and dos.
+ Added HB_CCPREFIX and HB_CCPOSTFIX support for dos/djgpp to
support cross-builds.
+ Using host dependent executable extension for compiler
tools in dos/djgpp to support cross-builds.
* config/wce/mingwarm.mk
* config/win/mingw.mk
+ Added HB_CCPOSTFIX support. Now in sync with rest of gcc
family compilers in GNU Make and with hbmk2.
* config/win/cygwin.mk
+ Added HB_CCPATH, HB_CCPREFIX, HB_CCPOSTFIX support.
To be in sync with rest of gcc family compiler in GNU Make
and with hbmk2.
* config/dos/djgpp.mk
+ Added HB_CCPATH, HB_CCPREFIX, HB_CCPOSTFIX support for
dos/djgpp.
! Fixed to only give error when using non-DOS build of
GNU Make on a Windows host.
; NOTE: Tried the bld process with bash.sh, and it starts
when using nativ DOS make.exe, but it fails also
with 'Bad command or file name' and 'No command name seen.'
when building hbcommon lib. Same effect when using
msys. So I conclude our djgpp make files are broken
for POSIX shells, I hope someone else can also do
tests.
* config/os2/gcc.mk
+ Added HB_CCPATH support.
To be in sync with rest of gcc family compiler in GNU Make
and with hbmk2.
* config/win/bcc.mk
! Readded dbl quotes around tlib filename. This breaks tlib
on msys shells. The real problem is caused by /P64 option.
Fix unknown, besides avoiding msys shell+bcc target
combination.
* contrib/hbfbird/Makefile
* Indented/rearranged.
* utils/hbmk2/hbmk2.prg
! Fixed silly regression in 2009-08-23 15:56 which cause RTE on
startup if no comp/plat were specced.
* utils/hbmk2/hbmk2.prg
* config/wce/poccarm.mk
* config/wce/msvcarm.mk
* config/win/xcc.mk
* config/win/pocc.mk
* config/win/icc.mk
* config/win/pocc64.mk
* config/win/msvc.mk
! Changed to use '-' option prefix instead of '/' to make them
work under sh (msys) shells.
* doc/bintools.txt
* config/dosecho.exe
! Restored previous version. (new one gave error on some watcom lines f.e.)
+ Added binary+source links.
* INSTALL
+ Some minor clarifications.
* 'NT system required' changed 'XP system recommended' for win hosts.
+ Added shell requirement for HB_BUILD_PKG.
% Simplified os2/watcom on linux example.
* bin/postinst.cmd
+ Some cleanup/sync with postinst.bat.
* source/Makefile
! Possible fix: Emptying DYNDIRLIST_BASE on dos targets
to save envvar space.
* source/Makefile
* config/lib.mk
+ Added gtcrs and gtsln to dynlib obj list for *nix targets.
* config/global.mk
+ Added Harbour version number to log header.
! Fixed to use short pkg name based on target platform
no host platform (=dos).
* config/bsd/gcc.mk
* config/hpux/gcc.mk
* config/darwin/icc.mk
* config/linux/icc.mk
* config/linux/sunpro.mk
* config/sunos/gcc.mk
* config/sunos/sunpro.mk
+ Added dynamic library generation to rest of targets.
; Please review, especially sunos/sunpro as it had some
.sh tricks which I couldn't replicate.
* config/bsd/global.mk
* config/hpux/global.mk
* config/darwin/global.mk
* config/linux/global.mk
* config/sunos/global.mk
! Setting DYN_PREF to 'lib'.
* config/wce/mingwarm.mk
* config/win/mingw.mk
- Disabled import libs. [They aren't necessary with mingw.]
* config/darwin/icc.mk
* Changed to use libtool instead of xiar.
(blind sync with darwin/gcc)
* config/dos/djgpp.mk
* config/common/watcom.mk
* config/win/bcc.mk
* config/os2/gcc.mk
! Fixed to use $(ECHOQUOTE) in all $(ECHO) calls.
* config/win/bcc.mk
! Fixed use fixed backslashes regardless of shell in scripts.
* config/dyn.mk
! Fixed to use $(LIB_PREF) as implib name prefix.
% Minor opt in IMP_NAME forming.
* config/rules.mk
% Readded $(HB_INC_COMPILE) to be always on cmdline, to
better balance between cmdline and envvar space. (dos)
* config/instsh.mk
% Don't display useless '! Nothing to install' message
when there was no file to install. (could happen with
mingw dynamic lib install where implib is empty because
we don't generate one).
* config/global.mk
+ Will now show the autodetected compiler path.
* utils/hbmk2/hbmk2.prg
! Fixed to not pass bogus resource source files to linker when
resource compiling isn't supported on given compiler (win/icc).
* config/common/watcom.mk
! Fixed double .exe extension (regression).
* contrib/hbqt/Makefile
* contrib/hbxbp/Makefile
* contrib/gtqtc/Makefile
+ Experimental changes:
Now showing reason why library was skipped.
Configuration also works a little differently:
HB_INC_QT should either be set to the header dir,
or set to 'no' which will disables any autodetection
(on *nix systems). This method replaces HB_HAVE_QT=no
setting and leaves only one setting to control QT
lib building. Experimental, probably the control
method should be further tuned.
Possible log messages:
- component not found
- component location not set
- deselected
- platform not supported
- compiler not supported
- (...) not supported
+ not necessary
NOTE: I've used 3.81 'if/else if' structure here.
% Streamlined the way darwin autodetection is solved.
(not yet tested)
* contrib/hbfbird/Makefile
* contrib/hbfimage/Makefile
% Optimized prerequisit check by using $(filter)
* config/win/icc.mk
! Changed to use xilink instead of using the compiler for
linking. This syncs it with msvc and hbmk2, and it also
fixes .dll creation.
+ Added /nologo.
* config/global.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.mk
* config/win/xcc.mk
* config/win/pocc.mk
* config/win/bcc.mk
* config/win/watcom.mk
* config/win/icc.mk
* config/win/msvc.mk
* config/rules.mk
* config/os2/watcom.mk
% Optimized OBJ_DYN_POSTFIX variable to be an internal one,
it doesn't need to be set in compiler .mk file anymore.
If there is any extra C compiler flag set for dynamic mode,
it will be set automatically.
* utils/hbmk2/hbmk2.prg
+ Added support for combined target names. This means
that from now in all supported platform/compiler inputs can
be formed like <plat>/<comp> in one string.
So f.e. '-plat=wce/mingw' is the same as '-plat=wce -comp=mingw'.
This feature only kicks in if the string contains '/' and in
this case the first item always indicates the platform, the
second always the compiler, regardless of which switch name is
used (-plat or -comp). So -comp=wce/mingw is the same as -plat=wce/mingw.
Experimental yet.
! Wrong bugfix reverted in prev commit. (for watcom/win)
* utils/hbmk2/hbmk2.prg
* config/global.mk
+ Added autodetection for i386-mingw32ce, which is WinCE running on x86 CPU.
This tool was released just recently from cegcc team.
* config/global.mk
+ Tweaked a little mingwarm autodetection on *nixes.
It will now look for all three mingw compilers on provided HB_CCPATH.
If not provided or not found on that location, it will continue to look
for them in default locations.
+ config/wce/mingw.mk
+ Added x86 wce/mingw config file. It's a simple redirection to
mingwarm.mk. I'll try to make some steps to make it generic,
can't really see the end of the tunnel yet though.
* config/wce/mingwarm.mk
* config/win/mingw.mk
* config/win/cygwin.mk
! Don't quote filenames in DY_RULE commands to make them work
on all shells (sh in particular). This means that we lost
some level of 'space in filename' support, but it's acceptable
since it's unlikely to have space in internal paths anyway.