Commit Graph

168 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
6b2f6bd054 2009-12-26 14:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/Makefile
  * harbour/include/hbmath.h
  + harbour/include/hbmather.h
  * harbour/include/hbsetup.h
  * harbour/include/hbapi.h
    * moved math error handler definitions and settings separate header file
    * moved hb_random_num() declaration from hbmath.h to hbapi.h

    After above modification hbmath file should be use only by code which
    wants to use math functions declared usually in math.h

  + harbour/include/hbfloat.h
    + added header file with test macros for floating point numbers
      this file should be included before any other files

  * harbour/src/vm/hvmall.c
  * harbour/src/vm/itemapi.c
  * harbour/src/common/hbprintf.c
  * harbour/src/rtl/math.c
    * use new macros from hbfloat.h

  * harbour/src/rtl/math.c
    + include "hbmather.h"

  * harbour/src/rtl/hbrandom.c
  * harbour/src/rdd/dbf1.c
  * harbour/contrib/xhb/hboutdbg.c
    - removed not longer necessary include "hbmath.h"

  * harbour/contrib/hbct/ctmath.h
    - do not include <float.h> and <limits.h>

  * harbour/contrib/hbct/ct.h
    - do not include "hbmath.h" and "ctmath.h"

  * harbour/contrib/hbct/ctmath.c
  * harbour/contrib/hbct/exponent.c
  * harbour/contrib/hbct/ctc.c
    + include "ctmath.h"

  * harbour/contrib/hbct/trig.c
  * harbour/contrib/hbct/finan.c
  * harbour/contrib/hbct/ctmath2.c
    + include "ctmath.h"
    + include "hbmather.h"

  * harbour/contrib/hbct/num1.c
    + include "ctmath.h"
    + include <float.h>

  * harbour/include/hbinit.h
  * harbour/src/rtl/hbsocket.c
    * added patches from Tamas - thanks

  * harbour/bin/hb-func.sh
  * harbour/harbour.spec
    + create /etc/ld.so.conf.d/harbour.conf with Harbour shared lib directory
      if /etc/ld.so.conf.d directory exists and user has sufficient write
      permission or install package is created.
      This modification allows to install Harbour anywhere and in modern
      distros using /etc/ld.so.conf.d/ harbour shared libraries will be
      always available for all programs

   [TOMERGE 2.0]
2009-12-26 13:13:02 +00:00
Przemyslaw Czerpak
bdfb6a9e93 2009-12-21 08:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
  * harbour/include/hbapigt.h
    * moved declaration of hb_gtSetDefault() from hbgtcore.h to hbapigt.h

  * harbour/include/hbapi.h
  * harbour/src/vm/hvm.c
    + added new function hb_vmSetDefaultGT()

  * harbour/bin/hb-func.sh
  * harbour/utils/hbmk2/hbmk2.prg
    * use hb_vmSetDefaultGT() to set default GT
    * removed extern declarations for functions defined in hbapi.h

  * harbour/src/vm/dynlibhb.c
    + added support for HB_LIBLOAD()/HB_LIBFREE() in DJGPP 2.04 builds

  * harbour/config/global.mk
    * use 8.3 names for harbour dynamic libraries in all DOS builds

  * harbour/config/dos/djgpp.mk
    + added support for dynamic libraries (DXE) in DJGPP builds.
      DXE is sth similar to DLL in Windows and can be used with
      DJGPP 2.04. I had to make some modifications in DXE header
      files to make it working so it will not work in default DJGPP
      installation. I'll document these modifications in the future.

  * harbour/config/dos/watcom.mk
    * enable creating of harbour dynamic libraries only when HB_BUILD_DLL
      is explictly set by user to 'yes'. In DOS DJGPP and OpenWatcom builds
      DLLs support is not functional yet.

  * harbour/config/dyn.mk
    * added an option to create harbour dynamic libraries from static
      ones instead of .o|.obj files. It's necessary for DXE3GEN which
      internally calls LD which has some limited on maximum size of passed
      parameters.
      TODO: make HB_DYN_LIBS definition common for dyn.mk and lib.mk
2009-12-21 07:22:14 +00:00
Przemyslaw Czerpak
50b40d184c 2009-12-18 13:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    ! use CC_HB_USER_LIBS instead of HB_USER_LIBS in linked library list
      current HB_USER_LIBS has different meaning in build process then
      in the past
