Commit Graph

226 Commits

Author SHA1 Message Date
Viktor Szakats
0703b5799d 2011-02-13 13:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
  * src/dynlib/Makefile
  + src/dynlib/2nd
  + src/dynlib/2nd/Makefile
    * Changed so that _HB_BUILD_DYN_ST=yes now creates a separate,
      secondary dll in ST mode, called harbourst/harbours.
2011-02-13 12:47:03 +00:00
Viktor Szakats
1db06691e5 2011-02-10 21:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/dynlib/Makefile
  * config/postinst.hbs
  * config/global.mk
  * config/bin.mk
    * Cleaned up names after previous change.
2011-02-10 20:51:49 +00:00
Viktor Szakats
64eec33e40 2011-02-10 19:18 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
- src/dynlib/mt
  * src/dynlib/Makefile
  * src/vm/maindllp/dllpcode.c
  * package/winuni/mpkg_win_uni.bat
  * package/winuni/mpkg_win_uni.nsi
  * utils/hbmk2/hbmk2.prg
  * config/postinst.hbs
  * config/global.mk
  * config/bin.mk
    * Changed to have only one harbour dll, and this one with MT support.
      This means the old MT mode dll named harbourmt/harbourm is no more
      and the old ST mode dll vanished also. This will result in much 
      cleaner layout of Harbour binary tree, smaller distribution size, 
      and unambigous dll tree when linking an app with dll multiple 
      components (f.e. contribs).
      If someone wants to build an ST mode harbour dll, she can use the 
      internal build-time option: _HB_BUILD_DYN_ST=yes
    ; Please test.

    ; TODO: Do a final cleanup on internal variable names to not have "ST" in them.
2011-02-10 18:21:32 +00:00
Viktor Szakats
cac8327c29 2011-02-03 09:47 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  * INSTALL
    + Minix additions.

  * config/global.mk
    ! Added missing 'else' after prev.
2011-02-03 08:47:48 +00:00
Viktor Szakats
93e1f182c4 2011-02-03 09:18 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbthread.h
  * include/hbdefs.h
  * include/hbsetup.h
  * include/hbatomic.h
  * include/hbfloat.h
  * src/vm/task.c
  * src/common/hbgete.c
  * src/common/hbver.c
  * src/common/hbprintf.c
  * src/rtl/gtcrs/gtcrs.h
  * src/rtl/hbsocket.c
  * utils/hbmk2/hbmk2.prg
  * config/detplat.mk
  * config/global.mk
  * config/detect.mk
  + config/minix
  + config/minix/libs.mk
  + config/minix/gcc.mk
  + config/minix/ack.mk
  + config/minix/global.mk
    + Added Harbour port for minix 3 operating system.
    ; Created by Tamas Tevesz. Many thanks!
2011-02-03 08:20:28 +00:00
Viktor Szakats
076030bc1a 2011-01-20 18:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* package/harbour.spec
  * package/harbour-win.spec.in
  * package/harbour-wce.spec.in
  * include/hbver.h
  * config/global.mk
    + Changed version number to:
         2.1.0rc1 (from 2.1.0beta3)
