Commit Graph

11855 Commits

Author SHA1 Message Date
Viktor Szakats
ae8dfcf1bb 2009-08-22 22:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbxbp/tests/demoxbp.prg
    * Added '#pragma -w1' to suppress warnings.
      Pripal, is there any chance you can clear them? it would
      be a nice showcase as in real apps it's better to stick
      with full warnings on. It would better show the Xbase++
      Parts user code's suitability for real apps. IMO.
2009-08-22 20:13:39 +00:00
Viktor Szakats
fb7ec7b0e4 2009-08-22 21:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+ config/Makefile
    + Added Makefile to show an error with simple one-liner
      instruction to guide users who want to start provided
      GNU Make executables right in the config dir.
      This is wrong, they should be started in root.
      Anyhow maybe I'll move these make executables to root,
      with these names:
         dos-make.exe
         os2-make.exe
         win-make.exe
      This will avoid above problem, it simply cannot be
      [messed] up anymore. Well, so I imagine.
      These names also won't collide with original names
      of these tools, so users who want to stick with external
      tools, can continue to do so.
      The other option is that I delete them from SVN.

  * config/global.mk
    + Showing warning to user if she's using DOS shell
      (which probably means DOS based GNU Make) on Windows system.
      It should also work for most features, but not recommended
      and there is little reason to do this in production
      environment.

  * contrib/hbqt/Makefile
  * contrib/hbqt/generator/hbqtgen.prg
  + contrib/hbqt/filelist.mk
  - contrib/hbqt/Makefile_gen
    * Renamed Makefile to filelist.mk to stick
      with known short filenames and extensions.

  * INSTALL
    * Minor.
2009-08-22 20:04:52 +00:00
Viktor Szakats
3965b675de 2009-08-22 16:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/rules.mk
  * config/dyn.mk
    % Cleaned the way dynamic lib creation logic is activated.
      Now there is no slowdown on targets where dynamic lib
      isn't available (or implemented).
2009-08-22 14:55:34 +00:00
Viktor Szakats
3d666bbd72 2009-08-22 16:26 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    % Deleted rule to delete hbpp_dyn object. No longer necessary 
      after patching hbpp.c. Just left there in prev commit to 
      have this line fixed.
    ! Deleted comment which became irrelevant after prev commit, 
      but forgot to remove it.
2009-08-22 14:27:09 +00:00
Viktor Szakats
43b33b5814 2009-08-22 16:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Fixed case when OBJ_DYN_POSTFIX was empty (all platforms
      except win/wce non-gcc family) and hbpp object was deleted
      twice, the second one resulting in error message.
    ! Deleted ineffective hack to add an empty line after pptable
      rules. I turned out the behavior I was trying to fix with this
      is totally random.

  * source/pp/hbpp.c
    ! Disabled content when built in HB_DYNLIB. This file should
      never go into a the Harbour dynamic library.
      Of course we already have the object deletion trick, but,
      at least on bcc it doesn't work reliably. After chasing this
      for half a day it turns out bcc build with mingw32-make 3.81
      has some sort of random behvior and sometimes hbpp_dyn.obj is
      deleted, sometimes not. Also 'rm hbpp.obj' either appears at
      the end of the make process, or not, I don't know if there is
      any realtion between the two. Maybe we're exploiting some
      make bugs with bcc rules, I don't know.
      So this patch will make bcc dynamic lib creation reliable.

  * config/global.mk
    * Comments.
2009-08-22 14:24:26 +00:00
Viktor Szakats
8799d81c82 2009-08-22 15:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/rules.mk
    ! Deleted dynlib related rule causing problems in some situations 
      at the same time doesn't seem to be needed at all.
2009-08-22 13:07:09 +00:00
Viktor Szakats
12969458bf 2009-08-22 14:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Display MAKESHELL value if set.

  * config/globsh.mk
    * Updated OS/2 GNU tools information: os2-cp.exe requires 
      *forward* slashes in filenames.
2009-08-22 12:52:00 +00:00
Viktor Szakats
5dfea21af8 2009-08-22 14:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    % Minor opt.

  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + Some 'hbmk' texts changed to 'hbmk2'.

  * contrib/rddads/adsfunc.c
    ! Fixed ADSGETLASTERROR() to return empty string instead of garbage
      when there was no error.
      Borrowed from xhb by Augusto Infante.
      Fixes applied: Using manifest constant instead of 0, using NULL
      instead of empty string literal.
