Commit Graph

1324 Commits

Author SHA1 Message Date
Viktor Szakats
9505b5625b 2010-06-03 20:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Rewritten dependency checking logic. New solution
      integrates -reqheader, -inctrypath, -reqpkg options.
      (Current parametrization and terminology is not final.)
      The new engine supports dependency detection by package
      name (via pkg-config/*-config), even multiple ones, by
      key header file using custom header search paths, both
      global and local. It also supports built-in detection
      control as we know it from our GNU Make build system
      via HBMK_WITH_* envvar (or one with customzed name) 
      which can have no/yes/nolocal/local/force values. This
      implementation also supports optional dependencies.
2010-06-03 18:48:08 +00:00
Viktor Szakats
0e9cdc27e5 2010-06-03 18:03 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/winuni/RELNOTES
    * Updated.

  * harbour.spec
  * doc/dirstruc.txt
  * utils/hbmk2/examples/contribf.hbc
  * contrib/Makefile
  - contrib/hbbtree
  + examples/hbbtree
  - examples/hbbtree/Makefile
    * hbbtree move to example section as told in a recent
      changelog entry. This contrib has long time unfixed
      file-format portability problems, plus it's really
      more of a good example code than lib for end-users.
2010-06-03 16:05:36 +00:00
Viktor Szakats
2b523b361b 2010-06-03 16:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Minor typo.

  * package/mpkg_win.nsi
  * package/winuni/mpkg_win_uni.nsi
    + Added user's mailing list link.
    - Deleted user forum link.
    * Updated developers' mailing list link.

  * utils/hbformat/hbformac.c
  * utils/hbformat/hbformat.prg
  * utils/hbmk2/hbmk2.prg
  * utils/hbi18n/hbi18n.prg
  * utils/hbtest/rt_main.h
  * utils/hbtest/hbtest.prg
  * utils/hbtest/rt_main.ch
  * utils/hbtest/rt_trans.prg
  * utils/hbtest/rt_miscc.c
  * utils/hbtest/rt_math.prg
  * utils/hbtest/rt_hvm.prg
  * utils/hbtest/rt_misc.prg
  * utils/hbtest/rt_hvma.prg
  * utils/hbtest/rt_init.ch
  * utils/hbtest/rt_class.prg
  * utils/hbtest/rt_str.prg
  * utils/hbtest/rt_stra.prg
  * utils/hbtest/rt_date.prg
  * utils/hbtest/rt_vars.ch
  * utils/hbtest/rt_array.prg
  * utils/hbtest/rt_file.prg
  * utils/hbtest/rt_mt.prg
  * utils/hbrun/hbrun.prg
    * Deleted 'www.' from harbour-project.org website name.
      (www.harbour-project.org -> harbour-project.org)
2010-06-03 14:34:42 +00:00
Viktor Szakats
78742ae944 2010-06-03 10:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* harbour-win-spec
  * src/pp/hbpp.c
  * src/compiler/hbusage.c
  * doc/class_tp.txt
  * doc/howtobld.txt
  * doc/howtosvn.txt
  * doc/hdr_tpl.txt
  * doc/readme.txt
  * doc/whatsnew.txt
  * harbour-wce-spec
  * INSTALL
  * harbour.spec
  * utils/hbformat/hbformat.prg
  * utils/hbmk2/examples/plug_tpl.prg
  * utils/hbi18n/hbi18n.prg
  * utils/hbtest/hbtest.prg
  * utils/hbrun/hbrun.prg
  * config/global.mk
    * Deleted 'www.' from harbour-project.org website name.
      (www.harbour-project.org -> harbour-project.org)

  * contrib/xhb/xhbarr.c
    + Added TOFIX for AREMOVE() which should better be moved
      to hbxpp lib (possibly after deleting the xhb extension from
      that implementation).

  * package/winuni/RELNOTES
    + Added 'harbour-project.org'
2010-06-03 08:43:47 +00:00
Viktor Szakats
c9491d54db 2010-06-02 19:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed to also recognize '#include<name>' / '#include"name"' 
      syntax.
2010-06-02 17:04:25 +00:00
Viktor Szakats
83a01da182 2010-06-02 19:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added information about standard header locations (as comment yet).
    * Minor change: HBMK2_HAS_* -> HBMK_HAS_*
2010-06-02 17:01:12 +00:00
Viktor Szakats
1e1fdcc70d 2010-06-02 17:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    % Using precompiled regexp.

  * ChangeLog
    ! Fixed my name into header of previous entry.
2010-06-02 15:01:35 +00:00
Viktor Szakats
cb86f578a6 2010-06-02 13:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* utils/hbmk2/hbmk2.prg
    + Now uses regular expression to extract #include directives
      from source files, so now it should recognize all supported
      syntax variations (f.e. "  # include   <>"). The only
      difference between real source parser is now only the lack
      of comment filtering (and no preprocessor, but this latter
      isn't desired for multiple reasons).
      Pls review me.

  * src/rtl/hbregex.c
    * HB_ATX() cleanup code layout, minimalized variable scopes.
    % HB_ATX() minor optimization: No need to check pcount before
      calling hb_stor*() functions since it's done anyway inside
      those calls.
    * HB_ATX() will now default the 5th <nEnd> parameter to the
      full length of the passed source string. It's slight
      incompatibility though I doubt too many users would have
      called this with empty 5th parameter, since the function
      just didn't do anything in this case.
      Pls review this, maybe I misunderstood original intent.
2010-06-02 11:16:36 +00:00
Viktor Szakats
43b10bcf31 2010-06-01 21:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/fm.c
  * src/vm/set.c
    * SET( _SET_HBOUTLOG, NIL ) will now reset the internal output
      name to NULL, which is also the new internal default value.
    * After this change the GPF handler and FM STAT dump code
      will do the defaulting to "hb_out.log" filename, if the
      internal _SET_HBOUTLOG value is NULL. This causes a small
      incompatibility in how log file can be disabled, and at the
      same time allows to implement low-level logging logic for
      default case which is safer than current one, while allowing
      the user (developer) to set a custom log filename and expect
      regular log file append behavior.
      From now on to disable logging, use: SET( _SET_HBOUTLOG )

  * utils/hbmk2/hbmk2.prg
    ! Fixed to not do pkg detection and key header evaluation
      after -stop and certain modes.
    + Added full list of std C and POSIX headers to the header
      exclusion list in header dependency parser code.
      Also added dos.h.

  * contrib/xhb/dbgfxc.c
    * Formatting.
2010-06-01 19:46:00 +00:00
Viktor Szakats
10c88f316c 2010-06-01 01:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Will now ignore current and host directory when looking
      for system headers (<>) in header dependency finder code.

  + contrib/hbmysql/hbmysql.hbp
  + contrib/sddmy/sddmy.hbp
  + contrib/sddfb/sddfb.hbp
  + contrib/sddpg/sddpg.hbp
  + contrib/hbcups/hbcups.hbp
  + contrib/hbpgsql/hbpgsql.hbp
  + contrib/rddads/rddads.hbp
  + contrib/hbfimage/hbfimage.hbp
  + contrib/hbgd/hbgd.hbp
  + contrib/sddoci/sddoci.hbp
  + contrib/hbcairo/hbcairo.hbp
    + Added new hbmk2 make files.

  * contrib/hbgd/Makefile
    - Deleted some information from cmoment. (now included in INSTALL)

  * contrib/hbcairo/hbcairo.h
    * Formatting.
2010-05-31 23:47:15 +00:00
Viktor Szakats
7e0ce822ed 2010-05-31 19:47 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added experimental support for filters containing string
      comparisons, f.e.: '{MY_VAR='hello'}-cflag=-DMY_FLAG'
    ; NOTE: It's not guaranteed yet that this feature will stay.

  * include/hbzlib.ch
    + Added HB_ZLIB_RES_* zlib result values.

  * contrib/xhb/Makefile
  - contrib/xhb/hbcomprs.c
  + contrib/xhb/hbcomprs.prg
  + contrib/xhb/tests/compress.prg
    + Rewritten xhb compatiblity compression functions in .prg.
      The main reason was to avoid dependence on zlib.h on C level.
      This simplifies the build layout.
    ! This fixes last zip error to work in MT programs.
    + Added test/demo program from xhb. Work by Giancarlo Niccolai.
    ; NOTE: Tested only with xhb test/demo program.

  * contrib/xhb/hbcomprs.ch
    + Changed to use HB_ZLIB_* constants. So it's now only a wrapper
      instead of replicating values.
2010-05-31 17:49:04 +00:00
Viktor Szakats
cdca660e6d 2010-05-31 15:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+ contrib/gtalleg/gtalleg.hbp
  + contrib/gtalleg/gtallegs.hbp
  + contrib/hbcurl/hbcurl.hbp
  + contrib/hbcurl/hbcurls.hbp
  + contrib/hbssl/hbssl.hbp
  + contrib/hbssl/hbssls.hbp
    + Added .hbp files for some thougher libs.

  * contrib/hbqt/hbqt_common.hbm
  * contrib/hbqt/hbqt.hbp
  * contrib/hbqt/hbqts.hbp
  * contrib/hbqt/hbqtcore.hbp
  * contrib/hbqt/hbqtcores.hbp
  * contrib/hbqt/hbqtgui.hbp
  * contrib/hbqt/hbqtguis.hbp
  * contrib/hbqt/hbqtnetwork.hbp
  * contrib/hbqt/hbqtnetworks.hbp
  * contrib/hbfbird/hbfbird.hbp
  * contrib/hbxbp/hbxbp.hbp
  * contrib/hbcomm/hbcomm.hbp
  * contrib/hbsms/hbsms.hbp
    + Added -nohbc.
    ! Fixed QT hbmk2 files to use different working dir for
      static and dynamic builds.
    ! Fixed QT hbmk2 files to create static libs with proper
      name.

  * contrib/hbcurl/hbcurls/Makefile
    ! Minor cleanup.

  * utils/hbmk2/hbmk2.prg
    + Will now also parse '#include <name>' style header dependencies.

  * contrib/hbqt/detect.mk
    * Synced key header name with .hbp.

  * contrib/hbcomm/hbcomm.hbp
    + Added missing -w3 -es2.

  * contrib/hbqt/hbqt.h
    - Deleted mild hack no more necessary.
2010-05-31 13:56:40 +00:00
Viktor Szakats
0b5183a99b 2010-05-31 12:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/hbqt.h
  * contrib/hbqt/hbqt_hbqtableview.h
  * contrib/hbqt/hbqt_hbevents.h
  * contrib/hbqt/hbqt_hbdbfmodel.cpp
  * contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
  * contrib/hbqt/hbqt_hbqmainwindow.h
  * contrib/hbqt/hbqt_hbqtableview.cpp
  * contrib/hbqt/hbqt_hbevents.cpp
  * contrib/hbqt/hbqt_hbqplaintextedit.h
  * contrib/hbqt/hbqt_hbdbfmodel.h
  * contrib/hbqt/hbqt_destruct.cpp
  * contrib/hbqt/hbqt_utils.cpp
  * contrib/hbqt/hbqt_hbqsyntaxhighlighter.h
  * contrib/hbqt/hbqt_hbqplaintextedit.cpp
  * contrib/hbqt/hbqt_hbslots.cpp
  * contrib/hbqt/qth/QVariant.qth
  * contrib/hbqt/qth/QCursor.qth
  * contrib/hbqt/qth/QClipboard.qth
  * contrib/hbqt/qth/QApplication.qth
  * contrib/hbqt/qth/QCoreApplication.qth
  * contrib/hbqt/qth/QImage.qth
  * contrib/hbqt/qth/QUrl.qth
  * contrib/hbqt/qth/QAbstractItemModel.qth
  * contrib/hbqt/qth/QImageReader.qth
  * contrib/hbqt/qth/QWebHistoryItem.qth
  * contrib/hbqt/qth/QFont.qth
  * contrib/hbqt/qth/QFontDatabase.qth
    ! Fixed to use '#include <QModule/QName>' format when referring
      to QT headers. This is the official way and it allows to clean
      the include header paths.
    ! Fixed to use '#include <QtCore/qglobal>' instead of
      '#include <qglobal.h>' for the same reason as above.

  * contrib/hbqt/hbqt.h
    + Added '#include "QtCore/QObject"' to make hbmk2 component
      detection happy. This is slight hack as I didn't want to
      introduce parsing of '<>' style system headers just for the
      sake of QT. Anyway it's quite humble hack without side effects.

  * contrib/hbqt/detect.mk
    * Changed to 'QtCore/qglobal.h' as key header name used for
      detection.
    ! Fix to header dir autodetection path on darwin platform.
      (it would have caused potential problem with QT 5.x releases)
    % Simplified header path list for non-darwin platforms.

  + contrib/hbqt/hbqt_common.hbm
  + contrib/hbqt/hbqt.hbp
  + contrib/hbqt/hbqts.hbp
  + contrib/hbqt/hbqtcore.hbp
  + contrib/hbqt/hbqtcores.hbp
  + contrib/hbqt/hbqtgui.hbp
  + contrib/hbqt/hbqtguis.hbp
  + contrib/hbqt/hbqtnetwork.hbp
  + contrib/hbqt/hbqtnetworks.hbp
    + Added hbmk2 make files for HBQT libs.
      Features are equivalent to the GNU Make flavour.
      (only tested on Windows so far)

  + contrib/hbxbp/hbxbp.hbp
    + Added hbmk2 make file for HBXBP lib.

  * contrib/hbfbird/hbfbird.hbp
  * contrib/hbsms/hbsms.hbp
    * Use ${hb_name} instead of ${hb_dirname}.
    + Added -w3 -es3 options.

  * utils/hbmk2/hbmk2.prg
    + Set pathseps to '/' in "-reqheader=' and
      '-reqpkg=' header names.

  - utils/hbmk2/examples/plug_moc.prg
  + contrib/hbqt/plug_moc.prg
    * Moved inside hbqt lib.

  * contrib/hbqt/qtgui/*
  * contrib/hbqt/qtcore/*
    * Regenerated.
2010-05-31 11:04:38 +00:00
Viktor Szakats
8bc59ee688 2010-05-29 18:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Shows version of detected packages.
2010-05-29 16:56:59 +00:00
Viktor Szakats
a435f32b18 2010-05-29 18:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Beefed up and fixed -reqpkg feature:
      + Possible to pass multiple alternate pkg names:
          -reqpkg=cairo|cairo2|cairo.h
      + Possible to attach header name, in which case it 
        will automatically satify the -reqheader= parameter 
        with same header name, if it exists. Headers without 
        extension can be specified as 'header.'
      ! Fixed to use case-insensitive lookup in header list 
        on non-*nix systems.
      + Added -info messages regarding pkg detection.
      ! Fixed parsing of -l/-L/-I parameters in pkg detection 
        code.
2010-05-29 16:00:44 +00:00
Viktor Szakats
f17f4e7d66 2010-05-29 04:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed silly variable initialization bug after last commit.

  * contrib/hbwin/wapi_shellapi.c
    ! Fixed WAPI_SHELLEXECUTE() having HB_PARSTRDEF() one 
      position off.

  * examples/rddado/tests/access1.prg
    * Minor update. Still doesn't work.
2010-05-29 02:28:37 +00:00
Viktor Szakats
bcceab5af4 2010-05-28 18:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added untested, experimental support for -reqpkg=/reqpkgs=
      (.hbp/.hbc) options. F.e. '-reqpkg=libcurl' option causes
      hbmk2 to query library, library path and include path
      information from 'pkg-config' tool and if not found using
      '*-config' script, and to automatically pass these information
      to C compiler/linker. In addition, it will automatically add
      a macro named HBMK2_HAS_LIBCURL to C compiler cmdline, so
      that the sources get to know that this package was found.
    ; NOTE: Nothing is finalized, it is still a question how to
            setup obligatory and optional components, current
            implementation is rather a mixture, but anyway pls
            feel free to test it. It's also a question how to merge
            this method with the -inctrypath/-reqheader one.
            Later we can consider adopting extra C flags, too,
            and it can be extended to know about more package
            detection methods (even platform dependent ones can
            be used if they adhere to more or less the same
            principle of 'pkgname->IN incpaths/libpaths/libs->OUT')
            Thanks to Tamas Tevesz for sparking the idea.
2010-05-28 16:41:43 +00:00
Viktor Szakats
74ab6485b5 2010-05-28 08:19 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/hbolesrv.hbc
  * utils/hbmk2/hbmk2.prg
    * Renamed ${hb_filename} macro to ${hb_self}.

  * contrib/hbcomm/hbcomm.prg
    ! Typo in comment.
2010-05-28 06:19:26 +00:00
Viktor Szakats
90d09ead2d 2010-05-28 08:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added ${hb_filename} macro.
    + "hbexe", "hblib", "hbdyn", "hbdynvm", "hbimplib" can now
      be used as filter keywords to detect target type.

  * contrib/hbwin/hbolesrv.hbc
    + Will now show warning message if not used together with
      -hbdynvm option.
    + Will will now be ignored if not used together with
      -hbdynvm option.
    ; Tried to add hbolesrv.c as direct source 'sources=hbolesrv.c',
      but it requires this source (+ headers) to be distributed along
      the binaries, plus it didn't resolve the watcom issue, so
      I dropped it.
2010-05-28 06:14:11 +00:00
Viktor Szakats
2e28cc5df7 2010-05-27 00:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/examples/contribf.hbc
  * contrib/Makefile
  + contrib/hbcomm
  + contrib/hbcomm/Makefile
  + contrib/hbcomm/hbcomm.hbc
  + contrib/hbcomm/hbcomm.prg
  + contrib/hbcomm/hbcomm.hbp
  + contrib/hbcomm/tests
  + contrib/hbcomm/tests/hbmk.hbm
  + contrib/hbcomm/tests/test.prg
    + Added HBCOMM compatibility library. It's based on hbct
      COM functions. Not tested with real port. Also see one
      TOFIX and one INCOMPATIBILITY note inside. The latter
      belongs to INCHR() function which in original HBCOMM
      library will do HVM corruption by overwriting string
      content passed as 3rd parameter. In Harbour 3rd
      parameter needs to be passed by reference.
      Also added fully adapted test code from HARBOUR MINIGUI
      project. Interestingly this code was using the return
      value of INCHR() to get the returned buffer, which was
      in sync with included HBCOMM code. Anyway, hopefully
      this can be finalized based on report from real users.
    ; DISCLAIMER:
        EXPERIMENTAL CODE. USE AT YOUR OWN RISK. NO GUARANTEES.

  + contrib/hbfbird/hbfbird.hbp
  + contrib/hbsms/hbsms.hbp
    + Added early bird experimental .hbp files for contrib
      two projects.

  * utils/hbmk2/hbmk2.prg
    + Added support for ${hb_dirname} macro which returns the
      directory in which the script file is where the macro is
      used.
    ! Fixed so that '-build' option doesn't require a configured
      C compiler.
    + Extended hack for bcc autoconfiguration with 5.8 support,
      adding an extra system header directory to the include
      dir list if it exists. bcc 5.8 appears to be well installed,
      so this is probably not needed for most users.
    + Documented dir casing differences between bcc 5.5 and 5.82.
      This may be important for autoconfiguration hack to work with
      bcc under wine using native hbmk2 build. I'm not even sure
      such scenario is possible at all ;)
2010-05-26 22:17:06 +00:00
Viktor Szakats
e61c9f9c55 2010-05-26 17:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
    + Added support for 'psources=' and 'pflags=' directives in
      .hbc files. They serve the same purpose as cmdline '-pi='
      and '-pflag=' options; passing parameters to plugins.
    % Minor internal optimizations, also fixing some very rare
      and light potential problems with letting to add double
      parameters when passing them using different pathseps.
2010-05-26 15:07:12 +00:00
Viktor Szakats
3477164a0e 2010-05-26 16:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapifs.h
    + Added some more HB_EXPORT flags. Pls check me.

  * contrib/hbwin/hbolesrv.hbc
    + Added reference to hbwin.hbc, so that it can be used 
      standalone accompanied by -hbdynvm option to create 
      OLE servers easily: 'hbmk2 -hbdynvm hbolesrv.hbc ...'

  * contrib/hbwin/hbolesrv-watcom.def
    ! Fixed comments to watcom format.

  * utils/hbmk2/hbmk2.prg
    ! Fixed RTE when parsing certain rarer Windows file types 
      in sources= directive in .hbc files in *nix hbmk2 builds.
      (could only kick in when using hbmk2 under *nix to cross 
      compile for Windows). Thanks Przemek for the report.
    - Deleted doubly added support for .def file parsing in sources=
      directive.
2010-05-26 14:32:41 +00:00
Viktor Szakats
55c19cb250 2010-05-26 10:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/winuni/mpkg_win_uni_extra_copy.bat
    + Added contrib .hbi and .def files to the binary package.

  * utils/hbmk2/hbmk2.prg
    ! Typo in comment.
2010-05-26 08:39:02 +00:00
Viktor Szakats
759446e3c5 2010-05-26 09:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/examples/plug_moc.prg
    * Minor cleanup.
2010-05-26 07:40:49 +00:00
Pritpal Bedi
e17fbe04f8 2010-05-25 21:42 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* utils/hbmk2/examples/plug_moc.prg
    ! Fixed to cover header file supplied with path like 
        -pe=somefolder/someheader.h.
2010-05-26 04:41:10 +00:00
Viktor Szakats
6c0605140a 2010-05-26 02:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/examples/plug_moc.prg
    ! Copy/paste typo in moc detection on some linux platforms.
2010-05-26 00:41:13 +00:00
Viktor Szakats
25aa9855a5 2010-05-26 01:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
    ! Added HB_EXPORT to hb_memvarGet() and hb_memvarSetValue()
      used by new OLE server code in hbwin when created -shared
      OLE server .dlls.

  + contrib/hbwin/hbolesrv.hbc
    + Added .hbc file to help creating OLE servers.

  * contrib/hbwin/tests/olesrv1.hbp
  * contrib/hbwin/tests/olesrv2.hbp
  * contrib/hbwin/tests/olesrv3.hbp
    % Changed to use hbolesrv.hbc.
    - Deleted '-static' option to also allow to build -shared
      OLE servers. (I tested them OK)

  * contrib/hbwin/tests/olesrv2.prg
    + Tweak to allow case-insensitive access of OLE functions.

  * utils/hbmk2/hbmk2.prg
    + Added support for .def files in source= .hbc line.
2010-05-25 23:44:42 +00:00
Viktor Szakats
1e378f3c54 2010-05-25 23:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+ config/bsd/clang.mk
    + Base implementation of bsd/clang target.
      Based on patch by Tamas Tevesz with modifications:
        - deleted HB_DYN_COPT
        - replaced dynamic lib rules with bsd/gcc.mk.
        (both fully untested)

  * INSTALL
  * utils/hbmk2/hbmk2.prg
    + Added preliminary support for bsd/clang target. (untested)

  * contrib/hbide/idemisc.prg
    + Added hbide_pwd() function.
2010-05-25 21:41:14 +00:00
Viktor Szakats
924c97055e 2010-05-25 22:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbide/ideprojmanager.prg
    ! Fixed output directory issue without the need for an hbmk2 plugin.
      HBIDE was changing current dir when calling hbmk2, so the detected
      output filename needs to be rebased from that directory.

  * contrib/hbide/ideprojmanager.prg
  - contrib/hbide/idedetect.prg
  + contrib/hbide/resources/hbmk2_plugin_hbide.prg
    * Moved plugin to resources directory.
    - Commented plugin content.

  * utils/hbmk2/hbmk2.prg
    * Cleaned up path seps in plugin filenames.
2010-05-25 20:29:55 +00:00
Viktor Szakats
3458d7e9e7 2010-05-25 21:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    * '-plug=' option renamed to '-plugin='
    + Added support for 'plugins=' line in .hbc files.
    % Plugins are now fully loaded just once at the beginning
      of hbmk2. (as opposed to every invocation)
    + Plugins are now automatically treated as .hrb or .prg
      based on _file content_. This means that any extension
      can be used for plugins for both .prg and .hrb code.
      When .prg or .hrb extension is used there isn't any
      extra trial made on the file content, it will be load
      as source or HRB respectively.
      Maybe we should find a new distinctive extension for 
      hbmk2 plugins.
    * Default extension for -plugin= option changed to .prg
      (was: .hrb)
    + Showing type of input plugin in -trace mode.
      ('source' or 'compiled')

  * config/detect.mk
    ! Applied fix to DragonFly patch, submitted by Tamas Tevesz.

  * src/vm/runner.c
    * Minor formatting.
2010-05-25 19:20:38 +00:00
Viktor Szakats
513edc3356 2010-05-25 19:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Extended plugin API:
      - New macro expansion function:
          hbmk2_Macro( ctx, <str> )
      - New host variables:
          cTARGETTYPE, cTARGETNAME, lDEBUG, lMAP, lSTRIP, lINFO,
          lBEEP, lRUN, nErrorLevel

  * include/hbextern.ch
    + Added two recently added functions.

  * package/winuni/RELNOTES
    * Update one version number.
2010-05-25 17:09:12 +00:00
Viktor Szakats
c95a4f9edc 2010-05-25 16:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbprintf.c
  * include/hbsetup.h
  * config/global.mk
  * config/bsd/libs.mk
  * config/detect.mk
    + Applied patch by Tamas Tevesz, making it possible to build
      Harbour for DragonFly BSD systems.
      Thanks a bunch.

  * utils/hbmk2/hbmk2.prg
    + Applied above change to hbmk2 code, so now it should also
      support DragonFly BSD. (pls test it)
2010-05-25 14:22:11 +00:00
Viktor Szakats
463d296dbf 2010-05-25 16:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added .hbi to the list of accepted projects at cmdline.
      This means that hbmk2 can be run like 'hbmk2 mylib.hbp mylib.hbi'
      to create the lib and also generate the implib.
    * '-keyheader=' renamed to '-reqheader='
    ! Fixed typo causing RTE while creating implibs for targets
      supporting OMF lib type.
2010-05-25 14:14:15 +00:00
Viktor Szakats
baa3c6b7c0 2010-05-25 13:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added experimental feature to aid external dependency
      detection. Key header files can now be specified using
      '-keyheader=' option. In case such key headers are not
      found when evaluating '-inctrypath' conditional header
      directories. The goal is to make hbmk2 capable of
      replacing GNU Make for all of our contribs. F.e.:
      'clean':
        {HB_HOST_BIN_DIR}/hbmk2 hbfbird/hbfbird.hbp hbsms/hbsms.hbp -o../lib/${hb_plat}/${hb_comp}/ -clean
      simple make:
        {HB_HOST_BIN_DIR}/hbmk2 hbfbird/hbfbird.hbp hbsms/hbsms.hbp -o../lib/${hb_plat}/${hb_comp}/
      'install':
        {HB_HOST_BIN_DIR}/hbmk2 hbfbird/hbfbird.hbp hbsms/hbsms.hbp -o../lib/${hb_plat}/${hb_comp}/ -instpath=${HB_LIB_INSTALL}/ -info

    % Minor cleanup to some plugin API functions.

  * utils/hbmk2/examples/plug_moc.prg
    % Minor cleanup.

  * contrib/sddoci/tests/test1.prg
    + Showing field length and decimals.
2010-05-25 11:36:12 +00:00
Viktor Szakats
adad4eca95 2010-05-24 21:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed old regression causing 'inctrypath' option to "forget"
      adding detected include dirs to the tool command lines.
2010-05-24 19:36:46 +00:00
Viktor Szakats
6409c1dcb9 2010-05-24 19:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/sddoci/sddoci.c
    ! Attempting to fix wrong numeric size for plain 'NUMERIC'
      (without size) type. I'm guessing so I'd appreciate if
      someone could dive into this more deeply.

  * utils/hbmk2/hbmk2.prg
    * Minor.

  * package/winuni/RELNOTES
    + Added OCILIB.

  * contrib/sddoci/sddoci.hbc
  * contrib/sddoci/sddoci.c
  * contrib/sddoci/Makefile
    * Changes to follow OCILIB 3.6.0
2010-05-24 17:53:40 +00:00
Viktor Szakats
e8aec4dff4 2010-05-24 18:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  * utils/hbmk2/examples/plug_moc.prg
    * Minor cleanups to plugin API.

  * src/rtl/typefile.prg
    ! Typo in comment.
2010-05-24 16:45:51 +00:00
Viktor Szakats
ccc18d5011 2010-05-24 15:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Upped warning level for plugins to -w3.

  * utils/hbmk2/examples/plug_moc.prg
    + Added -inc, -clean and -rebuild (IOW incremental) 
      support for moc plugin. It was tested OK in small 
      example.

  * utils/hbmk2/examples/plug_tpl.prg
    * Minor.
2010-05-24 13:36:22 +00:00
Viktor Szakats
8d46df007c 2010-05-24 14:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    * Moved some local variables to internal hbmk2 structure.
    + Made some more functions and variables accesible to plugns 
      in order to help creating smooth external calls.

  + utils/hbmk2/examples/plug_moc.prg
    + Added 'moc' plugin, which is supposed to be fully functionaly,
      though I didn't test it live.

  - utils/hbmk2/examples/plug_moc.prg
  + utils/hbmk2/examples/plug_tpl.prg
    * Renamed first example.
2010-05-24 12:18:25 +00:00
Viktor Szakats
ac1b0f0894 2010-05-24 13:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  * utils/hbmk2/examples/plug_moc.prg
    % Further cleaned context passing, so that now even the
      'state' variable is passed as part of context rather than
      as separate variable, so now the only parameter the plugin
      gets is the callback. This is much more flexible and future
      proof this way.
2010-05-24 11:27:26 +00:00
Viktor Szakats
892b8c4625 2010-05-24 13:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  * utils/hbmk2/examples/plug_moc.prg
    % Refined how context is passed to plugins, and how
      context is passed back to public APIs.
    + Added way to accept parameters from the cmdline and .hbp
      files. This is possible via '-pflag=' and '-pi=' options.
      Latter serves to pass input file, so the input file magic
      logic is always applied to it. Notice that all plugins are
      getting all input parameters, so it's their job to process
      only what's relevant to them. plugin specific option prefixes
      f.e. can be a solution for that.
    + Added API to add new input .prg, .c, .cpp and .rc files
      to the build process.
    + Added better protection from tampering internal hbmk2
      structures by plugins.
    + Showing error condition and location in case of an RTE occurs
      in a plugin.
2010-05-24 11:21:30 +00:00
Viktor Szakats
965c71d8e1 2010-05-24 11:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed non-initialized variable (broken in after one of 
      recent changes)
2010-05-24 09:03:06 +00:00
Viktor Szakats
8913c978e3 2010-05-24 09:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
  + utils/hbmk2/examples/plug_moc.prg
    + Added experimental plugin system. Plugins are written in .prg
      or .hrb and can be passed using '-plug=<.prg|.hrb>' option
      or simply by passing '.hrb' filename from cmdline or .hbp/.hbm
      files. Plugin names without dir component will be searched
      in local dir, hbmk2 dir then PATH.
      For the details of the calling protocol and available hbmk2
      API calls and variables, pls check the example and hbmk2
      source code.
      Plugin is called from several build stages, in case of multiple
      plugins all of them are called at each stage. The plugin
      receives the stage name, hbmk2 context and a hash table for
      custom variables. The variables are shared between stages and
      plugins. Notice that hbmk2 isn't hbrun, so there is a limited
      set of the Harbour language which you can use, this also ensures
      that the plugins will behave like hbmk2 itself for the most part.
      Nothing is finalized.
    ; The example is the working replica of moc detection logic found
      inside hbqt.
2010-05-24 07:50:59 +00:00
Viktor Szakats
6b53962852 2010-05-23 20:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + In non-incremental mode when no workdir is manually set, hbmk2
      will now create a temp subdir inside temp dir and create any
      intermediate output files there. (previously it was using the
      temp dir without creating a temp subdir inside).
    ; Please test and report leftover temp files and dirs, also test 
      it on *nix platforms.
    * Changed 'couldn't', 'don't' style English abbrevs to
      'could not', 'do not', etc.

  * config/rules.mk
    ! Fixed to include static-only C compiler options for targets 
      which have no separate static/dynamic C compiler pass.
      This should fix wrongly built pcre lib causing missing 
      exported functions in mingw Harbour .dlls.
2010-05-23 18:55:14 +00:00
Viktor Szakats
ceecd43fa9 2010-05-23 15:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Changed filtering implementation for cmdline parameters.
      Now filters can be placed anywhere and they work for all 
      parameters.
      Please test, regressions may be possible.

  * config/postinst.prg
    ! Added gpm handling logic to hbmk.cfg creation. This was 
      previously done in recently deleted postinst.sh function.
2010-05-23 13:53:57 +00:00
Viktor Szakats
757850ff60 2010-05-22 16:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! -hbimplib extended for bcc and msvc* to automatically recognize
      and use .def file with the same name as the .dll, if present.
    ! -hbimplib extended for bcc to first look for any existing
      OMF .lib file with the same name as the .dll.
    ! Refined fallback logic used in implib generation.
      (moved .dll existence check to lower level)
    * Refinements in pathsep usage in implib generation.

  * contrib/sddfb/sddfb.hbi
  * contrib/hbfbird/hbfbird.hbi
    + Using COFF libs for pocc targets.
2010-05-22 14:45:13 +00:00
Viktor Szakats
19cf7b4a7c 2010-05-22 10:57 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! -hbimplib extended for pocc to first look for any existing
      .lib file with the same name as the .dll.
2010-05-22 08:58:10 +00:00
Viktor Szakats
5ca20b5be1 2010-05-21 21:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! -hbimplib extended for msvc to first look for any existing
      .lib file with the same name as the .dll.

  * contrib/sddfb/sddfb.hbi
  * contrib/hbfbird/hbfbird.hbi
    * Changed to use existing .lib for msvc compilers.
2010-05-21 19:16:32 +00:00
Viktor Szakats
977cffcf00 2010-05-20 23:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed overlook in recent modification (put .def file macros
      in normal linker command template)
    ! Fixed missing '-nologo' option in msvc -hbdyn[vm] linker 
      command template.
2010-05-20 21:35:20 +00:00
Viktor Szakats
7f803c89f0 2010-05-20 23:18 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed filter evaluation to not let envvar names colliding
      with built-in filter keywords influence the results.
      (f.e. '{watcom}' while having properly configured watcom
      compiler defining WATCOM envvar and using a non-watcom
      compiler for the actual hbmk2 session).
    % Optimized filter evaluation.
    ; Thanks to Przemek for the patches.
2010-05-20 21:18:46 +00:00