2009-12-18 12:18:01 +00:00
Przemyslaw Czerpak
ff2f644a97 2009-12-16 00:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    * use -n2 as default harbour compiler parameter in hb* scripts
2009-12-15 23:00:38 +00:00
Przemyslaw Czerpak
4e62cf97fe 2009-12-12 23:29 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbsetup.h
  * harbour/include/hbdefs.h
  * harbour/include/hbthread.h
  * harbour/src/common/hbver.c
  * harbour/bin/hb-func.sh
  * harbour/bin/postinst.sh
  * harbour/config/linux/gcc.mk
  + harbour/config/linux/open64.mk
    + added support for Open64 C/C++ compiler in Linux builds

  * harbour/src/common/hbver.c
    * removed unnecessary casting compiler version number parameters
      to 'short'
    * extended the size of szBuf buffer as requested by Tamas
2009-12-12 22:31:11 +00:00
Przemyslaw Czerpak
f56d654c63 2009-11-30 16:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    - removed not longer working HB_DB_DRVEXT
    + added HB_USER_DLL_ADDONS which can be used to activate rebuilding
      Harbour shared library in postinst phase with additional libraries
      specified by user in above envvar - it's not officially supported
      functionality but temporary workaround until we will not add some
      more generic support for above feature so I do not document it in
      INSTALL

  * harbour/contrib/hbwin/olecore.c
    + added support for conversion safe arrays with any type variants
      to Harbour - please test
2009-11-30 15:52:00 +00:00
Viktor Szakats
9ca0c7ed08 2009-11-17 04:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Minor formatting.
    + Added information about some commonly used, but yet useless 
      environment settings. These:
         set HB_PATH=<Harbour root dir>
         set HRB_DIR=<Some Harbour dir>
         set INCLUDE=<Harbour include dir>
         set LIB=<Harbour lib dir>
    * Bumped copyright year.
    + Added 'documentation' section to link section. 
    + Added netiquette RFC link for a start.
    + Added hbrun to required tools for cross-builds.

  * bin/hb-func.sh
  * harbour.spec
    + Added hbsms lib.
2009-11-17 03:17:20 +00:00
Przemyslaw Czerpak
bf419526fe 2009-11-09 17:33 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    ! added links with full version number to harbour shared library
      It fixes problem with Harbour tools linked with libharbour-*.so
      in system wide installation (i.e. in RPM or DEB packages)
2009-11-09 16:33:44 +00:00
Przemyslaw Czerpak
ae81a3de53 2009-10-14 17:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    ! do not look for .c files as result of hbcmp script executed
      with -s or -sm switch and without -g[oh] * switches.
2009-10-14 15:19:16 +00:00
Przemyslaw Czerpak
7c1258d228 2009-10-11 14:52 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    - removed from hb* scripts old GCC options not longer used to build
      Harbour core code
2009-10-11 12:52:56 +00:00
Przemyslaw Czerpak
7f6a2eec43 2009-10-06 18:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
    ! fixed to build with postinst.prg executed by shared linked hbrun

  * harbour/bin/hb-func.sh
  * harbour/debian/rules
  * harbour/harbour.spec
    % use HB_INST_PKGPREF instead of _DEFAULT_*_DIR
      Please test DEB building in Debian, Ubuntu or in other DPKG
      based distro. It probably has the same problem with postinst.prg
      as all other builds.

  * harbour/debian/rules
  * harbour/harbour.spec
  * harbour/mpkg_tgz.sh
  * harbour/source/compiler/gencobj.c
    * updated harbour.cfg localization in *nix builds

  * harbour/utils/hbrun/Makefile
    ! restored support for default include directory in system wide builds
2009-10-06 16:34:58 +00:00
Przemyslaw Czerpak
9d46e88fef 2009-10-06 16:46 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/instsh.mk
  * harbour/bin/hb-func.sh
  * harbour/bin/postinst.sh
    + added support for HB_INST_PKGPREF which can be used as package
      temporary install directory

  * harbour/mpkg_tgz.sh
    ! use HB_INST_PKGPREF to allow creating install packages without
      special user rights and to protect against damaging original system
      installation during package building if sufficient user rights were
      guarantied
2009-10-06 14:46:46 +00:00
Przemyslaw Czerpak
35eb5a8510 2009-10-06 00:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    ! fixed typo in .c file generated by hbmk script
2009-10-05 22:35:11 +00:00
Przemyslaw Czerpak
ec1e80e140 2009-09-20 18:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour-win-spec
  * harbour/harbour-wce-spec
  * harbour/bin/hb-func.sh
  * harbour/config/global.mk
    * updated to work with modified base make internals and envvars
    * do not overload defined by user HB_TOOLS_PREF
    ! fixed c&p typo in DJGPP cross build HB_TOOLS_PREF
      Warning: it still needs export HB_BUILD_SHARED=no before creating
      RPMs but it should be fixed in base make together with native builds.
      TODO: we should agree some conditions for alternative system wide
      cross build installation, like .cfg file name and localization.
