54 --sbindir=DIR system admin executables [EPREFIX/sbin] |
58 --sbindir=DIR system admin executables [EPREFIX/sbin] |
55 --libexecdir=DIR program executables [EPREFIX/libexec] |
59 --libexecdir=DIR program executables [EPREFIX/libexec] |
56 --sysconfdir=DIR system configuration files [PREFIX/etc] |
60 --sysconfdir=DIR system configuration files [PREFIX/etc] |
57 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] |
61 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] |
58 --localstatedir=DIR modifiable single-machine data [PREFIX/var] |
62 --localstatedir=DIR modifiable single-machine data [PREFIX/var] |
|
63 --runstatedir=DIR run-time variable data [LOCALSTATEDIR/run] |
59 --libdir=DIR object code libraries [EPREFIX/lib] |
64 --libdir=DIR object code libraries [EPREFIX/lib] |
60 --includedir=DIR C header files [PREFIX/include] |
65 --includedir=DIR C header files [PREFIX/include] |
61 --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] |
66 --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] |
62 --datadir=DIR read-only architecture-independent data [DATAROOTDIR] |
67 --datadir=DIR read-only architecture-independent data [DATAROOTDIR] |
63 --infodir=DIR info documentation [DATAROOTDIR/info] |
68 --infodir=DIR info documentation [DATAROOTDIR/info] |
64 --mandir=DIR man documentation [DATAROOTDIR/man] |
69 --mandir=DIR man documentation [DATAROOTDIR/man] |
|
70 --localedir=DIR locale-dependent data [DATAROOTDIR/locale] |
65 |
71 |
66 __EOF__ |
72 __EOF__ |
67 } |
73 } |
68 |
74 |
69 # |
75 # |
71 # |
77 # |
72 BUILD_TYPE="default" |
78 BUILD_TYPE="default" |
73 for ARG in "$@" |
79 for ARG in "$@" |
74 do |
80 do |
75 case "$ARG" in |
81 case "$ARG" in |
76 "--prefix="*) PREFIX=${ARG#--prefix=} ;; |
82 "--prefix="*) prefix=${ARG#--prefix=} ;; |
77 "--exec-prefix="*) EPREFIX=${ARG#--exec-prefix=} ;; |
83 "--exec-prefix="*) exec_prefix=${ARG#--exec-prefix=} ;; |
78 "--bindir="*) BINDIR=${ARG#----bindir=} ;; |
84 "--bindir="*) bindir=${ARG#----bindir=} ;; |
79 "--sbindir="*) SBINDIR=${ARG#--sbindir=} ;; |
85 "--sbindir="*) sbindir=${ARG#--sbindir=} ;; |
80 "--libdir="*) LIBDIR=${ARG#--libdir=} ;; |
86 "--libdir="*) libdir=${ARG#--libdir=} ;; |
81 "--libexecdir="*) LIBEXECDIR=${ARG#--libexecdir=} ;; |
87 "--libexecdir="*) libexecdir=${ARG#--libexecdir=} ;; |
82 "--datadir="*) DATADIR=${ARG#--datadir=} ;; |
88 "--datarootdir="*) datarootdir=${ARG#--datarootdir=} ;; |
83 "--sysconfdir="*) SYSCONFDIR=${ARG#--sysconfdir=} ;; |
89 "--datadir="*) datadir=${ARG#--datadir=} ;; |
84 "--sharedstatedir="*) SHAREDSTATEDIR=${ARG#--sharedstatedir=} ;; |
90 "--sysconfdir="*) sysconfdir=${ARG#--sysconfdir=} ;; |
85 "--localstatedir="*) LOCALSTATEDIR=${ARG#--localstatedir=} ;; |
91 "--sharedstatedir="*) sharedstatedir=${ARG#--sharedstatedir=} ;; |
86 "--includedir="*) INCLUDEDIR=${ARG#--includedir=} ;; |
92 "--localstatedir="*) localstatedir=${ARG#--localstatedir=} ;; |
87 "--infodir="*) INFODIR=${ARG#--infodir=} ;; |
93 "--includedir="*) includedir=${ARG#--includedir=} ;; |
88 "--mandir"*) MANDIR=${ARG#--mandir} ;; |
94 "--infodir="*) infodir=${ARG#--infodir=} ;; |
|
95 "--mandir"*) mandir=${ARG#--mandir} ;; |
|
96 "--localedir"*) localedir=${ARG#--localedir} ;; |
89 "--help"*) printhelp; abort_configure ;; |
97 "--help"*) printhelp; abort_configure ;; |
90 "--debug") BUILD_TYPE="debug" ;; |
98 "--debug") BUILD_TYPE="debug" ;; |
91 "--release") BUILD_TYPE="release" ;; |
99 "--release") BUILD_TYPE="release" ;; |
92 "-"*) echo "unknown option: $ARG"; abort_configure ;; |
100 "-"*) echo "unknown option: $ARG"; abort_configure ;; |
93 esac |
101 esac |
94 done |
102 done |
95 |
103 |
96 |
104 |
97 # set dir variables |
105 |
98 : ${EPREFIX:="$PREFIX"} |
106 # set defaults for dir variables |
99 : ${BINDIR:="$EPREFIX/bin"} |
107 : ${exec_prefix:="$prefix"} |
100 : ${SBINDIR:="$EPREFIX/sbin"} |
108 : ${bindir:='${exec_prefix}/bin'} |
101 : ${LIBDIR:="$EPREFIX/lib"} |
109 : ${sbindir:='${exec_prefix}/sbin'} |
102 : ${LIBEXECDIR:="$EPREFIX/libexec"} |
110 : ${libdir:='${exec_prefix}/lib'} |
103 : ${DATADIR:="$PREFIX/share"} |
111 : ${libexecdir:='${exec_prefix}/libexec'} |
104 : ${SYSCONFDIR:="$PREFIX/etc"} |
112 : ${datarootdir:='${prefix}/share'} |
105 : ${SHAREDSTATEDIR:="$PREFIX/com"} |
113 : ${datadir:='${datarootdir}'} |
106 : ${LOCALSTATEDIR:="$PREFIX/var"} |
114 : ${sysconfdir:='${prefix}/etc'} |
107 : ${INCLUDEDIR:="$PREFIX/include"} |
115 : ${sharedstatedir:='${prefix}/com'} |
108 : ${INFODIR:="$PREFIX/info"} |
116 : ${localstatedir:='${prefix}/var'} |
109 : ${MANDIR:="$PREFIX/man"} |
117 : ${runstatedir:='${localstatedir}/run'} |
|
118 : ${includedir:='${prefix}/include'} |
|
119 : ${infodir:='${datarootdir}/info'} |
|
120 : ${mandir:='${datarootdir}/man'} |
|
121 : ${localedir:='${datarootdir}/locale'} |
|
122 |
|
123 # check if a config.site exists and load it |
|
124 if [ -n "$CONFIG_SITE" ]; then |
|
125 # CONFIG_SITE may contain space separated file names |
|
126 for cs in $CONFIG_SITE; do |
|
127 printf "loading defaults from $cs... " |
|
128 . "$cs" |
|
129 echo ok |
|
130 done |
|
131 elif [ -f "$prefix/share/config.site" ]; then |
|
132 printf "loading site defaults... " |
|
133 . "$prefix/share/config.site" |
|
134 echo ok |
|
135 elif [ -f "$prefix/etc/config.site" ]; then |
|
136 printf "loading site defaults... " |
|
137 . "$prefix/etc/config.site" |
|
138 echo ok |
|
139 fi |
110 |
140 |
111 # Test for availability of pkg-config |
141 # Test for availability of pkg-config |
112 PKG_CONFIG=`command -v pkg-config` |
142 PKG_CONFIG=`command -v pkg-config` |
113 : ${PKG_CONFIG:="false"} |
143 : ${PKG_CONFIG:="false"} |
114 |
144 |
159 } |
189 } |
160 |
190 |
161 |
191 |
162 # generate vars.mk |
192 # generate vars.mk |
163 cat > "$TEMP_DIR/vars.mk" << __EOF__ |
193 cat > "$TEMP_DIR/vars.mk" << __EOF__ |
164 PREFIX=$PREFIX |
194 prefix="$prefix" |
165 EPREFIX=$EPREFIX |
195 exec_prefix="$exec_prefix" |
166 BINDIR=$BINDIR |
196 bindir="$bindir" |
167 SBINDIR=$SBINDIR |
197 sbindir="$sbindir" |
168 LIBDIR=$LIBDIR |
198 libdir="$libdir" |
169 LIBEXECDIR=$LIBEXECDIR |
199 libexecdir="$libexecdir" |
170 DATADIR=$DATADIR |
200 datarootdir="$datarootdir" |
171 SYSCONFDIR=$SYSCONFDIR |
201 datadir="$datadir" |
172 SHAREDSTATEDIR=$SHAREDSTATEDIR |
202 sysconfdir="$sysconfdir" |
173 LOCALSTATEDIR=$LOCALSTATEDIR |
203 sharedstatedir="$sharedstatedir" |
174 INCLUDEDIR=$INCLUDEDIR |
204 localstatedir="$localstatedir" |
175 INFODIR=$INFODIR |
205 runstatedir="$runstatedir" |
176 MANDIR=$MANDIR |
206 includedir="$includedir" |
|
207 infodir="$infodir" |
|
208 mandir="$mandir" |
|
209 localedir="$localedir" |
177 __EOF__ |
210 __EOF__ |
178 sort -u -o "$TEMP_DIR/vars.mk" "$TEMP_DIR/vars.mk" |
|
179 |
|
180 |
211 |
181 # toolchain detection utilities |
212 # toolchain detection utilities |
182 . make/toolchain.sh |
213 . make/toolchain.sh |
183 |
214 |
184 # |
215 # |
254 # |
285 # |
255 # TARGETS |
286 # TARGETS |
256 # |
287 # |
257 |
288 |
258 echo >> "$TEMP_DIR/flags.mk" |
289 echo >> "$TEMP_DIR/flags.mk" |
259 # Target: default |
290 echo "configuring target: default" |
260 echo "# flags for target default" >> "$TEMP_DIR/flags.mk" |
291 echo "# flags for target default" >> "$TEMP_DIR/flags.mk" |
261 TEMP_CFLAGS= |
292 TEMP_CFLAGS= |
262 TEMP_CXXFLAGS= |
293 TEMP_CXXFLAGS= |
263 TEMP_LDFLAGS= |
294 TEMP_LDFLAGS= |
264 |
295 |
265 |
296 |
266 # Features |
297 # Features |
267 |
298 |
268 |
299 |
269 if [ -n "${TEMP_CFLAGS}" ]; then |
300 if [ -n "${TEMP_CFLAGS}" -a -n "$lang_c" ]; then |
270 echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" |
301 echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" |
271 fi |
302 fi |
272 if [ -n "${TEMP_CXXFLAGS}" ]; then |
303 if [ -n "${TEMP_CXXFLAGS}" -a -n "$lang_cpp" ]; then |
273 echo "CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" |
304 echo "CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" |
274 fi |
305 fi |
275 if [ "$BUILD_TYPE" = "debug" ]; then |
306 if [ "$BUILD_TYPE" = "debug" ]; then |
276 echo 'CFLAGS += ${DEBUG_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" |
307 if [ -n "$lang_c" ]; then |
277 echo 'CXXFLAGS += ${DEBUG_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" |
308 echo 'CFLAGS += ${DEBUG_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" |
|
309 fi |
|
310 if [ -n "$lang_cpp" ]; then |
|
311 echo 'CXXFLAGS += ${DEBUG_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" |
|
312 fi |
278 fi |
313 fi |
279 if [ "$BUILD_TYPE" = "release" ]; then |
314 if [ "$BUILD_TYPE" = "release" ]; then |
280 echo 'CFLAGS += ${RELEASE_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" |
315 if [ -n "$lang_c" ]; then |
281 echo 'CXXFLAGS += ${RELEASE_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" |
316 echo 'CFLAGS += ${RELEASE_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" |
|
317 fi |
|
318 if [ -n "$lang_cpp" ]; then |
|
319 echo 'CXXFLAGS += ${RELEASE_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" |
|
320 fi |
282 fi |
321 fi |
283 if [ -n "${TEMP_LDFLAGS}" ]; then |
322 if [ -n "${TEMP_LDFLAGS}" ]; then |
284 echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" |
323 echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" |
285 fi |
324 fi |
286 |
325 |