Commit Graph

5775 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
d44fea92a9 2009-03-11 17:45 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbdate.h
  * harbour/source/common/hbgete.c
  * harbour/source/common/hbdate.c
  * harbour/source/rtl/seconds.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/filesys.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/contrib/hbct/files.c
  * harbour/contrib/xhb/filestat.c
  * harbour/contrib/hbmzip/hbmzip.c
  * harbour/contrib/hbtip/utils.c
  * harbour/contrib/examples/uhttpd/uhttpdc.c
    * cleaned feature test macros usage
2009-03-11 16:39:32 +00:00
Przemyslaw Czerpak
f3bf261945 2009-03-11 16:27 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/common/hbdate.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/rtl/idle.c
  * harbour/source/rtl/seconds.c
  * harbour/source/rtl/fssize.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/filesys.c
  * harbour/contrib/hbct/files.c
    * cleaned feature test macros usage
2009-03-11 15:22:17 +00:00
Przemyslaw Czerpak
bea44c1f1a 2009-03-11 00:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/common/hbgete.c
    ! fixed setenv() usage in some OpenWatcom ports

  * harbour/source/compiler/cmdcheck.c
    ! fixed casting for C++ compilation

  * harbour/source/rtl/gttrm/gttrm.c
    * removed some trailing spaces
2009-03-10 23:46:26 +00:00
Viktor Szakats
94f4ab7648 2009-03-10 18:18 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* ChangeLog
    * Updates.

  * contrib/xhb/txml.prg
    * Update HB_REGEXMATCH() calls, to keep old logic.
    ; TOFIX: Above doesn't mean it's now correct, so 
             someone familiar with this code, please 
             correct it.

  * contrib/hbapollo/apollo.c
    * Removed essentially empty comments. 

  * source/rtl/achoice.prg
    ! Applied fix from Vladislav Lavrecky.
      I didn't test it just assumed okay, please do so.
2009-03-10 17:23:58 +00:00
Viktor Szakats
95ddfb61c7 2009-03-10 17:25 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/hbregex.c
    * Fixed HB_REGEXMATCH(). Now the HAS/LIKE mode can be controlled 
      by 5th logical parameter (was 3rd), so 3rd parameter is solely 
      controlling case-sensitivity as indicated in the documentation.
      Users are recommended to use HB_REGEXHAS() and HB_REGEXLIKE() 
      functions as unambiguous alternatives, which work equally 
      well on all Harbour versions. HB_REGEXMATCH() is now deprecated, 
      but kept for compatibility.
2009-03-10 16:33:27 +00:00
Przemyslaw Czerpak
58bb9ef089 2009-03-10 12:23 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/garbage.c
    ! fixed one bad typo
    * cleanup

  * harbour/tests/speedtst.prg
    + added one new test
2009-03-10 11:17:18 +00:00
Przemyslaw Czerpak
f554ff3df4 2009-03-10 01:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbusage.c
    ! fixed the /u+ description - it does not work like #include.
      Only preprocessor command are significant in files included
      by -u<file> and -u+<file>

  * harbour/doc/man/harbour.1
    + add -u+<file> description

  * harbour/source/pp/ppcore.c
    ! fixed typo in error message table (missing ',')

  * harbour/source/compiler/cmdcheck.c
    * generate error when -u+ is used without <file>

  * harbour/source/compiler/hbmain.c
    * do not display usage screen if other errors were generated before
2009-03-10 00:06:24 +00:00
Viktor Szakats
0dad55f4b4 2009-03-09 23:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/compiler/hbusage.c
    + Added -u+ to help screen.
    * One remaining non-ASCII char cleaned from credit list.

  * include/hbpp.h
  * source/pp/ppcore.c
    ! Renamed HB_PP_MAX_REPATS to HB_PP_MAX_REPEATS.

  * ChangeLog
    * Added one line to my prev entry.
2009-03-09 22:11:04 +00:00
Przemyslaw Czerpak
a7676e7499 2009-03-09 17:16 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompdf.h
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/ppcomp.c
    + added support for extended definition files in Harbour compiler
      switches: -u+<file>
      This option can be repeated if user wants to use more then one
      file with extended definitions. The definitions are added after
      standard ones and after defines specified by -D<name>[=<value>]
      Harbour compiler switch.
      The behavior of -u[<file>] remains unchanged and -u or -u<file>
      can can be used together with -u+<file>.
      Note for xHarbour users: it's not exactly the same behavior as
      in xHarbour compiler.
    ! fixed memory leak when repeated -u[<file>] options are used.
2009-03-09 16:10:50 +00:00
Przemyslaw Czerpak
37b8779b1e 2009-03-09 14:08 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
    ! changed the NOT operator precedence - it should be bigger then
      logical .and./.or. operators in #if expressions

  * harbour/source/vm/thread.c
    ! fixed typo HB_OS_WIM -> HB_OS_WIN - thanks to Francesco.