2009-09-20 16:12:43 +00:00
Przemyslaw Czerpak
f81d8cb5e2 2009-09-19 14:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/mpkg_deb.sh
  * harbour/mpkg_rpm.sh
  * harbour/mpkg_rpm_win.sh
  * harbour/bin/hb-mkdyn.sh
  * harbour/bin/postinst.sh
  * harbour/mpkg_src.sh
  * harbour/mpkg_rpm_wce.sh
  * harbour/mpkg_tgz.sh
    * replaced command used to force script execution by bash,
      instead of:
         [ "$BASH" ] || exec bash `which $0` ${1+"$@"}
      use:
         [ "$BASH" ] || exec bash $0 "$@"

  * harbour/bin/hb-func.sh
    ! use HB_HAS_* variables instead of HB_INC_*
2009-09-19 12:43:58 +00:00
Przemyslaw Czerpak
d22a6f6424 2009-09-19 13:52 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    ! fixed few problems introduced by macro name modifications and removed
      some wrong RT checking

  * harbour/bin/hb-func.sh
  * harbour/source/common/hbprintf.c
  * harbour/source/rtl/fstemp.c
  * harbour/config/bsd/libs.mk
    * updated for NetBSD builds
2009-09-19 11:53:05 +00:00
Przemyslaw Czerpak
99502fdaf7 2009-09-19 07:46 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    * updated for OpenBSD builds

  * harbour/external/sqlite3/sqlite3.c
    ! casting
2009-09-19 05:47:14 +00:00
Przemyslaw Czerpak
f188f3543d 2009-09-18 12:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
  * harbour/config/beos/libs.mk
    ! use network system library instead of socket in BEOS/HAIKU builds

  * harbour/source/rtl/hbsocket.c
    ! translate protocol/address families in BEOS/HAIKU builds

    Thanks to Tomas for locating both problems
2009-09-18 10:37:55 +00:00
Przemyslaw Czerpak
80a0fef0cd 2009-09-18 12:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    * updated hb* scripts to work modified bast build conditions

  * harbour/source/rtl/gttrm/gttrm.c
    * added support for terminals with automatic scroll at maxrow,maxcol
      position - now it's enabled for BSD console though it may be also
      usable in other terminals with such behavior but it's hard to detect
      it without real tests.

  * harbour/source/rtl/filebuf.c
    * clear FS error code in dummy close

  * harbour/contrib/hbnetio/netio.h
  * harbour/contrib/hbnetio/netiosrv.c
    * added special error code which is used if some operation fails
      but without setting hb_fsError()
    * replaced const value with macro as Tomas suggested
2009-09-18 10:06:46 +00:00
Viktor Szakats
9f34caca52 2009-09-17 14:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-func.sh
  * source/rtl/gtcrs/gtcrs.c
  * source/rtl/gtcrs/gtcrs.h
  * config/detect.mk
    - Deleted HB_NCURSES_194 references.
2009-09-17 12:10:59 +00:00
Viktor Szakats
20f9b93b0f 2009-09-17 13:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-func.sh
  * config/beos/libs.mk
  * config/global.mk
  * config/bsd/libs.mk
  * config/darwin/libs.mk
  * config/hpux/libs.mk
  * config/dos/djgpp.mk
  * config/linux/libs.mk
  * config/sunos/libs.mk
    * Renamed two variables to be in sync with latest changes:
      HB_CRS_LIB -> HB_LIBNAME_CURSES
      HB_SLN_LIB -> HB_LIBNAME_SLANG
        (this one is not honored by GNU Make system)
    ; TOFIX: Honor HB_LIBNAME_SLANG in GNU Make system? Is that
             needed in some cases?

  * config/dos/djgpp.mk
    + Synced system lib/libpath logic with libs.mk found on
      other platforms.
