Add gobject enum support, but disabled for now
need to figure out the naming. The generated code doesn't have the right name.
This commit is contained in:
parent
7d235d272f
commit
d75333f166
@ -88,6 +88,8 @@ AM_CONDITIONAL(HAVE_GTHREAD, $have_gthread)
|
||||
PKG_CHECK_MODULES(GOBJECT, gobject-2.0, have_gobject=true, have_gobject=false)
|
||||
if $have_gobject; then
|
||||
AC_DEFINE(HAVE_GOBJECT, 1, [Have gobject2 library])
|
||||
GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
|
||||
AC_SUBST(GLIB_MKENUMS)
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_GOBJECT, $have_gobject)
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
# Process this file with automake to produce Makefile.in
|
||||
|
||||
NULL =
|
||||
BUILT_SOURCES =
|
||||
EXTRA_DIST =
|
||||
CLEANFILES =
|
||||
DISTCLEANFILES =
|
||||
@ -91,8 +92,14 @@ endif
|
||||
if HAVE_GOBJECT
|
||||
HBCFLAGS += $(GOBJECT_CFLAGS)
|
||||
HBLIBS += $(GOBJECT_LIBS)
|
||||
HBSOURCES += hb-gobject.cc
|
||||
HBSOURCES += hb-gobject-structs.cc hb-gobject-enums.cc
|
||||
HBHEADERS += hb-gobject.h
|
||||
BUILT_SOURCES += hb-gobject-enums.cc
|
||||
EXTRA_DIST += hb-gobject-enums.cc.tmpl
|
||||
|
||||
hb-gobject-enums.cc: hb-gobject-enums.cc.tmpl $(HBHEADERS)
|
||||
$(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template $^ ) > \
|
||||
"$@.tmp" && mv "$@.tmp" "$@" || ( $(RM) "@.tmp" && false )
|
||||
endif
|
||||
|
||||
if HAVE_ICU
|
||||
@ -132,11 +139,11 @@ GENERATORS = \
|
||||
|
||||
EXTRA_DIST += $(GENERATORS)
|
||||
|
||||
BUILT_SOURCES = hb-ot-shape-complex-indic-machine.hh
|
||||
BUILT_SOURCES += hb-ot-shape-complex-indic-machine.hh
|
||||
EXTRA_DIST += hb-ot-shape-complex-indic-machine.rl
|
||||
hb-ot-shape-complex-indic-machine.hh: hb-ot-shape-complex-indic-machine.rl
|
||||
$(AM_V_GEN)$(top_srcdir)/missing --run ragel -e -F1 -o "$@.tmp" "$<" && \
|
||||
mv "$@.tmp" "$@"
|
||||
mv "$@.tmp" "$@" || ( $(RM) "$@.tmp" && false )
|
||||
|
||||
noinst_PROGRAMS = main test
|
||||
bin_PROGRAMS =
|
||||
|
74
src/hb-gobject-enums.cc.tmpl
Normal file
74
src/hb-gobject-enums.cc.tmpl
Normal file
@ -0,0 +1,74 @@
|
||||
/*** BEGIN file-header ***/
|
||||
/*
|
||||
* Copyright © 2011 Google, Inc.
|
||||
*
|
||||
* This is part of HarfBuzz, a text shaping library.
|
||||
*
|
||||
* Permission is hereby granted, without written agreement and without
|
||||
* license or royalty fees, to use, copy, modify, and distribute this
|
||||
* software and its documentation for any purpose, provided that the
|
||||
* above copyright notice and the following two paragraphs appear in
|
||||
* all copies of this software.
|
||||
*
|
||||
* IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
|
||||
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
|
||||
* ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
|
||||
* IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
* DAMAGE.
|
||||
*
|
||||
* THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
|
||||
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
|
||||
* ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
|
||||
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
||||
*
|
||||
* Google Author(s): Behdad Esfahbod
|
||||
*/
|
||||
|
||||
#include "hb-private.hh"
|
||||
|
||||
/* g++ didn't like older gtype.h gcc-only code path. */
|
||||
#include <glib.h>
|
||||
#if !GLIB_CHECK_VERSION(2,29,16)
|
||||
#undef __GNUC__
|
||||
#undef __GNUC_MINOR__
|
||||
#define __GNUC__ 2
|
||||
#define __GNUC_MINOR__ 6
|
||||
#endif
|
||||
|
||||
#include "hb-gobject.h"
|
||||
|
||||
/*** END file-header ***/
|
||||
|
||||
/*** BEGIN file-production ***/
|
||||
/* enumerations from "@filename@" */
|
||||
/*** END file-production ***/
|
||||
|
||||
/*** BEGIN value-header ***/
|
||||
/* inline static -----> disable these for now... */
|
||||
GType
|
||||
@enum_name@_get_type (void)
|
||||
{
|
||||
static volatile gsize g_define_type_id__volatile = 0;
|
||||
|
||||
if (g_once_init_enter (&g_define_type_id__volatile))
|
||||
{
|
||||
static const G@Type@Value values[] = {
|
||||
/*** END value-header ***/
|
||||
|
||||
/*** BEGIN value-production ***/
|
||||
{ @VALUENAME@, "@VALUENAME@", "@valuenick@" },
|
||||
/*** END value-production ***/
|
||||
|
||||
/*** BEGIN value-tail ***/
|
||||
{ 0, NULL, NULL }
|
||||
};
|
||||
GType g_define_type_id =
|
||||
g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
|
||||
g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
|
||||
}
|
||||
|
||||
return g_define_type_id__volatile;
|
||||
}
|
||||
|
||||
/*** END value-tail ***/
|
Loading…
Reference in New Issue
Block a user