Commit Graph

250 Commits

Author SHA1 Message Date
Viktor Szakats
c670fe34fd 2010-06-17 23:14 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/globsh.mk
    + 'FALSE' variable set for 'nt' shells.
    * 'FALSE' variable set to a dummy value ($(TRUE)) for 'dos' and 'os2' shells.

  * config/wce/mingwarm.mk
  * config/win/mingw.mk
  * config/win/cygwin.mk
    ! Fixed to fail after deleting the library on 'ar' failure.
2010-06-17 21:15:51 +00:00
Viktor Szakats
09df7c33da 2010-06-17 22:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbfsapi.c
    ! hb_fsFName*(): Fixed to not GPF when called with NULL parameters.
      (this also fixes 'hbpp -c' GPF)

  * config/global.mk
    + Will now force HB_BUILD_UNICODE=no on Win9x hosts
      (and if HB_BIN_COMPILE is not set to point to a non-UNICODE
      Harbour tools to be used. Building UNICODE Harbour on Win9x
      is a cross-build situation)

  * config/win/bcc.mk
    + Added small trick to make the build work on Win9x host.

  ; Win9x is able to build properly using win/bcc.
2010-06-17 20:08:23 +00:00
Viktor Szakats
a72a3ca377 2010-06-17 19:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    % Minor optimization for Windows platform
    ! At the same time fix for CreateProcess( 'uname' ) error on Win9x.

  * config/wce/mingwarm.mk
  * config/win/mingw.mk
  * config/win/cygwin.mk
    ! Fix to previous: In multi-command cmdlines, f.e.: '(cmd1 && cmd2)'
      $(RM) command _must_ be used as a workaround so that GNU Make
      converts it to a batch file. Unfortunately with this, an 'ar'
      failure will be masked by a successful $(RM), so the make won't
      stop.

  * config/globsh.mk
    + Added new command macro $(FALSE) preparing for general solution
      to force failure.

  * config/beos/gcc.mk
  * config/qnx/gcc.mk
  * config/bsd/gcc.mk
  * config/bsd/clang.mk
  * config/darwin/gcc.mk
  * config/darwin/icc.mk
  * config/darwin/clang.mk
  * config/hpux/gcc.mk
  * config/linux/gcc.mk
  * config/linux/icc.mk
  * config/linux/clang.mk
  * config/linux/sunpro.mk
  * config/sunos/gcc.mk
  * config/sunos/sunpro.mk
  * config/instsh.mk
    * 'false' -> '$(FALSE)' for shell independence.
2010-06-17 17:30:41 +00:00
Viktor Szakats
43d25e7367 2010-06-17 19:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/mingwarm.mk
  * config/wce/msvcarm.mk
  * config/win/mingw.mk
  * config/win/icc.mk
  * config/win/cygwin.mk
  * config/win/msvc.mk
    ! Removed delete command which was called when $(AR) command failed.
        (usually: '|| $(RM) $(subst /,$(DIRSEP),$(LIB_DIR)/$@)')
     This fixes three issues:
      - It won't force GNU Make into using cmd shell (in fact temporary batch file)
        to execute these commands, thus it won't hit cmd shell length limitations
        on NT and W2K systems (maybe Win9x also? TOCHECK).
      - Build process will properly stop in case $(AR) (lib assembly) command
        fails, instead of deleting the wrong lib and continuing with the build.
        Best would be to delete it and fail, but I found no clean way to do this.
      - This incorrect variation is no longer used: '|| $(RM) $(LIB_DIR)/$@'
        (pathsep conversion is missing)
     NOTE: If someone can recommend a way to fail the build after deleting 
           the partial lib, all above logic can be reintroduced, but in this 
           case the lib creation cmds need to be rewritten like mingw to 
           avoid long cmdline lengths.
           IOW I'm looking for a win shell equivalent of this sequence:
              AR_RULE = $(AR) ... || ( $(RM) ... && **false** )
           where **false** is something which creates no output and returns
           non-zero errorlevel.

  * ChangeLog
    + More explanation to prev log entry.