2011-01-20 17:30:41 +00:00
Viktor Szakats
b32bedb92c 2010-12-11 00:30 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
  * config/rules.mk
  * contrib/hbpost.hbm
  * INSTALL
    + Renamed HB_BUILD_UNICODE to HB_BUILD_WINUNI.
      Reasons many-fold, first it makes it clear this is a Windows
      only setting, second it makes room for future UNICODE
      setting which may mean a native UNICODE Harbour HVM,
      third is to try to clear up the wide misunderstandings
      surrounding this setting (several users thought this
      will enable general UNICODE support in Harbour).
    + Extended/changed description of option HB_BUILD_WINUNI,
      explaining its purpose better, giving more precise details
      for WinCE builds and builds on Win9x/ME hosts.
    ; INCOMPATIBLE: If you use this setting, rename it on
                    your system. Note1: You don't have to set this
                    when doing WinCE builds (it's ignored).
                    Note2: Try UNICOWS, instead of overriding
                    this setting. It works.
2010-12-10 23:38:38 +00:00
Viktor Szakats
ea6b36066c 2010-12-09 06:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/harbour.spec
  * package/harbour-win.spec.in
  * package/harbour-wce.spec.in
  * include/hbver.h
  * config/global.mk
    + Changed version number to:
         2.1.0beta3 (from 2.1.0beta2)

  * contrib/gtwvg/gtwvg.hbc
    ! Typo.

  * contrib/gtwvg/tests/wvgactivex.prg
    * Eliminated WITH OBJECT. Now Harbour doesn't
      use this statement except in test code.
2010-12-09 05:10:11 +00:00
Viktor Szakats
09d04796cd 2010-11-27 20:49 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    ! HB_INSTALL_PREFIX now defaults to /opt/harbour (instead of /usr/local)
      on darwin systems. (not tested)
      /opt/local is for MacPorts, plus /opt/harbour is the location 
      hardcoded into hbmk2 for .hbc autofind, so I opted for the latter.

  * contrib/hbhttpd/core.prg
    * Formatting.
2010-11-27 19:50:20 +00:00
Viktor Szakats
369874debf 2010-11-09 02:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/hbqt_hbmk2_plugin.hbs
    - Deleted debug lines.

  * contrib/hbqt/qtwebkit/hbqtwebkit.hbm
  * contrib/hbqt/hbqt_common.hbm
    + Added -deppkgname= to dependency checks.

  * config/global.mk
  * config/cygwin/gcc.mk
    * minor cygwin dyn fixes
      From Tamas.
2010-11-09 01:31:43 +00:00
Viktor Szakats
999382fba9 2010-11-08 01:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbmysql/hbmysql.hbp
  * contrib/gtalleg/gtalleg.hbm
  * contrib/sddmy/sddmy.hbp
  * contrib/hbodbc/hbodbc.hbp
  * contrib/sddfb/sddfb.hbp
  * contrib/hbsqlit3/hbsqlit3.hbp
  * contrib/hbmzip/hbmzip.hbp
  * contrib/hbmzip/3rd/minizip/minizip.hbp
  * contrib/hbexpat/hbexpat.hbp
  * contrib/hbqt/hbqt_common.hbm
  * contrib/hbfbird/hbfbird.hbp
  * contrib/sddpg/sddpg.hbp
  * contrib/hbbz2/hbbz2.hbp
  * contrib/hbcurl/hbcurl.hbm
  * contrib/hbcups/hbcups.hbp
  * contrib/hbhpdf/hbhpdf.hbp
  * contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
  * contrib/hbpgsql/hbpgsql.hbp
  * contrib/sddsqlt3/sddsqlt3.hbp
  * contrib/hbfimage/hbfimage.hbp
  * contrib/sddodbc/sddodbc.hbp
  * contrib/hbgd/hbgd.hbp
  * contrib/sddoci/sddoci.hbp
  * contrib/hbcairo/hbcairo.hbp
  * contrib/hbwin/hbwin.hbp
  * contrib/hbssl/hbssl.hbm
  * config/detfun.mk
  * config/global.mk
  * INSTALL
    * HB_BUILD_EXTDEF -> HB_BUILD_3RDEXT
2010-11-08 00:40:00 +00:00
Viktor Szakats
9cdb89624f 2010-11-05 15:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbexpat/expat/expat.hbp
  * contrib/hbexpat/hbexpat.hbp
  * contrib/hbexpat/hbexpat.hbc
    * Minor cleanups.

  * contrib/hbexpat/tests/tohash.prg
    + Added HB_HKEEPORDER( , .T. )

  * external/Makefile
  * config/global.mk
  * INSTALL
    - Deleted central option to control external lib building:
         HB_EXTERNALLIBS
    ! Also deleted one reference to HB_EXTERNAL_ADDONS, which has
      been removed earlier.

  + external/minizip/minizip.hbp
  + external/minizip/minizip.hbc
  + external/sqlite3/sqlite3.hbc
  + external/sqlite3/sqlite3.hbp
  + external/bzip2/bzip2.hbc
  + external/bzip2/bzip2.hbp
  + external/libhpdf/libhpdf.hbc
  + external/libhpdf/libhpdf.hbp
    + Added experimental hbmk2 make files for 
      foreign code which is used solely by contribs.
2010-11-05 14:59:11 +00:00
Viktor Szakats
241e472652 2010-11-01 22:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
    ! Fixed regression in 2010-11-01 16:42 UTC+0200.
      Forgot to set value for __PLATFORM__* macros.
      INCOMPATIBLE: So far the value returned by __PLATFORM__*
                    macros were the version part from the string
                    also returned by OS(), but only in non-cross
                    platform situations. Now they are defined
                    without any value, which means now the returned 
                    value is consistent regardless of build-situation
                    and OS version. If you relied on this feature, 
                    change your code to extract OS version from value 
                    return by OS() function.

  * src/vm/mainwin.c
    % Do not include windows header.

  * src/vm/cmdarg.c
    - Undone some (innocent) part of patch in 2010-11-01 13:53 UTC+0200.

  * INSTALL
    * Moved around cygwin inside example section.
2010-11-01 21:59:18 +00:00
Viktor Szakats
5e0daa68f6 2010-11-01 13:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/Makefile
  * src/vm/mainwin.c
  * src/vm/hvm.c
  * src/vm/cmdarg.c
  * src/vm/vmmt/Makefile
  * utils/hbmk2/hbmk2.prg
  * config/global.mk
  * config/cygwin/global.mk
    + Cygwin related patch from Tamas Tevesz.
      - Fixing cygwin dynamic lib name
      - Dynamic lib linking
      - defining __PLATFORM__CYGWIN in cross-platform builds

  * src/rtl/dateshb.c
  + tests/dttest.prg
    + HB_DATETIME() got new, optional nYear, nMonth, nDay, nHour, nMinute, nSecond, nFragment
      parameters. If passed, it will return date or timestamp based on passed parameters
      instead of current timestamp.
      Based on initiative and code by Carlos Bacco. Thank you!

  * contrib/hbsqlit3/hbsqlit3.c
    - Reverted UTF8 patch in 2010-11-01 00:05 UTC+0200.
    + Replaced above solution with transparent one, using
      Str API usage and extended it for all places where UTF8
      strings are expected or returned by sqlite3 API.
      Please test. This clears an old TOFIX.
    + Added TOFIX for raw pointer usage.

  * contrib/hbqt/qtgui/g/QApplication.cpp
  * contrib/hbqt/qtgui/qth/QApplication.qth
    ! Fixed to wrap one declaration in HB_EXTERN_BEGIN/END.
2010-11-01 12:58:15 +00:00
Viktor Szakats
ce94984a36 2010-10-29 21:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Do not warn about or require HB_HOST_BIN when doing
      cygwin cross-builds.
2010-10-29 19:28:55 +00:00
Viktor Szakats
df3b848bf6 2010-10-29 10:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hb_io.h
  * include/hbthread.h
  * include/hbsetup.h
  * src/vm/thread.c
  * src/vm/dynlibhb.c
  * src/common/hbgete.c
  * src/common/hbprintf.c
  * src/rtl/gttrm/Makefile
  * src/rtl/hbsocket.c
  * src/rtl/filesys.c
  * src/rtl/hbcom.c
  * config/global.mk
  - config/win/cygwin.mk
  + config/cygwin
  + config/cygwin/libs.mk
  + config/cygwin/gcc.mk
  + config/cygwin/global.mk
    + Applied cygwin patch from Tamas Tevesz.
      The goal is to migrate win/cygwin to cygwin/gcc, IOW to make cygwin
      a distinct platform (which is primarily unixy with option to access 
      winapi) as it should be.
      Changes made by me compared to original patch:
        - Fixed to HB_HOST_PLAT stay 'win'. Cygwin is not a host platform.
        - Fixed to set HB_COMPILER to gcc and HB_PLATFORM to cygwin when cygwin
          is detected on win platform.
        - Consequently some changes in global.mk could be dropped.
        - Deleted hbcom patches not related to cygwin.
        - Removed hbmk2 patch until we solve the 'plat $ 'cygwin' problem.
2010-10-29 08:24:01 +00:00
Viktor Szakats
f4aa2359de 2010-10-03 17:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added MS-DOS compiler (djgpp) detection when used on *nix platform
      in cross-compile scenario.
      BTW I've also found that I had already implemented win and wce
      autodetection based on global.mk, so it' supposed to work. Please
      test it.

  * config/global.mk
    - Deleted a variable not used anymore.
2010-10-03 15:46:50 +00:00
Viktor Szakats
f43e6c2d40 2010-09-28 03:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  * config/global.mk
  * INSTALL
    ! HB_BUILD_NAME/-build= no longer supports pathseps (backslash/fwdslash)
      (it would need costly solution to resolve compilation of 
       hbrun.rc, maybe more. It's also "cleaner" this way, since the 
       dir structure is not altered)
2010-09-28 01:54:18 +00:00
Viktor Szakats
7bdf4cef43 2010-09-15 23:25 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    + Pointing to INSTALL doc in missing HB_INSTALL_PREFIX error 
      message.
2010-09-15 21:25:53 +00:00
Viktor Szakats
8f37f7a0f0 2010-09-10 22:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    ! Adjustment to prev. Comment added.
2010-09-10 20:52:12 +00:00
Viktor Szakats
b8746abe7f 2010-09-10 22:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    * Will now show fatal error if HB_INSTALL_PREFIX is not set
      at all on non-*nix systems. Not setting this will result
      in missing COPYING file (which is obligatory accessory when
      distributing Harbour) and other crucial files like INSTALL,
      NEWS and ChangeLog.

  * INSTALL
    * HB_INSTALL_??? envvars deprecated. It's recommended to use
      HB_INSTALL_PREFIX instead and let the build system decide
      about the internal directory layout. Setting these to
      arbitrary values may break Harbour tools like hbmk2.
2010-09-10 20:12:00 +00:00
Viktor Szakats
384e8dce28 2010-08-18 22:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added extension to license. Pls read it, especially projects
      including hbmk2 or modified version of hbmk2 (f.e. MiniGUI).
      Help text and documentation is now covered by Creative Commons 
      Attribution-ShareAlike 3.0.
      Plus some restriction to not tear hbmk2 off of Harbour Project,
      to clearly show modified nature and always distribute modified 
      source.
      My intent is to leave hbmk2 as coherent part of Harbour, 
      possibly unmodified and my name not stripped.

  * config/global.mk
    % Minor opt.

  * package/mpkg_nightly.sh
    ! Harmless typo.

  * package/winuni/RELNOTES
    * Updated.
2010-08-18 20:53:14 +00:00
Viktor Szakats
72d8301329 2010-08-07 19:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
    ! Fixed to not propagate custom flags to container projects.
 
  * config/global.mk
    ! Changed realpath to abspath.
2010-08-07 17:45:00 +00:00
Viktor Szakats
5a6facdcc2 2010-08-07 11:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
    + Generalized the way dynamic lib dependencies are found 
      to make it work on *nix systems, too.

  * include/harbour.hbx
  + src/rtl/libnamec.c
  * src/rtl/libname.prg
  * src/rtl/Makefile
    + Added HB_LIBEXT() and HB_LIBPREFIX() functions.

  * utils/hbmk2/hbmk2.prg
    + Added "platform", "compiler", "cpu", "buildname", "dynsuffix" 
      to --hbinfo returned data.

  * INSTALL
    + Documented HB_BUILD_CONTRIB_DYN setting. The default is
      'no', and if set to 'yes', the build system will create
      dynamic lib versions of the contribs.

  * src/Makefile
  * utils/hbformat/Makefile
  * utils/hbi18n/Makefile
  * utils/hbtest/Makefile
  * config/global.mk
  * config/dos/watcom.mk
  * config/dos/djgpp.mk
  * config/dyn.mk
  * config/rules.mk
  * INSTALL
    * Renamed HB_BUILD_DLL to HB_BUILD_DYN.
2010-08-07 10:00:21 +00:00
Viktor Szakats
e5fd8dcb36 2010-08-06 18:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/rules
    + Added LD_LIBRARY_PATH.
      (it's needed here because the called make process won't
      pass back any envvars to caller process)

  * config/global.mk
    + Shows LD_LIBRARY_PATH in log.
    - Do not clear HB_SYSLOC to allow override (from package makers).
    + Export HB_DYNLIB_PREF (for postinst.hbs).

  * config/postinst.hbs
    + Creating Harbour dynamic lib symlinks, like the old postinst.sh
      did. This fixes Debian build problems, and probably more.
    ; TODO: I didn't implement one scenario, I'd appreciate if someone
            with bash and *nix skill could decipher the old code
            and create the few .prg lines for this functionality.
    ! Fixed .hbx creation for core dynlibs on *nix systems.
2010-08-06 16:56:40 +00:00
Viktor Szakats
4fc311154c 2010-08-06 12:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+ config/symbian
  + config/symbian/libs.mk
  + config/symbian/gcc.mk
  + config/symbian/global.mk
  * include/hbthread.h
  * include/hbsetup.h
  * src/vm/thread.c
  * src/common/hbtrace.c
  * src/common/hbprintf.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/Makefile
  * src/rtl/hbsocket.c
  * src/rtl/filesys.c
  * src/rtl/diskspac.c
  * src/rtl/hbgtcore.c
  * src/rtl/disksphb.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/hbproces.c
  * src/rtl/gtsys.c
  * src/rtl/hbcom.c
  * utils/hbmk2/hbmk2.prg
  * config/global.mk
  * INSTALL
    + Rough port to Symbian OS.
      It compiles OK, no exes build and I had to disable hbsocket.c
      due to too many errors.
2010-08-06 10:51:00 +00:00
Viktor Szakats
e5c3e08baa 2010-08-06 10:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed to not propagate _ERRLEV_STOP from sub-projects.
    % -stop will not stop processing any further cmdline options.
    * Avoided one dangerous IF instruction.

  * contrib/hbqt/hbqt_commons.hbm
    % If static mode is not requested stop before loading plugins.

  * config/global.mk
    ! Always set HB_REBUILD_* options to 'no' when HB_BUILD_PKG=yes.
2010-08-06 08:46:36 +00:00
Viktor Szakats
ab42d34ab1 2010-08-06 10:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/rules
  * package/harbour.spec
    + Added HB_INSTALL_DYN (same content as HB_INSTALL_LIB)

  * config/postinst.hbs
    * HB_INSTALL_LIB -> HB_INSTALL_DYN

  * config/global.mk
  * config/postinst.hbs
  * debian/rules
  * package/harbour.spec
  * package/harbour-win.spec.in
  * package/harbour-wce.spec.in
    * HB_INSTALL_PKG_TOP -> HB_INSTALL_PKG_ROOT

  * debian/dirs
    + Added usr/share/man
      (I'm not sure of this file and I didn't retest yet)

  * debian/rules
    % Optimized variable usage.
2010-08-06 08:13:43 +00:00
Viktor Szakats
a1a8bcd8d4 2010-08-06 09:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
    ! Fixed setting LD_LIBRARY_PATH under pre-3.81 GNU Makes.
    + Will now set HB_SYSLOC=yes when creating .tgz packages which
      are meant to be installed to system locations. (didn't test 
      this one)
    + Will now set HB_INSTALL_DOC to /share/doc/harbour on *nix systems.
    ! Fixed to set HB_INSTALL_MAN to /share/man (instead of /man) on
      *nix systems.
    ; Please test/review these.

  * config/postinst.hbs
    + Create directory for "root documents". They are now stored
      in /share/doc/harbour for *nix.
    ! Fixed to store proper directory in ld.so.conf.d setting by
      removing HB_INSTALL_PKG_TOP from the beginning of full dynlib
      path.

  * debian/rules
  * package/harbour.spec
  * package/harbour-win.spec.in
  * package/harbour-wce.spec.in
    ! Use HB_INSTALL_PKG_TOP to denote the root of package dir structure.
    ; TODO: Change the name to HB_INSTALL_PKG_ROOT
    ; TODO: Optimize variable usage.
    ; TOFIX: Use HB_INSTALL_DYN instead HB_INSTALL_LIB in context of 
             dynamic libs in postinst.hbs and package scripts.

  * package/harbour.spec
    ! Fixed to honor HB_BUILD_NAME in local LD_LIBRARY_PATH setting.
      (is it needed?)

  * INSTALL
    - Deleted note about GNU Make 3.81.90
      3.82 is out and the bug was fixed.
    ! Updated mpkg_src.sh location.

  * contrib/make.hbs
    * Do not create dynlib, .hbd, .hbx if the main build process
      returned with non-zero errorlevel.

  * utils/hbmk2/hbmk2.prg
    + Return errorlevel when -stop is used in project.
    + Use manifest constants for errorlevels.

  * config/hbextern.hbs
    * Local function renamed.

  * contrib/xhb/xhb.hbx
  * contrib/hbxpp/hbxpp.hbx
    * Regenerated.

  * src/vm/pvaluehb.c
    ! Typo in comment.
2010-08-06 08:01:09 +00:00
Viktor Szakats
8de8345e77 2010-08-03 11:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    + Will now add the script's home directory to the header dir list.

  * contrib/make.hbs
  * config/postinst.hbs
  + config/hbextern.hbs
    + Moved extern header generation low level logic to separate script.
    + Added feedback about extern generation.
    + Moved core extern header generation logic to postinst.hbs.
    ! Minor fix to output when postinst is used in non-install phase.

  * contrib/global.mk
    + Displays HB_REBUILD_EXTERN setting.

  * Makefile
    * Changed to always execute config/postinst.hbs, not just in
      install phase.

  * include/hbextudd.ch
  * include/hbextsca.ch
  * include/hbextcdp.ch
  * include/hbextlng.ch
  * include/hbextern.ch
    + Replaced content with automatically generated one.

  * contrib/hbxbp/xbpgeneric.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/ideshortcuts.prg
    * Deleted "just" functions and replaced them with HB_SYMBOL_UNUSED()
      macro, which has no runtime overhead.

  * contrib/hbide/hbide.hbp
  - contrib/hbide/iderequests.prg
    - Deleted requesting HBQT component via "just" function. Now it's
      done by EXTERNAL statements. BTW this function was not called,
      so it was ineffective.  Pls correct me if I missed the point
      of the old solution.
2010-08-04 09:24:15 +00:00
Viktor Szakats
8572f57500 2010-08-03 10:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
    + Generalized extern generation.
    + Added generation of core extern headers. (no launched yet)

  * config/global.mk
    + Exporting variables needed for automatic hbextern gerenation.
    % Deleted HB_DYN_COMPILE variable. (unused)

  * include/Makefile
  - include/hbexturs.ch
  + include/hbextudd.ch
  + include/hbextsca.ch
  * include/hbextern.ch
    + Added separate header for scalar classes.
      INCOMPATIBLE: Now they should be activated by '#include "hbextsca.ch"'
      instead of '#define HB_REQUEST_SCALAR / #include "hbextern.ch"'
    * Renamed hbexturs.ch to hbextudd.ch

  * contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.cpp
  * contrib/hbqt/qtgui/hbqt_hbqmainwindow.cpp
  * contrib/hbqt/qtgui/THbQtUI.prg
  * contrib/hbqt/qtcore/hbqt_hbslots.cpp
  * contrib/hbxbp/xbptabpage.prg
  * contrib/hbxbp/xbpwindow.prg
  * contrib/hbxbp/xbpdialog.prg
  * contrib/hbxbp/xbpgeneric.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/idedict.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idesources.prg
  * contrib/hbide/hbide.prg
  * contrib/hbide/ideshortcuts.prg
  * contrib/hbide/idedocks.prg
    * HB_TR_ALWAYS -> HB_TR_DEBUG.
2010-08-04 08:42:08 +00:00
Viktor Szakats
ff5a1d161b 2010-07-31 13:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
    % Code consolidation.
    ! Fixed recent regression, whereas now again the root project's
      .hbc file will be added to the make process in HB_BUILD_CONTRIB_DYN
      mode.
    + Changed the way filter is processed, now dependent packages will
      always be built, so there is no need to manually pick all the
      dependencies too.
    * Internal terminology cleanup.
    + Will now also rebuild the _dependencies_ in HB_BUILD_CONTRIB_DYN mode.
    - Deleted forcing English language for hbmk2 output.
    ; Regressions are possible
    ; NOTE: This dynamic stuff is a real can of worms. Virtually infinite
            combinations of dynamic vs static libs may be supported, plus
            there is ST vs MT issue, where we must decide about this at
            dynlib build time, and f.e. what happens when trying to load
            two .dlls one with was linked against MT Harbour and the other
            against ST? It's a combinatorical explosion.

  * src/vm/vmmt/Makefile
    ! Fixed missing procaddr.c causing unresolved externals when creating
      MT mode dynlibs.

  * config/global.mk
    ! Attempt to fix LD_LIBRARY_PATH problem, adding dynamic lib build
      dir to this envvar while doing the build, pls test it, I didn't.

  + contrib/hbplist
  - contrib/pkglist
    * Renamed.

  * contrib/hbct/ctwin.h
    ! Added missing HB_EXPORT.

  * contrib/xhb/xhb.hbp
  * contrib/hbgd/hbgd.hbp
    ! Added missing project references also to .hbp files.

  * utils/hbmk2/hbmk2.prg
    ! Fixed regression with mingw -hbdyn after adding new stub which
      stole the show by explicitly exporting one symbol which (due
      to autoexport function in mingw) prevented regular symbols to
      be exported. This fix will remove the exception so far applied
      to mingw/cygwin compilers where HB_DYNLIB was not used with these,
      now it's used equally on all compilers/platforms. For this to
      be effective, it should be noted that HB_EXPORT must be used
      in all public declarations, even in contrib.
    ! Fix (?) to not include MAIN proc force code when building with
      hbmaindllp.

  * contrib/xhb/thtm.prg
    % Changed hbct LTOC to simple iif()
    ; TOFIX: xhb makes reference to (deprecated) hb_symEval symbol:
             Info: resolving _hb_symEval by linking to __imp__hb_symEval (auto-import)

  * contrib/rddsql/hbrddsql.h
    ! Added HB_EXTERN_BEGIN/END
    ! Added HB_EXPORT
    ! Added extern

  * contrib/sddoci/sddoci.hbp
    ! Restored some flags present in old Makefile to make it
      work with mingw and bcc.

  * contrib/hbqt/generator/hbqtgen.prg
  * contrib/hbqt/hbqt.h
    ! Fixed to add HB_EXPORT to public declarations.
    ; TOFIX: hbqt still doesn't link in hbdyn mode.

  * contrib/hbqt/hbqt_garbage.h
  * contrib/hbqt/doc/en/*.txt
    * Regenerated.

  * contrib/hbqt/hbqt.hbc
    ! Fixed to not include QtUiTools in -hbdyn mode. It creates duplicate
      symbols at link. Maybe this is not the right fix, go figure.
      (HB_STATIC_QT mode still has to be checked)

  ; TODO: Add ${__HB_DYN__} to all .hbc files.
2010-07-31 11:51:37 +00:00
Viktor Szakats
45819c716e 2010-07-31 02:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + -implib= option now accepts filename, too (exactly like -o option)
      So it's possible to manually set the generated implib lib in
      -hbdyn (and -hbexe) modes.

  * contrib/hbpost.hbm
    + Moved the _dll/_exe implib output name postfixing logic from
      hbmk2 (though hbmk2 will still keep appending these by default)
      This way the "_dll" postfix thing is fully controlled by make.hbs 
      and hbpost.hbm, no hidden "agreements" with hbmk2.

  * config/global.mk
    + Added log warning, if the source tree is modified.
2010-07-31 00:35:57 +00:00
Viktor Szakats
a3f42e8991 2010-07-30 00:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/dirs
    ! Deleted doc/en dir.

  * doc/Makefile
  - doc/whatsnew.txt
  + NEWS
  * COPYING
  * doc/howtorel.txt
  * debian/changelog
  * package/mpkg_win.nsi
  * package/winuni/mpkg_win_uni.bat
  * package/winuni/mpkg_win_uni.nsi
    * Renamed doc/whatsnew.txt to /NEWS

  * debian/copyright
    * Updated with COPYING content.

  * package/harbour.spec
    ! Fixed to include doc/* instead of doc/*.txt.

  * utils/hbrun/hbrun.prg
    - Deleted envvar method of passing dirbase to scripts.

  * contrib/make.hbs
    + Using HBRUN_DIRBASE() function instead of envvar trick.
      Maybe some more generic named value passing would be better.

  * contrib/Makefile
    ! Using '-' prefix when running hbrun instead of '+', to not
      cause fatal breakage in build stage if make.hbs contains
      something which previous build of hbrun didn't offer.

  * config/global.mk
    - HB_INSTALL_PREFIX will not default anymore to source root
      dir (on non-*nix systems) to avoid FAQ where installation
      fails because of former install into source root, causing
      old contrib headers to ovveride current ones and breaking
      build. Please note that 'install' is truly optional with
      current builds, so only use it for what it was designed.
      Pls should if some things fail with empty HB_INSTALL_PREFIX
      and requesting 'install' anyway.

  * contrib/xhb/xhbat.c
    ! Applied this fix to Harbour:
      2010-07-29 12:28 UTC-0430 Ron Pinkas <ron.pinkas/at/xharbour.com>
        * source/rtl/at.c
          + Added missing extended strings support, to hb_AtSkipStrings()
2010-07-29 22:10:21 +00:00
Viktor Szakats
a04f40b3d3 2010-07-29 14:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/harbour-win.spec
  * package/harbour-wce.spec
  * config/global.mk
  * INSTALL
    * Renamed HB_BIN_COMPILE to HB_HOST_BIN
      (old pending TODO)

  * tests/flink.prg
    + Added comment.
    + Added example to dir symlink.

  * contrib/hbpre.hbm
    + Added comments.

  * config/beos/gcc.mk
  * config/global.mk
  * config/qnx/gcc.mk
  * config/bsd/gcc.mk
  * config/bsd/clang.mk
  * config/bsd/pcc.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/vxworks/gcc.mk
  * config/vxworks/diab.mk
  * config/darwin/gcc.mk
  * config/darwin/icc.mk
  * config/darwin/clang.mk
  * config/hpux/gcc.mk
  * config/dos/watcom.mk
  * config/dos/djgpp.mk
  * config/c.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/rules.mk
  * config/os2/watcom.mk
  * config/os2/gcc.mk
  * config/sunos/gcc.mk
  * config/sunos/sunpro.mk
    * Renamed HB_INC_COMPILE to HB_HOST_INC
      (it's still not precise name, just in sync with HB_HOST_BIN.
      In Harbour there is no difference between headers accross
      the platforms, so they could just be called something more
      neutral. If you have an idea, pls speak up.)
2010-07-29 12:40:41 +00:00
Viktor Szakats
903294787a 2010-07-29 13:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/rules
  * src/pp/Makefile
  * src/dynlib/mt/Makefile
  * src/dynlib/Makefile
  * package/harbour-win.spec
  * package/harbour-wce.spec
  * package/harbour.spec
  * contrib/make.hbs
  * utils/hbmk2/hbmk2.1
  * utils/hbmk2/hbmk2.prg
  * utils/hbrun/hbrun.prg
  * utils/hbrun/hbrun.hbp
  * utils/hbrun/Makefile
  * doc/gmake.txt
  * config/postinst.hbs
  * config/global.mk
  * config/lib.mk
  * config/bin.mk
  * config/header.mk
  * config/dyn.mk
  * config/doc.mk
  * INSTALL
    * Renamed install dir control envvars to be in the same
      "namespace": (INCOMPATIBLE if you used to manually
      configure these)
      HB_BIN_INSTALL -> HB_INSTALL_BIN
      HB_LIB_INSTALL -> HB_INSTALL_LIB
      HB_DYN_INSTALL -> HB_INSTALL_DYN
      HB_INC_INSTALL -> HB_INSTALL_INC
      HB_DOC_INSTALL -> HB_INSTALL_DOC
      HB_MAN_INSTALL -> HB_INSTALL_MAN
      HB_ETC_INSTALL -> HB_INSTALL_ETC

  * contrib/hbide/idemisc.prg
    - Deleted unused code.
2010-07-29 11:58:25 +00:00
Viktor Szakats
96c2594c24 2010-07-28 17:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/harbour.spec
    * Minor in comment.
    * Temply commented adding .so files in the lib/ root (without harbour postfix)

  * contrib/make.hbs
  * contrib/hbpost.hbm
    + Added support for HB_MAN_INSTALL, HB_ETC_INSTALL.

  * utils/hbmk2/hbmk2.prg
    + Enabled multi-input compilation for *nix gcc family. This means that
      all C source files will be now compiled in one gcc invokation, instead
      of compiling them one by one.
    % PATHNORMALIZE(): delete unused function.
    % ISDRIVESPEC() converted to macro _ISDRIVESPEC().

  * config/postinst.hbs
    + Added code to create ld config file.
    + Added commented original bash code to create .so links which I cannot
      understand. Anyone to jump in?
    + Added PathNormalize() function from hbmk2.
    + Changed back DirBuild() to always normalize path before creating it
      (to filter out potential ".." and "." dirs from it). Required for
      ld creation.

  * config/global.mk
    * HB_ETC_INSTALL is now format equally on all *nix platforms to have a
      'harbour' subdir. Required to work well with ld creation logic in postinst.hbs.
2010-07-28 15:42:23 +00:00
Viktor Szakats
aa6055f5f4 2010-07-27 23:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
- package/debian
  + debian
  * INSTALL
    * Moved back to root. Seems like this MUST be in root and there 
      is no way to tell debhelper tools otherwise.

  * debian/rules
    % Deleted unnecessary stuff. Pls review me.

  * config/global.mk
    ! Minor in comments.
2010-07-27 21:52:52 +00:00
Viktor Szakats
783c4433c9 2010-07-27 22:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    + Added more feedback.
    * Internal cleanups.
    + Changed to always copy to etc if there is target dir defined.
    ! Fixed typo in man copying.

  * config/global.mk
    + Added logic to setup dirs for *nix package creation.
      Fixing .tgz creation to work like before.
    * Changed to only set HB_MAN_INSTALL if installing to sysloc.

  * utils/hbmk2/hbmk2.prg
  * config/postinst.hbs
    ! Fixed DirBuild() function when crearing absolute paths without
      a drive letter. It created dir in current dir on non-*nix and
      didn't do anything while returning success on *nix.

  ; Now mpkg_tgz.sh replacement is about finished.
    It's pbly not 100% the same still, so pls review it.
2010-07-27 20:42:01 +00:00
Viktor Szakats
bd90e07276 2010-07-26 20:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/rules
  * harbour.spec
  * config/instsh.mk
    * Do not use HB_INST_PKGPREF.

  * harbour.spec
    + Use HB_MAN_INSTALL

  * config/global.mk
    + Added HB_MAN_INSTALL and HB_ETC_INSTALL
    + PKG_NAME is now filled in little bit different way for
      *nix systems to emulate old mpkg_tgz.sh logic.

  * bin/postinst.sh
    - Deleted no more used subroutines.
    - Deleted mk_hblibso() function.
      - it maintained loca list of contribs which breaks the
        effort of contrib "plug-in" system
      - it contained lots of platform dependent build details in
        hard to maintain bash shell code.
      ; If someone needs this functionality pls try to integrate
        it in hbmk2 or write a .hbs script in modular fashion
        (not contrib names). I cannot tell what exactly was the functionality
        implemented there though. Maybe rewriting it locally is also an
        option.
    ! Do not use HB_INST_PKGPREF.

  * config/postinst.hbs
    + Rewritten mpkg_tgz.sh logic in .prg code. This logic is
      finally in it's proper place.
    + Implemented copying of man files on *nix systems.
    ; NOTE: Not tested at all, it was hard enough to rewrite it,
            pls help on finishing and debugging it. See TODOs in
            source. Previous replicated with some differences.

  - mpkg_tgz.sh
    - Deleted. Now implemented in postinst.sh.
      Build Harbour with HB_BUILD_PKG=yes to try it.

  * INSTALL
    + Added HB_MAN_INSTALL and HB_ETC_INSTALL
    + Updated .tgz binary instructions (now same on all platforms)

  * utils/hbrun/hbrun.prg
  * utils/hbrun/hbrun.hbp
  * utils/hbrun/Makefile
    * Renamed include dir control var.
    * Change so that now simple HB_INC_INSTALL value will
      trigger burn-in of header location.
    + Added logic to only use burnt-in header location if
      it is an absolute path.
    ! Synced .hbp file with this feature.
    ; NOTE: This is still non-portable and error
            prone solution. Pls see my thought on dev list
            about possible solutions to use precompiled
            Harbour headers compiled right into the executable.
2010-07-26 18:44:08 +00:00
Viktor Szakats
46f7e48f29 2010-07-26 12:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/tests/wvtqt.hbp
  * contrib/hbxbp/tests/wvtqt.hbp
    ! Added missing SVN header.
    % Cleanup.

  * INSTALL
  * contrib/hbpost.hbm
  * config/global.mk
    * Changed HB_BUILD_IMPLIB to HB_INSTALL_IMPLIB to reflect
      new meaning after recent changes. With new build system
      the implibs are always created in lib working dir, and
      this setting only controls whether to copy it to final
      install directory. The default is still 'no'. Setting it
      to yes is only recommended if the installation will be
      used in local environment (3rd party .dlls) only. IOW
      never set this to yes when creating a build for other
      users (f.e. for distribution).
      INCOMPATIBLE if you used this setting, pls change it now.

  * INSTALL
    + Documented HB_STATIC_* options.

  * contrib/make.hbs
    * Updated TODO list.

  * src/debug/debugger.prg
  * src/rtl/dirscan.prg
  * tests/wcecon.prg
  * contrib/xhb/traceprg.prg
  * contrib/hbqt/tests/wvtqt.hbp
  * contrib/hbqt/generator2/hbqtgen2.prg
  * contrib/hbxbp/tests/demoxbp.prg
  * contrib/hbxbp/tests/dialogqt.prg
  * contrib/hbxbp/tests/wvtqt.hbp
  * contrib/hbhpdf/tests/harupdf.prg
  * contrib/gtwvg/tests/wvgtbrowser.prg
  * contrib/gtwvg/tests/wvgwvtclasses.prg
  * contrib/hbtip/tests/dbtohtml.prg
  * contrib/hbtip/mail.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideactions.prg
  * contrib/hbide/idetools.prg
  * contrib/hbide/idesources.prg
  * contrib/hbide/hbide.prg
  * examples/uhttpd2/umain.prg
  * examples/hbvpdf/tests/pdf_demo.prg
  * examples/httpsrv/uhttpd.prg
  * examples/httpsrv/cgifunc.prg
  * examples/httpsrv/modules/tableservletdb.prg
  * examples/httpsrv/session.prg
    * HB_OSPATHSEPARATOR() -> HB_PS()
    % Delete temp vars along the way.

  * utils/hbmk2/hbmk2.prg
    + Generalized internals for support for older Harbour and
      xhb versions.
    + Added -hb20 option. (thanks for asking for it so nicely ;)
2010-07-26 10:36:23 +00:00
Viktor Szakats
dde5e86839 2010-07-21 20:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/stuff.c
    ! Fixed GPF in STUFF() when HB_SIZE is signed value.
      (HB_SIZE_SIGNED mode)

  * contrib/make.hbs
    % Normalized some dirs to give cleaner and shorter output.
    + Shows HB_BUILD_CONTRIBS value.
    ! Fixed to only generate doc once for multi-hbp packages (HBQT f.e.).
    % Internal cleanups.

  * contrib/hbqt/hbmk2_plugin_qt.hbs
    + Honor HB_WITH_QT also on OS/2.
    * Internal. Feedback is still not perfect.

  * utils/hbmk2/hbmk2.prg
    + Normalize implib source dirs, -o dirs, -workdir dirs.
    + Implibs automatically generated for dependencies are now put
      in the 'implib' install target category, so they can be controlled
      separately.

  * contrib/hbpost.hbm
    ! Fixed to only install new automatic implibs when HB_BUILD_IMPLIB=yes.
    ; TODO: Rename this setting to HB_INSTALL_IMPLIB (or some better
            name). Now implib are always made, this setting only controls
            whether to install them (f.e. we don't want to install them
            when creating package for distribution).
    - Deleted stuff belonging to stdalone -hbimplib targets. This
      method is deprecated inside contrib area.

  * config/global.mk
    - Do not show HB_CONTRIBLIBS value anymore.
2010-07-21 18:40:16 +00:00
Viktor Szakats
2090585ee1 2010-07-21 14:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/hbmk2_plugin_qt.hbs
    + Do not pollute output with meaningless error message, when 
      HB_WITH_QT=no is used.

  * contrib/hbpgsql/postgres.c
    ! Fixed msvc C mode warning. (this one is valid, though I 
      couldn't find out why this is only reported in C mode, 
      there are also some other seemingly unfixable warnings 
      reported in C mode.)

  * contrib/hbpre.hbm
    + Will now enable C++ mode by default for msvc compilers, 
      to stay in since with GNU Make behavior.

  * utils/hbmk2/hbmk2.prg
    ! Fixed to not rebase dirs passed to -deptimplibs options.
    ! Fixed to stay silent but still fail when dependencies
      are forcefully disabled.
    ! Reorganized msvc compiler version dependent options to
      better handle the case when no compiler version is present
      (to go with the less risky option in such case)

  * config/global.mk
    + Added msvc64 and msvcia64 version detection.
    * Renamed one variable to avoid being same as new hbmk2 macro.

  * config/postinst.hbs
    * Minor in feedback text.
2010-07-21 12:46:54 +00:00
Viktor Szakats
a58605eabc 2010-07-21 10:14 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added mingw/mingw64 version detection. Not very extensively
      tested.
    + Added -depimplibs=, -depimplibd cmdline options, and depimplibs=
      and depimplibd .hbc options. They serve to configure automatic
      (without stdalone .hbi file using -hbimplib) import library
      generation for dependencies. The internal logic is the same,
      but now implibs can be generated for multiple dependencies
      at once, using pure .hbp files (or eveb .hbc for that matter).
    + Filters now also support '<' and '>' operators.
    + Filters will now expand internal macros before looking for
      envvars.
    + Added HB_COMP_VER macro, returning compiler version.
    ! Fixed to handle "*.hbs" passed as option.
    ! Fixed to do entry detection also for .hbs files.

  * contrib/make.hbs
    - Temply disabled .hbi handling, now it's done by .hbp files.
    ! Refixed to skip hbhrb/hbppo projects in stdalone mode.

  * contrib/hbqt/tests/testbrow.prg
    * Updated with Bacco's 'testedit.prg' sent to the list.
    * Formatting. (pls try to format it like this)

  * contrib/hbpost.hbm
    + Enabled 'dynamicbase' and 'nxcompat' exe generation flags
      for newer versions of msvc and mingw, to be in sync with
      our GNU Make settings (and safety).

  * contrib/xhb/hbcompat.ch
    ! Fixed some wrong xhb to Harbour translations reported by Rossine.

  * contrib/hbide/hbide.hbp
    % Deleted -gc3. It made the executable 2MBs larger.
      Pls report any performance problems after this
      change.

  * contrib/gtalleg/gtalleg.hbp
  * contrib/hbblat/hbblat.hbp
  * contrib/hbcairo/hbcairo.hbp
  * contrib/hbcurl/hbcurl.hbp
  * contrib/hbfbird/hbfbird.hbp
  * contrib/hbfimage/hbfimage.hbp
  * contrib/hbgd/hbgd.hbp
  * contrib/hbhpdf/hbhpdf.hbp
  * contrib/hbmysql/hbmysql.hbp
  * contrib/hbpgsql/hbpgsql.hbp
  * contrib/hbssl/hbssl.hbp
  * contrib/rddads/rddads.hbp
  * contrib/sddfb/sddfb.hbp
  * contrib/sddmy/sddmy.hbp
  * contrib/sddoci/sddoci.hbp
  * contrib/sddpg/sddpg.hbp
    + Added new switches to enabled automatic import library
      generation without .hbi files.
      Please note that this means that now HB_WITH_BLAT will
      have to be set from now on for hbblat lib.

  * config/global.mk
    * Minor.

  * config/win/watcom.mk
    ! Fixed to add .exe extension to watcom tools to make it work
      in wine-based cross build situations. [pls note that watcom
      can create cross builds using its native tools, so this is
      just the cherry on top :)]
      Patch provided by Tamas Tevesz.
2010-07-21 08:15:55 +00:00
Viktor Szakats
302211f9af 2010-07-16 18:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* external/minizip/minizip.dif
    + Updated after latest changed by Tamas Tevesz. Thanks a lot!

  * utils/hbmk2/hbmk2.prg
    + Added support for vxworks/diab compiler.

  * utils/hbtest/hbtest.prg
    + Added my name to the copyright header.

  * config/global.mk
    ! Fixed to only assign *nix specific default value HB_INSTALL_PREFIX
      on *nix hosts (only a problem when doing *nix cross-builds _from_
      non-*nix systems).

  * utils/hbmk2/hbmk2.prg
  * config/vxworks/gcc.mk
  * config/vxworks/diab.mk
    + Added minimal support for HB_BUILD_SHARED=yes for vxworks targets.
      For diab it just won't find the harbour .so (see comment for more)
      For gcc it links okay, though it's detected as kernel task, so
      current support is most probably not right.

  * config/vxworks/diab.mk
    * Minor change to sync one C compiler option with VxWorks Workbench
      generated one.

  ; NOTE: By this change Harbour VxWorks base port is finished. Besides
          being an interesting excercise, it helped to develope new
          non-*nix to *nix cross building codepaths, tweak Harbour for
          "headless" (w/o terminal) OSes, and to break the ground for
          target CPU selection inside one target platform.
          Harbour builds cleanly using both vxworks/gcc and vxworks/diab,
          and compiler tools plus non-MT utils run properly as well.

          Obviously I made few functional tests, but from the experiences
          of the port effort, these are the remaining areas:
             - reporting bug(s) to Wind River (particularly the one
               breaking hvm.c compilation, requiring HB_LONG_LONG_OFF
               forcage, causing other unnecessary limits and hbtest
               failures)
             - serial I/O needs to be implemented using VxWorks specific
               sioLib API
             - 'fork' has to be replaced.
             - sockets were not tested, anyhow they are supposed to work.
             - termios is missing, so large parts of GTSTD and GTTRM are
               disabled on this platform.
             - ARM/MIPS CPU support needs to be added to hbatomic.h
             - HB_LIBLOAD() and friends need to be implemented, but I hit
               walls here.
             - MT apps GPFs, this needs to be fixed probably inside our
               code, but it's possible some build options are needed which
               I missed all along.
             - HB_SHARED_MODE=yes needs further tweaking.
2010-07-16 16:23:45 +00:00
Viktor Szakats
df891b8377 2010-07-16 13:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbtest/hbtest.prg
  * utils/hbtest/rt_hvm.prg
  * utils/hbtest/rt_hvma.prg
  * utils/hbtest/rt_stra.prg
  * utils/hbtest/rt_vars.ch
    - Disabled long string tests for vxworks. They fail because of
      memory exhaustion.
    ! Fixes to prev.
    ; Now hbtest runs OK on vxworks/gcc.

  * config/global.mk
    + Now defines __PLATFORM__VXWORKS for cross-builds.
    ! Fixed typo in lastly added __PLATFORM__ redefinition.

  * INSTALL
    + Added vxworks/diab example.
2010-07-16 11:59:29 +00:00
Viktor Szakats
83c7f46c13 2010-07-15 21:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    ! vxWorks casing.
    + Added vxworks/gcc/arm example.

  * utils/hbmk2/hbmk2.prg
    % -DARMEL no more defined for vxworks/gcc/arm. It turns
      out it's a predefined macro.

  * config/global.mk
    ! Fixed HB_CPU autodetection after prev change.

  * INSTALL
    ; NOTE: After previous change HB_CCPOSTINST is automatically
            set on vxworks/gcc.

  * config/vxworks/libs.mk
  * config/vxworks/gcc.mk
    + Tried to enable dynlibhb, didn't succeed, see comments.

  * config/vxworks/gcc.mk
    % Deleted unnecessary compile time macros.

  ; TOFIX: vxworks HB_BUILD_SHARED=yes is broken. harbour .so
           is not found. Couldn't find out why.
  ; TOFIX: vxworks/gcc/arm hbatomic.h needs support added.
           arm harbour and hbpp builds fine.
2010-07-15 19:53:56 +00:00
Viktor Szakats
c0217a93ef 2010-07-15 20:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added experimental -cpu option. (not at the level
      of comp/plat internally, as there won't be separate
      subdir open for different cpu builds created in parallel)
    + Added some untested support for vxworks/gcc/arm.

  * utils/hbmk2/hbmk2.hbp
    + Synced with Makefile.

  * config/global.mk
    ! Fixed to default HB_CPU value to x86 for vxworks.
    + Exports HB_CPU.

  * config/vxworks/libs.mk
  * config/vxworks/gcc.mk
    + Added experimental support to select arm target by
      using HB_CPU=arm.

  * config/wce/msvcarm.mk
    ! Missed re-xmastree changed done now. (for pre GNU Make 3.81 compatibility)
2010-07-15 18:24:46 +00:00
Viktor Szakats
da9890f57e 2010-07-15 19:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbthread.h
    ! Hacked around collision between vxWorks headers.

  * ChangeLog
    ! Fixed casing of vxWorks.

  * utils/hbmk2/hbmk2.prg
    + Added vxworks/gcc libpaths.
    ! Fixed vxworks/gcc system lib list.
    ! Fixed ar to have postfix.
    ; All these are syncs with GNU Make.

  * src/rtl/hbsocket.c
    ! Typos in previous vxworks patchs.

  * config/global.mk
    ! Fixed forming automatic HB_INSTALL_PREFIX value in *nix cross-build
      situations. (it's still wrong as it assumes nix->win cross-builds)

  ; Now vxworks/gcc/x86 build is clean.
    There are iTODOs left, and
    - this particular class of warnings, which seems
      to be a bug down the <pthread.h> system header:
         hbnetio\netiocli.c:155: warning: missing initializer
         hbnetio\netiocli.c:155: warning: (near initialization for 's_netioMtx.mutexAttr.mutexAttrType')
    - also this, each time FD_ZERO() and friends are used:
         warning: implicit declaration of function 'bzero'
    - "argument n of 'x' differ in signedness" and "discards qualifiers from pointer target type"
      warnings in hbsocket.c code.

  ; TOFIX:
       - Unrecoverable error 9998: Harbour terminal (GT) initialization failure
         when running hbtest.
       - GPF when running hbmk2 and hbrun. (hbformat, hbi18 startup fine)
2010-07-15 17:21:15 +00:00
Viktor Szakats
00cd9e92f3 2010-07-15 16:57 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  + config/vxworks
  + config/vxworks/libs.mk
  + config/vxworks/gcc.mk
  + config/vxworks/diab.mk
  + config/vxworks/global.mk
    + Started experimental VxWorks port.
    ; NOTE: VxWorks port was made possible by Wind River Systems Inc.,
            who were so kind to mail me a full VxWorks development
            environment, for the purpose of porting Harbour to this
            platform. Thank you very much guys.

            [ The free license is valid for one month, so if anyone
            is interested in helping in this project, I can help with
            real tests, builds and information. BTW, the devenv is
            Eclipse based plus cmdline, running on Windows (available
            for Linux and Solaris, too) and the target VxWorks exes
            run in a virtual environment. ]

  * config/global.mk
    + Added autodetection of VxWorks platform.

  * utils/hbmk2/hbmk2.prg
    + Added VxWorks support. It's incomplete yet.
    ! Fixed to quote *nix/gcc compiler family in
      Windows-host cross-platform situations.

  * src/vm/thread.c
  * src/common/hbgete.c
  * src/common/hbffind.c
  * src/common/hbtrace.c
  * src/common/hbdate.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/Makefile
  * src/rtl/hbsocket.c
  * src/rtl/filesys.c
  * src/rtl/diskspac.c
  * src/rtl/cputime.c
  * src/rtl/disksphb.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/net.c
  * src/rtl/hbproces.c
  * src/rtl/gtsys.c
  * src/rtl/hbcom.c
  * external/zlib/inflate.c
  * external/jpeg/jmorecfg.h
  * external/pcre/Makefile
  * include/hbapifs.h
  * include/hbthread.h
  * include/hbdefs.h
  * include/hbsetup.h
  * contrib/xhb/hboutdbg.c
  * contrib/xhb/hbsyslog.c
  * contrib/xhb/hbserv.c
    + vxworks/gcc port. First phase.
    ; Please review.
    ; NOTE: - vxworks has no termios, for serial comm
              support it has sioLib.h.
            - vxworks supports another C compiler, which
              was not tested yet.
            - vxworks supports lots of CPUs, only x86 was
              tested yet.
            - There are still mutex related warnings to sort out.
            - Some parts had to disabled, like HB_LIB*() functionality.
    ; TODO: Regenarate .difs in external/.

  * src/vm/hashfunc.c
    * Silenced warnings shown by vxworks/gcc.
2010-07-15 15:02:33 +00:00