|
@@ -1,59 +1,6 @@
|
|
|
#! /bin/sh
|
|
#! /bin/sh
|
|
|
|
|
|
|
|
-strip_trailing_slashes() {
|
|
|
|
|
- _STRIP=$1
|
|
|
|
|
- while :
|
|
|
|
|
- do
|
|
|
|
|
- case $_STRIP in
|
|
|
|
|
- ## If the last character is a slash, remove it
|
|
|
|
|
- */) _STRIP=${_STRIP%/} ;;
|
|
|
|
|
- *) break ;;
|
|
|
|
|
- esac
|
|
|
|
|
- done
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-_basename() {
|
|
|
|
|
- fn_path=$1
|
|
|
|
|
- fn_suffix=$2
|
|
|
|
|
- case $fn_path in
|
|
|
|
|
- "") _BASENAME=; return ;;
|
|
|
|
|
- *)
|
|
|
|
|
- strip_trailing_slashes "$fn_path"
|
|
|
|
|
- case $_STRIP in
|
|
|
|
|
- "") fn_path="/" ;;
|
|
|
|
|
- *) fn_path=${_STRIP##*/} ;;
|
|
|
|
|
- esac
|
|
|
|
|
- ;;
|
|
|
|
|
- esac
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- case $fn_path in
|
|
|
|
|
- $fn_suffix | "/" ) _BASENAME="$fn_path" ;;
|
|
|
|
|
- *) _BASENAME=${fn_path%$fn_suffix} ;;
|
|
|
|
|
- esac
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-basename() {
|
|
|
|
|
- _basename "$@" && echo $_BASENAME
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-_dirname() {
|
|
|
|
|
- _DIRNAME=$1
|
|
|
|
|
- strip_trailing_slashes "$_DIRNAME"
|
|
|
|
|
- case $_STRIP in
|
|
|
|
|
- "") _DIRNAME='/'; return ;;
|
|
|
|
|
- */*) _DIRNAME="${_STRIP%/*}" ;;
|
|
|
|
|
- *) _DIRNAME='.'; return ;;
|
|
|
|
|
- esac
|
|
|
|
|
- strip_trailing_slashes "$_DIRNAME"
|
|
|
|
|
- _DIRNAME=${_STRIP:-/}
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-dirname() {
|
|
|
|
|
- _dirname "$@" && echo $_DIRNAME
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-### Export LC_ALL=C sort(1) stays consistent
|
|
|
|
|
|
|
+### Export LC_ALL=C so sort(1) stays consistent
|
|
|
export LC_ALL=C
|
|
export LC_ALL=C
|
|
|
|
|
|
|
|
if [ -z "$SED" -o -z "$CXX" ]; then
|
|
if [ -z "$SED" -o -z "$CXX" ]; then
|
|
@@ -65,19 +12,21 @@ INCLUDES="${TCL_INCLUDES} ${SSL_INCLUDES}"
|
|
|
|
|
|
|
|
mkdir -p src/.defs > /dev/null 2>&1
|
|
mkdir -p src/.defs > /dev/null 2>&1
|
|
|
TMPFILE=$(mktemp "/tmp/pre.XXXXXX")
|
|
TMPFILE=$(mktemp "/tmp/pre.XXXXXX")
|
|
|
-for file in $(grep -l DLSYM_GLOBAL src/*.c|grep -v "src/_"); do
|
|
|
|
|
- defsFile_wrappers="src/.defs/$(basename $file .c)_defs.c"
|
|
|
|
|
- defsFile_pre="src/.defs/$(basename $file .c)_pre.h"
|
|
|
|
|
- defsFile_post="src/.defs/$(basename $file .c)_post.h"
|
|
|
|
|
|
|
+files=$(grep -l DLSYM_GLOBAL src/*.c|grep -v "src/_")
|
|
|
|
|
+for file in ${files}; do
|
|
|
|
|
+ suffix=${file##*.}
|
|
|
|
|
+ basename=${file%%.*}
|
|
|
|
|
+ basename=${basename##*/}
|
|
|
|
|
+ dirname=${file%%/*}
|
|
|
|
|
|
|
|
- rm -f $defsFile_pre $defsFile_post $defsFile_wrappers > /dev/null 2>&1
|
|
|
|
|
- touch $defsFile_pre $defsFile_post $defsFile_wrappers
|
|
|
|
|
-done
|
|
|
|
|
|
|
+ defsFile_wrappers="src/.defs/${basename}_defs.${suffix}"
|
|
|
|
|
+ defsFile_pre="src/.defs/${basename}_pre.h"
|
|
|
|
|
+ defsFile_post="src/.defs/${basename}_post.h"
|
|
|
|
|
|
|
|
-for file in $(grep -l DLSYM_GLOBAL src/*.c|grep -v "src/_"); do
|
|
|
|
|
- defsFile_wrappers="src/.defs/$(basename $file .c)_defs.c"
|
|
|
|
|
- defsFile_pre="src/.defs/$(basename $file .c)_pre.h"
|
|
|
|
|
- defsFile_post="src/.defs/$(basename $file .c)_post.h"
|
|
|
|
|
|
|
+ rm -f $defsFile_pre $defsFile_post $defsFile_wrappers > /dev/null 2>&1
|
|
|
|
|
+ : > $defsFile_pre
|
|
|
|
|
+ : > $defsFile_post
|
|
|
|
|
+ : > $defsFile_wrappers
|
|
|
|
|
|
|
|
echo "extern \"C\" {" > $defsFile_wrappers
|
|
echo "extern \"C\" {" > $defsFile_wrappers
|
|
|
echo "extern \"C\" {" > $defsFile_post
|
|
echo "extern \"C\" {" > $defsFile_post
|
|
@@ -92,7 +41,7 @@ for file in $(grep -l DLSYM_GLOBAL src/*.c|grep -v "src/_"); do
|
|
|
|
|
|
|
|
for symbol in $($SED -n -e 's/.*DLSYM_GLOBAL(.*, \([^)]*\).*/\1/p' $file|sort -u); do
|
|
for symbol in $($SED -n -e 's/.*DLSYM_GLOBAL(.*, \([^)]*\).*/\1/p' $file|sort -u); do
|
|
|
# Check if the typedef is already defined ...
|
|
# Check if the typedef is already defined ...
|
|
|
- typedef=$(grep "^typedef .*(\*${symbol}_t)" $(dirname $file)/$(basename $file .c).h)
|
|
|
|
|
|
|
+ typedef=$(grep "^typedef .*(\*${symbol}_t)" ${dirname}/${basename}.h)
|
|
|
# ... if not, generate it
|
|
# ... if not, generate it
|
|
|
if [ -z "$typedef" ]; then
|
|
if [ -z "$typedef" ]; then
|
|
|
# Trim off any extern "C", trim out the variable names, cleanup whitespace issues
|
|
# Trim off any extern "C", trim out the variable names, cleanup whitespace issues
|