2009-03-09 13:02:51 +00:00
Przemyslaw Czerpak
016078ef85 2009-03-09 00:19 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
  * harbour/source/vm/thread.c
    * emulate POSIX thread conditional variables in Windows builds.
      It should fix some possible bad behavior in MS-Windows Harbour
      MT programs.

  * harbour/source/rtl/hbinet.c
    ! fixed typo in HB_INETDATAREADY() - the second parameter (timeout)
      was ignored.

  * harbour/contrib/examples/uhttpd/uhttpdc.c
    * fixed typo in conditional iMsec usage.

  * harbour/contrib/examples/uhttpd/uhttpd.prg
    * set default timeout for socket operations to 3 sec.
    * use timeout parameter in HB_INETDATAREADY() and
      increased default timeout for accept to 250 millisecs.
      Please correct this modification if you prefer different values.
2009-03-08 23:15:18 +00:00
Przemyslaw Czerpak
b8b600f2cb 2009-03-07 19:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/common/hbgete.c
    * added suport for BSD systems

  * harbour/contrib/examples/uhttpd/uhttpd.prg
    ! fixed private declaration - after last modification they were not
      declared for threads at all
    ! fixed close procedure, s_aRunningThreads and s_aServiceThreads
      where not protected at all in the moment when these variables
      variables where used inside aeval() and other threads were
      resizing them removing their pointers. In short word it was
      in practice impossible to cleanly close uhttpd server without
      GPF, deadlock or other bad side effects. I changed this code so
      these arrays are modified only by calling procedure.
      I do not know why it was written in such way but I guess it
      was workaround for xHarbour bugs. In xHarbour is race condition
      inside some functions like ThreadJoin() (RTE if thread finished
      just before ThreadJoin(<pThID>)). Harbour does not have such
      problems so I simply cleaned this code making it much simpler.
    * reactivated hb_gcAll( .T. ) in the main loop for tests.
      I made some tests with linux and current uhttpd works perfectly
      without any problems with and without hb_gcAll( .t. ).
      I haven't noticed any problems. I used this scripts to make
      tests:
         #!/bin/sh
         function GT_UHTTPD()
         {
            while curl http://127.0.0.1:8082/ > /dev/null
            do
               if ! curl http://127.0.0.1:8082/serverstatus > /dev/null
               then
                  exit
               fi
               # disable it if you want to increase traffic
               if ! curl http://127.0.0.1:8082/info > /dev/null
               then
                  exit
               fi
               if [ -f stop ]
               then
                  exit
               fi
            done
         }
         for i in `seq 10`
         do
            GT_UHTTPD &>/dev/null &
         done
         wait

      on three CPU machine. Please make some test with other systems.
2009-03-07 18:51:08 +00:00
Viktor Szakats
dc7cdeb762 2009-03-07 12:38 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed recently introd problem with path sep translation.

  * source/common/hbgete.c
    + Enabled Darwin support.

  * contrib/examples/uhttpd/modules/showcounter.prg
    ! Protected whole code with GD_SUPPORT.
2009-03-07 11:51:14 +00:00
Przemyslaw Czerpak
eb20301b4a 2009-03-07 02:53 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/classes.c
    * forbid some usage of __clsModMsg() and unblock some others
      It should make some xHarbour users using OVERRIDE METHOD happy
      but please remember it's still undocumented and unsupported
      functionality - use for your own risk.
2009-03-07 01:48:13 +00:00
Przemyslaw Czerpak
8e3c73ea7b 2009-03-06 21:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/dirdrive.c
    ! fixed ISDISK() and DISKCHANGE() return value - due to typo the
      logical value .T./.F. was reverted
2009-03-06 20:50:51 +00:00
Przemyslaw Czerpak
b611140372 2009-03-06 11:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rdd/usrrdd/usrrdd.c
    ! removed unnecessary declaration

  * harbour/source/compiler/harbour.yyc
    ! removed unnecessary ";"

  * harbour/source/vm/classes.c
  * harbour/source/compiler/hbpcode.c
    * pacified some warnings for compilers which can detect that
      hb_errInternal() does not returns

  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/contrib/rddads/adsx.c
    * marked all places where we put some link time bindings after
      hb_errInternal() as: /* not executed, only to force linking ... */