2010-06-17 17:04:00 +00:00
Viktor Szakats
bdd719f974 2010-06-17 17:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/bsd/gcc.mk
  * config/bsd/clang.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/hpux/gcc.mk
  * config/darwin/icc.mk
  * config/dos/watcom.mk
  * config/dos/djgpp.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/win/icc.mk
  * config/win/cygwin.mk
  * config/win/msvc.mk
  * config/linux/watcom.mk
  * config/linux/icc.mk
  * config/os2/watcom.mk
  * config/os2/gcc.mk
    * Functions renamed.
2010-06-17 15:28:31 +00:00
Viktor Szakats
526e5e3828 2010-06-17 17:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/mingwarm.mk
  * config/win/mingw.mk
  * config/win/cygwin.mk
    + Added support for host systems with shorter cmdline limits
      (in lib creation command). F.e. on WinW2K or WinNT.

  * config/win/cygwin.mk
    ! Fixed delete command on 'ar' failure to work on native 
      Windows shell.
2010-06-17 15:10:16 +00:00
Viktor Szakats
b902dbd19a 2010-06-16 11:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/win/mingw.mk
    + Added (commented) support for -m32/-m64 options.
      This may be useful in the future f.e. for mingw tdm 4.5.0
      compiler which can build both 64 and 32-bit targets using
      the same compiler binaries.

  * config/global.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/win/cygwin.mk
  * config/win/msvc.mk
  * config/os2/watcom.mk
    + Changed to init RCFLAGS from global.mk.

  * config/global.mk
    + Added support for theoretical QNX cross-builds.

  * ChangeLog
    * Updated QNX TODO list.
2010-06-16 09:50:20 +00:00
Viktor Szakats
d16d8613d6 2010-06-10 09:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/win/bcc.mk
    ! Left bug cleaned from prev commit.
2010-06-10 07:46:59 +00:00
Viktor Szakats
129a3ccdaf 2010-06-10 09:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    ! Reverted one optimization from yesterday's late
      night programming jam session.

  * contrib/hbqt/hbqt_base.cpp
    * Renamed HBQT_ISQTSTATICLINKED() to HBQT_ISSTATICLINK().
      (enough to have one 'QT' in the name)

  * config/win/bcc.mk
    + More changes targeting bcc support under WINE scenario.
    ; Here it now works "out of the box"

  * INSTALL
    + Added example for win/bcc build under WINE.
      (kudos go to Tamas Tevesz for the setup example)
    + Added win/bcc to supported cross(ish)-builds.

  * examples/httpsrv/uhttpd.prg
    ! Fixed bogus newlines in RTE ALERT() windows.
2010-06-10 07:44:15 +00:00
Viktor Szakats
5150ffda36 2010-06-10 02:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/poccarm.mk
  * config/win/xcc.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/icc.mk
    * Cleanups/formatting. Also Embarcadero patch by Tamas Tevesz.
2010-06-10 00:37:10 +00:00
Viktor Szakats
0618886c04 2010-06-10 02:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    % Minor optimization, in bcc location detection. I hope.
    + Changed autodetection to look for fixed .exe extension
      for tools which have no native *nix versions, so their
      name always ends with .exe regardless of host platform.
      This should make these tools usable under WINE.

  * config/win/bcc.mk
    + Attempt to better support bcc on linux build scenario,
      by using backslash escaping in this case.

  * utils/hbmk2/hbmk2.prg
    * Cleaned up to use hard-coded .exe extensions in autodetection 
      code for tools which have no other version. (syncing with 
      above GNU Make change). This has no effect yet.

  * config/global.mk
  * utils/hbmk2/hbmk2.prg
    ! xcc.exe -> xCC.exe
