Commit Graph

18 Commits

Author SHA1 Message Date
Viktor Szakats
d0e102ec17 2012-04-01 11:21 UTC+0200 Viktor Szakats (harbour syenar.net)
* config/win/watcom.mk
  * config/win/xcc.mk
  * config/win/icc.mk
  * config/win/global.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/msvc.mk
    + reworked unicows lib support so now watcom will also 
      work (not tested)

  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
    - deleted $(SYSLIBPATHS) in sync with win, left multiple 
      lib path support.

  * contrib/hbwin/win_regc.c
    * formatting
2012-04-01 09:26:13 +00:00
Viktor Szakats
42afe8cca0 2012-03-31 19:29 UTC+0200 Viktor Szakats (harbour syenar.net)
* config/win/global.mk
  * config/rules.mk
    * moved UNICODE enabler logic to win platform make files,
      similarly to wce.

  * contrib/gtwvg/gtwvg.hbp
  * contrib/gtwvg/wvtwin.ch
    % deleted forced -DUNICODE option
    % deleted unused non-UNICODE macros from Harbour level header
2012-03-31 17:35:39 +00:00
Viktor Szakats
275c97662a 2012-03-31 18:55 UTC+0200 Viktor Szakats (harbour syenar.net)
* config/win/global.mk
  * Makefile
    ! fixed to find unicows libs when HB_BUILD_NAME is set