2009-03-06 10:49:35 +00:00
Viktor Szakats
a1fd463ba2 2009-03-06 10:13 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed -gh switch detection and workings.
      (Francesco, pls check now allmod.hbm)
    + -gt switch can now be filtered. (-gtwin{win})
    ! -gui switch won't anymore add '-Wl,-mwindows' C compiler switch
      on *nix systems. Someone pls confirm this is right.
    * icc will use -vc postfixed .dlls. They seem to be binary
      compatible, but I didn't test.
    % Using __PLATFORM__UNIX macro where applicable.
    ! Ignoring -o Harbour option passed using '-prgflag:'

  * INSTALL
    + Added some details.

  * mpkg_win.bat
    ! Don't create install files if the make process returned
      with error.

  * source/lang/msg_tpl.c
    ! Removed ending ';'.

  * source/vm/Makefile
    + Added icc to generate maindllh.lib.

  * source/common/hbfsapi.c
    ! Removed obsolete 'extern hb_fhnd_ForceLink()'.

  * config/rules.cf
  * config/lib.cf
  * config/bin.cf
    % Compiling all .prg files with -n1 switch.

  * contrib/examples/uhttpd/uhttpdc.c
    * Cleaned Windows headers usage.
      #define HB_OS_WIN_USED is safe to use on all platforms,
      it just requests the Windows headers, and if compiled on
      Windows, it will #include them.

  * contrib/examples/uhttpd/uhttpd.prg
    + Automatically sets USE_HB_INET on non-Windows platforms.

  - contrib/examples/uhttpd/uhttpd-inet.hbm
  - contrib/examples/uhttpd/uhttpdgd-inet.hbm
    - Removed files no longer necessary.

  * contrib/examples/uhttpd/uhttpd.hbm
    + Added comment about -DUSE_HB_INET option.
    % Removed -lhbct
2009-03-06 09:21:06 +00:00
Przemyslaw Czerpak
cfc48878a4 2009-03-06 02:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbhash.h
  * harbour/source/pp/pplib2.c
  * harbour/source/pp/hbpp.c
  * harbour/source/lang/msghuiso.c
  * harbour/source/lang/msgskiso.c
  * harbour/source/lang/msgrukoi.c
  * harbour/source/lang/msghuwin.c
  * harbour/source/lang/msgzhgb.c
  * harbour/source/lang/msgskwin.c
  * harbour/source/lang/msgruwin.c
  * harbour/source/lang/msgelwin.c
  * harbour/source/lang/msgro.c
  * harbour/source/lang/msgpt.c
  * harbour/source/lang/msghriso.c
  * harbour/source/lang/msghrwin.c
  * harbour/source/lang/msgsliso.c
  * harbour/source/lang/msgbe866.c
  * harbour/source/lang/msghe862.c
  * harbour/source/lang/msgslwin.c
  * harbour/source/lang/msgcskam.c
  * harbour/source/lang/msggl.c
  * harbour/source/lang/msgtrwin.c
  * harbour/source/lang/msgeo.c
  * harbour/source/lang/msgbgiso.c
  * harbour/source/lang/msgbgwin.c
  * harbour/source/lang/msgskkam.c
  * harbour/source/lang/msges.c
  * harbour/source/lang/msguakoi.c
  * harbour/source/lang/msgzhb5.c
  * harbour/source/lang/msgeu.c
  * harbour/source/lang/msgpl852.c
  * harbour/source/lang/msgsr852.c
  * harbour/source/lang/msguawin.c
  * harbour/source/lang/msgde.c
  * harbour/source/lang/msgtr857.c
  * harbour/source/lang/msgru866.c
  * harbour/source/lang/msgcs852.c
  * harbour/source/lang/msgfr.c
  * harbour/source/lang/msgis850.c
  * harbour/source/lang/msgnl.c
  * harbour/source/lang/msghu852.c
  * harbour/source/lang/msgsk852.c
  * harbour/source/lang/msgplmaz.c
  * harbour/source/lang/msgca.c
  * harbour/source/lang/msgpliso.c
  * harbour/source/lang/msgbgmik.c
  * harbour/source/lang/msgplwin.c
  * harbour/source/lang/msgbg866.c
  * harbour/source/lang/msgid.c
  * harbour/source/lang/msgltwin.c
  * harbour/source/lang/msgptiso.c
  * harbour/source/lang/msgsriso.c
  * harbour/source/lang/msgel.c
  * harbour/source/lang/msgsrwin.c
  * harbour/source/lang/msgbewin.c
  * harbour/source/lang/msgdewin.c
  * harbour/source/lang/msghr437.c
  * harbour/source/lang/msghr852.c
  * harbour/source/lang/msgko.c
  * harbour/source/lang/msgua866.c
  * harbour/source/lang/msghewin.c
  * harbour/source/lang/msgit.c
  * harbour/source/lang/msgsl437.c
  * harbour/source/lang/msgsl852.c
  * harbour/source/lang/msghucwi.c
  * harbour/source/lang/msgcsiso.c
  * harbour/source/lang/msgcswin.c
  * harbour/source/lang/msgeswin.c
  * harbour/source/vm/macro.c
  * harbour/source/vm/hashes.c
  * harbour/source/vm/memvars.c
  * harbour/source/common/expropt1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/hbsix/sxutil.c
  * harbour/source/compiler/harbour.y
    * minor code cleanup:
      - pacified some warnings
      - added some missing declarations
      - removed redundant ;