2010-06-10 00:34:12 +00:00
Viktor Szakats
163ee53500 2010-06-06 00:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * external/sqlite3/Makefile
  * utils/hbmk2/hbmk2.prg
  * config/global.mk
  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    * Changed HB_COMPILER_VER values for msvc targets. Previously it was
      the Visual Studio version, now it is the C compiler version,
      the same value used in _MSC_VER predefined macro:

         Name                                    old  NEW
         -------------------------------------- ---- ----
         C Compiler version 6.0                       600
         C/C++ compiler version 7.0                   700
         Visual C++, Windows, version 1.0        100  800
         Visual C++, 32-bit, version 1.0         100  800
         Visual C++, Windows, version 2.0        200  900
         Visual C++, 32-bit, version 2.x         200  900
         Visual C++, 32-bit, version 4.0         400 1000
         Visual C++, 32-bit, version 5.0         500 1100
         Visual C++, 32-bit, version 6.0         600 1200
         Visual Studio .NET (2002), version 7.0  700 1300
         Visual Studio .NET 2003, version 7.1    710 1310
         Visual Studio 2005, version 8.0         800 1400
         Visual Studio 2008, version 9.0         900 1500
         Visual Studio 2010, version 10.0       1000 1600

      INCOMPATIBLE for users setting HB_COMPILER_VER manually, pls
      change the value as indicated above. For most users it's
      recommended to rely on autodetection and not to set this
      variable at all.

  * config/postinst.prg
    ! Fixed to use hb_osFileMask() instead of hard-coded '*' mask.
2010-06-05 22:53:22 +00:00
Viktor Szakats
9adb84e258 2010-05-09 00:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added Ubuntu 10.4 as tested version.

  * include/common.ch
    + Added HB_HMERGE_* constant for HB_HMERGE() function.

  * package/winuni/mpkg_win_uni_extra_copy.bat
    * Commented line not necessary for official mingw build.

  * contrib/hbsqlit3/tests/hooks.prg
  * contrib/hbsqlit3/tests/authoriz.prg
  * contrib/hbsqlit3/tests/backup.prg
    + Added missing '()'s from :__enum* accesses.

  * config/win/mingw.mk
    ! Fixed after last minute change breaking it when HB_COMPILER_VER 
      is not set.

  * examples/httpsrv/uhttpd.prg
    % Replaced 'var:__enumValue()' with 'var' in FOR EACH loops.
