All you need is hook_hook_info.
Normally hooks do not need to be explicitly defined. However, by
declaring a hook explicitly, a module may define a "group" for it.
Modules that implement a hook may then place their implementation in
either $module.module or in $module.$group.inc. If the hook is located
in $module.$group.inc, then that file will be automatically loaded
when needed. In general, hooks that are rarely invoked and/or are very
large should be placed in a separate include file, while hooks that
are very short or very frequently called should be left in the main
module file so that they are always available.
In your case it should be,
/**
* Implements hook_hook_info().
*/
function mymodule_hook_info() {
$hooks['block_info'] = array(
'group' => 'block',
);
$hooks['block_configure'] = array(
'group' => 'block',
);
$hooks['block_view'] = array(
'group' => 'block',
);
return $hooks;
}
Then you should place those hook functions into a file called mymodule.block.inc and the same file should be available in the module directory.
For more info/caveats on this hook go here.