Commit Graph

6304 Commits

Author SHA1 Message Date
Viktor Szakats
bd2cb53a7b 2009-09-05 02:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added experimental support for @.clp files.
      A bit hacky and could be incomplete. I'm not a .clp file user,
      so pls test and extend.

  * INSTALL
  * contrib/gtalleg/Makefile
  + contrib/gtalleg/gtallegs
  + contrib/gtalleg/gtallegs/Makefile
  * contrib/gtalleg/gtalleg.hbc
  + contrib/gtalleg/gtallegs.hbc
    + Added static flavour of gtalleg. This was an option until now,
      now both versions are automatically built to be in sync with
      rest of contribs. This also means that HB_ALLEGRO_STATIC
      setting is no longer needed.
    + Added separate static/dynamic .hbc files accordingly.

  * contrib/hbqt/Makefile
  + contrib/hbqt/hbqts
  + contrib/hbqt/hbqts/Makefile
  * contrib/hbqt/hbqt.hbc
  + contrib/hbqt/hbqts.hbc
    + HB_QT_STATIC=yes setting will now cause building of static
      flavor hbqt lib *above* the default one which links against
      dynamic qt libs. Until now this setting caused that the
      static version was built *instead* of the dynamic one.
      NOTE: Using this setting will cause a significantly longer
            build time on non-*nix systems.
    + Added separate static/dynamic .hbc files accordingly.

  * config/global.mk
    ! Fixed to set CXX predefined variable to empty to make
      defaulting logic in rules.mk work as expected.
      This fixes recent hbqt build failure with MSVC.

  * config/dos/watcom.mk
    + Added watt lib support. (untested, please test)

  * source/rtl/Makefile
  * source/rtl/hbsocket.c
  * config/detect.mk
  * config/dos/djgpp.mk
    * Renamed HB_*_TCP to HB_*_WATT.
    + Added HB_INC_WATT to INSTALL. (couldn't make it work locally,
      so it's not very precise yet)

  * config/detect.mk
    * Minor: lowercased component name for watt lib.

  * config/dos/djgpp.mk
    * Minor: Using LIBPATHS to store watt lib path instead of LDLIBS.

  * config/install.mk
    % Deleted no longer used/needed HB_INSTALL_DEF variable.
2009-09-05 00:23:51 +00:00
Przemyslaw Czerpak
9a9ac3b959 2009-09-04 15:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/doc/cmpopt.txt
    * added information about ( "<alias>" )-> to <alias>-> compile time
      optimization

  * harbour/source/rtl/valtostr.c
    ! fixed GPF if hb_valToStr() is called without any parameters.
      In such case RTE is generated.

  * harbour/source/rtl/transfrm.c
    ! fixed GPF if transform() is called without any parameters, i.e.:
         ? &("transform")()

  * harbour/source/vm/itemapi.c
    ! return "U" if hb_itemTypeStr() is called with NULL parameter
      It fixed GPF when valtype() is called without any parameters, i.e.:
         ? &("valtype")()

      NOTE: Compiler check number of parameters in some functions and
            refuse to compile the code when it's wrong but such validation
            does not work in macrocompiler or when function is called
            indirectly like in above examples or using function symbols
            so always write such functions to work with wrong number of
            parameters.
2009-09-04 13:13:07 +00:00
Przemyslaw Czerpak
4b3b573aee 2009-09-03 14:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbmain.c
    ! added missing pFunc initialization in symbol structure.
      It was causing GPF when C code was attached to .prg file using
      HB_INLINE() {} or #pragma BEGIN/ENDDUMP with HB_FUNC_STATIC()
      inside. Many thanks to Andi for information about the problem.
2009-09-03 12:02:22 +00:00
Przemyslaw Czerpak
0a8980a100 2009-09-02 19:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/common/hbver.c
    ! added additional hack for conditional code used for Windows detection
      to work with VC98.
      Viktor please verify it but this condition:
         ( !defined( _MSC_VER ) || _MSC_VER >= 1400 )
      was not enough.
2009-09-02 17:26:55 +00:00
Przemyslaw Czerpak
1e6d651849 2009-09-02 16:52 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/runner.c
    ! fixed possible GPF after loading .hrb module - clear function
      address if dynamic symbol does not exist

  * harbour/source/compiler/hbmain.c
    ! fixed typo in conditional compilation in last commit
2009-09-02 14:52:49 +00:00
Przemyslaw Czerpak
388dcfbd18 2009-09-02 14:08 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/genhrb.c
    + added support for compiling multiple .prg modules into single
      compilation unit with repeated static or init/exit functions
      with the same name.
      Now Harbour compiler compiling .prg code from different .prg modules
      included by @<name>.clp or by SET PROCEDURE TO ... / DO ... [ WITH ... ]
      works exactly like Clipper. It supports separated file wide definitions
      for each compiled .prg module when -n switch is used and allows to
      use static or init/exit functions/procedures with the same names but
      in different modules.
      It resolves incompatibility often reported by [x]Harbour users.
      Now it's not longer necessary to update existing Clipper code.
      @.clp files and SET PROCEDURE TO ... / DO ... [ WITH ... ] are
      fully functional like in Clipper.
      AFAIR it was the last unintentional incompatibility with Clipper.

      TODO: add support for multiple static functions with the same name
            in .HRB files - it's necessary to change used format so I'll
            probably to that with .HRL support. Now when -gh switch is used
            harbour and such functions exists then compiler generates:
               Error E0002  Redefinition of procedure or function ...
      TODO: modify hbmk2 to pass @<name>.clp files directly to Harbour
            compiler so it can compile them just like Clipper does and
            generate single output file: <name>.<ext>

  * harbour/config/instsh.mk
    * disabled install command echo
2009-09-02 12:08:30 +00:00
Przemyslaw Czerpak
217cc022ee 2009-09-02 02:51 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbmain.c
    % farther optimizations and simplifications

  * harbour/config/instsh.mk
    ! fixed detection of empty INSTALL_FILES and INSTALL_DIR
2009-09-02 00:52:01 +00:00
Przemyslaw Czerpak
d3476452ac 2009-09-01 21:08 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbinet.c
    * return logical value from hb_socketInit() function.
2009-09-01 19:08:45 +00:00
Przemyslaw Czerpak
dd756dc5cf 2009-09-01 21:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/lib.mk
  * harbour/config/bin.mk
  * harbour/config/header.mk
  * harbour/config/dyn.mk
  * harbour/config/doc.mk
  * harbour/config/instsh.mk
    ! rewritten install rules so now they work without any problem when
      more then one target .mk file is included, i.e. lib.mk and header.mk

  * harbour/source/pp/Makefile
  * harbour/source/dynlib/mt/Makefile
  * harbour/source/dynlib/Makefile
  * harbour/contrib/hbmysql/Makefile
  * harbour/contrib/hbct/Makefile
  * harbour/contrib/xhb/Makefile
  * harbour/contrib/hbodbc/Makefile
  * harbour/contrib/hbtpathy/Makefile
  * harbour/contrib/hbsqlit3/Makefile
  * harbour/contrib/hbmzip/Makefile
  * harbour/contrib/hbblat/Makefile
  * harbour/contrib/hbqt/Makefile
  * harbour/contrib/hbxbp/Makefile
  * harbour/contrib/xpp/Makefile
  * harbour/contrib/hbnf/Makefile
  * harbour/contrib/hbcurl/Makefile
  * harbour/contrib/gtqtc/Makefile
  * harbour/contrib/rddsql/sddmy/Makefile
  * harbour/contrib/rddsql/sddpg/Makefile
  * harbour/contrib/rddsql/sddfb/Makefile
  * harbour/contrib/rddsql/sddodbc/Makefile
  * harbour/contrib/hbhpdf/Makefile
  * harbour/contrib/rddado/Makefile
  * harbour/contrib/gtwvg/Makefile
  * harbour/contrib/hbpgsql/Makefile
  * harbour/contrib/hbclipsm/Makefile
  * harbour/contrib/rddads/Makefile
  * harbour/contrib/hbfimage/Makefile
  * harbour/contrib/hbgd/Makefile
  * harbour/contrib/hbtip/Makefile
  * harbour/contrib/hbwin/Makefile
  * harbour/contrib/hbvpdf/Makefile
  * harbour/contrib/hbbtree/Makefile
  * harbour/contrib/hbssl/Makefile
  * harbour/external/libhpdf/Makefile
    * removed not longer necessary workaround for overwritten by different
      targets INSTALL_RULE
      Possible TODO: clean up some other rules in config .mk files to remove
      hacks from pp and dynlib Makefile(s).

   Above modifications should fully resolve the problems with repeated
   install actions and also build problems with some more restrictive
   POSIX SHELLs.
2009-09-01 19:05:19 +00:00
Przemyslaw Czerpak
e9f9cbf958 2009-09-01 16:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/genhrb.c
    % removed FUNCALLS internal structures and functions.
      It simplifies compiler code, reduce memory usage and
      increase performance due to eliminating unnecessary
      structures which were update and scanned in previous.
      Now we have all necessary information in symbol table.

  * harbour/contrib/hbnetio/netiocli.c
    + added support for DNS addresses
2009-09-01 14:44:14 +00:00
Przemyslaw Czerpak
9c0e0b8969 2009-09-01 11:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbsocket.c
    ! added sock_init()/sock_exit() calls to DOS builds.
    ! use select_s() and close_s() instead of select() and close()
      in DOS builds.

  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbnetio/netiosrv.c
    ! initialize socket library automatically - it's necessary for some
      platforms.
2009-09-01 09:34:26 +00:00
Przemyslaw Czerpak
a596216b49 2009-08-31 22:09 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rdd/sdf1.c
  * harbour/source/rdd/delim1.c
  * harbour/source/rdd/dbf1.c
    ! fixed typo in recent modification
2009-08-31 20:09:46 +00:00
Przemyslaw Czerpak
bea08ca6d4 2009-08-31 16:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/net.c
    ! fixed DJGPP compilation when MAXGETHOSTNAME is not defined in
      header files
2009-08-31 14:21:45 +00:00
Przemyslaw Czerpak
77589e310c 2009-08-31 16:04 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/Makefile
    ! updated to work with new component detection syntax
2009-08-31 14:04:52 +00:00
Przemyslaw Czerpak
3443f401a2 2009-08-31 15:46 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/detect.mk
  * harbour/source/rtl/Makefile
  * harbour/source/rtl/hbsocket.c
    + added support for TCPIP in DOS builds using WATTCP/WATT-32 library.
      The latest release of Watt-32 is available at
      http://www.bgnett.no/~giva/
2009-08-31 13:46:36 +00:00
Przemyslaw Czerpak
cdd4f7dbd7 2009-08-31 12:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rdd/dbf1.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/delim1.c
    * minor extension in default alias settings
2009-08-31 10:42:03 +00:00
Przemyslaw Czerpak
2918474e6f 2009-08-30 11:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbmain.c
    ! cleaned error messages to simulate Clipper behavior
2009-08-30 09:41:43 +00:00
Przemyslaw Czerpak
389141c531 2009-08-30 10:29 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/Makefile
  * harbour/source/main/Makefile
    ! hacked the order of linked library list to resolve problem with
      potential cross references between libraries on platforms which do
      not support library grouping

  * harbour/source/nortl/nortl.c
    ! added missing include hbmemory.ch

  * harbour/source/compiler/hbmain.c
    ! added protection against multiple init function freeing
2009-08-30 08:29:20 +00:00
Viktor Szakats
42cdc060c3 2009-08-29 19:05 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/hbpp.c
    + Added command to HB_DYNLIB guard.

  * source/pp/Makefile
    ! Deleted wildcard check before hbpp obj deletion. It's wrong
      because hbpp obj isn't there when the rule is validated, so
      the deletion would never take place. (For some reason it was
      still deleted on some platforms though - apparently not on
      OS/2 GNU Make.). Anyhow addition of $(wildcard) call at this
      spot was not critical anyway. See: 2009-08-22 11:59

  * utils/hbmk2/hbmk2.prg
    ! Fixed checking wrong dependencies when non-.prg extension was
      used for .prg source files in incremental mode.
2009-08-29 17:09:05 +00:00
Przemyslaw Czerpak
d0845b91f5 2009-08-29 13:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/source/compiler/hbmain.c
    ! fixed typo in -m parameter handling
    ! fixed old memory leak exploited by compile time error in code with
      static variables
2009-08-29 11:33:22 +00:00
Przemyslaw Czerpak
c46621db36 2009-08-29 12:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/hbdbginf.c
  * harbour/source/compiler/genhrb.c
  * harbour/source/compiler/gencobj.c
    - removed old "AutoOpen" code used for @<name>.clp, SET PROCEDURE TO ...
      and DO <func> [ WITH <args,...> ] statements
      It was neither Clipper compatible not working correctly in some cases.
    + added new code for multi .prg module compilation into single unit
      with support for multiple file wide declarations just like Cipper
      does doe @.clp files and SET PROCEDURE TO / DO ... [ WITH ... ]
    % cleaned redundant code used in harbour compiler to execute grammar
      parser with different conditions. Now it's much shorter and simpler
      and hb_compparse() is called only from one place.
    ! fixed possible multiple declarations in symbol table for ANNOUNCE
      function
    % rewritten C code generation to increase speed and make it independent
      from some internal compiler structures. Now it's shorter and faster
      but it strongly uses scope attributes in symbol table so they have
      to be properly set during compilation and new code for .c file
      generation should help in their validation.
    % few other optimizations and cleanups

      Now Harbour can compile code like:
         /*** t01.prg ***/
         static s_var := "main sVar"
         proc main()
            ? procname(), "->", sVar
            do t02
         return

         /*** t02.prg ***/
         static s_var := "t02 sVar"
         proc t02()
            ? procname(), "->", sVar
         return

      by simpe:
         harbour -n -w -es2 t01
      or using tst.clp:
         t01
         t02
      and:
         harbour -n -w -es2 @tst
      in both cases it works just like Clipper. Please note that in the
      second version generated file inherits (like in Clipper) name from
      .clp file and is called "tst.c". The .clp file name is also used
      as module handler signature.

      TODO: add support for multiple static functions with the same name
            but coming from different .prg modules compiled into single
            unit using @.clp files or SET PROCEDURE TO / DO ... [ WITH ... ]
            In above modifications I already implemented it partially but
            I haven't made one very important extension which strongly
            interacts with symbol table usage during compilation and can
            be source of really bad problems if I made sth wrong so I plan
            to finish when above changes will have been tested.
2009-08-29 10:43:31 +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
Przemyslaw Czerpak
dec2109f1b 2009-08-27 21:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/filebuf.c
    ! added missing static in declaration

  * harbour/source/rdd/dbffpt/dbffpt1.c
    ! fixed default memo extension in non workarea methods
2009-08-27 19:41:22 +00:00
Viktor Szakats
0416f85a76 2009-08-27 14:30 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  * source/rtl/gtgui/Makefile
  * source/rtl/gtwvt/Makefile
    % Simplified inclusion logic.
2009-08-27 12:30:27 +00:00
Viktor Szakats
6fd88596fc 2009-08-27 08:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/detfun.mk
  * config/detect.mk
    + Added positive platform/compiler filters.
    + Simplified internal platform/compiler filter syntax, now it's
      one unified list where compiler/platform can be mixed and
      negative filters can be passed by using '!' char prefix.
    ! In comment text.

  * source/rtl/gtsln/Makefile
    ! Fixed silly copy-paste mistake in recent autodetection changes.
      Thanks to Tamas Tevesz for spotting it.

  * source/rtl/gtsln/mousesln.c
    * Using macros instead of a constants.
      (2 -> STDERR_FILENO)
2009-08-27 06:28:18 +00:00
Viktor Szakats
f61ee664b2 2009-08-26 18:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/gtxwc/Makefile
  * source/rtl/gtcrs/Makefile
  * source/rtl/gtsln/Makefile
    + Changed to use HB_HAS_* values instead of doing autodetection
      locally.

  * source/rtl/gttrm/Makefile
    + Indenting.

  * config/global.mk
    + Added HB_LDFLAGS variable. Not yet used.
2009-08-26 16:55:12 +00:00
Viktor Szakats
5495d2978a 2009-08-26 18:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/gtcrs/Makefile
  * source/rtl/gttrm/Makefile
  * source/rtl/gtsln/Makefile
    * Using HB_HAS_GPM instead of old HB_GPM_MOUSE.

  * config/bin.mk
  * config/dyn.mk
  * config/bsd/libs.mk
  * config/darwin/libs.mk
  * config/hpux/libs.mk
  * config/dos/djgpp.mk
  * config/win/mingw.mk
  * config/linux/libs.mk
  * config/os2/gcc.mk
  * config/sunos/libs.mk
    * Extended the way it's decided whether to include
      rtl external lib dependencies or not. Now binary specific
      logic was moved to bin.mk, and dynamic lib logic was added
      to dyn.mk.
      The flag is called HB_LINKING_RTL (not empty means yes).
    + Updated syslib list assembly parts to use HB_HAS_*
      autodetection variables instead of trying to find it out
      by other means.

  * config/global.mk
    + Adding gtcrs, gtsln, gtxwc to std liblist if required
      components are available. This means that it's now again
      possible to select these as build-time default GTs.
    * Updated comment for setting plans.
2009-08-26 16:43:24 +00:00
Przemyslaw Czerpak
58db3ccf8a 2009-08-26 13:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/filebuf.c
    * reverted the alternative IO API look up order
    * small modification
2009-08-26 11:47:49 +00:00
Viktor Szakats
18bfd44b68 2009-08-26 11:18 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Documented HB_CCPATH, HB_CCPREFIX, HB_CCPOSTFIX config variables.

  * source/Makefile
  * config/lib.mk
    + Added gtxwc to Harbour dynamic libs on *nixes.

  * config/global.mk
    ! Always set HB_INC_INSTALL on sh shells to make postinst.sh
      happy.

  * config/linux/global.mk
  * config/linux/gcc.mk
  * config/linux/icc.mk
  * config/linux/sunpro.mk
    % Moved 'system' library name and path list forming logic to
      platform global.mk.
    ; TODO: Also for other platforms.

  * source/Makefile
    ! Fixed to use '-' separator between dynlib name and version
      on *nixes too, except on darwin, where it's a '.'.
2009-08-26 09:27:56 +00:00
Przemyslaw Czerpak
59f2cf152b 2009-08-26 11:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtwvt/gtwvt.c
    ! fixed runtime font modification
2009-08-26 09:16:48 +00:00
Przemyslaw Czerpak
9bbf25760e 2009-08-26 02:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/source/rtl/filebuf.c
    + added hb_fileExists() and hb_fileDelete() functions
    + added support for alternative file IO API used in RDD code which
      can be implemented by 3-rd party developers and registered using
      hb_fileRegister() function.

  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
    * use hb_fileExist() and hb_fileDelete() functions for files accessed
      by hb_file*() API
2009-08-26 00:34:58 +00:00
Viktor Szakats
c257e841d5 2009-08-25 18:25 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Added SVN revision detection and display in log header.
      Will kick in only if svn is installed. For non-live SVN
      sandboxes (exported/nightly/other dl) it will display
      'exported'. It will also show if there was any local
      modifications done by appending an 'M' to revno.
    * TOFIX -> NOTE

  * source/Makefile
    % Minor to recent.
2009-08-25 16:26:15 +00:00
Viktor Szakats
fe19e51d63 2009-08-25 17:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Added dos/djgpp autodetection for *nix platforms.

  * contrib/hbfbird/Makefile
    + Extended autodetection and feedback. Experimenting.

  * config/globsh.mk
    + Added web links to DJGPP FAQ instead of binary FAQ package.

  * contrib/hbqt/Makefile
  * contrib/hbfbird/Makefile
  * contrib/gtqtc/Makefile
  * source/Makefile
  * config/global.mk
    * HB_OS_UNIX GNU Make var renamed to HB_PLATFORM_UNIX.
      Content is now non-empty or empty (was yes or no).

  * config/sunos/sunpro.mk
    + Changes made to config/linux/sunpro.mk applied here also.
2009-08-25 15:34:21 +00:00
Przemyslaw Czerpak
b6b631464c 2009-08-25 16:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/linux/sunpro.mk
    ! fixed dynamic library creation - @<filename> is not supported by
      SunPRO C compiler, because it's ported only to POSIX environments
      then we can simply pass file list as shell arguments

  * harbour/include/hbrdddbf.h
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
    * cleaned memo block size decoding.

  * harbour/include/hbvmpub.h
    + added new internal macro HB_ITEM_PUT_LONGRAW()
  * harbour/source/vm/hvm.c
  * harbour/source/vm/itemapi.c
    * use HB_ITEM_PUT_LONGRAW()
2009-08-25 14:49:44 +00:00
Przemyslaw Czerpak
06b985372b 2009-08-25 12:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
  * harbour/source/common/expropt2.c
    * cleaned casting in date and timestamp math operations to use exactly
      the same conversions in all places in compiled and HVM
2009-08-25 10:49:57 +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
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
abd6eb6d59 2009-08-25 01:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbzlib.h
  * harbour/include/hbregex.h
  * harbour/source/rtl/hbsocket.c
  * harbour/config/win/xcc.mk
  * harbour/source/Makefile
  * harbour/contrib/rddsql/sddmy/mysqldd.c
  * harbour/contrib/rddsql/sddpg/pgsqldd.c
  * harbour/contrib/rddsql/sddfb/fbirddd.c
  * harbour/contrib/rddsql/sddodbc/odbcdd.c
  * harbour/contrib/hbwin/hbwinole.h
    ! fixed XCC builds

  * harbour/source/rtl/sha1.c
    * added ugly hack as workaround for bugs in XCC preprocessor

  * harbour/config/win/bcc.mk
    ! fixed BCC DLL building in POSIX shells
2009-08-24 23:56:00 +00:00
Przemyslaw Czerpak
5a6a65ef2c 2009-08-24 14:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbmacro.h
  * harbour/source/macro/macro.yyc
  * harbour/source/macro/macro.y
    * hb_macroIdentNew() made public

  * harbour/include/hbexprb.c
    ! use hb_macroIdentNew() instead of hb_compIdentifierNew()
      in code compiled for macrocompiler
2009-08-24 12:50:42 +00:00
Przemyslaw Czerpak
3424960e82 2009-08-24 13:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexprb.c
    * minor modification

  * harbour/source/common/expropt2.c
    + added compile time optimization for expression like ("alias")->var
      and ("alias")->(<exp>)
2009-08-24 11:35:57 +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
b14c719757 2009-08-23 17:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* doc/gmake.txt
  * doc/man/hbmk.1
  * doc/whatsnew.txt
  * external/sqlite3/Makefile
  * external/libhpdf/Makefile
  * include/hbapi.h
  * include/hbver.ch
  * utils/hbmk2/hbmk2.prg
  * contrib/hbhpdf/Makefile
  * source/vm/cmdarg.c
  * source/main/harbour.c
  * source/rtl/version.c
  * config/global.mk
  * config/dir.mk
  * config/common/watcom.mk
  * config/rules.mk
  * examples/superlib/superlib.hbc
  * examples/superlib/superlib.hbp
  * examples/hbmsql/hbmsql.hbc
  * examples/hbmsql/hbmsql.hbp
  * examples/hbsqlit2/hbsqlit2.hbp
  * examples/hbsqlit2/hbsqlit2.hbc
  * examples/gfspell/gfspell.hbp
  * examples/gfspell/gfspell.hbc
  * examples/hbapollo/hbapollo.hbp
  * examples/hbapollo/hbapollo.hbc
    * HB_ARCH_AUTO -> HB_PLAT_AUTO
    * HB_HOST_ARCH -> HB_HOST_PLAT
    * 'architecture' -> 'platform' in text.
    * HB_VERSION_BUILD_ARCH -> HB_VERSION_BUILD_PLAT
      (INCOMPATIBLE, if you happen to use this from previous dev/beta version)
    * hb_verHB_ARCH() -> hb_verHB_PLAT()
    * ${hb_arch} -> ${hb_plat}

  * INSTALL
    * Minor update.
2009-08-23 15:06:11 +00:00
Viktor Szakats
4b3d269dd9 2009-08-23 14:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/itemapi.c
    ! Added casts to avoid MSVC -W4 warnings. All of them was related 
      to casting Harbour numeric value number of digits/decimals 
      coming as an 'int' but stored as an USHORT in HB_ITEM.
2009-08-23 12:17:58 +00:00
Viktor Szakats
f1cc34069a 2009-08-23 13:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/hbpcre/Makefile
  * source/hbzlib/Makefile
    + Added 'HB_BUILD_WARN := no' which causes that these foreign 
      sources will be compiled using default compiler warning level.
      Should avoid a few MSVC warnings.
2009-08-23 11:41:26 +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
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
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