blob: df40370a5cfd15f33f39412f267b51de3229d502 [file] [log] [blame]
osdl.net!shemminger449bf1f2004-06-25 21:14:22 +00001#! /bin/bash
2# This is not an autconf generated configure
3#
osdl.net!shemminger4b1bbd92004-08-09 16:35:28 +00004INCLUDE=${1:-"$PWD/include"}
osdl.net!shemminger449bf1f2004-06-25 21:14:22 +00005
6echo "# Generated config based on" $INCLUDE >Config
7
osdl.net!shemmingerb9cb1c92004-07-30 22:27:50 +00008echo "TC schedulers"
osdl.net!shemminger449bf1f2004-06-25 21:14:22 +00009
osdl.net!shemmingerb9cb1c92004-07-30 22:27:50 +000010echo -n " ATM "
osdl.net!shemmingerc830d772004-07-02 17:47:53 +000011cat >/tmp/atmtest.c <<EOF
12#include <atm.h>
13int main(int argc, char **argv) {
14 struct atm_qos qos;
15 (void) text2qos("aal5,ubr:sdu=9180,rx:none",&qos,0);
16 return 0;
17}
18EOF
osdl.net!shemminger2979d522004-07-30 20:24:59 +000019gcc -I$INCLUDE -o /tmp/atmtest /tmp/atmtest.c -latm >/dev/null 2>&1
osdl.net!shemmingerc830d772004-07-02 17:47:53 +000020if [ $? -eq 0 ]
osdl.net!shemminger449bf1f2004-06-25 21:14:22 +000021then
osdl.net!shemmingerc830d772004-07-02 17:47:53 +000022 echo "TC_CONFIG_ATM:=y" >>Config
osdl.net!shemmingerb9cb1c92004-07-30 22:27:50 +000023 echo yes
osdl.net!shemminger449bf1f2004-06-25 21:14:22 +000024else
osdl.net!shemmingerb9cb1c92004-07-30 22:27:50 +000025 echo no
osdl.net!shemminger449bf1f2004-06-25 21:14:22 +000026fi
osdl.net!shemminger2979d522004-07-30 20:24:59 +000027rm -f /tmp/atmtest.c /tmp/atmtest
Jamal Hadi Salim63c7d262009-02-07 08:19:20 -050028
29echo -n " IPT "
30
31#check if we need dont our internal header ..
32cat >/tmp/ipttest.c <<EOF
33#include <xtables.h>
34char *lib_dir;
35unsigned int global_option_offset = 0;
36const char *program_version = XTABLES_VERSION;
37const char *program_name = "tc-ipt";
38struct afinfo afinfo = {
39 .libprefix = "libxt_",
40};
41
42void exit_error(enum exittype status, const char *msg, ...)
43{
44}
45
46int main(int argc, char **argv) {
47
48 return 0;
49}
50
51EOF
52gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
53
54if [ $? -eq 0 ]
55then
56 echo "TC_CONFIG_XT:=y" >>Config
57 echo "using xtables seems no need for internal.h"
58else
59 echo "failed test 2"
60fi
61
62#check if we need our own internal.h
63cat >/tmp/ipttest.c <<EOF
64#include <xtables.h>
65#include "xt-internal.h"
66char *lib_dir;
67unsigned int global_option_offset = 0;
68const char *program_version = XTABLES_VERSION;
69const char *program_name = "tc-ipt";
70struct afinfo afinfo = {
71 .libprefix = "libxt_",
72};
73
74void exit_error(enum exittype status, const char *msg, ...)
75{
76}
77
78int main(int argc, char **argv) {
79
80 return 0;
81}
82
83EOF
84gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
85
86if [ $? -eq 0 ]
87then
88 echo "using xtables instead of iptables (need for internal.h)"
89 echo "TC_CONFIG_XT_H:=y" >>Config
90
91else
92 echo "failed test 3 using iptables"
93fi
94rm -f /tmp/ipttest.c /tmp/ipttest