2009-09-17 11:00:58 +00:00
Przemyslaw Czerpak
fb3caa2d83 2009-09-16 09:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    * updated hb* scripts to work with HAIKU/BEOS

  * harbour/source/vm/dynlibhb.c
    * enabled dlopen()/dlclose() in HAIKU/BEOS builds
    * added TODO warning in non DOS builds which does not support
      dynamic library loading

  * harbour/source/rtl/fserr.c
    ! fixed errno translation

  * harbour/source/rtl/gttrm/gttrm.c
    + added support for CTRL+{UP,DOWN,RIGHT,LEFT} keys in HAIKU XTerm.
    + added hack for UP,DOWN,RIGHT,LEFT keys in HAIKU XTerm - it works
      only locally.
    * added two notes about problems with HAIKU XTerm which cannot be
      cleanly resolved by us:
         - reverted MIDDLE and RIGHT button
         - UP,DOWN,RIGHT,LEFT use the same sequences as
           CTRL+{UP,DOWN,RIGHT,LEFT} in XTerm 3.x.x
      any hardcoded solution is wrong in such case because XTerm can
      be used for remote access.
2009-09-16 07:22:52 +00:00
Viktor Szakats
14b97c2baf 2009-09-10 13:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* harbour-win-spec
  * harbour-wce-spec
  * INSTALL
  * bin/hb-func.sh
  * config/detfun.mk
  * config/global.mk
    * Renamed HB_XBUILD to HB_BUILD_EXTDEF=no[|yes].
      Not the perfect name, but anyway.
    + Documented HB_BUILD_EXTDEF setting.
    ; TOFIX: There is an HB_XBUILD reference in mpkg_tgz.sh which
             I couldn't correct.

  * Makefile
    + Moved building of external libs before utils.
      This will allow to add embedded external libs which are used 
      by Harbour core.
2009-09-10 11:18:51 +00:00
Viktor Szakats
6983757f3f 2009-09-09 09:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/darwin/clang.mk
    + Disable -c option to avoid warnings when --analyze user option is used.

  * utils/hbmk2/hbmk2.prg
    ! Implemented fix from hbmk script for shared mingw targets in GUI mode.

  * bin/hb-func.sh
    ! Synced wce .dll name with rest of Harbour.
2009-09-09 07:16:21 +00:00
Przemyslaw Czerpak
301bbdc065 2009-09-09 02:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    * updated hb* script to work with import library and new
      harbour.dll names.
    + added workaround for problem with shared linking in gui mode caused
      by wrong import library in MinGW builds - without it hb* scripts
      can work only with pure .DLLs
      TOFIX: shared linking in gui mode does not work in hbmk2 at least
             with MinGW cross builds I have in my Linux box, i.e.:
                /*** tst.prg ***/
                ? "TEST"; WAIT
             hbmk2 tst.prg -shared -gtwvt -mwindows
             ./tst.exe
               -> Unrecoverable error 10001: It's not a GUI program
2009-09-09 00:24:54 +00:00
Viktor Szakats
ad422d1038 2009-09-05 16:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Little improvements.

  * bin/hb-func.sh
  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    ! Fixed gpm lib to be added at the end of liblist to make
      it link after removal of lib grouping switches.
