5 dnl SMB_MODULE_DEFAULT(
17 dnl 7:required_subsystems
27 dnl SMB_SUBSYSTEM_ENABLE(
37 dnl 5:required_subsystems
45 dnl SMB_EXT_LIB_ENABLE(
50 dnl SMB_EXT_LIB_FROM_PKGCONFIG(
63 dnl SMB_LIBRARY_ENABLE(
75 dnl 7:required_subsystems
83 dnl SMB_BINARY_ENABLE(
94 dnl 6:required_subsystems
120 dnl #######################################################
121 dnl ### And now the implementation ###
122 dnl #######################################################
124 dnl SMB_MODULE_DEFAULT(
128 AC_DEFUN([SMB_MODULE_DEFAULT],
130 [SMB_MODULE_DEFAULT_][$1]="$2"
137 dnl 4:init_obj_files,
140 dnl 7:required_subsystems
142 AC_DEFUN([SMB_MODULE],
145 if test -z "$[SMB_MODULE_DEFAULT_][$1]"; then
146 [SMB_MODULE_DEFAULT_][$1]=$3
149 if test "$[SMB_MODULE_][$1]"; then
150 [SMB_MODULE_][$1]=$[SMB_MODULE_][$1]
151 elif test "$[SMB_MODULE_]translit([$2], [A-Z], [a-z])" -a x"$[SMB_MODULE_DEFAULT_][$1]" != xNOT; then
152 [SMB_MODULE_][$1]=$[SMB_MODULE_]translit([$2], [A-Z], [a-z])
154 [SMB_MODULE_][$1]="DEFAULT";
157 SMB_INFO_MODULES="$SMB_INFO_MODULES
158 ###################################
160 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{NAME} = \"$1\";
161 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{SUBSYSTEM} = \"$2\";
162 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{DEFAULT_BUILD} = \"$[SMB_MODULE_DEFAULT_][$1]\";
163 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{INIT_OBJ_FILES}} = str2array(\"$4\");
164 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{ADD_OBJ_FILES}} = str2array(\"$5\");
165 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{REQUIRED_LIBRARIES}} = str2array(\"$6\");
166 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{REQUIRED_SUBSYSTEMS}} = str2array(\"$7\");
168 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{CHOSEN_BUILD} = \"$[SMB_MODULE_][$1]\";
170 ###################################
180 AC_DEFUN([SMB_MODULE_MK],
183 if test -z "$[SMB_MODULE_DEFAULT_][$1]"; then
184 [SMB_MODULE_DEFAULT_][$1]=$3
187 if test "$[SMB_MODULE_][$1]"; then
188 [SMB_MODULE_][$1]=$[SMB_MODULE_][$1]
189 elif test "$[SMB_MODULE_]translit([$2], [A-Z], [a-z])" -a x"$[SMB_MODULE_DEFAULT_][$1]" != xNOT; then
190 [SMB_MODULE_][$1]=$[SMB_MODULE_]translit([$2], [A-Z], [a-z])
192 [SMB_MODULE_][$1]="DEFAULT";
195 SMB_INFO_MODULES="$SMB_INFO_MODULES
196 ###################################
198 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{NAME} = \"$1\";
199 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{SUBSYSTEM} = \"$2\";
200 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{DEFAULT_BUILD} = \"$[SMB_MODULE_DEFAULT_][$1]\";
201 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{INIT_OBJ_FILES}} = module_get_array(\"$4\", \"$1\", \"INIT_OBJ_FILES\");
202 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{ADD_OBJ_FILES}} = module_get_array(\"$4\", \"$1\", \"ADD_OBJ_FILES\");
203 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{REQUIRED_LIBRARIES}} = module_get_array(\"$4\", \"$1\", \"REQUIRED_LIBRARIES\");
204 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{REQUIRED_SUBSYSTEMS}} = module_get_array(\"$4\", \"$1\", \"REQUIRED_SUBSYSTEMS\");
206 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{CHOSEN_BUILD} = \"$[SMB_MODULE_][$1]\";
208 ###################################
212 dnl SMB_SUBSYSTEM_ENABLE(
216 AC_DEFUN([SMB_SUBSYSTEM_ENABLE],
218 [SMB_SUBSYSTEM_ENABLE_][$1]="$2"
223 dnl 2:init_obj_files,
226 dnl 5:required_subsystems
228 AC_DEFUN([SMB_SUBSYSTEM],
231 if test -z "$[SMB_SUBSYSTEM_ENABLE_][$1]"; then
232 [SMB_SUBSYSTEM_ENABLE_][$1]="YES";
235 SMB_INFO_SUBSYSTEMS="$SMB_INFO_SUBSYSTEMS
236 ###################################
238 \$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{NAME} = \"$1\";
239 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{INIT_OBJ_FILES}} = str2array(\"$2\");
240 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{ADD_OBJ_FILES}} = str2array(\"$3\");
241 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{REQUIRED_LIBRARIES}} = str2array(\"$4\");
242 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{REQUIRED_SUBSYSTEMS}} = str2array(\"$5\");
244 \$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{ENABLE} = \"$[SMB_SUBSYSTEM_ENABLE_][$1]\";
246 ###################################
250 dnl SMB_SUBSYSTEM_MK(
254 AC_DEFUN([SMB_SUBSYSTEM_MK],
257 if test -z "$[SMB_SUBSYSTEM_ENABLE_][$1]"; then
258 [SMB_SUBSYSTEM_ENABLE_][$1]="YES";
261 SMB_INFO_SUBSYSTEMS="$SMB_INFO_SUBSYSTEMS
262 ###################################
264 \$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{NAME} = \"$1\";
265 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{INIT_OBJ_FILES}} = subsystem_get_array(\"$2\", \"$1\", \"INIT_OBJ_FILES\");
266 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{ADD_OBJ_FILES}} = subsystem_get_array(\"$2\", \"$1\", \"ADD_OBJ_FILES\");
267 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{REQUIRED_LIBRARIES}} = subsystem_get_array(\"$2\", \"$1\", \"REQUIRED_LIBRARIES\");
268 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{REQUIRED_SUBSYSTEMS}} = subsystem_get_array(\"$2\", \"$1\", \"REQUIRED_SUBSYSTEMS\");
270 \$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{ENABLE} = \"$[SMB_SUBSYSTEM_ENABLE_][$1]\";
272 ###################################
276 dnl SMB_EXT_LIB_ENABLE(
280 AC_DEFUN([SMB_EXT_LIB_ENABLE],
282 [SMB_EXT_LIB_ENABLE_][$1]="$2"
285 dnl SMB_EXT_LIB_FROM_PKGCONFIG(
287 dnl 2:pkg-config name
289 AC_DEFUN([SMB_EXT_LIB_FROM_PKGCONFIG],
291 dnl Figure out the correct variables and call SMB_EXT_LIB()
293 if test -z "$PKG_CONFIG"; then
294 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
297 if test "$PKG_CONFIG" = "no" ; then
298 echo "*** The pkg-config script could not be found. Make sure it is"
299 echo "*** in your path, or set the PKG_CONFIG environment variable"
300 echo "*** to the full path to pkg-config."
301 echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
303 if $PKG_CONFIG --atleast-pkgconfig-version 0.9.0; then
304 AC_MSG_CHECKING(for $2)
306 if $PKG_CONFIG --exists "$2" ; then
309 SMB_EXT_LIB_ENABLE($1, YES)
311 [`$PKG_CONFIG --libs-only-l $2`],
312 [`$PKG_CONFIG --cflags-only-other $2`],
313 [`$PKG_CONFIG --cflags-only-I $2`],
314 [`$PKG_CONFIG --libs-only-other $2` `$PKG_CONFIG --libs-only-L $2`])
317 CFLAGS="$CFLAGS `$PKG_CONFIG --cflags $2`"
320 $PKG_CONFIG --errors-to-stdout --print-errors $2
323 echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
324 echo "*** See http://www.freedesktop.org/software/pkgconfig"
336 AC_DEFUN([SMB_EXT_LIB],
339 if test -z "$[SMB_EXT_LIB_ENABLE_][$1]"; then
340 [SMB_EXT_LIB_ENABLE_][$1]="NO";
343 SMB_INFO_EXT_LIBS="$SMB_INFO_EXT_LIBS
344 ###################################
346 \$SMB_BUILD_CTX->{INPUT}{EXT_LIBS}{$1}{NAME} = \"$1\";
347 @{\$SMB_BUILD_CTX->{INPUT}{EXT_LIBS}{$1}{LIBS}} = str2array(\"$2\");
348 @{\$SMB_BUILD_CTX->{INPUT}{EXT_LIBS}{$1}{CFLAGS}} = str2array(\"$3\");
349 @{\$SMB_BUILD_CTX->{INPUT}{EXT_LIBS}{$1}{CPPFLAGS}} = str2array(\"$4\");
350 @{\$SMB_BUILD_CTX->{INPUT}{EXT_LIBS}{$1}{LDFLAGS}} = str2array(\"$5\");
352 \$SMB_BUILD_CTX->{INPUT}{EXT_LIBS}{$1}{ENABLE} = \"$[SMB_EXT_LIB_ENABLE_][$1]\";
354 ###################################
359 dnl SMB_LIBRARY_ENABLE(
363 AC_DEFUN([SMB_LIBRARY_ENABLE],
365 [SMB_LIBRARY_ENABLE_][$1]="$2"
372 dnl 4:release_version
375 dnl 7:required_subsystems
377 AC_DEFUN([SMB_LIBRARY],
380 if test -z "$[SMB_LIBRARY_ENABLE_][$1]"; then
381 [SMB_LIBRARY_ENABLE_][$1]="NO";
384 SMB_INFO_LIBRARIES="$SMB_INFO_LIBRARIES
385 ###################################
387 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{NAME} = \"$1\";
388 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{MAJOR_VERSION} = \"$2\";
389 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{MINOR_VERSION} = \"$3\";
390 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{RELEASE_VERSION} = \"$4\";
391 @{\$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{OBJ_FILES}} = str2array(\"$5\");
392 @{\$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{REQUIRED_LIBRARIES}} = str2array(\"$6\");
393 @{\$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{REQUIRED_SUBSYSTEMS}} = str2array(\"$7\");
395 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{ENABLE} = \"$[SMB_LIBRARY_ENABLE_][$1]\";
397 ###################################
405 AC_DEFUN([SMB_LIBRARY_MK],
408 if test -z "$[SMB_LIBRARY_ENABLE_][$1]"; then
409 [SMB_LIBRARY_ENABLE_][$1]="NO";
412 SMB_INFO_LIBRARIES="$SMB_INFO_LIBRARIES
413 ###################################
415 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{NAME} = \"$1\";
416 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{MAJOR_VERSION} = library_get_var(\"$2\", \"$1\", \"MAJOR_VERSION\");
417 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{MINOR_VERSION} = library_get_var(\"$2\", \"$1\", \"MINOR_VERSION\");
418 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{RELEASE_VERSION} = library_get_var(\"$2\", \"$1\", \"RELEASE_VERSION\");
419 @{\$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{OBJ_FILES}} = library_get_array(\"$2\", \"$1\", \"OBJ_FILES\");
420 @{\$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{REQUIRED_LIBRARIES}} = library_get_array(\"$2\", \"$1\", \"REQUIRED_LIBRARIES\");
421 @{\$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{REQUIRED_SUBSYSTEMS}} = library_get_array(\"$2\", \"$1\", \"REQUIRED_SUBSYSTEMS\");
423 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{ENABLE} = \"$[SMB_LIBRARY_ENABLE_][$1]\";
425 ###################################
429 dnl SMB_BINARY_ENABLE(
433 AC_DEFUN([SMB_BINARY_ENABLE],
435 [SMB_BINARY_ENABLE_][$1]="$2";
444 dnl 6:required_subsystems
446 AC_DEFUN([SMB_BINARY],
449 if test -z "$[SMB_BINARY_ENABLE_][$1]"; then
450 [SMB_BINARY_ENABLE_][$1]="YES";
453 SMB_INFO_BINARIES="$SMB_INFO_BINARIES
454 ###################################
456 \$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{NAME} = \"$1\";
457 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{BUILD_TARGETS}} = str2array(\"$2\");
458 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{INSTALL_PATH}} = str2array(\"$3\");
459 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{OBJ_FILES}} = str2array(\"$4\");
460 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{REQUIRED_LIBRARIES}} = str2array(\"$5\");
461 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{REQUIRED_SUBSYSTEMS}} = str2array(\"$6\");
463 \$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{ENABLE} = \"$[SMB_BINARY_ENABLE_][$1]\";
465 ###################################
473 AC_DEFUN([SMB_BINARY_MK],
476 if test -z "$[SMB_BINARY_ENABLE_][$1]"; then
477 [SMB_BINARY_ENABLE_][$1]="YES";
480 SMB_INFO_BINARIES="$SMB_INFO_BINARIES
481 ###################################
483 \$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{NAME} = \"$1\";
484 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{BUILD_TARGETS}} = binary_get_array(\"$2\", \"$1\", \"BUILD_TARGETS\");
485 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{INSTALL_PATH}} = binary_get_array(\"$2\", \"$1\", \"INSTALL_PATH\");
486 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{OBJ_FILES}} = binary_get_array(\"$2\", \"$1\", \"OBJ_FILES\");
487 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{REQUIRED_LIBRARIES}} = binary_get_array(\"$2\", \"$1\",\"REQUIRED_LIBRARIES\");
488 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{REQUIRED_SUBSYSTEMS}} = binary_get_array(\"$2\", \"$1\",\"REQUIRED_SUBSYSTEMS\");
490 \$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{ENABLE} = \"$[SMB_BINARY_ENABLE_][$1]\";
492 ###################################
500 AC_DEFUN([SMB_MAKE_TARGET],
502 echo "#SMB_MAKE_TARGET TOTO"
509 AC_DEFUN([SMB_INCLUDE_M4],
511 ###################################
516 ###################################
522 AC_DEFUN([SMB_ENV_CHECK],
530 AC_DEFUN([SMB_AC_OUTPUT],
532 AC_OUTPUT([$1],[],[_SMB_BUILD_CORE([[$1][.in]])])