2010-05-08 22:57:30 +00:00
Viktor Szakats
fe9baad66f 2010-05-07 17:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    - Deleted 'rarely updated' from official mingw comment.
    - Deleted equation mingw edition.
    * QT 4.5.x is not recommended over 4.6.x anymore.
    + Added link for QT 4.6.x.
    + Added more details to mingw version with DWARF support.
      (required for QT 4.6.x)

  * config/win/mingw.mk
    + Added more comment on newly added linker options.
    ! Fixed to only enable newly added linker options for
      4.5.x and above. (tdm 4.4.x doesn't support them)
2010-05-07 15:46:56 +00:00
Viktor Szakats
b0b7563760 2010-05-07 17:19 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/winuni/RELNOTES
    * Updated according to local tool changes.
      (mingw 4.5.0 was released by official mingw project)

  * config/win/mingw.mk
    + Enabled nxcompat and dynamicbase for mingw/mingw64
      4.4 and upper. Note, the version isn't autodetected,
      so it should be passed manually using HB_COMPILER_VER,
      f.e.: HB_COMPILER_VER=45.

  * config/global.mk
    + mingw64 will now default HB_COMPILER_VER to '44'.

  * config/win/msvc.mk
    * Added comment.
2010-05-07 15:19:58 +00:00
Viktor Szakats
6778c4fcdc 2010-05-07 12:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/win/mingw.mk
    + Enabled --nxcompat and --dynamicbase options for mingw64
      targets.

  * utils/hbmk2/hbmk2.prg
    * Changed -mkimplib usage as follow:
         -mkimplib=some.dll [implib_name_or_dir]
      It's incompatible with previous one, but allows for simpler,
      short calls.
    ! Fix to path normalizer to also append a pathsep to "." when
      the resulting directory is an empty one.
    * Minor internal change (cCCEXT moved to hbmk structure)

  * config/postinst.prg
    % Changed to use new -mkimplib parameter format.
      (untested)
2010-05-07 10:36:34 +00:00
Viktor Szakats
7df007ad24 2010-04-23 02:26 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    * Changed low warning level for msvc/icc compilers to -W2
      (-W1 is the default).

  * config/wce/msvcarm.mk
  * config/win/icc.mk
  * config/win/msvc.mk
    + Upped 'HB_BUILD_WARN=no' warning level for msvc/icc
      compilers to '-W2'. (matching hbmk2 -warn=low level)

  * config/dos/watcom.mk
  * config/win/watcom.mk
  * config/linux/watcom.mk
  * config/os2/watcom.mk
    + Upped 'HB_BUILD_WARN=no' warning level for msvc/icc
      compilers to '-w1'. (matching hbmk2 -warn=low level)
2010-04-23 00:30:50 +00:00
Viktor Szakats
a4bf46c73f 2010-04-23 01:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    * Reverted bcc experimental warning tweak.
    * Fine tuned bcc -warn levels.
    ! Fixed sunpro warning levels.

  * config/beos/gcc.mk
  * config/bsd/gcc.mk
  * config/wce/mingwarm.mk
  * config/darwin/gcc.mk
  * config/darwin/clang.mk
  * config/hpux/gcc.mk
  * config/dos/djgpp.mk
  * config/win/mingw.mk
  * config/win/cygwin.mk
  * config/linux/gcc.mk
  * config/linux/clang.mk
  * config/os2/gcc.mk
  * config/sunos/gcc.mk
    + Upped 'HB_BUILD_WARN=no' warning level for GCC
      and compatible compilers to '-W'.

  * config/linux/sunpro.mk
  * config/sunos/sunpro.mk
    ! Fixed to not disable all warnings explicitly
      in HB_BUILD_WARN=no mode.

  * config/win/bcc.mk
    * Minor sync with hbmk2.
2010-04-22 23:53:45 +00:00
Viktor Szakats
4a2e6a156a 2010-04-23 01:05 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/beos/gcc.mk
  * config/bsd/gcc.mk
  * config/wce/mingwarm.mk
  * config/darwin/gcc.mk
  * config/darwin/clang.mk
  * config/hpux/gcc.mk
  * config/dos/djgpp.mk
  * config/win/mingw.mk
  * config/win/cygwin.mk
  * config/linux/gcc.mk
  * config/linux/clang.mk
  * config/os2/gcc.mk
  * config/sunos/gcc.mk
    * Cosmetic sync with hbmk2. ('-Wall -W' -> '-W -Wall')
2010-04-22 23:06:16 +00:00
Viktor Szakats
b4181a49f6 2010-04-16 13:25 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/win/msvc.mk
  * utils/hbmk2/hbmk2.prg
    * Replaced -Ot2b1 win/msvc* option with -O2 as recommended by Microsoft,
      and in sync with GNU Make. This will result in somewhat larger
      executable, but this gives the best overall performance. AFAICS
      this change will practically allow automatic inlining to take place.
      This puts msvc in the lead again compared to mingw regarding speed.

  * config/wce/msvcarm.mk
    * Deleted bogus option -Od turning off all optimization for
      wce/msvcarm targets for new compiler versions.

  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    * Deleted Exception Handling options from all msvc cmdlines
      where it was supplied. It has a heritage from the past, and
      I could depict no sense in the setup:
         - old wce/msvcarm: -EHsc
         - new wce/msvcarm: -EHsc-
         - old win/msvc*: none
         - new win/msvc*: -EHs-c-
      The only place this could be needed ATM is hbqt, so pls report
      results after this change, or unleash any information about
      proper usage of these options.
      NOTE: These options were already left out from hbmk2.

  * utils/hbmk2/hbmk2.prg
    * Deleted -YX option for old msvc versions. (to be in sync with
      this recent change in GNU Make)
    * Synced msvcarm options for new compiler versions with GNU Make.
      (deleted bogus -Od and some other options)

  ; TODO: msvc optimization options for old compiler version could
          still use a revamp.
2010-04-16 11:27:55 +00:00
Viktor Szakats
2b5e574b09 2010-04-13 12:19 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/poccarm.mk
  * config/dos/watcom.mk
  * config/win/xcc.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/linux/watcom.mk
  * config/os2/watcom.mk
    * Changed to not forcefully turn off warnings in some targets.
      (so HB_BUILD_WARN=no is now equivalent to hbmk2 -warn=def)
    ; NOTE: This will result in some new warnings in /external
            dir since for above compilers I've now upped the
            warning level from nothing to the default level.

  * external/zlib/Makefile
    * Changed to not set Harbour level warnings for this
      external component (in sync with all the others).
2010-04-13 10:20:35 +00:00
Viktor Szakats
037260a10b 2010-03-28 11:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/mingwarm.mk
  * config/win/mingw.mk
  * config/win/cygwin.mk
  * config/os2/gcc.mk
    ! Fixed resource compiler binary name to honor CCPREFIX and friends.

  * utils/hbrun/Makefile
  + utils/hbrun/hbrun.rc
    + Added resource file to include icon.
    ; TOFIX: The .ico file path is hard-wired and will break if HB_BUILD_NAME
             contains subdirs.

  * bin/postinst.bat
    - Deleted no more necessary hack to build hbrun with icon using hbmk2.
2010-03-28 09:43:41 +00:00
Viktor Szakats
1c4fffba99 2010-03-28 11:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * config/rules.mk
  + config/res.mk
  * config/bin.mk
  * config/wce/global.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/common/watcom.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/win/cygwin.mk
  * config/win/global.mk
  * config/win/msvc.mk
  * config/os2/watcom.mk
  * config/os2/gcc.mk
  * config/os2/global.mk
    + Added support to GNU Make system to compile and link resources
      on win, wce and os2 platforms.

  * bin/postinst.bat
    + Deleted requirements from local comment. These are
      documented in INSTALL.
2010-03-28 09:18:27 +00:00
Viktor Szakats
504e7698e9 2010-03-22 00:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added experimental -mkimplib= option to "convert" .dll
      files into import libraries. Syntax tentative.
    ; TODO: Support for idiotic -a Borland C implib option.
            If anyone has an idea how to detect when to use
            -a and when not, I will implement it. If not,
            I will most probably drop maintaining -a option
            for bcc and leave it off. This leaves implibs
            working for most .dlls we currently use, but will
            break some (blat, curl, cairo, pq, alleg from
            contrib).

  * config/win/xcc.mk
  * utils/hbmk2/hbmk2.prg
    ! Fixed to use case-correct filenames for xcc tools.

  * bin/hb-mkimp.prg
    + Added msvcia64, msvcarm, xcc support.
    ! Fixed few library specs for msvc*.
    * FS_ERROR -> F_ERROR
    ! Fixed handling spaces inside dll name for msvc*.
    ! Fixed handling non .dll extension for msvc*.
2010-03-21 23:44:16 +00:00
Viktor Szakats
17c6e80808 2010-03-13 17:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + hbmainstd/hbmainwin lib is now added for mingw family
      to lib list also for static executables. It fixes the GPF
      at startup with Equation Solution mingw64 build. I hope
      it doesn't create any harm for other builds, it remains
      to be tested.
    % Disabled -fomit-frame-pointer for mingw64.

  * utils/hbformat/Makefile
  * utils/hbmk2/Makefile
  * utils/hbi18n/Makefile
  * utils/hbtest/Makefile
  * utils/hbrun/Makefile
  * config/win/mingw.mk
    % "HB_MAIN" logic eliminated from local make files and moved
      to mingw.mk only.
2010-03-13 16:27:08 +00:00
Viktor Szakats
805f3b55e8 2010-03-12 02:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbssl/evpmd.c
    ! Disabled md2 support for >= 1.0.0 OpenSSL versions.
      Seems they dropped it.

  * contrib/hbssl/ssl.c
  * contrib/hbssl/x509.c
  * contrib/hbssl/sslctx.c
    ! Disabled some code parts which didn't compile with
      >= 1.0.0 OpenSSL versions. This is not the right fix,
      but I just can't figure what went wrong (or what
      has been changed) in OpenSSL which cases it. There
      is something wrong around 'X509_NAME' symbol.

  * utils/hbmk2/hbmk2.prg
  * config/beos/gcc.mk
  * config/bsd/gcc.mk
  * config/wce/mingwarm.mk
  * config/darwin/gcc.mk
  * config/hpux/gcc.mk
  * config/win/mingw.mk
  * config/win/cygwin.mk
  * config/linux/gcc.mk
  * config/linux/icc.mk
  * config/os2/gcc.mk
  * config/sunos/gcc.mk
    - Deleted '-pipe' option. Efficient, but buggy. It didn't take
      too long to bump into the problem: On build error, the
      .o file is generated with some dummy content, so a second
      build attempt will silently make build errors ignored.

  * contrib/rddsql/sddfb/sddfb.c
    * Minor formatting.