2009-03-06 01:11:27 +00:00
Przemyslaw Czerpak
bbf7ed5155 2009-03-05 21:52 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/common/hbwince.c
    ! added missing return statement
2009-03-05 20:47:10 +00:00
Przemyslaw Czerpak
d44ee7b66b 2009-03-05 19:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/include/hbwince.h
  * harbour/source/common/hbgete.c
  * harbour/source/common/hbwince.c
    + added BOOL hb_setenv( const char * szName, const char * szValue )
      It sets or deletes (szValue==NULL) environment variable.
      Please add support for other compilers/OS-es or define
      unsupported platforms to eliminate TODO warning.
      For sure OS2 version have to be updated.

  * harbour/source/rtl/gete.c
    + added .prg function:
         HB_SETENV( <cEnvName>, [<cNewVal>] [, <lOsCP>] ) -> <lOK>
      which sets or deletes (when <cNewVal> is NIL) process environment
      variable <cEnvName>. <lOsCP> controls character translation to
      OS encoding. By default is enabled.
      TOFIX: <cEnvName> OS character encoding is missing in [HB_]_GETENV()
2009-03-05 18:38:33 +00:00
Przemyslaw Czerpak
edda1a9e26 2009-03-05 18:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/common/hbprintf.c
    * do not use modfl() in WinCE POCC builds. If MSVC also does not
      support if in WinCE builds then please change the condition to
      global HB_OS_WIN_CE
2009-03-05 17:05:04 +00:00
Przemyslaw Czerpak
a6ecb96dbf 2009-03-05 14:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbdefs.h
  * harbour/source/vm/hvm.c
    * respect HB_START_PROCEDURE in all builds if such public
      function/procedure exists.
      Now whole Harbour code can be compiled with -n1 in all builds.
      Warning for Windows/DOS users:
         if you have main() function in your .prg code then it will be
         automatically detected as application startup entry just like
         in other systems.
         Otherwise the 1-st linked function will be used like so far.
    + added HB_START_PROC_STRICT macro which causes that HVM ignores
      HB_FS_FIRST attribute. Before this modification HB_START_PROCEDURE
      has such meaning.
2009-03-05 13:29:10 +00:00
Przemyslaw Czerpak
5e1a82d03c 2009-03-05 12:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbgtcore.c
    * small modification in instruction order as workaround for PellesC bug
2009-03-05 11:43:16 +00:00
Przemyslaw Czerpak
bdd008af0b 2009-03-05 12:04 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/memvars.c
    ! added protection against pushing new private variable on HVM stack
      if such private variable is already created by the same function.
      Clipper also has such protection. This code illustrates it:
         proc main()
            memvar var1, var2, var3
            private var1 := "a", var2 := "b", var3 := "c"
            ? var1, var2, var3
            private var1 := "A", var2, var3 := "C"
            ? var1, var2, var3
            private var1 := NIL, var2, var3
            ? var1, var2, var3
         return
      compare Clipper and current Harbour results with old Harbour ones or
      with xHarbour results.
2009-03-05 10:59:23 +00:00
Viktor Szakats
9ef37d449f 2009-03-04 19:34 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/compiler/ppcomp.c
    ! #pragma -k? options are now case-insensitive like all
      other Harbour options.
      This completes this change:
      2008-08-06 22:18 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
2009-03-04 18:36:10 +00:00
Viktor Szakats
e4d64e698b 2009-03-04 08:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* INSTALL
    * HB_INC_OPENSSL sample corrected to point to real-life header dir.
    + Added cygwin compiler. gcc temply removed from doc list.
    % Removed unnecessary -n hbmk2 switches.
    + Added cygwin section.

  * utils/hbmk2/hbmk2.prg
    + Don't add gtnul as a real library.
      Please test, I've never used GTNUL.
    + Added support for cygwin compiler value.
      (works the same as current 'win/gcc' combination)
    ! Typo in rare error messages.
    ! Removed -no-cygwin option from cygwin gcc command line.

  * source/common/hbprintf.c
  * contrib/hbssl/sslrand.c
    ! Fixed to compile with cygwin.
    ; TOFIX:
      when running hbtest.exe:
      Error DBFNTX/1011  Write error: _hbtmp_.dbf
      Called from DBCREATE(0)
      Called from TEST_BEGIN(0)
      Called from MAIN(0)

  * make_gnu.sh
    + Added cygwin detection.

  * config/win/gcc.cf
  + config/win/cygwin.cf
    + Added separate cygwin make config.
      gcc is now just a map to cygwin.
