aboutsummaryrefslogtreecommitdiffstats
path: root/tools/make-dissector-reg
diff options
context:
space:
mode:
Diffstat (limited to 'tools/make-dissector-reg')
-rwxr-xr-xtools/make-dissector-reg146
1 files changed, 0 insertions, 146 deletions
diff --git a/tools/make-dissector-reg b/tools/make-dissector-reg
deleted file mode 100755
index baeb41d642..0000000000
--- a/tools/make-dissector-reg
+++ /dev/null
@@ -1,146 +0,0 @@
-#! /bin/sh
-
-#
-# The first argument is the directory in which the source files live.
-#
-srcdir="$1"
-shift
-
-#
-# The second argument is either "plugin" or "dissectors"; if it's
-# "plugin", we build a plugin.c for a plugin, and if it's
-# "dissectors", we build a register.c for libwireshark.
-#
-registertype="$1"
-shift
-if [ "$registertype" = plugin ]
-then
- outfile="plugin.c"
-elif [ "$registertype" = dissectors ]
-then
- outfile="register.c"
-else
- echo "Unknown output type '$registertype'" 1>&2
- exit 1
-fi
-
-#
-# All subsequent arguments are the files to scan.
-#
-files=''
-
-for f in "$@"
-do
- # This won't work if any filenames contain spaces.
- # However, this script is called by make, which doesn't support
- # spaces either.
- if [ -f "$f" ]
- then
- files="$files $f"
- else
- files="$files $srcdir/$f"
- fi
-done
-
-
-rm -f ${outfile}-tmp
-echo '/* Do not modify this file. */' >${outfile}-tmp
-echo '/* It is created automatically by the Makefile. */'>>${outfile}-tmp
-if [ "$registertype" = plugin ]
-then
- cat <<"EOF" >>${outfile}-tmp
-#include "config.h"
-
-#include <gmodule.h>
-
-#include "moduleinfo.h"
-/* plugins are DLLs */
-#define WS_BUILD_DLL
-#include "ws_symbol_export.h"
-
-#ifndef ENABLE_STATIC
-WS_DLL_PUBLIC_DEF const gchar version[] = VERSION;
-
-/* Start the functions we need for the plugin stuff */
-
-WS_DLL_PUBLIC_DEF void
-plugin_register (void)
-{
-EOF
- #
- # Build code to call all the protocol registration routines.
- #
- grep '^proto_register_[a-z_0-9A-Z]* *(' $files 2>/dev/null | grep -v ';' \
- | sed -e 's/^.*://' -e 's/^\([a-z_0-9A-Z]*\).*/ {extern void \1 (void); \1 ();}/' >>${outfile}-tmp
-
- grep '^void proto_register_[a-z_0-9A-Z]* *(' $files 2>/dev/null | grep -v ';' \
- | sed -e 's/^.*://' -e 's/^void \([a-z_0-9A-Z]*\).*/ {extern void \1 (void); \1 ();}/' >>${outfile}-tmp
-else
- cat <<"EOF" >>${outfile}-tmp
-#include "register.h"
-void
-register_all_protocols(register_cb cb, gpointer client_data)
-{
-EOF
- #
- # Build code to call all the protocol registration routines.
- #
- grep '^proto_register_[a-z_0-9A-Z]* *(' $files 2>/dev/null | grep -v ';' \
- | sed -e 's/^.*://' -e 's/^\([a-z_0-9A-Z]*\).*/ {extern void \1 (void); if(cb) (*cb)(RA_REGISTER, \"\1\", client_data); \1 ();}/' >>${outfile}-tmp
-
- grep '^void proto_register_[a-z_0-9A-Z]* *(' $files 2>/dev/null | grep -v ';' \
- | sed -e 's/^.*://' -e 's/^void \([a-z_0-9A-Z]*\).*/ {extern void \1 (void); if(cb) (*cb)(RA_REGISTER, \"\1\", client_data); \1 ();}/' >>${outfile}-tmp
-
-fi
-echo '}' >>${outfile}-tmp
-
-
-#
-# Build code to call all the protocol handoff registration routines.
-#
-if [ "$registertype" = plugin ]
-then
- cat <<"EOF" >>${outfile}-tmp
-WS_DLL_PUBLIC_DEF void
-plugin_reg_handoff(void)
-{
-EOF
- grep '^proto_reg_handoff_[a-z_0-9A-Z]* *(' $files 2>/dev/null | grep -v ';' \
- | sed -e 's/^.*://' -e 's/^\([a-z_0-9A-Z]*\).*/ {extern void \1 (void); \1 ();}/' >>${outfile}-tmp
-
- grep '^void proto_reg_handoff_[a-z_0-9A-Z]* *(' $files 2>/dev/null | grep -v ';' \
- | sed -e 's/^.*://' -e 's/^void \([a-z_0-9A-Z]*\).*/ {extern void \1 (void); \1 ();}/' >>${outfile}-tmp
-else
- cat <<"EOF" >>${outfile}-tmp
-void
-register_all_protocol_handoffs(register_cb cb, gpointer client_data)
-{
-EOF
- grep '^proto_reg_handoff_[a-z_0-9A-Z]* *(' $files 2>/dev/null | grep -v ';' \
- | sed -e 's/^.*://' -e 's/^\([a-z_0-9A-Z]*\).*/ {extern void \1 (void); if(cb) (*cb)(RA_HANDOFF, \"\1\", client_data); \1 ();}/' >>${outfile}-tmp
-
- grep '^void proto_reg_handoff_[a-z_0-9A-Z]* *(' $files 2>/dev/null | grep -v ';' \
- | sed -e 's/^.*://' -e 's/^void \([a-z_0-9A-Z]*\).*/ {extern void \1 (void); if(cb) (*cb)(RA_HANDOFF, \"\1\", client_data); \1 ();}/' >>${outfile}-tmp
-fi
-echo '}' >>${outfile}-tmp
-if [ "$registertype" = plugin ]
-then
- echo '#endif' >>${outfile}-tmp
-else
- cat <<"EOF" >>${outfile}-tmp
-gulong register_count(void)
-{
-EOF
- proto_regs=`grep -c RA_REGISTER ${outfile}-tmp`
- handoff_regs=`grep -c RA_HANDOFF ${outfile}-tmp`
- echo " return $proto_regs + $handoff_regs;" >>${outfile}-tmp
- echo '}' >>${outfile}-tmp
-fi
-
-# Only overwrite outfile if it differs from newly generated file
-if cmp -s ${outfile}-tmp ${outfile}
-then
- rm ${outfile}-tmp
-else
- mv ${outfile}-tmp ${outfile}
-fi