2010-03-12 01:11:58 +00:00
Viktor Szakats
0c5ec513ff 2010-03-10 14:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/win/cygwin.mk
  * config/win/mingw.mk
  * config/wce/mingwarm.mk
    % Added -pipe option to win/gcc compilers, this way it's faster 
      (but consume more memory) since it passes intermediate files 
      - I could only spot the .s file - without writing them to disk.
      Probably we should enable this on other platforms as well,
      and if it works out well, also in hbmk2.
2010-03-10 13:34:54 +00:00
Viktor Szakats
76272762cd 2010-03-08 15:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbsocket.c
  * bin/hb-mkdyn.sh
  * bin/hb-func.sh
  * utils/hbmk2/hbmk2.prg
  * config/win/global.mk
    + Restored to work with ws2_32.dll. (instead of wsock32)

  * INSTALL
    + Added information on Win9x/ME support.
2010-03-08 14:40:49 +00:00
Viktor Szakats
ffc82a2bfd 2010-03-08 12:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/diskspac.c
  * src/rtl/disksphb.c
    + Added comment about the reason why GetDiskFreeSpaceEx()
      is called dynamically (win95 first edition support).
    + Added support for HB_NO_WIN95 build-time flag to drop
      Win95 compatibility. Unfortunately current dynamic load
      trick fails with UNICOWS, returning zero for disk
      space related calls in this scenario. If we drop the
      dynamic call, we lose support for Win95 first edition,
      but these functions will work properly on Win95b/98/ME
      in return. I'm still thinking about it, but maybe it's
      better to drop Win95 first edition support altogether
      and make newer versions work properly. Any opinions?

  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_wingdi_font.c
    ! Fixed to use WIDE/ANSI versions of dynamically executed
      functions according to UNICODE setting.

  * bin/hb-mkdyn.sh
  * bin/hb-func.sh
  * utils/hbmk2/hbmk2.prg
  * config/win/global.mk
    ! Stepping back to link against wsock32 instead of ws2_32.
      The only reason is Win95 (even OSR2) compatibility.
      This is a little bit less efficient unfortunately.

  * src/rtl/hbsocket.c
    ! Fixed to use WSAioctl via dynamic call for non WinCE
      builds, and if HB_NO_WIN95 macro is no defined.
      WSAioctl is present in ws2_32.dll, which .dll isn't
      available on Win95.
    ; Not tested since I don't know how to test it, pls
      review and test.
    ; NOTE: There seem to exist a package which add ws2_32 
            support for Win95, but I couldn't find it, if 
            someone has, we can drop this ugly trick and 
            simply document the requirement.

  * src/rtl/gtwin/gtwin.c
    * Formatting.