2009-03-04 07:00:29 +00:00
Viktor Szakats
0edd8a7ebd 2009-03-03 20:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* INSTALL
    + Extended 'HOW TO ENABLE OPTIONAL COMPONENTS BEFORE BUILD'
      section a bit. (HB_DIR_* stuff still not included as it's
      early to document it yet, refer to the ChangeLog for info
      on it).

  * bin/hbmk.bat
    - Removed -n switch.

  + mpkg_win.bat
    + Added Windows installer creator script.
    ; TODO: Move all mpkg_*.* and related files to new /package dir.

  * mpkg_win.nsi
    + Changed to use HB_*_INSTALL envvars for source file locations.
    ! Fixed to exclude .tds files.
    + Will now will include version number, architecture and compiler
      in installer .exe name.
    + Default install destination will now include compiler name.

  * source/compiler/hbmain.c
  * source/compiler/cmdcheck.c
  * source/compiler/gencobj.c
  * source/compiler/hbusage.c
    + Marked -go option as HB_LEGACY_LEVEL2. Deprecated text
      shown on help screen.

  * utils/hbmk2/hbmk2.prg
    ! Fixed entry func autodetection problem with gcc when
      source file is passed without .prg extension.
      Reported by Maurilio.
2009-03-03 19:18:03 +00:00
Przemyslaw Czerpak
5e59c5954c 2009-03-03 19:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbproces.c
    * check if some define constants exists before use - it should
      fix compilation in some WinCE builds, f.e. with MSVC

  * harbour/source/common/hbprintf.c
    * disabled _LIB_VERSION setting in DJGPP builds - if we need it
      for some reasons then it should be done in different which does
      not create multiple instances of this variable
2009-03-03 18:49:36 +00:00
Przemyslaw Czerpak
14507e8487 2009-03-03 16:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/Makefile
    ! fixed compilation with C compilers which does not support MT mode
      (HB_MT=no) - it's seldom situation but may exists on some platforms,
      f.e. in *nixes when PTHREADS is not available

  * harbour/config/win/bcc.cf
    ! fixed compilation in SHELL environment
      (if exists ... del ...  is COMMAND.COM/CMD.EXE only command)

  * harbour/source/rtl/hbstrfmt.c
    ! casting for C++ compilation

  * harbour/contrib/xhb/dbf2txt.c
    ! casting for C++ compilation
    ! fixed two bad bugs which can cause GPF or some other bad results
      I'd seen after short check. I haven't analyzed this code carefully
      for others.

  * harbour/bin/postinst.sh
    ! fixed hb*-mkslib link in cross builds (MinGW/MinGWCE)
2009-03-03 15:34:58 +00:00
Przemyslaw Czerpak
3d333f0499 2009-03-02 21:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbexpra.c
  * 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/harbour.yyh
  * harbour/source/compiler/ppcomp.c
  * harbour/source/compiler/hbdbginf.c
  * harbour/source/compiler/genhrb.c
  * harbour/source/compiler/hbusage.c
    ! fixed static variables indexes in the generated PCODE when static
      variables are declared inside extended codeblocks - in some cases
      wrong PCODE was generated
    ! fixed initialization PCODE for thread static variables declared
      inside extended codeblocks
    ! fixed modulename generated for debugger to always contain function name
      part for extended codeblock declared as file wide static variables.
      In such case "(_INITSTATICS)" is used as function name.
      Without it debugger does not register entering such codeblocks and
      GPFs.
    + added support for automatic adding 1-st function with the same name
      as compiled .prg file if some code statements are used before 1-st
      function/procedure declared explicitly in .prg file. Such mode can
      be enabled by -n2 new harbour compiler switch.
2009-03-02 20:23:33 +00:00
Viktor Szakats
cf2a1eb5ed 2009-03-02 09:43 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbapi.h
  * source/rtl/hbstrfmt.c
    * C level function renamed to hb_strFormat().
    + Added to headers, exported.
2009-03-02 08:44:00 +00:00
Viktor Szakats
9f2c4df193 2009-03-02 09:36 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/Makefile
  * include/hbextern.ch
  + source/rtl/hbstrfmt.c
    + Added HB_STRFORMAT() sprintf()-like formatting.
    + Added hb_StrFormat() C level function.
    ; Work of Mindaugas sent to the list, with some minor 
      cleanups applied. Please test on your platform/compiler.

  * contrib/examples/uhttpd/uhttpd.prg
  * contrib/examples/uhttpd/cgifunc.prg
  * contrib/examples/uhttpd/session.prg
  * contrib/examples/uhttpd/uhttpd.hbm
    * xhb compatibility cleanups.
    - xhb lib and header dependency removed.

  * utils/hbmk2/hbmk2.prg
    * Changed so that libs won't inherit their .hbm file paths.
    + Embedded .hbm files will inherit their parents dir.
