Commit Graph

1312 Commits

Author SHA1 Message Date
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
Viktor Szakats
4b4453f8a1 2010-05-20 13:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fixed to ignore .cpp files in main entry detection function.
    ! Fixed to strip ending pathsep in header and lib path options 
      passed to compiler tools.
2010-05-20 11:40:30 +00:00
Viktor Szakats
ca702096d2 2010-05-20 11:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* utils/hbmk2/hbmk2.prg
    + Added hbmk2 level support for multiple input .def files.
      NOTE: Multiple .def files are only supported by gcc family
            compilers (mingw/cygwin) (and maybe watcom, but I can't 
            tell by looking at the output), so for portable scripts,
            stick to using only one .def file per .dll. bcc,
            msvc, pocc will either ignore some of them, or
            stop with error.

  * ChangeLog
    - Deleted accented (UTF8) char.
    ! Deleted UTF8 file marked added by subsequent committer's editor.

    ; --- Pls remember to use ASCII 7-bit chars in our files ---
2010-05-20 09:35:08 +00:00
Viktor Szakats
fdd2418df8 2010-05-19 10:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + Added .def file support for win|os2/watcom targets in hbmk2.
      ATM it requires the special file format required by watcom,
      there is no transparent conversion done by hbmk2.
    + Enabled .c stub (for -main, -gt, etc features) in -hbdynvm mode.
    * Disabled linking harbour .dll in '-hbdyn -shared' mode.
      NOTE: I'm not sure of this move. This way -hbdyn will now
            never link any Harbour libs (neither static nor dynamic),
            so at least we should renamed -hbdyn to -hbdynraw and
            -hbdynvm to -hbdyn, or make some other cleanup in this
            regard. Specifically I'm not sure if hbmk2 satisfies
            this use-case now by default (without '-nohblib-' option):
               "I can use -hbdyn and -static to create self contain DLL
                which uses it's own private copy of HVM and Harbour RTL
                library which can be linked statically or loaded dynamically
                with/from any other applications"
    * Text "VM" changed to "Harbour VM"
    ; NOTE 2: I've checked win/watcom -6s option, but it's still not 
              good because it appends '_' to exported symbols, so 
              watcom -shared executables stop working with mingw/msvc 
              Harbour .dll. Any idea how to solve that?
2010-05-19 08:39:51 +00:00
Viktor Szakats
8f6b341a49 2010-05-18 02:25 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 experimental -hbdynvm mode.
    + Added support for .def input file in -hbdyn/-hbdynvm modes.
    ; TODO: Couldn't find how to pass .def files to Open Watcom wlink.
            Anybody with an experience here?

  * src/rtl/memvarhb.prg
    + Added one initialization to NIL.
2010-05-18 00:26:06 +00:00
Viktor Szakats
948023ab13 2010-05-15 17:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* harbour.spec
  * contrib/Makefile
  + contrib/hbsms
  + contrib/hbsms/tests
  + contrib/hbsms/tests/send.prg
  + contrib/hbsms/tests/hbmk.hbm
  + contrib/hbsms/hbsms.prg
  + contrib/hbsms/hbsms.hbc
  + contrib/hbsms/Makefile
  * utils/hbmk2/examples/contribf.hbc
    + Readded hbsms lib.
    + Modified to use newly added core com functions
      via HBCT .prg level interface. (instead of hbtpathy)
    + Added disclaimer:
        EXPERIMENTAL CODE. USE AT YOUR OWN RISK. NO GUARANTEES.
      The code well may be pure crap, so if you have problem
      with it, supply working patches. Pls note that the
      reader function uses locally implemented timeout
      functionality, which may or may not work at all,
      though you can fix it if you have better idea.
      I've only tested it using Mac OS X 10.6 + old Nokia "S40"
      phone and one bad SMS number to see it kicks off at
      all and that's also the end of my testing possibilities.
2010-05-15 15:47:11 +00:00
Viktor Szakats
90ef2137c0 2010-05-12 22:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Two minor cleanups

  * config/postinst.prg
    + Will now honor HB_CONTRIBLIBS and HB_CONTRIB_ADDONS
      when creating import libraries. IOW it will only create
      implibs to the contribs actually built.

  * utils/hbmk2/hbmk2.prg
    + Added trick when using real xhb toolchain to detect
      -tW C flag and in this case automatically select the ST
      C RTL library. (Notice that -tW will only be detected
      when passed normally via cmdline or script, and not
      when using legacy HB_BUILD_CFLAGS envvar or inherited
      compiler flags).
