spegling av
https://github.com/rspamd/rspamd.git
synced 2024-08-14 02:14:40 +02:00
30 rader
883 B
Bash
Executable File
30 rader
883 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# This script generate modules.c and modules.h for rspamd
|
|
# Used by build system
|
|
|
|
echo "#ifndef MODULES_H" > modules.h
|
|
echo "#include \"config.h\"" >> modules.h
|
|
echo "#include \"modules.h\"" > modules.c
|
|
echo "module_t modules[] = {" >> modules.c;
|
|
|
|
for arg in $@ ; do
|
|
IFS=/
|
|
for comp in ${arg} ; do
|
|
echo $comp | egrep '^[^/]+.c$' > /dev/null 2>&1
|
|
if [ $? -eq 0 ] ; then
|
|
mod=`echo $comp | sed -e 's/.c$//'`
|
|
fi
|
|
done
|
|
if [ "F${mod}" != "F" ] ; then
|
|
echo "{\"${mod}\", ${mod}_module_init, ${mod}_module_config, ${mod}_module_reconfig}," >> modules.c
|
|
echo "int ${mod}_module_init(struct config_file *cfg, struct module_ctx **ctx);" >> modules.h
|
|
echo "int ${mod}_module_config(struct config_file *cfg);" >> modules.h
|
|
echo "int ${mod}_module_reconfig(struct config_file *cfg);" >> modules.h
|
|
fi
|
|
IFS=" "
|
|
done
|
|
|
|
echo "};" >> modules.c
|
|
echo "#endif" >> modules.h
|