* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
- 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.