configure revision 14743a78eb774d61fd952c4a4856346ced79b9fb
1#! /bin/bash 2# This is not an autconf generated configure 3# 4INCLUDE=${1:-"$PWD/include"} 5 6check_atm() 7{ 8cat >/tmp/atmtest.c <<EOF 9#include <atm.h> 10int main(int argc, char **argv) { 11 struct atm_qos qos; 12 (void) text2qos("aal5,ubr:sdu=9180,rx:none",&qos,0); 13 return 0; 14} 15EOF 16gcc -I$INCLUDE -o /tmp/atmtest /tmp/atmtest.c -latm >/dev/null 2>&1 17if [ $? -eq 0 ] 18then 19 echo "TC_CONFIG_ATM:=y" >>Config 20 echo yes 21else 22 echo no 23fi 24rm -f /tmp/atmtest.c /tmp/atmtest 25} 26 27check_xt() 28{ 29#check if we have xtables from iptables >= 1.4.5. 30cat >/tmp/ipttest.c <<EOF 31#include <xtables.h> 32#include <linux/netfilter.h> 33static struct xtables_globals test_globals = { 34 .option_offset = 0, 35 .program_name = "tc-ipt", 36 .program_version = XTABLES_VERSION, 37 .orig_opts = NULL, 38 .opts = NULL, 39 .exit_err = NULL, 40}; 41 42int main(int argc, char **argv) 43{ 44 xtables_init_all(&test_globals, NFPROTO_IPV4); 45 return 0; 46} 47 48EOF 49 50if gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl -lxtables >/dev/null 2>&1 51then 52 echo "TC_CONFIG_XT:=y" >>Config 53 echo "using xtables" 54fi 55rm -f /tmp/ipttest.c /tmp/ipttest 56} 57 58check_xt_old() 59{ 60# bail if previous XT checks has already succeded. 61if grep TC_CONFIG_XT Config > /dev/null 62then 63 return 64fi 65 66#check if we need dont our internal header .. 67cat >/tmp/ipttest.c <<EOF 68#include <xtables.h> 69char *lib_dir; 70unsigned int global_option_offset = 0; 71const char *program_version = XTABLES_VERSION; 72const char *program_name = "tc-ipt"; 73struct afinfo afinfo = { 74 .libprefix = "libxt_", 75}; 76 77void exit_error(enum exittype status, const char *msg, ...) 78{ 79} 80 81int main(int argc, char **argv) { 82 83 return 0; 84} 85 86EOF 87gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1 88 89if [ $? -eq 0 ] 90then 91 echo "TC_CONFIG_XT_OLD:=y" >>Config 92 echo "using old xtables (no need for xt-internal.h)" 93fi 94rm -f /tmp/ipttest.c /tmp/ipttest 95} 96 97check_xt_old_internal_h() 98{ 99# bail if previous XT checks has already succeded. 100if grep TC_CONFIG_XT Config > /dev/null 101then 102 return 103fi 104 105#check if we need our own internal.h 106cat >/tmp/ipttest.c <<EOF 107#include <xtables.h> 108#include "xt-internal.h" 109char *lib_dir; 110unsigned int global_option_offset = 0; 111const char *program_version = XTABLES_VERSION; 112const char *program_name = "tc-ipt"; 113struct afinfo afinfo = { 114 .libprefix = "libxt_", 115}; 116 117void exit_error(enum exittype status, const char *msg, ...) 118{ 119} 120 121int main(int argc, char **argv) { 122 123 return 0; 124} 125 126EOF 127gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1 128 129if [ $? -eq 0 ] 130then 131 echo "using old xtables with xt-internal.h" 132 echo "TC_CONFIG_XT_OLD_H:=y" >>Config 133fi 134rm -f /tmp/ipttest.c /tmp/ipttest 135} 136 137check_ipt() 138{ 139 if ! grep TC_CONFIG_XT Config > /dev/null 140 then 141 echo "using iptables" 142 fi 143} 144 145echo "# Generated config based on" $INCLUDE >Config 146 147echo "TC schedulers" 148 149echo -n " ATM " 150check_atm 151 152echo -n " IPT " 153check_xt 154check_xt_old 155check_xt_old_internal_h 156check_ipt 157 158