First Add

This commit is contained in:
root
2024-03-06 15:21:38 +01:00
commit e4d888ce1d
570 changed files with 229039 additions and 0 deletions
+466
View File
@@ -0,0 +1,466 @@
# Makefile.in generated by automake 1.13.4 from Makefile.am.
# contrib/php/Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/genders
pkgincludedir = $(includedir)/genders
pkglibdir = $(libdir)/genders
pkglibexecdir = $(libexecdir)/genders
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = x86_64-unknown-linux-gnu
host_triplet = x86_64-unknown-linux-gnu
target_triplet = x86_64-unknown-linux-gnu
subdir = contrib/php
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/ac_cplusplus_extensions.m4 \
$(top_srcdir)/config/ac_debug.m4 \
$(top_srcdir)/config/ac_extension_destdir.m4 \
$(top_srcdir)/config/ac_genders_file.m4 \
$(top_srcdir)/config/ac_java_extenions.m4 \
$(top_srcdir)/config/ac_meta.m4 \
$(top_srcdir)/config/ac_perl_extensions.m4 \
$(top_srcdir)/config/ac_perl_site_arch.m4 \
$(top_srcdir)/config/ac_perl_vendor_arch.m4 \
$(top_srcdir)/config/ac_python_extensions.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_$(V))
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = aclocal-1.13
AMTAR = $${TAR-tar}
AM_DEFAULT_VERBOSITY = 1
AR = ar
AUTOCONF = autoconf
AUTOHEADER = autoheader
AUTOMAKE = automake-1.13
AWK = mawk
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -O3 -Wall -fno-strict-aliasing
CPP = gcc -E
CPPFLAGS =
CXX = g++
CXXCPP = g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
DLLTOOL = false
DSYMUTIL =
DUMPBIN =
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /usr/bin/grep -E
EXEEXT =
EXTENSION_DESTDIR =
FGREP = /usr/bin/grep -F
FORCE_YACC =
GENDERS_DEFAULT_FILE = "/etc/genders"
GREP = /usr/bin/grep
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
JAR = /usr/bin/jar
JAVA = /usr/bin/java
JAVAC = /usr/bin/javac
JAVADOC = /usr/bin/javadoc
JAVAH =
LD = /usr/bin/ld -m elf_x86_64
LDFLAGS =
LEX = flex
LEXLIB = -lfl
LEX_OUTPUT_ROOT = lex.yy
LIBGENDERSJNI_VERSION_INFO = 0:0:0
LIBGENDERSPLUSPLUS_VERSION_INFO = 2:0:0
LIBGENDERS_VERSION_INFO = 3:3:3
LIBOBJS =
LIBS =
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIPO =
LN_S = ln -s
LTLIBOBJS =
MAINT = #
MAKEINFO = makeinfo
MANIFEST_TOOL = :
MANPAGE_DEBUG = 0
MKDIR_P = /usr/bin/mkdir -p
NM = /usr/bin/nm -B
NMEDIT =
OBJDUMP = objdump
OBJEXT = o
OTOOL =
OTOOL64 =
PACKAGE = genders
PACKAGE_BUGREPORT =
PACKAGE_NAME = genders
PACKAGE_STRING = genders 1.28
PACKAGE_TARNAME = genders
PACKAGE_URL =
PACKAGE_VERSION = 1.28
PATH_SEPARATOR = :
PERL = /usr/bin/perl
PERLGENDERS_VERSION = 0.03
PERLMAN3EXT = 3pm
PERL_ARCH_INSTALL = vendor
POD2MAN = /usr/bin/pod2man
PROJECT = genders
PYTHON =
PYTHONGENDERS_VERSION = 1.2
RANLIB = ranlib
RELEASE = 1
SED = /usr/bin/sed
SET_MAKE =
SHELL = /bin/bash
STRIP = strip
VERSION = 1.28
YACC = byacc
YFLAGS =
abs_builddir = /home/local/DEVEL/genders-master/contrib/php
abs_srcdir = /home/local/DEVEL/genders-master/contrib/php
abs_top_builddir = /home/local/DEVEL/genders-master
abs_top_srcdir = /home/local/DEVEL/genders-master
ac_ct_AR = ar
ac_ct_CC = gcc
ac_ct_CXX = g++
ac_ct_DUMPBIN =
am__include = include
am__leading_dot = .
am__quote =
am__tar = tar --format=ustar -chf - "$$tardir"
am__untar = tar -xf -
bindir = ${exec_prefix}/bin
build = x86_64-unknown-linux-gnu
build_alias =
build_cpu = x86_64
build_os = linux-gnu
build_vendor = unknown
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host = x86_64-unknown-linux-gnu
host_alias =
host_cpu = x86_64
host_os = linux-gnu
host_vendor = unknown
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /home/local/DEVEL/genders-master/config/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /home/local/PREFIX
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
target = x86_64-unknown-linux-gnu
target_alias =
target_cpu = x86_64
target_os = linux-gnu
target_vendor = unknown
top_build_prefix = ../../
top_builddir = ../..
top_srcdir = ../..
EXTRA_DIST = Makefile.am README config.m4 genders.c php_genders.h
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu contrib/php/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu contrib/php/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: # $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
tags TAGS:
ctags CTAGS:
cscope cscopelist:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
cscopelist-am ctags-am distclean distclean-generic \
distclean-libtool distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
+7
View File
@@ -0,0 +1,7 @@
##*****************************************************************************
## $Id: Makefile.am,v 1.1 2007-10-03 20:20:14 chu11 Exp $
##*****************************************************************************
## Process this file with automake to produce Makefile.in.
##*****************************************************************************
EXTRA_DIST = Makefile.am README config.m4 genders.c php_genders.h
+466
View File
@@ -0,0 +1,466 @@
# Makefile.in generated by automake 1.13.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = contrib/php
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/ac_cplusplus_extensions.m4 \
$(top_srcdir)/config/ac_debug.m4 \
$(top_srcdir)/config/ac_extension_destdir.m4 \
$(top_srcdir)/config/ac_genders_file.m4 \
$(top_srcdir)/config/ac_java_extenions.m4 \
$(top_srcdir)/config/ac_meta.m4 \
$(top_srcdir)/config/ac_perl_extensions.m4 \
$(top_srcdir)/config/ac_perl_site_arch.m4 \
$(top_srcdir)/config/ac_perl_vendor_arch.m4 \
$(top_srcdir)/config/ac_python_extensions.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXTENSION_DESTDIR = @EXTENSION_DESTDIR@
FGREP = @FGREP@
FORCE_YACC = @FORCE_YACC@
GENDERS_DEFAULT_FILE = @GENDERS_DEFAULT_FILE@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JAR = @JAR@
JAVA = @JAVA@
JAVAC = @JAVAC@
JAVADOC = @JAVADOC@
JAVAH = @JAVAH@
LD = @LD@
LDFLAGS = @LDFLAGS@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBGENDERSJNI_VERSION_INFO = @LIBGENDERSJNI_VERSION_INFO@
LIBGENDERSPLUSPLUS_VERSION_INFO = @LIBGENDERSPLUSPLUS_VERSION_INFO@
LIBGENDERS_VERSION_INFO = @LIBGENDERS_VERSION_INFO@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MANPAGE_DEBUG = @MANPAGE_DEBUG@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PERLGENDERS_VERSION = @PERLGENDERS_VERSION@
PERLMAN3EXT = @PERLMAN3EXT@
PERL_ARCH_INSTALL = @PERL_ARCH_INSTALL@
POD2MAN = @POD2MAN@
PROJECT = @PROJECT@
PYTHON = @PYTHON@
PYTHONGENDERS_VERSION = @PYTHONGENDERS_VERSION@
RANLIB = @RANLIB@
RELEASE = @RELEASE@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
YACC = @YACC@
YFLAGS = @YFLAGS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = Makefile.am README config.m4 genders.c php_genders.h
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu contrib/php/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu contrib/php/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
tags TAGS:
ctags CTAGS:
cscope cscopelist:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
cscopelist-am ctags-am distclean distclean-generic \
distclean-libtool distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags-am uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
+66
View File
@@ -0,0 +1,66 @@
PHP Bindings for Genders
INSTALLATION
-> mkdir <php root>/php/include/php/ext/genders
-> cp config.m4 genders.c php_genders.h <php root>/php/include/php/ext/genders
-> cd <php root>/php/include/php/ext/genders
-> phpize
-> ./configure --with-genders=<path to genders> --with-php-config=<path to file "php-config">
example: ./configure --with-genders=/usr/local/genders --with-php-config=/usr/local/php/bin/php-config
-> make
-> make install
USAGE
Four functions from the genders library are implemented. They are genders_getnumattrs(),
genders_getattr(), genders_getattr_all(), and genders_getnodes(), and all work similarly
as their libgenders(3) counterparts:
genders_getnumattrs() takes a genders file name (string) as an input, and returns the
number of attributes listed in the genders file.
genders_getattr() takes a genders file name (string), node name (string), and return type
(boolean) as inputs, and returns an array of attributes or values. If the return type is
0, attributes are returned. Otherwise, values are returned.
genders_getnodes() takes a genders file name (string), attribute name (string), and value
name (string) as inputs, and returns an array of nodes. If the input value string is NULL,
then values are not considered when determining the node list.
genders_getattr_all() takes a genders file name (string) as an input, and returns an array
of attributes.
In any of the above functions, if the file name string is set to NULL, libgenders will
look in default locations for the genders file.
EXAMPLES
<?php
$num = genders_getnumattrs("/etc/genders");
printf("Num: %d<P>\n", $num);
$attrs = genders_getattr(NULL, "node1", 0);
$vals = genders_getattr(NULL, "node1", 1);
$k = sizeof($attrs);
for($i=0;$i<$k;$i++)
{
printf("%s -> %s<br>", $attrs[$i], $vals[$i]);
}
printf("<P>\n");
$nodes = genders_getnodes(NULL,"compute",NULL);
$k = sizeof($nodes);
for($i=0;$i<$k;$i++)
{
printf("%s<br>", $nodes[$i]);
}
printf("<P>\n");
$attrs=genders_getattr_all("/etc/genders");
$k = sizeof($attrs);
for($i=0;$i<$k;$i++)
{
printf("%s<br>", $attrs[$i]);
}
?>
+62
View File
@@ -0,0 +1,62 @@
dnl $Id: config.m4,v 1.1 2007-10-03 20:20:14 chu11 Exp $
dnl config.m4 for extension genders
dnl Comments in this file start with the string 'dnl'.
dnl Remove where necessary. This file will not work
dnl without editing.
PHP_ARG_WITH(genders, for genders support,
[ --with-genders[=DIR] Include genders support])
if test "$PHP_GENDERS" != "no"; then
if test "$PHP_GENDERS" != "yes"; then
AC_MSG_CHECKING(if genders specified path is valid)
if test -r $PHP_GENDERS/include/genders.h; then
GENDERS_DIR=$PHP_GENDERS
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AC_MSG_ERROR([The specified genders path is Invalid or the installation is incomplete
Please specify another path or reinstall the genders distribution])
fi
else
SEARCH_PATH="/usr/local/genders /usr/local /usr /opt"
SEARCH_FOR="/include/genders.h"
if test -r $PHP_GENDERS/$SEARCH_FOR; then # path given as parameter
GENDERS_DIR=$PHP_GENDERS
else # search default path list
AC_MSG_CHECKING([for genders files in default path])
for i in $SEARCH_PATH ; do
if test -r $i/$SEARCH_FOR; then
GENDERS_DIR=$i
AC_MSG_RESULT(found in $i)
fi
done
fi
fi
if test -z "$GENDERS_DIR"; then
AC_MSG_RESULT([not found])
AC_MSG_ERROR([Please reinstall the genders distribution])
fi
PHP_ADD_INCLUDE($GENDERS_DIR/include)
LIBNAME=genders
LIBSYMBOL=genders_handle_create
PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
[
PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $GENDERS_DIR/lib, GENDERS_SHARED_LIBADD)
AC_DEFINE(HAVE_GENDERSLIB,1,[ ])
],[
AC_MSG_ERROR([wrong genders lib version or lib not found])
],[
-L$GENDERS_DIR/lib -lm -ldl
])
PHP_SUBST(GENDERS_SHARED_LIBADD)
PHP_NEW_EXTENSION(genders, genders.c, $ext_shared)
fi
+265
View File
@@ -0,0 +1,265 @@
/*****************************************************************************\
* $Id: genders.c,v 1.5 2010-02-02 00:04:34 chu11 Exp $
*****************************************************************************
* Copyright (C) 2007-2019 Lawrence Livermore National Security, LLC.
* Copyright (C) 2001-2007 The Regents of the University of California.
* Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
* Written by Jim Garlick <garlick@llnl.gov> and Albert Chu <chu11@llnl.gov>.
* UCRL-CODE-2003-004.
*
* This file is part of Genders, a cluster configuration database.
* For details, see <http://www.llnl.gov/linux/genders/>.
*
* Genders 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 2 of the License, or (at your option)
* any later version.
*
* Genders 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.
*
* You should have received a copy of the GNU General Public License along
* with Genders. If not, see <http://www.gnu.org/licenses/>.
\*****************************************************************************/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_genders.h"
#include <genders.h>
static int le_genders;
zend_function_entry genders_functions[] = {
PHP_FE(genders_getnumattrs, NULL)
PHP_FE(genders_getattr, NULL)
PHP_FE(genders_getattr_all, NULL)
PHP_FE(genders_getnodes, NULL)
{NULL, NULL, NULL}
};
zend_module_entry genders_module_entry = {
STANDARD_MODULE_HEADER,
"genders",
genders_functions,
PHP_MINIT(genders),
PHP_MSHUTDOWN(genders),
PHP_RINIT(genders),
PHP_RSHUTDOWN(genders),
PHP_MINFO(genders),
NO_VERSION_YET,
STANDARD_MODULE_PROPERTIES
};
#ifdef COMPILE_DL_GENDERS
ZEND_GET_MODULE(genders)
#endif
PHP_MINIT_FUNCTION(genders)
{
return SUCCESS;
}
PHP_MSHUTDOWN_FUNCTION(genders)
{
return SUCCESS;
}
PHP_RINIT_FUNCTION(genders)
{
return SUCCESS;
}
PHP_RSHUTDOWN_FUNCTION(genders)
{
return SUCCESS;
}
PHP_MINFO_FUNCTION(genders)
{
php_info_print_table_start();
php_info_print_table_header(2, "genders support", "enabled");
php_info_print_table_end();
}
/* {{{ proto int genders_getnumattrs (string file) */
PHP_FUNCTION(genders_getnumattrs)
{
genders_t ghandle;
unsigned long retval;
zval *file;
if (zend_get_parameters(ht, 1, &file) == SUCCESS)
{
ghandle = genders_handle_create();
genders_load_data(ghandle, file->value.str.val);
retval = genders_getnumattrs(ghandle);
if(retval < 0)
{
php_error(E_WARNING, genders_strerror(genders_errnum(ghandle)));
RETURN_FALSE;
}
RETVAL_LONG(retval);
genders_handle_destroy(ghandle);
}
else
{
WRONG_PARAM_COUNT;
}
return;
}
/* {{{ proto string array genders_getattr (string file, string node, bool ret_type) */
/* if ret_type is 0, return the attribute list. Otherwise, return the value list. */
PHP_FUNCTION(genders_getattr)
{
genders_t ghandle;
zval *file;
zval *node;
zval *ret_type;
char **attrlist;
char **vallist;
int len, num, k;
if ( ZEND_NUM_ARGS() == 3 && zend_get_parameters(ht, 3, &file, &node, &ret_type) == SUCCESS)
{
ghandle = genders_handle_create();
genders_load_data(ghandle, file->value.str.val);
len = genders_attrlist_create(ghandle, &attrlist);
genders_vallist_create(ghandle, &vallist);
num = genders_getattr(ghandle, attrlist, vallist, len, node->value.str.val);
if(num < 0)
{
if(genders_errnum(ghandle) == GENDERS_ERR_NOTFOUND)
{
RETURN_FALSE;
}
else
{
php_error(E_WARNING, genders_strerror(genders_errnum(ghandle)));
RETURN_FALSE;
}
}
array_init(return_value);
if(ret_type->value.lval)
{
for(k=0;k<num;k++)
{
add_next_index_string(return_value, vallist[k], 1);
}
}
else
{
for(k=0;k<num;k++)
{
add_next_index_string(return_value, attrlist[k], 1);
}
}
genders_attrlist_destroy(ghandle, attrlist);
genders_vallist_destroy(ghandle, vallist);
genders_handle_destroy(ghandle);
}
else
{
WRONG_PARAM_COUNT;
}
return;
}
/* {{{ proto string array genders_getnodes (string file, string attr, string val) */
PHP_FUNCTION(genders_getnodes)
{
genders_t ghandle;
zval *file;
zval *attr;
zval *val;
char **nodelist;
int len, num, k;
if ( ZEND_NUM_ARGS() == 3 && zend_get_parameters(ht, 3, &file, &attr, &val) == SUCCESS)
{
ghandle = genders_handle_create();
genders_load_data(ghandle, file->value.str.val);
len = genders_nodelist_create(ghandle, &nodelist);
num = genders_getnodes(ghandle, nodelist, len, attr->value.str.val, val->value.str.val);
if(num < 0)
{
php_error(E_WARNING, genders_strerror(genders_errnum(ghandle)));
RETURN_FALSE;
}
array_init(return_value);
for(k=0;k<num;k++)
{
add_next_index_string(return_value, nodelist[k], 1);
}
genders_nodelist_destroy(ghandle, nodelist);
genders_handle_destroy(ghandle);
}
else
{
WRONG_PARAM_COUNT;
}
return;
}
/* {{{ proto string array genders_getattr_all (string file) */
PHP_FUNCTION(genders_getattr_all)
{
genders_t ghandle;
zval *file;
char **attrlist;
int len, num, k;
if ( ZEND_NUM_ARGS() == 1 && zend_get_parameters(ht, 1, &file) == SUCCESS)
{
ghandle = genders_handle_create();
genders_load_data(ghandle, file->value.str.val);
len = genders_attrlist_create(ghandle, &attrlist);
num = genders_getattr_all(ghandle, attrlist, len);
if(num < 0)
{
php_error(E_WARNING, genders_strerror(genders_errnum(ghandle)));
RETURN_FALSE;
}
array_init(return_value);
for(k=0;k<num;k++)
{
add_next_index_string(return_value, attrlist[k], 1);
}
genders_attrlist_destroy(ghandle, attrlist);
genders_handle_destroy(ghandle);
}
else
{
WRONG_PARAM_COUNT;
}
return;
}
+60
View File
@@ -0,0 +1,60 @@
/*****************************************************************************\
* $Id: php_genders.h,v 1.4 2010-02-02 00:04:34 chu11 Exp $
*****************************************************************************
* Copyright (C) 2007-2019 Lawrence Livermore National Security, LLC.
* Copyright (C) 2001-2007 The Regents of the University of California.
* Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
* Written by Jim Garlick <garlick@llnl.gov> and Albert Chu <chu11@llnl.gov>.
* UCRL-CODE-2003-004.
*
* This file is part of Genders, a cluster configuration database.
* For details, see <http://www.llnl.gov/linux/genders/>.
*
* Genders 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 2 of the License, or (at your option)
* any later version.
*
* Genders 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.
*
* You should have received a copy of the GNU General Public License along
* with Genders. If not, see <http://www.gnu.org/licenses/>.
\*****************************************************************************/
#ifndef PHP_GENDERS_H
#define PHP_GENDERS_H
extern zend_module_entry genders_module_entry;
#define phpext_genders_ptr &genders_module_entry
#ifdef PHP_WIN32
#define PHP_GENDERS_API __declspec(dllexport)
#else
#define PHP_GENDERS_API
#endif
#ifdef ZTS
#include "TSRM.h"
#endif
PHP_MINIT_FUNCTION(genders);
PHP_MSHUTDOWN_FUNCTION(genders);
PHP_RINIT_FUNCTION(genders);
PHP_RSHUTDOWN_FUNCTION(genders);
PHP_MINFO_FUNCTION(genders);
PHP_FUNCTION(genders_getnumattrs);
PHP_FUNCTION(genders_getattr);
PHP_FUNCTION(genders_getattr_all);
PHP_FUNCTION(genders_getnodes);
#ifdef ZTS
#define GENDERS_G(v) TSRMG(genders_globals_id, zend_genders_globals *, v)
#else
#define GENDERS_G(v) (genders_globals.v)
#endif
#endif