Commit Graph

62 Commits

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

    ; TODO: Do a final cleanup on internal variable names to not have "ST" in them.
2011-02-10 18:21:32 +00:00
Viktor Szakats
96ec4a7825 2011-02-10 13:33 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idefunctions.prg
  * contrib/hbide/ideprojmanager.prg
  * contrib/hbrun/hbrun.prg
  * config/postinst.hbs
  * bin/hb3rdpat.hbs
    * Using new filename handling functions from core.
    % Deleted redundant local copies of these functions.

  * utils/hbmk2/hbmk2.prg
    + REQUESTing new filename handling function till they are
      used in hbmk2 too.
    ; TODO: Make the switch in hbmk2 too.
2011-02-10 12:34:30 +00:00
Viktor Szakats
0eedcc3e20 2011-02-09 02:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbplist
  - contrib/hbrun/hbrunext.hbp
  + contrib/hbrun/hbrun.prg
  + contrib/hbrun/hbrun.hbp
  + contrib/hbrun/hbrun.1
  * config/postinst.hbs
  - utils/hbrun
  * utils/Makefile
    * Moved hbrun to contrib area.
    ; Now it can contain any contrib libs.
2011-02-09 01:28:20 +00:00
Viktor Szakats
1c6e0d342a 2011-02-07 10:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Do not add .hbx file to input file list if the file doesn't
      exist. This is to resolve the chicken-egg problem when
      initially creating the .hbx file for a new project.
    ! Never use .hbx filename for forming the output name
      and deciding about startup module.

  * utils/hbmk2/hbmk2.prg
  * config/postinst.hbs
    + Do not add duplicates to extern list.
      (it may have only happened if renaming sources and 
      building without clean)
2011-02-07 09:56:13 +00:00
Viktor Szakats
1c0f6467db 2011-02-05 17:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbssl/ssl.c
    ! Suppressed msvc warning.
    ! Fixed build error in bcc.
    ; Both regression after 2011-02-03 01:44 UTC+0100 Viktor Szakats

  * config/postinst.hbs
  - config/hbextern.hbs
    * Merged hbextern.hbs into postinst.hbs.
2011-02-05 16:52:44 +00:00
Viktor Szakats
9a1aa13d58 2011-02-02 22:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* package/harbour.spec
  * config/postinst.hbs
  - bin/hbmk2l2d.hbs
    - Deleted now obsolete workaround tool. Use HB_BUILD_CONTRIB_DYN=yes 
      instead.
2011-02-02 21:16:19 +00:00
Viktor Szakats
6ef5fd19a8 2011-02-02 22:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    * MAKEDIR() -> HB_DIRCREATE().
      Warning: Make a 'make clean' _before_ updating to this revision.
               Or, do a fresh checkout and build that.
               Or, do a clean rebuild twice.
               (otherwise plain 'make clean' will end with an error)

  - examples/pp
    - Deleted obsolete PP code.

  ; NOTE: Now that HB_BUILD_CONTRIB_DYN=yes works pretty much
          okay on both win and linux, I will delete this
          tool meant as a temporary workaround for those
          requiring dynamic versions of Harbour libs:
            bin/hbmk2l2d.hbs
          If you need it, make a copy of it locally, though
          most pbly nobody ever used this.
2011-02-02 21:10:15 +00:00
Viktor Szakats
e55c31bd69 2010-11-08 01:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/examples/contrib.hbc
  * utils/hbmk2/hbmk2.prg
  * config/detfun.mk
  * config/detect.mk
  * INSTALL
    * Terminology cleanup: "external code" -> "3rd party code"

  - bin/hbxpatch.hbs
  + bin/hb3rdpat.hbs
  * config/postinst.hbs
  * package/harbour.spec
    * Renamed hbxpatch.hbs to hb3rdpat.hbs to reflect terminology
      cleanup ("external code" -> "3rd party code")

  * utils/hbmk2/examples/contrib.hbc
  * utils/hbmk2/examples/contribf.hbc
  * utils/hbmk2/examples/oohg.hbc
    * Using .hbc files.

  * contrib/hbssl/ssl.c
    + SSL_GET_READ_AHEAD() function enabled. Made it a dummy
      for bcc, where it for some reason creates unresolved
      external when referencing the corresponding openssl API.