2010-03-08 11:32:16 +00:00
Viktor Szakats
8a8ae50ff3 2010-03-05 21:18 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* external/Makefile
    + Added bzip2.

  * external/bzip2/Makefile
    ! Fixed to avoid stupid BCC tlib warning by enabling
      "case-sensitive library" option.

  * config/global.mk
  * config/beos/gcc.mk
  * config/bsd/gcc.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/darwin/gcc.mk
  * config/darwin/icc.mk
  * config/darwin/clang.mk
  * config/hpux/gcc.mk
  * config/dos/djgpp.mk
  * config/common/watcom.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/icc.mk
  * config/win/cygwin.mk
  * config/win/msvc.mk
  * config/linux/gcc.mk
  * config/linux/icc.mk
  * config/linux/clang.mk
  * config/linux/sunpro.mk
  * config/os2/gcc.mk
  * config/sunos/gcc.mk
  * config/sunos/sunpro.mk
    + Added support for HB_AFLAGS. Only bcc needs it ATM.
2010-03-05 20:21:44 +00:00
Viktor Szakats
ae2d28bbc8 2010-02-27 20:07 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbodbc/odbc.c
  * contrib/rddsql/sddodbc/sddodbc.c
    ! Silenced warnings.

  * contrib/rddsql/sddoci/sddoci.c
  * contrib/rddsql/sddoci/tests/test1.prg
    + Finished type mapping and value translation.
    ; Not being an Oracle user, I only have the few sample
      tables, so no testing was made with these types.
    ; TOFIX: decimal position retrieval is currently wrong.
    ; TOFIX: date/time/timestamp doesn't seem to get through.

  * config/win/global.mk
  * config/rules.mk
    * Moved HB_BUILD_UNICODE handling here for win platform,
      to allow disabling it for potential 3rd party libs which
      don't support UNICODE mode.

  * src/common/hbffind.c
    * Formatting.
2010-02-27 19:09:47 +00:00
Viktor Szakats
66b730d32d 2010-02-26 10:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
+ contrib/hbfoxpro/dll.prg
  + contrib/hbfoxpro/Makefile
  * contrib/hbwin/Makefile
  - contrib/hbwin/win_dllf.prg
    + Moved FoxPro-like dynamic call function to
      hbfoxpro lib.
      Renamed it to FOX___DYNCALL() until we find
      it a better name, or someone will suggest
      how this is best presented for actual FoxPro
      users.

  * contrib/Makefile
  * utils/hbmk2/examples/contribf.hbc
    + Enabled hbfoxpro lib.

  * config/wce/global.mk
  * config/win/global.mk
    * Formatting.
2010-02-26 09:57:39 +00:00
Viktor Szakats
de98c077f8 2010-02-25 01:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/wce/global.mk
  * config/win/global.mk
  * config/win/msvc.mk
  * config/rules.mk
  * INSTALL
    * UNICODE mode turned on for all Windows compilers.
      To override it, use: 'HB_BUILD_UNICODE=no'
    % Cleaned the way UNICODE is enabled.

  * src/common/hbfsapi.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gtpca/gtpca.c
    ! HB_IO_WIN -> HB_OS_WIN.
      (missed from previous commit)

  * utils/hbmk2/hbmk2.prg
    * ENDTEXT -> #pragma __endtext
      (Thanks for the hint, Xavi)
2010-02-25 00:53:15 +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
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
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
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
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
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
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
55c332e09c 2009-12-04 01:45 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/beos/gcc.mk
  * config/global.mk
  * config/bsd/gcc.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/hpux/gcc.mk
  * config/darwin/gcc.mk
  * config/darwin/icc.mk
  * config/darwin/clang.mk
  * config/dos/watcom.mk
  * config/dos/djgpp.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/win/icc.mk
  * config/win/cygwin.mk
  * config/win/msvc.mk
  * config/linux/watcom.mk
  * config/linux/gcc.mk
  * config/linux/icc.mk
  * config/linux/clang.mk
  * config/linux/sunpro.mk
  * config/os2/watcom.mk
  * config/os2/gcc.mk
  * config/sunos/gcc.mk
  * config/sunos/sunpro.mk
    % Moved initialization of *FLAGS vars into global.mk.
      Compiler .mk files only append to these vars.
    * Minor syncing between compilers regarding initial CFLAGS setup.