2009-03-02 08:36:55 +00:00
Viktor Szakats
6de8d801a4 2009-03-02 08:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* INSTALL
    * Updates.

  * source/vm/Makefile
    - Removed sensing HB_MT value and building pure MT version
      of Harbour. This is to avoid yet another unnecessary 
      variation of Harbour builds. For MT, just simply hbvmmt lib 
      should be linked.
2009-03-02 07:36:57 +00:00
Viktor Szakats
eb1767f8f3 2009-03-01 18:16 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* INSTALL
  * make_b32.bat
  * doc/gmake.txt
  * bin/postinst.bat
  * bin/hb-mkdyn.bat
  * make_gnu.bat
  * contrib/hbfimage/readme.txt
  * contrib/examples/uhttpd/modules/bldhrb.bat
  * source/vm/Makefile
  * source/rtl/console.c
  * source/compiler/gencobj.c
  * utils/hbmk2/hbmk2.prg
  * utils/hbmk2/examples/winapi.hbp
  - config/win/bcc32.cf
  + config/win/bcc.cf
    * Long time TODO done: Renamed bcc32 compiler name to bcc.
      bcc32 is still accepted by make_gnu.bat, but will be 
      removed in the future, so it's recommended to update 
      your local settings to use:
      set HB_COMPILER=bcc

  - config/dos/bcc16.cf
    - Deleted bcc16 compiler support. I didn't work since ages,
      and Harbour doesn't support 16-bit compilers anyway.
2009-03-01 17:19:29 +00:00
Przemyslaw Czerpak
d56e5a98c8 2009-03-01 13:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/include/hbstack.h
  * harbour/source/vm/hvm.c
  * harbour/source/vm/estack.c
  * harbour/source/vm/memvars.c
    ! fixed __M[V]CLEAR()/ __M[V]RESTORE() to be exactly Clipper compatible
      and do not release PUBLIC GetList value. Here it's small example
      which illustrates current behavior and exploits bug in previous
      version:
         memvar getlist
         proc main()
            getlist:="public:getlist"
            ? getlist
            private getlist:="private:getlist"
            ? getlist
            CLEAR MEMORY
            ? getlist
         return

  * harbour/source/compiler/gencc.c
    + added Harbour exception to the license - it's mine code with
      few lines added/modified by Ryszard and Viktor. I hope they do
      not have anything against.

  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/hbident.c
    * minor formatting
2009-03-01 12:53:15 +00:00
Viktor Szakats
6db18bf28a 2009-02-27 08:41 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    + Now all dirs of input files referred to through .hbm
      make files will be adjusted with the .hbm path as passed 
      on the command line. This allows to use .hbm files without 
      switching to their host dirs:
      'hbmk2 examples/hello/hello.hbm'
      (internal logic also allows to display error messages
      pointing to the exact location where the error
      was detected)
    + Added simple macro substitution engine. Not used yet.
    % Minor optimizations.

  * bin/hb-mkdyn.bat
  * source/vm/Makefile
  * utils/hbmk2/hbmk2.prg
  + config/win/msvcia64.cf
    + Added support for IA64 architecure with MSVC.
      (actual compilation untested as it needs MSVC Team System)

  * bin/hb-mkdyn.bat
    % Now using .hbm files.
2009-02-27 07:56:22 +00:00
Viktor Szakats
09621b1eed 2009-02-26 19:44 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/hb-mkdyn.bat
    * Cleaned tool outputs.
    + Added hbmaindllh lib to included liblist.
      (dunno what this serves, but we had it in non-GNU make)
      Do we need this at all?
    + Added support for msvc64 dll name.
    * Some tweak to owatcom, but it's just guessing, it still
      doesn't work.
    + Added generating hbrun-dll executable.

  * source/vm/hvm.c
  * source/vm/mainstd.c
    * Random tweak for owatcom/win dll support without success.
      Best result so far is:
      "Unrecoverable error 9012: Can't locate the starting procedure: 'MAIN'"

  * source/vm/Makefile
    + Added mainddllp generation for msvc, msvc64, bcc32, owatcom.

  * source/vm/maindllp.c
    + Added msvc64 and msvcia64 .dll names.

  * source/vm/extrap.c
    * Minor tweak to use alternate (documented) CPU detection macro.

  * utils/hbmk2/hbmk2.prg
    + Added msvc64 .dll name.
    * Removed automatic addition of hbcommon lib for shared
      mode for win compilers.

  * utils/hbtest/hbtest.hbm
  * utils/hbrun/hbrun.hbm
    + Added make files.
2009-02-26 18:48:17 +00:00
Viktor Szakats
eb214d1e4b 2009-02-26 12:54 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/gtwvt/gtwvt.c
    ! Attempt to fix SetMode() always returning FALSE when
      the window isn't open yet. Please test, I didn't.
