| #! /bin/bash |
| # This is not an autconf generated configure |
| # |
| INCLUDE=${1:-"$PWD/include"} |
| |
| echo "# Generated config based on" $INCLUDE >Config |
| |
| echo "TC schedulers" |
| |
| echo -n " ATM " |
| cat >/tmp/atmtest.c <<EOF |
| #include <atm.h> |
| int main(int argc, char **argv) { |
| struct atm_qos qos; |
| (void) text2qos("aal5,ubr:sdu=9180,rx:none",&qos,0); |
| return 0; |
| } |
| EOF |
| gcc -I$INCLUDE -o /tmp/atmtest /tmp/atmtest.c -latm >/dev/null 2>&1 |
| if [ $? -eq 0 ] |
| then |
| echo "TC_CONFIG_ATM:=y" >>Config |
| echo yes |
| else |
| echo no |
| fi |
| rm -f /tmp/atmtest.c /tmp/atmtest |
| |
| echo -n " IPT " |
| |
| #check if we need dont our internal header .. |
| cat >/tmp/ipttest.c <<EOF |
| #include <xtables.h> |
| char *lib_dir; |
| unsigned int global_option_offset = 0; |
| const char *program_version = XTABLES_VERSION; |
| const char *program_name = "tc-ipt"; |
| struct afinfo afinfo = { |
| .libprefix = "libxt_", |
| }; |
| |
| void exit_error(enum exittype status, const char *msg, ...) |
| { |
| } |
| |
| int main(int argc, char **argv) { |
| |
| return 0; |
| } |
| |
| EOF |
| gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1 |
| |
| if [ $? -eq 0 ] |
| then |
| echo "TC_CONFIG_XT:=y" >>Config |
| echo "using xtables seems no need for internal.h" |
| else |
| echo "failed test 2" |
| fi |
| |
| #check if we need our own internal.h |
| cat >/tmp/ipttest.c <<EOF |
| #include <xtables.h> |
| #include "xt-internal.h" |
| char *lib_dir; |
| unsigned int global_option_offset = 0; |
| const char *program_version = XTABLES_VERSION; |
| const char *program_name = "tc-ipt"; |
| struct afinfo afinfo = { |
| .libprefix = "libxt_", |
| }; |
| |
| void exit_error(enum exittype status, const char *msg, ...) |
| { |
| } |
| |
| int main(int argc, char **argv) { |
| |
| return 0; |
| } |
| |
| EOF |
| gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1 |
| |
| if [ $? -eq 0 ] |
| then |
| echo "using xtables instead of iptables (need for internal.h)" |
| echo "TC_CONFIG_XT_H:=y" >>Config |
| |
| else |
| echo "failed test 3 using iptables" |
| fi |
| rm -f /tmp/ipttest.c /tmp/ipttest |