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