diff options
Diffstat (limited to 'doc/backend-writing.txt')
-rw-r--r-- | doc/backend-writing.txt | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/doc/backend-writing.txt b/doc/backend-writing.txt index 7b49041..7e34d6a 100644 --- a/doc/backend-writing.txt +++ b/doc/backend-writing.txt @@ -43,8 +43,8 @@ CONFIGURATION AND BUILD SYSTEM ------------------------------ Sane-backends uses the autoconf and automake tools. The configure script is -generated from configure.in and aclocal.m4 by running "autoreconf". -Simple checks (e.g. for headers) should be placed into configure.in while +generated from configure.ac and aclocal.m4 by running "autoreconf". +Simple checks (e.g. for headers) should be placed into configure.ac while for more complex stuff acinclude.m4 is the right file. After changes in one of these files, "autoreconf" should be called. This will then call a chain of autotools, such as autoconf to generate configure, autoheader @@ -77,14 +77,15 @@ sane-backends distribution. sane-backends/ * acinclude.m4 aclocal.m4 compile config.guess config.sub configure - configure.in depcomp install-sh ltmain.sh Makefile.am Makefile.in missing + configure.ac depcomp install-sh ltmain.sh Makefile.am Makefile.in missing mkinstalldirs: Part of the build system as explained above. * ChangeLog: - The ChangeLog contains all the changes made since the last stable release. - If anything is changed in git, it must be also mentioned in ChangeLog. - It's not enough to write just a git commit message, as users won't have - access to these messages. For more details on the format, see the SANE - git page on the website. + The ChangeLog contains all the changes made since the last stable release. + If anything is changed in git, write a decent commit message documenting + your work. This commit message will be included as is in the ChangeLog + file for the next stable release. Users of development code should refer + to the `git log` output or the on-line log. + For more details on the format, see the SANE git page on the website. * ChangeLog-1.0.0, ChangeLog-1.0.1 (...): These files contain the ChangeLogs of older releases. Once a new release has been made, the current ChangeLog renamed to ChangeLog-1.something.something @@ -153,7 +154,7 @@ sane-backends/doc/ Contains additional information about newbackend, e.g. READMEs or TODO files. General files: - * Makefile.in: + * Makefile.am: "sane-newbackend.5" must be added to variable BACKEND_5MANS and "sane-newbackend.man" to EXTRA_DIST. A backend documentation directory (if used) must be added to the BEDOCS variable. @@ -228,7 +229,7 @@ PROGRAMMING * To add the backend to the existing SANE code, the following must be done at least: - - add the backend name to ALL_BACKENDS in configure.in (and run autoreconf) + - add the backend name to ALL_BACKENDS in configure.ac (and run autoreconf) - Add new backend to BACKEND_CONFS, be_convenience_libs, be_dlopen_libs, and define _lib${backend}_la_SOURCES and nodist_libsane_${backend}_la_SOURCES; using an existing backend as @@ -254,20 +255,18 @@ PROGRAMMING * Please be courteous to programmer's with terminals that are 80 characters wide. It's not difficult to avoid long lines, so please - do so. Note that in ANSI C you can split long strings into pieces + do so. Note that in standard C you can split long strings into pieces separated by white space. For example, "this is an awfully long string" can be written as "this is an " "awfully long string". -* Use only ANSI C for your backend. C99 is not supported by the compilers of - some older platforms so please avoid using its features. +* Use only standard C for your backend. ISO C99 support will be enabled + if supported by the compiler detected by configure. * Please do not depend on compiler specific features or, if you do, make the dependency conditional so other compilers will still be able to compile the files. In particular: - - do not use C++ style comments (//-line comments) - - do not declare dynamically sized automatic arrays; instead, use alloca() after including "../include/lalloca.h". For example: @@ -295,7 +294,7 @@ PROGRAMMING compiler-dependent. * If you use headers or libraries that may not be available on all systems, - write a check for configure.in and include it conditionally. If your backend + write a check for configure.ac and include it conditionally. If your backend depends on these libraries or headers, compile the backend only if they are available (see pint for an example). @@ -476,7 +475,7 @@ In sane-backends/backend/ In sane-backends/doc/ * Add an entry for the man page in sane.man -* Add the man page file in doc/Makefile.in +* Add the man page file in doc/Makefile.am * Move the description file from descriptions-external/ to doc/descriptions/ * Check that the description file is correct: "cd doc; make html-pages" and check the html pages result with a browser. |