2009-08-22 12:42:43 +00:00
Viktor Szakats
657f7fbef1 2009-08-22 13:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/dynlib/mt/Makefile
  * source/dynlib/Makefile
  * source/Makefile
    - Deleted extra dos platform guards. It's not needed. I hope
      it won't cause bad side effects.

  * config/common/watcom.mk
    ! Fixed to not use $? in LD_RULE. Typo of yesterday.
    ! Restored remaining $? to $^. It exploited some bad side effects
      in hbpp lib.
2009-08-22 11:25:17 +00:00
Viktor Szakats
34da77bacb typos in changelog 2009-08-22 10:05:29 +00:00
Viktor Szakats
b312c39d31 2009-08-22 11:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/globsh.mk
    + Switched os2 $(CP) command to use config/os2-cp.exe.

  * config/instsh.mk
    + Changed os2 install rule to the one used for dos shells except dirsep type.
      Based on real OS/2 tests made by Maurilio Longo. Thank you very much.
      This also means CMDPREF.
    ! Typos in my comment.

  * source/pp/Makefile
    ! Fixed to also check presence of hbpp object before trying to
      delete it. It may not be there in some rare chain of (failure) events.
2009-08-22 10:02:11 +00:00
Viktor Szakats
8482f33b9d 2009-08-22 11:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    ! Typo in HB_HOST_CPU detection for os2 and dos.
2009-08-22 09:40:00 +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
cb878dc42f 2009-08-22 10:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/os2/gcc.mk
    + Added .dll creation for os2/gcc.
      As the initial attempt I'm using the mingw method to pass object 
      list to gcc. Please test.

  * config/globsh.mk
    * Changed $(MD) in os2 to use os2-mkdir. (this macro isn't 
      used yet)
    + Added os2-cp slash requirement information. Although that was 
      a different build than the one uploaded.
    ! Minor typo in comment.
2009-08-22 08:46:50 +00:00
Viktor Szakats
52e272f02e 2009-08-22 10:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/rules.mk
  * config/dyn.mk
    ! Fixed to handle dynamic lib creation gracefully for targets
      where this isn't supported. Now a message will be shown.

  + config/os2-cp.exe
  * config/readme.txt
    + Added os2 cp tool. For testing.

  * source/pp/Makefile
  * source/dynlib/mt/Makefile
  * source/dynlib/Makefile
    * Minor rename.
2009-08-22 08:23:05 +00:00
Viktor Szakats
826d9358ea 2009-08-22 10:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/mingwarm.mk
  * config/win/mingw.mk
  * config/win/cygwin.mk
    ! Don't quote filenames in DY_RULE commands to make them work
      on all shells (sh in particular). This means that we lost
      some level of 'space in filename' support, but it's acceptable
      since it's unlikely to have space in internal paths anyway.
2009-08-22 08:01:00 +00:00
Pritpal Bedi
fed8e2e70e 2009-08-22 00:26 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/gtwvg/wvgsink.c
    ! Implemented hbwin/axcore.c:Invoke() function in gtwvg/winsink.c.
    - hb_itemPushList()
2009-08-22 07:28:26 +00:00
Viktor Szakats
a114b04217 2009-08-22 09:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/bsd/gcc.mk
  * config/hpux/gcc.mk
  * config/darwin/gcc.mk
  * config/linux/gcc.mk
  * config/os2/gcc.mk
  * config/sunos/gcc.mk
    + Added HB_CCACHE, HB_CCPREFIX, HB_CCPOSTFIX to all places where
      it was missing from.
         bsd/hpux/os2/sunos - pre/post to cc/ld, pre to ar
         darwin - ccache to ld (I'm not sure about this one)
         linux - post to cc/ld
    ; Not it's about consistent and in sync with hbmk2.
      Please review me.

  * utils/hbmk2/hbmk2.prg
    + Added support for HB_CCPREFIX/HB_CCPOSTFIX for os2/gcc targets.
2009-08-22 07:06:42 +00:00
Viktor Szakats
986e46f7eb 2009-08-22 08:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/axcore.c
    + My previous change reapplied after it has been overwritten/lost
      by previous commit.
      Pritpal, pls verify your workflow, this was a very small change
      but it's just out of luck I noticed it has been undone and it
      could be something important in another case. Please 'svn update'
      before committing and edit files directly in your sandbox. I'm
      writing this because such lost committed modification happened 
      already a few times in the past. Thank you.

  * config/global.mk
    + Including optional config/conf.mk file.
      Such file may be created by configure session.
2009-08-22 06:15:07 +00:00
Pritpal Bedi
669e61e780 2009-08-21 19:19 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/gtwvg/wvgax.prg
  * contrib/gtwvg/wvgsink.c
    ! Code parts used fron axcore.c, deleted from these files.

  * contrib/hbwin/axcore.c
    + __AXDOVERB(), a very important function for in-process active-x controls
2009-08-22 02:29:05 +00:00
Viktor Szakats
64e24f559d 2009-08-22 03:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/common/watcom.mk
  * config/win/bcc.mk
    % Yet another experiment, maybe it won't have any bad side
      effects: For compilers where $(AR) command supports differential
               command (bcc and watcom), we're only passing the list
               of changed objects instead of all of them. Should be
               much more efficient for incremental builds.

  * config/globsh.mk
  * config/instsh.mk
    ! Reset nt shell dirbase and clean rules to previous state
      (using 'if [not] exist' instead of $(wildcard)).
      New solution had several side effects. Some of them easy
      understandable, some others outright mysterious, so more
      research will be needed here. Some experiences:
      - the whole rule is evaluated before starting to execute the resulting commands.
      - multiple rules with the same target are merged before evaluating them
      - $(wildcard) is tricky with dirs, especially ones with spaces
      - if we use conditional lines ($if()) and all lines are ruled out,
      -     the rule will become empty, igniting a confusing GNU Make message.
      - strange behavior when using 'CLEAN INSTALL'
      - $(RM) stayed at default value in one /source/pp/Makefile rule.
    ; TOFIX: dos/os2 rules are still slightly wrong because of similar problems,
             and there 'if [not] exist' isn't a working option either, so
             we will need to think about something, like splitting clean
             rules to two levels internally, or more make function tricks.

  * config/readme.txt
  + config/os2-make.exe
  * INSTALL
    + Added os2 GNU Make binary (3.81 static build). Just to be in
      sync with other non-*nix platforms. Maybe it will be removed or
      renamed.

  * config/globsh.mk
    + Minor wording change.

  * contrib/hbwin/axcore.c
    * Very minor formatting.

  - make_gnu_xmingw.sh
  - make_gnu_xmingwce.sh
    % Deleted two cross-build starter scripts. Their functionality
      has been largely moved into our GNU Make system.
      Please use these commands for equivalent functionality:
         [g]make HB_ARCHITECTURE=[win|wce]
    ; NOTE: Comments are still welcome regarding experiences
            especially from original authors of these scripts.
            Maybe I missed something. $(TARGET) var support.
            Please comment.
2009-08-22 01:13:51 +00:00
Viktor Szakats
49bbccd676 2009-08-21 22:01 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/Makefile
  * config/lib.mk
    + Formatting.
2009-08-21 20:01:30 +00:00
Viktor Szakats
88259ac547 2009-08-21 21:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/linux/gcc.mk
    + Added experimental dynamic lib creation.
    ; Please review this. If okay we can probably move this logic
      to all other *nix platforms and compilers.
      Maybe even os2/gcc.
2009-08-21 19:44:47 +00:00
Viktor Szakats
2f918763a2 2009-08-21 21:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/darwin/gcc.mk
    + Added experimental dynamic lib creation.
    ; TODO: Parameterize internal versioning and name.
    ; TODO: Add links (although this may better be done in
            postinst state most probably). Opinions?

  * source/Makefile
    + Adjusted dynamic lib name for *nix systems.

  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/icc.mk
  * config/win/cygwin.mk
  * config/win/msvc.mk
    ! Deleted $(ECHOQUOTE) var (typo).
2009-08-21 19:33:31 +00:00
Viktor Szakats
2a8789652e 2009-08-21 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/maindllh.c
  * source/vm/Makefile
    + Added support for os2 .dll. Please review.

  * config/os2/watcom.mk
    + Added os2 .dll generation for watcom.
      Now it generates OK.

  * source/Makefile
  * config/lib.mk
    + Added support for os2 and some level of *nix support.

  * INSTALL
    * Minor update to a few option description.

  * utils/hbmk2/hbmk2.prg
    + Added preliminary/experimental/untested OS/2 -shared (.dll)
      support for watcom targets.
2009-08-21 19:00:06 +00:00
Viktor Szakats
d598ec1b44 2009-08-21 20:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/globsh.mk
    + Extended NOTE about max cmdline lenght on nt shells.

  * ChangeLog
    + Added solution to 'move' problem on nt (and other) shells.
2009-08-21 18:05:43 +00:00
Viktor Szakats
68ebf06051 2009-08-21 19:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/dynlib/mt/Makefile
   * source/dynlib/Makefile
     + Added 'install' logic for dynamic lib implibs.

   * config/global.mk
     + Added useful GNU Make link.
     ! Added HB_HOST_CPU "detection" for os2 and dos to avoid
       situation where cross-build is detected due to different
       to HB_CPU value. (HB_CPU autodetection for os2 dos was
       added yesterday). It's quite theoretical, as os2 dos
       has CPU type set to constant 'x86'.
     + Added IMP_DIR value. This hold where to store implibs
       for dynamic libs. Empty if platform don't need implibs
       (huge relief BTW). For *nix this value is set empty, for
       non-*nix it's set to LIB_DIR.
     + Added initialization for DYN_PREF (to empty).

   * config/dyn.mk
     + Added handling of IMP_DIR, IMP_FILE.
     ! Dyn lib build rule guarded with HB_BUILD_DLL and DY_RULE
       checks.

   * config/globsh.mk
     + Added dirbase and clean rules for implibs.
     ! Fixed using OS version of dirs in $(wildcard) for nt
       clean rules for OBJ_DIR and PKG_DIR.

   * config/wce/mingwarm.mk
   * config/wce/poccarm.mk
   * config/wce/msvcarm.mk
   * config/win/xcc.mk
   * config/win/mingw.mk
   * config/win/pocc.mk
   * config/win/bcc.mk
   * config/win/watcom.mk
   * config/win/icc.mk
   * config/win/cygwin.mk
   * config/win/msvc.mk
     + Dynamic lib rules extended to generate implib in IMP_DIR.
       This goes smoothly with all compiler except bcc, which requires
       a copy and a delete to move the implib to lib dir. 'move'
       doesn't work (says 'command not found' or equivalent and
       requires '$(COMSPEC) /C' with GNU Make + nt shell), so I
       didn't use it finally. Anyhow bcc implib is small.

  * config/globsh.mk
    - Deleted $(MV) variable with move command.
      (problematic under nt shells)

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

   ; NOTE: dynamic library handling seems to be about feature complete.
