kopia lustrzana https://gitlab.com/sane-project/backends
Information from Wolfgang Rapp on how to build SANE on UnixWare 2.
rodzic
35a32a1168
commit
a0fdbdeda3
|
@ -0,0 +1,221 @@
|
|||
UNIXWARE PORT of SANE - HOWTO build and what you need to run
|
||||
|
||||
You need a sane SCSI driver to run SANE on Unixware 2.x. There is at
|
||||
least one such driver: the sane driver by R=I+S.
|
||||
|
||||
The Unixware sane driver is a binary loadable module driver for UW2.x.
|
||||
Please send Email to wolfgang@rapp-informatik.de to receive.
|
||||
|
||||
What you need to build xane on Unixware 2.x
|
||||
- gnu make
|
||||
- rev binary rev programm for make install.
|
||||
without rev the libs are named wrong.
|
||||
|
||||
You dont't need gcc. All is build with the standard Unixware cc and
|
||||
libs!!
|
||||
|
||||
You need libs to build xscanimage and xsane, like libgtk libgimp and
|
||||
the image libs for jpeg, tiff and png to build the frontends. It is
|
||||
also good to have gettext with libintl installed. Most of the libs
|
||||
are available on the Skunkware CD's from SCO in pkgadd format. If you
|
||||
build the frontends with this libs gimp plugin is also supported by
|
||||
xscanimage and xsane. Latest xsane version tested was 0.48.
|
||||
|
||||
With the following configure should run an build shared libs with
|
||||
libtool 1.3.4
|
||||
|
||||
LD_RUN_PATH=/usr/local/lib CPPFLAGS="-I/usr/local/include -I/isr/X/include" CFLAGS="-I/usr/local/include -I/usr/X/include
|
||||
-I/usr/ucbinclude -L/usr/local/lib -L/usr/ucblib -l ucb" LIBS="-lsocket -lnsl -lgen -I/opt/include -L/usr/ucblib -lucb" ./configure
|
||||
|
||||
After running configure you have to edit the generated file libtool
|
||||
|
||||
Append to the line
|
||||
archive_cmds="\$LD -G -o \$lib \$libobjs \$deplibs \$linkopts
|
||||
|
||||
so that it looks like this.
|
||||
archive_cmds="\$LD -G -o \$lib \$libobjs \$deplibs \$linkopts -B bind_now -L/usr/local/lib -lintl -L/usr/ucblib -lucb -lm"
|
||||
|
||||
This is a must to link the libucb.a , libintl.a in when the sane libs
|
||||
are build.It's also necessary for mathematic lib -lm . Not doing this
|
||||
will bring runtime errors like missimg usleep or pow function.
|
||||
|
||||
ATTENTION:!!! libucb.a of Unixware 2.x has a buggy readdir function so
|
||||
it is recommanded to remove readdir.o from libucb.a with ar -d
|
||||
readdir.o libucb.a Often used and neded functions from libucb.a are
|
||||
strncasecmp or getpagesize.
|
||||
|
||||
If you use -I/usr/ucbinclude it is also a good idea to move
|
||||
/usr/ucbinlcude/unistd.h to another file, because it will be included
|
||||
first and some sources will not compile.
|
||||
|
||||
Then you can run make with GNU make.
|
||||
|
||||
After this say su and then ist good to say
|
||||
LD_RUN_PATH=/usr/local/lib export LD_RUN_PATH
|
||||
|
||||
after this you can install with
|
||||
make install
|
||||
but remenber to have rev binary or the libs will be named in a wrong way
|
||||
|
||||
Tested on Unixware 2.0.x with Umax Astra 1220S and HP C5100A with
|
||||
sane-1.0.1. With Microtek backend earlier on sane-0.74.
|
||||
|
||||
If you use the net backend you do not need the Unixware sanedrv.
|
||||
|
||||
The driver is a shareware product.
|
||||
|
||||
The driver is supplied binary in pkgadd(1m) format and is tested from
|
||||
UW2.0x. Please send Email to wolfgang@rapp-informatik.de to get the
|
||||
driver in binary pkgadd package.
|
||||
|
||||
To install it on a Unixware do:
|
||||
|
||||
cd /tmp
|
||||
get sanedrv.pkg.tgz
|
||||
gunzip sanedrv.pkg.tgz
|
||||
tar xvf sanedrv.pkg.tar
|
||||
as root:
|
||||
pkgadd -d /tmp/sanedrv
|
||||
|
||||
Once the driver is installed, there should be a device nodes /dev/sane
|
||||
and /dev/scanner /dev/scanner1 for the second, and so on...)
|
||||
|
||||
The scanner my be connected to any SCSI controller in the system, also
|
||||
if you have additional devices like disks or cdroms on the same
|
||||
controller. The UW2.x sane driver do not block the controller. The
|
||||
scanner must be switched on to be recognized by UW, if the low level
|
||||
driver p.e. adsl is loaded.
|
||||
|
||||
To configure an UMAX scanner, configuration file
|
||||
/usr/local/etc/sane.d/umax.conf might contain:
|
||||
|
||||
/dev/scanner
|
||||
|
||||
The driver is configured to recognice all scsi scanners with ID
|
||||
SCANNER and all HP Scsi scanners with ID Processor and Inquiry string
|
||||
starting with "HP" string. For details have a look to
|
||||
/etc/conf/pack.d/sane/space.c.
|
||||
|
||||
If you change this then you must unload the sane driver modadmin -U
|
||||
sane, build the new module by /etc/conf/bin/idbuild -M sane and the
|
||||
install the driver with modadmin -l sane.
|
||||
|
||||
If you have questions or problems with the Unixware support in SANE,
|
||||
send mail to:
|
||||
|
||||
wolfgang@rapp-informatik.de
|
||||
|
||||
If you don't have rev here is the source.
|
||||
|
||||
------------ cut here -------------------------------------------------------
|
||||
/*-
|
||||
* Copyright (c) 1987, 1992, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS 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.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char copyright[] =
|
||||
"@(#) Copyright (c) 1987, 1992, 1993\n\
|
||||
The Regents of the University of California. All rights reserved.\n";
|
||||
#endif /* not lint */
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)rev.c 8.3 (Berkeley) 5/4/95";
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
void usage (void);
|
||||
|
||||
int
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
register char *filename, *p, *t;
|
||||
FILE *fp;
|
||||
char line[BUFSIZ];
|
||||
size_t len;
|
||||
int ch, rval;
|
||||
|
||||
while ((ch = getopt(argc, argv, "")) != -1)
|
||||
switch(ch) {
|
||||
case '?':
|
||||
default:
|
||||
usage();
|
||||
}
|
||||
|
||||
argc -= optind;
|
||||
argv += optind;
|
||||
|
||||
fp = stdin;
|
||||
filename = "stdin";
|
||||
rval = 0;
|
||||
do {
|
||||
if (*argv) {
|
||||
if ((fp = fopen(*argv, "r")) == NULL) {
|
||||
perror(*argv);
|
||||
rval = 1;
|
||||
++argv;
|
||||
continue;
|
||||
}
|
||||
filename = *argv++;
|
||||
}
|
||||
while ((p = fgets(line,BUFSIZ,fp)) != NULL) {
|
||||
len = strlen(line);
|
||||
if (p[len - 1] == '\n')
|
||||
--len;
|
||||
t = p + len - 1;
|
||||
for (t = p + len - 1; t >= p; --t)
|
||||
putchar(*t);
|
||||
putchar('\n');
|
||||
}
|
||||
if (ferror(fp)) {
|
||||
perror(filename);
|
||||
rval = 1;
|
||||
}
|
||||
(void)fclose(fp);
|
||||
} while(*argv);
|
||||
exit(rval);
|
||||
}
|
||||
|
||||
void
|
||||
usage()
|
||||
{
|
||||
(void)fprintf(stderr, "usage: rev [file ...]\n");
|
||||
exit(1);
|
||||
}
|
Ładowanie…
Reference in New Issue