Commit Graph

449 Commits

Author SHA1 Message Date
Viktor Szakats
a3999d669a 2009-09-21 12:11 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/beos/gcc.mk
  * config/beos/global.mk
  * config/bsd/gcc.mk
  * config/bsd/global.mk
  * config/wce/mingwarm.mk
  * config/hpux/gcc.mk
  * config/hpux/global.mk
  * config/dos/djgpp.mk
  * config/win/mingw.mk
  * config/win/cygwin.mk
  * config/linux/icc.mk
  * config/linux/sunpro.mk
  * config/os2/gcc.mk
  * config/sunos/gcc.mk
  * config/sunos/global.mk
  * config/sunos/sunpro.mk
    + Added HB_BUILD_STRIP support for rest of compilers.
    ; Please make tests.

  * bin/postinst.sh
    - Deleted strip from postinst phase.
2009-09-21 10:13:39 +00:00
Viktor Szakats
9dfc53ab9f 2009-09-20 22:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* harbour-win-spec
  * harbour-wce-spec
  * INSTALL
  * bin/postinst.sh
  * Makefile
  * source/pp/Makefile
  * source/Makefile
  * config/global.mk
    * HB_BUILD_PART -> HB_BUILD_PARTS (simple rename)
    + HB_BUILD_STRIP added. It's dummy yet. Support will have to
      be added on the compiler level and removed from postinst phase.
2009-09-20 20:41:51 +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
Viktor Szakats
5dc8ba8ca3 2009-09-20 14:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* 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.
2009-09-20 12:53:51 +00:00
Viktor Szakats
da6ef5ae3c 2009-09-19 22:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added new section: HOW TO CREATE DISTRIBUTABLE PACKAGES

  * bin/postinst.sh
    % Deleted -KPIC from dynlib command with sunpro.
2009-09-19 20:31:49 +00:00
Viktor Szakats
ae96ef6400 2009-09-19 21:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.sh
  * config/global.mk
    ! Fixes to prev after testing. (please review anyway)
2009-09-19 19:34:24 +00:00
Viktor Szakats
fac2acdf0d 2009-09-19 20:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-mkdyn.sh
  * bin/postinst.sh
    % Deleted -fPIC option from dynlib link command. It's not needed 
      if there are no .c input files.
