Commit Graph

7 Commits

Author SHA1 Message Date
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
96e069c19e 2010-07-12 18:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * src/rtl/Makefile
  + src/rtl/hbdoc.prg
    + Added __HBDOC_LOADDIR() internal RTL function to read
      NFDOC formatted documentation source directories into
      memory. The result will be a list of hashes which contain
      the raw content of doc files. The function does format
      validation (but not content) and add all agreed-on metadata
      to the hashes.
      It's a start and I hope others can join to create new
      layers of function for below functionality:
         - doc content validation
         - pre-formatting
         - output generators
      The goal is to avoid local solutions and standardize
      the format.

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

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

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

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

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

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

  * contrib/hbdoc2/tmplates.prg
    * Formatting.
2010-07-12 16:47:24 +00:00
Viktor Szakats
408c49807b 2010-07-08 11:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hbxpatch.hbs
  * utils/hbmk2/hbmk2.prg
  * contrib/make.hbs
  * config/postinst.hbs
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idefunctions.prg
    * hbmk2 rooted filename/path handling functions renamed.
      Now they are in sync with hbmk2_*() (plugin) flavour.
      With their new names they could even be included in core,
      by adding an hb_ prefix to them.
    * Renamed one internal constant in hbmk2.

  * contrib/hbide/idemisc.prg
    - Deleted unused hbmk2 function.
2010-07-08 09:57:52 +00:00
Viktor Szakats
41ae1afb6c 2010-07-07 17:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * contrib/make.hbs
    + Added standalone mode. The goal is to emulate GNU Make's
      nice in-place build feature for contribs hbmk2 make files.
      Run with 'hbrun ../make.hbs [clean] [install]'
      (install mode's installation phase doesn't work yet)
    + Added contrib type autodetection.
    * HB_ADDONS_LIB, HB_ADDONS_BIN merged into HB_BUILD_ADDONS,
      now the type is autodetected.
    % Move hbmk2 cmdline to HBMK_OPTION only on MS-DOS hosts.
    + Added *nix script header.
    + Updated TODO list.
    ; NOTE: Most tasks are ready now regarding make system 
            migration in contrib area from GNU Make to hbmk2.

  * config/postinst.hbs
    + Added native .hbl generation logic which doesn't require
      hbi18n executable. (not used yet)

  * bin/hbxpatch.hbs
  * contrib/make.hbs
    + Added svn:executable flag.
2010-07-07 15:18:24 +00:00
Viktor Szakats
f5e67a0595 2010-07-06 14:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    + Extended to look in current dir, hbrun dir and PATH for 
      passed script name, if no extension was passed, it will 
      try .hbs and .hrb in that order. This means hbrun is 
      pretty much like a shell command processor now.

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

  * utils/hbmk2/hbmk2.prg
    * Using string literals instead of Chr() in few places.
    ! FindInPath() corrected to honor original dir in filename
      it receives. This may affect plugins if they pass such
      argument.
2010-07-06 12:08:09 +00:00
Viktor Szakats
f406d9075c 2010-07-05 19:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + -clean will now delete the target for -hbdyn, -hblib and default
      -hbexe modes. .bak is also deleted for -hblib mode.
      Probably more autogenerated extensions will have to be deleted
      here to become in sync with globsh.mk.
    + Extended -instfile and -instpath support to also accept
      a file group prefix. This way multiple set of files can be
      copied to a set of target directories.
    ; TODO: Change all -instfile options to point to 'inc' group.
    + dos/djgpp will now use -gstabs+ for debug mode instead of -g.
      Following change made in GNU Make system by Tamas.

  * contrib/makefile.hbs
    + Reworked the way GNU Make operations are mapped to hbmk2
      actions. F.e. 'clean install' needs special attention as
      plain clean cannot be done because
    + Added hbblat to limited set of test contribs.
    + Better isolation and preparation of hbmk2 configuration.
    + Cleanups to dynamic lib creation from contribs.
    + Added experimental support to install headers similarly
      as GNU Make does.

  * Makefile
    ! Fixed to reverse order and dependency of contrib and utils
      trees in clean without install mode. In pure clean mode,
      the contribs need to be traversed first, because hbrun and
      hbmk2 are required for this task.

  * Makefile
  * contrib/Makefile
    + Will now inform about missing hbrun and .hbs scripts not
      run because of it.

  * examples/hbapollo/hbapollo.hbp
    * -instfile updated with header file group.

  * src/rtl/hbproces.c
    ! Fixed some unused variable warnings experienced with poccarm.

  ; Patches from Tamas Tevesz:

  * config/dos/djgpp.mk
    + debug switch changed to -gstabs+ from -g. Following this:
      http://www.delorie.com/djgpp//mail-archives/thread.cgi?msg=djgpp-workers/2002/05/29/06:33:31&mode=frames

  * bin/hbxpatch.hbs
    * Updated after latest changes. Thanks!

  * src/common/hbver.c
    ! Fix for pcc detection.

  * src/rtl/gtdos/gtdos.c
  * src/rtl/hbproces.c
    ! MS-DOS fixes for TRACE() messages.
2010-07-05 17:14:21 +00:00
Viktor Szakats
ea84a85230 2010-07-04 19:03 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
- bin/patchup.hbs
  + bin/hbxpatch.hbs
    * Renamed to have hb prefix.
      Better suggestion are welcome for the name, don't
      consider this final. Pbly sth like hbupdext.prg
      would be better.

  * contrib/Makefile
    * Changed test status of makefile.hbs call to make it
      do some actual work.

  * config/postinst.hbs
    - Deleted implib creation. Now done by makefile.hbs.
      Implibs are never required for core, so this is now
      much cleaner.
    - Deleted experimental HB_BUILD_ADDONS support. This
      feature has moved to makefile.hbs and it can be
      controlled by HB_ADDONS_LIB and HB_ADDONS_BIN to add
      non-hosted extra components to the build process.
      The envvar names are not finalized.
    * Changed to only copy .hbs files starting with 'hb'
      in bin dir to avoid catching local scripts and adding
      them to install.

  * contrib/makefile.hbs
    + Makred dependencies from external.
    * Reworked the way project list is assembled.
    ! Fixed root dir issues.
    ! Fixed -instpath option

  * config/postinst.hbs
    * Tweaked to convert pathseps in external tool calls
      to native.

  * ChangeLog
    ! Corrected most basic problems with Massimo's latest
      log entry. Massimo: You fixed a one byte typo and 
      caused by to fix about 10 typos writing 3-4 letters.
      This isn't very effective help.
2010-07-04 17:04:24 +00:00