* config/vxworks/gcc.mk
* config/vxworks/diab.mk
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
* config/linux/gcc.mk
* Cleaned to use new central variables for harbour dynlib links.
; TODO: Do the same with rest of *nix targets when adding soname
and '2.1' style symlinks, when current system proves okay
with darwin and linux/gcc targets.
* config/postinst.hbs
* config/global.mk
* config/bin.mk
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
* config/linux/gcc.mk
* config/dyn.mk
* config/os2/gcc.mk
* Trying to cleanup the harbour dynlib name situation.
Here's the plan (which is similar to what's used in contrib area):
win, wce: harbour-21[-subtype][.dll/.lib]
dos, os2: harbour[.dll|.???]
darwin:
libharbour.2.1.0.dylib
libharbour.2.1.dylib -> (symlink) [compatibility level]
libharbour.dylib -> (symlink)
*nix:
# libharbour.s?.2.1.0
# libharbour.s?.2.1 -> (symlink) [soname]
# libharbour.s? -> (symlink)
; It's possible it's broken now. Pls test linux/gcc and darwin.
'install' was not tested.
; TODO: Clean variable usage, there is some redundancy, plus
some places where current solution is not generic, f.e.
using HB_VER_*, HB_DYNLIB_BASE vs. HB_DYNLIB_NAME, etc.
* harbour/src/rtl/fscopy.c
* Reverted 2011-02-22 12:27 UTC+0200 Mindaugas Kavaliauskas
which made behavior inconsistent with rest of similar
functions like FERASE(), FRENAME(), which also don't throw
RTE if bad parameter is passed, but return FERROR()
and failure instead.
Also restored _SET_DEFAULT handling to not create a special case
compared to __COPYFILE() behavior, ia. some features like
FXO_SHARELOCK are still enabled while FXO_DEFAULT is not).
Pls rewrite it using hb_fsOpen()/hb_fsCreate() if that behavior
bothers you.
* utils/hbmk2/hbmk2.prg
* config/beos/gcc.mk
* config/qnx/gcc.mk
* config/bsd/gcc.mk
* config/wce/mingwarm.mk
* config/vxworks/gcc.mk
* config/minix/gcc.mk
* config/darwin/gcc.mk
* config/hpux/gcc.mk
* config/win/mingw.mk
* config/linux/gcc.mk
* config/cygwin/gcc.mk
* config/symbian/gcc.mk
* config/os2/gcc.mk
* config/sunos/gcc.mk
! Separate -Wimplicit-int and -Wimplicit-function-declaration
so that they are added to cflags only when not in cpp mode.
; Patch by Tamas.
* harbour/include/hbcomp.h
* do not inherit in macrocompiler -z compile time switch when -kc is
also used
* harbour/src/common/expropt2.c
* disable logical expression optimization (reduction) in macrocompiler
when -kc compile time switch is used.
* harbour/config/beos/gcc.mk
* harbour/config/qnx/gcc.mk
* harbour/config/bsd/gcc.mk
* harbour/config/wce/mingwarm.mk
* harbour/config/vxworks/gcc.mk
* harbour/config/hpux/gcc.mk
* harbour/config/darwin/gcc.mk
* harbour/config/dos/djgpp.mk
* harbour/config/win/mingw.mk
* harbour/config/linux/gcc.mk
* harbour/config/cygwin/gcc.mk
* harbour/config/symbian/gcc.mk
* harbour/config/os2/gcc.mk
* harbour/config/sunos/gcc.mk
* harbour/utils/hbmk2/hbmk2.prg
* enable some important warnings in GCC builds using -W<name>... instead
of -Wall and -Wno-<name>... for warning level set to low.
It should help in backward compatibility with some older GCC versions.
* harbour/config/beos/gcc.mk
* harbour/config/qnx/gcc.mk
* harbour/config/bsd/gcc.mk
* harbour/config/wce/mingwarm.mk
* harbour/config/vxworks/gcc.mk
* harbour/config/hpux/gcc.mk
* harbour/config/darwin/gcc.mk
* harbour/config/dos/djgpp.mk
* harbour/config/win/mingw.mk
* harbour/config/linux/gcc.mk
* harbour/config/cygwin/gcc.mk
* harbour/config/symbian/gcc.mk
* harbour/config/os2/gcc.mk
* harbour/config/sunos/gcc.mk
* use -Wall -Wno-unused -Wno-pointer-sign -Wno-uninitialized
-Wno-switch -Wno-strict-overflow -Wno-main
instead of -W when warnings are not enabled with GCC based compilers.
Using only -W only is rather useless because this switch enables
warnings which can be usually ignored in 3-rd party code.
This modification should help in locating bugs introduced by us
to 3-rd party code, i.e. due to wrong header files used on some
platforms (we do not use autoconf assuming some default settings
what can be wrong in some cases). It should also not hide some
important/critical bugs in 3-rd party code.
This modification pacifies some common warnings which can be
ignored usually but it also enables some more important ones.
If it's necessary then we can tune it a little bit more and disable
some other warnings too.
It's possible that on some platforms using very old GCC versions
some of -W* switches are not supported - please make tests and
inform us about problems.
* harbour/utils/hbmk2/hbmk2.prg
* use -Wall -Wno-unused -Wno-pointer-sign -Wno-uninitialized
-Wno-switch -Wno-strict-overflow -Wno-main
instead of -W when warning level is set to low with GCC based
compilers
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
! Fixed to use variable instead of hardcoded 'harbour' text to
set .dylibs 'install name'. It also fixes 'harbour' being used
also for MT mode dylib.
* contrib/hbide/idemisc.prg
! Fixed to add some new chars which need to be escapted in HTML
output.
% Removed some redundancy.
* config/global.mk
% Minor optimization for Windows platform
! At the same time fix for CreateProcess( 'uname' ) error on Win9x.
* config/wce/mingwarm.mk
* config/win/mingw.mk
* config/win/cygwin.mk
! Fix to previous: In multi-command cmdlines, f.e.: '(cmd1 && cmd2)'
$(RM) command _must_ be used as a workaround so that GNU Make
converts it to a batch file. Unfortunately with this, an 'ar'
failure will be masked by a successful $(RM), so the make won't
stop.
* config/globsh.mk
+ Added new command macro $(FALSE) preparing for general solution
to force failure.
* config/beos/gcc.mk
* config/qnx/gcc.mk
* config/bsd/gcc.mk
* config/bsd/clang.mk
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
* config/hpux/gcc.mk
* config/linux/gcc.mk
* config/linux/icc.mk
* config/linux/clang.mk
* config/linux/sunpro.mk
* config/sunos/gcc.mk
* config/sunos/sunpro.mk
* config/instsh.mk
* 'false' -> '$(FALSE)' for shell independence.
* 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/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.
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
! Attempt to fix darwin dylib generation, added lib prefix
to install name parameter.
; TOFIX: Adding path to lib reference still doesn't work,
so shared binaries will still not work unless
Harbour is installed to system location.
* harbour/config/darwin/gcc.mk
* harbour/config/darwin/icc.mk
* harbour/config/darwin/clang.mk
* harbour/config/linux/gcc.mk
! fixed soft links to harbour shared library - they should not contain
any paths
* contrib/hbqt/Makefile
* contrib/hbqt/hbqts/Makefile
* contrib/gtqtc/Makefile
* contrib/gtqtc/gtqtcs/Makefile
! Fixed QT detection on darwin after 2009-09-18 12:19 change
in detfun.mk.
* utils/hbmk2/hbmk2.prg
+ Comment added (from .mk).
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
* config/darwin/global.mk
* config/rules.mk
+ Implemented HB_BUILD_STRIP for darwin.
(on darwin strip has to be called directly)
* bin/postinst.sh
! Fix to strip command. Now using 'find' again and using -maxdepth 1
to prevent it from parsing subdirs.
* config/global.mk
+ Added new user settings to screen dump.
* source/dynlib/mt/Makefile
* source/dynlib/Makefile
* config/darwin/gcc.mk
* config/linux/gcc.mk
* config/dyn.mk
+ Attempt to add link creation for dynlibs.
Not tested yet.
; TODO: darwin needs even more sopthistication.
; TODO: clean support is missing yet.
; TODO: add this to rest of targets.
* source/vm/vmmt/Makefile
! Disabled HB_HVM_ALL for linux-icc, because it causes compiler internal
error when using -fpic.
* source/vm/Makefile
* Indenting.
* config/darwin/clang.mk
+ Added comment with option to force C++ mode with clang.
* utils/hbmk2/hbmk2.prg
+ Added (not yet tested) darwin/clang support.
Probably it could be added for other platforms, too. Also
for GNU Make. clang cmdline is compatible with GCC for the most
part, so it's easy to do and if the few differences can be sorted out,
it can be done without duplicating .mk file logic.
* config/darwin/gcc.mk
- Disabled '-no-cpp-precomp' option for darwin/gcc. Most probably
it's not needed anymore. For users using older darwin systems, this
can be added manually.
* config/linux/libs.mk
! Deleted some stuff left when doing the copy from
global.mk (yesterday).
Should fix double -fPIC switches seen on 64-bit Linux builds.
* config/linux/libs.mk
+ Adding /usr/X11R6/lib64 to sys lib path list on 64-bit systems.
If you find this wrong, please tell, we can tweak conditions.
* config/bsd/gcc.mk
* config/darwin/gcc.mk
* config/hpux/gcc.mk
* config/linux/gcc.mk
* config/sunos/gcc.mk
* Changed to just plain pass list of obj on cmdline in dynamic
lib creation rule. Should be safe on these OSes according to this doc:
http://www.in-ulm.de/~mascheck/various/argmax/
(we need about 31-32KB of cmdline at this moment)
* config/bsd/gcc.mk
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/hpux/gcc.mk
* config/sunos/gcc.mk
* config/sunos/sunpro.mk
+ Added "system" libs to dynamic lib creation commands.
; TODO: There is one step left: To build system lib list
also when dynamic libs are to be created.
This will need some extra detection logic.
* INSTALL
+ Added new section: HOW TO DO A PARTIAL [RE]BUILD
This wouldn't have been possible a week ago, the
situation was so much different and complicated for
various cases.
! Cleaned msys/cygwin/<DIR> references and NOTEs.
* config/dyn.mk
* config/bin.mk
* config/global.mk
+ config/bsd/libs.mk
* config/bsd/gcc.mk
+ config/hpux/libs.mk
* config/hpux/gcc.mk
+ config/darwin/libs.mk
* config/darwin/gcc.mk
* config/darwin/icc.mk
+ config/linux/libs.mk
* config/linux/global.mk
+ config/sunos/libs.mk
* config/sunos/gcc.mk
* config/sunos/sunpro.mk
% Moved "system" library logic to compiler libs.mk files
for all *nix compilers.
* config/dos/djgpp.mk
* config/global.mk
* DJGPP with win-based make messages converted to a warning
and moved next to the other similar warning detecting
another non-ideal combination.
* config/global.mk
* config/darwin/gcc.mk
+ Added version macros similar to include/hbver.h ones.
% Using above version macros accross the build system.
+ Bumped minimum GNU Make version requirement to 3.81 (from 3.78).
If there is no negative feedback I'll clean some TOFIXes
which no longer apply, plus start cleanup on the make sources
to use more ideal 'else if' syntax.
+ Added commented 'cp' tool check on os2.
* config/global.mk
* config/instsh.mk
+ Reenabled CMDPREF logic.
* Changed os2 shell rules to use '$(CMDPREF)' instead of
hardwired '$(COMSPEC) /C'. Please don't undo it.
* bin/hb-mkdyn.sh
! Updated a default Harbour version number.
* config/bsd/gcc.mk
* config/hpux/gcc.mk
* config/darwin/gcc.mk
* config/linux/gcc.mk
* config/os2/gcc.mk
* config/sunos/gcc.mk
+ Added HB_CCACHE, HB_CCPREFIX, HB_CCPOSTFIX to all places where
it was missing from.
bsd/hpux/os2/sunos - pre/post to cc/ld, pre to ar
darwin - ccache to ld (I'm not sure about this one)
linux - post to cc/ld
; Not it's about consistent and in sync with hbmk2.
Please review me.
* utils/hbmk2/hbmk2.prg
+ Added support for HB_CCPREFIX/HB_CCPOSTFIX for os2/gcc targets.
* harbour/config/bsd/gcc.mk
* harbour/config/darwin/gcc.mk
* harbour/config/hpux/gcc.mk
* harbour/config/dos/djgpp.mk
* harbour/config/win/mingw.mk
* harbour/config/linux/gcc.mk
* harbour/config/linux/icc.mk
* harbour/config/linux/sunpro.mk
* harbour/config/os2/gcc.mk
* harbour/config/sunos/gcc.mk
* harbour/config/sunos/sunpro.mk
! replaced wrongly used 'findstring' functions with 'filter' functions.
Now findstring is used only in places where we are looking for
substrings not whole words.
* harbour/source/rdd/wacore.c
! fixed typo in comment (by Phil Krylov borrowed from xHarbour)
* harbour/ChangeLog
! fixed my typo in Latin translation of Phil Krylov family
name - sorry Phil.