2009-09-19 18:32:45 +00:00
Viktor Szakats
48018d9896 2009-09-19 20:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* mpkg_tgz.sh
  * bin/postinst.sh
    % Attempt to clean mpkg_tgz.sh from redundant make logic.
      Some tasks (stripping, shared tool making using HB_BUILD_SHARED,
      chmod on HB_INC_INSTALL) moved to postinst.sh, some others
      deleted (platform detection, shared tool building using old
      method, component detections, install dir forming and creation.
    ; Please review me and test.
    ; TODO: Maybe above tasks in postinst.sh should only be
            executed when HB_BUILD_PKG=yes.

  * config/global.mk
    ! Fixed to only use lib64 dir if it exists. Please review/test
      this feature.
    + Now exports HB_SYSLOC variable which is set to non-empty if
      HB_INSTALL_PREFIX points to system location.

  * harbour.spec
    - Deleted PIC option related lines. These are handled by GNU Make now.

  * utils/hbmk2/hbmk2.prg
    + Added PIC related options to *nix compilers when using -hbdyn option.
    % Deleted PIC related option from link command. Not needed.
2009-09-19 18:18:17 +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
Viktor Szakats
d1008fe5a0 2009-09-17 12:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
- bin/pack_src.sh
  + mpkg_src.sh
    * Moved and renamed to align with rest of pkg creation scripts.
      (this should also go to package dir once in the future)

  * source/common/hbver.c
    * Converted decimal version numbers to hex in BCC guards.
    + Added BCC version detections for old (pre-5.x) versions.
      (Borrowed from xhb/Miguel Angel Marchuet)
2009-09-17 10:36:52 +00:00
Viktor Szakats
e76ee1d6a1 2009-09-17 11:11 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
- ERRATA
  * doc/howtosvn.txt
  * INSTALL
  * bin/postinst.cmd
  * bin/postinst.bat
  * package/mpkg_win.nsi
  * package/winuni/mpkg_win_uni.bat
  * package/winuni/mpkg_win_uni.nsi
    + Replaced ERRATA file (which was never updated), with a link
      to bug/feature/etc tracker link in INSTALL.

  * INSTALL
    * Minor improvements.
2009-09-17 09:11:40 +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
5f92c620b8 2009-09-09 18:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.bat
    ! Fixed for dos shells. (cmdline lenght problems, end of .cfg
      extension was clipped on the longest line to .cf)

  + package/winuni
  + package/winuni/HARBOUR_README_MINGW
  + package/winuni/HARBOUR_README_MINGWARM
  + package/winuni/HARBOUR_README_ADDINS
  + package/winuni/HARBOUR_README_DJGPP
  + package/winuni/HARBOUR_README_POCC
  + package/winuni/HARBOUR_README_WATCOM
  + package/winuni/HARBOUR_README_MINGW64
  + package/winuni/mpkg_win_uni.bat
  + package/winuni/mpkg_win_uni_extra_copy.bat
  + package/winuni/RELNOTES
  + package/winuni/mpkg_win_uni.nsi
    + Added components needed to create unified Windows build.
      Of course the dir structure with content should be assembled
      manually. These files are rough ones, ease of use was no
      concern.

      Anyone please feel free to continue this work.
2009-09-09 16:16:57 +00:00
Viktor Szakats
689acaec51 2009-09-09 13:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.bat
    + Adding watt lib to hbmk.cfg at postinst phase.

  * contrib/hbnetio/utils/netiosrv.hbp
    + Added 8.3 output name for dos platforms.

  * config/detfun.mk
    + Always export HB_HAS_* variables.
2009-09-09 11:02:20 +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
1674d71a46 2009-09-07 12:03 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.bat
    + Installation of hb-mkimp.bat will now be done automatically
      at postinst phase for win/wce targets.

  * config/detect.mk
    ! Fixed HB_INC_WATT handling if it contained backslashes
      (broken after last commit)
    % Avoid using indirect assigment by moving it after detection
      function (it was a mistake in my previous commit).
2009-09-07 10:03:48 +00:00
Viktor Szakats
cfb9c7ca6c 2009-09-06 03:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed to not apply compression in -hbcmp (and similar) modes.
    ! Adjusted rdd lib ordering to make some linkers (mingw) happy without
      using lib grouping. Please review.

  * bin/hb-mkimp.bat
    * Little formatting.
2009-09-06 01:10:09 +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
29300e58c3 2009-08-25 10:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.bat
    ! Fixed to work without HB_TOP value. Regression after recent change.

  * contrib/rddsql/sddmy/mysqldd.c
  * contrib/rddsql/sddpg/pgsqldd.c
  * contrib/hbbtree/hb_btree.h
  * contrib/hbbtree/hb_btree.c
  * source/vm/macro.c
  * source/vm/hvm.c
  * source/common/expropt2.c
  * source/compiler/complex.c
    ! Fixed MSVC warnings.
      Please review me, especially the date related ones in core.
    * LONG -> long in hb_compExprReduceTimeStampPut().
    ; NOTE: Number of MSVC (32-bit) -W4 warnings are reduced to 280,
            all of them in RDD code. (plus just few more here and there)
2009-08-25 08:52:54 +00:00
Viktor Szakats
7d6cf877ef 2009-08-25 09:18 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Mentioning dosemu.

  * bin/postinst.bat
    + dos shell flavour zip creation.

  * config/global.mk
    + Added make platform detection.
    + Changed 'dos shell on win platform' warning to be based on make
      platform.
    + Not showing 'dos make on win platform' warning when doing DJGPP
      build because this is the right (and only) way in case of this
      compiler.

  * config/globsh.mk
    + Added command line length limit details for dos shell.
    + Added command line length limit for OS/2. Copied from other .mk file.

  * config/dirsh.mk
  * config/instsh.mk
    - Deleted comments 'We have to use script to overcome the DOS limit of max 128 characters'
      from all places.

  * config/dos/djgpp.mk
    + Will now error if trying to use other than DJGPP make
      to built with this compiler.
2009-08-25 07:18:37 +00:00
Viktor Szakats
377230eb5a 2009-08-25 03:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/postinst.bat
    + Reworked to work better in cross-build/cross-shell scenarios.

  * config/common/watcom.mk
    ! Use envvars to pass parameter either if shell is dos or target.
      This fixes dos/watcom builds under non-dos shells.

  * source/dynlib/mt/Makefile
  * source/dynlib/Makefile
  * config/none.mk
    ! Fixed the way these dynamic lib targets are skipped.

  * package/mpkg_win.nsi
    * Changed to also work on trees using short names.
      (only 'ChangeLog' is a problem here).
      Maybe it's time to rename to CHANGES. It causing too much
      headache.

  * bin/postinst.cmd
    * Sync with .bat.

  * config/global.mk
    + Exporting HB_SHELL for postinst scripts.
    ! Fixed HB_PKGNAME assembly for dos targets.
    ! Typo in comment.

  * config/win/bcc.mk
    ! Deleted dbl quotes from tlib commands as it totally confused it
      under msys shell.
2009-08-25 01:23:07 +00:00
Viktor Szakats
fb0c197484 2009-08-25 02:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* 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).
2009-08-25 00:04:06 +00:00
Przemyslaw Czerpak
d51a2936eb 2009-08-24 17:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-mkdyn.sh
  * harbour/bin/postinst.sh
    ! fixed win and wce cross builds when GCC cross build tools are not
      in PATH
