kopia lustrzana https://gitlab.com/sane-project/backends
Added paragraph about getting started. Added comments about ANSI C,
compilation warnings, testing and keeping manpages up-to-date. Henning Meier-Geinitz <henning@meier-geinitz.de>DEVEL_2_0_BRANCH-1
rodzic
ac61211cbc
commit
c3b6e66ced
|
@ -1,10 +1,38 @@
|
||||||
2002-01-08
|
2002-01-10
|
||||||
|
|
||||||
When you start writing a backend, please contact the SANE mailing list in
|
Here are a few rules and tips that should help writing a
|
||||||
order to add your backend to the PROJECTS file.
|
SANE-conformant backend and including it into the SANE package:
|
||||||
|
|
||||||
Here are a few rules that should help writing a SANE-conformant
|
|
||||||
backend and including it into the SANE package:
|
GETTING STARTED
|
||||||
|
---------------
|
||||||
|
|
||||||
|
* You will need information about the protocol the scanner (or other image
|
||||||
|
application device) is using. The easiest way is to ask the manufacturer
|
||||||
|
about it. You should mention that the code will be open-source, however.
|
||||||
|
|
||||||
|
* Read the SANE standard.
|
||||||
|
|
||||||
|
* One approach is to write a stand-alone scanning program first. Debugging
|
||||||
|
this program is usually easier than using the SANE libraries. However, keep
|
||||||
|
in mind what you learned from the SANE standard.
|
||||||
|
|
||||||
|
* Once your program works basically, insert its functions into a basically
|
||||||
|
empty SANE backend. You can get one by removing everything but the SANE
|
||||||
|
includes and SANE API function definitions from an existing backend (e.g.
|
||||||
|
pnm.c).
|
||||||
|
|
||||||
|
* When you start writing code, please contact the SANE mailing list in
|
||||||
|
order to add your backend to the PROJECTS file.
|
||||||
|
|
||||||
|
* Keep other users informed about what you did and want to do. This way no
|
||||||
|
work is done twice and you may get volunteers for coding or testing.
|
||||||
|
Set up a website or at least write to sane-devel.
|
||||||
|
|
||||||
|
* When you have a working backend but you don't want to have it included
|
||||||
|
in the SANE distribution yet, at least the .desc file can be included
|
||||||
|
(see below for details). So people will find a link to your backend at
|
||||||
|
the SANE webpage.
|
||||||
|
|
||||||
|
|
||||||
PROGRAMMING
|
PROGRAMMING
|
||||||
|
@ -30,6 +58,8 @@ PROGRAMMING
|
||||||
"this is an awfully long string" can be written as "this is an "
|
"this is an awfully long string" can be written as "this is an "
|
||||||
"awfully long string".
|
"awfully long string".
|
||||||
|
|
||||||
|
* Use only ANSI C for your backend.
|
||||||
|
|
||||||
* Please do not depend on compiler specific features or, if you do, make
|
* Please do not depend on compiler specific features or, if you do, make
|
||||||
the dependency conditional so other compilers will still be able to
|
the dependency conditional so other compilers will still be able to
|
||||||
compile the files. In particular:
|
compile the files. In particular:
|
||||||
|
@ -106,6 +136,12 @@ PROGRAMMING
|
||||||
* Don't use exit() in your backend. You will exit the whole program, not only
|
* Don't use exit() in your backend. You will exit the whole program, not only
|
||||||
your backend.
|
your backend.
|
||||||
|
|
||||||
|
* Please try to avoid compilation warnings. At least with "--disable-warnings"
|
||||||
|
there shouldn't be warnings when compiling backends. It's not necessary to
|
||||||
|
fix every "unused parameter" warning but take care that no warnings pointing
|
||||||
|
to really existing problems or abiguities are missed. Some programming
|
||||||
|
techniques generating warnings on gcc may lead to errors on other systems.
|
||||||
|
|
||||||
* To support translation of SANE options, please mark the descriptions (desc)
|
* To support translation of SANE options, please mark the descriptions (desc)
|
||||||
and title of options with SANE_I18N(). See po/README for details.
|
and title of options with SANE_I18N(). See po/README for details.
|
||||||
|
|
||||||
|
@ -125,6 +161,10 @@ TESTING
|
||||||
(just be sure to enable the "net" backend in dll.conf and follow the
|
(just be sure to enable the "net" backend in dll.conf and follow the
|
||||||
steps described in saned(1)).
|
steps described in saned(1)).
|
||||||
|
|
||||||
|
* Please test on every available platform/os. Even if no scanner is attached
|
||||||
|
to this system, test compilation and running scanimage. If you don't have
|
||||||
|
access to other platforms, ask sane-devel.
|
||||||
|
|
||||||
* Please make sure that all global symbols exported from a SANE
|
* Please make sure that all global symbols exported from a SANE
|
||||||
backend start with the prefix "sane" or "sanei". You can
|
backend start with the prefix "sane" or "sanei". You can
|
||||||
verify this by running GNU "nm" on the static library. For
|
verify this by running GNU "nm" on the static library. For
|
||||||
|
@ -165,6 +205,8 @@ DOCUMENTATION
|
||||||
in this directory. If you only have a manual page a subdirectory isn't
|
in this directory. If you only have a manual page a subdirectory isn't
|
||||||
necessary.
|
necessary.
|
||||||
|
|
||||||
|
* Please keep your manpages and .desc files up-to-date especially regarding
|
||||||
|
version numbers.
|
||||||
|
|
||||||
INCLUDING INTO CVS
|
INCLUDING INTO CVS
|
||||||
------------------
|
------------------
|
||||||
|
|
Ładowanie…
Reference in New Issue