2010-11-08 00:24:36 +00:00
Viktor Szakats
47952c23b3 2010-11-04 22:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbjson.c
  * src/rtl/hblpp.c
    ! Silenced msvc64 warnings.

  * utils/hbrun/hbrun.prg
    * Moved creation of header hash to separate function.
    + Added HBRUN_NOHEAD envver to disable embedded headers.
      Any non-empty value will have this effect.

  * utils/hbrun/Makefile
    + Enabled embedded headers.

  * contrib/make.hbs
  * config/postinst.hbs
  * bin/hbxpatch.hbs
    ! Resolved TOFIX notes: now the headers can be used
      just like in any .prg, and no need to locally #define
      core constants.
      Also hbqt_hbmk2_plugin.hbs should work now in stdalone 
      mode, with all the OOP code.
2010-11-04 21:46:37 +00:00
Viktor Szakats
872abe845b 2010-10-27 05:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gete.c
    % Optimization to GETENV()/HB_GETENV(). Patch by Tamas Tevesz.
    + Added more details to comment on why it's needed to strip '='
      part from envvar name.

  * contrib/hbqt/tests/demoqt.prg
  * contrib/hbqt/tests/dialogqt.prg
  * contrib/hbqt/tests/testqaim.prg
    ! Fixed external files' references to use executable's
      directory as a base, instead of current dir.

  * contrib/hbhpdf/harupdf.c
    ! HPDF_Page_CreateStampAnnot(): Fixed wrongly passed 3rd parameter.

  * contrib/hbssl/evpmd.c
    ! EVP_SIGNFINAL(): Fixed wrong returned buffer size.

  * config/postinst.hbs
    * Implemented GetEnv() caching, based on patch sent by
      Tamas Tevesz and further optimized.
2010-10-27 03:23:49 +00:00
Przemyslaw Czerpak
2356181a10 2010-09-22 16:52 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicom.h
  * harbour/src/rtl/hbcom.c
    + added public C function: void hb_comSetError( int iPort, int iError )

  * harbour/src/rtl/hbcomhb.c
    + added PRG function: HB_COMSETERROR( nPort, nError ) --> NIL

  * harbour/src/rtl/hbsocket.c
    * minor formatting

  * harbour/config/doc.mk
  * harbour/config/postinst.hbs
  * harbour/contrib/make.hbs
    * do not install documentation files when HB_INSTALL_DOC=no

  * harbour/config/postinst.hbs
    ! do not install .hbl files for core utils when HB_BUILD_PARTS=lib
    + added support for HB_INSTALL_SCRIPT executed after install step.
      It allows to extract some variables set by our GNU make system,
      i.e. it's used to retrieve HB_CCPREFIX in win/wince .spec files.

  * harbour/package/harbour-win.spec.in
    * use HB_INSTALL_DOC=no to disable DOC file installation
    * generate hb{w|ce}mk2 scripts as wrappers to hbmk2 with cross
      build settings so it can be easy used used by users to create
      Windows/WindowsCE binaries.
      Temporary solution until we will not have something more general.