2009-08-24 15:11:39 +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
a93c6d42f0 2009-08-23 12:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
    * Minor in comment.
    + Also looking for __DARWIN__ to autodetect HB_OS_DARWIN.

  * utils/hbmk2/hbmk2.prg
    + Honoring -quiet option for language file creation related screen output.

  * INSTALL
    * Some improvements.

  * bin/postinst.bat
    + Added -quiet to hbmk2 cmdlines.
2009-08-23 10:09:36 +00:00
Viktor Szakats
48b91521f2 2009-08-22 23:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-mkimp.bat
    - Not creating msvc implibs for QT .dlls anymore.
      .dlls distributed in the QT binary package are using
      Itanium ABI (built with MinGW/GCC), which isn't compatible 
      with ABI used by MSVC. Generating an implib is impossible here.
      Those who want to use QT with MSVC Harbour builds should 
      rebuild QT .dlls from source, implibs will be generated 
      automatically in this case (I assume).
2009-08-22 21:31:18 +00:00
Viktor Szakats
0dfd45a90f 2009-08-22 22:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-mkimp.bat
    ! Fix to prev. Some debug stuff.
2009-08-22 20:44:12 +00:00
Viktor Szakats
675145259f 2009-08-22 22:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-mkimp.bat
    ! Fixed warning LNK4093 in msvc lib command.
    ! Fixed /machine option in msvc lib command for msvc64 targets.
    % Added /nologo to msvc lib command.
2009-08-22 20:28:57 +00:00
Viktor Szakats
667590d855 2009-08-22 11:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* 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.
2009-08-22 09:12:38 +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
Viktor Szakats
31efbd75c4 2009-08-21 13:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
  * INSTALL
    + Added HB_DYN_INSTALL envvar. This will tell where to copy
      Harbour dynamic libraries. By default it's set to HB_LIB_INSTALL
      for *nix targets and HB_BIN_INSTALL for non-*nix targets.

  * bin/postinst.bat
  - bin/hb-mkdyn.bat
    - Deleted batch script to create .dlls. Now done from GNU Make
      system. This means it work on all shells we support, not just
      nt ones.
    ; TOFIX: Delete win-based gcc family support from hb-mkdyn.sh, 
             now it's redundant.
2009-08-21 11:59:41 +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
Viktor Szakats
9ad0920842 2009-08-21 10:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* 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.
2009-08-21 08:58:55 +00:00
Viktor Szakats
b316dffb15 2009-08-20 14:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* 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.
2009-08-20 12:17:05 +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