2009-09-05 14:24:06 +00:00
Przemyslaw Czerpak
08e0268da4 2009-09-01 00:56 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
  * harbour/harbour-win-spec
  * harbour/harbour-wce-spec
  * harbour/bin/hb-func.sh
  * harbour/contrib/Makefile
  + harbour/contrib/hbnetio
  + harbour/contrib/hbnetio/netio.h
  + harbour/contrib/hbnetio/netiomt.prg
  + harbour/contrib/hbnetio/netiocli.c
  + harbour/contrib/hbnetio/netiosrv.c
  + harbour/contrib/hbnetio/Makefile
    + added new library: HBNETIO.
      It implements alternative RDD IO API which uses own TCP/IP sockets
      to exchange data between client and server.
      This library contains client and server code and is fully MT safe.
      On client side it's enough to execute:
         NETIO_CONNECT( [<cServer>], [<cPort>], [<nTimeOut>] ) -> <lOK>
      function to register alternative NETIO RDD API and set default
      server address and port.
         <cServer>  - server addres       (default 127.0.0.1)
         <cPort>    - server port         (default 2941)
         <nTimeOut> - connection timeout  (default -1 - not timeout)
      Above settings are thread local and parameters of the 1-st successful
      connection are used as default values for each new thread.
      After registering NETIO client by above function each file starting
      "net:" prefix is automatically redirected to given NETIO server, i.e.
         use "net:mytable"
      It's also possible to pass NETIO server and port as part of file name,
      i.e.:
         use "net:192.168.0.1:10005:mytable"
      On the server side the following functions are available:
      create NETIO listen socket:
         NETIO_LISTEN( [<nPort>], [<cAddress>], [<cRootDir>] )
                                                -> <pListenSocket> | NIL
      accept new connection on NETIO listen socket:
         NETIO_ACCEPT( <pListenSocket> [, <nTimeOut>] )
                                                -> <pConnectionSocket> | NIL
      start connection server:
         NETIO_SERVER( <pConnectionSocket> ) -> NIL
      stop connection accepting or connection server:
         NETIO_SERVERSTOP( <pListenSocket> | <pConnectionSocket>, <lStop> )
                                                -> NIL
      activate MT NETIO server (it needs MT HVM):
         NETIO_MTSERVER( [<nPort>], [<cAddress>] ) -> <pListenSocket> | NIL

      To create NETIO server is enough to compile and link with MT HVM
      this code:

         proc main()
            local pListenSocket

            pListenSocket := netio_mtserver()
            if empty( pListenSocket )
               ? "Cannot start server."
            else
               wait "Press any key to stop NETIO server."
               netio_serverstop( pListenSocket )
               pListenSocket := NIL
            endif
         return

      NETIO works with all core RDDs (DBF, DBFFPT, DBFBLOB, DBFNTX, DBFCDX,
      DBFNSX, SDF, DELIM) and any other RDD which inherits from above or
      use standard RDD IO API (hb_file*() functions).
      Without touching even single line in RDD code it gives the same
      functionality as REDBFCDX in xHarbour but for all RDDs.
      It's possible that such direct TCP/IP connection is faster then
      file server protocols especially if they need more then one IP frame
      to exchange data so it's one of the reason to use it in such cases.
      Please make real speed tests.
      The second reason to use NETIO server is resolving problem with
      concurrent access to the same files using Harbour applications
      compiled for different platforms, i.e. DOS, LINUX, Windows and OS2.
      It's very hard to configure all client stations to use correct
      locking system. NETIO fully resolves this problem so it can be
      interesting alternative also for MS-Windows users only if they
      do not want to play with oplocks setting on each station.
      I'm interesting in user opinions about real life NETIO usage.

      Have a fun with this new toy ;-)

  + harbour/contrib/hbnetio/tests
  + harbour/contrib/hbnetio/tests/netiotst.prg
  + harbour/contrib/hbnetio/tests/netiotst.hbp
  + harbour/contrib/hbnetio/tests/data
    + added simple test code for NETIO. It activates NETIO MT server
      and then connects to this server to create and browse table with
      memo file and production index with few tags.
2009-08-31 22:56:45 +00:00
Viktor Szakats
e86a10719d 2009-08-29 11:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbssl/bio.c
    - Disabled feature which doesn't seem to be exported via
      implibs.

  + contrib/hbssl/hbssls.hbc
  + contrib/hbssl/hbssls
  + contrib/hbssl/hbssls/Makefile
  * contrib/hbssl/hbssl.hbc
  * contrib/hbssl/Makefile
    * Default hbssl lib is now created to link dynamically (on Windows).
    + Added static build of hbssl by the name hbssls, with new .hbc
      file linking to static OpenSSL libs.

  * contrib/hbssl/Makefile
  + contrib/hbssl/hbssls.hbc
  * contrib/hbssl/hbssl.hbc

  * bin/hb-func.sh
    - Commented creation of dynamic libs. Now it's done on GNU Make
      level.

  * config/os2/gcc.mk
    - Disabled os2/gcc .dll creation. If someone comes up with a working
      solution we can readd it, but in current form it just broke os2/gcc
      target with no short-term hope for a solution.

  * source/common/hbver.c
    + Added "Embarcadero" to Borland C compiler name.
      Borrowed from xhb / Andi Jahja
    + Readded also "Borland" to both Embarcadero and CodeGear compiler
      names. Probably for most ppl "Borland" tells a hell lot more than
      these names which keep changing every second year.

  * contrib/gtwvg/Makefile
  * contrib/hbtip/Makefile
  * contrib/hbtip/hbtipssl/Makefile
    * Formatting.
2009-08-29 09:21:45 +00:00
Viktor Szakats
86318490b5 2009-08-28 08:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-func.sh
    ! Fixed recent mistake in gpm detection at postinst (now redundant)
      dynlib generation phase.

  * source/rtl/fssize.c
    ! Fixed warnings shown by mingw64 4.5.0.

  * config/detfun.mk
    + Now accepting HB_WITH_* control variables in place of HB_INC_* once.
      If HB_WITH_* is set it overrides HB_INC_*. Experimental yet.
    * Minor in comments.

  * config/detect.mk
    * Minor correction for conf.mk inclusion.