2010-05-12 20:19:12 +00:00
Viktor Szakats
88a247ea23 2010-05-12 16:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+ contrib/gtalleg/gtalleg.hbi
  + contrib/hbblat/hbblat.hbi
  + contrib/hbcairo/hbcairo.hbi
  + contrib/hbcurl/hbcurl.hbi
  + contrib/hbfbird/hbfbird.hbi
  + contrib/hbfimage/hbfimage.hbi
  + contrib/hbgd/hbgd.hbi
  + contrib/hbhpdf/hbhpdf.hbi
  + contrib/hbmysql/hbmysql.hbi
  + contrib/hbpgsql/hbpgsql.hbi
  + contrib/hbssl/hbssl.hbi
  + contrib/rddads/rddads.hbi
  + contrib/sddfb/sddfb.hbi
  + contrib/sddmy/sddmy.hbi
  + contrib/sddoci/sddoci.hbi
  + contrib/sddpg/sddpg.hbi
    + Added local import library generation hbmk2 make files
      to each contrib which requires it.

  * config/postinst.prg
    + Changed to use contrib local implib creation hbmk2 scripts to
      create import libraries.
    - Deleted mingw exception for ocilib to use the static library.
      Static lib is definitely better, but if someone would like to
      use it, it should be done locally/manually, just like for any
      other dependency.
    + Solved firebird implib creation hack/exception in contrib
      local .hbi file.
    ; These fix the last "centralization" issues in Harbour make system.
      Still remains documentation problem (everything is in INSTALL),
      and *nix .deb/.rpm centralized solution for contrib dependencies
      and contrib names in general.

  * utils/hbmk2/hbmk2.prg
    + Combining multiple -o options (one with name, one with directory)
      is now supported in -hbimplib mode. This makes it work like in
      other existing modes.
    ! Fixes regarding -o option combining and dir inheritance.
      (beware of regressions here)

  * contrib/gtalleg/gtalleg.hbc
    * Changed to use import library on Windows with an unmodified name
      (containing version).

  * src/rtl/hbcom.c
    ! Fixed one non-ANSI comment.

  * ChangeLog
    + Added two changes missed from prev entry:
      * utils/hbmk2/hbmk2.prg
        + In -hbimplib mode any options are automatically passed to
          import library creation command (so -iflag option is not
          absultely needed)
        - Deleted -mkimplibms option now replaces by generic -iflag
          solution.
    ! Stripped UTF-8 char from a recent entry.
2010-05-12 15:02:01 +00:00
Viktor Szakats
2fed94876d 2010-05-12 09:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    - Deleted 'experimental' flags from all features.
    * Finalized import lib creation feature in hbmk2.
      + Added -hbimplib mode switch (this replaces -mkimplib= option)
      + Input source files (.dlls) now should be passed to
        hbmk2 as simple source filenames (without option prefix).
      + Multiple input source files are now supported.
      + Added -iflag= option to pass flags to import library creation
        command directly.
      * Changed so that target import library name/dir can now be
        specified using -o option (like in other modes).
      + Filenames/dirs are now all normalized.
      + Some warnings are now only shown in -info mode.
      ; F.e.:
          'hbmk2 -hbimplib mydll1 mydll2 -omydir -iflag={bcc}-a'
        This also means that a simple .hbp file can be created
        to solve the import library needs for a given dependency.

  * config/postinst.prg
    * Adapted to use new import library creation hbmk2 commands.

  * src/rtl/hbcom.c
    ! Fixed minor typo.
2010-05-12 07:24:05 +00:00
Viktor Szakats
5e3f92ac36 2010-05-08 11:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Extended -mkimplib option for windows gcc compilers (mingw/cygwin)
      to first look for matching COFF .lib file and use it to create
      import library. If such is not found, try to use matching .def
      file and automatically generate import library using dlltool.
      If none if these were found, use the .dll directly, to create
      the import library. In case of Harbour, this method resolves 
      almost all mingw implib needs.
      See longer note in source (in function win_implib_command_gcc())
      about the details of the problem, the only thing I cannot see
      is why mingw/cygwin developers insist on not fixing this issue
      since ten year, while all other compilers can properly resolve
      this problem. Anyhow until then mingw cannot use .dll using
      stdcall calling convention without COFF .lib or .def file. If
      both are missing, the only solution is to manually build a
      .def file by first generating it from .dll then manually
      adding '@nn' decoration according to function prototypes.
      Thanks mingw.

  * config/postinst.prg
    - Deleted APOLLO implib generation. Apollo fall into the
      problematic category for mingw, because developers chose
      to use stdcall callconv and they forgot to provide
      implib or .def file. It's not part of core anyway.
    * Slightly changed mysql implib generation to also work
      for mingw.
    - Deleted no more necessary manuall hack for mysql implib
      generation.
    + Added manual hack for firebird implib generation. In
      this hbmk2 automatism cannot work as they distribute
      COFF .lib in another directory and using a different
      name than the .dll.
2010-05-08 09:54:50 +00:00
Viktor Szakats
cd7aec0199 2010-05-07 18:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Fix to recent mkimplib change.
2010-05-07 16:17:18 +00:00
Viktor Szakats
6778c4fcdc 2010-05-07 12:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/win/mingw.mk
    + Enabled --nxcompat and --dynamicbase options for mingw64
      targets.

  * utils/hbmk2/hbmk2.prg
    * Changed -mkimplib usage as follow:
         -mkimplib=some.dll [implib_name_or_dir]
      It's incompatible with previous one, but allows for simpler,
      short calls.
    ! Fix to path normalizer to also append a pathsep to "." when
      the resulting directory is an empty one.
    * Minor internal change (cCCEXT moved to hbmk structure)

  * config/postinst.prg
    % Changed to use new -mkimplib parameter format.
      (untested)
2010-05-07 10:36:34 +00:00
Viktor Szakats
d1c80c5c63 2010-05-06 15:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Refining cygwin autodetection by additionally
      looking for gcc.exe next to cygstart.exe.
    + -o option will now accept macros, filters and will inherit
      parent path even in -gh and other Harbour-only modes.
2010-05-06 13:32:14 +00:00