Commit Graph

1434 Commits

Author SHA1 Message Date
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
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
Viktor Szakats
533b75b205 2010-07-14 12:25 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/Makefile
  * utils/hbmk2/hbmk2.prg
    + Added build time configuration for GPM (on Linux) and
      WATT (on MS-DOS) builds. This makes hbmk.hbc generation
      (at 'install' phase) unnecessary, which means that now
      'install' is not required on _any_ platforms and scenarios
      to use hbmk2. Since hbmk2 is now used to build contribs,
      this is now also a reqiurement.
    ; Please test, I didn't make any Linux, MS-DOS build tests 
      after this change.

  * config/postinst.hbs
    - Deleted hbmk.hbc creation. Now this logic is included in
      hbmk2 at build-time on Linux and MS-DOS build which have
      GPM lib and WATT lib detected respectively.

  * contrib/hbct/numline.c
    * HB_ISIZ variables renamed.
2010-07-14 10:27:06 +00:00
Viktor Szakats
ec5c6619dc 2010-07-14 10:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapicdp.h
  * src/rtl/cdpapi.c
  * src/rtl/cdpapihb.c
  + tests/utf8at.prg
    + Added hb_cdpUTF8StringAt()
    ; Patch by Carlos Bacco. Many thanks!

  * include/hbextern.ch
  * include/hbapicdp.h
  * src/rtl/cdpapi.c
  * src/rtl/cdpapihb.c
    ; my modifications to above patch:
    - Using HB_BOOL instead of int for flag value.
    % HB_UTF8AT(), HB_UTF8RAT() optimized to use hb_param(),
      plus optimized out variables.
    ! HB_UTF8AT(), HB_UTF8RAT() fixed 'nEnd < nStart' case.
    ! Some formatting.
    + Added new functions to hbextern.ch.

  * tests/utf8at.prg
    * Changed to use UTF8 string as base.
    * Avoiding "OEM" and "ANSI" Microsoft misleading terms,
      using standard CP names instead.
    ! Using HB_TRANSLATE() to convert between CPs (instead
      of non-portable, Windows-only HB_OEMTOANSI()/HB_ANSITOOEM()
      functions).
    * Formatting.
    * Using '?' instead of QOUT(), plus added simpleio.ch to
      allow redirection of output.

  * contrib/make.hbs
    * Minor step to make dependency evaluation and automatic
      sorting of components for build.

  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + Added -vcshead support for Monotone version control
      software.
    % Cleaned and optimized "in dir" C compiler run mode.
      (currently used by mingw)
    ! Fixed "in dir" C compiler run mode when using -jobs=
      option for multithreaded builds.
    % Little optimization to --hbinfo option.
2010-07-14 08:14:32 +00:00
Viktor Szakats
b981168cf6 2010-07-13 16:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed to rebase -I dirs also, when using new in-dir mingw
      (experimental) call method.

  * contrib/hbmzip/hbmzip.c
  * contrib/hbbz2/hbbz2.c
  * contrib/hbmemio/memio.c
  * contrib/hbxpp/xppopc.c
  * contrib/hbmisc/strfmt.c
  * contrib/hbmisc/stringsx.c
  * contrib/hbtip/utils.c
    * HB_SIZE/HB_ISIZ variables renamed.

  * contrib/hbmemio/memio.c
    * HB_ULONG -> HB_SIZE in missing places.

  * contrib/hbtip/utils.c
  * contrib/hbtip/thtml.prg
    * PSTRCOMPI() function renamed to __TIP_PSTRCOMPI()
      INCOMPATIBLE: If someone by any chance used this internal
                    worker function in user code, pls update the name.
    % __TIP_PSTRCOMPI(): optimization.
2010-07-13 14:03:07 +00:00
Viktor Szakats
29cd12b694 2010-07-13 12:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbdoc.prg
  * include/hbextern.ch
    + Added __HBDOC_TOSOURCE( <aEntry> ) which is able to
      rebuild original HBDOC source from memory variable.
      ATM language information is lost in the process, this
      will have to be solved in the future.

  * utils/hbmk2/hbmk2.prg
    + Added experimental optimization to mingw build, where the
      compiler is called only once to compile all files. Since
      gcc doesn't have a switch for that, it's done in tricky
      way by changing directory and recalculating source dir
      relative from workdir. Now it's active by default, pls
      report any build errors, especially in multithreaded mode.

  * contrib/hbqt/generator/hbqtgen.prg
    * Cleanups

  * contrib/hbwin/win_shell.c
    ! Reverted previous patch 2010-07-13 08:55, it broke mingw builds.