2009-08-28 06:54:23 +00:00
Viktor Szakats
ba35cc2c25 2009-08-27 09:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* mpkg_deb.sh
  * bin/hb-func.sh
  * harbour.spec
  * mpkg_tgz.sh
    * HB_WITHOUT_GTCRS -> HB_INC_CURSES
    * HB_WITHOUT_GTSLN -> HB_INC_SLANG
    * HB_WITHOUT_X11   -> HB_INC_X11
    * HB_GPM_MOUSE     -> HB_INC_MOUSE (in few remaining hbmk script places)
    ; NOTE: After all this cleanup/leveling is done, probably
            HB_INC_* variables will be changed to more standard
            HB_WITH_* format. First I want to finish this part.
2009-08-27 07:06:52 +00:00
Viktor Szakats
ec4af7032d 2009-08-27 08:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* mpkg_deb.sh
  * mpkg_tgz.sh
  * bin/hb-func.sh
  * harbour.spec
    + HB_GPM_MOUSE -> HB_INC_GPM and HB_HAS_GPM depending on whether
      it's a config var or a reaction to config (in postinst)
      I've left some value in hbmk script which may need further
      attention.
      I didn't test these changes, please do.
2009-08-27 06:46:44 +00:00
Viktor Szakats
9a4bb4a090 2009-08-24 14:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Cleaned examples.
      - Arranged them by host platform
      - Fixed a few examples (DJGPP on NT missed HB_PLATFORM)
      - Moved 'set HB_COMPILE' to make cmdline.
      - Consistency changes.
      - Deleted empty 'rem' lines.
      - Moved log redirection from each example to general NOTE.
      - Moved %1 %2 from example to general NOTE.
      - Added generic *nix section.
      - Added information about possible cross-build targets.
    ; Hopefully they are much cleaner now. In fact most information
      deal with how to setup the compiler.

  * config/global.mk
    + Added link to GNU Make free book.
    % path checking functions rearranged, so now it can be indented.
    + Added log header line.
    ! Fixed to display only the first autodetect location.

  * bin/postinst.cmd
  * bin/postinst.bat
  * bin/hb-func.sh
    * Wording: 'Generating' -> 'Making'
    * 'Harbour Make (hbmk2)' -> 'hbmk2' in generated hbmk.cfg.

  * utils/hbmk2/hbmk2.prg
    * Wording: 'Generating' -> 'Creating'
2009-08-24 12:12:59 +00:00
Viktor Szakats
92c93fdc95 2009-08-23 17:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* doc/linux1st.txt
    - Deleted Linux build instructions no more relevant.
    * Formatting. Probably this file should be moved into INSTALL.

  * doc/gmake.txt
    * Little updates.

  * harbour-win-spec
  * doc/gmake.txt
  * doc/linux1st.txt
  * doc/whatsnew.txt
  * harbour-wce-spec
  * INSTALL
  * bin/hb-mkdyn.sh
  * bin/postinst.cmd
  * bin/postinst.bat
  * bin/hb-func.sh
  * bin/postinst.sh
  * external/sqlite3/Makefile
  * external/libhpdf/Makefile
  * external/libpng/Makefile
  * mpkg_tgz.sh
  * harbour.spec
  * source/pp/hbpp.c
  * source/pp/Makefile
  * source/vm/Makefile
  * source/vm/cmdarg.c
  * source/vm/vmmt/Makefile
  * source/main/harbour.c
  * source/rtl/gtdos/Makefile
  * source/rtl/gtwin/Makefile
  * source/rtl/gtcrs/Makefile
  * source/rtl/gttrm/Makefile
  * source/rtl/Makefile
  * source/rtl/gtos2/Makefile
  * source/rtl/gtgui/Makefile
  * source/rtl/gtwvt/Makefile
  * source/rdd/Makefile
  * source/Makefile
  * contrib/hbodbc/Makefile
  * contrib/hbsqlit3/Makefile
  * contrib/hbblat/Makefile
  * contrib/hbqt/Makefile
  * contrib/hbxbp/Makefile
  * contrib/hbcurl/Makefile
  * contrib/gtqtc/Makefile
  * contrib/rddsql/sddodbc/Makefile
  * contrib/rddado/Makefile
  * contrib/gtwvg/Makefile
  * contrib/rddads/Makefile
  * contrib/hbfimage/Makefile
  * contrib/hbtip/Makefile
  * contrib/hbwin/Makefile
  * contrib/hbssl/Makefile
  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * config/none.mk
  * config/global.mk
  * config/lib.mk
  * config/wce/mingw.mk
  * config/bin.mk
  * config/dir.mk
  * config/common/watcom.mk
  * config/win/msvc64.mk
  * config/win/iccia64.mk
  * config/win/mingw64.mk
  * config/win/gcc.mk
  * config/win/msvcia64.mk
  * config/win/pocc64.mk
  * config/header.mk
  * config/dyn.mk
  * config/doc.mk
    * HB_ARCHITECTURE -> HB_PLATFORM
    * hb_arch -> hb_plat (internal script variable)
    * ARCH_COMP -> PLAT_COMP (internal make variable)
    ; INCOMPATIBLE: Please update your environment, if you used this setting.
    ; NOTE: So now Harbour uses only two names for platforms: 'OS' and 'platform'.
            'Architecture' is nowhere used to refer to as an operating system
            anymore. 'Architecture' is only used to refer to CPU/hardware
            architecture.
