summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDustin J. Mitchell <dustin@zmanda.com>2010-01-09 20:50:07 -0600
committerDustin J. Mitchell <dustin@zmanda.com>2010-01-25 12:36:36 -0600
commit53d304d6727847a9bce5bb53975050cc74f83777 (patch)
treece591719fcceaef9d6e1adc021dab664f794b568 /doc
parentc6b6f516499ec60026f27c7ef243f9bf0102ce13 (diff)
downloadautoconf-archive-53d304d6727847a9bce5bb53975050cc74f83777.tar.gz
reorganizing documentation in prep for more prose
On the source side, this splits the documentation into multiple .texi files and auto-generates the @menu for all-macros.texi, sparing a redundant edit every time a macro is added or removed. This also reorganizes the node structure somewhat, using numbered nodes for everything but the macros, and organizing the macros as sections in their own chapter, rather than full-fledged chapters.
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.am5
-rw-r--r--doc/autoconf-archive.texi564
-rw-r--r--doc/contribute.texi82
-rw-r--r--doc/introduction.texi19
-rw-r--r--doc/using.texi20
5 files changed, 137 insertions, 553 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index b2ee3e1..ffd0697 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -3,7 +3,8 @@
# Copyright (c) 2010 by the Autoconf Archive Maintainers
# Licensed under the terms of the GNU General Public License.
+CHAPTERS = using.texi contribute.texi introduction.texi
info_TEXINFOS = autoconf-archive.texi
-EXTRA_DIST = $(TEXIFILES) all-macros.texi
+EXTRA_DIST = $(TEXIFILES) $(CHAPTERS) all-macros.texi
-autoconf-archive.info: autoconf-archive.texi all-macros.texi $(TEXIFILES)
+autoconf-archive.info: autoconf-archive.texi all-macros.texi $(TEXIFILES) $(CHAPTERS)
diff --git a/doc/autoconf-archive.texi b/doc/autoconf-archive.texi
index 4a2f758..5ab1a1b 100644
--- a/doc/autoconf-archive.texi
+++ b/doc/autoconf-archive.texi
@@ -50,564 +50,26 @@ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
@end ifnottex
@menu
-About the Archive:
-
* Introduction::
-
-The Macros:
-
-* ax_absolute_header::
-* ax_ac_append_to_file::
-* ax_ac_print_to_file::
-* ax_add_am_macro::
-* ax_add_am_macro_static::
-* ax_add_am_trilinos_makefile_export::
-* ax_add_recursive_am_macro::
-* ax_add_recursive_am_macro_static::
-* ax_afs::
-* ax_am_jobserver::
-* ax_am_macros::
-* ax_am_macros_static::
-* ax_append_to_file::
-* ax_arg_with_path_style::
-* ax_auto_include_headers::
-* ax_berkeley_db::
-* ax_blas::
-* ax_blas_f77_func::
-* ax_boost_asio::
-* ax_boost_base::
-* ax_boost_date_time::
-* ax_boost_filesystem::
-* ax_boost_iostreams::
-* ax_boost_program_options::
-* ax_boost_python::
-* ax_boost_regex::
-* ax_boost_serialization::
-* ax_boost_signals::
-* ax_boost_system::
-* ax_boost_test_exec_monitor::
-* ax_boost_thread::
-* ax_boost_unit_test_framework::
-* ax_boost_wave::
-* ax_boost_wserialization::
-* ax_c99_inline::
-* ax_c___attribute__::
-* ax_c_arithmetic_rshift::
-* ax_c_bigendian_cross::
-* ax_c_check_flag::
-* ax_c_compile_value::
-* ax_c_declare_block::
-* ax_c_float_words_bigendian::
-* ax_c_ifdef::
-* ax_c_long_long::
-* ax_c_printf_thsep::
-* ax_c_referenceable_passed_va_list::
-* ax_c_var_func::
-* ax_cache_size::
-* ax_caolan_check_package::
-* ax_caolan_search_package::
-* ax_cc_maxopt::
-* ax_cf_ebcdic::
-* ax_cflags_aix_option::
-* ax_cflags_force_c89::
-* ax_cflags_gcc_option::
-* ax_cflags_hpux_option::
-* ax_cflags_irix_option::
-* ax_cflags_no_writable_strings::
-* ax_cflags_strict_prototypes::
-* ax_cflags_sun_option::
-* ax_cflags_warn_all::
-* ax_cflags_warn_all_ansi::
-* ax_check_aligned_access_required::
-* ax_check_allocated_ctime::
-* ax_check_awk__v::
-* ax_check_awk__x_escapes::
-* ax_check_awk_and::
-* ax_check_awk_argind::
-* ax_check_awk_array_delete::
-* ax_check_awk_array_delete_elem::
-* ax_check_awk_array_in::
-* ax_check_awk_asort::
-* ax_check_awk_asorti::
-* ax_check_awk_associative_array::
-* ax_check_awk_atan2::
-* ax_check_awk_compl::
-* ax_check_awk_conditional_expression::
-* ax_check_awk_cos::
-* ax_check_awk_environ::
-* ax_check_awk_errno::
-* ax_check_awk_exit::
-* ax_check_awk_exp::
-* ax_check_awk_gensub::
-* ax_check_awk_getline::
-* ax_check_awk_gsub::
-* ax_check_awk_ignorecase::
-* ax_check_awk_index::
-* ax_check_awk_int::
-* ax_check_awk_length::
-* ax_check_awk_log::
-* ax_check_awk_lshift::
-* ax_check_awk_match_2parms::
-* ax_check_awk_match_3parms::
-* ax_check_awk_operator_multiply_multiply::
-* ax_check_awk_operator_square::
-* ax_check_awk_or::
-* ax_check_awk_printf::
-* ax_check_awk_rand::
-* ax_check_awk_rshift::
-* ax_check_awk_sin::
-* ax_check_awk_split::
-* ax_check_awk_sprintf::
-* ax_check_awk_sqrt::
-* ax_check_awk_srand::
-* ax_check_awk_strftime::
-* ax_check_awk_strtonum::
-* ax_check_awk_sub::
-* ax_check_awk_substr::
-* ax_check_awk_system::
-* ax_check_awk_systime::
-* ax_check_awk_tolower::
-* ax_check_awk_toupper::
-* ax_check_awk_user_defined_functions::
-* ax_check_awk_var_regexp::
-* ax_check_awk_variable_value_pairs::
-* ax_check_awk_xor::
-* ax_check_class::
-* ax_check_classpath::
-* ax_check_compiler_flags::
-* ax_check_define::
-* ax_check_docbook_dtd::
-* ax_check_docbook_xslt::
-* ax_check_docbook_xslt_min::
-* ax_check_dos_filesys::
-* ax_check_func_in::
-* ax_check_gd::
-* ax_check_gl::
-* ax_check_glu::
-* ax_check_glut::
-* ax_check_gnu_make::
-* ax_check_icu::
-* ax_check_java_home::
-* ax_check_java_plugin::
-* ax_check_junit::
-* ax_check_linker_flags::
-* ax_check_mysql_db::
-* ax_check_mysqlr::
-* ax_check_off64_t::
-* ax_check_openssl::
-* ax_check_page_aligned_malloc::
-* ax_check_pathfind::
-* ax_check_pathname_style::
-* ax_check_pgsql_db::
-* ax_check_posix_regcomp::
-* ax_check_posix_sysinfo::
-* ax_check_postgres_db::
-* ax_check_rqrd_class::
-* ax_check_sign::
-* ax_check_strcspn::
-* ax_check_strftime::
-* ax_check_struct_for::
-* ax_check_sunpro_c::
-* ax_check_symbol::
-* ax_check_sys_siglist::
-* ax_check_typedef::
-* ax_check_uname_syscall::
-* ax_check_user::
-* ax_check_zlib::
-* ax_compare_version::
-* ax_compile_check_sizeof::
-* ax_compiler_vendor::
-* ax_compute_relative_paths::
-* ax_compute_standard_relative_paths::
-* ax_cond_with_level::
-* ax_config_feature::
-* ax_configure_args::
-* ax_count_cpus::
-* ax_cpp_check_flag::
-* ax_cpu_freq::
-* ax_cpu_vendor::
-* ax_create_generic_config::
-* ax_create_pkgconfig_info::
-* ax_create_stdint_h::
-* ax_create_target_h::
-* ax_cvs::
-* ax_cxx_bool::
-* ax_cxx_check_flag::
-* ax_cxx_compile_stdcxx_0x::
-* ax_cxx_compiler_vendor::
-* ax_cxx_complex_math_in_namespace_std::
-* ax_cxx_const_cast::
-* ax_cxx_cppflags_std_lang::
-* ax_cxx_cxxflags_std_lang::
-* ax_cxx_default_template_parameters::
-* ax_cxx_dtor_after_atexit::
-* ax_cxx_dynamic_cast::
-* ax_cxx_enum_computations::
-* ax_cxx_enum_computations_with_cast::
-* ax_cxx_exceptions::
-* ax_cxx_explicit::
-* ax_cxx_explicit_instantiations::
-* ax_cxx_explicit_template_function_qualification::
-* ax_cxx_extern_template::
-* ax_cxx_full_specialization_syntax::
-* ax_cxx_function_nontype_parameters::
-* ax_cxx_function_try_blocks::
-* ax_cxx_gcc_abi_demangle::
-* ax_cxx_gnucxx_hashmap::
-* ax_cxx_have_complex::
-* ax_cxx_have_complex_math1::
-* ax_cxx_have_complex_math2::
-* ax_cxx_have_empty_iostream::
-* ax_cxx_have_ext_hash_map::
-* ax_cxx_have_ext_hash_set::
-* ax_cxx_have_ext_slist::
-* ax_cxx_have_freeze_sstream::
-* ax_cxx_have_ieee_math::
-* ax_cxx_have_koenig_lookup::
-* ax_cxx_have_long_long_for_iostream::
-* ax_cxx_have_numeric_limits::
-* ax_cxx_have_sstream::
-* ax_cxx_have_std::
-* ax_cxx_have_stl::
-* ax_cxx_have_string_push_back::
-* ax_cxx_have_system_v_math::
-* ax_cxx_have_valarray::
-* ax_cxx_have_vector_at::
-* ax_cxx_header_pre_stdcxx::
-* ax_cxx_header_stdcxx_0x::
-* ax_cxx_header_stdcxx_98::
-* ax_cxx_header_stdcxx_tr1::
-* ax_cxx_header_tr1_unordered_map::
-* ax_cxx_header_tr1_unordered_set::
-* ax_cxx_header_unordered_map::
-* ax_cxx_header_unordered_set::
-* ax_cxx_ldflags_std_lang::
-* ax_cxx_member_constants::
-* ax_cxx_member_templates::
-* ax_cxx_member_templates_outside_class::
-* ax_cxx_mutable::
-* ax_cxx_namespace_std::
-* ax_cxx_namespaces::
-* ax_cxx_new_for_scoping::
-* ax_cxx_old_for_scoping::
-* ax_cxx_partial_ordering::
-* ax_cxx_partial_specialization::
-* ax_cxx_reinterpret_cast::
-* ax_cxx_rtti::
-* ax_cxx_static_cast::
-* ax_cxx_stlport_hashmap::
-* ax_cxx_template_keyword_qualifier::
-* ax_cxx_template_qualified_base_class::
-* ax_cxx_template_qualified_return_type::
-* ax_cxx_template_scoped_argument_matching::
-* ax_cxx_templates::
-* ax_cxx_templates_as_template_arguments::
-* ax_cxx_typename::
-* ax_cxx_use_numtrait::
-* ax_cxx_verbose_terminate_handler::
-* ax_cxxcpp_check_flag::
-* ax_decl_wchar_max::
-* ax_define_dir::
-* ax_define_integer_bits::
-* ax_define_sub_path::
-* ax_dirname::
-* ax_dist_msi::
-* ax_dist_rpm::
-* ax_dll_string::
-* ax_enable_builddir::
-* ax_expand_prefix::
-* ax_ext::
-* ax_ext_check_header::
-* ax_ext_have_lib::
-* ax_extra_dist::
-* ax_f77_cmain_fflags::
-* ax_f90_header::
-* ax_f90_internal_headmod::
-* ax_f90_library::
-* ax_f90_library_setup::
-* ax_f90_module::
-* ax_f90_module_extension::
-* ax_f90_module_flag::
-* ax_file_escapes::
-* ax_func_accept_argtypes::
-* ax_func_fork::
-* ax_func_getopt_long::
-* ax_func_memmove::
-* ax_func_mkdir::
-* ax_func_posix_memalign::
-* ax_func_snprintf::
-* ax_func_which_gethostbyname_r::
-* ax_func_which_getservbyname_r::
-* ax_gcc_archflag::
-* ax_gcc_const_call::
-* ax_gcc_install_dir::
-* ax_gcc_lib::
-* ax_gcc_libgcc_eh::
-* ax_gcc_libraries_dir::
-* ax_gcc_libsupcxx::
-* ax_gcc_malloc_call::
-* ax_gcc_option::
-* ax_gcc_version::
-* ax_gcc_warn_unused_result::
-* ax_gcc_x86_cpuid::
-* ax_gxx_version::
-* ax_have_adns::
-* ax_have_epoll::
-* ax_have_opengl::
-* ax_have_poll::
-* ax_have_qt::
-* ax_have_select::
-* ax_install_files::
-* ax_java_check_class::
-* ax_java_options::
-* ax_jni_include_dir::
-* ax_lang_compiler_ms::
-* ax_lapack::
-* ax_ld_check_flag::
-* ax_lib_beecrypt::
-* ax_lib_crypto::
-* ax_lib_curl::
-* ax_lib_expat::
-* ax_lib_firebird::
-* ax_lib_gcrypt::
-* ax_lib_id3::
-* ax_lib_metis::
-* ax_lib_mysql::
-* ax_lib_nettle::
-* ax_lib_nokalva::
-* ax_lib_oracle_oci::
-* ax_lib_orbit2::
-* ax_lib_postgresql::
-* ax_lib_readline::
-* ax_lib_socket_nsl::
-* ax_lib_sqlite3::
-* ax_lib_taglib::
-* ax_lib_upnp::
-* ax_lib_wad::
-* ax_lib_xalan::
-* ax_lib_xerces::
-* ax_lib_xml_security::
-* ax_libgcj_jar::
-* ax_libtoolize_cflags::
-* ax_llvm::
-* ax_lua::
-* ax_maintainer_mode_auto_silent::
-* ax_missing_prog::
-* ax_mpi::
-* ax_need_awk::
-* ax_normalize_path::
-* ax_not_enable_frame_pointer::
-* ax_numeric_namedlevel::
-* ax_openmp::
-* ax_patch_libtool_changing_cmds_ifs::
-* ax_path_bdb::
-* ax_path_generic::
-* ax_path_lib_pcre::
-* ax_path_milter::
-* ax_path_missing::
-* ax_perl_ext_flags::
-* ax_perl_module_version::
-* ax_pgsql_priv_root::
-* ax_pkg_mico::
-* ax_pkg_swig::
-* ax_prefix_config_h::
-* ax_print_to_file::
-* ax_prog_apache::
-* ax_prog_bison::
-* ax_prog_cc_char_subscripts::
-* ax_prog_cc_for_build::
-* ax_prog_cp_s::
-* ax_prog_crontab::
-* ax_prog_doxygen::
-* ax_prog_fasm::
-* ax_prog_fasm_opt::
-* ax_prog_fig2dev::
-* ax_prog_flex::
-* ax_prog_guile_version::
-* ax_prog_hla::
-* ax_prog_hla_opt::
-* ax_prog_httpd::
-* ax_prog_jar::
-* ax_prog_java::
-* ax_prog_java_cc::
-* ax_prog_java_works::
-* ax_prog_javac::
-* ax_prog_javac_works::
-* ax_prog_javadoc::
-* ax_prog_javah::
-* ax_prog_masm::
-* ax_prog_masm_opt::
-* ax_prog_md5sum::
-* ax_prog_modprobe::
-* ax_prog_mysql::
-* ax_prog_mysqladmin::
-* ax_prog_mysqld::
-* ax_prog_mysqlimport::
-* ax_prog_mysqlshow::
-* ax_prog_nasm::
-* ax_prog_nasm_opt::
-* ax_prog_perl_modules::
-* ax_prog_perl_version::
-* ax_prog_pgclient::
-* ax_prog_python_version::
-* ax_prog_ruby_version::
-* ax_prog_scp::
-* ax_prog_ssh::
-* ax_prog_tasm::
-* ax_prog_tasm_opt::
-* ax_prog_tcl::
-* ax_prog_xsltproc::
-* ax_prog_yasm::
-* ax_prog_yasm_opt::
-* ax_prototype::
-* ax_prototype_accept::
-* ax_prototype_getsockname::
-* ax_prototype_setsockopt::
-* ax_pthread::
-* ax_python::
-* ax_python_config_var::
-* ax_python_devel::
-* ax_python_embed::
-* ax_python_module::
-* ax_require_one_func::
-* ax_rpm_init::
-* ax_restore_flags::
-* ax_ruby_devel::
-* ax_save_flags::
-* ax_set_default_paths_system::
-* ax_short_sleep::
-* ax_silent_mode::
-* ax_sip_devel::
-* ax_snprintf_oflow::
-* ax_spec_file::
-* ax_spec_package_version::
-* ax_split_version::
-* ax_string_strcasecmp::
-* ax_strings_strcasecmp::
-* ax_struct_semun::
-* ax_subdir_files::
-* ax_subst_with::
-* ax_swig_enable_cxx::
-* ax_swig_multi_module_support::
-* ax_swig_python::
-* ax_sys_dev_poll::
-* ax_sys_largefile_sensitive::
-* ax_sys_perlsharpbang::
-* ax_sys_weak_alias::
-* ax_sysv_ipc::
-* ax_tls::
-* ax_trilinos_amesos::
-* ax_trilinos_base::
-* ax_trilinos_epetra::
-* ax_trilinos_epetraext::
-* ax_trilinos_epetraext_hdf5::
-* ax_trilinos_rtop::
-* ax_trilinos_rythmos::
-* ax_trilinos_teuchos::
-* ax_trilinos_thyra::
-* ax_trilinos_thyra_epetra::
-* ax_trilinos_thyra_epetraext::
-* ax_try_awk_anyout::
-* ax_try_awk_expout::
-* ax_try_compile_java::
-* ax_try_run_javac::
-* ax_type_socklen_t::
-* ax_upload::
-* ax_var_timezone_externals::
-* ax_very_nice::
-* ax_warning_default_aclocaldir::
-* ax_warning_default_pkgconfig::
-* ax_wint_t::
-* ax_with_apxs::
-* ax_with_build_path::
-* ax_with_curses::
-* ax_with_dmalloc::
-* ax_with_guile::
-* ax_with_mpatrol::
-* ax_with_perl::
-* ax_with_prog::
-* ax_with_python::
-* ax_with_ruby::
-* ax_xercesc::
-* ax_xtra_classpath::
+* Using the Autoconf Archive::
+* Contributing to the Autoconf Archive::
+* The Macros::
@end menu
@node Introduction
-@unnumbered Introduction
-
-The Autoconf Archive is a collection of more than 450 freely re-usable macros
-for @uref{http://www.gnu.org/software/autoconf,GNU Autoconf} that have been
-contributed by friendly supporters of the cause from all over the Internet.
-
-The term ``free'' means two things in this context: (1) all macros distributed
-by the Archive can be used free of charge and (2) their use imposes no
-restrictions whatsoever on the licensing of the generated @file{configure}
-script, i.e. it is possible to use those macros in @file{configure} scripts
-that are meant for non-free software.
-
-This official web site of this project is located at
-@uref{http://savannah.nongnu.org/projects/autoconf-archive/}. All available
-information concerning this project is referenced from there.
-
-@unnumberedsec Downloading The Macros
-
-The macros distributed by the Archive are maintained in a public Git repository
-at @indicateurl{git://git.sv.gnu.org/autoconf-archive.git}. That repository can
-be cloned anonymously, which is probably the most convenient way to access the
-Archive. Gitweb offers an
-@uref{http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=rss,RSS
-feed} for subscription that informs about changes to the repository. The same
-information is available via e-mail, too, on the
-@uref{http://lists.nongnu.org/mailman/listinfo/autoconf-archive-commits,commits
-mailing list}.
-
-For the benefit of everyone who doesn't use Git, traditional release archives
-can be downloaded from
-@uref{http://download.savannah.nongnu.org/releases/autoconf-archive/}. New
-release are always announced on the low-traffic
-@uref{http://lists.nongnu.org/mailman/listinfo/autoconf-archive-announce,announcements
-mailing list}.
-
-@unnumberedsec How To Contribute
-
-Please post to the
-@uref{https://savannah.nongnu.org/patch/?func=additem&group=autoconf-archive,patch
-tracker} to submit a macro for inclusion in the Archive. Your submission should
-contain:
-
-@itemize @bullet
-
-@item
-a synopsis that shows how the macro must be be called,
-
-@item
-a brief description of the macro's purpose,
-
-@item
-the list of authors (optionally with e-mail addresses),
-
-@item
-licensing terms, and
-
-@item
-the m4 source code.
-
-@end itemize
-
-Macros can be submitted under any
-@uref{http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses,GPL-compatible
-free software license}. The Free Software Foundation, however, recommends use
-of the
-@uref{http://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html,all-permissive
-license} for Autoconf macros.
+@chapter Introduction
+@include introduction.texi
-See the @uref{http://www.flameeyes.eu/autotools-mythbuster, Autotools
-Mythbuster} for suggestions on how to write well-encapsulated, portable macros.
+@node Using the Autoconf Archive
+@chapter Using the Autoconf Archive
+@include using.texi
-If you have questions, suggestions, are any other feedback that you'd like to
-share, then please don't hesitate to contact the Archive maintainers at
-@email{autoconf-archive-maintainers@@nongnu.org}.
+@node Contributing to the Autoconf Archive
+@chapter Contributing to the Autoconf Archive
+@include contribute.texi
+@node The Macros
+@chapter The Macros
@include all-macros.texi
@bye
diff --git a/doc/contribute.texi b/doc/contribute.texi
new file mode 100644
index 0000000..891e5e9
--- /dev/null
+++ b/doc/contribute.texi
@@ -0,0 +1,82 @@
+@section Macro Format
+
+Each macro in the Archive has an all-upper-case name with the prefix
+@code{AX_}. The macro is stored in a file with the same name, in lower case,
+and with the suffix @code{.m4}.
+
+The file should begin with a header comment containing three named sections:
+synopsis, description, and license.
+
+The synopsis gives a summary of the macro usage and arguments. In this
+section, square brackets (@code{[]}) are used to indicate optional parameters, and
+may be nested.
+
+The description contains a prose description of the macro. It should describe
+the function of the macro, and the meaning of any arguments given in the
+synopsis. The description should also identify:
+
+@itemize
+@item
+any default macro parameter values
+@item
+any new @code{--with} or @code{--enable} options, and their default values
+@item
+any argument variables consulted (@code{AC_ARG_VAR})
+@item
+any substituted variables (@code{AC_SUBST})
+@item
+any defined precompiler constants (@code{AC_DEFINE})
+@end itemize
+
+Macros should be defined with @code{AC_DEFUN}, using correct quoting. Comments
+should be used liberally within the macro, with @code{dnl} used for comments at
+the m4sh level and @code{#} used for comments at the shell level.
+
+If a macro is renamed, the @code{AU_ALIAS} macro should be used to guide users
+of the old name to the new name:
+
+@example
+AU_ALIAS([OLD_NAME], [AX_NEW_NAME])
+@end example
+
+@section Submitting Macros
+
+Please post to the
+@uref{https://savannah.nongnu.org/patch/?func=additem&group=autoconf-archive,patch
+tracker} to submit a macro for inclusion in the Archive. Your submission should
+contain:
+
+@itemize @bullet
+
+@item
+a synopsis that shows how the macro must be be called,
+
+@item
+a brief description of the macro's purpose,
+
+@item
+the list of authors (optionally with e-mail addresses),
+
+@item
+licensing terms, and
+
+@item
+the m4 source code.
+
+@end itemize
+
+Macros can be submitted under any
+@uref{http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses,GPL-compatible
+free software license}. The Free Software Foundation, however, recommends use
+of the
+@uref{http://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html,all-permissive
+license} for Autoconf macros.
+
+@section Writing Highly Usable Macros
+
+Autoconf macros are used in a surprising variety of ways, and a well-written
+macro should be flexible enough to suit all of these uses.
+
+See the @uref{http://www.flameeyes.eu/autotools-mythbuster, Autotools
+Mythbuster} for suggestions on how to write well-encapsulated, portable macros.
+
diff --git a/doc/introduction.texi b/doc/introduction.texi
new file mode 100644
index 0000000..7c4507d
--- /dev/null
+++ b/doc/introduction.texi
@@ -0,0 +1,19 @@
+The Autoconf Archive is a collection of more than 450 freely re-usable macros
+for @uref{http://www.gnu.org/software/autoconf,GNU Autoconf} that have been
+contributed by friendly supporters of the cause from all over the Internet.
+
+The term ``free'' means two things in this context: (1) all macros distributed
+by the Archive can be used free of charge and (2) their use imposes no
+restrictions whatsoever on the licensing of the generated @file{configure}
+script, i.e. it is possible to use those macros in @file{configure} scripts
+that are meant for non-free software.
+
+This official web site of this project is located at
+@uref{http://savannah.nongnu.org/projects/autoconf-archive/}. All available
+information concerning this project is referenced from there.
+
+If you have questions, suggestions, are any other feedback that you'd like to
+share, then please don't hesitate to contact the Archive maintainers at
+@email{autoconf-archive-maintainers@@nongnu.org}.
+
+
diff --git a/doc/using.texi b/doc/using.texi
new file mode 100644
index 0000000..8f67324
--- /dev/null
+++ b/doc/using.texi
@@ -0,0 +1,20 @@
+@section Downloading The Macros
+
+The macros distributed by the Archive are maintained in a public Git repository
+at @indicateurl{git://git.sv.gnu.org/autoconf-archive.git}. That repository can
+be cloned anonymously, which is probably the most convenient way to access the
+Archive. Gitweb offers an
+@uref{http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=rss,RSS
+feed} for subscription that informs about changes to the repository. The same
+information is available via e-mail, too, on the
+@uref{http://lists.nongnu.org/mailman/listinfo/autoconf-archive-commits,commits
+mailing list}.
+
+For the benefit of everyone who doesn't use Git, traditional release archives
+can be downloaded from
+@uref{http://download.savannah.nongnu.org/releases/autoconf-archive/}. New
+release are always announced on the low-traffic
+@uref{http://lists.nongnu.org/mailman/listinfo/autoconf-archive-announce,announcements
+mailing list}.
+
+