[Fedora-packaging] When to use a leading underscore?

Panu Matilainen pmatilai at laiskiainen.org
Tue Sep 4 05:15:29 UTC 2012


On 09/01/2012 12:33 AM, Björn Persson wrote:
> As maintainer of fedora-gnat-project-common I sometimes work on RPM macros for
> use in Ada packages. Every time I define a new macro I have trouble deciding
> whether its name should begin with an underscore or not. I know that there is
> some technical difference but I've never quite understood what practical
> difference it makes.
>
> I've been trying to imitate macros with a similar function, so I defined
> _GNAT_project_dir with a leading underscore in analogy with _libdir and
> others. Macros containing command line flags for build tools I've defined
> without a leading underscore in analogy with optflags, but then there are
> _smp_mflags and the hardening macros which have the underscore, and
> __global_cflags and __global_ldflags even have two leading underscores.
>
> Could someone explain what difference a leading underscore makes and give some
> guidance on when I should use it?
>
> Is a double leading underscore functionally different from a single one, or is
> that just some kind of naming convention?

A name is just a name, there's no functional difference. Once upon a 
time in a faraway galaxy there might have been, but that's nothing you 
need to worry about. These days its just a naming convention, albeit a 
rather blurry one.

The bottom line: as long as your macros are "namespaced" (such as your 
GNAT/_GNAT prefix) to limit the possibility of clashes with others, 
you're technically free to call them whatever you want. Following 
existing conventions is not a bad idea though.

	- Panu -




More information about the packaging mailing list