2009-08-23 15:58:51 +00:00
Viktor Szakats
e935edcb47 2009-08-21 17:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    - Deleted just added global.mk. It's not needed.

  * config/globsh.mk
    + Added $(MV) variable with move command.
    + Added $(LN) variable with *nix link command.
    ! Fixed $(RM) in os2 shell rules to use os2-rm.exe 
      instead of shell provided del. Latter show errors 
      if filename doesn't exist, and we're now using 
      clean rules copied from dos shell, which doesn't 
      make extra existance checks. Well, to put it 
      shortly I've synced $(RM) with dos shell solution.

  + config/dj-mv.exe
  * config/readme.txt
    + Added DJGPP mv tool.

  * bin/hb-func.sh
    ! Fixed typo in syslib lone in a recent commit.
2009-08-21 15:32:29 +00:00
Przemyslaw Czerpak
c2f42795d2 2009-08-21 14:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    * added oleaut32 to default linked library list
2009-08-21 12:41:20 +00:00
Przemyslaw Czerpak
4077cbb993 2009-08-21 13:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    ! do not strip system libraries in windows shared linking - unused
      ones are not attached to harbour*.dll

  * harbour/contrib/hbwin/hbwinole.h
  * harbour/contrib/hbwin/olecore.c
    + added support to pass strings with embedded chr(0) characters
    + added new public C function:
         IDispatch* hb_oleItemGet( PHB_ITEM pItem );
      it extracts IDispatch* pointer from Harbour OLE pointer item.
    + added new public C function:
         void       hb_oleVariantUpdate( VARIANT* pVariant, PHB_ITEM pItem );
      it updates pVariant structure using values from given pointer item
      (used to update parameter passed by reference to activex event handler)
    % optimized some code

  * harbour/contrib/hbwin/hbwinole.h
  * harbour/contrib/hbwin/axcore.c
    + added new public C function:
         BOOL       hb_oleAxInit( void );
    + added new public C function:
         PHB_ITEM hb_oleAxControlNew( PHB_ITEM pItem, HWND hWnd );
      It's C function with the same functionality as __AXGETCONTROL()
    ! allocate ISink structure using hb_xgrab() not hb_gcAlloc()
    ! initialize ISink reference counter to 0
    ! fixed Release() method to free all allocated resources when
      reference counter reach 0
    * return new Active-X control as Harbour OLE item pointer.
      Warning !!! hb_parptr() and hb_itemGetPtr() do not return valid
      pointer for controls created by hb_oleAxControlNew()/__AXGETCONTROL()
      Use hb_oleItemGet() and hb_oleParam() to extract pointer to IDispatch
      Please update existing code which used __AXGETCONTROL() pointers
      at C level.
    - removed not longer used hb_sink_destructor
    ! removed WIN_AXRELEASEOBJECT() - this function breaks reference counters
      used by OLE object which needs strict updating to avoid memory leaks
      (not freed OLE object) or GPF traps (accessing freed object)
    + extended Invoke() method to update OLE parameters passed by reference.
    + accept as event handler hash arrays indexed by event numbers and
      values with codeblocks or function pointers. Similar functionality
      exists in HWGUI when it's compiled with __USEHASHEVENTS macro and
      it's much better then passing two arrays.
    % optimized some code

    Please test above Active-X modifications. I'm not MS-Windows user so
    they have to be verified by real MS-Windows developers.
    They should fix problems with memory leaks (OLE objects where never
    freed) or GPF traps in C code which tired to strictly manage reference
    counters.
    To C programmers: if you increase reference counter to activex control
    (AddRef()) then you have to release it (Release()) or activex control
    will never be freed even after clearing all .prg references. It's
    released only when last reference owner calls Release() method so now
    valid code can keep references to IDispatch at C level without any
    problem but it also means that this code can exploit problems in
    existing wrong code.
