-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathconfigure
executable file
·152 lines (138 loc) · 4.32 KB
/
configure
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#!/bin/sh
if test "x$1" != "x"; then
# echo Found input parameter -- $1
# Now see if the parameter is --prefix=
if test "x${1#--prefix=}" != "x$1"; then
# echo "Found --prefix in input args. Setting prefix directory."
prefix=${1#--prefix=}
else
# echo "Found unrecognized parameter in input args."
# Just use the default prefix dir.
prefix=/usr/local
fi
pkglibdir=${prefix}/lib/gnucap
plugpath=${pkglibdir}:$( gnucap-conf --pkglibdir )
sysconfdir=${prefix}/etc
else
# echo "No input parameter found."
# Just use the default prefix dir
libs=$( gnucap-conf --libs )
prefix=$( gnucap-conf --exec-prefix )
pkglibdir=$( gnucap-conf --pkglibdir )
plugpath=$( gnucap-conf --pkglibdir )
sysconfdir=$( gnucap-conf --sysconfdir )
fi
gnucap_cppflags=$( gnucap-conf --cppflags )
gnucap_cxxflags="$( gnucap-conf --cxxflags ) -fPIC"
gnucap_includedir=$( gnucap-conf --includedir )
# TODO: check if gnucap-conf works, then use it.
libs=-lgnucap # $( gnucap-conf --libs )
# bug. this is not implemented consistently.
CXX=${CXX-c++}
#------------------------------------------------------------------------
srcdir=$(dirname $0)
# abs_srcdir=$(cd $srcdir; pwd)
if [ ! -f $srcdir/lang_qucs.cc ]; then
echo could not find source directory
exit 1
fi
case $srcdir in
[\\/]* | ?:[\\/]*)
top_srcdir_="$srcdir"
;;
\.)
top_srcdir_=".."
;;
*)
top_srcdir_="../$srcdir"
;;
esac
#------------------------------------------------------------------------
STATUS="$*"
NOTICE="\#THIS_FILE_IS_AUTOMATICALLY_GENERATED"
# hmm, here?
GNUCSATOR_PKGLIBDIR=${pkglibdir}/qucs
PKGINCLUDEDIR=${prefix}/include/gnucap-qucs/
fill_template() {
t=$( mktemp );
sed -e "s#@prefix@#$prefix#g" \
-e "s#@srcdir@#$srcdir#g" \
-e "s#@top_srcdir@#$top_srcdir_#g" \
-e "s#@exec_prefix@#$prefix#g" \
-e "s#@libdir@#$prefix/lib#g" \
-e "s#@NOTICE@#$NOTICE#g" \
-e "s#@PKGINCLUDEDIR@#$PKGINCLUDEDIR#g" \
-e "s#@includedir@#$\{prefix\}/include#g" \
-e "s#@datarootdir@#$\{prefix\}/share/gnucap#g" \
-e "s#@sysconfdir@#$sysconfdir#g" \
-e "s#@pkglibdir@#$pkglibdir#g" \
-e "s#@plugpath@#$plugpath#g" \
-e "s#@CXXFLAGS@#$CCFLAGS#g" \
-e "s#@libs@#$libs#g" \
-e "s#@STATUS@#$STATUS#g" \
-e "s#@CXX@#$CXX#g" < $srcdir/$1.in > $t
if diff $1 $t 2> /dev/null > /dev/null; then
rm $t;
else
mv $t $1;
fi
}
mkdir -p tests
fill_template config.h
fill_template Makefile
fill_template tests/Makefile
fill_template gnucsator.rc
SUBDIRS="include qucsator contrib tests"
#------------------------------------------------------------------------
sub_configure() {
echo sub_configure $1
m="$1/Makefile"
if [ "$top_srcdir_" = ".." ]; then
srcdir_=".";
else
srcdir_="$top_srcdir_/$1";
fi
echo '#stub. need to run configure first' > $m
echo "srcdir = $top_srcdir_/$1" >> $m
echo "prefix = $prefix" >> $m
echo '%: ; ${srcdir}/configure --prefix="${prefix}" --srcdir="${srcdir}" && ${MAKE} $@' >> $m
echo 'all: ; ${srcdir}/configure --prefix="${prefix}" --srcdir="${srcdir}" && ${MAKE}' >> $m
echo '.PHONY: all' >> $m
}
#------------------------------------------------------------------------
sub_makefile() {
m="$1/Makefile"
echo sub_makefile $m
echo \# created by $0 do not edit >$m
echo \#------------------------------------------------------------------------ >> $m
echo "top_srcdir = $top_srcdir_" >> $m
echo "srcdir = $top_srcdir_/$1" >> $m
echo "prefix = $prefix" >> $m
echo "exec_prefix = $prefix" >> $m
echo "VPATH = \${srcdir}" >> $m
echo "GNUCAP_CPPFLAGS = ${gnucap_cppflags}" >> $m
echo "GNUCAP_CXXFLAGS = ${gnucap_cxxflags}" >> $m
echo "GNUCAP_INCLUDEDIR = ${gnucap_includedir}" >> $m
echo "pkgincludedir = ${PKGINCLUDEDIR}" >> $m
echo "include \${srcdir}/MakeList" >> $m
echo "include ../Make2" >> $m
echo "include $top_srcdir_/Make3" >> $m
[ -f ${srcdir}/${1}/Make.depend ] && \
echo "include \${srcdir}/Make.depend" >> $m
}
#------------------------------------------------------------------------
for i in ${SUBDIRS}; do
mkdir -p $i;
if [ -f $srcdir/$i/configure ]; then
sub_configure $i;
else
sub_makefile $i;
fi
done
#------------------------------------------------------------------------
echo -n '# ' > config.log
date >> config.log
echo $0 "$@" >> config.log
echo prefix: $prefix
echo pkglibdir: $pkglibdir
echo plugpath: $plugpath