Autoconf.Pdf

Total Page:16

File Type:pdf, Size:1020Kb

Autoconf.Pdf Autoconf Creating Automatic Configuration Scripts for version 2.66, 2 July 2010 David MacKenzie Ben Elliston Akim Demaille This manual (2 July 2010) is for GNU Autoconf (version 2.66), a package for creating scripts to configure source code packages using templates and an M4 macro package. Copyright c 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover texts being \A GNU Manual," and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled \GNU Free Documentation License." (a) The FSF's Back-Cover Text is: \You have the freedom to copy and modify this GNU manual. Buying copies from the FSF supports it in developing GNU and promoting software freedom." i Table of Contents 1 Introduction::::::::::::::::::::::::::::::::::::: 1 2 The GNU Build System:::::::::::::::::::::::: 3 2.1 Automake:::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.2 Gnulib ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.3 Libtool::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 4 2.4 Pointers:::::::::::::::::::::::::::::::::::::::::::::::::::::::: 4 3 Making configure Scripts :::::::::::::::::::::: 5 3.1 Writing `configure.ac' :::::::::::::::::::::::::::::::::::::::: 6 3.1.1 A Shell Script Compiler ::::::::::::::::::::::::::::::::::: 6 3.1.2 The Autoconf Language ::::::::::::::::::::::::::::::::::: 7 3.1.3 Standard `configure.ac' Layout :::::::::::::::::::::::::: 9 3.2 Using autoscan to Create `configure.ac'::::::::::::::::::::: 10 3.3 Using ifnames to List Conditionals:::::::::::::::::::::::::::: 11 3.4 Using autoconf to Create configure ::::::::::::::::::::::::: 11 3.5 Using autoreconf to Update configure Scripts ::::::::::::::: 13 4 Initialization and Output Files ::::::::::::::: 17 4.1 Initializing configure::::::::::::::::::::::::::::::::::::::::: 17 4.2 Dealing with Autoconf versions:::::::::::::::::::::::::::::::: 18 4.3 Notices in configure ::::::::::::::::::::::::::::::::::::::::: 18 4.4 Finding configure Input ::::::::::::::::::::::::::::::::::::: 19 4.5 Outputting Files :::::::::::::::::::::::::::::::::::::::::::::: 20 4.6 Performing Configuration Actions ::::::::::::::::::::::::::::: 21 4.7 Creating Configuration Files :::::::::::::::::::::::::::::::::: 23 4.8 Substitutions in Makefiles ::::::::::::::::::::::::::::::::::::: 23 4.8.1 Preset Output Variables :::::::::::::::::::::::::::::::::: 23 4.8.2 Installation Directory Variables::::::::::::::::::::::::::: 27 4.8.3 Changed Directory Variables ::::::::::::::::::::::::::::: 30 4.8.4 Build Directories ::::::::::::::::::::::::::::::::::::::::: 31 4.8.5 Automatic Remaking::::::::::::::::::::::::::::::::::::: 32 4.9 Configuration Header Files :::::::::::::::::::::::::::::::::::: 33 4.9.1 Configuration Header Templates:::::::::::::::::::::::::: 34 4.9.2 Using autoheader to Create `config.h.in'::::::::::::::: 35 4.9.3 Autoheader Macros :::::::::::::::::::::::::::::::::::::: 36 4.10 Running Arbitrary Configuration Commands ::::::::::::::::: 37 4.11 Creating Configuration Links::::::::::::::::::::::::::::::::: 38 4.12 Configuring Other Packages in Subdirectories::::::::::::::::: 38 4.13 Default Prefix:::::::::::::::::::::::::::::::::::::::::::::::: 39 ii Autoconf 5 Existing Tests:::::::::::::::::::::::::::::::::: 41 5.1 Common Behavior :::::::::::::::::::::::::::::::::::::::::::: 41 5.1.1 Standard Symbols :::::::::::::::::::::::::::::::::::::::: 41 5.1.2 Default Includes:::::::::::::::::::::::::::::::::::::::::: 41 5.2 Alternative Programs ::::::::::::::::::::::::::::::::::::::::: 43 5.2.1 Particular Program Checks ::::::::::::::::::::::::::::::: 43 5.2.2 Generic Program and File Checks :::::::::::::::::::::::: 46 5.3 Files :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 49 5.4 Library Files :::::::::::::::::::::::::::::::::::::::::::::::::: 49 5.5 Library Functions ::::::::::::::::::::::::::::::::::::::::::::: 50 5.5.1 Portability of C Functions :::::::::::::::::::::::::::::::: 50 5.5.2 Particular Function Checks ::::::::::::::::::::::::::::::: 53 5.5.3 Generic Function Checks ::::::::::::::::::::::::::::::::: 60 5.6 Header Files :::::::::::::::::::::::::::::::::::::::::::::::::: 62 5.6.1 Portability of Headers :::::::::::::::::::::::::::::::::::: 62 5.6.2 Particular Header Checks::::::::::::::::::::::::::::::::: 64 5.6.3 Generic Header Checks ::::::::::::::::::::::::::::::::::: 69 5.7 Declarations :::::::::::::::::::::::::::::::::::::::::::::::::: 70 5.7.1 Particular Declaration Checks :::::::::::::::::::::::::::: 70 5.7.2 Generic Declaration Checks :::::::::::::::::::::::::::::: 70 5.8 Structures :::::::::::::::::::::::::::::::::::::::::::::::::::: 72 5.8.1 Particular Structure Checks :::::::::::::::::::::::::::::: 72 5.8.2 Generic Structure Checks::::::::::::::::::::::::::::::::: 73 5.9 Types::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 73 5.9.1 Particular Type Checks :::::::::::::::::::::::::::::::::: 74 5.9.2 Generic Type Checks ::::::::::::::::::::::::::::::::::::: 76 5.10 Compilers and Preprocessors ::::::::::::::::::::::::::::::::: 77 5.10.1 Specific Compiler Characteristics :::::::::::::::::::::::: 77 5.10.2 Generic Compiler Characteristics :::::::::::::::::::::::: 77 5.10.3 C Compiler Characteristics :::::::::::::::::::::::::::::: 79 5.10.4 C++ Compiler Characteristics :::::::::::::::::::::::::: 85 5.10.5 Objective C Compiler Characteristics:::::::::::::::::::: 85 5.10.6 Objective C++ Compiler Characteristics :::::::::::::::: 86 5.10.7 Erlang Compiler and Interpreter Characteristics ::::::::: 86 5.10.8 Fortran Compiler Characteristics :::::::::::::::::::::::: 87 5.11 System Services :::::::::::::::::::::::::::::::::::::::::::::: 92 5.12 Posix Variants ::::::::::::::::::::::::::::::::::::::::::::::: 93 5.13 Erlang Libraries ::::::::::::::::::::::::::::::::::::::::::::: 94 iii 6 Writing Tests :::::::::::::::::::::::::::::::::: 97 6.1 Language Choice :::::::::::::::::::::::::::::::::::::::::::::: 97 6.2 Writing Test Programs :::::::::::::::::::::::::::::::::::::::: 99 6.2.1 Guidelines for Test Programs ::::::::::::::::::::::::::::: 99 6.2.2 Test Functions ::::::::::::::::::::::::::::::::::::::::::: 99 6.2.3 Generating Sources:::::::::::::::::::::::::::::::::::::: 100 6.3 Running the Preprocessor :::::::::::::::::::::::::::::::::::: 102 6.4 Running the Compiler ::::::::::::::::::::::::::::::::::::::: 104 6.5 Running the Linker :::::::::::::::::::::::::::::::::::::::::: 104 6.6 Checking Runtime Behavior :::::::::::::::::::::::::::::::::: 105 6.7 Systemology ::::::::::::::::::::::::::::::::::::::::::::::::: 106 6.8 Multiple Cases ::::::::::::::::::::::::::::::::::::::::::::::: 107 7 Results of Tests :::::::::::::::::::::::::::::: 109 7.1 Defining C Preprocessor Symbols::::::::::::::::::::::::::::: 109 7.2 Setting Output Variables::::::::::::::::::::::::::::::::::::: 110 7.3 Special Characters in Output Variables::::::::::::::::::::::: 112 7.4 Caching Results:::::::::::::::::::::::::::::::::::::::::::::: 113 7.4.1 Cache Variable Names :::::::::::::::::::::::::::::::::: 114 7.4.2 Cache Files ::::::::::::::::::::::::::::::::::::::::::::: 115 7.4.3 Cache Checkpointing :::::::::::::::::::::::::::::::::::: 115 7.5 Printing Messages:::::::::::::::::::::::::::::::::::::::::::: 116 8 Programming in M4 ::::::::::::::::::::::::: 119 8.1 M4 Quotation ::::::::::::::::::::::::::::::::::::::::::::::: 119 8.1.1 Active Characters ::::::::::::::::::::::::::::::::::::::: 119 8.1.2 One Macro Call ::::::::::::::::::::::::::::::::::::::::: 120 8.1.3 Quoting and Parameters :::::::::::::::::::::::::::::::: 121 8.1.4 Quotation and Nested Macros ::::::::::::::::::::::::::: 122 8.1.5 changequote is Evil::::::::::::::::::::::::::::::::::::: 123 8.1.6 Quadrigraphs ::::::::::::::::::::::::::::::::::::::::::: 124 8.1.7 Dealing with unbalanced parentheses :::::::::::::::::::: 125 8.1.8 Quotation Rule Of Thumb :::::::::::::::::::::::::::::: 127 8.2 Using autom4te:::::::::::::::::::::::::::::::::::::::::::::: 128 8.2.1 Invoking autom4te :::::::::::::::::::::::::::::::::::::: 128 8.2.2 Customizing autom4te :::::::::::::::::::::::::::::::::: 132 8.3 Programming in M4sugar :::::::::::::::::::::::::::::::::::: 133 8.3.1 Redefined M4 Macros ::::::::::::::::::::::::::::::::::: 133 8.3.2 Diagnostic messages from M4sugar :::::::::::::::::::::: 136 8.3.3 Diversion support ::::::::::::::::::::::::::::::::::::::: 137 8.3.4 Conditional constructs :::::::::::::::::::::::::::::::::: 140 8.3.5 Looping constructs :::::::::::::::::::::::::::::::::::::: 142 8.3.6 Evaluation Macros :::::::::::::::::::::::::::::::::::::: 147 8.3.7 String manipulation in M4 :::::::::::::::::::::::::::::: 151 8.3.8 Arithmetic computation in M4 :::::::::::::::::::::::::: 154 8.3.9 Set manipulation in M4 ::::::::::::::::::::::::::::::::: 156 8.3.10 Forbidden Patterns :::::::::::::::::::::::::::::::::::: 160 8.4 Debugging via autom4te ::::::::::::::::::::::::::::::::::::: 160 iv Autoconf 9 Programming in M4sh ::::::::::::::::::::::: 163 9.1 Common Shell Constructs:::::::::::::::::::::::::::::::::::: 163 9.2 Support for indirect variable names :::::::::::::::::::::::::: 166 9.3 Initialization Macros ::::::::::::::::::::::::::::::::::::::::: 169 9.4 File Descriptor Macros ::::::::::::::::::::::::::::::::::::::: 170 10 Writing Autoconf Macros
Recommended publications
  • Red Hat Enterprise Linux 6 Developer Guide
    Red Hat Enterprise Linux 6 Developer Guide An introduction to application development tools in Red Hat Enterprise Linux 6 Dave Brolley William Cohen Roland Grunberg Aldy Hernandez Karsten Hopp Jakub Jelinek Developer Guide Jeff Johnston Benjamin Kosnik Aleksander Kurtakov Chris Moller Phil Muldoon Andrew Overholt Charley Wang Kent Sebastian Red Hat Enterprise Linux 6 Developer Guide An introduction to application development tools in Red Hat Enterprise Linux 6 Edition 0 Author Dave Brolley [email protected] Author William Cohen [email protected] Author Roland Grunberg [email protected] Author Aldy Hernandez [email protected] Author Karsten Hopp [email protected] Author Jakub Jelinek [email protected] Author Jeff Johnston [email protected] Author Benjamin Kosnik [email protected] Author Aleksander Kurtakov [email protected] Author Chris Moller [email protected] Author Phil Muldoon [email protected] Author Andrew Overholt [email protected] Author Charley Wang [email protected] Author Kent Sebastian [email protected] Editor Don Domingo [email protected] Editor Jacquelynn East [email protected] Copyright © 2010 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
    [Show full text]
  • CIS IBM AIX 7.1 Benchmark V1.1.0 - 09-20-2013
    CIS IBM AIX 7.1 Benchmark v1.1.0 - 09-20-2013 http://benchmarks.cisecurity.org The CIS Security Benchmarks division provides consensus-oriented information security products, services, tools, metrics, suggestions, and recommendations (the “SB Products”) as a public service to Internet users worldwide. Downloading or using SB Products in any way signifies and confirms your acceptance of and your binding agreement to these CIS Security Benchmarks Terms of Use. CIS SECURITY BENCHMARKS TERMS OF USE BOTH CIS SECURITY BENCHMARKS DIVISION MEMBERS AND NON-MEMBERS MAY: Download, install, and use each of the SB Products on a single computer, and/or Print one or more copies of any SB Product that is in a .txt, .pdf, .doc, .mcw, or .rtf format, but only if each such copy is printed in its entirety and is kept intact, including without limitation the text of these CIS Security Benchmarks Terms of Use. UNDER THE FOLLOWING TERMS AND CONDITIONS: SB Products Provided As Is. CIS is providing the SB Products “as is” and “as available” without: (1) any representations, warranties, or covenants of any kind whatsoever (including the absence of any warranty regarding: (a) the effect or lack of effect of any SB Product on the operation or the security of any network, system, software, hardware, or any component of any of them, and (b) the accuracy, utility, reliability, timeliness, or completeness of any SB Product); or (2) the responsibility to make or notify you of any corrections, updates, upgrades, or fixes. Intellectual Property and Rights Reserved. You are not acquiring any title or ownership rights in or to any SB Product, and full title and all ownership rights to the SB Products remain the exclusive property of CIS.
    [Show full text]
  • Linux from Scratch Version 6.2
    Linux From Scratch Version 6.2 Gerard Beekmans Linux From Scratch: Version 6.2 by Gerard Beekmans Copyright © 1999–2006 Gerard Beekmans Copyright (c) 1999–2006, Gerard Beekmans All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: • Redistributions in any form must retain the above copyright notice, this list of conditions and the following disclaimer • Neither the name of “Linux From Scratch” nor the names of its contributors may be used to endorse or promote products derived from this material without specific prior written permission • Any material derived from Linux From Scratch must contain a reference to the “Linux From Scratch” project THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Linux From Scratch - Version 6.2 Table of Contents Preface
    [Show full text]
  • Download Chapter 3: "Configuring Your Project with Autoconf"
    CONFIGURING YOUR PROJECT WITH AUTOCONF Come my friends, ’Tis not too late to seek a newer world. —Alfred, Lord Tennyson, “Ulysses” Because Automake and Libtool are essen- tially add-on components to the original Autoconf framework, it’s useful to spend some time focusing on using Autoconf without Automake and Libtool. This will provide a fair amount of insight into how Autoconf operates by exposing aspects of the tool that are often hidden by Automake. Before Automake came along, Autoconf was used alone. In fact, many legacy open source projects never made the transition from Autoconf to the full GNU Autotools suite. As a result, it’s not unusual to find a file called configure.in (the original Autoconf naming convention) as well as handwritten Makefile.in templates in older open source projects. In this chapter, I’ll show you how to add an Autoconf build system to an existing project. I’ll spend most of this chapter talking about the fundamental features of Autoconf, and in Chapter 4, I’ll go into much more detail about how some of the more complex Autoconf macros work and how to properly use them. Throughout this process, we’ll continue using the Jupiter project as our example. Autotools © 2010 by John Calcote Autoconf Configuration Scripts The input to the autoconf program is shell script sprinkled with macro calls. The input stream must also include the definitions of all referenced macros—both those that Autoconf provides and those that you write yourself. The macro language used in Autoconf is called M4. (The name means M, plus 4 more letters, or the word Macro.1) The m4 utility is a general-purpose macro language processor originally written by Brian Kernighan and Dennis Ritchie in 1977.
    [Show full text]
  • Freebsd Command Reference
    FreeBSD command reference Command structure Each line you type at the Unix shell consists of a command optionally followed by some arguments , e.g. ls -l /etc/passwd | | | cmd arg1 arg2 Almost all commands are just programs in the filesystem, e.g. "ls" is actually /bin/ls. A few are built- in to the shell. All commands and filenames are case-sensitive. Unless told otherwise, the command will run in the "foreground" - that is, you won't be returned to the shell prompt until it has finished. You can press Ctrl + C to terminate it. Colour code command [args...] Command which shows information command [args...] Command which modifies your current session or system settings, but changes will be lost when you exit your shell or reboot command [args...] Command which permanently affects the state of your system Getting out of trouble ^C (Ctrl-C) Terminate the current command ^U (Ctrl-U) Clear to start of line reset Reset terminal settings. If in xterm, try Ctrl+Middle mouse button stty sane and select "Do Full Reset" exit Exit from the shell logout ESC :q! ENTER Quit from vi without saving Finding documentation man cmd Show manual page for command "cmd". If a page with the same man 5 cmd name exists in multiple sections, you can give the section number, man -a cmd or -a to show pages from all sections. man -k str Search for string"str" in the manual index man hier Description of directory structure cd /usr/share/doc; ls Browse system documentation and examples. Note especially cd /usr/share/examples; ls /usr/share/doc/en/books/handbook/index.html cd /usr/local/share/doc; ls Browse package documentation and examples cd /usr/local/share/examples On the web: www.freebsd.org Includes handbook, searchable mailing list archives System status Alt-F1 ..
    [Show full text]
  • Bootstrap Protocol, BOOTP, Is the Recommended Way to Establish Communications from the Host to the Printer in an Internet Protocol Environment
    BOOTP Bootstrap protocol, BOOTP, is the recommended way to establish communications from the host to the printer in an internet protocol environment. BOOTP obtains booting data from the bootptab file. With the proper information stored in the bootptab file, the printer can find its own name and IP address and boot from the network without any intervention, even for a first time boot. 1. Verify that the bootpd and bootptab files are in the correct directories: UNIX: /etc or /usr/etc directory OS/2: \TCPIP\ETC (for bootptab) and \TCPIP\BIN (for bootpd) LAN Server: MPTN\ETC (for bootptab) and \MPTN\BIN (for bootpd) Type: ls bootp* 2. Edit the hosts file to add the printer internet addresses and names: 128.07.60.30 P340-mktg 128.07.60.31 P340-sales For OS/2, use the TCP/IP Configuration Notebook under the Services tab to add the printer internet addresses and names. 3. Some UNIX hosts may require an explicit update to the arp table to add the new entries. This command is host-specific; check your host documentation for details. arp -s ether P340-mktg 08:00:11:01:00:45 arp -s ether P340-sales 08:00:11:01:00:46 The ether switch indicates that you are providing an Ethernet address. 4. Set up the bootptab file. 5. Start or restart the inetd or bootpd daemon. For OS/2 Warp, LAN Server 4.0, and UNIX, use the bootpd daemon. Here is a sample bootptab file; check your host system documentation to see which fields your implementation of BOOTP supports.
    [Show full text]
  • Installing Xenomai 3.X I
    Installing Xenomai 3.x i Installing Xenomai 3.x Installing Xenomai 3.x ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME Installing Xenomai 3.x iii Contents 1 Introduction 1 2 Installation steps 1 3 Installing the Cobalt core 1 3.1 Preparing the Cobalt kernel..............................................1 3.2 Configuring and compiling the Cobalt kernel....................................2 3.3 Cobalt kernel parameters...............................................2 3.4 Examples of building the Cobalt kernel.......................................3 3.4.1 Building a Cobalt/x86 kernel (32/64bit)...................................3 3.4.2 Building a Cobalt/powerpc kernel......................................4 3.4.3 Building Cobalt/arm kernel.........................................4 4 Installing the Mercury core 4 5 Installing the Xenomai libraries and tools4 5.1 Prerequisites......................................................4 5.1.1 Generic requirements (both cores)......................................4 5.1.2 Cobalt-specific requirements.........................................5 5.1.3 Mercury-specific requirement........................................5 5.2 Configuring......................................................5 5.2.1 Generic configuration options (both cores)..................................5 5.2.2 Cobalt-specific configuration options....................................8 5.2.3 Mercury-specific configuration options...................................8 5.3 Cross-compilation...................................................8 6 Examples
    [Show full text]
  • 1.113.1 Configure and Manage Inetd, Xinetd, and Related Services Weight
    1.113.1 Configure and manage inetd, xinetd, and related services Weight 4 1.113.1 Angus Lees Context Configure and manage inetd, xinetd, and Objective inetd, xinetd related services tcpwrappers Weight 4 xinetd License Of This Linux Professional Institute Certification — 102 Document Angus Lees [email protected] Geoffrey Robertson [email protected] Nick Urbanik [email protected] This document Licensed under GPL—see section 6 2005 July 1.113.1 Configure and manage Outline inetd, xinetd, and related services Weight 4 Angus Lees Context Objective inetd, xinetd tcpwrappers xinetd inetd.conf License Of This Context Document tcpwrappers Objective xinetd inetd, xinetd License Of This Document 1.113.1 Configure and manage Topic 113 Networking Services [24] inetd, xinetd, and Where we are up to related services Weight 4 Angus Lees Context Objective 1.113.1 Configure and manage inetd, xinetd, and inetd, xinetd related services [4] tcpwrappers xinetd 1.113.2 Operate and perform basic configuration of License Of This sendmail [4] Document 1.113.3 Operate and perform basic configuration of Apache [4] 1.113.4 Properly manage the NFS, smb, and nmb daemons [4] 1.113.5 Setup and configure basic DNS services [4] 1.113.7 Set up secure shell (OpenSSH) [4] 1.113.1 Configure and manage Description of Objective inetd, xinetd, and 1.113.1 Configure and manage inetd, xinetd, and related services related services Weight 4 Angus Lees Context Objective inetd, xinetd Candidates should be able to configure tcpwrappers which services are available through xinetd License Of This inetd, use tcpwrappers to allow or deny Document services on a host-by-host basis, manually start, stop, and restart internet services, configure basic network services including telnet and ftp.
    [Show full text]
  • Autoconf Creating Automatic Configuration Scripts for Version 2.64, 26 July 2009
    Autoconf Creating Automatic Configuration Scripts for version 2.64, 26 July 2009 David MacKenzie Ben Elliston Akim Demaille This manual (26 July 2009) is for GNU Autoconf (version 2.64), a package for creating scripts to configure source code packages using templates and an M4 macro package. Copyright c 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover texts being “A GNU Manual,” and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled “GNU Free Documentation License.” (a) The FSF’s Back-Cover Text is: “You have the freedom to copy and modify this GNU manual. Buying copies from the FSF supports it in developing GNU and promoting software freedom.” i Table of Contents 1 Introduction..................................... 1 2 The GNU Build System ........................ 3 2.1 Automake...................................................... 3 2.2 Gnulib ......................................................... 3 2.3 Libtool......................................................... 4 2.4 Pointers........................................................ 4 3 Making configure Scripts ...................... 5 3.1 Writing ‘configure.ac’ ........................................ 6 3.1.1 A Shell Script Compiler ................................... 6 3.1.2 The Autoconf Language ................................... 7 3.1.3 Standard ‘configure.ac’ Layout .......................... 8 3.2 Using autoscan to Create ‘configure.ac’ ...................... 9 3.3 Using ifnames to List Conditionals............................ 10 3.4 Using autoconf to Create configure ........................
    [Show full text]
  • Network Programming TDC 561 Lecture # 5: Multiservice and Multiprotocols Servers
    Network Programming TDC 561 Lecture # 5: Multiservice and Multiprotocols Servers Dr. Ehab S. Al-Shaer School of Computer Science & Telecommunication DePaul University Chicago, IL 1 select() Review int select( int maxfd, fd_set *readset, fd_set *writeset, fd_set *excepset, const struct timeval *timeout); maxfd : highest number assigned to a descriptor. readset: set of descriptors we want to read from. writeset: set of descriptors we want to write to. excepset: descriptors to watch for exceptions. timeout: maximum time select should wait 2 Dr. Ehab Al-Shaer/Network Programming select() Review ❂ select() components (e.g., p. 143) • passive (original) mailbox, afds: FD_SET and FD_CLR • active (operational) mailbox, rfds:FD_ISSET ❂ When to use it • I/O Multiplexing • Non-blocking • High-precision timer 3 Dr. Ehab Al-Shaer/Network Programming 1 Multiprotocol Servers ❂ Provides a single service using TCP or UDP ❂ Motivation • less overhead • No need for replication control • maintainability • extendibility for more protocols 4 Dr. Ehab Al-Shaer/Network Programming Multiprotocol Servers ❂ Algorithm 1. Create a passive UDP socket (usock) and passive TCP socket (tsock), Bind to a port 2. Use select() to monitor usock and tsock 3. 3. If tsock is READY 3.1. Accept connections 3.2. Read and Write 3.3. Close if finish 4. If usock is READY 4.1. Receive and Send 5. Go to 2 ❂ Example (daytimed.c, P. 150) • Is it truly concurrent? 5 •No read in tsock,Dr. Ehab and Al-Shaer/Network no close Programmingin usock, WHY? Multiservice Servers ❂ A single server that provides multiple services ❂ Motivation • less execution overhead • less code ❂ Algorithm for connectionless servers 1.
    [Show full text]
  • UNIX System Servicesplanning
    z/OS Version 2 Release 3 UNIX System Services Planning IBM GA32-0884-30 Note Before using this information and the product it supports, read the information in “Notices” on page 409. This edition applies to Version 2 Release 3 of z/OS (5650-ZOS) and to all subsequent releases and modifications until otherwise indicated in new editions. Last updated: 2019-03-26 © Copyright International Business Machines Corporation 1996, 2018. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents List of Figures...................................................................................................... xv List of Tables......................................................................................................xvii About this document...........................................................................................xix Using this document..................................................................................................................................xix z/OS information........................................................................................................................................xix Discussion list.......................................................................................................................................xix How to send your comments to IBM.....................................................................xxi If you have a technical problem................................................................................................................xxi
    [Show full text]
  • IBM I: TCP/IP Troubleshooting • a Default Route (*DFTROUTE) Allows Packets to Travel to Hosts That Are Not Directly Connected to Your Network
    IBM i Version 7.2 Networking TCP/IP troubleshooting IBM Note Before using this information and the product it supports, read the information in “Notices” on page 71. This document may contain references to Licensed Internal Code. Licensed Internal Code is Machine Code and is licensed to you under the terms of the IBM License Agreement for Machine Code. © Copyright International Business Machines Corporation 1997, 2013. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents TCP/IP troubleshooting......................................................................................... 1 PDF file for TCP/IP troubleshooting............................................................................................................ 1 Troubleshooting tools and techniques........................................................................................................1 Tools to verify your network structure...................................................................................................1 Tools for tracing data and jobs.............................................................................................................15 Troubleshooting tips............................................................................................................................ 31 Advanced troubleshooting tools..........................................................................................................66 Troubleshooting problems related
    [Show full text]