2012-03-31 16:55:57 +00:00
Viktor Szakats
47776af691 2012-03-31 18:42 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    + will now add lib/3rd dir to the link commands, so
      unicows lib will be found in uninstalled Harbour SVN
      source tree.

  * contrib/make.hbs
  * contrib/hbpost.hbm
    + automatically enable unicows support for contribs, if available.
    - deleted support for undocumented __HB_BUILD_WINUNI envvar

  * config/global.mk
  * config/rules.mk
    - deleted support for undocumented __HB_BUILD_WINUNI envvar

  * package/winuni/mpkg_win_uni.bat
  * package/mpkg_win_nightly.bat
    - deleted special support for unicows libs for nightly
      and official releases, along with HB_DIR_UNICOWS envvar.
      Now these libs are included in all builds.

  * config/win/global.mk
    + automatically enable unicows support for core, if available.

  * config/win/xcc.mk
  * config/win/icc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/msvc.mk
    + added support for SYSLIBPATHS. (used by unicows support)
    ! fixed bcc dynlib link command missing libpaths.
    ; NOTE: watcom unicows support is missing, as it needs
            special tricks due to missing separate libpath option
            in this compiler/linker.

  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
    * synced with config/win files

  + config/libbin.mk
    + added rule to install pre-built binary libs.
      (for unicows libs)

  * Makefile
  + lib/3rd
  + lib/3rd/win
  + lib/3rd/win/mingw
  + lib/3rd/win/mingw/Makefile
  + lib/3rd/win/mingw/libunicows.a
  + lib/3rd/win/mingw/libunicows_license.txt
  + lib/3rd/win/bcc
  + lib/3rd/win/bcc/unicows_license.txt
  + lib/3rd/win/bcc/unicows.lib
  + lib/3rd/win/bcc/Makefile
    + added locally hosted unicows runtime/implibs from:
      http://libunicows.sourceforge.net/ by author Vaclav Slavik.
      With these libs, it's possible to use UNICODE builds
      with both MS unicows.dll and opencows .dll on legacy
      Windows-system (Win9x).
      These libs will be installed to Harbour core lib directory,
      and also used from lib/3rd directory, if they are available.
      I've uploaed mingw and bcc libs because these are used
      nearly exclusively by users, but they are also available
      for older msvc, watcom, dmc and lcc compilers. I don't
      think it's worth the extra size to support Win9x using
      these legacy compilers, anyhow they can be added easily
      if needed (except watcom, which requires more work).

  ; These changes mean three things:
    1. Harbour now has only one build mode on Windows: UNICODE
       This will greatly simplify coding and testing and will
       allow to focus much better on what's important. It also
       allows to drop lots of dual code dealing with separate
       UNICODE and non-UNICODE branches.
    2. Harbour default builds will now run on Win9x (currently
       when using mingw or bcc compilers), though UNICOWS.DLL
       is now required. See INSTALL how to get this free .dll
       from MS. This also means that Harbour can now theoretically
       by built on Win9x systems (I didn't try).
    3. Harbour users can create UNICODE builds compatible with
       Win9x, by simply adding -lunicows to their .hbp projects.
       No extra installation is required.
2012-03-31 16:43:33 +00:00
Viktor Szakats
2cc82ff942 2011-07-12 00:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/win/global.mk
  * contrib/hbpost.hbm
    + added undocumented build option __HB_BUILD_WINUNI=unicows
      to build Harbour core binaries (.exes and .dlls) with
      unicows lib linked it so they run on Win9x systems.
      User has to supply unicows libs, see INSTALL about them.
2011-07-11 22:11:25 +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
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
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
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
96004e5bbd 2009-11-12 16:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Updated dev list max attachment size.

  * INSTALL
  * config/beos/libs.mk
  * config/global.mk
  * config/bsd/libs.mk
  * config/bin.mk
  * config/wce/global.mk
  * config/hpux/libs.mk
  * config/darwin/libs.mk
  * config/dos/djgpp.mk
  * config/win/global.mk
  * config/linux/libs.mk
  * config/os2/gcc.mk
  * config/sunos/libs.mk
    + Added support for HB_USER_LIBS build option to specify 
      extra libs. Note: This is useful only in very special 
      cases, so pls don't use it unless you exactly know what 
      you want to do. The libs have to be specced without 
      prefixes and extensions. It will be added after Harbour 
      libs and before system libs.
2009-11-12 15:24:23 +00:00
Viktor Szakats
4551f563c3 2009-09-22 00:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/win/global.mk
    + Enabled UNICODE mode for all 64-bit Windows targets.
      Here there is no concern about Win9x compatibility, so
      it can be safely done, and I hope this move will make it
      easier to catch UNICODE coding problems, as it will be now
      part of some default builds.
      The ultimate litmus test is on Windows is msvc64, where
      C++, 64-bit and Unicode compatibility is tested at the
      same time.
2009-09-21 22:44:55 +00:00
Viktor Szakats
9ad0920842 2009-08-21 10:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
  * bin/hb-mkdyn.bat
    + Deleting hbpp dynamic built object to not interfere with
      harbour dll creation when picking up the objects with wildcard.
    * Changed .dll creation script to not filter out above object
      explicitly, it's not needed anymore.

  * source/vm/mainwin.c
  * source/vm/mainstd.c
  * bin/hb-mkdyn.bat
    + Added hack to exclude any content when creating dynamic build
      objects for win/watcom. Any content here breaks .dll creation
      on this target.
    * Changed .dll creation script to not filter out above objects
      explicitly, it's not needed anymore.

  * config/global.mk
    % Changed CPU detection to use $(filter)
    + Added CPU detection based on wce compilers.
    + Showing detected host and target CPU architecture in log
      (if it could be detected - this is currently only implemented
      for non-*nix targets)
    - Deleted host binary extension display in verbose mode.
    - Deleted now unused HB_BUILD_VERBOSE option.

  * config/global.mk
    + Added HB_DYN_VER variable to hold the version number used in Harbour
      dynamic libary name.

  * config/bsd/global.mk
  * config/darwin/global.mk
  * config/hpux/global.mk
  * config/linux/global.mk
  * config/os2/global.mk
  * config/sunos/global.mk
  * config/wce/global.mk
  * config/win/global.mk
    + Added DYN_EXT variables for each platform.

  * source/Makefile
  * config/rules.mk
  + config/dyn.mk
  + source/dynlib
  + source/dynlib/mt
  + source/dynlib/mt/Makefile
  + source/dynlib/Makefile
  * config/win/msvc.mk
    + Added experimental .dll building feature to the GNU Make system.
      It's only implemented for MSVC yet.
      The goal is to replace shell specific (postinst) solutions.

  * utils/hbmk2/hbmk2.prg
    + Added darwin/icc support. Untested yet.

  * source/vm/maindllp.c
    ! Fixed typo in prev commit.
2009-08-21 08:58:55 +00:00
Viktor Szakats
213b636bb5 2009-08-17 19:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
- config/prg.cf
  + config/dirsh.mk
  - config/none.cf
  - config/global.cf
  - config/lib.cf
  + config/prg.mk
  - config/bin.cf
  - config/dir.cf
  - config/globsh.cf
  + config/none.mk
  + config/global.mk
  + config/bsd/gcc.mk
  - config/bsd/gcc.cf
  + config/bsd/global.mk
  - config/bsd/global.cf
  - config/c.cf
  + config/lib.mk
  - config/wce/msvcarm.cf
  + config/wce/global.mk
  - config/wce/global.cf
  + config/wce/mingwarm.mk
  - config/wce/mingwarm.cf
  + config/wce/poccarm.mk
  - config/wce/poccarm.cf
  + config/wce/msvcarm.mk
  + config/bin.mk
  - config/header.cf
  - config/rules.cf
  + config/darwin/gcc.mk
  - config/darwin/gcc.cf
  + config/darwin/global.mk
  - config/darwin/global.cf
  + config/hpux/gcc.mk
  - config/hpux/gcc.cf
  + config/hpux/global.mk
  - config/hpux/global.cf
  + config/dir.mk
  + config/globsh.mk
  + config/dos/watcom.mk
  - config/dos/watcom.cf
  + config/dos/global.mk
  - config/dos/global.cf
  + config/dos/djgpp.mk
  - config/dos/djgpp.cf
  + config/c.mk
  - config/doc.cf
  - config/win/watcom.cf
  - config/win/mingw64.cf
  + config/win/xcc.mk
  - config/win/gcc.cf
  - config/win/msvcia64.cf
  - config/win/icc.cf
  - config/win/pocc64.cf
  + config/win/mingw.mk
  - config/win/cygwin.cf
  - config/win/global.cf
  + config/win/iccia64.mk
  + config/win/msvc64.mk
  + config/win/pocc.mk
  + config/win/bcc.mk
  - config/win/msvc.cf
  + config/win/watcom.mk
  + config/win/mingw64.mk
  + config/win/gcc.mk
  + config/win/msvcia64.mk
  + config/win/icc.mk
  - config/win/xcc.cf
  + config/win/pocc64.mk
  + config/win/cygwin.mk
  + config/win/global.mk
  - config/win/mingw.cf
  - config/win/msvc64.cf
  - config/win/iccia64.cf
  - config/win/pocc.cf
  - config/win/bcc.cf
  + config/win/msvc.mk
  - config/install.cf
  + config/header.mk
  - config/instsh.cf
  + config/linux/watcom.mk
  - config/linux/watcom.cf
  + config/linux/gcc.mk
  - config/linux/gcc.cf
  + config/linux/icc.mk
  - config/linux/icc.cf
  + config/linux/global.mk
  - config/linux/global.cf
  + config/linux/sunpro.mk
  - config/linux/sunpro.cf
  - config/dirsh.cf
  + config/rules.mk
  + config/os2/watcom.mk
  - config/os2/watcom.cf
  + config/os2/gcc.mk
  - config/os2/gcc.cf
  + config/os2/global.mk
  - config/os2/global.cf
  + config/sunos/gcc.mk
  - config/sunos/gcc.cf
  + config/sunos/global.mk
  - config/sunos/global.cf
  + config/sunos/sunpro.mk
  - config/sunos/sunpro.cf
  + config/doc.mk
  + config/install.mk
  + config/instsh.mk
    * Renaming .cf files to .mk.
      Pass 1. The SVN will be in non-working state until the next 
      commit. Please don't build Harbour for about an hour now.
2009-08-17 17:12:19 +00:00