Module Name:    src
Committed By:   agc
Date:           Tue Dec  1 05:19:51 UTC 2009

Added Files:
        src/crypto/external/bsd/netpgp/dist/bindings/swig: netpgp.i swigit

Log Message:
Add a swig interface file, and a wrapper script, for calling swig for
various language bindings for netpgp.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 \
    src/crypto/external/bsd/netpgp/dist/bindings/swig/netpgp.i \
    src/crypto/external/bsd/netpgp/dist/bindings/swig/swigit

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/crypto/external/bsd/netpgp/dist/bindings/swig/netpgp.i
diff -u /dev/null src/crypto/external/bsd/netpgp/dist/bindings/swig/netpgp.i:1.1
--- /dev/null	Tue Dec  1 05:19:51 2009
+++ src/crypto/external/bsd/netpgp/dist/bindings/swig/netpgp.i	Tue Dec  1 05:19:51 2009
@@ -0,0 +1,5 @@
+%module netpgplang
+%{
+#include <netpgp.h>
+%}
+%include netpgp.h
Index: src/crypto/external/bsd/netpgp/dist/bindings/swig/swigit
diff -u /dev/null src/crypto/external/bsd/netpgp/dist/bindings/swig/swigit:1.1
--- /dev/null	Tue Dec  1 05:19:51 2009
+++ src/crypto/external/bsd/netpgp/dist/bindings/swig/swigit	Tue Dec  1 05:19:51 2009
@@ -0,0 +1,98 @@
+#! /bin/sh
+
+#
+# Copyright (c) 2009 The NetBSD Foundation, Inc.
+# All rights reserved.
+#
+# This code is derived from software contributed to The NetBSD Foundation
+# by Alistair Crooks ([email protected])
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+# rushed script to call swig and compile the output
+# Usage: swigit <lang> <module>
+
+prefix=$(pkg_info -qp swig | awk '{ print $1 }')
+
+lang=$1
+module=$2
+
+case "$lang" in
+"")
+	echo "You need to specify an interpreted language like perl or tcl"
+	exit 1
+	;;
+perl)
+	dir=$(pkg_info -qL perl | awk '/EXTERN.h/ { gsub("/EXTERN.h$", ""); print }')
+	incpath='CPPFLAGS+=-I'"$dir"
+	;;
+python)
+	swigflags="-classic"
+	dir=$(pkg_info -qL 'python*' | awk '/Python.h/ { gsub("/Python.h$", ""); print }')
+	incpath='CPPFLAGS+=-I'"$dir"
+	;;
+esac
+
+case "$module" in
+"")
+	echo "You need to specify a module"
+	exit 1
+	;;
+esac
+
+cat << EOF > ${module}${lang}.i
+%module ${module}${lang}
+%{
+#include <${module}.h>
+%}
+%include ${module}.h
+EOF
+
+cp ../../include/${module}.h .
+
+swig ${swigflags} -${lang} ${module}${lang}.i
+
+cat << EOF > Makefile
+# \$NetBSD\$
+# Automatically generated by swigit wrapper script
+
+PREFIX=${prefix}
+
+LIB=${module}${lang}
+SRCS=${module}${lang}_wrap.c
+WARNS=0
+MKMAN=no
+CPPFLAGS+=-I\${PREFIX}/include
+${incpath}
+LDFLAGS+=-L\${PREFIX}/lib
+LDADD+=-l${module}
+
+.include <bsd.lib.mk>
+EOF
+
+cat << EOF >> shlib_version
+major=0
+minor=0
+EOF
+
+env USETOOLS=no make

Reply via email to