This allows us to call 'make eparser_idl', generate the files required
by the ethereal pidl plugin, and put them in the right place. (See
lorikeet/ethereal)
Andrew Bartlett
(This used to be commit
bd9497b092335b2646a1955ea7c55ad33eb7d538)
;;
esac])
+#################################################
+# set configuration directory location
+eparserdir=""
+
+AC_ARG_WITH(eparserdir,
+[ --with-eparserdir=DIR Where to put output for the Ethereal/PIDL plugin],
+[ case "$withval" in
+ yes|no)
+ #
+ # Just in case anybody does it
+ #
+ AC_MSG_ERROR([--with-eparserdir called without argument])
+ ;;
+ * )
+ eparserdir="$withval"
+ ;;
+ esac])
+
AC_SUBST(configdir)
AC_SUBST(lockdir)
AC_SUBST(piddir)
AC_SUBST(privatedir)
AC_SUBST(bindir)
AC_SUBST(sbindir)
+AC_SUBST(eparserdir)
debug=no
AC_ARG_ENABLE(debug,
VPATH=\@srcdir\@
srcdir=\@srcdir\@
builddir=\@builddir\@
+eparserdir=\@eparserdir\@
BASEDIR= \@prefix\@
BINDIR = \@bindir\@
CONFIGDIR = \@configdir\@
VARDIR = \@localstatedir\@
+
# The permissions to give the executables
INSTALLPERMS = 0755
CPP=\"\@CPP\@\" PERL=\"\$(PERL)\" script/build_idl.sh FULL
idl: build/pidl/idl.pm
- \@CPP=\"\@CPP\@\" script/build_idl.sh
+ \@CPP=\"\@CPP\@\" script/build_idl.sh PARTIAL
+
+eparser_idl: build/pidl/idl.pm
+ CPP=\"\@CPP\@\" PERL=\"\$(PERL)\" EPARSERPREFIX=\"\$(eparserdir)\" script/build_idl.sh EPARSER
build/pidl/idl.pm: build/pidl/idl.yp
-yapp -s build/pidl/idl.yp
[ -d librpc/gen_ndr ] || mkdir -p librpc/gen_ndr || exit 1
PIDL="$PERL ./build/pidl/pidl.pl --output librpc/gen_ndr/ndr_ --parse --header --parser --server"
+EPARSERPIDL="$PERL ./build/pidl/pidl.pl --output $EPARSERPREFIX/ndr_ --parse --header --eparser"
TABLES="$PERL ./build/pidl/tables.pl --output librpc/gen_ndr/tables"
if [ x$FULLBUILD = xFULL ]; then
exit 0
fi
+if [ x$FULLBUILD = xEPARSER ]; then
+ echo Rebuilding all idl files in librpc/idl
+ $EPARSERPIDL librpc/idl/*.idl || exit 1
+ exit 0
+fi
+
list=""
for f in librpc/idl/*.idl; do