1#!/bin/sh
2# $NetBSD: libevent2netbsd,v 1.3 2021/04/07 03:36:48 christos Exp $
3
4# Extract the new tarball and rename the libevent-X.Y.Z directory
5# to dist.  Run this script and check for additional files and
6# directories to prune, only relevant content is included.
7#
8# lib/ is built as SUBDIR from lib/Makefile, and
9# the regression tests are used from tests/lib/libevent
10#
11# Use the following template to import
12#  cvs import src/external/bsd/libevent/dist LIBEVENT libevent-X-Y-Z-stable
13#
14# don't forget to bump the shlib version in Makefile.inc and
15# commit the include/ files
16# XXX: Automate the man page generation
17
18if [ -z "$1" ]
19then
20    echo "Usage $0 <dir>" 1>&2
21    exit 1
22fi
23
24case $1 in
25/*)
26	d=$1;;
27*)
28	d=$(pwd)/$1;;
29esac
30
31if [ -f $d/configure ]; then
32	mkdir -p tmp
33	cd tmp
34	$d/configure
35	make include/event2/event-config.h
36	sed -e '
37/_EVENT_SIZEOF_SIZE_T/ {
38	a\
39#ifdef _LP64\
40#define _EVENT_SIZEOF_SIZE_T 8\
41#else\
42#define _EVENT_SIZEOF_SIZE_T 4\
43#endif
44	d
45}
46/_EVENT_SIZEOF_LONG_LONG/ {
47	a\
48#define _EVENT_SIZEOF_LONG_LONG 8
49	d
50}
51/_EVENT_SIZEOF_LONG/ {
52	a\
53#ifdef _LP64\
54#define _EVENT_SIZEOF_LONG 8\
55#else\
56#define _EVENT_SIZEOF_LONG 4\
57#endif
58	d
59}
60/_EVENT_SIZEOF_PTHREAD_T/ {
61	a\
62#ifdef _LP64\
63#define _EVENT_SIZEOF_PTHREAD_T 8\
64#else\
65#define _EVENT_SIZEOF_PTHREAD_T 4\
66#endif
67	d
68}
69/_EVENT_SIZEOF_VOID_P/ {
70	a\
71#ifdef _LP64\
72#define _EVENT_SIZEOF_VOID_P 8\
73#else\
74#define _EVENT_SIZEOF_VOID_P 4\
75#endif
76	d
77}' < include/event2/event-config.h > ../include/event2/event-config.h
78	cd ..
79	rm -Rf tmp
80fi
81
82echo "Removing RCS tags..."
83cleantags $d
84
85echo "Adding RCS tags .."
86for f in $(grep -RL '\$NetBSD.*\$' $d include | grep -v CVS); do
87	case $f in
88	*.c)
89		sed -e '1i\
90/*	\$NetBSD\$	*/
91
92' -e '/#include "event2\/event-config.h"/ {
93    a\
94#include <sys/cdefs.h>\
95__RCSID("\$NetBSD\$");
96}' < "$f" > tmp$$ && mv tmp$$ "$f"
97		;;
98	*.h)
99		cat - ${f} > ${f}_tmp <<- EOF
100			/*	\$NetBSD\$	*/
101		EOF
102		mv ${f}_tmp ${f}
103		;;
104	*.[0-9])
105		cat - ${f} > ${f}_tmp <<- EOF
106			.\"	\$NetBSD\$
107			.\"
108		EOF
109		mv ${f}_tmp ${f}
110		;;
111	*)
112		echo "No RCS tag added to ${f}"
113		;;
114	esac
115done
116