2010-07-13 10:04:06 +00:00
Viktor Szakats
39a1464cc8 2010-07-12 21:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed to not generate implibs in --hbinfo mode.

  * contrib/make.hbs
    % Minor.
2010-07-12 19:39:05 +00:00
Viktor Szakats
7f9fb4c0ee 2010-07-12 20:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed to honor -stop option in -hbimplib mode.
    ! Fixed --hbinfo when there is missing dependency.

  * contrib/hbmysql/hbmysql.hbi
  * contrib/gtalleg/gtalleg.hbi
  * contrib/sddmy/sddmy.hbi
  * contrib/sddfb/sddfb.hbi
  * contrib/hbblat/hbblat.hbi
  * contrib/hbfbird/hbfbird.hbi
  * contrib/sddpg/sddpg.hbi
  * contrib/hbcurl/hbcurl.hbi
  * contrib/hbhpdf/hbhpdf.hbi
  * contrib/hbpgsql/hbpgsql.hbi
  * contrib/rddads/rddads.hbi
  * contrib/hbfimage/hbfimage.hbi
  * contrib/hbgd/hbgd.hbi
  * contrib/sddoci/sddoci.hbi
  * contrib/hbcairo/hbcairo.hbi
  * contrib/hbssl/hbssl.hbi
    + Added -stop option in case HB_WITH_* var is empty.
      This helps reducing some clutter in build log output.

  * contrib/make.hbs
    ! Fixed to clear target type detection result from previous
      contrib (even though such case cannot happen if hbmk2
      does it's job right)

  * contrib/hbdoc2/gentpl.prg
  * contrib/hbdoc2/gentxt.prg
  * contrib/hbdoc2/tmplates.prg
  * contrib/hbdoc2/genxml.prg
  * contrib/hbdoc2/genhtml.prg
  * contrib/hbdoc2/hbdoc2.prg
  * contrib/hbdoc2/hbdoc2.ch
    % Peeling off unused code and other cleanup work.
      (didn't retest)
2010-07-12 18:43:19 +00:00
Viktor Szakats
96e069c19e 2010-07-12 18:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * src/rtl/Makefile
  + src/rtl/hbdoc.prg
    + Added __HBDOC_LOADDIR() internal RTL function to read
      NFDOC formatted documentation source directories into
      memory. The result will be a list of hashes which contain
      the raw content of doc files. The function does format
      validation (but not content) and add all agreed-on metadata
      to the hashes.
      It's a start and I hope others can join to create new
      layers of function for below functionality:
         - doc content validation
         - pre-formatting
         - output generators
      The goal is to avoid local solutions and standardize
      the format.

  + tests/hbdoctst.prg
    + Added small test app which will find and parse all
      documentation inside the Harbour source tree and
      save them in .hbd (serialized doc hash) format.
      Such .hdb files can be generated by the build process
      in the future, so tools like HBIDE can use the content
      to display intellisense or built-in help.
    ; TODO: HBQT doc/html should be removed as it's 
            hbdoc tools' job to convert HBDOC source 
            format to html or whatever else format needed.

  * harbour.spec
  * debian/rules
  - doc/man
  + src/pp/hbpp.1
  + src/main/harbour.1
  + utils/hbmk2/hbmk2.1
  + utils/hbtest/hbtest.1
  + utils/hbrun/hbrun.1
    * Moved man doc files to their own component dirs.

  * doc/Makefile
  * doc/en/Makefile
  + doc/clipper.txt
  - doc/en/clipper.txt
    * Moved non-NFDOC formatted doc file to doc dir.

  * doc/en/Makefile
    ! Fixed missing 1stread.txt

  * doc/en/hb_apigt.txt
  * doc/en/hbinet.txt
  * doc/en/tbrowse.txt
  * doc/en/hb_apifs.txt
    ! Fixed NFDOC non-standard entries.

  * bin/hbxpatch.hbs
    ! Fixed detecting dirs. (could cause errors only in rare cases)

  * contrib/hbdoc2/tmplates.prg
    * Formatting.
2010-07-12 16:47:24 +00:00
Viktor Szakats
afab150393 2010-07-10 08:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    * Upped history length to 500 (from 128)

  * contrib/make.hbs
    * Skip hbppo projects.
    * Minor internal mods.

  * contrib/hbqt/hbqt_common.hbm
    ! Fixed hbmk2 plugin name.
2010-07-10 06:16:15 +00:00
Viktor Szakats
e98db3a241 2010-07-09 22:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + --hbrefs option renamed to --hbinfo and now also includes
      target type.
    + Extended target detection with 'hbppo' and 'hbhrb' types.
      These are automatically detected from Harbour option usage.
    + Added ${hb_outputname} macro. Returns the output name as
      specified with -o option, without extension. Returns empty
      if there wasn't -o option at the point of usage.
    + Added ${hb_outputdir} macro. Returns the output dir as
      specified with -o option. Returns empty if there wasn't
      -o option at the point of usage.
    + -p -s options don't require to manually select -hbraw
      mode, it will be autodetected.
    ! Fixed to not interpret -i- Harbour option as include dir.
    + Don't add the same Harbour option twice.

  * contrib/Makefile
  * contrib/make.hbs
  + contrib/hbpost.hbm
  + contrib/hbpre.hbm
    % Cleaned the way build options are passed to hbmk2.
    + Synced much more options and build behavior of hbmk2
      based contrib build with GNU Make build (debug, unicode,
      warnings, Harbour settings, C settings)
    + Added more projects to hbmk2 build method.
    % Deleted MS-DOS specific hack (for now) because the new
      cmdlines are very short.
    ; TODO: Now make.hbs is not self-contained, which would 
            better be solved somehow.

  * contrib/make.hbs
    + It will now detect and show target type in stdalone mode.
    + Synced default build options with GNU Make.

  * contrib/hbqt/hbqts.hbp
  * contrib/hbqt/hbqtguis.hbp
  * contrib/hbqt/hbqtcores.hbp
  * contrib/hbqt/hbqtnetworks.hbp
    + Added -hblib option to make it easy to detect target type
      for 3rd party tools.

  * contrib/hbnetio/utils/netiosrv.prg
    + Will now also accept .hbs and .prg files as RPC filters.

  - contrib/hbnetio/utils/modules
  * contrib/hbnetio/utils/modules.hbp
  + contrib/hbnetio/utils/rpcdemo.hbs
    * Renamed RPC demo to .hbs.
    * Deleted modules subdir.

  - contrib/hbnetio/utils/hbmk.hbm
  * contrib/hbnetio/utils/hbnetio.hbp
    - Deleted separate hbmk.hbm.

  * contrib/hbnetio/utils/netiocmd.prg
    ! Minor in help screen.

  * contrib/hbnetio/tests/netiotst.prg
    + Added some feedback.
2010-07-09 20:51:12 +00:00
Viktor Szakats
efecd00708 2010-07-08 10:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/winuni/mpkg_win_uni_extra_copy.bat
    + Include /doc/* tree in binary distro.
      This makes code generation and embedding that large amount 
      of generated code into hbide itself (at build time) unnecessary. 
      All hbide needs to do is processing these docs at runtime, and
      storing the results and index (f.e. as serialized hash into some 
      local cache dir in its setting area). At startup, periodically, 
      or by users request it can rescan the docs and regenerate its 
      caches.

  * utils/hbmk2/hbmk2.prg
    + Added nesting level information to --hbrefs output.
2010-07-09 08:02:45 +00:00
Viktor Szakats
3477752517 2010-07-08 17:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
    + Added experimental dependency display in stdalone mode.
    * Reflist prefix changed to 'hbrefs{{' from '{{'

  * contrib/gtalleg/gtalleg.hbc
  - contrib/gtalleg/gtallegs.hbc
  * contrib/hbqt/gtqtc/gtqtc.hbc
  - contrib/hbqt/gtqtc/gtqtcs.hbc
  * contrib/hbqt/hbqt.hbc
  - contrib/hbqt/hbqts.hbc
  * contrib/hbcurl/hbcurl.hbc
  - contrib/hbcurl/hbcurls.hbc
  * contrib/hbssl/hbssl.hbc
  - contrib/hbssl/hbssls.hbc
    * Merged static .hbc files into "normal" .hbc files. Now static
      mode can be selected by setting HB_STATIC_* to 'yes' or '1'.
    ; TODO: Rename HB_QT_STATIC to HB_STATIC_QT.
    ; TODO: Document new setting in install.

  * contrib/hbssl/tests/test.prg
    ! Fixed warning.

  * utils/hbmk2/hbmk2.prg
    % Cleaned code path in --hbrefs mode.
2010-07-08 15:33:04 +00:00
Viktor Szakats
6f62ea6086 2010-07-08 14:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    ! Fixed to open .dbf passed on the cmdline in shared mode.
2010-07-08 12:54:57 +00:00
Viktor Szakats
215d789c6d 2010-07-08 13:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added --hbref option which outputs project references (.hbc) 
      to stdout in machine parsable format.
2010-07-08 11:22:51 +00:00
Przemyslaw Czerpak
22100001e8 2010-07-08 12:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbmacro.h
  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbexprb.c
  * harbour/src/pp/ppcore.c
  * harbour/src/compiler/hbmain.c
  * harbour/src/vm/macro.c
    ! fixed code used to decide about early and late macro
      evaluation in codeblocks to be exactly Clipper compatible.
      Now if codeblock contains at least one macro variable
      (i.e.: &var, any&var, any&var.2) then it's always early
      evaluated.
      Please remember that codeblocks which contains only simple
      macro variable ( &var[.] ), i.e.:
         {|| &var }
      are modified during compilation by Clipper and Harbour compilers to:
         &( "{||" + var + "}" )
      and then PCODE is generated. It allows to use LOCALs, STATICs and
      FIELDs as 'var' in such expressions. In xHarbour above functionality
      was extended to work also with macrotext variables, i.e.:
         {|| &var.2 }
      If you think it's important extension then I can make the same
      in Harbour or I can even implement it for all codeblock expressions
      with macros using declared non memvar symbols, i.e.
         {|| &var + 1 }
      what should effectively eliminate E0047 compile time error
    ! fixed compile time error E0042 "Macro of declared symbol..."
      to be generated with the same conditions as in Clipper.
    ! fixed compile time error E0047
         "Code block contains both macro and declared symbol references..."
      to be generated with the same conditions as in Clipper.
      Note: -km switch disables macro text evaluation so also above errors
      unless macro is not used in codeblock

      Warning: above modifications can cause compile time errors in some
               code which was not Clipper compatible and in such case they
               will have to be updated.

  * harbour/utils/hbtest/rt_math.prg
    ! updated code with Clipper incompatible code exploited by above
      modifications
2010-07-08 10:35:53 +00:00
Viktor Szakats
408c49807b 2010-07-08 11:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hbxpatch.hbs
  * utils/hbmk2/hbmk2.prg
  * contrib/make.hbs
  * config/postinst.hbs
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idefunctions.prg
    * hbmk2 rooted filename/path handling functions renamed.
      Now they are in sync with hbmk2_*() (plugin) flavour.
      With their new names they could even be included in core,
      by adding an hb_ prefix to them.
    * Renamed one internal constant in hbmk2.

  * contrib/hbide/idemisc.prg
    - Deleted unused hbmk2 function.
2010-07-08 09:57:52 +00:00
Viktor Szakats
b03d24742a 2010-07-08 08:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/filesys.c
  * src/rtl/filebuf.c
  * src/rtl/fssize.c
    * HB_FOFFSET vars renamed to have n prefix (instead of ul and ll)

  * contrib/make.hbs
    ! Fixed output dirs in stdalone mode.

  * contrib/hbsqlit3/hbsqlit3.c
  * contrib/hbwin/olecore.c
  * contrib/hbwin/win_bmp.c
    * HB_SIZE vars renamed.

  * utils/hbmk2/hbmk2.prg
    % Never delete the same file twice in -hbimplib -clean mode.
2010-07-08 06:50:49 +00:00
Viktor Szakats
2080c12848 2010-07-07 20:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
    ! Fixed stdalone mode to create target in their usual GNU Make
      target dir.
    ! Fixed HB_BUILD_NAME handling.

  * INSTALL
  * utils/Makefile
  * config/postinst.hbs
    % Changed postinst to create .hbl file on its own behalf without 
      calling hbi18n.
2010-07-07 18:42:26 +00:00
Viktor Szakats
c65a870d94 2010-07-07 12:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbide/idemisc.prg
  * contrib/hbide/ideprojmanager.prg
    + Using hbmk2 to do xMate conversion.
      It's now also possible to convert from hbmake (I don't
      its standard extension), and xbuild projects (I didn't
      add it to the UI though).
      Please fix me: I'm still having a hard-time telling
      hbide where hbmk2 is. Plus I used hb_processRun(), pls
      replace it with any method is fit for hbide.
    - Deleted redundant copy-pasted (and outdated) code from
      hbmk2 hbide source into hbide. (BTW their licence
      was also incompatible, pls don't put it back there)

  * utils/hbmk2/hbmk2.prg
    + Added comments to converted .hbp files about the original
      source and format.
2010-07-07 10:52:54 +00:00
Viktor Szakats
5994143e6a 2010-07-07 10:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    + Using hbi18n tool to generate .hbl files to utils.
      (currently hbmk2 only)
      This fixes missing .hbl after latest changes which dropped
      regenerating utils at postinst phase. At the same time it
      enables .hbl file generation for all platforms. The logic
      will automatically generate .hbl files for all .po files
      found under any utils.

  * INSTALL
  * utils/Makefile
    + Added hbi18 to the list of tools required to build Harbour
      in cross-platform situations.

  * contrib/hbqt/hbmk2_plugin_qt.hbs
    ! Fixed QT tools detection on HB_WITH_QT.
2010-07-07 08:09:04 +00:00
Viktor Szakats
e61f14aa97 2010-07-07 01:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + -autohbc now has natural defaults, header part will
      automatically get .ch extension, .hbc part will automatically
      get .hbc extension. If .hbc is not specified, it will become
      the same as header name. So f.e. '-autohbc=hbwin.ch:hbwin.hbc'
      can be written simply as: '-autohbx=hbwin'.
2010-07-06 23:46:39 +00:00
Viktor Szakats
b40cb9810c 2010-07-07 01:01 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + Added new experimental feature:
         .hbp: -autohbc=<.ch>:<.hbc>
         .hbc: autohbcs=<.ch>:<.hbc>
      If such setting is used, f.e. in hbmk.hbc, it's possible
      to automatically trigger .hbc files by key headers.
      So f.e. if 'autohbcs=hbwin.ch:hbwin.hbc' is added to
      hbmk.hbc, every projects where any .prg file references
      hbwin.ch will automatically include hbwin.hbc, thus setting
      up headers dir, libs and everything else that's required
      for hbwin.
    % Minor opt to -instfile handling.
2010-07-06 23:04:35 +00:00
Viktor Szakats
db1fbb5aed 2010-07-06 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    ! Don't search passed program in PATH and hbrun dir, if
      program name has path component.

  * contrib/xhb/xhbenum.c
  * contrib/xhb/xhbqself.c
  * contrib/xhb/xhbwith.c
  * contrib/xhb/xhberrc.c
    ! Fixed msvc64 warnings after HB_SIZE extension in stack API.

  * contrib/make.hbs
    + Added logic to protect against case when 'clean install'
      is used but hbrun or hbmk2 isn't available when launching
      the make process. In this case 'clean' phase won't be executed
      for contribs, which is solved by forcing a -rebuild in
      'install' phase.

  * src/vm/strapi.c
  * src/vm/runner.c
  * src/vm/itemapi.c
  * src/vm/asort.c
  * src/vm/hvm.c
  * src/vm/arrays.c
  * src/vm/memvars.c
  * src/vm/set.c
  * src/vm/classes.c
  * src/rtl/lennum.c
  * src/rtl/strcase.c
  * src/rtl/replic.c
  * src/rtl/padr.c
  * src/rtl/padc.c
  * src/rtl/strtran.c
  * src/rtl/strtoexp.c
  * src/rtl/padl.c
  * src/rtl/saverest.c
  * src/rtl/right.c
  * src/rtl/philes.c
  * src/rtl/mlcfunc.c
  * src/rtl/left.c
  * src/rtl/xsavescr.c
  * src/rtl/setkey.c
  * src/rtl/stuff.c
  * src/rtl/trace.c
  * src/rtl/samples.c
  * src/rtl/inkeyapi.c
  * src/rtl/inkey.c
  * src/rtl/mtran.c
  * src/rtl/colorind.c
  * src/rtl/rat.c
  * include/hbapi.h
  * include/hbapistr.h
    * Renamed HB_SIZE variables to have 'n' prefix.
      (verified to generate the same objects as before)

  * src/rtl/philes.c
    * Changed hb_retnint()/hb_retni() to hb_retns().

  * contrib/hbgd/gdwrp.c
    * Formatting.
2010-07-06 19:02:19 +00:00
Viktor Szakats
f5e67a0595 2010-07-06 14:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    + Extended to look in current dir, hbrun dir and PATH for 
      passed script name, if no extension was passed, it will 
      try .hbs and .hrb in that order. This means hbrun is 
      pretty much like a shell command processor now.

  * bin/hbxpatch.hbs
  * utils/hbmk2/hbmk2.prg
  * utils/hbrun/hbrun.prg
  * contrib/hbqt/hbmk2_plugin_qt.hbs
  * config/postinst.hbs
    * HB_OSPATHSEPARATOR() -> HB_PS()
    * HB_OSNEWLINE() -> HB_EOL()

  * utils/hbmk2/hbmk2.prg
    * Using string literals instead of Chr() in few places.
    ! FindInPath() corrected to honor original dir in filename
      it receives. This may affect plugins if they pass such
      argument.
2010-07-06 12:08:09 +00:00