2010-09-22 14:53:20 +00:00
Viktor Szakats
150eed9060 2010-08-07 17:39 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/gtalleg/gtalleg.hbc
    ! Fixed allegro-config command to not contain output redirection.

  * contrib/hbcurl/hbcurl.hbc
    ! Fixed lib name on non-win platforms.

  * contrib/hbgd/hbgd.hbc
    ! Fixed gd lib name on Linux.

  * contrib/hbodbc/hbodbc.hbp
  * contrib/sddodbc/sddodbc.hbp
  * contrib/hbssl/hbssls.hbp
  * contrib/hbcurl/hbcurl.hbc
  * contrib/hbcurl/hbcurls.hbp
    % Using allwin instead of win|wce.

  * utils/hbmk2/hbmk2.prg
    + Added trick to not corrupt version numbers in libnames when
      adding extension. (it will check for extensions beginning
      with numeric and add instead of replace extension in such case)
    ! Fixed pkg-config/*-config parser when result contained LF chars.

  * config/postinst.hbs
    * Do not create dynlib symlink on non-*nix platforms.

  ; Now HB_BUILD_CONTRIB_DYN works for all contribs also on Linux.

  ; TODO: Shouldn't harbour-2.1.0.so be called harbour.so.2.1.0 ?
  ; TODO: Creating versionless links for contribs.
2010-08-07 15:44:18 +00:00
Viktor Szakats
e5fd8dcb36 2010-08-06 18:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/rules
    + Added LD_LIBRARY_PATH.
      (it's needed here because the called make process won't
      pass back any envvars to caller process)

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

  * config/postinst.hbs
    + Creating Harbour dynamic lib symlinks, like the old postinst.sh
      did. This fixes Debian build problems, and probably more.
    ; TODO: I didn't implement one scenario, I'd appreciate if someone
            with bash and *nix skill could decipher the old code
            and create the few .prg lines for this functionality.
    ! Fixed .hbx creation for core dynlibs on *nix systems.
2010-08-06 16:56:40 +00:00
Viktor Szakats
ab42d34ab1 2010-08-06 10:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/rules
  * package/harbour.spec
    + Added HB_INSTALL_DYN (same content as HB_INSTALL_LIB)

  * config/postinst.hbs
    * HB_INSTALL_LIB -> HB_INSTALL_DYN

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

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

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

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

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

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

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

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

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

  * config/hbextern.hbs
    * Local function renamed.

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

  * src/vm/pvaluehb.c
    ! Typo in comment.
2010-08-06 08:01:09 +00:00
Viktor Szakats
f38b2832df 2010-08-05 15:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    % Implemented optimized header parser code created by Przemek.
      With these additions/modifications from previous algorithm:
        + Use FindHeader() to locate the referenced headers.
        + Use different algorithm to find C vc PRG headers.
        % Completely skip known standard system headers.
        % Do not go down to headers included as system (using <>)
          IOW Check their timestamp but don't parse it for sub-headers.
      Please review it, it was quite a tough task, so I may have
      missed something. Here my reference build time went down
      from ~4 to ~2.5secs.
    ! Above implementation had the nice side effect that it fixed
      -autohbc feature in -inc mode.
    ! Fixed header finder code to always look in parent dir
      (and don't look in current dir in such case).
      I'd appreciate if this function (FindHeader() would be peer-reviewed
      to verify if it really matches the way how Harbour and C compilers
      try to find headers.

  * config/postinst.hbs
    ! Fixed typo in a recent commit causing RTE.

  * config/hbextern.hbs
    * Hide stderr in lib listing call.

  * contrib/hbcurl/hbcurl.c
    % Use '#include <>' to refer to curl header.
2010-08-05 14:00:33 +00:00
Viktor Szakats
a0bab8110b 2010-08-05 07:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/hbextern.hbs
    + Added HB_REBUILD_EXTERN support for msvc, pocc, watcom and bcc
      compilers.

  * contrib/make.hbs
  * config/postinst.hbs
    ! Fixed to convert input file for extern generation to native format.
2010-08-05 05:59:30 +00:00
Viktor Szakats
878e9a84f0 2010-08-05 01:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added ${hb_dynsuffix} macro which returns a dynlib suffix
      value compatible with the naming system used for Harbour core
      dynlib (-x64, -wce-arm, -bcc, etc..)
    % Internals optimized to use dynsuffix value when calculating
      harbour core dynlib name.
    ! Fixed to not require macros inside filters to be uppercases.
      (as a side effect now unknown macro names will be passed
      as is to getenv() to check for possible envvar value)

  * contrib/hbpost.hbm
    + Will now use ${hb_dynsuffix} when forming output name in
      -hbdyn mode. So f.e. for x64 targets an '-x64' suffix will
      be used, which matches with the one used with core harbour
      dynlib. Also bcc targets will get -bcc postfix.
    + Will now use ${hb_dynsuffix) when forming implib output name
      if it's not empty (for x86, ia64, wce and bcc in practice).

  * contrib/make.hbs
  * config/postinst.hbs
    ! Display msg about extern generation only if it was really started.

  * config/hbextern.hbs
    ! Fixed to check for the presence of input file.
2010-08-04 23:39:32 +00:00
Viktor Szakats
3d2fb06f5d 2010-08-04 22:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/hbextern.hbs
    ! Fixed filtering ANNOUNCE self-reference.
    ! Changed to do ANNOUNCE only if specifically requested
      using __HBEXTERN__<libname>__ANNOUNCE

  * include/harbour.hbx
    ! Added __HB_EXTERN__ to exclude list.

  * config/postinst.hbs
  - include/hbextudd.ch
  + include/harbour.hbx
  - include/hbextsca.ch
  + include/hbusrrdd.hbx
  * include/hbextcdp.ch
  + include/hbscalar.hbx
  * include/hbextlng.ch
  + include/hbcpage.hbx
  * include/Makefile
  * include/hbextern.ch
  + include/hblang.hbx
  * ChangeLog
  * contrib/hbct/ctextern.ch
  * contrib/hbct/hbct.hbp
  * contrib/hbct/hbct.hbx
  * contrib/xhb/xhb.hbp
  + contrib/xhb/xhb.hbx
  * contrib/xhb/xhbextrn.ch
  * contrib/hbqt/utils/hbqtgen.prg
  * contrib/hbqt/qtgui/hbqtgui.hbp
  + contrib/hbqt/qtgui/hbqtgui.hbx
  * contrib/hbqt/qtgui/g/filelist.hbm
  - contrib/hbqt/qtgui/g/hbqtgui_extern.ch
  + contrib/hbqt/qtgui/g/hbqtgui_extern.prg
  * contrib/hbqt/qtwebkit/hbqtwebkit.hbm
  * contrib/hbqt/qtwebkit/hbqtwebkit.hbp
  + contrib/hbqt/qtwebkit/hbqtwebkit.hbx
  * contrib/hbqt/qtwebkit/g/filelist.hbm
  + contrib/hbqt/qtwebkit/g/hbqtwebkit_extern.prg
  - contrib/hbqt/qtwebkit/g/hbqtwebkit_extern.ch
  * contrib/hbqt/qtcore/hbqtcore.hbp
  + contrib/hbqt/qtcore/hbqtcore.hbx
  * contrib/hbqt/qtcore/g/filelist.hbm
  - contrib/hbqt/qtcore/g/hbqtcore_extern.ch
  + contrib/hbqt/qtcore/g/hbqtcore_extern.prg
  * contrib/hbqt/qtnetwork/hbqtnetwork.hbm
  * contrib/hbqt/qtnetwork/hbqtnetwork.hbp
  + contrib/hbqt/qtnetwork/hbqtnetwork.hbx
  * contrib/hbqt/qtnetwork/g/filelist.hbm
  + contrib/hbqt/qtnetwork/g/hbqtnetwork_extern.prg
  - contrib/hbqt/qtnetwork/g/hbqtnetwork_extern.ch
  + contrib/hbqt/qscintilla/hbqscintillas.hbx
  * contrib/hbqt/qscintilla/hbqscintilla.hbp
  * contrib/hbqt/qscintilla/g/filelist.hbm
  + contrib/hbqt/qscintilla/g/hbqscintilla_extern.prg
  - contrib/hbqt/qscintilla/g/hbqscintilla_extern.ch
  * contrib/hbqt/qtdesigner/hbqtdesigner.hbm
  * contrib/hbqt/qtdesigner/hbqtdesigner.hbp
  + contrib/hbqt/qtdesigner/hbqtdesigner.hbx
  * contrib/hbqt/qtdesigner/g/filelist.hbm
  + contrib/hbqt/qtdesigner/g/hbqtdesigner_extern.prg
  - contrib/hbqt/qtdesigner/g/hbqtdesigner_extern.ch
  + contrib/hbxbp/hbxbpext.prg
  + contrib/hbxbp/hbxbp.hbx
  - contrib/hbxbp/hbxbp_extern.ch
  * contrib/hbxbp/hbxbp.hbp
  * contrib/hbxpp/hbxpp.hbp
  + contrib/hbxpp/hbxpp.hbx
  * contrib/hbxpp/hbxppext.ch
  * contrib/rddads/adsextrn.ch
  + contrib/rddads/rddads.hbx
  * contrib/rddads/rddads.hbp
  + contrib/hbgd/hbgd.hbx
  * contrib/hbgd/gdextern.ch
  * contrib/hbgd/hbgd.hbp
    * Generated core files are now named include/*.hbx
    + Added .hbx files for contribs which already had the "extern"
      feature.
    * Changed existing "extern" headers to reference .hbx files.
    + Added .hbx file to installed header list.
    * Changed hbqt generator to generate stubs with reference to
      .hbx files rather than rolling its own extern generator.
    + Changed hbxbp to use a puller stub to include all functions.

  * contrib/hbide/hbide.prg
    + Changed to use __HBEXTERN__ method instead of header method
      to pull complete libs.

  * contrib/hbqt/qtgui/g/THBQAbstractItemModel.prg
    ! Fixed props.
2010-08-04 20:04:53 +00:00
Viktor Szakats
1efe9cad7e 2010-08-03 20:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
  * config/postinst.hbs
  * config/hbextern.hbs
    + Implemented manual include/exclude filter in extern header
      generation process. Include filters can be specified
      using '// HB_FUNC_INCLUDE <func>', exclude filters using
      '// HB_FUNC_EXCLUDE <func>'. By default everything is
      included, this can be overridden using HB_FUNC_INCLUDE,
      and exceptions made using HB_FUNC_EXCLUDE. <func> can
      contain wildcards, so it's very flexible.
      NOTE: - By default the functions are declared using DYNAMIC 
              so these generated can be directly used when the goal 
              is to load pcode dynamic libs dynamically.
            - By #defining '__HBEXTERN__<libname>__REQUEST' the 
              generated headers will switch to EXTERNAL declaration, 
              so they can be used when building dynamic libs or when 
              user wants to explicitly pull all functions into lib 
              code. Do not use this from app code.
            - When __HBEXTERN__<libname>__REQUEST is defined, the 
              generated headers will also ANNOUNCE __HBEXTERN__<libname>, 
              which means that application can simply pull all functions 
              into app code, using:
                 'REQUEST __HBEXTERN__<libname>__' command.
            - Names are not necessarily finalized yet. ("extern", ".hbx")
    - Deleted hard-coded exceptions from generator code.
    ; TODO: Clean core generated headers to behave like before.
    ; TODO: Adapt hbextern lib to these changes.
    ; TODO: Add generated headers to SVN for contrib libs.
    ; TODO: Add stubs which include generated headers to all libs.
    ; TODO: Long term TODO: make it easy to generate such headers 
            for 3rd party projects.

  * include/hbextudd.ch
  * include/hbextsca.ch
  * include/hbextcdp.ch
  * include/hbextlng.ch
  * include/hbextern.ch
  * contrib/hbct/hbct.hbx
    + Filled HB_FUNC_INCLUDE, HB_FUNC_EXCLUDE exceptions to
      achieve the previous hard-coded results.
    * Regenerated.

  * contrib/hbqt/hbqt_hbmk2_plugin.hbs
  * config/postinst.hbs
  * config/hbextern.hbs
  * bin/hbmk2l2d.hbs
  * bin/hbxpatch.hbs
    + Added -km, -ko options.
2010-08-04 18:15:55 +00:00
Viktor Szakats
3e86c38583 2010-08-03 14:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    ! Fixed to only do install tasks in install build phase.
    * Changed to only regenerate headers in non-install phase.

  * Makefile
    + Passing build phase to postinst.hbs.

  * INSTALL
    + Elaborating a bit more on the meaning of 'local' in HB_WITH_*
      settings.
2010-08-04 12:28:10 +00:00
Viktor Szakats
d612e8b3ce 2010-08-03 11:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextudd.ch
  * include/hbextsca.ch
  * include/hbextern.ch
  * config/postinst.hbs
    ! Fixed to exclude HB_GT_ symbols, put HBSYMBOL to hbextsca.ch,
      put USRRDD_* to hbextudd.ch.

    ; NOTE: May I ask to review the new headers compared to old
            one to see what else have to be filtered out or moved
            to different header?
2010-08-04 09:45:21 +00:00
Viktor Szakats
8de8345e77 2010-08-03 11:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    + Will now add the script's home directory to the header dir list.

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

  * contrib/global.mk
    + Displays HB_REBUILD_EXTERN setting.

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

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

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

  * contrib/hbide/hbide.hbp
  - contrib/hbide/iderequests.prg
    - Deleted requesting HBQT component via "just" function. Now it's
      done by EXTERNAL statements. BTW this function was not called,
      so it was ineffective.  Pls correct me if I missed the point
      of the old solution.
2010-08-04 09:24:15 +00:00
Viktor Szakats
afc9bd4ee6 2010-08-02 18:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    * Synced mk_hb_processRun() with make.hbs. (minor, doesn't change 
      functionality)
2010-08-02 16:34:48 +00:00
Viktor Szakats
b2b189377a 2010-07-30 09:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsocket.h
  * src/rtl/hbsocket.c
    ! Fixed type in C level function name.

  * src/rtl/hbdoc.prg
    ! Fixed to always use CRLF as EOL in internal doc data.

  * contrib/hbtip/utils.c
    ! HB_BASE64() marked as HB_LEGACY_LEVEL3.
    + Added TIP_CRLF()

  * contrib/hbtip/smtpcli.prg
  * contrib/hbtip/client.prg
  * contrib/hbtip/ftpcli.prg
  * contrib/hbtip/mail.prg
    * Using TIP_CRLF() instead of HB_INETCRLF().

  * config/postinst.hbs
    + More meaningful message when doing 'make install' without 
      HB_INSTALL_PREFIX being set.

  * contrib/hbpost.hbm
    + Added extra protection to not try to install anything when 
      using 'install' without target dir being specified.

  * INSTALL
    * Updated to reflect the optional nature of make 'install' 
      option.
    * Updated to reflect change in HB_INSTALL_PREFIX.
    * {hb_top} HB_INSTALL_PREFIX macro not documented anymore.
2010-07-30 07:56:36 +00:00
Viktor Szakats
d0c8d54ac7 2010-07-30 00:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    ! Missed one modification from prev.
2010-07-29 22:14:02 +00:00
Viktor Szakats
903294787a 2010-07-29 13:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/rules
  * src/pp/Makefile
  * src/dynlib/mt/Makefile
  * src/dynlib/Makefile
  * package/harbour-win.spec
  * package/harbour-wce.spec
  * package/harbour.spec
  * contrib/make.hbs
  * utils/hbmk2/hbmk2.1
  * utils/hbmk2/hbmk2.prg
  * utils/hbrun/hbrun.prg
  * utils/hbrun/hbrun.hbp
  * utils/hbrun/Makefile
  * doc/gmake.txt
  * config/postinst.hbs
  * config/global.mk
  * config/lib.mk
  * config/bin.mk
  * config/header.mk
  * config/dyn.mk
  * config/doc.mk
  * INSTALL
    * Renamed install dir control envvars to be in the same
      "namespace": (INCOMPATIBLE if you used to manually
      configure these)
      HB_BIN_INSTALL -> HB_INSTALL_BIN
      HB_LIB_INSTALL -> HB_INSTALL_LIB
      HB_DYN_INSTALL -> HB_INSTALL_DYN
      HB_INC_INSTALL -> HB_INSTALL_INC
      HB_DOC_INSTALL -> HB_INSTALL_DOC
      HB_MAN_INSTALL -> HB_INSTALL_MAN
      HB_ETC_INSTALL -> HB_INSTALL_ETC

  * contrib/hbide/idemisc.prg
    - Deleted unused code.
2010-07-29 11:58:25 +00:00
Viktor Szakats
3d884b5706 2010-07-29 10:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    + Making available original hbrun location using __HBRUN__DIRBASE
      envvar. This information is lost when doing the argshift trick,
      pls shout if you see a better solution for it (or any concerns
      with this one).

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

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

  * INSTALL
    + Documented Mac OS X architecture flags.
2010-07-29 08:44:34 +00:00
Viktor Szakats
5a39af2d43 2010-07-28 22:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/harbour-win.spec
  * package/harbour-wce.spec
  * package/harbour.spec
    - Deleted package properties not recommended by RPM docs.
    + Added RPM doc references.
    - Deleted commented lines.
    % Optimized out seemingly unused temp envvars. (I didn't retest)

  * package/winuni/mpkg_win_uni.nsi
    + Added bin/*.hbs files.

  * config/postinst.hbs
    - Deleted mandrake distro autodetection.

  * contrib/hbide/idestylesheets.prg
    + Disabled all UI customizations when "animations" is not enabled.
      This makes the UI to look like on normal system UI on all supported
      OSes (IOW it now looks like a standard application), it fixes
      most reported visual irreguralitites on Linux.
      Maybe multiple levels of UI customizations are required, anyway
      totally off should always stay an option and only those configs 
      should be presented on a given platform which were actually tested 
      on that given platform.
      It didn't fix the bugs in highlight position calculation, which
      is off on Linux (latest Ubuntu) by almost a line in some occasions.
2010-07-28 20:40:24 +00:00
Viktor Szakats
6a387e5244 2010-07-28 18:30 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added -instforce option which will force the target to be 
      copied to -instpath even if it was up to date. This is to
      make it in sync with GNU Make behaviour, where single 
      'make install' will copy everything regardless of being 
      up to date or not.

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

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

  * mpkg_src.sh
    + Changed to always delete temp file bin/hb_flst.tmp containing
      a list of all source files. (anyone knows why was it left there?)
2010-07-28 16:31:03 +00:00
Viktor Szakats
96c2594c24 2010-07-28 17:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/harbour.spec
    * Minor in comment.
    * Temply commented adding .so files in the lib/ root (without harbour postfix)

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

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

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

  * config/global.mk
    * HB_ETC_INSTALL is now format equally on all *nix platforms to have a
      'harbour' subdir. Required to work well with ld creation logic in postinst.hbs.
2010-07-28 15:42:23 +00:00
Viktor Szakats
5c629b67a6 2010-07-28 14:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    ! Synced mandriva linux distro abbrev with rpm .spec files.
2010-07-28 12:05:43 +00:00
Viktor Szakats
a92ffb97ae 2010-07-28 00:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    + Will now install root documents (INSTALL, COPYING, TODO, ChangeLog)
      to HB_DOC_INSTALL on *nix systems.
    + Will now create the HB_MAN_INSTALL dir before copying.

  * debian/rules
    + Sets HB_MAN_INSTALL.
    + Sets HB_BUILD_SHARED=yes.
    % Deleted explicit reference to man files and ChangeLog, these are 
      now installed by postinst.hbs and picked automatically by debhelper.
      This means that now debian/rules doesn't have to be tweaked 
      if any Harbour files change name or location.
2010-07-27 22:16:52 +00:00
Viktor Szakats
783c4433c9 2010-07-27 22:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    + Added more feedback.
    * Internal cleanups.
    + Changed to always copy to etc if there is target dir defined.
    ! Fixed typo in man copying.

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

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

  ; Now mpkg_tgz.sh replacement is about finished.
    It's pbly not 100% the same still, so pls review it.
2010-07-27 20:42:01 +00:00
Viktor Szakats
d0d1eb13dd 2010-07-27 19:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    ! Fixed missing EOLs in embedded install bash script.
    + Added Przemek copyright for embedded install bash script.
    ! Minor fix to uname based *nix system name detection.
2010-07-27 17:04:23 +00:00
Viktor Szakats
c91321e695 2010-07-27 18:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    ! Fixed to tar creation.
2010-07-27 16:07:52 +00:00
Viktor Szakats
be48c07497 2010-07-27 16:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    ! Typo in tar detection.
2010-07-27 14:29:38 +00:00
Viktor Szakats
6f0717765e 2010-07-27 15:30 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    ! Fixed to copy bin/*.hbs files also on *nix systems.
2010-07-27 13:30:36 +00:00
Viktor Szakats
c9a80f866c 2010-07-27 12:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* mpkg_rpm_wce.sh
  * mpkg_rpm_win.sh
  * mpkg_src.sh
  - bin/hb-func.sh
  + package/mpkg_ver.sh
    - Deleted unused function from hb-func.sh
    * Moved and renamed hb-func.sh

  * config/postinst.hbs
  - bin/hbmk_l2d.hbs
  + bin/hbmk2l2d.hbs
    * Renamed.

  - mpkg_nightly.sh
  + package/mpkg_nightly.sh
    * Moved to package dir.
2010-07-27 10:55:41 +00:00
Viktor Szakats
838ec31a96 2010-07-27 12:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added new plugin APIs:
      - hbmk2_AddInput_OBJ()
      - hbmk2_PathFromWorkdirToCWD()
      - hbmk2_CWD()
    + Changed to not abort processing if there are no input files, but
      there are custom plugin input parameter.

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

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

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

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

  * Makefile
    - Do not run postinst.sh anymore.
2010-07-27 10:45:27 +00:00
Viktor Szakats
5e19ffc6b1 2010-07-27 11:23 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* mpkg_rpm_win.sh
  - harbour-win-spec
  + harbour-win.spec
  * mpkg_rpm_wce.sh
  - harbour-wce-spec
  + harbour-wce.spec
    * Renamed to have standard extension.

  * config/postinst.hbs
    - Deleted detection for no longer existing Linux distros.
2010-07-27 09:24:02 +00:00
Viktor Szakats
3c065a8c00 2010-07-26 23:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/postinst.hbs
    ! Typo fixed.
2010-07-26 21:18:13 +00:00
Viktor Szakats
575e7302a8 2010-07-26 21:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-func.sh
    - Deleted one more now unused function.

  * config/postinst.hbs
    ! Fix to prev.
2010-07-26 19:17:56 +00:00
Viktor Szakats
bd90e07276 2010-07-26 20:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/rules
  * harbour.spec
  * config/instsh.mk
    * Do not use HB_INST_PKGPREF.

  * harbour.spec
    + Use HB_MAN_INSTALL

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

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

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

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

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

  * utils/hbrun/hbrun.prg
  * utils/hbrun/hbrun.hbp
  * utils/hbrun/Makefile
    * Renamed include dir control var.
    * Change so that now simple HB_INC_INSTALL value will
      trigger burn-in of header location.
    + Added logic to only use burnt-in header location if
      it is an absolute path.
    ! Synced .hbp file with this feature.
    ; NOTE: This is still non-portable and error
            prone solution. Pls see my thought on dev list
            about possible solutions to use precompiled
            Harbour headers compiled right into the executable.
2010-07-26 18:44:08 +00:00
Viktor Szakats
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
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
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
bf4f1b0679 2010-07-14 22:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * src/rtl/hbdoc.prg
    + Added __HBDOC_LOADHBD( <cFileName> ) -> <hbdoc> | NIL
    + Added __HBDOC_SAVEHBD( <cFileName>, <hbdoc> ) -> <lSuccess>

  - doc/en/Makefile
  * doc/Makefile
  * package/mpkg_win.nsi
  * package/winuni/mpkg_win_uni_extra_copy.bat
  * package/winuni/mpkg_win_uni.nsi
    - Don't install doc sources.

  * config/postinst.hbs
    + Will now build .hbd files from doc sources at 'install' phase.
      .hbd files will be installed in HB_DOC_INSTALL path, which
      is /doc by default.
    ; NOTE: Apps like hbide can now use __HBDOC_LOADHBD() to load
            these .hbd files.
    ; NOTE: We may add other doc generators to hbrtl, plus we may
            further enhance .hbd format to be more easily usable
            for client apps (and f.e. to consume less disk space).
    ; TODO: Config HB_DOC_INSTALL also on *nix systems.

  * contrib/gtwvg/wvgwing.c
    ! Fixes after previous commit.
      Patch by Tamas Tevesz.

  * contrib/make.hbs
    * Minor.
2010-07-14 20:14:17 +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