2009-08-21 17:55:52 +00:00
Przemyslaw Czerpak
d27e95d5d8 2009-08-21 19:07 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbwin/axcore.c
    * do not pass event number as 1-st parameter to user handlers
      taken from array indexed by event numbers - it's not necessary
      to repeat it.
    * updated RT error handlers

  * harbour/config/global.mk
    * extended MS-DOS detection
2009-08-21 17:08:06 +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
Viktor Szakats
9e5ab79cf5 2009-08-21 17:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Including global.mk at the top to make sure OBJ_DYN_PREFIX is
      initialized.
2009-08-21 15:10:13 +00:00
Viktor Szakats
e7951e0839 2009-08-21 16:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Deleted double clean rules for hbpp executable + .tds file.
      Since BIN_FILE is set, it will be done in central clean rules 
      anyway.
      This solves the recently shown up error message on 'clean'
      when using certain shells (nt). It was cleaned twice and for 
      some reason this created a problem after switching central 
      rules to use $(wildcard) instead of 'if exist'. Probably
      rules are merged, then evaluated at once, thus leaving 
      two delete commands, since when the file existed when 
      this evaluation took place.
2009-08-21 14:53:34 +00:00
Viktor Szakats
0a002a156d 2009-08-21 16:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/maindllh.c
  * source/vm/maindllp.c
    ! Fixed DllMain() declaration for msvcarm targets.
      Thanks Przemek for the hint.
