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(
58 dnl SMB_LIBRARY_ENABLE(
67 dnl 4:required_subsystems
75 dnl SMB_BINARY_ENABLE(
86 dnl 6:required_subsystems
103 dnl #######################################################
104 dnl ### And now the implementation ###
105 dnl #######################################################
107 dnl SMB_MODULE_DEFAULT(
111 AC_DEFUN([SMB_MODULE_DEFAULT],
113 [SMB_MODULE_DEFAULT_][$1]="$2"
120 dnl 4:init_obj_files,
123 dnl 7:required_subsystems
125 AC_DEFUN([SMB_MODULE],
128 if test -z "$[SMB_MODULE_DEFAULT_][$1]"; then
129 [SMB_MODULE_DEFAULT_][$1]=$3
132 if test "$[SMB_MODULE_][$1]"; then
133 [SMB_MODULE_][$1]=$[SMB_MODULE_][$1]
134 elif test "$[SMB_MODULE_]translit([$2], [A-Z], [a-z])" -a x"$[SMB_MODULE_DEFAULT_][$1]" != xNOT; then
135 [SMB_MODULE_][$1]=$[SMB_MODULE_]translit([$2], [A-Z], [a-z])
137 [SMB_MODULE_][$1]="DEFAULT";
140 SMB_INFO_MODULES="$SMB_INFO_MODULES
141 ###################################
143 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{NAME} = \"$1\";
144 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{SUBSYSTEM} = \"$2\";
145 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{DEFAULT_BUILD} = \"$[SMB_MODULE_DEFAULT_][$1]\";
146 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{INIT_OBJ_FILES}} = str2array(\"$4\");
147 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{ADD_OBJ_FILES}} = str2array(\"$5\");
148 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{REQUIRED_LIBRARIES}} = str2array(\"$6\");
149 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{REQUIRED_SUBSYSTEMS}} = str2array(\"$7\");
151 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{CHOSEN_BUILD} = \"$[SMB_MODULE_][$1]\";
153 ###################################
163 AC_DEFUN([SMB_MODULE_MK],
166 if test -z "$[SMB_MODULE_DEFAULT_][$1]"; then
167 [SMB_MODULE_DEFAULT_][$1]=$3
170 if test "$[SMB_MODULE_][$1]"; then
171 [SMB_MODULE_][$1]=$[SMB_MODULE_][$1]
172 elif test "$[SMB_MODULE_]translit([$2], [A-Z], [a-z])" -a x"$[SMB_MODULE_DEFAULT_][$1]" != xNOT; then
173 [SMB_MODULE_][$1]=$[SMB_MODULE_]translit([$2], [A-Z], [a-z])
175 [SMB_MODULE_][$1]="DEFAULT";
178 SMB_INFO_MODULES="$SMB_INFO_MODULES
179 ###################################
181 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{NAME} = \"$1\";
182 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{SUBSYSTEM} = \"$2\";
183 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{DEFAULT_BUILD} = \"$[SMB_MODULE_DEFAULT_][$1]\";
184 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{INIT_OBJ_FILES}} = module_get_array(\"$4\", \"$1\", \"INIT_OBJ_FILES\");
185 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{ADD_OBJ_FILES}} = module_get_array(\"$4\", \"$1\", \"ADD_OBJ_FILES\");
186 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{REQUIRED_LIBRARIES}} = module_get_array(\"$4\", \"$1\", \"REQUIRED_LIBRARIES\");
187 @{\$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{REQUIRED_SUBSYSTEMS}} = module_get_array(\"$4\", \"$1\", \"REQUIRED_SUBSYSTEMS\");
189 \$SMB_BUILD_CTX->{INPUT}{MODULES}{$1}{CHOSEN_BUILD} = \"$[SMB_MODULE_][$1]\";
191 ###################################
195 dnl SMB_SUBSYSTEM_ENABLE(
199 AC_DEFUN([SMB_SUBSYSTEM_ENABLE],
201 [SMB_SUBSYSTEM_ENABLE_][$1]="$2"
206 dnl 2:init_obj_files,
209 dnl 5:required_subsystems
211 AC_DEFUN([SMB_SUBSYSTEM],
214 if test -z "$[SMB_SUBSYSTEM_ENABLE_][$1]"; then
215 [SMB_SUBSYSTEM_ENABLE_][$1]="YES";
218 SMB_INFO_SUBSYSTEMS="$SMB_INFO_SUBSYSTEMS
219 ###################################
221 \$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{NAME} = \"$1\";
222 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{INIT_OBJ_FILES}} = str2array(\"$2\");
223 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{ADD_OBJ_FILES}} = str2array(\"$3\");
224 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{REQUIRED_LIBRARIES}} = str2array(\"$4\");
225 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{REQUIRED_SUBSYSTEMS}} = str2array(\"$5\");
227 \$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{ENABLE} = \"$[SMB_SUBSYSTEM_ENABLE_][$1]\";
229 ###################################
233 dnl SMB_SUBSYSTEM_MK(
237 AC_DEFUN([SMB_SUBSYSTEM_MK],
240 if test -z "$[SMB_SUBSYSTEM_ENABLE_][$1]"; then
241 [SMB_SUBSYSTEM_ENABLE_][$1]="YES";
244 SMB_INFO_SUBSYSTEMS="$SMB_INFO_SUBSYSTEMS
245 ###################################
247 \$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{NAME} = \"$1\";
248 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{INIT_OBJ_FILES}} = subsystem_get_array(\"$2\", \"$1\", \"INIT_OBJ_FILES\");
249 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{ADD_OBJ_FILES}} = subsystem_get_array(\"$2\", \"$1\", \"ADD_OBJ_FILES\");
250 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{REQUIRED_LIBRARIES}} = subsystem_get_array(\"$2\", \"$1\", \"REQUIRED_LIBRARIES\");
251 @{\$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{REQUIRED_SUBSYSTEMS}} = subsystem_get_array(\"$2\", \"$1\", \"REQUIRED_SUBSYSTEMS\");
253 \$SMB_BUILD_CTX->{INPUT}{SUBSYSTEMS}{$1}{ENABLE} = \"$[SMB_SUBSYSTEM_ENABLE_][$1]\";
255 ###################################
259 dnl SMB_EXT_LIB_ENABLE(
263 AC_DEFUN([SMB_EXT_LIB_ENABLE],
265 [SMB_EXT_LIB_ENABLE_][$1]="$2"
275 AC_DEFUN([SMB_EXT_LIB],
278 if test -z "$[SMB_EXT_LIB_ENABLE_][$1]"; then
279 [SMB_EXT_LIB_ENABLE_][$1]="NO";
282 SMB_INFO_EXT_LIBS="$SMB_INFO_EXT_LIBS
283 ###################################
285 \$SMB_BUILD_CTX->{INPUT}{EXT_LIBS}{$1}{NAME} = \"$1\";
286 @{\$SMB_BUILD_CTX->{INPUT}{EXT_LIBS}{$1}{LIBS}} = str2array(\"$2\");
287 @{\$SMB_BUILD_CTX->{INPUT}{EXT_LIBS}{$1}{CFLAGS}} = str2array(\"$3\");
288 @{\$SMB_BUILD_CTX->{INPUT}{EXT_LIBS}{$1}{CPPFLAGS}} = str2array(\"$4\");
289 @{\$SMB_BUILD_CTX->{INPUT}{EXT_LIBS}{$1}{LDFLAGS}} = str2array(\"$5\");
291 \$SMB_BUILD_CTX->{INPUT}{EXT_LIBS}{$1}{ENABLE} = \"$[SMB_EXT_LIB_ENABLE_][$1]\";
293 ###################################
298 dnl SMB_LIBRARY_ENABLE(
302 AC_DEFUN([SMB_LIBRARY_ENABLE],
304 [SMB_LIBRARY_ENABLE_][$1]="$2"
311 dnl 4:required_subsystems
313 AC_DEFUN([SMB_LIBRARY],
316 if test -z "$[SMB_LIBRARY_ENABLE_][$1]"; then
317 [SMB_LIBRARY_ENABLE_][$1]="YES";
320 SMB_INFO_LIBRARIES="$SMB_INFO_LIBRARIES
321 ###################################
323 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{NAME} = \"$1\";
324 @{\$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{OBJ_FILES}} = str2array(\"$2\");
325 @{\$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{REQUIRED_LIBRARIES}} = str2array(\"$3\");
326 @{\$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{REQUIRED_SUBSYSTEMS}} = str2array(\"$4\");
328 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{ENABLE} = \"$[SMB_LIBRARY_ENABLE_][$1]\";
330 ###################################
338 AC_DEFUN([SMB_LIBRARY_MK],
341 if test -z "$[SMB_LIBRARY_ENABLE_][$1]"; then
342 [SMB_LIBRARY_ENABLE_][$1]="YES";
345 SMB_INFO_LIBRARIES="$SMB_INFO_LIBRARIES
346 ###################################
348 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{NAME} = \"$1\";
349 @{\$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{OBJ_FILES}} = library_get_array(\"$2\", \"$1\", \"OBJ_FILES\");
350 @{\$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{REQUIRED_LIBRARIES}} = library_get_array(\"$2\", \"$1\", \"REQUIRED_LIBRARIES\");
351 @{\$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{REQUIRED_SUBSYSTEMS}} = library_get_array(\"$2\", \"$1\", \"REQUIRED_SUBSYSTEMS\");
353 \$SMB_BUILD_CTX->{INPUT}{LIBRARIES}{$1}{ENABLE} = \"$[SMB_LIBRARY_ENABLE_][$1]\";
355 ###################################
359 dnl SMB_BINARY_ENABLE(
363 AC_DEFUN([SMB_BINARY_ENABLE],
365 [SMB_BINARY_ENABLE_][$1]="$2";
374 dnl 6:required_subsystems
376 AC_DEFUN([SMB_BINARY],
379 if test -z "$[SMB_BINARY_ENABLE_][$1]"; then
380 [SMB_BINARY_ENABLE_][$1]="YES";
383 SMB_INFO_BINARIES="$SMB_INFO_BINARIES
384 ###################################
386 \$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{NAME} = \"$1\";
387 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{BUILD_TARGETS}} = str2array(\"$2\");
388 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{INSTALL_PATH}} = str2array(\"$3\");
389 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{OBJ_FILES}} = str2array(\"$4\");
390 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{REQUIRED_LIBRARIES}} = str2array(\"$5\");
391 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{REQUIRED_SUBSYSTEMS}} = str2array(\"$6\");
393 \$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{ENABLE} = \"$[SMB_BINARY_ENABLE_][$1]\";
395 ###################################
403 AC_DEFUN([SMB_BINARY_MK],
406 if test -z "$[SMB_BINARY_ENABLE_][$1]"; then
407 [SMB_BINARY_ENABLE_][$1]="YES";
410 SMB_INFO_BINARIES="$SMB_INFO_BINARIES
411 ###################################
413 \$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{NAME} = \"$1\";
414 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{BUILD_TARGETS}} = binary_get_array(\"$2\", \"$1\", \"BUILD_TARGETS\");
415 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{INSTALL_PATH}} = binary_get_array(\"$2\", \"$1\", \"INSTALL_PATH\");
416 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{OBJ_FILES}} = binary_get_array(\"$2\", \"$1\", \"OBJ_FILES\");
417 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{REQUIRED_LIBRARIES}} = binary_get_array(\"$2\", \"$1\",\"REQUIRED_LIBRARIES\");
418 @{\$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{REQUIRED_SUBSYSTEMS}} = binary_get_array(\"$2\", \"$1\",\"REQUIRED_SUBSYSTEMS\");
420 \$SMB_BUILD_CTX->{INPUT}{BINARIES}{$1}{ENABLE} = \"$[SMB_BINARY_ENABLE_][$1]\";
422 ###################################
430 AC_DEFUN([SMB_MAKE_TARGET],
432 echo "#SMB_MAKE_TARGET TOTO"
438 AC_DEFUN([SMB_AC_OUTPUT],
440 AC_OUTPUT([$1],[],[_SMB_BUILD_CORE([[$1][.in]])])