Commit Graph

1458 Commits

Author SHA1 Message Date
Viktor Szakats
8b2f428c09 2010-08-02 14:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/qtcore/hbqtcore.hbc
  - contrib/hbqt/hbqt.h
  + contrib/hbqt/qtcore/hbqt.h
    * Moved hbqt.h inside hbqtcore.

  * contrib/hbqt/hbqt.ch
  * contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.h
    ! Moved HBQT_AIM* constants to local file.

  * contrib/hbqt/hbqt.ch
    % Cleaned embedded HB_BITOR() calls.

  - contrib/hbqt/hbqscintilla/hbqscintilla.qtp
  + contrib/hbqt/utils/qscintilla.qtp
    * Moved .qtp next to others.

  * contrib/hbqt/hbqscintilla/hbqscintilla.hbp
  + contrib/hbqt/hbqscintilla/hbqscintilla.hbc
  + contrib/hbqt/hbqscintilla/hbqscintilla.hbm
  + contrib/hbqt/hbqscintilla/hbqscintillas.hbp
  - contrib/hbqt/hbqscintilla/*
  - contrib/hbqt/hbqscintilla/hbqt_local.h
  + contrib/hbqt/hbqscintilla/g
  + contrib/hbqt/hbqscintilla/g/*
  + contrib/hbqt/hbqscintilla/g/filelist.hbm
  * contrib/hbqt/hbqscintilla/doc/en/*
    * Moved hbqscintilla files to match new layout.
    + Added new hbmk2 make files. Updated existing one.
    * Regenerated.
    + Added TODOs to make files.
    + Added hbqtcore and hbqtgui as dependencies.

  * contrib/hbqt/gtqtc/gtqtc.cpp
  * contrib/hbqt/gtqtc/gtqtc.hbc
    ! Some tweaks to at least make it build. Probably this
      project should be deleted.

  * contrib/hbqt/hbqscintilla/hbqt_hbqsciscintilla.cpp
    % Deleted unnecessary headers.

  * contrib/hbqt/hbqscintilla/hbqt_hbqsciscintilla.h
    ! Fixed QT header references.
    ! Added EOL @ EOF.

  * contrib/hbqt/hbqscintilla/hbqscintilla.ch
    * Formatting.

  * contrib/hbqt/hbqscintilla/qth/HBQsciScintilla.qth
  * contrib/hbqt/hbqscintilla/qth/QsciAbstractAPIs.qth
  * contrib/hbqt/hbqscintilla/qth/QsciAPIs.qth
  * contrib/hbqt/hbqscintilla/qth/QsciCommand.qth
  * contrib/hbqt/hbqscintilla/qth/QsciCommandSet.qth
  * contrib/hbqt/hbqscintilla/qth/QsciDocument.qth
  * contrib/hbqt/hbqscintilla/qth/QsciLexer.qth
  * contrib/hbqt/hbqscintilla/qth/QsciLexerCPP.qth
  * contrib/hbqt/hbqscintilla/qth/QsciLexerFlagship.qth
  * contrib/hbqt/hbqscintilla/qth/QsciScintilla.qth
  * contrib/hbqt/hbqscintilla/qth/QsciStyle.qth
  * contrib/hbqt/hbqscintilla/qth/QsciStyledText.qth
    * Deleted manual headers which are now automatic.

  * utils/hbmk2/hbmk2.prg
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.pt_BR.po
    - Deleted -head=partial header parsing method.
      The new default is -head=full. Partial didn't
      give much performance increase, while having
      the risks to miss a header.

  * contrib/hbqt/qtgui/hbqtgui.hbm
  * contrib/hbqt/qtgui/hbqtgui.hbp
  * contrib/hbqt/qtgui/hbqtguis.hbp
  * contrib/hbqt/qtcore/hbqtcore.hbm
  * contrib/hbqt/qtcore/hbqtcore.hbp
  * contrib/hbqt/qtcore/hbqtcores.hbp
    % Removed some redundancy.
2010-08-02 12:33:03 +00:00
Viktor Szakats
d6d1ba7c89 2010-08-02 02:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
    + Make it capable to build project dependencies which are not on the
      central project list. (this feature is used with hbqt)
    + Added -shl to hbmk2 build calls.

  * utils/hbmk2/hbmk2.prg
    + Added -shl option to show sub-project level in every output line.
    + Added experimental -hbcontainer target mode, which is virtual target,
      it won't create anything. Name not finalized yet.
    + Normalizing some more paths.
    ! Fixed not include the same plugin twice.
    ! Some internal fixes to -hb<target> option handling. Could have caused
      problems in rare situations.
    % Minor optimizations.

  * contrib/hbqt/utils/hbqtgen.prg
    * Changed to generate hbqt.h header references without relative dir, so it
      can now be freely solved using header dir options at build time.

  - contrib/hbqt/hbmk2_plugin_qt.hbs
  + contrib/hbqt/hbqt_hbmk2_plugin.hbs
  * contrib/hbqt/hbqt_common.hbc
  * contrib/hbqt/hbqt_common.hbm
    * Renamed.

  * contrib/hbqt/qtcore/hbqtcore.hbc
  * contrib/hbqt/qtgui/hbqtgui.hbc
  * contrib/hbqt/qtnetwork/hbqtnetwork.hbc
    ! Readded previously deleted trick which is required for
      successful dynlib link.

  * contrib/hbplist
  * contrib/hbqt/hbqt.hbp
    + Modified how container project is defined.
    * Now main container subproject is listed in central project list file.

  * contrib/hbqt/hbqt_common.hbc
  * contrib/hbqt/qtgui/hbqtgui.hbp
    - Moved -gui/-gtnul options inside hbqtgui.

  * contrib/hbqt/hbqt_common.hbm
    + Added hbqt root dir as header dir.

  * contrib/hbqt/utils/qtcore.qtp
  * contrib/hbqt/utils/qtgui.qtp
  * contrib/hbqt/utils/qtnetwork.qtp
  * contrib/hbqt/hbqt_common.hbm
  * contrib/hbqt/qtcore/hbqtcore.hbp
  * contrib/hbqt/qtcore/hbqtcores.hbp
  - contrib/hbqt/qtcore/*
  + contrib/hbqt/qtcore/g
  + contrib/hbqt/qtcore/g/*
  * contrib/hbqt/qtgui/hbqtgui.hbp
  * contrib/hbqt/qtgui/hbqtguis.hbp
  - contrib/hbqt/qtgui/*
  + contrib/hbqt/qtgui/g
  + contrib/hbqt/qtgui/g/*
  * contrib/hbqt/qtnetwork/hbqtnetwork.hbp
  * contrib/hbqt/qtnetwork/hbqtnetworks.hbp
  - contrib/hbqt/qtnetwork/*
  + contrib/hbqt/qtnetwork/g
  + contrib/hbqt/qtnetwork/g/*
    * Moved generated sources inside 'g' subdir.
    * Sources regenerated.

  - contrib/hbqt/hbqt_base.cpp
  - contrib/hbqt/hbqt_destruct.cpp
  - contrib/hbqt/hbqt_hbevents.cpp
  - contrib/hbqt/hbqt_hbevents.h
  - contrib/hbqt/hbqt_hbslots.cpp
  - contrib/hbqt/hbqt_hbslots.h
  - contrib/hbqt/hbqt_misc.prg
  - contrib/hbqt/hbqt_utils.cpp
  + contrib/hbqt/qtcore/hbqt_base.cpp
  + contrib/hbqt/qtcore/hbqt_destruct.cpp
  + contrib/hbqt/qtcore/hbqt_hbevents.cpp
  + contrib/hbqt/qtcore/hbqt_hbevents.h
  + contrib/hbqt/qtcore/hbqt_hbslots.cpp
  + contrib/hbqt/qtcore/hbqt_hbslots.h
  + contrib/hbqt/qtcore/hbqt_misc.prg
  + contrib/hbqt/qtcore/hbqt_utils.cpp
  * contrib/hbqt/qtcore/hbqtcore.hbm
    * Moved hbqtcore files to their own component subdir.

  - contrib/hbqt/hbqt_errorsys.prg
  - contrib/hbqt/hbqt_hbqabstractitemmodel.cpp
  - contrib/hbqt/hbqt_hbqabstractitemmodel.h
  - contrib/hbqt/hbqt_hbqmainwindow.cpp
  - contrib/hbqt/hbqt_hbqmainwindow.h
  - contrib/hbqt/hbqt_hbqplaintextedit.cpp
  - contrib/hbqt/hbqt_hbqplaintextedit.h
  - contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
  - contrib/hbqt/hbqt_hbqsyntaxhighlighter.h
  - contrib/hbqt/hbqt_hbqtableview.cpp
  - contrib/hbqt/hbqt_hbqtableview.h
  - contrib/hbqt/THbQtUI.prg
  + contrib/hbqt/qtgui/hbqt_errorsys.prg
  + contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
  + contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.h
  + contrib/hbqt/qtgui/hbqt_hbqmainwindow.cpp
  + contrib/hbqt/qtgui/hbqt_hbqmainwindow.h
  + contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
  + contrib/hbqt/qtgui/hbqt_hbqplaintextedit.h
  + contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.cpp
  + contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.h
  + contrib/hbqt/qtgui/hbqt_hbqtableview.cpp
  + contrib/hbqt/qtgui/hbqt_hbqtableview.h
  + contrib/hbqt/qtgui/THbQtUI.prg
  * contrib/hbqt/qtgui/hbqtgui.hbm
    * Moved hbqtgui files to their own component subdir.

  - contrib/hbqt/qtdesigner/hbqtdesigner.qtp
  - contrib/hbqt/qtwebkit/hbqtwebkit.qtp
  + contrib/hbqt/utils/qtdesigner.qtp
  + contrib/hbqt/utils/qtwebkit.qtp
    * Moved .qtp files into utils subdir.
2010-08-02 00:42:48 +00:00
Viktor Szakats
c5c041ccb2 2010-08-01 14:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    % normalize rebased sources paths (mingw, *nix/gcc).

  - contrib/hbqt/generator/qt45.qtp
  + contrib/hbqt/generator/qtcore.qtp
  + contrib/hbqt/generator/qtnetwork.qtp
  + contrib/hbqt/generator/qtgui.qtp
    * Split monolithic .qtp to components.
    ! Moved QUiLoader to qtgui (from qtcore) to fix circular component
      dependency.

  * contrib/hbqt/generator/hbqtgen.prg
    + Rewrote to avoid internal tricks to detect which class belongs to
      which component.
    + Changed to create GC related functions on a per-component bases
      (instead of monolithic hbqt_garbage.h).
    * Changed to save documents using core hbdoc API.
    % Deleted some unused functions and variables.
    ; After these changes the generator doesn't have any hard-coded
      information about components, so it can be extended with new
      one via new .qth files.

  * contrib/hbqt/qtgui/*
  * contrib/hbqt/qtcore/*
  * contrib/hbqt/qtnetwork/*
  * contrib/hbqt/doc/en/*
    * Regenerated.

  - contrib/hbqt/qtcore/TQUiLoader.prg
  - contrib/hbqt/qtcore/QUiLoader.cpp
  + contrib/hbqt/qtgui/QUiLoader.cpp
  + contrib/hbqt/qtgui/TQUiLoader.prg
    ! Moved QUiLoader to qtgui (from qtcore) to fix circular component
      dependency.

  * contrib/hbqt/qth/QUrl.qth
    ! Fixed to not inherit from class present in qtgui.
      (fixes dependency)

  * contrib/hbqt/hbqt.h
  - contrib/hbqt/hbqt_garbage.h
  * contrib/hbqt/hbqt_hbevents.h
  * contrib/hbqt/hbqt_hbslots.h
  + contrib/hbqt/qtcore/hbqtcore_garbage.h
  + contrib/hbqt/qtgui/hbqtgui_garbage.h
  + contrib/hbqt/qtnetwork/hbqtnetwork_garbage.h
    - Deleted central header for GC functions.
    + Added per component GC function header.

  - contrib/hbqt/filelist.hbm
  - contrib/hbqt/hbqt.hbc
  - contrib/hbqt/hbqt.hbp
  - contrib/hbqt/hbqtmain.hbp
  - contrib/hbqt/hbqtmains.hbp
    - Deleted central hbqt holder project and .hbc file.

  + contrib/hbqt/hbqtcore.hbc
  * contrib/hbqt/hbqtcore.hbp
  * contrib/hbqt/hbqtcores.hbp
  * contrib/hbqt/hbqtgui.hbp
  * contrib/hbqt/hbqtguis.hbp
  + contrib/hbqt/hbqtgui_filelist.hbm
  * contrib/hbqt/hbqtnetwork.hbp
  * contrib/hbqt/hbqtnetworks.hbp
  + contrib/hbqt/hbqtcore_filelist.hbm
    + Merged qtmain lib content to qtcore and qtgui. This finally
      drops the need for an additional wrapper lib compared to qt ones,
      and it fixes build dependencies.
      Formerly libs had circular dependencies, now qtcore is the
      main lib and other qt* libs depend on this central one.

  * contrib/hbqt/hbqt_common.hbm
    + Added qtcore to header path list.

  * contrib/hbqt/tests/hbmk.hbm
  * contrib/hbqt/tests/wvtqt.hbp
  * contrib/hbxbp/hbxbp.hbc
    * Updated to include per component .hbc files instead of
      central hbqt.hbc.

  * contrib/hbplist
    * Changed central hbqt project to its three components.

  * contrib/hbxbp/tests/wvtqt.hbp
    ! Fixed hbc reference.

  ; After these changes, the qt lib layout is much cleaner and
    it makes it possible to build .dll versions of them. Except
    still one issue.

  ; TODO: Further cleanup to file layout. Componentize docs,
          qth files, move files in central dir to component dirs.

  ; TOFIX: hbqtcore references qtgui in QMESSAGEBOX() which is a
           hbqtgui function. This has to be fixed. hbqtcore.dll is
           not build because of this.
           The easiest would be to rewrite HBQT_MESSAGEBOX() in
           C++ to use QMessageBox QT class directly and place
           this function into hbqtcore.
           Pritpal, can you do it?

  ; TOFIX: If this is done it would be also good to fix hbqtcore -> qtgui
           dependencies. Currently this is QMessageBox plus some stuff
           referenced from hbqt_hbqabstractitemmodel.cpp. This latter
           can pbly be solved by moving this HB class to hbqtgui.
2010-08-01 12:32:44 +00:00
Viktor Szakats
4b656a7a22 2010-07-31 20:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    * Changed to not give fatal error if cmdline (or .hbp)
      didn't contain any sources. Just warn. Required for hbqt.hbp,
      which is a holder project without own output.

  ; NOTE: BTW HBQT fails very badly on any dynamic lib creating
          attempt, and the reason is that it's still a monolithic
          lib under the surface, just split some files into separate
          libs to avoid cmdline length.
2010-07-31 18:13:53 +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
464f958e32 2010-07-30 20:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Will now autodetect /bin/plat/comp bin dir, if present.
    ! Fixed to set dynlib dir to bin dir on non-*nix platforms.
      As a conseqeunce bin dir will now be added to the libpath
      list on these platforms. Allowing to access .dlls directly
      in compilers that support it (mingw).
    ! Fixed to use HB_INSTALL_PREFIX instead of bin dir as a base
      to find addons/contribs dir structures (for .hbc autofind).
    ! Fixed to really include hbmaindllp stub added in recent commit.
      Anyhow, loading contrib .dlls dynamically still don't work.

  * contrib/make.hbs
    ! Fixed to honor user setting when creating dynlib in stdalone mode.

  * contrib/hbcomm/hbcomm.prg
    * space @ EOL.
2010-07-30 18:18:12 +00:00
Viktor Szakats
a7a0af8bdd 2010-07-30 18:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added -depimplib[-] option to contrib implib creation for
      dependency dlls.
    + Added -autohbm[-] cmdline-only option to disable processing of
      hbmk.hbm in current directory.

  * contrib/hbpost.hbm
    + Disabled implib creation for dependency dlls for HB_BUILD_CONTRIB_DYN
      mode.

  * contrib/hbgd/hbgd.hbp
    ! Fixed to use .lib as implib source for coff-compatible targets and mingw.

  ; NOTE: Successfully created a small test app which uses harbour.dll and
          contrib .dlls:
             'contrib\hbct\tests\hbmk2 addascii.prg -lhbct_dll -shared -autohbm-'
             'contrib\hbpgsql\tests\hbmk2 async.prg -lhbpgsql_dll -shared -autohbm-'
          (-autohbm is there only to disable hbmk.hbm processing)
          Quite nice, isn't it?
          For these examples, there are problems:
             'contrib\hbblat\tests\hbmk2 blatcmd.prg -lhbblat_dll -lhbwin_dll -shared -autohbm-'
             It's showing application errro 0xc0000142.
          For this other one:
             'contrib\hbgd\tests\hbmk2 barms.prg  -lhbgd_dll -shared -autohbm-'
             It's showing this RTE:
             ---
             Error BASE/3003  Cannot find super class: __CLSINSTSUPER
             Called from __CLSINSTSUPER(0)
             Called from HBCLASS:CREATE(0)
             Called from TCODE(0)
             Called from MAIN(30)
             ---
          "Almost" there. If you have any idea why it fails, pls tell.

          Loading contrib pcode .dlls dynamically:

             --- hbmk2 testdyn.prg -shared -autohbm-
             DYNAMIC CHARADD

             PROCEDURE Main()
                LOCAL l := hb_libLoad( "hbct.dll" )
                IF ! Empty( l )
                   QOUT( CHARADD( "abc", Chr( 1 ) ) )
                ENDIF
                RETURN
             ---
             Running it results in:
             ---
             Error BASE/1001  Undefined function: CHARADD
             Called from CHARADD(0)
             Called from MAIN(7)
             ---
2010-07-30 16:13:28 +00:00
Viktor Szakats
a64a5ff52f 2010-07-30 16:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed RTE when using post-process command on systems without
      implib functionality. Recent regression.
    % Fixed bad performance in default -head=partial mode, which made
      it slower than -head=full. Now they are on par, so maybe -head=full
      should be made the default and partial mode deleted.
    ; Thanks to Przemek for bug reports.

  * include/hbset.h
  * include/hbgtcore.h
  * include/hbapi.h
    + Added some HB_EXPORT flags.
2010-07-30 14:10:16 +00:00
Viktor Szakats
ed0d4ffa61 2010-07-30 14:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed ${hb_workdynsub} macro not returning correct value.
    ! Fixed to install implibs when -instforce is used and targets are
      up to date.
    + Added -implib=<dir> option to control placement of implibs generated
      in -hbdyn and -hbexe modes. (by default it's the output dir for
      main target)
    + Added autodetection of hbmaindllp lib and this case generate little 
      stub posted by Przemek on the list earlier this year, and in this 
      case also enabling linkage of shared Harbour lib in -shared mode.
      NOTE: Pls check this, this solution is Windows centric, but until
            I know this is the correct track I didn't want to extend it.
            Przemek can you take a look at it?
    * Changed the install group name to "depimplib" for implibs generated 
      for dependencies, and use "implib" group for implibs generated for 
      our own targets. This is needed to be able to control them 
      separately, since we don't necessarily want to install "depimplib" 
      while we always want to install "implib"s.

  * contrib/make.hbs
  * contrib/hbpost.hbm
    * Updated list of TODOs
    * HB_BUILD_CONTRIB_DLL changed to HB_BUILD_CONTRIB_DYN
    + HB_BUILD_CONTRIB_DYN now works also in stdalone mode.
    % Moved HB_BUILD_CONTRIB_DYN related options to hbpost.hbm
    + Added -shared and -lmaindllp options to dynamic lib build mode.
    * Changed dependency implib install target to have 'depimplib'
      prefix to differenciate from -hbdyn implib install target.
    + Added -implib=<dir> option to tell hbmk2 to create implibs
      in lib dir in -hbdyn mode.
    + Added install target for implibs generated in -hbdyn mode.
    ; All this means that now by setting HB_BUILD_CONTRIB_DYN=yes,
      a dynamic version will be build of the libs, import lib
      placed in lib dir, dynamic lib placed into dynamic lib dir
      (bin on non-*nix platforms, lib on *nix platforms).
      IOW, now HB_BUILD_CONTRIB_DYN=yes should work, at least on
      win and wce. I didn't make functional tests though.
      Please review/test it.
2010-07-30 12:05:15 +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
642c252c54 2010-07-29 17:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
  * utils/hbrun/hbrun.hbp
  * utils/hbrun/Makefile
    - Deleted "burn-in" trick to tell hbrun where to find the 
      Harbour include dirs. We need to find something universally 
      useful (portable).
2010-07-29 15:31:47 +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
67e483e6d8 2010-07-29 13:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    + Added public function HBRUN_DIRBASE() which returns the
      same value as envvar __HBRUN__DIRBASE, but this one looks
      a superior interface between scripts and runner environment.
      Pls comment.

  * contrib/make.hbs
  * contrib/hbpost.hbm
    * Updated TODO list.
    * Renamed internal _HB_*_INSTALL vars to _HB_INSTALL_*
    ; TODO: Do the same in Harbour with HB_*_INSTALL envvars.
2010-07-29 11:12:47 +00:00
Viktor Szakats
d33310b9fb 2010-07-29 12:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Changed pkg-config based dependency detection to only consider
      a given component present, if there is -I option present
      among the returned options. This should fix false positive
      cups detection, though I've yet to try it.
      Maybe it'd be even better to make detection even more robust
      by checking for the key header on the found headers paths
      when using pkg-config based detection.
2010-07-29 10:53:12 +00:00
Viktor Szakats
3d884b5706 2010-07-29 10:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    + Making available original hbrun location using __HBRUN__DIRBASE
      envvar. This information is lost when doing the argshift trick,
      pls shout if you see a better solution for it (or any concerns
      with this one).

  * contrib/make.hbs
    + Will now use unified method for both stdalone and GNU Make to 
      find out the location of hbmk2. It will look for it in the same 
      dir as of hbrun's.

  * config/postinst.hbs
    * Converting bash to .prg in progress.

  * INSTALL
    + Documented Mac OS X architecture flags.
2010-07-29 08:44:34 +00:00
Viktor Szakats
6a387e5244 2010-07-28 18:30 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added -instforce option which will force the target to be 
      copied to -instpath even if it was up to date. This is to
      make it in sync with GNU Make behaviour, where single 
      'make install' will copy everything regardless of being 
      up to date or not.

  * contrib/hbpost.hbm
    + Added -instforce to make it in sync with old GNU Make 
      behavior. Such case is exploited by .rpm generation, and 
      this is the reason why the contrib libs weren't 
      appearing in target lib dir.

  * config/postinst.hbs
    + Added two .so related TOFIXes.

  * mpkg_src.sh
    + Changed to always delete temp file bin/hb_flst.tmp containing
      a list of all source files. (anyone knows why was it left there?)
2010-07-28 16:31:03 +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
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
1db9c12b0b 2010-07-27 15:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    ! Typo in prev.
2010-07-27 13:33:06 +00:00
Viktor Szakats
838ec31a96 2010-07-27 12:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added new plugin APIs:
      - hbmk2_AddInput_OBJ()
      - hbmk2_PathFromWorkdirToCWD()
      - hbmk2_CWD()
    + Changed to not abort processing if there are no input files, but
      there are custom plugin input parameter.

  + bin/hbmk_l2d.hbs
    + Added rough plugin to convert static libs to dynamic libs
      on platforms supporting 'ar' tool (and of course the notion
      of such conversion). This is meant to replace functionality
      provided by bash script hb-mkdyn.sh.
      Pls find cmdline example in the script header.

  * config/postinst.hbs
    + Now installs hbmk_l2d.hbs

  - bin/hb-mkdyn.sh
    - Deleted hb-mkdyn speciality shell tool to convert static
      libs to dynamic ones.

  - bin/postinst.sh
    - Deleted, it only started hb-mkdyn.sh, which was just deleted.

  * Makefile
    - Do not run postinst.sh anymore.
2010-07-27 10:45:27 +00:00
Viktor Szakats
aa960ef3c0 2010-07-26 22:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
- mpkg_deb.sh
    - Deleted wrapper script. Pls use the method documented in
      INSTALL to build .deb files.

  * utils/hbmk2/hbmk2.prg
    * Minor change in output for better clarity.
2010-07-26 20:34:57 +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
6b758c4f6d 2010-07-25 10:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/xhb/hbcompat.ch
    + Added xhb translations for hb_eol() and hb_ps().

  * contrib/make.hbs
    - Deleted SetCancel().

  * src/debug/tbrwtext.prg
  * src/debug/debugger.prg
  * src/rtl/errsys.prg
  * src/rtl/profiler.prg
  * src/rtl/hbini.prg
  * src/rtl/treport.prg
  * src/rtl/tpersist.prg
  * src/rtl/hbi18n2.prg
  * src/rtl/ttextlin.prg
  * src/rtl/teditor.prg
  * src/rdd/usrrdd/rdds/logrdd.prg
  * tests/hbpptest/hbpptest.prg
  * tests/longstr2.prg
  * tests/cdow.prg
  * tests/output.prg
  * tests/dirtest.prg
  * tests/tstdbi.prg
  * tests/speedold.prg
  * tests/dates3.prg
  * tests/set_test.prg
  * tests/rto_get.prg
  * tests/cpinfo.prg
  * tests/speedtst.prg
  * tests/dates.prg
  * tests/set_num.prg
  * tests/rto_tb.prg
  * tests/testhtml.prg
  * tests/round.prg
  * tests/dates2.prg
  * tests/dates4.prg
  * tests/version.prg
  * tests/seconds.prg
  * tests/gtkeys.prg
  * tests/adirtest.prg
  * include/simpleio.ch
  * include/assert.ch
  * contrib/hbct/tests/tab.prg
  * contrib/hbct/tests/expomant.prg
  * contrib/xhb/traceprg.prg
  * contrib/xhb/hblog.prg
  * contrib/xhb/dumpvar.prg
  * contrib/xhb/dbgfx.prg
  * contrib/xhb/xhberr.prg
  * contrib/xhb/cstruct.prg
  * contrib/hbqt/generator/hbqtgen.prg
  * contrib/hbqt/hbqt_errorsys.prg
  * contrib/hbqt/generator2/hbqtgen2.prg
  * contrib/hbxpp/hbxpp.ch
  * contrib/hbnetio/utils/netiosrv.prg
  * contrib/hbnetio/utils/rpcdemo.hbs
  * contrib/hbnetio/utils/netiocmd.prg
  * contrib/hbpgsql/tests/dbf2pg.prg
  * contrib/hbmisc/tests/readfile.prg
  * contrib/hbmisc/tests/testhbf.prg
  * contrib/hbtip/thtml.prg
  * contrib/hbtip/client.prg
  * contrib/hbwin/tests/testsim.prg
  * contrib/hbwin/tests/testole.prg
  * contrib/hbwin/tests/testsvc.prg
  * contrib/hbssl/tests/bio.prg
  * contrib/hbssl/tests/pem.prg
  * contrib/hbide/ideedit.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idedocwriter.prg
  * contrib/hbide/hbide.ch
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/ideshortcuts.prg
  * utils/hbformat/hbformat.prg
  * utils/hbmk2/hbmk2.prg
  * utils/hbi18n/hbi18n.prg
  * utils/hbtest/hbtest.prg
  * examples/hbextern/hbextern.prg
  * examples/uhttpd2/umain.prg
  * examples/guestbk/inifiles.prg
  * examples/guestbk/testcgi.prg
  * examples/httpsrv/uhttpd.prg
  * examples/hscript/hscript.prg
    * hb_osnewline() -> hb_eol()
      (deleting temp variables and temp pp macros used in the past
      to workaround the long typing of the old function name)
    * Some formatting along the way in tests dir.

  * src/rtl/errsys.prg
    - Deleted usage of ISNIL(). It's a quite pointless macro.

  * src/rtl/errsys.prg
  * src/rtl/listbox.prg
  * src/rtl/profiler.prg
  * src/rtl/treport.prg
  * src/rtl/tpersist.prg
  * src/rtl/tgetlist.prg
  * src/rtl/teditor.prg
    % DO CASE -> SWITCH

  * src/rtl/alert.prg
    * Replaced DEFAULT TO with simple NIL check.

  * src/compiler/gencc.c
    * Formatting of generated code.

  * contrib/hbide/ideedit.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idethemes.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/idedocwriter.prg
  * contrib/hbide/hbide.ch
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbide/idehome.prg
  * contrib/hbide/ideshortcuts.prg
    * hb_osPathSeparator() (and static variable) -> hb_ps()
2010-07-25 08:45:50 +00:00
Viktor Szakats
3b6e247f8f 2010-07-23 17:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* harbour-win-spec
  * harbour-wce-spec
  * harbour.spec
    * HB_CONTRIBLIBS -> HB_BUILD_CONTRIBS

  * contrib/make.hbs
    ! Adjusted wording in log output.

  * utils/hbmk2/hbmk2.prg
    ! Fixed bad regression caused by extending filters to
      all options. I reverted it. It has a killer effect
      without huge benefit. Maybe it will be implemented
      differently in the future.
      The user effect of the regression was that libs were
      created in bin dir.
    * Cleaned some variable names passed to plugins.

  * utils/hbmk2/examples/plug_tpl.hbs
    + Added comment about requirement of reentrancy.
2010-07-23 15:36:22 +00:00
Viktor Szakats
319d515799 2010-07-23 13:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    - Deleted handling of .hbi extension.
    - Deleted -target and -alltarget cmdline options as an
      effort for simplification. Now all cmdline options apply
      to all targets.
    + .hbp file references will now be executed as sub-projects,
      using an internal recursive call to the hbmk2 engine.
      This means that projects can now be embedded. INCOMPATIBLE
      if someone used .hbp file references inside other make
      files. If you want to create common settings in a separate
      file, always use .hbm extension.
      Pls note that sub-projects will inherit all cmdline options
      of original hbmk2 invocation.
    + Added ${hb_targetname} macro to return the parent project
      name.
    + Added ${hb_targettype} macro. Returning target type.
    + Changed -run option to only run the top level project.
    + Changed --hbinfo to return a flat list of information
      about all projects involved. Currently the main project
      is the last one in the list (order of execution).
    + Filters can now be used also for file inclusion and -skip
      options (which means they can now be used for all possible
      cmdline and .hbm/.hbp options)
    ! Fixed the way automatic cmdline options based on
      hbmk2's own filename are created. From now -hbcmp, -hblnk,
      -hbcc, -rtlink, -xhb, -hb10 will be added to the left side
      of the existing option (to precede everything else), while
      the rest (f.e. -hblib, -hbexe, -hbdyn) will be added last.
    ; NOTE: Quite heavy changes so pls expect (and report) any
            regressions. Most probably there will be room for
            tweaks here and there to make the new cascading build
            feature as smooth as possible.

  * contrib/make.hbs
    % Internally simplified since now the handling of sub-projects
      is the job of hbmk2 and .hbp make files.
    + In standalone mode it will now detect the name of the project
      in current dir, so the codepaths are much similar to the
      GNU Make mode now and stdalone mode will also rely on pkglist,
      instead of trying to detect what to build on its own.
    + Not require pkglist to list any sub-projects anymore, now
      it's simple list of main .hbp files.
    + Changed along with hbmk2 to deal with multiple project
      information returned by --hbinfo.
    + Avoid using the word "contrib", use "package" instead.

  * contrib/pkglist
    * Simplified to a mere list of main .hbp files for packages.

  * utils/hbrun/hbrun.prg
  * contrib/make.hbs
  * config/postinst.hbs
    * PathSepToSelf() rewritten to not make assumptions about
      __PLATFORM__* macro vs hb_ps() value, instead use hb_ps()
      value to decide what to do.

  * utils/hbrun/hbrun.prg
    ! Fixed to not save the (empty) history after each non-interactive
      session.

  * config/win/cygwin.mk
    ! Fixed to add z and pcre libs if the locally hosted ones
      aren't used.

  * contrib/hbqt/generator/hbqtgen.prg
    ! Fixed OS names in doc output.
    * Formatting.

  * contrib/gtalleg/gtalleg.hbm
  * contrib/gtalleg/gtalleg.hbp
  * contrib/gtalleg/gtallegs.hbp
  * contrib/hbcurl/hbcurl.hbm
  * contrib/hbcurl/hbcurl.hbp
  * contrib/hbcurl/hbcurls.hbp
  * contrib/hbtip/hbtip.hbm
  * contrib/hbtip/hbtip.hbp
  * contrib/hbtip/hbtipssl.hbp
  * contrib/hbssl/hbssl.hbm
  * contrib/hbssl/hbssl.hbp
  * contrib/hbssl/hbssls.hbp
  * contrib/hbqt/hbqt_common.hbm
  - contrib/hbqt/hbqt.hbm
  + contrib/hbqt/filelist.hbm
  * contrib/hbqt/hbqt.hbp
  * contrib/hbqt/hbqts.hbp
  * contrib/hbqt/hbqtgui.hbp
  * contrib/hbqt/hbqtguis.hbp
  * contrib/hbqt/hbqtcore.hbp
  * contrib/hbqt/hbqtcores.hbp
  * contrib/hbqt/hbqtnetwork.hbp
  * contrib/hbqt/hbqtnetworks.hbp
  - contrib/hbqt/gtqtc/gtqtc.hbm
  + contrib/hbqt/gtqtc/filelist.hbm
  * contrib/hbqt/gtqtc/gtqtc.hbp
  * contrib/hbqt/gtqtc/gtqtcs.hbp
  * contrib/hbqt/qtwebkit/hbqtwebkit.hbp
  * contrib/hbqt/qtwebkit/hbqtwebkits.hbp
  * contrib/hbqt/qtdesigner/hbqtdesigner.hbp
  * contrib/hbqt/qtdesigner/hbqtdesigners.hbp
  * contrib/hbqt/hbqscintilla/hbqscintilla.hbp
    * Cleanup along with latest changes:
      Using ${hb_targetname} instead of ${hb_name}, so it's safe to
      use it inside .hbm file, instead of replicating them in every
      .hbp file.
    + Now primary .hbp project files always reference the sub-project
      .hbp files:
         - hbqt
           + hbqts
           + hbqtcore
             + hbqtcores
           + hbqtgui
             + hbqtguis
           + hbqtnetwork
             + hbqtnetworks
      Which means that 'hbmk2 hbqt.hbp' will rebuild the whole
      stuff (all libs, and even static libs if requested) in one pass.
    * Renamed some file for more uniform layout.
2010-07-23 11:08:33 +00:00
Viktor Szakats
29bb18fba1 2010-07-22 16:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
- contrib/hbqt/hbqt_hbdbfmodel.cpp
  * contrib/hbqt/generator/qt45.qtp
  - contrib/hbqt/qth/HBDbfModel.qth
  - contrib/hbqt/qtcore/THBDbfModel.prg
  * contrib/hbqt/qtcore/filelist.hbm
  - contrib/hbqt/qtcore/HBDbfModel.cpp
  - contrib/hbqt/doc/en/class_hbdbfmodel.txt
  * contrib/hbqt/hbqt.h
  - contrib/hbqt/hbqt_hbdbfmodel.h
  * contrib/hbqt/hbqt_garbage.h
  * contrib/hbqt/hbqt.hbm
    - Deleted now obsolete DBFMODEL.

  * src/rtl/gtcrs/gtcrs.h
    * Minor formatting. (from patch by Tamas Tevesz)

  * config/detect.mk
    ! Fixed autodetection of curses under Cygwin.
      Requires Cygwin sh shell to work.
      Patch by Tamas Tevesz.

  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    * Minor.
2010-07-22 14:59:03 +00:00
Viktor Szakats
08efbcb882 2010-07-22 00:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed stupid error not allowing to add the same install
      path for multiple groups.
    ! Fixed to not create workdir in --hbinfo mode.
    % Do not install twice the implibs defined in dependencies.

  * contrib/make.hbs
    + Make sure to disable envvars influencing build options
      also in stdalone mode.
2010-07-21 22:58:42 +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
062c7e464e 2010-07-21 11:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Tackled watcom target platform autodetection to be in
      sync with global.mk. Whole autodetection should be
      rewritten in hbmk2 (it's an old TODO).
    ! Fixed to not show error when trying to create implibs 
      defined in dep spec on platform that don't support it.

  * contrib/make.hbs
    - Deleted one TODO.

  * ChangeLog
    ! Typos in prev. Add note new 'option names tentative' yet.
2010-07-21 09:30:58 +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
618d38b205 2010-07-19 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
  * contrib/hbpre.hbm
    + Will now automatically rebuild all dependent contribs.
      So f.e. when building hbide, it will automatically update
      hbqt then hbxbp. Pls note that extra hbmk2 options passed
      at the cmdline are only applied to primary target.
    + Will now automatically sort the list of contribs in order
      of dependency.
      [ there is quite interesting tree parsing/building and
      topological sorting employed. ]
    + Added log message at the end of the build process.
    + Standalone mode will now launch raw hbmk2 session if
      anything non-option and non-GNU control keyword is passed
      to it (f.e. a .hbp or a .prg). In such case it will act
      as plain hbmk2 call.
    ! Fixed -quiet keyword to be really quiet (should be on the
      cmdline for that effect).
    + Added GPL2 license header.

  * contrib/Makefile
    % Greatly simplified.

  * contrib/hbqt/hbmk2_plugin_qt.hbs
    + Changed to do all tool detection in init 'pre_all' stage,
      and return an error if anything is missing. This allows
      hbmk2 to gracefully end the build process in such case.

  * utils/hbmk2/hbmk2.prg
    + hbmk2 will now gracefully exit with errorlevel 20 if
      any plugins return error at 'pre_all' stage.
    + --hbinfo will now return whether incremental mode is
      enabled for a project.
    + Plugins can now return at 'init' stage, in such case
      the plugin will be instantly unloaded.
    + hbmk2 will now display the stage where error is reported
      by plugins.
    * Experimental trick added: On win/wce/os2/dos platforms,
      if no explicit dependency location path was set by user
      (using HB_WITH_*) and there was no locally hosted location
      specified either, hbmk2 will show a warning instead of
      an error.
    + Added new internal variable to store implib extension.
      (OS/2 supports .imp as such extension, although hbmk2
      does not yet)
    + Replaced os2/gcc -implib method with a new post cmd method
      (instead of using --out-implib mingw-like option which
      doesn't exist in OS/2). Thanks Maurilio for tests and
      information.

  * INSTALL
    + Added more visibility and more clear wording to TROUBLESHOOTING
      section reference in top of INSTALL doc.
    + Numbered items in TROUBLESHOOTING section so that they can be
      easily referred to.
    + Added new TROUBLESHOOTING suggestion (somewhat redundant)
      to first try to remove any special build options.

  * Makefile
    + Never attempt to run postinst.bat and postinst.cmd.

  * ChangeLog
    * Changes marked as DONE.
2010-07-19 19:04:29 +00:00
Viktor Szakats
8840326106 2010-07-18 12:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Will now append a _dll postfix in -hbdyn mode (and _exe in -hbexe mode)
      to implib generated when -implib option is used. This is needed
      to make it not collide with statis libraries generated in parallel.
    + Added technique with which even the fatal borland C compiler can
      tricked to create implibs with custom names. I didn't test it
      very much, I just hope the implib is equivalent with the one
      generated directly by linker. For borland users I recommend to
      switch to a modern compiler.
    + Will now also install implib if -instpath is specified and
      -implib is used on platforms that it's supported.
    ! Fixed to escape filenames in post-build command (strip on some
      platforms and now implib).

  * contrib/make.hbs
    + Enabled -implib hbmk2 option in HB_BUILD_CONTRIB_DLL=yes mode.
    * Disabled debug stuff.
2010-07-18 10:10:33 +00:00
Viktor Szakats
9e5eb6af23 2010-07-18 1:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    * Changed to only create .hbd documentation file for the
      core. This is to ensure separation of components.

  * contrib/Makefile
    - Deleted old Makefile-based build logic in contrib area,
      now this make file does nothing else than passing the
      control to make.hbs Harbour script.

  * contrib/make.hbs
  * contrib/hbpre.hbm
  * contrib/hbpost.hbm
    % Moved -instpath options to hbpost.hbm to save cmdline length.
    % Moved HB_BUILD_SHARED control logic from make.hbs to hbpost.hbm
    ! -warn option moved to hbpre from hbpost, so libs can override it
      (can be important for external code)
    + Will now compile .hbd binary documentation in 'install' phase
      and copy it to HB_DOC_INSTALL.
    * Internal pathsep cleanup.
    ! Fixed to accept 'install'/'clean' regardless of casing.
    + Now accepts HB_BUILD_CONTRIBS instead of HB_CONTRIBLIBS
      (though old envvar still work for while)
    + Log feedback now show the build action executed.
    + Added more TODOs.

  * INSTALL
    * Documented the change to HB_BUILD_CONTRIBS from HB_CONTRIBLIBS.

  * utils/hbmk2/hbmk2.prg
    + Will now automatically recognize HB_BUILD_NAME envvar and
      convert it to -build= cmdline option.

  * contrib/hbodbc/todbc.prg
  * contrib/hbodbc/odbcold.c
  * contrib/hbodbc/odbc.c
    * Renamed SQLSTOD to HB_ODBCSTOD
    * Renamed SQLSETNUMLEN to HB_ODBCSETNUMLEN.
    * Old names are deprecated with HB_LEGACY_LEVEL3.
      If you happen to use these function names, pls update to
      the new ones ASAP.
2010-07-18 09:04:59 +00:00
Viktor Szakats
1b5ddd6c72 2010-07-17 21:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/Makefile
    + Enabled to build all contribs using hbmk2 from now on.

      This is huge step, but in fact a zillion little ones in
      the last 2 years, and it means that contribs now rely on
      hbmk2 and hbmk2 make files (.hbp and .hbc) to be build and
      used respectively. For implibs, .hbi is used. The whole
      process is orchestrated by a script written in Harbour: make.hbs. 
      With this change GNU Make is retired when it comes to contrib
      area. This new hbmk2 based system gives us much flexibility,
      many complicated build situations can now be potentially
      handled, while also making the contrib area fully modular,
      since they don't depend even on /config GNU Make system anymore.
      This means that any external contribs having hbmk2 make files
      are easy to import and any Harbour contribs are easy to detach 
      from our SVN. It also allows to include more features (f.e. 
      executables) in final distros. Executables hosted in the 
      contrib area have the great advantage that they can use any 
      other contrib libs (so far we were limited to core features 
      for exes). It also allows to dynamically add extra contribs 
      (or delete existing ones) on a per distro basis, so f.e. 
      certain builders can create their own binary distro with 
      a standard core and extra set of contribs. New system also 
      makes it possible to build dynamic libs from contribs. It's 
      also easier to move locally hosted external projects inside 
      the contrib tree, even as a subdir inside the contrib that 
      requires it (f.e. minizip, bz2 or sqlite). This can make 
      these projects fully self-contained.

      Some things are not perfect yet, f.e. I'm still fighting
      with cmdline length (relevant in MS-DOS) and the "in-place"
      build (I call "in-place" build when you build only one
      contrib at a time, like when issuing win-make inside a
      contrib subdir) will certainly need some getting used to,
      and maybe even some refinement in make.hbs. I've yet to
      implement automatic dependency detection and tree-sorting
      so that everything automatically builds in right order of
      dependency. Such thing can even be added for "in-place"
      build mode, and f.e. building hbide can automatically
      launch hbqt and hbxbp builds. BTW I retained the 
      "header-copy-on-install" method, but I'm not sure it's 
      right solution, anyhow we still have time to think about 
      a better one.

      If everything goes fine, the GNU Makefiles in contrib
      area will be gone, so there won't be any redundancy again.

  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + -stop cmdline option now accepts a message it displays before stopping.
    + skip= .hbc command will now stop if there is text in its parameter.
      INCOMPATIBLE: So far -skip only skipped if 'on' was passed as value,
      now it will always skip. This means this command always has to be used
      along a filter. If the filter evaluates, skip will happen, if not it
      won't.
    + Added stop= .hbc command which will halt complete build process,
      similarly to -stop cmdline option. It also supports text to be
      displayed.

  * contrib/hbqt/hbqt.hbc
    + Will now stop with a screen message if this component is tried
      to be used on unsupported platform.

  * contrib/hbwin/hbolesrv.hbc
  * examples/hbsqlit2/hbsqlit2.hbp
  * examples/gtwvw/gtwvw.hbp
    * Changed to use new hbmk2 -stop facilities.

  * src/rtl/filesys.c
    + Missed two casts from previous commit.

  - examples/gtwvw/Makefile
    - Deleted.
2010-07-17 19:51:18 +00:00
Viktor Szakats
a93ad12a66 2010-07-17 14:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* ChangeLog
    * Updated VxWorks notes in 2010-07-16 18:22 UTC+0200 Viktor Szakats

  * include/hbsetup.h
    * Enabled HB_USE_SHARELOCKS_OFF for VxWorks. This fixes creation
      of plain .dbf files, _but_ it will make a weird bug surface
      when creating .dbf+.dbt: The content of the .dbt file is
      written into the .dbf and the .dbt is kept as a zero length
      file. Przemek if you read this, do you have any idea what
      this could be?

  * src/rtl/hbgtcore.c
  * src/rtl/gtsys.c
    ! Fixed to set default GT for vxworks also in hbgtcore. Made NOTE
      in source that needs to be kept in sync. This finally fixes
      the uninitialized GT error.
    * Reset default vxworks GT to GTSTD instead of GTCGI.

  * utils/hbmk2/hbmk2.prg
    * Minor.
2010-07-17 13:05:21 +00:00
Viktor Szakats
24fa6d0dd3 2010-07-17 11:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    % Won't anymore do dependency check on system headers found on
      autodetected dependency locations. This has the upside that
      now hbmk2 f.e. won't traverse the deep header structures of
      QT, greatly enhancing build performance. The downside is
      that now libs won't be automatically rebuilt if such dependency 
      is updated (f.e. after upgrading to a new version of QT). 
      Pls speak up if you have an opinion on this, maybe
      using other solution or to control this behavior using
      a global or dependency level switch.
2010-07-17 09:38:09 +00:00
Viktor Szakats
a60270521e 2010-07-17 09:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * utils/hbmk2/hbmk2.prg
    + Added pcc to few places (with experimental status).
2010-07-17 07:46:43 +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
e000a6a0b4 2010-07-16 15:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbinit.h
    ! Fix to prev. Missed another 'static' qualifier.
    ; Now hbtest runs OK on vxworks/diab. (there are more
      errors though due to HB_LONG_LONG_OFF)

  * utils/hbmk2/hbmk2.prg
    ! Fixed to not request GTTRM in vxworks builds.
2010-07-16 13:16:40 +00:00
Viktor Szakats
9be35ea982 2010-07-16 14:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    ! Fixed to show error in GTCGI mode instead of going into 
      an infinite loop.
2010-07-16 12:52:30 +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
03a15d50b5 2010-07-16 13:27 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
    + Enabled GTCGI for Harbour builds. This makes it independent
      for GTs, to there is better chance to run it. Now it also
      works on VxWorks.
    + Will now detect .dbf creation failure and continue gracefully
      with a message and skipping all related tests.

  * src/rtl/hbsocket.c
  * external/minizip/ioapi.h
  * include/hbthread.h
    + Added/cleaned hacks to avoid collision between VxWorks's own
      system types.

  * external/minizip/ioapi.h
    ! Disabled 64-bit FSIO for whole VxWorks.

  * config/vxworks/gcc.mk
  * config/vxworks/diab.mk
  * config/vxworks/global.mk
    + _VX_CPU is now defined in vxworks/global.mk.

  * src/common/hbarch.c
    ! Fixed hb_put_le_uint64() definition to match declaration.

  * include/hbdefs.h
    ! Fixed compatibility type definitions in HB_LONG_LONG_OFF mode.

  * include/hbsetup.h
    + Added bzero() declaration hack for vxworks.

  * include/hbinit.h
    + Added support for diag compiler init function.
      It requires the constructor to have public visibility.

  * src/common/hbver.c
    + Changed to always display x.x.x.x format verison no for diab.
      (in generic way).

  * INSTALL
    * Updated list of CPUs supported by vxworks.
2010-07-16 11:34:05 +00:00
Viktor Szakats
c7445e0bae 2010-07-16 08:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbver.c
    * Formatting.

  * config/vxworks/diab.mk
    ! Refined tweak added to make hbsocket compile. I overdid
      it, causing other breakage.
    ! Fixed dynlib generation to cope with Windows cmdline
      length limits.
    + Added proper dynlib generation rule.

  * config/vxworks/gcc.mk
  * config/vxworks/global.mk
    + HB_CCPOSTFIX setup made common to all compilers, because
      it's needed for 'strip' call.

  * utils/hbmk2/hbmk2.prg
    + Some vxworks environment setup made common to all compilers.

  * harbour-win-spec
  * harbour-wce-spec
    ! Deleted hbmk.hbc references.

  ; Patches by Tamas Tevesz:

  * harbour.spec
    ! Fixes to make it work.

  * external/minizip/minizip.dif
    * Updated.

  * INSTALL.
    * Nevermind.
2010-07-16 06:11:26 +00:00
Viktor Szakats
f1fdb9b02c 2010-07-16 00:25 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/vxworks/diab.mk
    + Implemented support for Wind River Compiler.
      Incomplete yet, as I couldn't test each build
      feature due to errors in earlier build stages.

  * src/common/hbver.c
    + Added fourth version number level.
    + Added version detection for Wind River Compiler (diag).
    * Formatting.

  * src/common/hbprintf.c
  * external/minizip/ioapi.h
    + Fixes for Wind River Compiler (diag)

  * src/rtl/hbdyn.c
    ! Dirty fix to compile in HB_LONG_LONG_OFF mode.
      Przemek if you see this, can you take a look at it if 
      it's right or at least not terribly off?

  * include/hbsetup.h
    ! Temporary hack for Wind River Compiler to use
      HB_LONG_LONG_OFF, otherwise the compiler crashes with
      internal error in hvm.c (without hvmall and optimizations
      also). Now, this flag caused another slew of problems,
      so as it looks now support for this compiler cannot
      be added:
         "../../../hvm.c", line 9827: internal compiler error (etoa:1000): - Failed allocating register pair
         please contact support@windriver.com */

  * include/hbinit.h
    + Enabled Wind River compiler to use the GCC init mode.
      (didn't actually test it, but it compiles)

  * utils/hbmk2/hbmk2.prg
    + Added new debug switch -debugpars to get a list of
      input parameters processed by hbmk2.
    + Synced automatic HB_CCPOSTFIX configuration based on cpu
      setting with GNU Make logic.

  * config/vxworks/gcc.mk
    * Cleanups.
    + Added more CPU postfixes.

  * INSTALL
    * Minor convenience added to prev.
2010-07-15 22:32:24 +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