2009-08-21 14:41:58 +00:00
Viktor Szakats
efcecedb3e 2009-08-21 16:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/fm.c
    ! Fixed to suppress fcntl header in dlmalloc for msvcarm targets.
2009-08-21 14:16:41 +00:00
Viktor Szakats
e68440e238 2009-08-21 15:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/globsh.mk
    ! Restored backslashes for GNU rm command for os2 shell.
      It turns out rm needs backslashes in filenames (on contrary 
      to mkdir which needs forward slashes.) Not terribly consistent.
      BTW they came from same packages.
      Thanks to Maurilio Longo for the information.

  * source/pp/Makefile
    ! Readded empty line after pptable rule.
      I couldn't find the reason why this was needed, anyhow
      without it the dynamic hbpp obj deletion didn't work.
      Which GNU Make syntax rules am I forgetting? Any hints?

    ; TOFIX: Another issue has shown its ugly head, here clean
             in hbpp shows error message from 'del' command on
             nt shell deleting the .exe (and .tds), despite the
             file is there and we're doing wildcard check too.
             Ideas are welcome. This worked a few days ago.
2009-08-21 14:08:03 +00:00
Viktor Szakats
8c65f4fab8 2009-08-21 15:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Readded empty line after pptable rule.
      I couldn't find the reason why this was needed, anyhow
      without it the dynamic hbpp obj deletion didn't work.
      Which GNU Make syntax rules am I forgetting? Any hints?

    ; TOFIX: Another issue has shown its ugly head, here clean
             in hbpp shows error message from 'del' command on
             nt shell deleting the .exe (and .tds), despite the
             file is there and we're doing wildcard check too. 
             Ideas are welcome. This worked a few days ago.
2009-08-21 14:03:02 +00:00
Viktor Szakats
032b7c445d 2009-08-21 15:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/instsh.mk
    % Fixed to use $(CP) instead of 'copy' in nt install rule.
2009-08-21 13:31:08 +00:00
Viktor Szakats
0227b270af 2009-08-21 15:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/globsh.mk
    % Replaced 'if not exist' nt and os2 shell cmds with $(wildcard).
    % Using plain (non OS converted) variables in $(wildcard) calls
      in dos clean rules.
    % Deleted 'if not exist' os2 shell cmds from dirbase rules.
      Since we're using GNU tools this isn't necessary, errors will
      not be shown if the dir already exists. This makes these rules
      similar to dos ones.
    ! Fixed to not use OS converted parameters with $(RDP) calls with
      os2 shell. I can't test, but last information from OS/2 users
      was that OS/2 GNU Tools expect *nix style path seps.
    * Synced os2 shell clean rules with DOS ones, except using
      *nix style parameters in GNU cmds.

  * config/instsh.mk
    % Replaced 'if not exist' nt and os2 shell cmds with $(wildcard).
      In nt I've added a trick to make it work with dirs containing
      spaces.

  ; After these changes no more 'if [not] exist' shell specific
    commands are used in Harbour GNU Make system.
  ; TOFIX: Except sh shell. Probably the rules there can be synced now 
           with other shells and special bash logic dropped.
2009-08-21 13:28:26 +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
bfb4a398d8 2009-08-21 14:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/dynlib/Makefile
  * source/Makefile
    + Moved dynamic lib generation initialization logic to source 
      root Makefile. This ensures that all subdirs are built before
      creating the dynamic libraries.

  * config/globsh.mk
    + Added rules to delete .def files.
2009-08-21 12:15:19 +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
Viktor Szakats
f9143cfa55 2009-08-21 13:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/os2/gcc.mk
    % Using $(wildcard) instead of echo trick to delete target lib.
      Please test. I don't have access to OS/2.
    ; 'if exist' and 'if not exist' are now only used from 
      globsh.mk nt and os2 shell sections.
    ; TOFIX: $(COMSPEC) still in OS/2 section. Test results would be 
             welcome without it.