2009-02-26 11:56:01 +00:00
Viktor Szakats
dda3d41d5c 2009-02-26 12:44 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/gtwvt/gtwvt.c
    ! Fixed HB_GTI_CLOSABLE when set before window initialization.
2009-02-26 11:45:25 +00:00
Przemyslaw Czerpak
4ced222eb0 2009-02-26 12:02 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtwvt/gtwvt.h
  * harbour/source/rtl/gtwvt/gtwvt.c
    + added support to set codepage for box drawing characters using
      HB_GTI_BOXCP as numeric value just like in HB_GTI_CODEPAGE for
      non UNICODE builds. In Windows CP encoding has even higher priority
      then font name so such functionality is necessary for users who
      have to keep normal and box font synced
    % do not allocate separate font handle for BOX drawing characters
      when they have the same encoding as normal characters
    ! keep box and normal font handles synced and free then on exit
    ! respect HB_GTI_RESIZABLE settings when new window is created
2009-02-26 10:57:23 +00:00
Viktor Szakats
7bdb1a9ea4 2009-02-26 10:24 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/hb-mkdyn.bat
    + Moving .lib and .exp (if they are generated) files
      to LIB dir.

  * source/vm/maindllp.c
    + Added owatcom flavour of .dll name.

  * contrib/hbwin/win_misc.c
    + Added WAPI_GETLASTERROR(), WAPI_SETLASTERROR(), WAPI_SETERRORMODE().

  * utils/hbmk2/hbmk2.prg
    + Added TODO to create temp .c files in temp location.
      Looks this can create a few problems (-hbcc, .ppo output
      location when -p is used by user).
    + '/o' flavour of -o option is now ignored on non-*nix
      systems to make sure users cannot mess up the hbmk process
      flow.
    * -o option modified to reset any previous explicit -o settings.
    * Some minor internal renames, comments.
    + Added new hbmk.cfg / .hbp option: 'shareddef='. This can
      change the default state of shared/static setting, so it
      can be used by installers or user to override default
      behaviour. NOTE: HB_SHARED envvar can also be used.
    * Changed hbmk.cfg lookup preferences to this:
      1. $HOME/.harbour
      2. /etc/harbour
      3. <hbmkdir>/../etc/harbour
      4. <hbmkdir>/../etc
      5. <hbmkdir>
      (NOTE: I've deleted /etc as etc/harbour seems superior
             and we already store a .def file there.
             I've also deleted /usr/local/etc)
2009-02-26 09:25:29 +00:00
Przemyslaw Czerpak
882ecaa59e 2009-02-25 21:08 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/memvars.c
    + added support for reading FoxPro .mem files - Clipper compatibility
    ! fixed bug introduced in my recent modifications in .mem files writing
    ! fixed very old bug which disabled writing to .mem files strings
      longer then 32Kb
2009-02-25 20:03:05 +00:00
Przemyslaw Czerpak
4f7bb3e481 2009-02-25 03:37 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
+ harbour/config/linux/icc.cf
  * harbour/config/linux/gcc.cf
  * harbour/bin/hb-func.sh
  * harbour/bin/postinst.sh
  * harbour/source/common/hbver.c
    + added support for Intel(R) C/C++ compiler

  * harbour/bin/postinst.sh
    % use hb-mkdyn symlink instead of regenerating it as hb-mkslib
      It will work also in DOS/Windows (MSys/DJGPP emulates ln -s ...)

  * harbour/source/vm/thread.c
    * removed all references to HB_THREAD_EQUAL()/HB_THREAD_SELF() in
      non MT builds

  * harbour/source/rtl/console.c
    ! fixed default color setting in hb_dispOutAtBox()

  * harbour/contrib/gtwvg/wvggui.h
  * harbour/contrib/gtwvg/wvgwin.c
  * harbour/contrib/gtwvg/wincallb.c
  * harbour/contrib/gtwvg/wvgsink.c
    ! fixes for C++ compilation:
      - this is reserved word in C++ - do not use it as variable name
      - class is reserved word in C++ - do not use it as variable name
      - use macros to hide differences between C and C++ WinAPI
      - casting
2009-02-25 02:32:40 +00:00
Viktor Szakats
527a1031ef 2009-02-24 21:35 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbapi.h
  * source/pp/hbpp.c
  * source/vm/cmdarg.c
  * source/main/harbour.c
    + Added hb_verHB_ARCH(), hb_verHB_COMP() to
      retrieve build time HB_ARCHITECTURE and HB_COMPILER
      settings.

  * include/hbver.ch
  * source/rtl/version.c
    + Added new hb_version() information:
      hb_version( HB_VERSION_BUILD_ARCH )
      hb_version( HB_VERSION_BUILD_COMP )

  * utils/hbmk2/hbmk2.prg
    + Using above hb_version() values to find out the exact
      build time architecture/compiler instead of guessing.
2009-02-24 20:37:19 +00:00
Viktor Szakats
06f159c990 2009-02-24 18:49 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/vm/fm.c
    ! Fixed compilation error in dlmalloc with pocc64.

  * config/win/pocc64.cf
  * config/win/msvc64.cf
    * Cleanup.

  * config/win/gcc.cf
    ! Added gdi32 to system lib list.

  * config/win/mingw.cf
  * config/win/mingwce.cf
    * Minor sync with each other.
    % Two duplicated lines removed from mingwce. I hope these
      weren't intentional.
      ---
      AR = $(CCPREFIX)ar
      ARFLAGS = $(HB_USER_AFLAGS)
      ---
2009-02-24 17:50:08 +00:00
Przemyslaw Czerpak
87cfa641b7 2009-02-24 13:49 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbsetup.h
    * minor modifications in macros
    * disabled some GCC function attributes when ICC is used

  * harbour/source/pp/ppcore.c
    * casting

  * harbour/source/vm/fm.c
    * destroy dlmalloc mspace in hb_xexit() when USE_DL_PREFIX is used
      otherwise call malloc_trim(0) to at least reduce allocated memory
2009-02-24 12:43:57 +00:00
Przemyslaw Czerpak
3c6eaa76cb 2009-02-23 19:36 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/estack.c
    ; added TODO note for TSD handles recovery system to document dynamic
      (not static) TSD access as public API. Otherwise it's a risk to give
      such interface for 3-rd party code developers due to potential
      resource leak.

  * harbour/contrib/hbct/ctwin.c
    + added support for thread local current window pointer in CT Windows.
      Warning: each new thread uses window 0 as default.

  * harbour/contrib/hbct/files.c
    + added MT support FILESEEK(), FILEATTR(), FILESIZE(), FILEDATE().
      Warning: now each thread operates on it's own directory handle.
      The directory handle is open until is not scanned to the end by
      subsequent calls to FILESEEK() without parameters or by explicit
      call with NIL or empty string "" as file name, f.e.: FILESEEK( NIL ).
      Such method of closing directory handle is compatible with original
      CT3 behavior.
2009-02-23 18:31:45 +00:00
Viktor Szakats
1a0ef66629 2009-02-23 14:51 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed bug which made gtwvt the default GT for mingw.
    ! Fixed to create final exe in current dir if no output
      filename was specified and the first input file
      contained a path.
    * Changed to use version-less harbour shared lib names
      on *nixes.
    ! Fixed to pass full path with harbour.so to gcc.
      (even when Harbour isn't run from a system location)
    ! Fixed compilation/linking/cleanup if an input file
      wasn't in current dir.
    * Temp stub file is now created in system default temp dir,
      instead of the current one.
    + Harbour shared lib path is normalized when Harbour
      is found on system locations. (so '*/bin/../lib/' becomes
      '*/lib')
    * Better I hope handling of .so/.dylib/.sl/.dll files passed
      on the command line.

  * bin/hb-mkdll.bat
    ! Fixed typo in Borland MT .dll name.
    ! Fixed to not include maindll.obj, maindllp.obj in
      Borland .dlls.
    * Minor formatting and cleanup on internal names.
    + Added checking for source lib existence, showing
      message if not found.
    + Better user feedback.

  * bin/postinst.bat
    + Added running hb_mkdll.bat at the end of the build
      process. For now users have to use 'set HB_DLL=yes'
      to enable this features. It's experimental yet,
      see previous comments.

  * source/vm/Makefile
    + Now generating hbmainstd and hbmainwin for remaining
      (non-mingw and non-mingwce) compilers. MSVC and BCC
      need this for -shared linkage, I'm not sure about the
      rest, anyhow we can disable it for other compilers
      if it isn't needed in future.

  * bin/hb-func.sh
    % Refined hbmkcfg.hbp setup to better detect conditions.

  * contrib/hbcurl/hbcurl.c
    ! Pacified this only one new gcc 4.3.3 warning.

  * config/win/gcc.cf
  * config/win/mingw.cf
    + Added -mtune=pentiumpro gcc optimization.
2009-02-23 13:53:42 +00:00
Przemyslaw Czerpak
7ae7612943 2009-02-22 14:59 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtxwc/gtxwc.c
    + added support for HB_GTI_CLOSABLE and HB_GTI_RESIZABLE.
2009-02-22 13:54:28 +00:00
Przemyslaw Czerpak
5a5b5bc6ee 2009-02-22 13:06 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtxwc/gtxwc.c
    ! fixed typo which caused GPF when palette was set before console window
      initialization

  * harbour/source/rtl/gttrm/gttrm.c
    * reset console color palette to default on application exist
2009-02-22 12:01:40 +00:00