Symbols & Numerals A
Total Page:16
File Type:pdf, Size:1020Kb
INDEX Symbols & Numerals 64-bit file addressing, 209 64-bit machine, building 32-bit code *_LIBADD variables, 155 on, 290–292 @ (at sign) as leading control character, 36 preventing make from printing A code to stdout, 44 ABI (application binary for substitution variable, 90 interface), 172 @<:@ and @:>@ (quadrigraphs), 117 aborted process, from missing ` (backtick), as default M4 quote shared libraries, 149 character, 252 absolute addresses : (colon), for rules, 27 CPUs and, 168 $ (dollar sign), escaping, 24 to function calls, 164–165 $$ (dollar sign doubled), for ac-archive project, 298–299 variable references, 43 AC_ARG_ENABLE macro, 108, $@ variable, 29 109–111, 211 $# variable, 255 formatting help strings with, 112 $%, to refer to archive member, 29 AC_ARG_VAR macro, 220, 265 $0 shell script parameter, 77 AC_ARG_WITH macro, 108–109 " (double quotes), escaped, 294n AC_CANONICAL_HOST macro, = (equal sign), in makefile, 24 reliance on, 234 # (hash mark) AC_CANONICAL_SYSTEM macro, 234, for M4 comments, 252 245, 288 for makefile comments, 22 AC_CHECK_HEADERS macro, 85, 103, ?= (query-assign operator), 54 184, 189 ' (single quote), as default M4 GNU Autoconf Manual quote character, 252 definition, 102 [] (square brackets) AC_CHECK_LIB macro, 211, 282, for AC_CHECK_TYPES macro 283, 284 parameter, 114 parameters, 284 for macro parameters, 60 AC_CHECK_PROG macro, 94 for optional parameters, 76n first attempt, 96 GNU Autoconf Manual, 95 AC_CHECK_PROGS macro, 265 Autotools © 2010 by John Calcote AC_CHECK_TYPES macro, 114 AC_SYS_LARGEFILE macro, 209 AC_CONFIG_COMMANDS macro, 79, 80, 81 action-if-not-given argument, for AC_CONFIG_FILES macro, 65, 67, 80, configure.ac script, 109 139, 156 ACX_PTHREAD macro, 99, 210–211 adding pkg-config file, 300 age value, in library interface conditional reference for xflaim/ version number, 178 docs/doxygen/doxyfile, 246 AIX archive (.a) file, 174 references in configure.ac, 154 all, 31 specifying mutiple tags, 81 all-local target, 242 AC_CONFIG_HEADER macro, 78–79 alternatives scripts, 52n AC_CONFIG_HEADERS macro, 78–79, AM_COND_IF macro, 207 83–84, 85 AM_CONDITIONAL macro, 206, 221, 245 AC_CONFIG_MACRO_DIR macro, 201–202 substitution variables for, 207 AC_CONFIG_SRCDIR macro, 77–78 AM_CPPFLAGS option variable, 138, 225 AC_CONFIG_SUBDIRS macro, 200, 221 AM_INIT_AUTOMAKE macro, 121 AC_DEFINE macro, 91, 212 foreign keyword, 206 conditional use, 212 silent-rules option, 143 AC_DEFINE_UNQUOTED macro, 91 AM_JAVACFLAGS variable, 232 AC_DEFUN macro, 260, 262 AM_LDFLAGS option variable, 138 acinclude.m4 file, 10 AM_MAINTAINER_MODE macro, 141–142 AC_INCLUDES_DEFAULT macro, 114–115 AM_MAKEFLAGS, passing AC_INIT macro, 76–77 expansion of, 203 AC_LANG macro, 206 AM_PROG_CC_C_O macro, 139, 140 AC_LANG_CALL macro, 285–286 a.out scheme, for library AC_LANG_PROGRAM macro, 285 management, 172n aclocal utility, 10–11, 201 API design, 272 data flow diagram, 11 Apple platforms, 3 macro fle locations for, 203 application binary interface ACLOCAL_AMFLAGS variable, 203 (ABI), 172 aclocal.m4 file, 259 ar utility, 169 AC_MSG_CHECKING macro, 106–107 archives, 136 AC_MSG_ERROR macro, 106, 107 $% to refer to member, 29 AC_MSG_FAILURE macro, 106, 107 arguments AC_MSG_NOTICE macro, 106, 107 commas as placeholders, 90 AC_MSG_RESULT macro, 106–107 macros with, 60, 255–256 AC_MSG_WARN macro, 106, 107 whitespace around, 255–256 AC_OUTPUT macro, 116 AS_HELP_STRING macro, 112 AC_PREREQ macro, 76 AS_IF macro, vs. shell if-then AC_PROG_CC macro, 91, 92 statement, 211–212 AC_PROG_INSTALL macro, 74, 93–94 asynchronous processing, 108 AC_PROG_RANLIB macro, 139, 156 enabling or disabling by default, AC_REQUIRE macro, 260 109–111 AC_SEARCH_LIBS macro, 59, 99–100, at sign (@) 184, 189 as leading control character, 36 GNU Autoconf Manual preventing make from printing definition, 100 code to stdout, 44 AC_SUBST macro, 90 for substitution variable, 90 314 INDEX Autotools © 2010 by John Calcote AUTHORS file --copy, 74 creating, 121 data flow diagram, 13 for FLAIM project, 200 determining version installed, 16 Autoconf, 1, 6–9, 57–88 development history, 119–120 vs. Automake, 125 enabling in configure.ac, 121–124 common problem, 95–98 foreign option, 201 configuration scripts, 58–59 -hook target, 214–215 data flow diagram, 8 -local target, 214–215 determining version installed, 16 recursive targets, 276–279 emulating text replacement support for unit testing, 133–134 techniques, 293–298 text files required, 200–201 executing, 61–62 -Wall option, 201 file generation framework, 78 -Werror option, 201 files containing variables, 246 automatic dependencies, 306–309 grep of macro directory, 283 tracking, 124–125 hacking macros, 282–287 automatic variables, 29 library-specific macros, 287 autoreconf program, 7, 61, 74, 85 and M4 macro language, ACLOCAL_AMFLAGS for execution, 203 259–269 with -i option, 122–123 message display to user, 106–107 warning messages, 234 native support for programming autoscan program, 7 languages, 5 configure.ac file created with, substitutions and definitions, 71–76 90–91 generating starting point for ftk supporting options features and project, 204 packages, 107–112 autoscan.log file, 72 testing for, 59 Autotools. See also Autoconf; Autoconf Macro Archive, 210, 233, Automake; Libtool 234, 260, 298 building Java sources with, to help build Java applications, 230–239 230n design goals, 5 autoconf shell script, 7, 9 installing most up-to-date, 16–18 autoconfiscating project, 65 Java support, 230–232 autoconf.m4 file, 259 noise from build systems based autogen.sh script, 73–75 on, 142–144 executing, 75 purpose, 1 autoheader utility, 7, 9 versions, ix–x data flow diagram, 8 autoupdate utility, 7 include file template generation awk utility, 55, 67 by, 84–87 autom4te utility, 8, 259 B autom4te.cache directory, 61 Automake, 1, 9–11 backslash, for command wrap, 25 backtick (`), as default M4 quote --add-missing option, 73, 74, 201 character, 252 vs. Autoconf, 125 binding variables, 26–27 build system support for make bindir targets, 124 variable, 47–48 bootstrap.sh configuration features, 206–209 script, 73 Autotools INDEX 315 © 2010 by John Calcote Bourne shell, for Autoconf, 58 C programming language, 4 Bourne-shell scripts, 2 checking for compiler, 91–93 referencing variable, 24 function prototypes, 158 -brtl flag, for AIX linker, 174n passing structure references, 273 bug-report argument, for AC_INIT public interface solution, 273 macro, 77 c89 program, 31n build directory, cleaning files in, c99 program, 31n 226–227 C99 standard, 113 build environment, of end user, 58 macros for determining $build environment variable, 234 standardized type build process, 28n instances, 113 hooking Doxygen into, 245–247 Canadian cross, 287 installation path for, 296 canonical names, for system types, Libtool in, 150–151 288–290 build system cc, 30–31 analysis, 126–133 CC variable, 53 hooking directories into, @CC@ variable, 92 155–156 CFGDIR C-preprocessor variable, 51 vs. host system, 287 CFLAGS variable, 53 problems from copying, 71 @CFLAGS@ variable, 92 reconfiguring and building, ChangeLog file 161–164 creating, 121 user expectations for, 20 for FLAIM project, 200 BUILT_SOURCES variable, 302–303 changequote macro, 254 replacing with dependency check-news option, for rule, 308 AM_INIT_AUTOMAKE, 121 byte stream, 67 check prefix, 128 check programs, 218 C check target, 37, 133 check_DATA variable, 225 C# check_SCRIPTS PLV, 134 building sources, 239–243 chmod command, 39 macros, 233 .class files, 231 manual installation of sources, location for, 239 242–243 CLASSPATH_ENV variable, 232 unit testing in, 242 clean, 31 C++ programming language, 4 clean-local target, 243 building JNI sources, 236–237 CLEANFILES variable, 134, 226, classes, 273 239, 298 exporting symbols from cleaning files library, 282 in build directory, 226–227 public interface solution, in distribution package, 281–282 273–276 CMake package, 2 virtual interfaces, 274–276 Cocoa user interface, 3 .c files, compiling into .o files, 30 COFF (Common Object File C preprocessor Format) system, 147n comparing M4 to, 60 colon (:), for rules, 27 macro definition, 91 316 INDEX Autotools © 2010 by John Calcote commands configure script, 9, 13, 54–55, 82 backslash for wrapping, 25 data flow diagram, 14 in makefile, 23–24 --disable-shared option, 193–194 commands argument, in instantiating --enable-static option, 168 macros, 81 user ability to override, 94 comments, in makefile, 22 configure.ac file, 7, 64–67, 68 commercial software, development, action-if-not-given argument 244n for, 109 common make rules, 27 activities in, 78 Common Object File Format adding checks for dl library and (COFF) system, 147n header file, 184 compile process, data flow AM_SILENT_RULES macro in, 143 diagram, 27 Autoconf intialization macros, compile script, 140 76–78 compile-time expression, 113 and autoreconf, 61 compilers, 28 autoscan to create, 71–76 checking for, 91–93 documenting substitution configuring options, 243–245 variable values, 246 -Ipath options, 87 enabling Automake in, 121–124 switching, and setting command- for FLAIM toolkit, 205–212 line options, 53 for ftk, 208–209 compiling, and dependency files pkg-config files in, 301–302 generation, 306 placement for subprojects, conditional compilation, 104–106, 199–200 187–188 shortest, 59 conditional option, -fPIC as, 168 for top-level flaim directory, conditionals 199, 200 for Automake, vs. make, 213 for xflaim project, 218–221 in M4, 264–268 configure.in file, 57–88 config.guess script, 234, 289 config.h header file, 13, 79, 86, 272 @configure_input@