* source/pp/Makefile
* bin/hb-mkdyn.bat
+ Deleting hbpp dynamic built object to not interfere with
harbour dll creation when picking up the objects with wildcard.
* Changed .dll creation script to not filter out above object
explicitly, it's not needed anymore.
* source/vm/mainwin.c
* source/vm/mainstd.c
* bin/hb-mkdyn.bat
+ Added hack to exclude any content when creating dynamic build
objects for win/watcom. Any content here breaks .dll creation
on this target.
* Changed .dll creation script to not filter out above objects
explicitly, it's not needed anymore.
* config/global.mk
% Changed CPU detection to use $(filter)
+ Added CPU detection based on wce compilers.
+ Showing detected host and target CPU architecture in log
(if it could be detected - this is currently only implemented
for non-*nix targets)
- Deleted host binary extension display in verbose mode.
- Deleted now unused HB_BUILD_VERBOSE option.
* config/global.mk
+ Added HB_DYN_VER variable to hold the version number used in Harbour
dynamic libary name.
* config/bsd/global.mk
* config/darwin/global.mk
* config/hpux/global.mk
* config/linux/global.mk
* config/os2/global.mk
* config/sunos/global.mk
* config/wce/global.mk
* config/win/global.mk
+ Added DYN_EXT variables for each platform.
* source/Makefile
* config/rules.mk
+ config/dyn.mk
+ source/dynlib
+ source/dynlib/mt
+ source/dynlib/mt/Makefile
+ source/dynlib/Makefile
* config/win/msvc.mk
+ Added experimental .dll building feature to the GNU Make system.
It's only implemented for MSVC yet.
The goal is to replace shell specific (postinst) solutions.
* utils/hbmk2/hbmk2.prg
+ Added darwin/icc support. Untested yet.
* source/vm/maindllp.c
! Fixed typo in prev commit.
* config/global.mk
* INSTALL
* bin/hb-mkdyn.sh
* bin/hb-mkdyn.bat
+ Added HB_USER_DFLAGS to add custom linker flags to .dll link command.
(just like in hbmk2)
- In hb-mkdyn.sh HB_USER_LDFLAGS deleted, now HB_USER_DFLAGS replaced it.
(HB_USER_LDFLAGS was missing from darwin link cmd)
* bin/hb-mkdyn.bat
! HB_DLLLIBS -> HB_DLLIBS
* config/global.mk
+ Added HB_DLLIBS to list of misc custom settings.
* INSTALL
+ Revision of OPTIONS AVAILABLE WHEN BUILDING HARBOUR section.
! Typo.
* harbour/bin/hb-func.sh
* use -I<path> parameter passed to Harbour compiler in hb* scripts
also with C compiler for C code inside #pragma begindump/enddump
* INSTALL
+ Added msvcarm examples (using MSVC 2008. 2005 should be similar).
* config/wce/msvcarm.mk
% Somewhat reduced number of macro options.
! Deleted debug switch from default c option list.
% Deleted a few more default c options.
! Added corelibc to syslib list.
! Cleaned linker flags to make it link. Some others
just removed, they seem not required.
* utils/hbmk2/hbmk2.prg
* Synced msvcarm settings with .mk.
* config/global.mk
* utils/hbmk2/hbmk2.prg
+ Added msvcarm autodetection to both GNU Make and hbmk2.
* config/wce/global.mk
* config/wce/poccarm.mk
* utils/hbmk2/hbmk2.prg
* bin/hb-mkdyn.bat
+ Added coredll to wce syslib list.
(required for msvc and pocc, optional for mingw)
; Now msvcarm builds, with a lot of warnings.
* contrib/hbxbp/tests/demoxbp.prg
! Opening test.dbf in RO mode to avoid it being update.
Couldn't spot the code which touched it.
* config/global.cf
- Deleted unused and commented code section.
* INSTALL
- Deleted HB_INSTALL_PREFIX from quickstart instructions.
! Modified hbmk2 hello.prg command to work on *nixes.
(I never tried this default scenario though)
* Modified non-*nix hbmk2 commands to look more natural
and similar to *nix.
- Deleted mingw32-make as suggested tool for dos builds done
on NT hosts. It chokes with too long cmdline with mingw32-make.
* bin/hb-mkdyn.sh
- Deleted wininet from wce liblist.
* config/global.cf
! Fixed to process HB_BUILD_NAME when forming package install dir
inside /pkg dir.
% Delete an unnecessary line.
* package/mpkg_win.nsi
* config/global.cf
* bin/postinst.bat
* Little bit changed the way dirs/names are communicated from
GNU Make to postinst package creation code.
The goal was to have an internal PKG_DIR var which is similar
to other *_DIR vars. It was also possible to delete some
exported vars this way.
- Disabled package creation for non-NT shells (= pure MS-DOS).
I found no way to make this work cleanly on pure MS-DOS.
+ Documented weird requirements of zip building. Also to better
clarify why abspath is needed in GNU Make.
* config/instsh.cf
* Updated OS/2 comment to clarify some issues according to
information from Maurilio.
* config/global.cf
* config/rules.cf
* config/dos/watcom.cf
* config/win/watcom.cf
* config/os2/watcom.cf
% Using HB_PRGFLAGS instead of HB_FLAGSEXTRA.
% Using HB_CFLAGS and HB_PRGFLAGS instead of HB_CDBG.
% Using HB_CFLAGS instead of HB_CUNICODE.
% Moved all flags from HB_RULE to HB_FLAGS (except HB_USER_PRGFLAGS).
This only affects dos/watcom, more cmdlines will be put in HARBOURCMD.
* external/sqlite3/Makefile
* external/libhpdf/Makefile
* external/libpng/Makefile
* source/vm/maindllh/Makefile
* source/vm/maindllp/Makefile
* source/vm/vmmt/Makefile
* source/rtl/gtxwc/Makefile
* source/rtl/gtcrs/Makefile
* source/rtl/gttrm/Makefile
* source/rtl/gtsln/Makefile
* contrib/gtalleg/Makefile
* contrib/hbmysql/Makefile
* contrib/hbodbc/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbqt/Makefile
* contrib/hbfbird/Makefile
* contrib/hbcurl/hbcurls/Makefile
* contrib/hbcurl/Makefile
* contrib/gtqtc/Makefile
* contrib/rddsql/sddmy/Makefile
* contrib/rddsql/sddpg/Makefile
* contrib/rddsql/sddfb/Makefile
* contrib/rddsql/sddodbc/Makefile
* contrib/hbhpdf/Makefile
* contrib/hbpgsql/Makefile
* contrib/rddads/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbtip/hbtipssl/Makefile
* contrib/hbssl/Makefile
! Using HB_CFLAGS/HB_PRGFLAGS to specify Makefile local
compiler settings instead of modifying HB_USER_*FLAGS.
This way the double defines are gone.
+ Included global.cf to all Makefiles which needs to modify
HB_CFLAGS/HB_PRGFLAGS. Probably we should move global.cf
inclusion to the top of all Makefiles as a convention.
Not terribly elegant, but solves a few problems and
more efficient.
% Changed ', -I$(d))' to ',-I$(d))' along the way. This avoids
wasting an extra space in command line.
; NOTE: It'd still be beneficial to find a way to get rid of
'descend' rule. It could make cmdlines cleaner/shorter
and whole build process simpler/faster. I didn't manage
so far.
* source/vm/Makefile
* Deleted 'HB_USER_CFLAGS := $(subst -DHB_MT_VM,,$(HB_USER_CFLAGS))'
(since it's no longer supported practice to modify user supplied flags)
I'm not sure if it's important enough to have. AFAIK there is no
reason users use HB_MT_VM define, it's not a public setting, so we
shouldn't go too much far in trying to protect against its presence.
If it's needed, we should add 'HB_CFLAGS += -DHB_ST_VM' and handle
HB_ST_VM as the reverse of HB_MT_VM inside the source.
* source/rdd/dbffpt/dbffpt1.c
* source/rdd/dbffpt/Makefile
* Optimizations are now disabled using #pragma for __XCC__ instead of
deleting them from HB_USER_CFLAGS. Please test, and see above on
modifying HB_USER_CFLAGS in our make files.
* bin/postinst.cmd
! Deleted double quote from target dir in xcopy commands.
Blind change.
* utils/hbtest/rt_main.ch
* utils/hbtest/hbtest.hbp
* utils/hbtest/Makefile
+ Changed to use #pragma to turn on line numbers instead of
using HB_USER_PRGFLAGS (or HB_PRGFLAGS). This way there is
no need for Makefile hack/tweaks and it works with all make methods
automatically.
* config/instsh.cf
! Partially restored a few things which were lost without comments
in prev OS/2 commit:
- Formatting
- '@' prefixes
- '-' prefixes
* source/pp/Makefile
! Fixed to not throw harmless but still confusing error
messages when cleaning hbpp binary parts.
* bin/hb-mkdyn.bat
% Minor optimization in initialization.
- make_gnu_os2.cmd
- make_gnu.bat
- Deleted these starter batch files.
; Please use 'mingw32-make' (if installed in PATH) or
'config/mingw32-make' (if not installed in PATH) instead.
OS/2 users should use 'make'.
; OS/2 users will have to add:
set HB_USER_CFLAGS=-DTCPV40HDRS
to local configuration unless they used:
set HB_OS2_TCP32=yes
I'd like to ask OS/2 users to add (now deleted) related
documentation to one of our docs: INSTALL or include/hbsetup.h.
Since this was a setting to disable some default setup,
we can readd this setting with another name to
config/global.cf if needed. Pls tell me about it.
; TODO: Delete make_gnu.sh and/or integrate make_gnu_xmingw*.sh.
There is still two things which is done by make_gnu.sh:
- Detection for -fPIC option.
- Setting HB_INSTALL_PREFIX to system location.
(I don't like this, but it seems to be standard
behaviour on Linux, so we may want to change GNU Make
default logic according to that)
; TODO: Move mpkg_*.sh files with related support files to /package.
Best would be to integrate them to postinst.sh.
* INSTALL
+ Added TOFIX to one example: djgpp with NT shell will choke on
too long cmdline when building external/libhpdf.
; TOFIX: see above. (if possible. If it's too complicated we
should simply drop this scenario, after all DJGPP GNU
Make also works well.
* contrib/gtalleg/Makefile
* contrib/hbmysql/Makefile
* contrib/hbodbc/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbqt/Makefile
* contrib/hbfbird/Makefile
* contrib/hbxbp/Makefile
* contrib/hbcurl/Makefile
* contrib/gtqtc/Makefile
* contrib/rddsql/sddmy/Makefile
* contrib/rddsql/sddpg/Makefile
* contrib/rddsql/sddfb/Makefile
* contrib/rddsql/sddodbc/Makefile
* contrib/hbhpdf/Makefile
* contrib/gtwvg/Makefile
* contrib/hbpgsql/Makefile
* contrib/rddads/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbwin/Makefile
+ Indentation.
* bin/hb-mkdyn.bat
! Fixed gcc family (mingw) .dll generation. New tricks
had to be employed to workaround 8K cmdline limits.
* contrib/hbwin/win_misc.c
* Implemented recent WinCE fix by Przemek for another
CreateProcess() call.
* utils/hbmk2/hbmk2.prg
* Cleaned system lib list for wce platform.
wininet, commdlg, commctrl libs moved from base to extra
system lib list. These libs aren't needed by Harbour code
code. [ No change in functionality, just synced with rest
of Harbour. ]
I didn't test yet, but seeing the content of this lib,
it's not needed for Harbour core code.
* config/wce/global.cf
* bin/hb-mkdyn.bat
% Deleted wininet wce system lib from liblist.
* config/wce/poccarm.cf
% Deleted winsock wce system lib from poccarm liblist.
ws2 should be enough. (I didn't retest the platform yet)
* config/wce/msvcarm.cf
* config/wce/global.cf
* config/wce/mingwarm.cf
* config/wce/poccarm.cf
* config/win/watcom.cf
* config/win/icc.cf
* config/win/cygwin.cf
* config/win/global.cf
* config/win/msvc.cf
* config/win/xcc.cf
* config/win/mingw.cf
* config/win/pocc.cf
* config/win/bcc.cf
% Moved system lib list definition to <arch>/global.cf files
for wce/win platforms.
This will ensure that compilers for the same platform will
always use the same system libs too.
Added reasoning in comment for each extra win system lib.
% Deleted the same meaningless comment line from all files.
* config/global.cf
+ Showing $(SHELL) variable content.
+ Added experimental support for explicitly changing $(SHELL)
variable for nt and dos shells. This should solve the
problem when mingw32-make is picking up sh.exe as shell if
cygwin or msys is in the PATH (or the user may also have
sh.exe laying around).
* INSTALL
% Deleted SHLVL hack from wce/mingwarm build config example.
Not needed anymore.
% Deleted "sh.exe mustn't be in the path" sentences.
Not needed anymore, now it can be in the PATH.
* make_gnu.bat
+ Readded calling sh for cygwin. (sorry I needed this personally
to keep the same interface for all cases on Windows, but I'll
think about this further, also to better cover mingw+msys case.
So this is rather temporary.)
* bin/postinst.bat
* Minor internal cleanup.
* bin/hb-mkdyn.bat
* config/lib.cf
! Fix for gcc family.
! Fixed to use /Y switch with move commands.
% Use automatically created .lib files instead of generating
them explicitly with pocc.
+ Move .exp file to lib dir with pocc.
! Three fixes for watcom .dll generation.
* config/global.cf
+ Plans added to cleanup lots of config vars with various names.
+ Added central OpenSSL detection by the name HB_HAS_OPENSSL.
This makes it possible to use OpenSSL in core or in any contrib
without much hassle.
* contrib/hbtip/Makefile
* contrib/hbssl/Makefile
+ Relying on central OpenSSL detection logic.
; TOFIX: For hbmk2 hbssl.hbc should be added explicitly to the
cmdline yet.
* config/instsh.cf
* Suppressing install copy command for cleaner output.
* ChangeLog
+ Marked items [DONE]
* INSTALL
* make_gnu.bat
- Deleted HB_BUILD_LOG option. This will have to be made
on the user side. It was a fresh feature and a Windows/DOS-only
one so I hope this isn't a big loss.
- bin/hb-mkpkg.bat
* bin/postinst.bat
% Integrated package creation code into postinst.bat.
* make_gnu.bat
- Deleted special handling of cygwin. make_gnu.sh should be
started directly, IMO not a big problem.
* config/global.cf
! Fixed pathseps in default HB_INSTALL_PREFIX.
! Fixed to use abs path when setting HB_INSTALL_PREFIX default.
(it's required by .nsi file to find the source files)
! Fixed setting HB_ARCHITECTURE for some win/dos-only HB_COMPILER
values.
+ --no-print-directory make flag isn't added if HB_USER_MAKEFLAGS
contains -w or --print-directory. Seems that simply adding these
flags after the former won't just reenable it.
- config/test.cf
- Deleted, no longer used.
* INSTALL
+ Added HB_INSTALL_PREFIX description (this is now optional).
+ Added HB_BUILD_PKG description.
+ Added HB_BUILD_IMPLIB description.
* log-%HB_COMPILER%.txt log names changed to log.txt.
* Cygwin example changed to directly launch make_gnu.sh.
; NOTE: INSTALL still needs some updates. I'll do that while
testing new ways of doing things.
* config/global.cf
+ Some new information is shown in the log. (detection results)
% exporting HB_HOST_CPU to avoid detecting it in each recursion.
+ Showing whether HB_ARCHITECTURE/HB_COMPILER values were autodetected.
+ Showing GNU Make version and targets ("clean"/"install"/"all").
+ Showing HB_BUILD_PKG, HB_BUILD_DLL settings.
+ Added logic to do some presets if HB_BUILD_PKG=yes and check
if clean+install was specified.
* bin/postinst.cmd
* bin/postinst.bat
* bin/hb-mkpkg.bat
* bin/hb-mkimp.bat
* bin/hb-mkdyn.bat
+ Prefixed all messages coming from our make process with '! '
+ Some new messages added to offer better entertainment for builders.
- mpkg_gnu.bat
* config/global.cf
+ bin/hb-mkpkg.bat
* bin/postinst.bat
* mpkg_win.nsi
+ Updated to work as a child function of postinst.bat instead
of being a starter batch file. Now a package build can be
initiated the same way as a normal one except that HB_BUILD_PKG=yes
setting should be used additionally and 'clean install' is
obligatory.
In package building scenarios HB_INSTALL_PREFIX will be automatically
set by the process, using the pkg/<arch>/<comp> tree to install the
build into.
* Moved most of the old logic to GNU Make level, so the batch file
is very simple now.
; TOFIX: Whole removal of above dir should be solved to avoid
leftover old files to be included in the release packages.
Ideas are welcome.
; TODO: Integrate into postinst.bat.
; TODO: Move .nsi file to a better place.
* bin/postinst.bat
* config/rules.cf
! Fixed to respect HB_BUILD_DLL setting.
* bin/hb-mkdyn.bat
! Fixed to create temp files in install area so that multiple parallel
build runs don't badly interact with each other.
! Some fixes regarding spaces in dirs, although tool support is generally
to hectic/buggy to implement that reliably. Spaces are still not recommended
in dir.
! Fix for msvc.
! Untested fixes for watcom.
! Fixed leaving two temp file on disk for debuggin purposes.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added -vcshead support for Bazaar repositories.
* config/global.cf
* config/wce/global.cf
* config/dos/watcom.cf
* config/win/watcom.cf
* config/win/global.cf
* config/os2/watcom.cf
- Deleted no more used HB_CDYNLIB and HB_DYNLIB logic.
* INSTALL
* OS/2 prerequisites added. (currently not relevant, but anyway)
* bin/postinst.bat
* bin/hb-mkdyn.bat
* make_gnu.bat
+ Reworked the way .dll generation is done in Harbour build process.
New method solves the problem in one pass, instead of invoking
make twice and requiring starter script to control this.
The new trick is that CC_RULE will generate both dynamic and static
objects for libs included in the .dll for compilers where such trick
is necessary (currently all win/wce compilers except gcc based ones).
* Changed HB_BUILD_LOG forming. Since at this point ARCH/COMP values
aren't known (and just for this purpose it's not worth to maintain
parallel detection logic in start script), the automatically
generated log file will contain the date/time. Maybe even this will
be dropped in the future. Since this is the only remaining logic
in starter script (plus finding correct GNU Make, but that's even
smaller role)
; I didn't test watcom yet, plus mpkg_gnu.bat isn't working yet,
it needs to be moved to postinst phase.
; After these changes, there is basically no need for make starter
scripts. Maybe I'll even remove included make tools to make things
cleaner/leaner.
; TODO: Revise starter .sh scripts.
; TODO: mpkg_gnu.bat rework to run from postinst.
; TODO: Do some cleanup, remove redundancy in settings, etcetc.
; TOFIX: Fix watcom .dll generation.
* config/global.cf
! Deleted double MAKE info line.
+ Showing detected shell in verbose mode.
+ Added mkdir/rm detection for OS/2 shells. (commented)
% Optimized HB_BIN_COMPILE detection by using $(realpath) function.
Now it's only detected once per make run.
+ Added HB_*_INSTALL value defaulting similar to make_gnu.sh
for *nix platforms. (adding /harbour postfix to lib/inc dirs when
HB_INSTALL_PREFIX is system location (/usr or /opt). Please review.
* config/lib.cf
+ Added HB_DYN_COMPILE to control compiling for dynamic libs in
a sperate command.
+ Added HB_DYN_LIBS to hold list of libs which should be built
with separate command for dynamic libs.
* config/rules.cf
+ Added logic for duplicate CC_RULE.
TODO: Notice that it's not yet working when CC_RULE is overridden
on compiler level. Help would be appreciate here.
* config/wce/msvcarm.cf
* config/wce/poccarm.cf
* config/win/watcom.cf
* config/win/icc.cf
* config/win/msvc.cf
* config/win/xcc.cf
* config/win/pocc.cf
* config/win/bcc.cf
+ Enabled HB_DYN_COMPILE for these compilers.
* contrib/gtqtc/gtqtc.hbc
! Fixed lib order for mingw, supc++ moved to the end of list.
* external/sqlite3/Makefile
* external/libhpdf/Makefile
* external/libpng/Makefile
* external/Makefile
* source/rtl/gtxwc/Makefile
* source/rtl/gtcrs/Makefile
* source/rtl/gtsln/Makefile
* contrib/Makefile
* contrib/gtalleg/Makefile
* contrib/hbmysql/Makefile
* contrib/hbodbc/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbqt/Makefile
* contrib/hbfbird/Makefile
* contrib/hbcurl/Makefile
* contrib/gtqtc/Makefile
* contrib/rddsql/sddmy/Makefile
* contrib/rddsql/sddpg/Makefile
* contrib/rddsql/sddfb/Makefile
* contrib/rddsql/sddodbc/Makefile
* contrib/hbhpdf/Makefile
* contrib/hbpgsql/Makefile
* contrib/rddads/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbssl/Makefile
+ Indentation.
% Using ':=' in '*_OK := $(foreach...' expressions, instead of
former unsafe '+='.
* config/win/mingw.cf
* config/wce/mingwarm.cf
* config/win/cygwin.cf
+ Using 'crs' instead of 'r' as AR command.
* config/install.cf
+ Don't define rule if INSTALL_RULE is empty.
Cannot currently happen.
* config/header.cf
% Minor optimization.
* harbour/bin/hb-func.sh
* updated list of system libraries used in to create harbour*.dll
in MinGW builds
* harbour/bin/postinst.sh
- removed not longer used code for build library in postinst phase
* use 'suncc' instead of 'cc' to create harbour shared library without
any platform dependent non default settings
* synced flags used in build process with flags used to create
harbour shared library in sunpro builds
* harbour/config/linux/sunpro.cf
* harbour/config/sunos/sunpro.cf
* removed options which explicitly force platform
* added -xbuiltin=%none as workaround for problems in x86 PIC builds
exploited by hbpcre library code
* changed the order of C/LD flags settings so they can be easy
overwritten by HB_ISAOPT
- bin/hbmk.bat
- Deleted. Probably no one uses it.
* contrib/hbtip/sendmail.prg
+ Added pop3s support for lPopAuth option.
* contrib/hbtip/client.prg
% TIPCLIENT() now uses INIT instead of manual initialization of
class vars.
* TIPCLIENT():NEW(): Protocol check made more robust.
* source/vm/dynlibhb.c
+ Enabled HB_HAS_DLFCN on darwin. Support is there, tested on
latest 10.5 Leopard.
* config/global.cf
* Minor.
* config/linux/sunpro.cf
* config/sunos/sunpro.cf
+ Using 'suncc|sunCC' compiler executables. This makes HB_CCPATH
unnecessary. Thanks Przemek.
* bin/postinst.cmd
* bin/postinst.bat
* bin/hb-mkdyn.bat
! Fixed to handle case when HB_*_INSTALL var is empty.
Related features will be skipped in this case.
* config/global.cf
! Don't try to set HB_*_INSTALL vars if HB_INSTALL_PREFIX is empty.
* contrib/hbtip/sendmail.prg
! Raised timeout to 1000 from 100.
This was the remaining error, now it should be okay.
; This means Harbour now support SMTP through SSL, which
practically means "gmail support", Google Apps for
Domain mailboxes also work.
Remember to build hbtip with HAVE_OPENSSL option and
link with hbssl lib + openssl libs. On *nixes this is
a no-brainer. On Windows, OpenSSL either needs to be
built from source, or pre-built binaries downloaded
(from this file: http://www.slproweb.com/download/Win32OpenSSL-0_9_8k.exe
from this link: http://www.slproweb.com/products/Win32OpenSSL.html)
and linked. Due to usual chaos regarding lib names
on Windows, default names in contrib\hbssl\hbssl.hbc may
need to be adjusted to local environment.
MinGW and MSVC are supported by OpenSSL on Windows for
static linking, the .dll version should work for all
compilers, I've only tested MinGW and MSVC though.
+ contrib/hbtip/tests/gmail.prg
+ Added simple test program to send mails through gmail.
* bin/hb-mkimp.bat
+ Added some more location to look for OpenSSL .dlls.
* contrib/hbssl/hbssl.hbc
+ Added support for rest of Windows compilers.
* contrib/hbtip/smtpcln.prg
! Fix to Auth() to not eat extra input in case of an error.
* bin/postinst.sh
* make_gnu.sh
+ config/linux/sunpro64.cf
* config/linux/sunpro.cf
* config/sunos/sunpro64.cf
* config/sunos/sunpro.cf
; Applyied patch by Tamas Tevesz.
! Fixes for Sun Pro so generation.
+ Added sunpro64.cf for linux.
+ Added HB_ISAOPT variable to hold ISA selection switches.
+ Added $(HB_CCPATH)$(HB_CCPREFIX) to sunos/sunpro.cf to CC/LD.
! Typo in make_gcc.sh (== -> =)
* INSTALL
* bin/postinst.sh
* source/vm/fm.c
* source/common/hbver.c
+ config/sunos/sunpro64.cf
* config/sunos/sunpro.cf
* ChangeLog
+ Applied second SunPro patch sent by Tamas Tevesz.
Addressed these former TODOs:
+ Added sunpro64 target.
+ Finalized C compiler options (including warning level settings).
+ Added compiler identification code to hbver.c.
+ dynamic lib creation.
* utils/hbmk2/hbmk2.prg
! Fixed RTE when run on sunos. Needs further work to discover how
it could run onto that codepath, normally it shouldn't.
* bin/postinst.sh
% Cleaned a few remaining 'gpp' HB_COMPILER value checks.
* bin/hb-func.sh
* make_gnu.sh
% Deleted crs/sln detection. Not needed anymore for hbmk.cfg
generation.
* config/global.cf
! Don't set DOC dir for *nix targets.
* bin/postinst.bat
* config/global.cf
! Fixed HB_BIN_COMPILE usage in postinst.bat. This variable
wasn't exported, so parts of postinst.bat didn't work with
cross-builds. Now HB_HOST_BIN_DIR is used instead, which
got exported from global.cf.
* INSTALL
* Minor.
* include/hbapi.h
* source/common/hbstr.c
* source/rtl/hbmd5.c
* Moved (and somewhat standardized and renamed) mem to hex C
function from hbm5/rtl to common lib.
* bin/hb-func.sh
! Fixed double '%' chars in hbmk.cfg generation.
* contrib/hbcrypt/Makefile
+ contrib/hbcrypt/hbsha1.c
+ contrib/hbcrypt/hbsha1hm.c
+ contrib/hbcrypt/tests/testsha1.prg
+ Added HB_SHA1() and HB_HMAC_SHA1() functions.
* source/rtl/hbmd5.c
* Changed meaning of second boolean parameter. From
now on a .T. has to be passed to get binary output.
(I won't list this as a incompatible, as the new
parameter has just been introduced)
; by now HB_MD5() and HB_SHA*() functions are synced
in functionality.
* contrib/hbcrypt/hbsha1.c
* contrib/hbcrypt/hbsha2.c
* contrib/hbcrypt/hbsha1hm.c
* contrib/hbcrypt/hbsha2hm.c
* contrib/hbcrypt/tests/testsha2.prg
* Changed all SHA2 functions to returned digest in hex
format by default. The binary format can be requested by
passing .T. as an extra parameter.
INCOMPATIBLE: Please update your sources if you used
these functions. Add .T. parameter to keep
current workings.
* contrib/hbcurl/hbcurl.c
% Cleaned types (no BYTE, no BOOL, deleted unnecessary casts).
Only a few ULONGs remained.
* contrib/hbssl/pem.c
+ Some advances.
* contrib/hbssl/Makefile
+ contrib/hbssl/evp.c
+ contrib/hbssl/evpciph.c
+ contrib/hbssl/evpmd.c
* contrib/hbssl/hbssl.ch
+ contrib/hbssl/tests/digest.prg
+ contrib/hbssl/tests/crypt.prg
+ Added almost complete EVP (hashing, encryption, decryption) API.
This means support for a max of 14 hashing methods and
about 90 symmetric encryption methods.
* contrib/hbssl/ssl.c
* contrib/hbssl/sslctx.c
* Moved two functions between files.
* bin/postinst.bat
* config/globsh.cf
+ Tweaked/fixed to allow building Harbour present on a path
which contains spaces.
* bin/postinst.bat
! Fixed for MS-DOS. Again.
Here ChangeLog again causes some problems.
* config/globsh.cf
% Removed some redundancy regarding tool path forming.
* config/global.cf
* config/win/global.cf
* config/linux/global.cf
* config/os2/global.cf
* config/wce/global.cf
+ Changed host CPU detection.
+ Added automatic __PLATFORM__* macro configuration in cross-build
situations.
+ Enhanced target/host CPU detection and decisions based on them.
+ Added automatic HB_BIN_COMPILE setup if not specified by user.
In such case Harbour build will automatically look for the first
available native build and use that.
+ Protected detection related screen messages with HB_BUILD_VERBOSE=yes.
* Minor sync in shell command definition order.
* INSTALL
% User set __PLATFORM__* macro tweaks not needed anymore.
* bin/postinst.cmd
* bin/postinst.bat
* bin/hb-func.sh
* addins -> addons
(hm, which is better?)
* bin/hb-func.sh
* make_gnu.sh
* Moved lib detection logic to hb-func.sh.
; It'd be better to have a way to gather such information
along the make process in some .cfg files.
* source/rtl/gtcrs/Makefile
- Deleted some header locations which weren't checked anyway
before these changes. Please review.
* config/djg-make.exe
+ Updated to 3.81 (from 3.79.1) found in djgpp 2.04 (beta)
(doesn't resolve the dos/watcom problem with hbpp)
* Makefile
! Adjusted a little bit to postinst.bat executed for Linux
cross builds also.
* doc/linux1st.txt
* source/rtl/Makefile
* config/hpux/global.cf
* config/darwin/global.cf
* config/dos/global.cf
* config/win/global.cf
* config/win/xcc.cf
* config/win/mingw.cf
* config/win/pocc.cf
* config/linux/watcom.cf
* config/linux/global.cf
* config/os2/global.cf
* config/sunos/global.cf
* config/bsd/global.cf
* config/wce/global.cf
* config/wce/poccarm.cf
- Deleted references of already halfly-deleted HB_GT_LIB
support. Users should use -DHB_GT_LIB=<gtname>. HB_GT_LIB
also has a different, special purpose in os2, this is still
kept, but it would be better to use some other names for it.
! Fixed linux/watcom to suppress .elf extension of binaries
when built on a non-Linux host.
- Deleted extra GT libs from link list. Now all *portable* GTs
plus the default one are *linked*, and all GTs are always
attempted to be *built*.
- Deleted checking GT libs extistance. They always exist
unless the source tree is corrupted, so there is no point
to do this check.
* wce/poccarm now always have /SUBSYSTEM:WINDOWS.
; NOTE: If we want to support build-time default GT selection/override,
we should find some proper ways, but it makes things
very complicated without much benefit, since GT can be
easily overridden in final apps, supplied binary tools can
also very easily rebuilt using hbmk2 with whatever GT.
* utils/hbmk2/hbmk2.prg
* Minor formatting.
* make_gnu.bat
+ Minor adjustment to support OS/2 cross-builds.
* source/rtl/gtwvt/gtwvt.c
* Minor adjustment to casting to Windows type.
* contrib/hbfimage/Makefile
- Disabled for OS/2.
* bin/postinst.cmd
+ Synced with .bat. 'copy' replaced by 'xcopy'.
* config/os2/watcom.cf
+ Added fix (from win/watcom.cf) to swap dirseps
for wcc386 as it cannot accept forward slashes.
Przemek, please adapt this for Linux, as it's
probably not needed there.
* bin/postinst.bat
+ Added .hbc search paths: /contrib, /contrib/rddsql, /addins, /examples.
NOTE: addins will be the directory where 3rd party addins
can be added.
* utils/hbmk2/hbmk2.prg
* Refinements to path handling of -icon= parameter.
- utils/hbrun/hbrun.rc
* utils/hbrun/hbrun.hbp
* Switched to use -icon option instead of .rc file.
* contrib/hbtip/client.prg
! Minor cleanups and fixes to proxy handling.
% Deleted second parameter from HB_BASE64() calls.
* contrib/hbtip/smtpcln.prg
% Deleted second parameter from HB_BASE64() calls.
* bin/postinst.bat
* Force English language hbmk2 in Harbour build.
* contrib/hbtip/client.prg
+ Added proxy support.
Borrowd from xhb, work of Luiz Rafael Culik.
Formatted, minor fixes applied, TRY/CATCH error handling
method swapped from simple bool retval method (which
is otherwise used in hbtip). Not tested yet.
* bin/postinst.bat
* mpkg_gnu.bat
+ Moved copying of root doc (ChangeLog, INSTALL) files
to postinst.bat.
* make_gnu.bat
! Minor fix to not accept extra cmdline parameters when
in full build mode.
* harbour/bin/hb-func.sh
* harbour/utils/hbmk2/hbmk2.prg
* updated automatic first function detection to decode non symbol
characters in C function names
* utils/hbmk2/hbmk2.prg
! Always escape filenames/paths if they contain "-" char.
(on Windows).
(this could recently cause a regression with BCC)
* include/hbapi.h
! Missded change from previous commit.
* bin/postinst.bat
+ hbrun is now built also in non-dll mode at the end of the
build process, so it gets built with the icon.
Probably we should switch to using hbmk2 to build these
extra tools, eventually.
* bin/hb-mkdyn.sh
! Fixed to not use HB_CCPREFIX for libtool command.
* utils/hbmk2/hbmk2.prg
! Fixed typo in libtool cmd.
* ChangeLog
* Items marked DONE.