📄 s_include
字号:
#!/bin/sh -# $Id: s_include,v 1.19 2002/03/27 04:31:50 bostic Exp $## Build the automatically generated function prototype files.msgc="/* DO NOT EDIT: automatically built by dist/s_include. */". ./RELEASEhead(){ defonly=0 while : do case "$1" in space) echo ""; shift;; defonly) defonly=1; shift;; *) name="$1"; break;; esac done echo "$msgc" echo "#ifndef $name" echo "#define $name" echo "" if [ $defonly -eq 0 ]; then echo "#if defined(__cplusplus)" echo "extern \"C\" {" echo "#endif" echo "" fi}tail(){ defonly=0 while : do case "$1" in defonly) defonly=1; shift;; *) name="$1"; break;; esac done echo "" if [ $defonly -eq 0 ]; then echo "#if defined(__cplusplus)" echo "}" echo "#endif" fi echo "#endif /* !$name */"}# We are building several files:# 1 external #define file# 1 external prototype file# 1 internal #define file# N internal prototype filese_dfile=/tmp/__db_c.$$e_pfile=/tmp/__db_a.$$i_dfile=/tmp/__db_d.$$i_pfile=/tmp/__db_b.$$trap 'rm -f $e_dfile $e_pfile $i_dfile $i_pfile; exit 0' 0 1 2 3 13 15head defonly space _DB_EXT_DEF_IN_ > $e_dfilehead space _DB_EXT_PROT_IN_ > $e_pfilehead defonly _DB_INT_DEF_IN_ > $i_dfile# Process the standard directories, creating per-directory prototype# files and adding to the external prototype and #define files.for i in db btree clib common dbreg env fileops hash hmac \ lock log mp mutex os qam rep rpc_client rpc_server tcl txn xa; do head "_${i}_ext_h_" > $i_pfile f="../$i/*.c" [ $i = os ] && f="$f ../os_win32/*.c" [ $i = rpc_server ] && f="../$i/c/*.c" [ $i = crypto ] && f="../$i/*.c ../$i/*/*.c" awk -f gen_inc.awk \ -v db_version_unique_name=$DB_VERSION_UNIQUE_NAME \ -v e_dfile=$e_dfile \ -v e_pfile=$e_pfile \ -v i_dfile=$i_dfile \ -v i_pfile=$i_pfile $f tail "_${i}_ext_h_" >> $i_pfile f=../dbinc_auto/${i}_ext.h cmp $i_pfile $f > /dev/null 2>&1 || (echo "Building $f" && rm -f $f && cp $i_pfile $f && chmod 444 $f)done# Process directories which only add to the external prototype and #define# files.for i in dbm hsearch; do f="../$i/*.c" awk -f gen_inc.awk \ -v db_version_unique_name=$DB_VERSION_UNIQUE_NAME \ -v e_dfile=$e_dfile \ -v e_pfile=$e_pfile \ -v i_dfile="" \ -v i_pfile="" $fdone# RPC uses rpcgen to generate a header file; post-process it to add more# interfaces to the internal #define file.sed -e '/extern bool_t xdr___/{' \ -e 's/.* //' \ -e 's/();//' \ -e 's/.*/#define & &@DB_VERSION_UNIQUE_NAME@/' \ -e 'p' \ -e '}' \ -e d < ../dbinc_auto/db_server.h >> $i_dfile# There are a few globals in DB -- add them to the external/internal# #define files.(echo "#define __db_global_values __db_global_values@DB_VERSION_UNIQUE_NAME@"; echo "#define __db_jump __db_jump@DB_VERSION_UNIQUE_NAME@") >> $i_dfile(echo "#define db_xa_switch db_xa_switch@DB_VERSION_UNIQUE_NAME@") >> $e_dfile# Wrap up the external #defines/prototypes, and internal #defines.tail defonly _DB_EXT_DEF_IN_ >> $e_dfilef=../dbinc_auto/ext_def.incmp $e_dfile $f > /dev/null 2>&1 || (echo "Building $f" && rm -f $f && cp $e_dfile $f && chmod 444 $f)tail _DB_EXT_PROT_IN_ >> $e_pfilef=../dbinc_auto/ext_prot.incmp $e_pfile $f > /dev/null 2>&1 || (echo "Building $f" && rm -f $f && cp $e_pfile $f && chmod 444 $f)tail defonly _DB_INT_DEF_IN_ >> $i_dfilef=../dbinc_auto/int_def.incmp $i_dfile $f > /dev/null 2>&1 || (echo "Building $f" && rm -f $f && cp $i_dfile $f && chmod 444 $f)# DB185 compatibility support.head space defonly _DB_EXT_185_DEF_IN_ > $e_dfilehead space _DB_EXT_185_PROT_IN_ > $e_pfilef="../db185/*.c"awk -f gen_inc.awk \ -v db_version_unique_name=$DB_VERSION_UNIQUE_NAME \ -v e_dfile=$e_dfile \ -v e_pfile=$e_pfile \ -v i_dfile="" \ -v i_pfile="" $ftail defonly _DB_EXT_185_DEF_IN_ >> $e_dfilef=../dbinc_auto/ext_185_def.incmp $e_dfile $f > /dev/null 2>&1 || (echo "Building $f" && rm -f $f && cp $e_dfile $f && chmod 444 $f)tail _DB_EXT_185_PROT_IN_ >> $e_pfilef=../dbinc_auto/ext_185_prot.incmp $e_pfile $f > /dev/null 2>&1 || (echo "Building $f" && rm -f $f && cp $e_pfile $f && chmod 444 $f)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -