Commit Graph

954 Commits

Author SHA1 Message Date
Viktor Szakats
ccdcecb094 2010-02-22 15:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/os2/gcc.mk
    + Attempt to fix direct ld usage to create Harbour .dlls.
      Please make tests for all versions of gcc/gccomf targets.

  * INSTALL
    - Deleted TCPV4 header instructions for OS/2. (they still
      works, it just got less emphasis with this)
2010-02-22 14:21:15 +00:00
Viktor Szakats
d93eb500c9 2010-02-22 14:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extrap.c
  * src/vm/dynlibhb.c
  * src/common/hbgete.c
  * src/common/hbffind.c
  * src/common/hbver.c
  * src/rtl/filesys.c
  * src/rtl/diskspac.c
  * src/rtl/gtos2/gtos2.c
  * src/rtl/cputime.c
  * src/rtl/disksphb.c
  * include/hbthread.h
  * contrib/hbmzip/hbmzip.c
    ! Fixed to setup all OS/2 INCL_* constants and
      to #include os2.h by themselves, and not to rely
      on Harbour headers to do this job for them.
    ; TODO: Do the same for dos.h.

  * doc/hdr_tpl.txt
    - Deleted local changelog.
    ! Fixes to .prg function docs
    + Update copyright year to 2010.
    + Added fact that $SEEALSO$ should be comma separated.
    + Added .c function example (far from perfect)

  * examples/hbdoc2/tmplates.prg
  * doc/hdr_tpl.txt
    + Added $VERSION$ tag. (pls update HBIDE. We haven't finalized
      the format yet, to it's little bit premature to create
      new and new parsers/generators for it yet)

  * include/hbdefs.h
    ! Fixed to not unconditionally include OS/2 headers with
      an arbitrary selection of INCL_ macros.
      Now OS/2 headers will only be included if legacy types
      are requested (off by default), and no INCL_ macros
      are defined. This latter change may affect 3rd party
      code written for OS/2, so I'm marking it INCOMPATIBLE.

  * contrib/hbqt/generator/hbqtgen.prg
  * contrib/hbqt/hbqt.h
    * Changed to #include hbapi.h from hbqt.h. It needs it,
      so this is the clean way. Changed generator to leave
      out hbapi.h from each source file and refer to hbqt.h
      only. (untested)
    + Added logic to #include OS/2 headers with some INCL_
      macros defined, to make QT on OS/2 happy. (copied them
      from the dev. list)
    ; TODO: Regenerate HBQT sources.

  * utils/hbtest/hbtest.prg
    ! Cleaned old problem reported by Chen. It seems like
      a feature which was never finished, and it's not even
      hugely needed, so I deleted it.

  * config/global.mk
    + Will now provide HB_COMP_PATH_PUB value for os2-gcc, os2-gccomf
      compilers. This value can be used to manually form ld.exe
      command line.
      (NOTE: This may be deleted in the future, when sorting
      out line-length limit problems for these compilers.
2010-02-22 13:45:07 +00:00
Viktor Szakats
c9de4f1d3a 2010-02-21 15:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
    + Added __CLSMSGTYPE function.

  * config/os2/gcc.mk
    * Changed to use 'ld' tools directly when creating
      Harbour dynamic libraries.
    ; Please test, it's possible that some option have to be 
      deleted, changed, or some system/compiler libs added 
      manually to make it work.
2010-02-21 14:03:38 +00:00
Viktor Szakats
1dae4e170f 2010-02-20 01:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
    * Changed not to rely on _WIN32_WCE to detect WinCE.

  * config/wce/global.mk
  * utils/hbmk2/hbmk2.prg
    % Changed to not pre-define _WIN32_WCE to any value. This should
      be user choice.

  * contrib/hbfimage/fi_winfu.c
    ! Fixed for WinCE builds. Now only non-WinCE compatible parts
      are disabled and functions keep being defined on .prg level
      regardless.

  * contrib/hbfimage/fi_winfu.c
  * contrib/hbfimage/fi_wrp.c
    % Cleaned logic that guards '_WINDOWS_' definition.

  * contrib/hbwin/win_bmp.c
    ! Fixed to use hexadecimal notation instead of octal, because
      some compilers where getting confused and tried to match these
      with some codepages.

  * contrib/hbwin/win_prn1.c
    ! Fixed for poccarm, because Pelles C (even 6.0) forgets to
      map FONTENUMPROC to FONTENUMPROCW.

  * contrib/hbwin/win_prn3.c
    ! Added some extra WinCE guards to avoid warning for this platform.

  * src/debug/dbgentry.c
    * Formatting.
2010-02-20 00:11:43 +00:00
Viktor Szakats
f83c8f069e 2010-02-18 16:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
    ! Fixes to previous change after testing:
      - '-D_WINCE' is required by pocc headers, so I've readded it there.
      - '-DARM' is already defined by mingwarm, so it's not needed.
2010-02-18 16:00:52 +00:00
Viktor Szakats
a891db8053 2010-02-18 16:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
    * Cleaned the way WinCE is detected.
      Now looking for UNDER_CE or _WIN32_WCE constants. (was: _WINCE)

  * utils/hbmk2/hbmk2.prg
    * Cleaned the way constants are initialized for WinCE platform. It's also
      means they are now synced with GNU Make build system. This means:
         UNICODE, _WIN32_WCE (to 0x501), UNDER_CE are always defined.
         Secondary CPU macros are defined as needed.
         Removed all the other WinCE related constants.
    + Defining UNDER_CE and _WIN32_WCE for resource compiler for WinCE targets.

  * config/wce/global.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
    * Cleaned the way constants are initialized for WinCE platform.
      - '-D_WIN32_WCE=0x501 -DUNDER_CE' moved to global, so now these will
        be equally defined for all WinCE compilers.
      - Deleted these from msvcarm targets ('-D_WINCE' was apparently used
        by our own hbsetup.h detection code only):
        '-D_WINCE -DCE_ARCH -DWINCE -D_WINDOWS -D_UNICODE -D_UWIN'
      - Deleted this from from poccarm targets:
        '-D_WINCE'
      - Deleted several secondary CPU constants for msvc* targets:
        '-D_ARM_ -DARMV4 -D_ARMV4I_ -Darmv4i -D__arm__'
        '-D_SHX_'
        '-D_MIPS_ -DMIPS_HAS_FPU'
        These are not necessarily true, and not even necessary. I you know
        otherwise, speak up.
      - Kept primary CPU constants:
        '-D_M_*'
      - Kept secondary CPU constants (needed by some inconsistent Windows header files):
        '-DARM', '-DSHx', '-DMIPS', '-D_X86_'

  * config/win/global.mk
    * Cleaned to use 'HB_BUILD_UNICODE' setting to enable UNICODE for non-x86 targets.

  * config/win/msvc.mk
    ! Fixed to respect 'HB_BUILD_UNICODE' user-setting when enabling UNICODE for
      newer MSVC targets. IOW it's now possible to turn off UNICODE for newer
      MSVC targets.

  ; Above should ensure more consistency for different WinCE compilers.
    Closer behavior and more consistent build logs, with less unnecessary options.
2010-02-18 15:47:27 +00:00
Viktor Szakats
2738a75104 2010-02-18 10:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extrap.c
    + Added ARM CPU dump code.
    + Added placeholder for CE/MIPS/SH CPU dump code.
    + Added iTODO warnings for non-implemented code sections.
    + Tweaked and enabled module listing code for WinCE.
    ; TOFIX: UNICODE conversion is missing from there.
    ; TODO: Enable exception handler for WinCE. How?

  * contrib/hbwin/wapi_wingdi.c
    ! Typo in recent addition.

  * utils/hbmk2/hbmk2.prg
  * config/wce/msvcarm.mk
    * Raised warning level for old msvcarm targets to -W3 (from -W2)
2010-02-18 09:29:53 +00:00
Viktor Szakats
9f5bde86b9 2010-02-16 16:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/wce_smsc.c
    ! Fixed to skip content for msvc 2003 in C mode.

  * config/globsh.mk
    + Now also deleting .pch (MSVC precompiled header) files on
      clean, in case someone enables them.

  ; NOTE: I turned out all my tests using "msvc 2003" compiler
          was in fact a 12.20.9615 (_MSV_VER=1201, clarm.exe)
          version compiler, which equals to VC++ 6.0.
          Just for the record, since I can't oversee what WinCE
          compilers were released between this and MSVC2005 (8.0/1400),
          so until then I have to assume that everything
          below 8.0 are "old" msvcarm versions (7.1/1310 or lower).
2010-02-16 15:30:31 +00:00
Viktor Szakats
b0396dac4e 2010-02-16 15:06 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fix to add 'lib' prefix for gcc compiler when using -implib option.
    + Added comment detailing prev change.

  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    - Deleted -YX option. 
      We don't want to force precompiled headers by default on older 
      MSVC versions.
2010-02-16 14:07:07 +00:00
Viktor Szakats
cd83e94235 2010-02-16 11:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbthread.h
  * src/vm/fm.c
    ! Tweaks to allow msvcarm 2003 build.

  * src/vm/maindllp/dllpcode.c
  * src/vm/maindllh.c
    ! Deleted (AFAIK unnecessary) HB_EXPORT to make msvcarm 2003 happy.

  * src/common/hbgete.c
  * src/rtl/net.c
    ! Fixed missing #include hbwince.h.

  * external/sqlite3/Makefile
    - Disabled for msvcarm 2003.

  * contrib/gtalleg/Makefile
    - Disabled for msvcarm.

  * contrib/hbodbc/Makefile
  * contrib/rddsql/sddodbc/Makefile
    ! Do not force sql.h header for msvcarm 2003.

  * contrib/rddbmcdx/hbbmcdx.h
    ! Fixed HB_EXTERN placement to make msvcarm 2003 happy.

  * contrib/hbct/ctnet.c
  * contrib/xhb/hbsyslog.c
  * contrib/xhb/hbserv.c
  * contrib/hbtpathy/tpwin.c
  * contrib/hbnf/getenvrn.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/olecore.c
  * contrib/hbwin/win_dlg.c
    ! Fixed to make them compile on msvcarm 2003.

  * config/wce/msvcarm.mk
  * utils/hbmk2/hbmk2.prg
    ! Fixed warning option for msvcarm 2003.

  * utils/hbmk2/hbmk2.prg
    ! Fixed type causing RTE with msvcarm targets.

  ; NOTE: hbcurl doesn't build with msvcarm 2003, so either
          don't enable it, or experiment with HB_USER_CFLAGS=-U_WIN32_WCE
          hack. The problem lies somewhere in libcurl headers,
          not Harbour code.
2010-02-16 10:14:24 +00:00
Viktor Szakats
8a2c2d71bd 2010-02-12 12:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/hbwin.ch
    + Added HB_WIN_DLL_CALLCONV_* macros. (so far only privately defined inside .c code)
    + Added HB_WIN_DLL_CTYPE_* macros. (so far only privately defined inside .c code)
    + Reworked HB_WIN_DLL_CTYPE_* macro values. INCOMPATIBLE. Since they weren't
      previously documented, this should not be a breakage, pls report it if this is
      a problem.
    ! Fixed .ch syntax to also work in .c files.

  * contrib/hbwin/hbwin.h
  * contrib/hbwin/legacycd.c
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/tests/testdll.prg
    * Using hbwin.ch for callconv and C type constants.
    + Added public low-level interface: hbwin_dllCall().
      This has provision for exact parameter type specification.
    * Changed Harbour level functions to use new public
      interface hbwin_dllCall().
    + Moved CALLDLL(), CALLDLLBOOL(), CALLDLLTYPED() to legacy source.
    * HB_DLLEXEC structure made private to XPP compatibility
      section.
    + Added new WIN_DLLCALL() API. This can replace all old CALL*()
      function and give more flexibility. Its first parameter is an
      optional array, which can specify calling convention (it was
      fixed in old implementation), return type and UNICODE swicth,
      plus it has provision to specify parameter types, too.
    + Changed test app to use new WIN_DLLCALL() API.
    * hb_getprocaddress() made public (but not exported) and
      renamed to hbwin_getprocaddress().

  * config/wce/mingwarm.mk
  * config/win/mingw.mk
    - Deleted hack to always add frame buffer for hbwin.
      It's not necessary anymore.
2010-02-12 11:27:02 +00:00
Viktor Szakats
7aa6a7611b 2010-02-09 00:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/pplib.c
  * src/common/hbprintf.c
  * src/rtl/gtclip.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/compiler/hbpcode.c
  * include/hbgtcore.h
  * contrib/hbbmcdx/bmdbfcdx.c
  * contrib/hbbtree/hb_btree.h
  * contrib/hbbtree/hb_btree.c
    ! Fixed remaining type conversion problems after doing
      live testing on win/bcc.
      Please test it on other platforms.

  * config/rules.mk
    + Enabled HB_LEGACY_TYPES_OFF on default Harbour
      builds. This is required to keep new type usage
      enforced.
2010-02-08 23:17:09 +00:00
Viktor Szakats
917948fc8c 2010-02-06 19:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/runner.c
    * BYTE -> char

  * contrib/hbct/ctstrfil.c
    * LONG -> HB_ISIZ

  * contrib/hbmzip/hbmzip.c
    * Changed to use FS API instead of C RTL.
    * Using std Harbour method to include windows.h.

  * package/winuni/RELNOTES
    + Added note about downgrade to mingw64 4.4.0, which is
      a more stable release than 4.5.0, and where .dlls also
      work properly.

  * config/wce/mingwarm.mk
  * config/win/mingw.mk
    ! Fixed to not use -fomit-frame-pointer option for debug builds.
    ! Hack added to disable -fomit-frame-pointer for hbwin lib.
    ; TOFIX: Fix hb_Dynacall() to not be sensitive on this option
             in mingw builds. Is it possible?
2010-02-06 18:56:50 +00:00
Viktor Szakats
a93731df1b 2010-01-22 13:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/wapi_wingdi.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/hbwapi.h
    + Added hbwapi_stor_*() functions to store Windows structures
      RECT, POINT and DEVMODE. Latter supports hash only (due
      to large number of structure members), other two supports
      both array and hash.
      Please review my code.
    + WAPI_MOVETOEX() now uses hbwapi_stor_POINT().
    ! WAPI_DRAWTEXT() fixed to return RECT (using hbwapi_stor_RECT()).

  * contrib/hbwin/legacy.prg
  * contrib/xhb/xhw32prn.prg
    * Moved Win32Bmp compatibility class from hbwin to xhb lib.
    ! Deleted Win32Prn compatibility clsss from hbwin, as it's
      now implemented in xhb in a better way.

  * harbour-win-spec
  * harbour-wce-spec
  * harbour.spec
  * include/hbver.h
  * config/global.mk
    + Changed to new major version number:
         2.1.0dev (from 2.0.1dev)
      This gives way for 2.0.x branch to take
      the 2.0.1dev version number.
2010-01-22 12:27:04 +00:00
Viktor Szakats
df7324e079 2010-01-21 00:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added new item to TROUBLESHOOTING section describing
      common problem when native executables are forgotten to be
      rebuilt, and causing error in cross-build.
      This typically causes problems when compiler/pp/hbmk2 get 
      new feature.

  * contrib/hbwin/win_tprn.prg
    ! Deleted trace msg left there by mistake.

  * contrib/hbwin/hbwin.ch
    + Added WIN_*_QUALITY constants.

  * config/global.mk
    + Displaying HB_BIN_COMPILE even if explicitly specified by user.
2010-01-20 23:55:31 +00:00
Viktor Szakats
547e66cecb 2010-01-19 10:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/maindllp.c
  * utils/hbmk2/hbmk2.prg
  * config/global.mk
    + Added more (untested) support for WinCE x86 targets.
2010-01-19 09:35:50 +00:00
Viktor Szakats
37d7989d47 2010-01-09 12:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Extended Linux deb/rpm sections:
      - Added list of base packages
      - Listed actual active distro names
      - Added pkg install command for various rpm distros
      - Added link to webpage containing extensive information
          about pkg management commands on different distros
    + Added SUNWsvn package for OpenSolaris.

  * harbour.spec
    ! Typo in comment.
    + Added 'DISCONTINUED' comments to those distros which are 
      (suprise!) discontinued.

  * contrib/hbwin/wapi_winbase.c
    ! Fixed to set internal getlasterror value in WAPI_FORMATMESSAGE().
      Thanks Xavi.

  * contrib/hbwin/wapi_err.c
    ! Fixed to include 'hbwapi.h'
      Thanks Xavi again.

  * config/global.mk
    + Added autodetection of Gentoo Linux package manager.

  * contrib/hbbtree/hb_btree.c
    + Added two TOFIX notes. Both reported on the list previously.
2010-01-09 11:55:36 +00:00
Viktor Szakats
7760e7425d 2010-01-09 01:39 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    ! Fixed to not require HB_BIN_COMPILE is host and target
      platform is the same, host is x64 and target is x86.
      x64 hosts can run x86 binaries. (pls shout if you know
      any exception)

  * INSTALL
    + Added extra info to openSUSE section.
    ; TODO: Update .rpm/opensuse section.

  * harbour.spec
    + Added initialization of HB_USER_DFLAGS.
    ; TOFIX: Current setup doesn't allow passing -m32 to force 32-bit
             .rpm builds on 64-bit systems.
    ; TOFIX: OpenSUSE 10.2 uses 'gpm' instead of 'gpm-devel'.

  * contrib/hbqt/hbqt.hbc
  * contrib/hbqt/hbqts.hbc
    * Changed to enable -hbcppmm only on win and os2 platforms.
      I don't know about linux, but on darwin this option caused
      this error:
         hbide(70507,0x7fff708a0be0) malloc: *** error for object 0x1019d3948: pointer being freed was not allocated
         *** set a breakpoint in malloc_error_break to debug
         Abort trap
2010-01-09 00:40:40 +00:00
Viktor Szakats
7857d2d0eb 2010-01-08 12:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/msvcarm.mk
    ! Fixed typo in prev modification.
2010-01-08 11:25:42 +00:00
Viktor Szakats
0511a246a3 2010-01-08 01:32 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/msvcarm.mk
    + Added -nxcompat and -dynamicbase to .dll link command.
      (I'm unsure what -dynamicbase is good for in a .dll, but it's
      accepted and set)
    ! Fixed to add -nxcompat/-dynamicbase for MSVC 2008 and upper.
      (it's also possible to use it with MSVS 2005 SP1 though, but
      build won't detect this case)

  * include/hbwince.h
    * Formatting.
2010-01-08 00:33:47 +00:00
Viktor Szakats
23ac606bcc 2010-01-08 01:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/dlmalloc.c
    ! Fixed two potentially uninitialized variables, signaled by MSVC.

  * src/common/hbgete.c
    + Changed to use native SetEnvironmentVariable() API instead of
      forced ANSI one.

  * src/common/hbwince.c
  * include/hbwince.h
    % Deleted unused ANSI Windows API stubs.
    + Added empty SetEnvironmentVariable() stub for WinCE
      builds where it's missing.
    * Reconfigured these stubs:
        SetCurrentDirectory()
        GetCurrentDirectory()
        GetComputerName()
        GetUserName()

  * config/win/global.mk
    * Comment updated.

  * config/win/msvc.mk
    + Added -nxcompat and -dynamicbase to .dll link command.
      (I'm unsure what -dynamicbase is good for in a .dll, but it's
      accepted and set)
    ! Fixed to add -nxcompat/-dynamicbase for MSVC 2008 and upper.
      (it's also possible to use it with MSVS 2005 SP1 though, but
      build won't detect this case)
2010-01-08 00:14:19 +00:00
Viktor Szakats
dd570d683c 2010-01-07 21:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added free SVN book link.

  * src/vm/extrap.c
    % Marked exception filter callback as 'static'
    ; TOCHECK: Please verify that OS/2 still works this way.

  * src/rtl/oemansi.c
    ! Fixed two tabs.

  * src/rtl/gtwvt/gtwvt.c
  * contrib/gtwvg/gtwvg.c
  * contrib/rddads/adsfunc.c
    ! Fixed to not use unsafe/ANSI CharToOemBuffA() API.
    ; Please review me.

  * config/win/mingw.mk
    + Added information about MinGW alternatives for MSVC
      security features. Unfortunately they need Cygwin
      binary plus some depend on MinGW host platform
      and/or version.

  * include/hbwince.h
  * src/common/hbwince.c
    - Deleted CharToOemBuffA(), OemToCharBuffA(). No longer
      needed by Harbour.
    ; TODO: Delete rest of not anymore used ANSI WinAPI
            functions. Now Harbour never uses ANSI
            WinAPI functions in UNICODE mode.

  * config/win/global.mk
    - Deleted reference to CharToOemBuffA(), OemToCharBuffA().
2010-01-07 20:59:38 +00:00
Viktor Szakats
472c3592ed 2010-01-07 18:16 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extrap.c
  * contrib/hbwin/win_prn3.c
    + Added TOFIXes for unsafe function usage:
       IsBadWritePtr(), IsBadReadPtr(), lstrlen(), lstrcpy(), lstrcat()
    ; QUESTION: Any idea how to fix that? win_prn3.c can
                probably be fixed with some good general coding
                idea.

  * contrib/hbwin/wce_smsc.c
    ! Fixed to not use unsafe CRTL functions.

  * src/rtl/oemansi.c
    ! Rewritten HB_OEMTOANSI() and HB_ANSITOOEM() to not use
      Windows API functions marked as unsafe. New version is a bit
      slower but won't mark Harbour apps as unsafe in an audit.
    ; Please test and review.

  * utils/hbmk2/hbmk2.prg
  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    % Deleted -Gs MSVC option. Testing with MSVC 2008 I've found
      this have no effect on x86 builds, and it makes x64 builds
      slighly less efficient by forcing stack checks in each function
      call. This seems to contradict MSDN, which doesn't suggest such
      difference between x86 and x64:
         http://msdn.microsoft.com/en-us/library/9598wk25.aspx
    % Deleted -GS- MSVC option used for wce targets for MSVC >= 8.00.
      '-GS-' will disable stack cookies (on by default), thus trading
      app size/speed for security. Maybe this is preferred for wce
      users, but in Harbour I'd rather opt to pass this decision to users
      for all targets.
         Enable with: HB_USER_CFLAGS=-GS- / -cflag={allmsvc}-GS-
      MSDN:
         http://msdn.microsoft.com/en-us/library/8dbf701c.aspx
2010-01-07 17:17:24 +00:00
Viktor Szakats
d89181934b 2010-01-07 16:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiosrv.hbp
  * utils/hbformat/hbformat.hbp
  * utils/hbmk2/hbmk2.hbp
  * utils/hbi18n/hbi18n.hbp
  * utils/hbtest/hbtest.hbp
  * utils/hbrun/hbrun.hbp
  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    + Added -fixed:no to msvc command line. It seems to be needed
      for ASLR compatibility.
2010-01-07 15:12:28 +00:00
Viktor Szakats
cee6162783 2010-01-07 16:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Updated valgrind example.

  * contrib/hbnetio/utils/netiosrv.hbp
  * utils/hbformat/hbformat.hbp
  * utils/hbmk2/hbmk2.hbp
  * utils/hbi18n/hbi18n.hbp
  * utils/hbtest/hbtest.hbp
  * utils/hbrun/hbrun.hbp
  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    + Added MSVC linker switches to enhance security by 
      enabling NX compatibility and ASLR.
      Especially important for server apps like netiosrv and hbrun.
    ; TODO: Enable the same for MinGW.
    ; TOCHECK: Please test this with old MSVC versions and MSVCARM, 
               maybe we will need to disable them in some cases.
    ; QUESTION: I'm unsure of -fixed:no MSVC option. Do we need it 
                to increase security?

  * config/wce/msvcarm.mk
    + Changed to use link.exe for linking instead of cl[arm].exe.
      This now syncs it with rest of Harbour.
2010-01-07 15:03:47 +00:00
Viktor Szakats
24bc432079 2010-01-06 22:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    ! Fixed instructions for .deb binary build.

  * contrib/hbide/hbide.hbp
    + Comment extended.

  * utils/hbmk2/hbmk2.prg
    + Comment extended.

  * config/globsh.mk
    ! Fixed typos in nt clean commands.
      [TOMERGE 2.0]

  * ChangeLog
    + Added TOMERGE 2.0 to prev entry.
2010-01-06 21:27:33 +00:00
Viktor Szakats
94a81336c4 2010-01-02 23:07 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/dir.mk
     % Deleted code handling pre-3.81 GNU Make versions.
       We require 3.81 now, so no longer required.
       Sent by Tamas Tevesz.
2010-01-02 22:08:42 +00:00
Viktor Szakats
8c18499355 2010-01-02 21:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    % Applied optimization sent by Tamas Tevesz.
    % Applied little further optimization.
    * One variable renamed.
    - Deleted checking for MAKE_381 when using 3.81 features.
      Now 3.81 is the minimum required so there is no point.
2010-01-02 20:53:02 +00:00
Viktor Szakats
12339bd173 2010-01-02 18:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    % Applied little optimization from Tamas Tevesz.

  * contrib/hbide/idemisc.prg
    + hbide_PathProc()
      This function can combine relative paths together so it's
      the key to avoid macros dealing with placing paths to their
      intended location. It can replace current method of
      <IdeSrc> = hb_dirBase(). F.e.:
          hbide_PathProc( "src/mysource_in_project.prg", "projects_dir/" ) ->
                  "projects_dir/src/mysource_in_project.prg"
          hbide_PathProc( "projects/myproject.hbi", hb_dirBase() ) ->
                  "C:/harbour/contrib/hbide/projects/myproject.hbi"
      Please use it.

    ; TOFIX: Since hbide seems to intend to support a hbrun-like
             command prompt, maybe it's a good idea to prefix all
             public functions with hbide_, otherwise there will
             be problems when name collision occurs with user code.
             If this is not the goal, we can leave it.
2010-01-02 17:44:43 +00:00
Viktor Szakats
fdbdedd298 2010-01-02 17:06 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Clean Linux .rpm section, added full install commands just 
      like for Ubuntu, added qt45-devel, added more description.
      (not tested, I don't have .rpm based distro)

  * config/global.mk
    ! Fixed debian package manager detection, as suggest by 
      Tamas Tevesz.
2010-01-02 16:09:44 +00:00
Viktor Szakats
b669e35526 2010-01-02 15:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Added rudamentary package manager detection (so far for
      darwin and linux). Please extend. This will allow to make 
      proper dependency checking in detect.mk.
2010-01-02 14:01:52 +00:00
Viktor Szakats
af310bf016 2009-12-28 10:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbtrace.c
    ! Fixed some leftover causing error on non-win.
    % Replaces \r\n with \n in printf() calls.
      [TOMERGE 2.0]

  * config/win/bcc.mk
    + Added -CP437 bcc option as default, so that it fixes compilation
      on windows systems are setup to use certain (f.e. far east)
      multibytes codepages as default non-Unicode CP.
2009-12-28 09:04:16 +00:00
Viktor Szakats
d202ce1b75 2009-12-22 23:16 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour-win-spec
  * harbour-wce-spec
  * harbour.spec
  * include/hbver.h
  * config/global.mk
    * Changed version to interim version number
      2.0.1dev (from 2.0.0)
2009-12-22 22:16:45 +00:00
Viktor Szakats
2252b2fe2b 2009-12-22 22:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour-win-spec
  * harbour-wce-spec
  * harbour.spec
  * include/hbver.h
  * package/winuni/RELNOTES
  * config/global.mk
    * Changed version to 2.0.0 (from 2.0.0rc1)

  * package/winuni/RELNOTES
    * Finalization (djgpp -> watcom)

  * package/winuni/mpkg_win_uni.nsi
    ! Fixed uninstallation of Start Menu on Vista/Win7, at the
      same time it won't ask for admin credentials anymore on
      these OS versions.
    * MS-DOS/OS2/Linux libs are now not selected by default.

  * config/dos/watcom.mk
  * config/dos/djgpp.mk
    * Disabled .dll generation for MS-DOS build for now.
      dos/watcom doesn't work, dos/djgpp needs special fixes
      in djgpp to work.
      In the meantime, for testing purposes they can be
      enabled using: HB_BUILD_DLL=dostest
2009-12-22 21:00:36 +00:00
Przemyslaw Czerpak
36a54f98fc 2009-12-22 11:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/bsd/gcc.mk
    + added c i s to ar parameters

  * harbour/src/vm/estack.c
    * formatting

  * harbour/include/hbtypes.h
    % replaced #ifdef ... / #undef ... with simple #undef
2009-12-22 10:06:40 +00:00
Przemyslaw Czerpak
bdfb6a9e93 2009-12-21 08:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
  * harbour/include/hbapigt.h
    * moved declaration of hb_gtSetDefault() from hbgtcore.h to hbapigt.h

  * harbour/include/hbapi.h
  * harbour/src/vm/hvm.c
    + added new function hb_vmSetDefaultGT()

  * harbour/bin/hb-func.sh
  * harbour/utils/hbmk2/hbmk2.prg
    * use hb_vmSetDefaultGT() to set default GT
    * removed extern declarations for functions defined in hbapi.h

  * harbour/src/vm/dynlibhb.c
    + added support for HB_LIBLOAD()/HB_LIBFREE() in DJGPP 2.04 builds

  * harbour/config/global.mk
    * use 8.3 names for harbour dynamic libraries in all DOS builds

  * harbour/config/dos/djgpp.mk
    + added support for dynamic libraries (DXE) in DJGPP builds.
      DXE is sth similar to DLL in Windows and can be used with
      DJGPP 2.04. I had to make some modifications in DXE header
      files to make it working so it will not work in default DJGPP
      installation. I'll document these modifications in the future.

  * harbour/config/dos/watcom.mk
    * enable creating of harbour dynamic libraries only when HB_BUILD_DLL
      is explictly set by user to 'yes'. In DOS DJGPP and OpenWatcom builds
      DLLs support is not functional yet.

  * harbour/config/dyn.mk
    * added an option to create harbour dynamic libraries from static
      ones instead of .o|.obj files. It's necessary for DXE3GEN which
      internally calls LD which has some limited on maximum size of passed
      parameters.
      TODO: make HB_DYN_LIBS definition common for dyn.mk and lib.mk
2009-12-21 07:22:14 +00:00
Viktor Szakats
3b929ea65e 2009-12-19 13:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  * config/global.mk
    ! Not considering /opt and /opt/harbour as "system location" for
      Harbour, following Lorenzo's advice.
2009-12-19 12:47:02 +00:00
Viktor Szakats
5fafefc19c 2009-12-16 18:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* harbour-win-spec
  * harbour-wce-spec
  * include/hbver.h
  * package/winuni/RELNOTES
  * package/winuni/mpkg_win_uni.bat
  * package/winuni/mpkg_win_uni.nsi
  * harbour.spec
  * config/global.mk
    * Changed version to 2.0.0rc1 (from 2.0.0beta3)
    ; TODO: Please also change debian/changelog.
    ; Rehearsing version change, I don't plan to make binary
      release of this interim version.

  * doc/codestyl.txt
    * Minor update.
      I don't plan a full update this time, as we have a huge
      amount of well formatted source code, and it's pretty
      consistent too, so it's enough to peek into any one of
      them for a perfect example. So if someone needs and 
      example, just look under src/* for both .c and .prg.
2009-12-16 17:38:13 +00:00
Viktor Szakats
ce675e64c9 2009-12-16 03:17 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/common/watcom.mk
    ! Fixed for dos/watcom after previous change.
2009-12-16 02:18:08 +00:00
Viktor Szakats
3da406eb95 2009-12-16 03:11 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/common/watcom.mk
  * config/global.mk
  * config/rules.mk
    ! Added relatively ugly hack to change dir separators in CC_RULE in 
      a generic way. It's ugly because it's only needed for non-linux 
      Watcom C (not C++!) builds, but this way it's possible to avoid 
      CC_RULE override in common/watcom.mk. CC_RULE override didn't 
      implement dynlib support, which meant that after switching 
      to C mode as default for watcom, dynlib generation got broken 
      on win and os2.
2009-12-16 02:12:27 +00:00
Viktor Szakats
b057507e3c 2009-12-13 22:47 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/hbmain.c
  * src/compiler/cmdcheck.c
  * src/compiler/hbcomp.c
  * src/compiler/hbusage.c
  * include/hbcompdf.h
    + Added support for -i- and -i+ options. They will disable/enable 
      handling of INCLUDE envvar.

  * config/rules.mk
    + Added -i- Harbour compiler switch to avoid any interference 
      with user set INCLUDE envvars.
2009-12-13 21:48:02 +00:00
Przemyslaw Czerpak
4e62cf97fe 2009-12-12 23:29 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbsetup.h
  * harbour/include/hbdefs.h
  * harbour/include/hbthread.h
  * harbour/src/common/hbver.c
  * harbour/bin/hb-func.sh
  * harbour/bin/postinst.sh
  * harbour/config/linux/gcc.mk
  + harbour/config/linux/open64.mk
    + added support for Open64 C/C++ compiler in Linux builds

  * harbour/src/common/hbver.c
    * removed unnecessary casting compiler version number parameters
      to 'short'
    * extended the size of szBuf buffer as requested by Tamas
2009-12-12 22:31:11 +00:00
Przemyslaw Czerpak
b308f56ac2 2009-12-10 21:49 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbatomic.h
    * removed 'static inline' from OpenWatcom ASM functions defined
      by '#pragma aux ...' to make OpenWatcom < 1.8 happy.
      Version 1.8 ignores 'static inline' attributes in such declarations.

  * harbour/config/dos/watcom.mk
  * harbour/utils/hbmk2/hbmk2.prg
    * switched from DOS/4GW to DOS/32A extender. It's faster what is
      noticeable also in final Harbour binaries, does not have DOS4G
      command line limitations and has nice tools which allow to easy
      set different runtime parameters (ss.exe) or compress final
      executable (sc.exe)
      BTW people having problem with maximum command line size in
      OpenWatcom tools can replace DOS/4GW with DOS/32A in this tools
      It can be made also globally by coping dos32a.exe to dos4gw.exe.
      NOTE: I've found why DOS Harbour OpenWatcom application created
            in my Linux box were not working. Just simply the directory
            with DOS extender setup files was not in PATH.
            Creating DOS OpenWatcom applications in other systems (i.e.
            Linux or OS2) do not forget to add directory with DOS binaries
            '%WATCOM%\binw' to PATH after directory with platform native
            OpenWatcom binaries '%WATCOM%\bin*' or copy DOS extender
            (dos32a.exe) to one of PATH directories.

  * harbour/config/dos/watcom.mk
    * added workaround for not included automatically by linker CLIB
      library when Harbour is compiler in pure C mode. I hope it's only
      temporary hack which we can remove in the future. I haven't added
      it to hbmk2 so linking DOS applications using hbmk2 user will have
      to add -lclib3r to hbmk2 parameters.

  * harbour/config/common/watcom.mk
    * disable DOS/32A banner messages
2009-12-10 20:49:23 +00:00
Viktor Szakats
26774aa585 2009-12-10 20:35 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/Makefile
    + Added generic support to MOC compile headers.
    ; If this works out well, it makes it possible to use granular 
      (non-monolythic) headers for 'Q_OBJECT' classes.
      It's also possible to move this logic into sub-libs.
      This may also mean that some hacks which were currently 
      employed can be solved cleanly.
      Please test/review.

  * contrib/hbqt/hbqt_slots.h
  + contrib/hbqt/hbqt_hbqtableview.h
  * contrib/hbqt/hbqt_hbqtableview.cpp
  * contrib/hbqt/qth/QTableView.qth
  * contrib/hbqt/hbqt_hbdbfmodel.cpp
  * contrib/hbqt/qth/QAbstractItemModel.qth
  + contrib/hbqt/hbqt_hbdrawingarea.h
  * contrib/hbqt/hbqt_hbdrawingarea.cpp
  + contrib/hbqt/hbqt_hbqmainwindow.h
  * contrib/hbqt/hbqt_hbqmainwindow.cpp
  + contrib/hbqt/hbqt_hbqsyntaxhighlighter.h
  * contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
  * contrib/hbqt/qth/QSyntaxHighlighter.qth
  + contrib/hbqt/hbqt_events.h
  * contrib/hbqt/hbqt_events.cpp
    * Split monolithic hbqt_slots.h header to distinct 
      class headers.

  * contrib/hbqt/generator/hbqtgen.prg
  - contrib/hbqt/filelist.mk
  * contrib/hbqt/Makefile
    * Changed to not generate central filelist.mk.
      (no dynamic files in central lib)

  * config/rules.mk
    - Deleted .l reference.

  * contrib/hbqt/qtgui/QSyntaxHighlighter.cpp
  * contrib/hbqt/qtgui/QTableView.cpp
  * contrib/hbqt/qtcore/QAbstractItemModel.cpp
    * Regenerated.
2009-12-10 19:48:17 +00:00
Viktor Szakats
0c30daf54e 2009-12-09 16:09 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * utils/hbmk2/hbmk2.prg
  * config/dos/watcom.mk
  * config/win/watcom.mk
  * config/linux/watcom.mk
  * config/os2/watcom.mk
    + Switched back plain C mode for watcom compiler.
2009-12-09 15:10:58 +00:00
Viktor Szakats
c895bed381 2009-12-08 11:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/macro/Makefile
  - src/macro/macro.l
  * src/compiler/Makefile
  - src/compiler/harbour.l
  - src/compiler/fixflex.c
  * INSTALL
  * config/c.mk
  * config/rules.mk
    * Deleted references to Flex and related files.
      Flex is not used since long. It couldn't generate MT safe lexer code.
2009-12-08 10:44:31 +00:00
Przemyslaw Czerpak
94c1283dd8 2009-12-07 19:29 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/global.mk
    ! fixed variable name in output message
2009-12-07 18:29:27 +00:00
Przemyslaw Czerpak
9e7e433a1a 2009-12-06 18:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbtpathy/tpunix.c
    ! fixed tty raw IO mode setting
    * reduced CRTSCTS redefinition to WATCOMC and Linux, added small
      comment about it and iTODO compile time warning if CRTSCTS is
      not defined.
      TODO: make some cleanup and extensions for *nix version of this
            library.

  * harbour/config/os2/watcom.mk
    * disabled -s from GTSTD compile time parameters to test possible
      workaround for OW problems in MT mode and APIENTRY16 functions.
2009-12-06 17:35:20 +00:00
Viktor Szakats
141bb0f699 2009-12-05 13:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtos2/Makefile
  * config/os2/watcom.mk
    % Changed the way -s option is disabled for certain modules
      (currently gtos2).
      This method doesn't require new variable, although it's still 
      a hack.
2009-12-05 12:42:32 +00:00
Przemyslaw Czerpak
3c6be6883f 2009-12-05 13:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtos2/Makefile
  * harbour/config/os2/watcom.mk
    * disable -s in GTOS2 OpenWatcom builds using HB_CSTACK_CHECK variable.
      This is workaround for wrong code generated by OpenWatcom <= 1.8
      when -s switch is used for functions calling APIENTRY16 functions.
      Such code executed from non main thread causes GPF.
2009-12-05 12:21:39 +00:00