2009-12-04 00:47:16 +00:00
Viktor Szakats
43d68fd1de 2009-12-04 00:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/beos/gcc.mk
  * config/bsd/gcc.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/hpux/gcc.mk
  * config/darwin/gcc.mk
  * config/darwin/icc.mk
  * config/darwin/clang.mk
  * config/dos/watcom.mk
  * config/dos/djgpp.mk
  * config/common/watcom.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/win/icc.mk
  * config/win/cygwin.mk
  * config/win/msvc.mk
  * config/linux/watcom.mk
  * config/linux/gcc.mk
  * config/linux/icc.mk
  * config/linux/clang.mk
  * config/linux/sunpro.mk
  * config/os2/watcom.mk
  * config/os2/gcc.mk
  * config/sunos/gcc.mk
  * config/sunos/sunpro.mk
    * Initializing LDFLAGS, DFLAGS and ARFLAGS at the beginning of files.
      This allows to easily add to these var according to build settings.
      It also syncs all .mk files to use the same layout in this regard.

  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    + Added -debug linker option to .dll linking for msvc/msvcarm targets.
2009-12-03 23:44:40 +00:00
Viktor Szakats
5e1440f748 2009-12-04 00:18 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
     ! Added -debug linker option when building .dll for msvc and compatible targets.
     ! Fixed minor regression in embedded CRLFs of hbmk2 texts.

   * config/win/msvc.mk
   * utils/hbmk2/hbmk2.prg
     + Added -MT/-MTd for win/msvc compatible targets when verison is 7.1 (.NET 2003)
       or older. On these versions this will assure that multithreading C RTL is 
       being used (at the same time forcing static C RTL).

   * config/wce/msvcarm.mk
   * config/win/msvc.mk
     + Added -debug linker option for executables.
     ; TODO: Add it for .dlls too.

   * config/globsh.mk
     + Deleting (MSVC) .pdb and .ilk files for executables and dynlibs on 'make clean'.
2009-12-03 23:20:47 +00:00
Viktor Szakats
d409d69959 2009-12-03 14:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-mkimp.bat
    - Deleted creation of QT implibs for mingw. Enough to use what's
      provided by QT SDK.

  * contrib/hbqt/qtgui/QLabel.cpp
  * contrib/hbqt/hbqt_garbage.h
  * contrib/hbqt/qtcore/filelist.mk
    * Rerun generator. This caused that QTUILoader references
      got removed, plus a few other changes.

  * contrib/hbqt/qtcore/QUiLoader.cpp
    - Deleted header telling this file is automatically generated.
    ! Manually fixed debug lines to be in sync with rest of hbqt.

  * contrib/hbqt/qtcore/Makefile
    ! Fixed to add QTUILoaded stuff manually, since it's missing
      from generated filelist.mk.

  * config/win/msvc.mk
    * Minor in comment.
2009-12-03 13:57:38 +00:00
Viktor Szakats
feee8ccc87 2009-12-03 13:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/xhb/freadlin.c
  * contrib/hbide/freadlin.c
    ! Fixed C mode MSVC warning.

  * config/win/msvc.mk
    - Removed -MT switch from default MSVC options. It should be user controlled
      and -MT seemed to be the default anyway. Now it's also in sync with hbmk2
      and also with msvcarm target.
2009-12-03 12:58:22 +00:00
Viktor Szakats
4528304446 2009-11-23 20:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_tprn.prg
  * contrib/hbwin/win_prn1.c
    ! Fixed ::SETPEN() and WIN_SETPEN() to not leak objects.
      Patch submitted by Xavi.

  * config/wce/poccarm.mk
  * config/win/pocc.mk
    % Removed some unnecessary logic, thus making it similar to all
      other compiler setups.

  * ChangeLog
    * TODO marked as DONE.
2009-11-23 19:27:18 +00:00