2009-08-21 11:47:05 +00:00
Viktor Szakats
ac72071986 2009-08-21 13:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/win/bcc.mk
  * config/win/watcom.mk
    + Added new .dll build rules.
    ; TODO: Solve handling of generated implib.
    ; TODO: Add dynlib generation logic for *nix targets.
    ; TODO: Delete postinst script if the new method turns out to 
            work alright.

  * config/win/cygwin.mk
  * config/win/icc.mk
  * config/win/xcc.mk
  * config/win/pocc.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
    + Implemented .dll creation for rest of win/wce compilers:
        icc uses the same logic as msvc.
        pocc/poccarm/msvcarm/xcc uses the same logic as msvc
          except /subsystem option.
        mingwarm/cygwin uses the same logic as mingw.
    ; I didn't test wce ones yet.

  * config/win/msvc.mk
    % Using $(wildcard) instead of echo trick to delete __lib__.tmp.

  * config/win/mingw.mk
  * config/win/msvc.mk
    * Moved HB_USER_DFLAGS in cmdline.

  * config/win/watcom.mk
  * config/dos/watcom.mk
  * config/linux/watcom.mk
  * config/os2/watcom.mk
    + Added 'OP quiet' option to wlink command.

  * source/pp/Makefile
    ! Using OBJ_DYN_POSTFIX instead of hardwired value.

  * source/vm/mainwin.c
  * source/vm/mainstd.c
    ! Typo in prev commit regarding watcom/dynlib hack.

  * source/rtl/gtwvt/gtwvt.c
    ! Fix for msvcarm build, where WS_OVERLAPPEDWINDOW macro
      is reported missing.
2009-08-21 11:39:05 +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
4cd1edfa66 2009-08-21 12:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/win/mingw.mk
  * config/win/msvc.mk
  * config/rules.mk
    ! BIN_DIR -> DYN_DIR
2009-08-21 10:48:05 +00:00
Viktor Szakats
0bd133a771 2009-08-21 12:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/Makefile
    ! Fixed typo in prev commit.

  * config/global.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/win/icc.mk
  * config/win/msvc.mk
  * config/dyn.mk
  * config/rules.mk
    + Added OBJ_DYN_POSTFIX variable instead of hardcoded '_dyn'.

  * config/global.mk
  * config/dyn.mk
    + Added DYN_DIR. Set to LIB_DIR for *nix, BIN_DIR for non-*nix.

  * config/globsh.mk
    + Added dynamic lib dir/file related dir creation and cleanup rules.

  * config/win/mingw.mk
  * config/wce/mingwarm.mk
    + Added space between -o and output filename.
      (this should probably be made default)

  * config/win/mingw.mk
    + Added .dll build rules.

  * config/win/bcc.mk
    % Using $(wildcard) instead of echo trick to delete __lib__.tmp.
2009-08-21 10:46:11 +00:00
Viktor Szakats
bd8d9d6158 2009-08-21 11:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/dynlib/Makefile
  * source/Makefile
  * config/rules.mk
  * config/dyn.mk
    + Respect HB_BUILD_DLL=no setting.
    * Don't try to create .dll if there were no compiler local rules set.
2009-08-21 09:30:24 +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
Pritpal Bedi
4ee8dbcbf6 2009-08-20 21:21 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbpbrowse.prg
    ! More synchronized horizontal navigation with respect to frozen columns - mouse clicks.
    ! Focus maintained on main grid view if mouse is clicked on other parts 
      of the browser and scrollbars.

      /* Your input about artifacts is appreciated */
2009-08-21 04:25:13 +00:00
Pritpal Bedi
e80799c842 2009-08-20 18:55 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbpbrowse.prg
    ! Synchronized horizontal navigation with respect to frozen columns.
2009-08-21 01:56:35 +00:00
Pritpal Bedi
28e828a40c 2009-08-20 18:08 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbpbrowse.prg
    + Implemented ::setLeftFrozen( aColumns ) and ::setRightFrozen( aColumns )

  * contrib/hbxbp/tests/demoxbp.prg
    + Demonstrated the frozen columns feature.

  ; TODO: Finetune horizontal navigation with respect to frozen columns.
2009-08-21 01:11:38 +00:00