X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fglobal-ctor.hh;h=cb082b19ab863b8f1e5f2c4bf0af91002c587904;hb=21f6ea846dc1930cb41f185485ce6e1c8d9b30bd;hp=01835c61979d5b10f878d6492db8a16c1fb3b696;hpb=e24df7c27635dc996c466295eacf2981bddccaf7;p=lilypond.git diff --git a/lily/include/global-ctor.hh b/lily/include/global-ctor.hh index 01835c6197..cb082b19ab 100644 --- a/lily/include/global-ctor.hh +++ b/lily/include/global-ctor.hh @@ -1,30 +1,39 @@ -/* - global-ctor.hh -- declare Global construction stuff. - - source file of the GNU LilyPond music typesetter - - (c) 1999--2005 Han-Wen Nienhuys - - */ +/* + This file is part of LilyPond, the GNU music typesetter. -#ifndef GLOBAL_CTOR_HH -#define GLOBAL_CTOR_HH + Copyright (C) 1999--2012 Han-Wen Nienhuys + + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -#define ADD_GLOBAL_CTOR_WITHNAME(y,x)\ -class Global_ctor_ ## y \ -{\ -public: \ - Global_ctor_ ## y () { \ - add_constructor (x); \ - } \ -} _ ## y ## _ctor_init; \ + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . +*/ +#ifndef GLOBAL_CTOR_HH +#define GLOBAL_CTOR_HH -#define ADD_GLOBAL_CTOR(x) ADD_GLOBAL_CTOR_WITHNAME (x,x); +#define ADD_GLOBAL_CTOR_WITHNAME(y, x) \ + class Global_ctor_ ## y \ + { \ + public: \ + Global_ctor_ ## y () \ + { \ + add_constructor (x); \ + } \ + } \ + _ ## y ## _ctor_init; +#define ADD_GLOBAL_CTOR(x) ADD_GLOBAL_CTOR_WITHNAME (x, x); -typedef void (* Global_ctor ) (); +typedef void (* Global_ctor) (); void add_constructor (Global_ctor ctor); void call_constructors ();