2009-08-21 11:35:11 +00:00
Przemyslaw Czerpak
19d6c252b9 2009-08-20 00:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* 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
2009-08-19 22:03:22 +00:00
Przemyslaw Czerpak
125e1cbe72 2009-08-18 12:01 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_gnu_xmingw.sh
  * harbour/make_gnu_xmingwce.sh
  * harbour/bin/hb-func.sh
    ! fixed HB_CCPATH setting to be compatible with .mk files and hb* scripts
    ! fixed links to harbour share libraries
2009-08-18 10:01:38 +00:00
Viktor Szakats
2f817469ce 2009-08-13 21:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.cmd
  * bin/postinst.bat
  * bin/hb-func.sh
    + Added 'hbmk2' text to .cfg comment.
2009-08-13 19:55:52 +00:00
Przemyslaw Czerpak
df59bad4d3 2009-08-12 14:36 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* 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
2009-08-12 12:36:44 +00:00
Viktor Szakats
64d32725b8 2009-07-28 18:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* 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.
2009-07-28 16:26:24 +00:00
Viktor Szakats
40a7012cb7 2009-07-22 15:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-func.sh
  * include/hbextern.ch
  * contrib/Makefile
  * source/rtl/Makefile
  + source/rtl/sha1.c
  + source/rtl/sha1.h
  + source/rtl/hbsha1hm.c
  + source/rtl/sha2.c
  + source/rtl/sha2.h
  + source/rtl/hbsha2hm.c
  + source/rtl/sha1hmac.c
  + source/rtl/sha1hmac.h
  + source/rtl/hbsha1.c
  + source/rtl/sha2hmac.c
  + source/rtl/sha2hmac.h
  + source/rtl/hbsha2.c
  + tests/testsha1.prg
  + tests/testsha2.prg
    * hbcrypt contrib library merged into the core.
2009-07-22 13:53:21 +00:00
Viktor Szakats
2849c6e191 2009-07-22 15:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* 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.
2009-07-22 13:41:36 +00:00
Viktor Szakats
073fd02030 2009-07-17 13:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-func.sh
    - Deleted reference to hbfm lib.

  * source/pp/Makefile
    * Minor formatting.
2009-07-17 11:36:32 +00:00
Viktor Szakats
a8c53c2e3e 2009-07-16 01:11 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* 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?)
2009-07-15 23:13:16 +00:00
Lorenzo Fiorini
2e1303e9c6 2009-07-14 20:10 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com)
* bin/hb-func.sh
    * add creation of unver harbour dll links in win/wce builds
2009-07-14 18:12:47 +00:00
Viktor Szakats
38d9c0e799 2009-07-14 18:03 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* 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)
2009-07-14 16:05:06 +00:00
Viktor Szakats
eb6298aa30 2009-07-07 01:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.bat
  * bin/hb-func.sh
    + Added libpath= lines to generated hbmk2.cfg files.
    - Deleted arch=/comp= lines from generated hbmk.cfg files.

  * include/hbextern.ch
    + Added HB_PROCESSRUN().

  * contrib/hbtip/client.prg
    % Minor optimizations.
    * Formatting.

  * utils/hbmk2/hbmk2.prg
    % Changed to use hb_processRun() natively.
    ! Fixed doubly added resource stub when -icon is used.

  * source/rtl/hbproces.c
    * Really minor formatting.

  * source/rtl/hbprocfn.c
    ! Fixed to free memory of hb_storlen_buffer() returns failure.
    % Minor optimization: hb_storclen( "", 0, ... ) -> hb_storc( NULL, ... )
2009-07-06 23:32:38 +00:00
Przemyslaw Czerpak
f604930a1e 2009-06-23 11:56 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
  * harbour/utils/hbmk2/hbmk2.prg
    * updated automatic first function detection to decode non symbol
      characters in C function names
2009-06-23 09:56:44 +00:00
Viktor Szakats
83bcf19d91 2009-05-23 14:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* utils/hbmk2/hbmk2.prg
    ! Fixed to morph harbour binary extension according to target
      platform. This should fix HB_INSTALL_PREFIX autodetection and
      also -trace display of harbour command line.
      Please test.

  * harbour/bin/hb-func.sh
    ! Changed comp= line to not have a filter. Filters aren't
      supported here, even the whole line isn't processed yet
      by hbmk2.

  * INSTALL
    * Minor correction.
2009-05-23 12:10:44 +00:00