Commit Graph

41 Commits

Author SHA1 Message Date
Viktor Szakats
073fd02030 2009-07-17 13:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-func.sh
    - Deleted reference to hbfm lib.

  * source/pp/Makefile
    * Minor formatting.
2009-07-17 11:36:32 +00:00
Przemyslaw Czerpak
a253517ff2 2009-07-17 13:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/Makefile
    * removed old  HB_PP_RULES used for precomputed pptables
    * added protection against setting possible actions executed without
      HB_ARCHITECTURE and HB_COMPILER
2009-07-17 11:00:37 +00:00
Przemyslaw Czerpak
7b9e94a15c 2009-07-17 12:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/Makefile
    ! set EXE_FILE - it's workaround to force bin/<arch>/<cmp> directory
      creation in current make files and then cleaning it if possible

  * harbour/config/rules.cf
    * removed old hardcoded clean rules which deleted files not created
      by build process

  * harbour/config/instsh.cf
    * pacified install command echo

  * harbour/config/globsh.cf
    ! fixed new sh clean rules: [ ! -f $(LIB_DIR)/* ] causes syntax
      error when more then one file exists in $(LIB_DIR) directory
2009-07-17 10:15:40 +00:00
Viktor Szakats
5cb93fcc29 2009-07-17 12:05 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Fixed to delete hbpp.tds.

  * config/globsh.cf
    + Attempt to fix nt shell clean rules. Please test.
    ! Fixed to create bin dir even when lib targets are being
      created. This hack is needed to support existing hack
      inside source/pp/Makefile. If there is any possibility
      to solve current hbpp lib+bin rules in some cleaner ways
      IMO we should do it, but so far I couldn't figure out
      how current method works.
2009-07-17 10:06:27 +00:00
Przemyslaw Czerpak
d9f771d119 2009-07-16 19:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
- harbour/source/nulrtl
  - harbour/source/nulrtl/nulrtl.c
  - harbour/source/nulrtl/Makefile
  + harbour/source/nortl
  + harbour/source/nortl/nortl.c
  + harbour/source/nortl/Makefile
  * harbour/source/pp/Makefile
  * harbour/source/main/Makefile
  * harbour/source/Makefile
  * harbour/harbour-win-spec
  * harbour/harbour-wce-spec
  * harbour/harbour.spec
  * harbour/examples/pp/pp.hbp
    * renamed hbnulrtl library to hbnortl to eliminate 8.3 name conflicts
      in DJGPP builds
2009-07-16 17:35:25 +00:00
Viktor Szakats
fb63a2d9cc 2009-07-16 16:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
  * config/rules.cf
  * config/global.cf
    + Added new internal variable HB_HOST_BIN_DIR to avoid touching
      original HB_BIN_COMPILE and in turn mess up __PLATFORM__ macro
      definitions in recursive runs to GNU Make.
2009-07-16 14:38:30 +00:00
Przemyslaw Czerpak
e4cfb37946 2009-07-15 20:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
    ! fixed RPM building after recent modification in Makefiles

  * harbour/harbour-win-spec
  * harbour/harbour-wce-spec
    * updated for new binary files directory and HB_BIN_COMPILE meaning

  * harbour/source/pp/Makefile
  * harbour/config/rules.cf
    ! fixed binary extension used to execute hbpp and harbour,
      AFAIK in current version it should be HB_HOST_BIN_EXT not EXE_EXT

  * harbour/config/global.cf
    ! fixed host architecture autodetection:
         @uname = $(shell uname -a)
      does not execute command silently but creates envvar '@uname'
    % added function for host detection and extended host detection
      rules to work with some envvars
    % test some known OS envvars before calling uname
    ! use 'uname -s' instead of 'uname -a' which may cause wrong host
      detection when host name contains some string we are looking for
    ! set .exe in HB_HOST_BIN_EXT for win_amd64
2009-07-15 18:02:57 +00:00
Viktor Szakats
8803ac29e6 2009-07-15 18:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
  * source/pp/hbpp.c
    + hbpp is now accepting directory for -c parameter and in this
      case it will check ChangLog names in specified dir.
    + Modified make file to pass dir to hbpp so now it configures 
      itself automatically no matter where we move the object directory.
    ; Please review me.
2009-07-15 16:08:52 +00:00
Viktor Szakats
4e922aa3b5 2009-07-15 14:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    - Removed HB_PPGEN_PATH setting. Now HB_BIN_COMPILE is used to
      point to the directory where all native executables are to be
      found. This means you can simply delete HB_PPGEN_PATH from
      your local settings.
    ; NOTE: Please update make_gnu_xmingw*.sh script accordingly,
            it should probably accept (detect) HB_BIN_COMPILE and
            drop HB_COMP_PATH / HB_PPGEN_PATH settings.
            Or, we should define some new ways to define cross
            builds replacing the current mess (there is also
            HB_XBUILD). I'd vote for these envvars:
            - HB_HOST_ARCH        (linux, win, dos, os2, etc...)
            - HB_HOST_BIN         (dir of native executables)
            - HB_HOST_BIN_EXT     (.exe or empty)

  * INSTALL
    * Updated cross-build sections and deleted make_gnu_xmingw*.sh
      related exception to keep instructions clean.

  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/hbwapi.h
    ! Fixed to compile under various other win compilers.
    ! Added missing WinCE protections. (notice all tools are freely
      available to check these and avoid breaking builds)
      Added non-WinCE branch to return dummy values.
    ! Formatted: (_WIN32_IE >= 0x0300) -> ( _WIN32_IE >= 0x0300 )
    ! Fixed non-ANSI comments.
    ! Fixed warnings, and there is still some dubious comversions
      in there like HANDLE - HTREEVIEW and RECT passings. I wonder
      if it is possible at all to create clean Windows API code.
    ; NOTE: Please take care of above stuff, it's not a pleasure
            to be the cleaner of such code, but it breaks builds 
            to it must be done all the time.
    ; NOTE: I'd like to recommend adding only Windows API functions
            which are available on all Windows platforms (WinCE,
            Win64) otherwise it will be more difficult to build
            anything portable on top of them.
    ; QUESTION: Why many functions are disabled with #if 0?
2009-07-15 13:04:39 +00:00
Viktor Szakats
862c0c5e92 2009-07-15 13:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
  * config/rules.cf
  * config/darwin/gcc.cf
  * config/dos/watcom.cf
  * config/dos/djgpp.cf
  * config/global.cf
  * config/lib.cf
  * config/win/watcom.cf
  * config/bin.cf
  * config/linux/watcom.cf
  * config/os2/watcom.cf
  * config/os2/gcc.cf
    + Now all binaries will be created inside bin/<arch>/<comp>,
      instead of the work/obj dir.
    ; Please test. (I didn't test cross-compilation yet, but maybe
      now it's a better time to cleanup the HB_PPGEN_PATH, HB_BIN_COMPILE
      settings and drop the former.
    ! Reverted prev cleanup.
    ; TOFIX: install rule for hbpp lib doesn't work after recent 
             change.
    ; TODO: Delete HB_PPGEN_PATH
2009-07-15 11:37:24 +00:00
Viktor Szakats
2b2a377ff9 2009-07-15 03:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
  * config/hpux/global.cf
  * config/darwin/global.cf
  * config/dos/global.cf
  * config/lib.cf
  * config/win/global.cf
  * config/linux/global.cf
  * config/bin.cf
  * config/os2/global.cf
  * config/test.cf
  * config/sunos/global.cf
  * config/bsd/global.cf
  * config/wce/global.cf
    * ARCH_COMP_OS  -> OBJ_DIR_OS
    * ARCH_COMP_DIR -> OBJ_DIR
    (using names that make more sense)
2009-07-15 01:31:27 +00:00
Przemyslaw Czerpak
e81c3d4058 2009-07-15 02:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/hpux/gcc.cf
  * harbour/config/darwin/gcc.cf
  * harbour/config/dos/watcom.cf
  * harbour/config/dos/djgpp.cf
  * harbour/config/win/watcom.cf
  * harbour/config/win/icc.cf
  * harbour/config/win/cygwin.cf
  * harbour/config/win/msvc.cf
  * harbour/config/win/xcc.cf
  * harbour/config/win/mingw.cf
  * harbour/config/win/pocc.cf
  * harbour/config/win/bcc.cf
  * harbour/config/linux/watcom.cf
  * harbour/config/linux/gcc.cf
  * harbour/config/linux/icc.cf
  * harbour/config/os2/watcom.cf
  * harbour/config/os2/gcc.cf
  * harbour/config/sunos/gcc.cf
  * harbour/config/bsd/gcc.cf
  * harbour/config/wce/msvcarm.cf
  * harbour/config/wce/mingwarm.cf
  * harbour/config/wce/poccarm.cf
    * cleanup: rtl -> hbrtl, rdd -> hbrdd

  * harbour/harbour.spec
  * harbour/harbour-win-spec
  * harbour/harbour-wce-spec
  * harbour/include/hbcomp.h
  * harbour/source/Makefile
  + harbour/source/nulrtl
  + harbour/source/nulrtl/nulrtl.c
  + harbour/source/nulrtl/Makefile
    + added hbnulrtl library to use non .prg harbour binaries

  * harbour/source/rtl/strmatch.c
  * harbour/source/common/Makefile
  + harbour/source/common/strwild.c
    * moved hb_strMatch*() functions from RTL to COMMON library
      Warning: copyright changed in new file. Viktor is rtl/strmatch.c
      copyright holder but hb_strMatch*() functions is my code.

  * harbour/source/rtl/Makefile
  - harbour/source/rtl/hbffind.c
  * harbour/source/common/Makefile
  * harbour/source/common/hbffind.c
    * moved hb_fsFind*() functions from RTL to COMMON library

  * harbour/source/main/harbour.c
  * harbour/source/main/Makefile
    * use hbnulrtl library to create harbour binaries

  * harbour/source/pp/Makefile
  * harbour/source/pp/hbpp.c
    * use hbnulrtl library to create hbpp binaries
    * added support for wildcard search

  * harbour/examples/pp/pp.c
  * harbour/examples/pp/pp.hbp
    * use hbnulrtl library to create pp binaries
      question: why is ignored -nohblib in pp.hbp?

  * harbour/contrib/rddads/ads1.c
    % removed always false if() { ... } statement
2009-07-15 00:37:09 +00:00
Viktor Szakats
bce14d30e1 2009-07-14 21:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
  * config/global.cf
  * config/bin.cf
  * config/test.cf
  * config/lib.cf
  * config/darwin/global.cf
  * config/hpux/global.cf
  * config/dos/global.cf
  * config/win/global.cf
  * config/linux/global.cf
  * config/os2/gcc.cf
  * config/os2/global.cf
  * config/sunos/global.cf
  * config/bsd/global.cf
  * config/wce/global.cf
    * HB_ARCH     -> ARCH_COMP
    * HB_ARCH_OS  -> ARCH_COMP_OS
    * ARCH_DIR    -> ARCH_COMP_DIR
    * LIB_ARCH    -> LIB_FILE
    * LIB_ARCH_OS -> LIB_FILE_OS
    * EXE_ARCH    -> EXE_FILE
    * LIB_PATH    -> LIB_ARCH_DIR
    * LIB_PATH_OS -> LIB_ARCH_DIR_OS
    (Renamed in the hope the new names will make a little bit more sense)
2009-07-14 19:52:24 +00:00
Viktor Szakats
5047203687 2009-07-14 20:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
  * config/header.cf
  * config/darwin/install.cf
  * config/dos/install.cf
  * config/doc.cf
  * config/lib.cf
  * config/win/install.cf
  * config/bin.cf
  * config/linux/install.cf
  * config/os2/install.cf
  * config/sunos/install.cf
  * config/bsd/install.cf
  * config/wce/install.cf
    * INSTALL_OBJS -> INSTALL_FILES
    * INSTALL_DIRSH -> INSTALL_DIR_OS
    * INSTALL_OBJSH, INSTALL_LIST -> INSTALL_FILES_OS
2009-07-14 18:41:35 +00:00
Viktor Szakats
40a550d49b 2009-07-14 18:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/hbpp.c
  * source/pp/Makefile
    + Moved ChangeLog name detection logic to C level.
2009-07-14 16:32:01 +00:00
Przemyslaw Czerpak
5501f030e3 2009-07-14 16:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/Makefile
    ! fixed hardcoded for windows shortcut (Change~1) ChangeLog name
      in DOS OpenWatcom builds so now it's possible again to create
      such builds in real DOS without LFN support
2009-07-14 14:48:32 +00:00
Viktor Szakats
0b0c2ff677 damn. fix again. 2009-07-14 09:22:10 +00:00
Viktor Szakats
2223e66a6d fix to prev 2009-07-14 09:21:31 +00:00
Viktor Szakats
69c952f060 2009-07-14 11:18 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Ugly hack added to make dos/watcom creation under NT hosts.
      Please check/fix since this probably broke dos/watcom on
      DosBox.
    ; NOTE: we should probably rename ChangeLog to CHANGES, as it's
            almost impossible to get it right properly.
            Or, hbpp could look for these alternate short names in
            some predefined order.
2009-07-14 09:19:56 +00:00
Przemyslaw Czerpak
10de04c2fa 2009-06-14 21:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/Makefile
    ! fixed / used as directory separator in $(RM) command with non *nix like
      shells
    * restored wildcard hack for some dynamic shortcut redirectors, f.e.
      DOSEMU
2009-06-14 19:10:30 +00:00
Viktor Szakats
a255567515 2009-06-14 19:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Updated.

  * source/pp/Makefile
    ! Fixed to ignore clean command result which is a TOFIX.
      (anyone to help here?)
    ! Changed ChangeLog file detection to specifically look 
      for CHANGE~1 and to not look for CHANGE~* and CHANG~* 
      where the latter cannot exist and the former may 
      accidentally pick up wrong file.
2009-06-14 17:59:01 +00:00
Przemyslaw Czerpak
5d2a6931be 2009-06-14 14:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/gtwvg/wvgwin.c
    ! fixed wrongly used & operator

  * harbour/source/rtl/hbproces.c
    * added TODO warning in OpenWatcom Linux builds

  * harbour/make_gnu.sh
    ! fixed test_param() function definition - it has to be defined it's
      before use

  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/source/common/expropt1.c
  * harbour/source/rtl/round.c
    * removed unnecessary <math.h>

  * harbour/source/vm/hvm.c
  * harbour/source/common/expropt2.c
  * harbour/contrib/hbct/ctmath.h
  * harbour/contrib/hbclipsm/num.c
  * harbour/contrib/hbclipsm/numfloor.c
  * harbour/contrib/hbclipsm/numceil.c
    * use "hbmath.h" instead of <math.h> to avoid possible desynchronization
      between used math libraries and header files

  * harbour/source/pp/Makefile
    ! fixed real DOS compilation - replaced Windows only hack by wildcard
      function usage

  * harbour/config/dos/dir.cf
    * removed intermediate sh call from executed commands

  * harbour/source/vm/Makefile
    * disabled HB_HVM_ALL in all Watcom builds - it works but the compilation
      time is very huge so user who wants to use it should set envvar
      HB_HVM_ALL=yes
    * enabled HB_HVM_ALL for DJGPP builds
2009-06-14 12:40:11 +00:00
Viktor Szakats
ed8f2896b3 2009-06-14 13:23 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Fixed (almost) to delete include/hbverbld.h on clean.
      Keeping this file there hid DOS build problems when using
      Windows host.
    ; TOFIX: Filename in delete command for all platforms.
    ; TOFIX: HB_CHANGELOG value for DOS builds. It's currently
             broken for MS-DOS hosts. To avoid these problems
             we should use 'CHANGES' instead of 'ChangeLog'...
    ; TOFIX: I applied Przemek's patch to make_gnu.sh wrongly,
             and have no idea how to fix it.
2009-06-14 11:25:07 +00:00
Viktor Szakats
8875ec290f 2009-06-10 23:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
; TOFIX: dos/owatcom builds can now created successfully
           (using standard Open Watcom 1.8 installation),
           the bad news is that f.e. hbmk2 will crash the
           NTVDM when trying a simple make.

  * INSTALL
    ! Minor fix to DOS instructions.
    + Added DOS build examples.

  * mpkg_dos.bat
    ! Fixed target dir and archive name to be different
      for djgpp and owatcom builds.

  * make_gnu.bat
  + config/djg-make.exe
    + Added embedded copy of DOS build of GNU Make.
      This is to make DOS builds, specifically dos/owatcom
      builds simpler. Original filename was 'make.exe'.
      This can probably be removed once we move DOS
      platform status to a 'target-only' one, like WinCE/ARM.

  * make_gnu.bat
    ! Ugly hack added to create doc/en-EN dir. This still
      won't solve the DOS copy problem unless I remove
      the hack committed previously. If I remove it
      the make process cannot be anymore started without
      this batch file as it would choke on xcopy if
      above dir doesn't exist.

  * make_gnu.sh
    ! Applied fix to only create install dirs if called
      with 'install' option. At the same time enabled
      this feature for all platforms. It will also create
      doc/en-EN dir.
      PLEASE TEST/REVIEW, I didn't do any testing.
    ; TOFIX: Much or all of these should IMO be done directly
             from make files, it would be much self-contained
             and consistent.

  * source/pp/Makefile
    ! Fixed to find ChangeLog when building for DOS targets.
      This was a problem when trying to build dos/owatcom.
      Now in DOS mode it will refer to the ChangeLog by its
      8.3 name.

  * utils/hbmk2/hbmk2.prg
    * Minor formatting.

  * mpkg_deb.sh
  * harbour.spec
    - Deleted hbmsql.
    ; TOFIX: hbqt is missing from some Linux make files.
    ; TOFIX: (in next major release) We should try to 
             make Linux build files less-maintenance intensive.
2009-06-10 21:49:10 +00:00
Viktor Szakats
c5ac234016 2008-06-05 18:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* common.mak
   * harbour-ce-spec
   * harbour-w32-spec
   * harbour.spec
   * make_b32.mak
   * make_gcc.mak
   * make_vc.mak
   * make_vcce.bat
   * make_vcce.mak
   * make_xmingw.sh
   * make_xmingwce.sh
   + source/pp/hbpp.c
   - source/pp/hbppgen.c
   * source/pp/Makefile
     * hbppgen -> hbpp
     ; Please test.

   * harbour-w32-spec
     ! Added 'svn:keywords "Author Date Id Revision"'
     ; TOMERGE [RC1]
2008-06-05 16:33:37 +00:00
Przemyslaw Czerpak
ee30ae86ac 2008-06-05 14:58 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour-ce-spec
  * harbour/harbour-w32-spec
  * harbour/harbour.spec
  * harbour/make_tgz.sh
    * removed not longer used HBPP references, thanks to Adam
    * added hbppgen to list of installed binaries for native builds
    * removed hbppgen from cross builds

  * harbour/source/pp/Makefile
  * harbour/config/install.cf
    * added hack to install also hbppgen
      I do not want to make deeper modifications in non GNU makefiles now.
      Looks that now we are ready to rename hbppgen to hbpp. I would like
      to keep -w hbppgen option semantic as is. Does anyone find it as
      a problem?
2008-06-05 12:58:54 +00:00
Przemyslaw Czerpak
bf68197ca0 2008-04-09 20:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
  * harbour/harbour.spec
    * reverted translation to UTF8 - Tomaz please check your editor
      settings and disable automatic translation to UTF8. It's not
      the first as such situation happens.

  * harbour/include/hbclass.ch
    + added two missing PP directives
    ! protected against some repeated external definitions

  * harbour/source/pp/Makefile
  * harbour/source/pp/hbppgen.c
  * harbour/source/pp/ppcore.c
  * harbour/source/common/hbver.c
  * harbour/source/common/hbverdsp.c
  * harbour/source/main/harbour.c
  * harbour/source/vm/cmdarg.c
  * harbour/utils/hbpp/hbpp.c
  * harbour/include/hbpp.h
  * harbour/include/hbcomp.h
  * harbour/include/hbver.h
  * harbour/include/hbapi.h
  * harbour/make_vcce.mak
  * harbour/make_b32.mak
  * harbour/make_vc.mak
  * harbour/make_gcc.mak
    + added support for dynamically set during compilation ChangeLog entry
      ChangeLog ID and SVN revision and compilation flags
      Now hbppgen creates in include directory hbverbld.h file with
      information extracted from ChangeLog. New hbppgen parameters:
         Syntax:  ./hbppgen <file>[.prg] [options]
         Options: -i<path>       add #include file search path
                  -c[<file>]     look for ChangeLog file
                  -o<file>       creates .c file with PP rules
                  -v<file>       creates .h file with version information
                  -w             write preprocessed (.ppo) input file
                  -q             disable information messages
    + added new C functions:
         int hb_verSvnID( void )
            - retrieves ChangeLog SVN revision number
         const char * hb_verSvnChangeLogID( void )
            - retrieves a static buffer containing ChangeLog ID string
         const char * hb_verSvnLastEntry( void )
            - retrieves a static buffer containing ChangeLog last entry string
         const char * hb_verFlagsC( void )
            - retrieves a static buffer containing build time C compiler
              flags in C_USR envvar
         const char * hb_verFlagsL( void )
            - retrieves a static buffer containing build time linker
              flags in L_USR envvar
         const char * hb_verFlagsPRG( void )
            - retrieves a static buffer containing build time Harbour compiler
              flags in PRG_USR envvar
    + added new default PP defines which can be used in .prg code compiled
      by Harbour compiler: HB_VER_LENTRY, HB_VER_CHLID, HB_VER_SVNID

  * harbour/source/rtl/gtxwc/gtxwc.c
    * formatting

  * harbour/source/rtl/gttrm/gttrm.c
    ! fixed redrawing GPM mouse pointer after screen updating

  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtpca/gtpca.c
    * updated for compilation even if some POSIX macros are not supported
      f.e. problems with some DJGPP versions reported recently

  * harbour/source/debug/dbgentry.c
  * harbour/source/debug/dbgtobj.prg
  * harbour/source/debug/dbgbrwsr.prg
  * harbour/source/debug/dbgthsh.prg
  * harbour/source/debug/tbrwtext.prg
  * harbour/source/debug/dbgwa.prg
  * harbour/source/debug/debugger.prg
  * harbour/source/debug/dbghelp.prg
  * harbour/source/debug/dbgtarr.prg
    ! Fixed object inspector in the debugger.
    ! Added HbDbBrowser:invalidate() message. Fixes work area browsing in debugger.
    ! Added an minimalistic TBrowse implementation that is just enough
      for internal use by the debugger. Fixes miscellaneous problems e.g.
      when debugging a piece of code with RELATIONs turned on.
    Fixes by Phil Krylov borrowed from xHarbour.
2008-04-09 18:44:03 +00:00
Viktor Szakats
c85b890109 2008-01-26 11:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
     ! Missed modification made after lib name change.
2008-01-26 10:01:06 +00:00
Viktor Szakats
b9c3cbccfc 2008-01-25 21:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour-ce-spec
   * harbour-w32-spec
   * bin/bld.bat
   * harbour.spec
   * common.mak
   * source/pp/Makefile
   * source/lang/Makefile
   * source/macro/Makefile
   * source/rtl/Makefile
   * source/vm/mainstd/Makefile
   * source/vm/Makefile
   * source/vm/mainwin/Makefile
   * source/main/Makefile
   * source/debug/Makefile
   * source/codepage/Makefile
   * source/common/Makefile
   * source/rdd/nulsys/Makefile
   * source/rdd/Makefile
   * source/rdd/hsx/Makefile
   * source/rdd/usrrdd/Makefile
   * source/compiler/Makefile
   * contrib/hbct/tests/Makefile
   * contrib/hbodbc/tests/bld_b32.bat
   * contrib/hbole/tests/bld_b32.bat
   * contrib/hbapollo/tests/bld.bat
   * contrib/hbfbird/tests/bld_b32.bat
   * contrib/hbfbird/tests/Makefile
   * contrib/hbpgsql/tests/Makefile
   * contrib/hbfimage/tests/bld_b32.bat
   * contrib/hbgd/tests/bldtest.bat
   * contrib/hbmisc/tests/Makefile
   * contrib/hbgf/tests/bld_b32.bat
   * contrib/hbbtree/tests/Makefile
   * contrib/examples/guestbk/Makefile
   * contrib/examples/pe/Makefile
   * contrib/examples/dbu/Makefile
   * contrib/examples/misc/Makefile
   * contrib/examples/hscript/Makefile
   * utils/hbdoc/Makefile
   * utils/hbextern/Makefile
   * utils/hbdot/Makefile
   * utils/hbmake/Makefile
   * utils/hbmake/hbmutils.prg
   * utils/hbmake/hbmake.prg
   * utils/hbpp/Makefile
   * utils/hbpptest/Makefile
   * utils/hbtest/Makefile
   * utils/hbrun/Makefile
   * tests/Makefile
     * Core libs renamed to be prefixed with hb, while 
       having the first significant 5 chars unique.

       Old name    New name
       --------    --------
       codepage -> hbcpage 
       common   -> hbcommon
       compiler -> hbcplr  
       debug    -> hbdebug 
       hbsix    -> hbsix   
       hsx      -> hbhsx   
       lang     -> hblang  
       macro    -> hbmacro 
       pp       -> hbpp    
       rtl      -> hbrtl   
       vm       -> hbvm    
       rdd      -> hbrdd
       dbfcdx   -> rddcdx
       dbffpt   -> rddfpt
       dbfntx   -> rddntx
       nulsys   -> hbnulrdd
       usrrdd   -> hbusrrdd
       mainwin  -> hbmainwin
       mainstd  -> hbmainstd

       NOTE/TODO: We're currently not in sync with contribs, 
                  regarding hb prefixing, since in contrib 
                  rdds and gts (rightly) also have hb prefixes.
                  The only reason not to add them in core this
                  time, is to keep compatibility with DJGPP.
                  Maybe we should remove those prefixes from 
                  contrib.

       NOTE/TODO: Do tests in as many platforms and as many contrib 
                  tests as possible. Feedback from hbmake users is 
                  also welcome.

       !!! Please update your local make files !!!

   * include/hbgtinfo.ch
     + Added HB_ prefixed versions for all GTI_ macros.
       Unprefixed GTI_ macros are to be considered xhb 
       compatible (or legacy) ones, and they can be 
       excluded by #defining HB_GT_NO_XHB if they seem to 
       collide with user code.
       TODO: Switch to use HB_GTI_* inside Harbour code.
2008-01-25 20:40:49 +00:00
Viktor Szakats
72526bc283 2007-10-27 01:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
     - Removed HOST_OS_UNIX_COMPATIBLE which was a misleading 
       alias for OS_UNIX_COMPATIBLE.

   * source/compiler/hbcomp.c
     % HOST_OS_UNIX_COMPATIBLE -> OS_UNIX_COMPATIBLE

   * common.mak
   * harbour-ce-spec
   * make_xmingw.sh
   * make_xmingwce.sh
   * makefile.bc
   * makefile.gc
   * makefile.vc
   * source/pp/Makefile
   - source/pp/ppgen.c
   + source/pp/hbppgen.c
     ! executable ppgen renamed to hbppgen.

   * samples/pe/editorlo.c
   * samples/pe/pe.prg
   + samples/pe/bld_b32.bat
     + Added BCC build batch file.
     ! Fixed to compile under current Harbour.
     ! Fixed filename casing.
     ! Fixed several warnings (quite some signedness problem still remain).
     ; This is a very nice editor written in C (Harbour callable),
       I think it is the work of Ryszard.

   * samples/hscript/bld_b32.bat
   * samples/hscript/hscript.prg
   * samples/hscript/dir.hs
   * samples/hscript/multiply.hs
   * samples/hscript/ugly.hs
   * samples/hscript/hello.hs
     ! Fixed build batch file.
     ! Fixed to use NFLib file IO rather than libmisc, because 
       latter was broken (it is a clone of the NFLib file IO).
     ! Fixed scripts to use Start instead of Main as an entry 
       point otherwise __hrbRun() got confused and called the 
       app Main().
     ! Fixed some other problems to make it run.
2007-10-26 23:26:59 +00:00
Przemyslaw Czerpak
01c5248dde 2007-10-15 17:39 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbmath.h
  * harbour/source/pp/ppcore.c
  * harbour/source/pp/ppgen.c
  * harbour/source/pp/Makefile
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/fserror.c
  * harbour/source/rtl/gtchrmap.c
  * harbour/source/rtl/disksphb.c
  * harbour/source/rtl/gttone.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/fssize.c
  * harbour/source/rtl/hbinet.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/filesys.c
  * harbour/source/vm/mainwin.c
  * harbour/source/common/hbver.c
  * harbour/source/common/hbtrace.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/ppcomp.c
  * harbour/utils/hbver/hbverfix.c
  * harbour/utils/hbpp/hbppcore.c
  * harbour/config/w32/pocc.cf
    * code cleanup:
      - eliminated unnecessary errno access
      - use WinAPI functions instead of some standard C library functions
        in Windows builds
2007-10-15 15:40:17 +00:00
Przemyslaw Czerpak
ad2ab41638 2007-06-14 00:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompat.ch
    + added translation rules for extended code blocks

  * harbour/source/compiler/gencc.c
    * cleaned C compiler warnings in -gc3 output and SWITCH <exp>
      statement

  * harbour/source/compiler/complex.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
    * allow to use 0d0 and 0d00000000 as empty date value

  * harbour/source/pp/Makefile
    * workaround for problems with some GNU make  versions,
      f.e. 3.76.1 on OS2
2007-06-13 22:06:19 +00:00
Przemyslaw Czerpak
bedaef925f 2007-05-28 09:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_xmingw.sh
  * harbour/source/pp/Makefile
    * recent xHarbour fixes for MinGW Linux->W32 cross build by Phil Krylow
      with small modifications

  * harbour/config/rules.cf
    + added rules for C++ files

  * harbour/include/hbapi.h
  * harbour/source/vm/arrays.c
    + added hb_arraySetForward()

  * harbour/include/hbapi.h
  * harbour/source/rtl/strmatch.c
    + added hb_strMatchFile() - compare two strings using platform dependent
      rules for file matching, respects platform dependent wildcards
    + added hb_strMatchCaseWildExact() - compare two strings using pattern
      with wildcard (?*) ignoring the case of the characters - patern have
      to cover whole string
    * changed hb_strMatchRegExp() to use real reguar expresions, if build
      does not support regex then redirected to hb_strMatchWildExact()
    - removed not longer used hb_strMatchDOS() - in fact it was neither DOS
      nor classic wildcards (?*) compatible

  * harbour/source/common/hbstr.c
    ! casting to avoid possible problem on platforms where toupper does not
      accept negative char value

  * harbour/include/hbcomp.h
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/hbmain.c
    * minor modifications in cleanup functions

  * harbour/source/rtl/hbffind.c
    * use hb_strMatchFile()

  * harbour/source/vm/memvars.c
    * use hb_strMatchCaseWildExact() instead of hb_strMatchRegExp()
      I still keep the hack which translates any mask starting with '*'
      to "*" but if you think that we should fully respect wildcards
      patterns then we should remove it from function hb_memvarGetMask()
      Opinions?
2007-05-28 07:52:08 +00:00
Przemyslaw Czerpak
8d38c093b4 2006-11-17 13:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/common/hbstr.c
  * harbour/source/compiler/harbour.l
  * harbour/source/macro/macro.l
  * harbour/source/macro/macro.slx
  * harbour/source/compiler/harbour.slx
    * changed parameters in function: hb_compStrToNum() now the string
      size is passed explicitly so it can work with strings which does
      not have trailing ASCII NUL character.

  * harbour/source/macro/macro.y
    * indenting

  * harbour/include/hbmacro.h
  * harbour/source/common/hbstr.c
  * harbour/source/macro/macro.l
  * harbour/source/macro/macro.y
    * added two new functions for macro compiler: hb_macroLexNew() and
      hb_macroLexDelete() to clearly separate lexer from grammar parser.

  * harbour/source/compiler/harbour.l
  * harbour/source/common/hbstr.c
  * harbour/source/pp/ppcore.c
    * added error generation for wrong e"..." strings and fixed \" quoting
    * removed \q quoting

  * harbour/source/pp/ppcore.c
  * harbour/source/pp/ppgen.c
    * added small description in headers

  * harbour/common.mak
  * harbour/source/pp/Makefile
  * harbour/source/pp/pplib.c
  + harbour/source/pp/pplib2.c
  * harbour/include/hbextern.ch
    + added auto destructor for allocated PP context, it's not longer
      necessary to execute __PP_FREE() so this function was moved from
      the standard .prg API to file with backward compatible functions
    * changed __PREPROCESS() to __PP_PROCESS()
    * moved setting std rules to separate file so now if user uses PP
      with only his own rules we are not forcing linking static tables
      which are quite huge (over 100kb)
      To include stdandard rules in static binaries user should add
      to his code:
         REQUEST __PP_STDRULES

  + harbour/source/pp/pplib3.c
    * old PP functions for backward compatibility:
         __PPADDRULE(), __PREPROCESS(), __PP_FREE()
      Please note that using this function is not MT safe. They should
      work like with old PP code. Using any of this function automatically
      forces linking __PP_STDRULES
2006-11-17 12:29:24 +00:00
Przemyslaw Czerpak
437b04a8ea 2006-11-08 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    + added linker parametrs to hbcc

  * harbour/include/hbapi.h
    + added hb_retclenAdoptRaw()

  * harbour/include/hbapifs.h
  * harbour/source/common/hbfsapi.c
    * changed first parameters of hb_fsAddSearchPath() to const char *

  * harbour/include/hbclass.ch
    * update for new PP. I think that now we can try to create final
      version of our OOP rules.

  * harbour/include/hbdefs.h
    + added UCHAR and SCHAR typedefs

  * harbour/include/hbrddcdx.h
    * indenting

  * harbour/source/rdd/workarea.c
    ! fixed minor typo

  * harbour/source/common/hbdate.c
  * harbour/source/rtl/dates.c
    * moved hb_dateToday() and hb_dateTimeStr() from RTL to COMMON library

  - harbour/include/hbpp.h
  - harbour/source/pp/ppcomp.c
  - harbour/source/pp/ppcore.c
  - harbour/source/pp/pplib.c
  - harbour/source/pp/pptable.c
  - harbour/source/pp/pragma.c
  * harbour/utils/hbpp/Makefile
  * harbour/utils/hbpp/hbpp.c
  + harbour/utils/hbpp/hbpp.h
  + harbour/utils/hbpp/ppcomp.c
  + harbour/utils/hbpp/ppcore.c
  + harbour/utils/hbpp/pplib.c
  + harbour/utils/hbpp/pptable.c
  + harbour/utils/hbpp/pragma.c
    * moved all PP code to harbour/utils/hbpp
      It's interesting and working preprocessor and the code can be
      usable for some other things so I do not want to remove it.
      Probablly we should move it to contrib/hbpptext

  * harbour/include/hbcomp.h
  * harbour/include/hberrors.h
  * harbour/include/hbsetup.ch
  + harbour/include/hbpp.h
  + harbour/include/hbstdgen.ch
  * harbour/source/common/hbstr.c
  * harbour/source/compiler/Makefile
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/harbour.c
  * harbour/source/compiler/harbour.l
  * harbour/source/compiler/hbgenerr.c
  + harbour/source/compiler/ppcomp.c
  * harbour/source/pp/Makefile
  + harbour/source/pp/ppcore.c
  + harbour/source/pp/pplib.c
  + harbour/source/pp/ppgen.c
    + New PP code written from scratch. It works in similar way to
      Clipper PP even the error codes are replicated. The code is MT
      safe does not have any limitation on size of preprocessed code,
      line, etc. It's also Clipper compatible lexer. It means that
      we do not longer need FLEX or SIMPLEX which can be replaced
      by new PP after some small modifications. Anyhow I haven't
      decided to make it myself. I would like to agree with with the
      rest of developers. I will be very happy if such modifications
      will be done by someone else, Ryszard?
      Meanwhile I current PP join on output the line tokens and give
      the string line to FLEX/SIMPLEX. It does not have any sense and
      all FLEX/SIMPLEX limitations are still existing. Ryszard, even
      if we keep it then I hope you can remove at least FLEX line buffer
      and use the one returned from PP.
      Because string tokens in parsed line are converted to text which is
      later once again decoded to tokens by FLEX I had to introduce new
      string format which supports embedded string delimiters. I chose
      modified version of xHarbour extension with escaped strings e"<sting>"
      so now FLEX understand such strings and decode them like C escaped
      strings. It means that you can use them also in the .prg code f.e.:
         outstd( e"Hello\n\rWorld" )
      The new PP is also noticeable faster. You should see the difference
      compiling long files. The build in PP rules are generated automatically
      by ppgen program created from source/pp/ppgen.c
      I had to add to GNU source/pp/Makefile these two lines:
         pptable.c : ppgen$(EXE_EXT)
         	./ppgen$(EXE_EXT) $(TOP)$(ROOT)include/hbstdgen.ch -opptable.c -q
      Sth like that will have to be done also in non GNU make system.
      Now Harbour can be compiled only using GNU make.
      Marek can you update non GNU make files? I would like to leave this
      modification to you or other developers who can test it.
      It was quite big modification and I do not believe that I haven't
      make any mistakes but I hope that in few weeks I'll fix any reported
      bugs and it will resolve any PP problems.
      TODO:
         * error messages
           create one common list of errors and warnings and keep it
           in common library. PP and compiler can still generate different
           errors with the same number. It can be confusing for the users
           and hard to document and add i18n translations.
           If possible we should also try to keep Clipper error numbers.
           In new PP code I added Clipper error numbers but I cannot use
           them until compiler code is not updated.
           We should aslo remove the ctype passed to error functions and
           hack with first character in warning messages and use only
           error number. The codes from 1000 to 1999 should be warnings
           where range 1000:1099 is activated by -w, 1100:1199 by -w1,
           1200:1299 by -w2, etc. 2000:2999 are errors and 3000:3999
           fatal errors. All compiler functions which generate an error
           should expect that error function will not stop the compiler
           but return and cleanly finished their job. It's necessary for
           MT support in compiler and making compiler part of some other
           programs which may still work and compile different source code.
         * FLEX/SIMPLEX
           remove them at all and add some final pass to PP to create
           more precise tokens for grammar parser or at least add better
           integration to remove some redundant code and existing limits.
         * hb_inLine() support - it's broken in new PP but as I can see
           it was never working correctly. I can add a hack to PP to support
           hb_inLine() but I'm not sure it's worth to do. Maybe in few days.

  + harbour/include/std.ch
    + added new std.ch. It was created without using Clipper's std.ch.
      It's quite possible that some rules are wrong and should be fixed
      so please help. Anyhow I created a set of programs based on new PP
      code generating all possible combinations of different commands I
      collected from different source code, documentation and match patterns
      of rules I was adding to new std.ch and then I was comparing .ppo
      files generated by Clipper and Harbour so I do not expect any bigger
      problems then some minor typos. I had to introduce some modifications
      in spacing as workaround for FLEX/SIMPLEX which cannot properly decode
      text preprocessed by Clipper after stringify.

  * harbour/utils/hbpptest/pretest.prg
    * updated for new PP
      It reports 16 wrong translations but some of them are valid
      and some others are caused by escaped string e"..." (one of hack
      for FLEX/SIMPLEX support)
      I also had to remove all spaces in comparison the results
      because they were not Clipper ocmpatible at all. Ryszard please
      look at it.
2006-11-08 12:06:17 +00:00
Viktor Szakats
4874336088 2000-07-29 02:58 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-07-29 01:04:53 +00:00
Viktor Szakats
cb94df2cb3 20000423-14:35 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-23 12:29:33 +00:00
Viktor Szakats
7a8980eaa6 20000402-16:17 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-02 14:17:28 +00:00
Viktor Szakats
a49700b2da 20000307-12:35 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-03-07 11:41:00 +00:00
Gonzalo A. Diethelm
fa09ec5d16 ChangeLogTag:Fri Oct 15 16:42:30 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl> 1999-10-15 19:56:09 +00:00
Viktor Szakats
73814c9cc6 19991004-15:15 GMT+1 1999-10-04 13:40:27 +00:00