Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Config
Commits
68550588
"vscode:/vscode.git/clone" did not exist on "ec85e0bbdff2be839b34272d51cb911b5941c104"
Commit
68550588
authored
Jan 28, 2014
by
Igor Pečovnik
Browse files
source change
parent
0fe94fc2
Changes
53
Hide whitespace changes
Inline
Side-by-side
src/scanbuttond-0.2.3/backends/niash.h
deleted
100644 → 0
View file @
0fe94fc2
// niash.h: Niash device backend
// This file is part of scanbuttond.
// This file is part of scanbuttond.
// Copyleft )c( 2005 by Bernhard Stiftner
// Copyleft )c( 2005 by Dirk Wriedt
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#ifndef __NIASH_H_INCLUDED
#define __NIASH_H_INCLUDED
#include "scanbuttond/backend.h"
#endif
src/scanbuttond-0.2.3/backends/plustek.c
deleted
100644 → 0
View file @
0fe94fc2
// plustek.c: Plustek device backend
// This file is part of scanbuttond.
// Copyleft )c( 2005 by Hans Verkuil
// Copyleft )c( 2005-2006 by Bernhard Stiftner
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <syslog.h>
#include "scanbuttond/scanbuttond.h"
#include "scanbuttond/libusbi.h"
#include "plustek.h"
static
char
*
backend_name
=
"Plustek USB"
;
#define NUM_SUPPORTED_USB_DEVICES 8
static
int
supported_usb_devices
[
NUM_SUPPORTED_USB_DEVICES
][
3
]
=
{
// vendor, product, num_buttons
{
0x04a9
,
0x2207
,
1
},
// CanoScan N1220U
{
0x04a9
,
0x2208
,
1
},
// CanoScan CanoScan D660U
{
0x04a9
,
0x2206
,
1
},
// CanoScan N650U
{
0x04a9
,
0x220d
,
3
},
// CanoScan LiDE 20
{
0x04a9
,
0x2220
,
3
},
// CanoScan LiDE 25
{
0x04a9
,
0x220e
,
3
},
// CanoScan LiDE 30
{
0x04b8
,
0x011d
,
4
},
// Epson Perfection 1260
{
0x03f0
,
0x0605
,
2
}
// HP ScanJet 2200c (maybe only 1 button?)
};
static
char
*
usb_device_descriptions
[
NUM_SUPPORTED_USB_DEVICES
][
2
]
=
{
{
"Canon"
,
"CanoScan N1220U"
},
{
"Canon"
,
"CanoScan D660U"
},
{
"Canon"
,
"CanoScan N650U"
},
{
"Canon"
,
"CanoScan LiDE 20"
},
{
"Canon"
,
"CanoScan LiDE 25"
},
{
"Canon"
,
"CanoScan LiDE 30"
},
{
"Epson"
,
"Perfection 1260"
},
{
"Hewlett-Packard"
,
"ScanJet 2200c"
}
};
libusb_handle_t
*
libusb_handle
;
scanner_t
*
plustek_scanners
=
NULL
;
// returns -1 if the scanner is unsupported, or the index of the
// corresponding vendor-product pair in the supported_usb_devices array.
int
plustek_match_libusb_scanner
(
libusb_device_t
*
device
)
{
int
index
;
for
(
index
=
0
;
index
<
NUM_SUPPORTED_USB_DEVICES
;
index
++
)
{
if
(
supported_usb_devices
[
index
][
0
]
==
device
->
vendorID
&&
supported_usb_devices
[
index
][
1
]
==
device
->
productID
)
{
break
;
}
}
if
(
index
>=
NUM_SUPPORTED_USB_DEVICES
)
return
-
1
;
return
index
;
}
void
plustek_attach_libusb_scanner
(
libusb_device_t
*
device
)
{
const
char
*
descriptor_prefix
=
"plustek:libusb:"
;
int
index
=
plustek_match_libusb_scanner
(
device
);
if
(
index
<
0
)
return
;
// unsupported
scanner_t
*
scanner
=
(
scanner_t
*
)
malloc
(
sizeof
(
scanner_t
));
scanner
->
vendor
=
usb_device_descriptions
[
index
][
0
];
scanner
->
product
=
usb_device_descriptions
[
index
][
1
];
scanner
->
connection
=
CONNECTION_LIBUSB
;
scanner
->
internal_dev_ptr
=
(
void
*
)
device
;
scanner
->
lastbutton
=
0
;
scanner
->
sane_device
=
(
char
*
)
malloc
(
strlen
(
device
->
location
)
+
strlen
(
descriptor_prefix
)
+
1
);
strcpy
(
scanner
->
sane_device
,
descriptor_prefix
);
strcat
(
scanner
->
sane_device
,
device
->
location
);
scanner
->
num_buttons
=
supported_usb_devices
[
index
][
2
];
scanner
->
is_open
=
0
;
scanner
->
next
=
plustek_scanners
;
plustek_scanners
=
scanner
;
}
void
plustek_detach_scanners
(
void
)
{
scanner_t
*
next
;
while
(
plustek_scanners
!=
NULL
)
{
next
=
plustek_scanners
->
next
;
free
(
plustek_scanners
->
sane_device
);
free
(
plustek_scanners
);
plustek_scanners
=
next
;
}
}
void
plustek_scan_devices
(
libusb_device_t
*
devices
)
{
int
index
;
libusb_device_t
*
device
=
devices
;
while
(
device
!=
NULL
)
{
index
=
plustek_match_libusb_scanner
(
device
);
if
(
index
>=
0
)
plustek_attach_libusb_scanner
(
device
);
device
=
device
->
next
;
}
}
int
plustek_init_libusb
(
void
)
{
libusb_device_t
*
devices
;
libusb_handle
=
libusb_init
();
devices
=
libusb_get_devices
(
libusb_handle
);
plustek_scan_devices
(
devices
);
return
0
;
}
const
char
*
scanbtnd_get_backend_name
(
void
)
{
return
backend_name
;
}
int
scanbtnd_init
(
void
)
{
plustek_scanners
=
NULL
;
syslog
(
LOG_INFO
,
"plustek-backend: init"
);
return
plustek_init_libusb
();
}
int
scanbtnd_rescan
(
void
)
{
libusb_device_t
*
devices
;
plustek_detach_scanners
();
plustek_scanners
=
NULL
;
libusb_rescan
(
libusb_handle
);
devices
=
libusb_get_devices
(
libusb_handle
);
plustek_scan_devices
(
devices
);
return
0
;
}
const
scanner_t
*
scanbtnd_get_supported_devices
(
void
)
{
return
plustek_scanners
;
}
int
scanbtnd_open
(
scanner_t
*
scanner
)
{
int
result
=
-
ENOSYS
;
if
(
scanner
->
is_open
)
return
-
EINVAL
;
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
// if devices have been added/removed, return -ENODEV to
// make scanbuttond update its device list
if
(
libusb_get_changed_device_count
()
!=
0
)
return
-
ENODEV
;
result
=
libusb_open
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
);
break
;
}
if
(
result
==
0
)
scanner
->
is_open
=
1
;
return
result
;
}
int
scanbtnd_close
(
scanner_t
*
scanner
)
{
int
result
=
-
ENOSYS
;
if
(
!
scanner
->
is_open
)
return
-
EINVAL
;
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
result
=
libusb_close
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
);
break
;
}
if
(
result
==
0
)
scanner
->
is_open
=
0
;
return
result
;
}
int
plustek_read
(
scanner_t
*
scanner
,
void
*
buffer
,
int
bytecount
)
{
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
return
libusb_read
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
,
buffer
,
bytecount
);
break
;
}
return
-
1
;
}
int
plustek_write
(
scanner_t
*
scanner
,
void
*
buffer
,
int
bytecount
)
{
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
return
libusb_write
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
,
buffer
,
bytecount
);
break
;
}
return
-
1
;
}
void
plustek_flush
(
scanner_t
*
scanner
)
{
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
libusb_flush
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
);
break
;
}
}
int
scanbtnd_get_button
(
scanner_t
*
scanner
)
{
/*
Note 1: I strongly suspect that the command 0x01 0x69 0x00 0x01 will return
a button bitmask. For my Canon N1220U it returns 0x04, which happens to
be the bit I have to test against to see if the scanner button was pressed.
However, this has to be tested on other scanners to see if this is true.
UPDATE by BS: The LIDE 20 also returns 0x04, but it has three buttons!
So this guess is probably wrong. (Thanks to Christian Bucher for this info)
Note 2: This works on my Canon N1220U. Whether this is Canon specific or
if it works for all 'plustek usb' type scanners is something I don't know.
Note 3: You must have run sane-find-scanner once. Sane apparently initializes
something on the scanner allowing this to work. Otherwise all you get is 0x00.
Note 4: by /cbx
On my CanoScan LIDE20, the default value is $62 and the bits for the
buttons are as follows:
Scan: $72 ==> 0x10
Copy: $6a ==> 0x08
Mail: $66 ==> 0x04
*/
unsigned
char
bytes
[
255
];
int
num_bytes
;
int
button
=
0
;
bytes
[
0
]
=
1
;
bytes
[
1
]
=
2
;
bytes
[
2
]
=
0
;
bytes
[
3
]
=
1
;
if
(
!
scanner
->
is_open
)
return
-
EINVAL
;
num_bytes
=
plustek_write
(
scanner
,
(
void
*
)
bytes
,
4
);
if
(
num_bytes
!=
4
)
{
plustek_flush
(
scanner
);
return
0
;
}
num_bytes
=
plustek_read
(
scanner
,
(
void
*
)
bytes
,
1
);
if
(
num_bytes
!=
1
)
{
plustek_flush
(
scanner
);
return
0
;
}
// by BS: This is my first attempt to get rid of the
// hardcoded button bitmask. Note that I do not own any device
// supported by this backend, so this code is based on guessing.
// Tested on the LIDE 20, should work for 1-button devices, too.
switch
(
scanner
->
num_buttons
)
{
case
1
:
if
((
bytes
[
0
]
&
0x04
)
!=
0
)
button
=
1
;
break
;
case
2
:
if
((
bytes
[
0
]
&
0x08
)
!=
0
)
button
=
1
;
if
((
bytes
[
0
]
&
0x04
)
!=
0
)
button
=
2
;
break
;
case
3
:
if
((
bytes
[
0
]
&
0x10
)
!=
0
)
button
=
1
;
if
((
bytes
[
0
]
&
0x08
)
!=
0
)
button
=
2
;
if
((
bytes
[
0
]
&
0x04
)
!=
0
)
button
=
3
;
break
;
case
4
:
// only tested for the Epson Perfection 1260...
// seems to be a bit odd compared to the other cases...
if
((
bytes
[
0
]
&
0x08
)
!=
0
)
button
=
1
;
if
((
bytes
[
0
]
&
0x10
)
!=
0
)
button
=
2
;
if
((
bytes
[
0
]
&
0x20
)
!=
0
)
button
=
3
;
if
((
bytes
[
0
]
&
0x40
)
!=
0
)
button
=
4
;
break
;
}
return
button
;
}
const
char
*
scanbtnd_get_sane_device_descriptor
(
scanner_t
*
scanner
)
{
return
scanner
->
sane_device
;
}
int
scanbtnd_exit
(
void
)
{
syslog
(
LOG_INFO
,
"plustek-backend: exit"
);
plustek_detach_scanners
();
libusb_exit
(
libusb_handle
);
return
0
;
}
src/scanbuttond-0.2.3/backends/plustek.h
deleted
100644 → 0
View file @
0fe94fc2
// plustek.h: Plustek device backend
// This file is part of scanbuttond.
// Copyleft )c( 2005 by Hans Verkuil
// Copyleft )c( 2005 by Bernhard Stiftner
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#ifndef __PLUSTEK_H_INCLUDED
#define __PLUSTEK_H_INCLUDED
#include "scanbuttond/backend.h"
#endif
src/scanbuttond-0.2.3/backends/plustek_umax.c
deleted
100644 → 0
View file @
0fe94fc2
// plustek_umax.c: Plustek device backend for UMAX models
// This file is part of scanbuttond.
// Copyleft )c( 2005 by Hans Verkuil
// Copyleft )c( 2005-2006 by Bernhard Stiftner
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <syslog.h>
#include "scanbuttond/scanbuttond.h"
#include "scanbuttond/libusbi.h"
#include "plustek_umax.h"
static
char
*
backend_name
=
"Plustek USB for UMAX"
;
#define NUM_SUPPORTED_USB_DEVICES 1
static
int
supported_usb_devices
[
NUM_SUPPORTED_USB_DEVICES
][
3
]
=
{
// vendor, product, num_buttons
{
0x1606
,
0x0060
,
4
}
// UMAX Astra 3400 (3450?)
};
static
char
*
usb_device_descriptions
[
NUM_SUPPORTED_USB_DEVICES
][
2
]
=
{
{
"UMAX"
,
"Astra 3400/3450"
}
};
libusb_handle_t
*
libusb_handle
;
scanner_t
*
plustek_scanners
=
NULL
;
// returns -1 if the scanner is unsupported, or the index of the
// corresponding vendor-product pair in the supported_usb_devices array.
int
plustek_match_libusb_scanner
(
libusb_device_t
*
device
)
{
int
index
;
for
(
index
=
0
;
index
<
NUM_SUPPORTED_USB_DEVICES
;
index
++
)
{
if
(
supported_usb_devices
[
index
][
0
]
==
device
->
vendorID
&&
supported_usb_devices
[
index
][
1
]
==
device
->
productID
)
{
break
;
}
}
if
(
index
>=
NUM_SUPPORTED_USB_DEVICES
)
return
-
1
;
return
index
;
}
void
plustek_attach_libusb_scanner
(
libusb_device_t
*
device
)
{
const
char
*
descriptor_prefix
=
"plustek:libusb:"
;
int
index
=
plustek_match_libusb_scanner
(
device
);
if
(
index
<
0
)
return
;
// unsupported
scanner_t
*
scanner
=
(
scanner_t
*
)
malloc
(
sizeof
(
scanner_t
));
scanner
->
vendor
=
usb_device_descriptions
[
index
][
0
];
scanner
->
product
=
usb_device_descriptions
[
index
][
1
];
scanner
->
connection
=
CONNECTION_LIBUSB
;
scanner
->
internal_dev_ptr
=
(
void
*
)
device
;
scanner
->
lastbutton
=
0
;
scanner
->
sane_device
=
(
char
*
)
malloc
(
strlen
(
device
->
location
)
+
strlen
(
descriptor_prefix
)
+
1
);
strcpy
(
scanner
->
sane_device
,
descriptor_prefix
);
strcat
(
scanner
->
sane_device
,
device
->
location
);
scanner
->
num_buttons
=
supported_usb_devices
[
index
][
2
];
scanner
->
is_open
=
0
;
scanner
->
next
=
plustek_scanners
;
plustek_scanners
=
scanner
;
}
void
plustek_detach_scanners
(
void
)
{
scanner_t
*
next
;
while
(
plustek_scanners
!=
NULL
)
{
next
=
plustek_scanners
->
next
;
free
(
plustek_scanners
->
sane_device
);
free
(
plustek_scanners
);
plustek_scanners
=
next
;
}
}
void
plustek_scan_devices
(
libusb_device_t
*
devices
)
{
int
index
;
libusb_device_t
*
device
=
devices
;
while
(
device
!=
NULL
)
{
index
=
plustek_match_libusb_scanner
(
device
);
if
(
index
>=
0
)
plustek_attach_libusb_scanner
(
device
);
device
=
device
->
next
;
}
}
int
plustek_init_libusb
(
void
)
{
libusb_device_t
*
devices
;
libusb_handle
=
libusb_init
();
devices
=
libusb_get_devices
(
libusb_handle
);
plustek_scan_devices
(
devices
);
return
0
;
}
const
char
*
scanbtnd_get_backend_name
(
void
)
{
return
backend_name
;
}
int
scanbtnd_init
(
void
)
{
plustek_scanners
=
NULL
;
syslog
(
LOG_INFO
,
"plustek-umax-backend: init"
);
return
plustek_init_libusb
();
}
int
scanbtnd_rescan
(
void
)
{
libusb_device_t
*
devices
;
plustek_detach_scanners
();
plustek_scanners
=
NULL
;
libusb_rescan
(
libusb_handle
);
devices
=
libusb_get_devices
(
libusb_handle
);
plustek_scan_devices
(
devices
);
return
0
;
}
const
scanner_t
*
scanbtnd_get_supported_devices
(
void
)
{
return
plustek_scanners
;
}
int
scanbtnd_open
(
scanner_t
*
scanner
)
{
int
result
=
-
ENOSYS
;
if
(
scanner
->
is_open
)
return
-
EINVAL
;
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
// if devices have been added/removed, return -ENODEV to
// make scanbuttond update its device list
if
(
libusb_get_changed_device_count
()
!=
0
)
return
-
ENODEV
;
result
=
libusb_open
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
);
break
;
}
if
(
result
==
0
)
scanner
->
is_open
=
1
;
return
result
;
}
int
scanbtnd_close
(
scanner_t
*
scanner
)
{
int
result
=
-
ENOSYS
;
if
(
!
scanner
->
is_open
)
return
-
EINVAL
;
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
result
=
libusb_close
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
);
break
;
}
if
(
result
==
0
)
scanner
->
is_open
=
0
;
return
result
;
}
int
plustek_read
(
scanner_t
*
scanner
,
void
*
buffer
,
int
bytecount
)
{
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
return
libusb_read
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
,
buffer
,
bytecount
);
break
;
}
return
-
1
;
}
int
plustek_write
(
scanner_t
*
scanner
,
void
*
buffer
,
int
bytecount
)
{
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
return
libusb_write
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
,
buffer
,
bytecount
);
break
;
}
return
-
1
;
}
void
plustek_flush
(
scanner_t
*
scanner
)
{
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
libusb_flush
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
);
break
;
}
}
int
scanbtnd_get_button
(
scanner_t
*
scanner
)
{
unsigned
char
bytes
[
255
];
int
num_bytes
;
int
button
=
0
;
bytes
[
0
]
=
1
;
bytes
[
1
]
=
2
;
bytes
[
2
]
=
0
;
bytes
[
3
]
=
1
;
if
(
!
scanner
->
is_open
)
return
-
EINVAL
;
num_bytes
=
plustek_write
(
scanner
,
(
void
*
)
bytes
,
4
);
if
(
num_bytes
!=
4
)
{
plustek_flush
(
scanner
);
return
0
;
}
num_bytes
=
plustek_read
(
scanner
,
(
void
*
)
bytes
,
1
);
if
(
num_bytes
!=
1
)
{
plustek_flush
(
scanner
);
return
0
;
}
switch
(
scanner
->
num_buttons
)
{
case
1
:
// not tested
if
((
bytes
[
0
]
&
0x04
)
!=
0
)
button
=
1
;
break
;
case
2
:
// not tested
if
((
bytes
[
0
]
&
0x08
)
!=
0
)
button
=
1
;
if
((
bytes
[
0
]
&
0x04
)
!=
0
)
button
=
2
;
break
;
case
3
:
// not tested
if
((
bytes
[
0
]
&
0x10
)
!=
0
)
button
=
1
;
if
((
bytes
[
0
]
&
0x08
)
!=
0
)
button
=
2
;
if
((
bytes
[
0
]
&
0x04
)
!=
0
)
button
=
3
;
break
;
case
4
:
// only tested on UMAX Astra 3400
if
((
bytes
[
0
]
&
0x04
)
!=
0
)
button
=
1
;
if
((
bytes
[
0
]
&
0x08
)
!=
0
)
button
=
2
;
if
((
bytes
[
0
]
&
0x40
)
!=
0
)
button
=
3
;
if
((
bytes
[
0
]
&
0x20
)
!=
0
)
button
=
4
;
break
;
}
return
button
;
}
const
char
*
scanbtnd_get_sane_device_descriptor
(
scanner_t
*
scanner
)
{
return
scanner
->
sane_device
;
}
int
scanbtnd_exit
(
void
)
{
syslog
(
LOG_INFO
,
"plustek-umax-backend: exit"
);
plustek_detach_scanners
();
libusb_exit
(
libusb_handle
);
return
0
;
}
src/scanbuttond-0.2.3/backends/plustek_umax.h
deleted
100644 → 0
View file @
0fe94fc2
// plustek_umax.h: Plustek device backend for UMAX models
// This file is part of scanbuttond.
// Copyleft )c( 2005 by Hans Verkuil
// Copyleft )c( 2005 by Bernhard Stiftner
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#ifndef __PLUSTEK_UMAX_H_INCLUDED
#define __PLUSTEK_UMAX_H_INCLUDED
#include "scanbuttond/backend.h"
#endif
src/scanbuttond-0.2.3/backends/snapscan.c
deleted
100644 → 0
View file @
0fe94fc2
// snapscan.c: Snapscan device backend
// This file is part of scanbuttond.
// Copyleft )c( 2005-2006 by Bernhard Stiftner
// Thanks to J. Javier Maestro for sniffing the button codes ;-)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <syslog.h>
#include "scanbuttond/scanbuttond.h"
#include "scanbuttond/libusbi.h"
#include "snapscan.h"
static
char
*
backend_name
=
"Snapscan USB"
;
#define NUM_SUPPORTED_USB_DEVICES 3
static
int
supported_usb_devices
[
NUM_SUPPORTED_USB_DEVICES
][
3
]
=
{
{
0x04b8
,
0x0121
,
4
},
// Epson Perfection 2480
{
0x04b8
,
0x011f
,
4
},
// Epson Perfection 1670
{
0x04b8
,
0x0122
,
4
}
// Epson Perfection 3490
};
// TODO: check if this backend really works on the Epson 2580 too...
static
char
*
usb_device_descriptions
[
NUM_SUPPORTED_USB_DEVICES
][
2
]
=
{
{
"Epson"
,
"Perfection 2480 / 2580"
},
{
"Epson"
,
"Perfection 1670"
},
{
"Epson"
,
"Perfection 3490"
}
};
libusb_handle_t
*
libusb_handle
;
scanner_t
*
snapscan_scanners
=
NULL
;
// returns -1 if the scanner is unsupported, or the index of the
// corresponding vendor-product pair in the supported_usb_devices array.
int
snapscan_match_libusb_scanner
(
libusb_device_t
*
device
)
{
int
index
;
for
(
index
=
0
;
index
<
NUM_SUPPORTED_USB_DEVICES
;
index
++
)
{
if
(
supported_usb_devices
[
index
][
0
]
==
device
->
vendorID
&&
supported_usb_devices
[
index
][
1
]
==
device
->
productID
)
{
break
;
}
}
if
(
index
>=
NUM_SUPPORTED_USB_DEVICES
)
return
-
1
;
return
index
;
}
void
snapscan_attach_libusb_scanner
(
libusb_device_t
*
device
)
{
const
char
*
descriptor_prefix
=
"snapscan:libusb:"
;
int
index
=
snapscan_match_libusb_scanner
(
device
);
if
(
index
<
0
)
return
;
// unsupported
scanner_t
*
scanner
=
(
scanner_t
*
)
malloc
(
sizeof
(
scanner_t
));
scanner
->
vendor
=
usb_device_descriptions
[
index
][
0
];
scanner
->
product
=
usb_device_descriptions
[
index
][
1
];
scanner
->
connection
=
CONNECTION_LIBUSB
;
scanner
->
internal_dev_ptr
=
(
void
*
)
device
;
scanner
->
lastbutton
=
0
;
scanner
->
sane_device
=
(
char
*
)
malloc
(
strlen
(
device
->
location
)
+
strlen
(
descriptor_prefix
)
+
1
);
strcpy
(
scanner
->
sane_device
,
descriptor_prefix
);
strcat
(
scanner
->
sane_device
,
device
->
location
);
scanner
->
num_buttons
=
supported_usb_devices
[
index
][
2
];
scanner
->
is_open
=
0
;
scanner
->
next
=
snapscan_scanners
;
snapscan_scanners
=
scanner
;
}
void
snapscan_detach_scanners
(
void
)
{
scanner_t
*
next
;
while
(
snapscan_scanners
!=
NULL
)
{
next
=
snapscan_scanners
->
next
;
free
(
snapscan_scanners
->
sane_device
);
free
(
snapscan_scanners
);
snapscan_scanners
=
next
;
}
}
void
snapscan_scan_devices
(
libusb_device_t
*
devices
)
{
int
index
;
libusb_device_t
*
device
=
devices
;
while
(
device
!=
NULL
)
{
index
=
snapscan_match_libusb_scanner
(
device
);
if
(
index
>=
0
)
snapscan_attach_libusb_scanner
(
device
);
device
=
device
->
next
;
}
}
int
snapscan_init_libusb
(
void
)
{
libusb_device_t
*
devices
;
libusb_handle
=
libusb_init
();
devices
=
libusb_get_devices
(
libusb_handle
);
snapscan_scan_devices
(
devices
);
return
0
;
}
const
char
*
scanbtnd_get_backend_name
(
void
)
{
return
backend_name
;
}
int
scanbtnd_init
(
void
)
{
snapscan_scanners
=
NULL
;
syslog
(
LOG_INFO
,
"snapscan-backend: init"
);
return
snapscan_init_libusb
();
}
int
scanbtnd_rescan
(
void
)
{
libusb_device_t
*
devices
;
snapscan_detach_scanners
();
snapscan_scanners
=
NULL
;
libusb_rescan
(
libusb_handle
);
devices
=
libusb_get_devices
(
libusb_handle
);
snapscan_scan_devices
(
devices
);
return
0
;
}
const
scanner_t
*
scanbtnd_get_supported_devices
(
void
)
{
return
snapscan_scanners
;
}
int
scanbtnd_open
(
scanner_t
*
scanner
)
{
int
result
=
-
ENOSYS
;
if
(
scanner
->
is_open
)
return
-
EINVAL
;
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
// if devices have been added/removed, return -ENODEV to
// make scanbuttond update its device list
if
(
libusb_get_changed_device_count
()
!=
0
)
return
-
ENODEV
;
result
=
libusb_open
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
);
break
;
}
if
(
result
==
0
)
scanner
->
is_open
=
1
;
return
result
;
}
int
scanbtnd_close
(
scanner_t
*
scanner
)
{
int
result
=
-
ENOSYS
;
if
(
!
scanner
->
is_open
)
return
-
EINVAL
;
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
result
=
libusb_close
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
);
break
;
}
if
(
result
==
0
)
scanner
->
is_open
=
0
;
return
result
;
}
int
snapscan_read
(
scanner_t
*
scanner
,
void
*
buffer
,
int
bytecount
)
{
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
return
libusb_read
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
,
buffer
,
bytecount
);
break
;
}
return
-
1
;
}
int
snapscan_write
(
scanner_t
*
scanner
,
void
*
buffer
,
int
bytecount
)
{
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
return
libusb_write
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
,
buffer
,
bytecount
);
break
;
}
return
-
1
;
}
void
snapscan_flush
(
scanner_t
*
scanner
)
{
switch
(
scanner
->
connection
)
{
case
CONNECTION_LIBUSB
:
libusb_flush
((
libusb_device_t
*
)
scanner
->
internal_dev_ptr
);
break
;
}
}
int
scanbtnd_get_button
(
scanner_t
*
scanner
)
{
unsigned
char
bytes
[
255
];
int
num_bytes
;
int
button
=
0
;
bytes
[
0
]
=
0x03
;
bytes
[
1
]
=
0x00
;
bytes
[
2
]
=
0x00
;
bytes
[
3
]
=
0x00
;
bytes
[
4
]
=
0x14
;
bytes
[
5
]
=
0x00
;
if
(
!
scanner
->
is_open
)
return
-
EINVAL
;
num_bytes
=
snapscan_write
(
scanner
,
(
void
*
)
bytes
,
6
);
if
(
num_bytes
!=
6
)
{
snapscan_flush
(
scanner
);
return
0
;
}
num_bytes
=
snapscan_read
(
scanner
,
(
void
*
)
bytes
,
8
);
if
(
num_bytes
!=
8
||
bytes
[
0
]
!=
0xF9
)
{
snapscan_flush
(
scanner
);
return
0
;
}
num_bytes
=
snapscan_read
(
scanner
,
(
void
*
)
bytes
,
20
);
if
(
num_bytes
!=
20
||
bytes
[
0
]
!=
0xF0
)
{
snapscan_flush
(
scanner
);
return
0
;
}
if
(
bytes
[
2
]
==
0x06
)
{
switch
(
bytes
[
18
]
&
0xF0
)
{
case
0x10
:
button
=
1
;
break
;
case
0x20
:
button
=
2
;
break
;
case
0x40
:
button
=
3
;
break
;
case
0x80
:
button
=
4
;
break
;
default:
button
=
0
;
break
;
}
}
num_bytes
=
snapscan_read
(
scanner
,
(
void
*
)
bytes
,
8
);
if
(
num_bytes
!=
8
||
bytes
[
0
]
!=
0xFB
)
{
snapscan_flush
(
scanner
);
return
0
;
}
return
button
;
}
const
char
*
scanbtnd_get_sane_device_descriptor
(
scanner_t
*
scanner
)
{
return
scanner
->
sane_device
;
}
int
scanbtnd_exit
(
void
)
{
syslog
(
LOG_INFO
,
"snapscan-backend: exit"
);
snapscan_detach_scanners
();
libusb_exit
(
libusb_handle
);
return
0
;
}
src/scanbuttond-0.2.3/backends/snapscan.h
deleted
100644 → 0
View file @
0fe94fc2
// snapscan.h: Snapscan device backend
// This file is part of scanbuttond.
// Copyleft )c( 2005 by Bernhard Stiftner
// Thanks to J. Javier Maestro for sniffing the button codes ;-)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#ifndef __SNAPSCAN_H_INCLUDED
#define __SNAPSCAN_H_INCLUDED
#include "scanbuttond/backend.h"
#endif
src/scanbuttond-0.2.3/config.guess
deleted
100644 → 0
View file @
0fe94fc2
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
timestamp
=
'2005-12-23'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Per Bothner <per@bothner.com>.
# Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted ChangeLog entry.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
# The plan is that this can be called by configure scripts if you
# don't specify an explicit build system type.
me
=
`
echo
"
$0
"
|
sed
-e
's,.*/,,'
`
usage
=
"
\
Usage:
$0
[OPTION]
Output the configuration name of the system
\`
$me
' is run on.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to <config-patches@gnu.org>."
version
=
"
\
GNU config.guess (
$timestamp
)
Originally written by Per Bothner.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help
=
"
Try
\`
$me
--help' for more information."
# Parse command line
while
test
$#
-gt
0
;
do
case
$1
in
--time-stamp
|
--time
*
|
-t
)
echo
"
$timestamp
"
;
exit
;;
--version
|
-v
)
echo
"
$version
"
;
exit
;;
--help
|
--h
*
|
-h
)
echo
"
$usage
"
;
exit
;;
--
)
# Stop option processing
shift
;
break
;;
-
)
# Use stdin as input.
break
;;
-
*
)
echo
"
$me
: invalid option
$1$help
"
>
&2
exit
1
;;
*
)
break
;;
esac
done
if
test
$#
!=
0
;
then
echo
"
$me
: too many arguments
$help
"
>
&2
exit
1
fi
trap
'exit 1'
1 2 15
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
# Portable tmp directory creation inspired by the Autoconf team.
set_cc_for_build
=
'
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int x;" > $dummy.c ;
for c in cc gcc c89 c99 ; do
if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found ;
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
esac ; set_cc_for_build= ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
if
(
test
-f
/.attbin/uname
)
>
/dev/null 2>&1
;
then
PATH
=
$PATH
:/.attbin
;
export
PATH
fi
UNAME_MACHINE
=
`
(
uname
-m
)
2>/dev/null
`
||
UNAME_MACHINE
=
unknown
UNAME_RELEASE
=
`
(
uname
-r
)
2>/dev/null
`
||
UNAME_RELEASE
=
unknown
UNAME_SYSTEM
=
`
(
uname
-s
)
2>/dev/null
`
||
UNAME_SYSTEM
=
unknown
UNAME_VERSION
=
`
(
uname
-v
)
2>/dev/null
`
||
UNAME_VERSION
=
unknown
if
[
"
${
UNAME_SYSTEM
}
"
=
"Linux"
]
;
then
eval
$set_cc_for_build
cat
<<
EOF
>
$dummy
.c
#include <features.h>
#ifdef __UCLIBC__
# ifdef __UCLIBC_CONFIG_VERSION__
LIBC=uclibc __UCLIBC_CONFIG_VERSION__
# else
LIBC=uclibc
# endif
#else
LIBC=gnu
#endif
EOF
eval
`
$CC_FOR_BUILD
-E
$dummy
.c 2>/dev/null |
grep
LIBC
=
|
sed
-e
's: ::g'
`
fi
# Note: order is significant - the case branches are not exclusive.
case
"
${
UNAME_MACHINE
}
:
${
UNAME_SYSTEM
}
:
${
UNAME_RELEASE
}
:
${
UNAME_VERSION
}
"
in
*
:NetBSD:
*
:
*
)
# NetBSD (nbsd) targets should (where applicable) match one or
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
# compatibility and a consistent mechanism for selecting the
# object file format.
#
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl
=
"sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH
=
`
(
/sbin/
$sysctl
2>/dev/null
||
\
/usr/sbin/
$sysctl
2>/dev/null
||
echo
unknown
)
`
case
"
${
UNAME_MACHINE_ARCH
}
"
in
armeb
)
machine
=
armeb-unknown
;;
arm
*
)
machine
=
arm-unknown
;;
sh3el
)
machine
=
shl-unknown
;;
sh3eb
)
machine
=
sh-unknown
;;
*
)
machine
=
${
UNAME_MACHINE_ARCH
}
-unknown
;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case
"
${
UNAME_MACHINE_ARCH
}
"
in
arm
*
|
i386|m68k|ns32k|sh3
*
|
sparc|vax
)
eval
$set_cc_for_build
if
echo
__ELF__ |
$CC_FOR_BUILD
-E
- 2>/dev/null
\
|
grep
__ELF__
>
/dev/null
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
os
=
netbsd
else
os
=
netbsdelf
fi
;;
*
)
os
=
netbsd
;;
esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
case
"
${
UNAME_VERSION
}
"
in
Debian
*
)
release
=
'-gnu'
;;
*
)
release
=
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[-_].*/\./'
`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo
"
${
machine
}
-
${
os
}${
release
}
"
exit
;;
*
:OpenBSD:
*
:
*
)
UNAME_MACHINE_ARCH
=
`
arch
|
sed
's/OpenBSD.//'
`
echo
${
UNAME_MACHINE_ARCH
}
-unknown-openbsd
${
UNAME_RELEASE
}
exit
;;
*
:ekkoBSD:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-ekkobsd
${
UNAME_RELEASE
}
exit
;;
macppc:MirBSD:
*
:
*
)
echo
powerppc-unknown-mirbsd
${
UNAME_RELEASE
}
exit
;;
*
:MirBSD:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-mirbsd
${
UNAME_RELEASE
}
exit
;;
alpha:OSF1:
*
:
*
)
case
$UNAME_RELEASE
in
*
4.0
)
UNAME_RELEASE
=
`
/usr/sbin/sizer
-v
|
awk
'{print $3}'
`
;;
*
5.
*
)
UNAME_RELEASE
=
`
/usr/sbin/sizer
-v
|
awk
'{print $4}'
`
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
# OSF/1 and Tru64 systems produced since 1995. I hope that
# covers most systems running today. This code pipes the CPU
# types through head -n 1, so we only detect the type of CPU 0.
ALPHA_CPU_TYPE
=
`
/usr/sbin/psrinfo
-v
|
sed
-n
-e
's/^ The alpha \(.*\) processor.*$/\1/p'
|
head
-n
1
`
case
"
$ALPHA_CPU_TYPE
"
in
"EV4 (21064)"
)
UNAME_MACHINE
=
"alpha"
;;
"EV4.5 (21064)"
)
UNAME_MACHINE
=
"alpha"
;;
"LCA4 (21066/21068)"
)
UNAME_MACHINE
=
"alpha"
;;
"EV5 (21164)"
)
UNAME_MACHINE
=
"alphaev5"
;;
"EV5.6 (21164A)"
)
UNAME_MACHINE
=
"alphaev56"
;;
"EV5.6 (21164PC)"
)
UNAME_MACHINE
=
"alphapca56"
;;
"EV5.7 (21164PC)"
)
UNAME_MACHINE
=
"alphapca57"
;;
"EV6 (21264)"
)
UNAME_MACHINE
=
"alphaev6"
;;
"EV6.7 (21264A)"
)
UNAME_MACHINE
=
"alphaev67"
;;
"EV6.8CB (21264C)"
)
UNAME_MACHINE
=
"alphaev68"
;;
"EV6.8AL (21264B)"
)
UNAME_MACHINE
=
"alphaev68"
;;
"EV6.8CX (21264D)"
)
UNAME_MACHINE
=
"alphaev68"
;;
"EV6.9A (21264/EV69A)"
)
UNAME_MACHINE
=
"alphaev69"
;;
"EV7 (21364)"
)
UNAME_MACHINE
=
"alphaev7"
;;
"EV7.9 (21364A)"
)
UNAME_MACHINE
=
"alphaev79"
;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo
${
UNAME_MACHINE
}
-dec-osf
`
echo
${
UNAME_RELEASE
}
|
sed
-e
's/^[PVTX]//'
|
tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'
`
exit
;;
Alpha
\
*
:Windows_NT
*
:
*
)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo
alpha-pc-interix
exit
;;
21064:Windows_NT:50:3
)
echo
alpha-dec-winnt3.5
exit
;;
Amiga
*
:UNIX_System_V:4.0:
*
)
echo
m68k-unknown-sysv4
exit
;;
*
:[Aa]miga[Oo][Ss]:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-amigaos
exit
;;
*
:[Mm]orph[Oo][Ss]:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-morphos
exit
;;
*
:OS/390:
*
:
*
)
echo
i370-ibm-openedition
exit
;;
*
:z/VM:
*
:
*
)
echo
s390-ibm-zvmoe
exit
;;
*
:OS400:
*
:
*
)
echo
powerpc-ibm-os400
exit
;;
arm:RISC
*
:1.[012]
*
:
*
|
arm:riscix:1.[012]
*
:
*
)
echo
arm-acorn-riscix
${
UNAME_RELEASE
}
exit
;;
arm:riscos:
*
:
*
|
arm:RISCOS:
*
:
*
)
echo
arm-unknown-riscos
exit
;;
SR2?01:HI-UX/MPP:
*
:
*
|
SR8000:HI-UX/MPP:
*
:
*
)
echo
hppa1.1-hitachi-hiuxmpp
exit
;;
Pyramid
*
:OSx
*
:
*
:
*
|
MIS
*
:OSx
*
:
*
:
*
|
MIS
*
:SMP_DC-OSx
*
:
*
:
*
)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if
test
"
`
(
/bin/universe
)
2>/dev/null
`
"
=
att
;
then
echo
pyramid-pyramid-sysv3
else
echo
pyramid-pyramid-bsd
fi
exit
;;
NILE
*
:
*
:
*
:dcosx
)
echo
pyramid-pyramid-svr4
exit
;;
DRS?6000:unix:4.0:6
*
)
echo
sparc-icl-nx6
exit
;;
DRS?6000:UNIX_SV:4.2
*
:7
*
|
DRS?6000:isis:4.2
*
:7
*
)
case
`
/usr/bin/uname
-p
`
in
sparc
)
echo
sparc-icl-nx7
;
exit
;;
esac
;;
sun4H:SunOS:5.
*
:
*
)
echo
sparc-hal-solaris2
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*//'
`
exit
;;
sun4
*
:SunOS:5.
*
:
*
|
tadpole
*
:SunOS:5.
*
:
*
)
echo
sparc-sun-solaris2
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*//'
`
exit
;;
i86pc:SunOS:5.
*
:
*
)
echo
i386-pc-solaris2
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*//'
`
exit
;;
sun4
*
:SunOS:6
*
:
*
)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo
sparc-sun-solaris3
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*//'
`
exit
;;
sun4
*
:SunOS:
*
:
*
)
case
"
`
/usr/bin/arch
-k
`
"
in
Series
*
|
S4
*
)
UNAME_RELEASE
=
`
uname
-v
`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo
sparc-sun-sunos
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/-/_/'
`
exit
;;
sun3
*
:SunOS:
*
:
*
)
echo
m68k-sun-sunos
${
UNAME_RELEASE
}
exit
;;
sun
*
:
*
:4.2BSD:
*
)
UNAME_RELEASE
=
`
(
sed
1q /etc/motd |
awk
'{print substr($5,1,3)}'
)
2>/dev/null
`
test
"x
${
UNAME_RELEASE
}
"
=
"x"
&&
UNAME_RELEASE
=
3
case
"
`
/bin/arch
`
"
in
sun3
)
echo
m68k-sun-sunos
${
UNAME_RELEASE
}
;;
sun4
)
echo
sparc-sun-sunos
${
UNAME_RELEASE
}
;;
esac
exit
;;
aushp:SunOS:
*
:
*
)
echo
sparc-auspex-sunos
${
UNAME_RELEASE
}
exit
;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
# to the lowercase version "mint" (or "freemint"). Finally
# the system name "TOS" denotes a system which is actually not
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:
*
MiNT:
*
:
*
|
atarist[e]:
*
mint:
*
:
*
|
atarist[e]:
*
TOS:
*
:
*
)
echo
m68k-atari-mint
${
UNAME_RELEASE
}
exit
;;
atari
*
:
*
MiNT:
*
:
*
|
atari
*
:
*
mint:
*
:
*
|
atarist[e]:
*
TOS:
*
:
*
)
echo
m68k-atari-mint
${
UNAME_RELEASE
}
exit
;;
*
falcon
*
:
*
MiNT:
*
:
*
|
*
falcon
*
:
*
mint:
*
:
*
|
*
falcon
*
:
*
TOS:
*
:
*
)
echo
m68k-atari-mint
${
UNAME_RELEASE
}
exit
;;
milan
*
:
*
MiNT:
*
:
*
|
milan
*
:
*
mint:
*
:
*
|
*
milan
*
:
*
TOS:
*
:
*
)
echo
m68k-milan-mint
${
UNAME_RELEASE
}
exit
;;
hades
*
:
*
MiNT:
*
:
*
|
hades
*
:
*
mint:
*
:
*
|
*
hades
*
:
*
TOS:
*
:
*
)
echo
m68k-hades-mint
${
UNAME_RELEASE
}
exit
;;
*
:
*
MiNT:
*
:
*
|
*
:
*
mint:
*
:
*
|
*
:
*
TOS:
*
:
*
)
echo
m68k-unknown-mint
${
UNAME_RELEASE
}
exit
;;
m68k:machten:
*
:
*
)
echo
m68k-apple-machten
${
UNAME_RELEASE
}
exit
;;
powerpc:machten:
*
:
*
)
echo
powerpc-apple-machten
${
UNAME_RELEASE
}
exit
;;
RISC
*
:Mach:
*
:
*
)
echo
mips-dec-mach_bsd4.3
exit
;;
RISC
*
:ULTRIX:
*
:
*
)
echo
mips-dec-ultrix
${
UNAME_RELEASE
}
exit
;;
VAX
*
:ULTRIX
*
:
*
:
*
)
echo
vax-dec-ultrix
${
UNAME_RELEASE
}
exit
;;
2020:CLIX:
*
:
*
|
2430:CLIX:
*
:
*
)
echo
clipper-intergraph-clix
${
UNAME_RELEASE
}
exit
;;
mips:
*
:
*
:UMIPS
|
mips:
*
:
*
:RISCos
)
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv
\n
", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4
\n
", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd
\n
", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
$CC_FOR_BUILD
-o
$dummy
$dummy
.c
&&
dummyarg
=
`
echo
"
${
UNAME_RELEASE
}
"
|
sed
-n
's/\([0-9]*\).*/\1/p'
`
&&
SYSTEM_NAME
=
`
$dummy
$dummyarg
`
&&
{
echo
"
$SYSTEM_NAME
"
;
exit
;
}
echo
mips-mips-riscos
${
UNAME_RELEASE
}
exit
;;
Motorola:PowerMAX_OS:
*
:
*
)
echo
powerpc-motorola-powermax
exit
;;
Motorola:
*
:4.3:PL8-
*
)
echo
powerpc-harris-powermax
exit
;;
Night_Hawk:
*
:
*
:PowerMAX_OS
|
Synergy:PowerMAX_OS:
*
:
*
)
echo
powerpc-harris-powermax
exit
;;
Night_Hawk:Power_UNIX:
*
:
*
)
echo
powerpc-harris-powerunix
exit
;;
m88k:CX/UX:7
*
:
*
)
echo
m88k-harris-cxux7
exit
;;
m88k:
*
:4
*
:R4
*
)
echo
m88k-motorola-sysv4
exit
;;
m88k:
*
:3
*
:R3
*
)
echo
m88k-motorola-sysv3
exit
;;
AViiON:dgux:
*
:
*
)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR
=
`
/usr/bin/uname
-p
`
if
[
$UNAME_PROCESSOR
=
mc88100
]
||
[
$UNAME_PROCESSOR
=
mc88110
]
then
if
[
${
TARGET_BINARY_INTERFACE
}
x
=
m88kdguxelfx
]
||
\
[
${
TARGET_BINARY_INTERFACE
}
x
=
x
]
then
echo
m88k-dg-dgux
${
UNAME_RELEASE
}
else
echo
m88k-dg-dguxbcs
${
UNAME_RELEASE
}
fi
else
echo
i586-dg-dgux
${
UNAME_RELEASE
}
fi
exit
;;
M88
*
:DolphinOS:
*
:
*
)
# DolphinOS (SVR3)
echo
m88k-dolphin-sysv3
exit
;;
M88
*
:
*
:R3
*
:
*
)
# Delta 88k system running SVR3
echo
m88k-motorola-sysv3
exit
;;
XD88
*
:
*
:
*
:
*
)
# Tektronix XD88 system running UTekV (SVR3)
echo
m88k-tektronix-sysv3
exit
;;
Tek43[0-9][0-9]:UTek:
*
:
*
)
# Tektronix 4300 system running UTek (BSD)
echo
m68k-tektronix-bsd
exit
;;
*
:IRIX
*
:
*
:
*
)
echo
mips-sgi-irix
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/-/_/g'
`
exit
;;
????????:AIX?:[12].1:2
)
# AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo
romp-ibm-aix
# uname -m gives an 8 hex-code CPU id
exit
;;
# Note that: echo "'`uname -s`'" gives 'AIX '
i
*
86:AIX:
*
:
*
)
echo
i386-ibm-aix
exit
;;
ia64:AIX:
*
:
*
)
if
[
-x
/usr/bin/oslevel
]
;
then
IBM_REV
=
`
/usr/bin/oslevel
`
else
IBM_REV
=
${
UNAME_VERSION
}
.
${
UNAME_RELEASE
}
fi
echo
${
UNAME_MACHINE
}
-ibm-aix
${
IBM_REV
}
exit
;;
*
:AIX:2:3
)
if
grep
bos325 /usr/include/stdio.h
>
/dev/null 2>&1
;
then
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#include <sys/systemcfg.h>
main()
{
if (!__power_pc())
exit(1);
puts("powerpc-ibm-aix3.2.5");
exit(0);
}
EOF
if
$CC_FOR_BUILD
-o
$dummy
$dummy
.c
&&
SYSTEM_NAME
=
`
$dummy
`
then
echo
"
$SYSTEM_NAME
"
else
echo
rs6000-ibm-aix3.2.5
fi
elif
grep
bos324 /usr/include/stdio.h
>
/dev/null 2>&1
;
then
echo
rs6000-ibm-aix3.2.4
else
echo
rs6000-ibm-aix3.2
fi
exit
;;
*
:AIX:
*
:[45]
)
IBM_CPU_ID
=
`
/usr/sbin/lsdev
-C
-c
processor
-S
available |
sed
1q |
awk
'{ print $1 }'
`
if
/usr/sbin/lsattr
-El
${
IBM_CPU_ID
}
|
grep
' POWER'
>
/dev/null 2>&1
;
then
IBM_ARCH
=
rs6000
else
IBM_ARCH
=
powerpc
fi
if
[
-x
/usr/bin/oslevel
]
;
then
IBM_REV
=
`
/usr/bin/oslevel
`
else
IBM_REV
=
${
UNAME_VERSION
}
.
${
UNAME_RELEASE
}
fi
echo
${
IBM_ARCH
}
-ibm-aix
${
IBM_REV
}
exit
;;
*
:AIX:
*
:
*
)
echo
rs6000-ibm-aix
exit
;;
ibmrt:4.4BSD:
*
|
romp-ibm:BSD:
*
)
echo
romp-ibm-bsd4.4
exit
;;
ibmrt:
*
BSD:
*
|
romp-ibm:BSD:
*
)
# covers RT/PC BSD and
echo
romp-ibm-bsd
${
UNAME_RELEASE
}
# 4.3 with uname added to
exit
;;
# report: romp-ibm BSD 4.3
*
:BOSX:
*
:
*
)
echo
rs6000-bull-bosx
exit
;;
DPX/2?00:B.O.S.:
*
:
*
)
echo
m68k-bull-sysv3
exit
;;
9000/[34]??:4.3bsd:1.
*
:
*
)
echo
m68k-hp-bsd
exit
;;
hp300:4.4BSD:
*
:
*
|
9000/[34]??:4.3bsd:2.
*
:
*
)
echo
m68k-hp-bsd4.4
exit
;;
9000/[34678]??:HP-UX:
*
:
*
)
HPUX_REV
=
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*.[0B]*//'
`
case
"
${
UNAME_MACHINE
}
"
in
9000/31?
)
HP_ARCH
=
m68000
;;
9000/[34]??
)
HP_ARCH
=
m68k
;;
9000/[678][0-9][0-9]
)
if
[
-x
/usr/bin/getconf
]
;
then
sc_cpu_version
=
`
/usr/bin/getconf SC_CPU_VERSION 2>/dev/null
`
sc_kernel_bits
=
`
/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null
`
case
"
${
sc_cpu_version
}
"
in
523
)
HP_ARCH
=
"hppa1.0"
;;
# CPU_PA_RISC1_0
528
)
HP_ARCH
=
"hppa1.1"
;;
# CPU_PA_RISC1_1
532
)
# CPU_PA_RISC2_0
case
"
${
sc_kernel_bits
}
"
in
32
)
HP_ARCH
=
"hppa2.0n"
;;
64
)
HP_ARCH
=
"hppa2.0w"
;;
''
)
HP_ARCH
=
"hppa2.0"
;;
# HP-UX 10.20
esac
;;
esac
fi
if
[
"
${
HP_ARCH
}
"
=
""
]
;
then
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#define _HPUX_SOURCE
#include <stdlib.h>
#include <unistd.h>
int main ()
{
#if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS);
#endif
long cpu = sysconf (_SC_CPU_VERSION);
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
case CPU_PA_RISC2_0:
#if defined(_SC_KERNEL_BITS)
switch (bits)
{
case 64: puts ("hppa2.0w"); break;
case 32: puts ("hppa2.0n"); break;
default: puts ("hppa2.0"); break;
} break;
#else /* !defined(_SC_KERNEL_BITS) */
puts ("hppa2.0"); break;
#endif
default: puts ("hppa1.0"); break;
}
exit (0);
}
EOF
(
CCOPTS
=
$CC_FOR_BUILD
-o
$dummy
$dummy
.c 2>/dev/null
)
&&
HP_ARCH
=
`
$dummy
`
test
-z
"
$HP_ARCH
"
&&
HP_ARCH
=
hppa
fi
;;
esac
if
[
${
HP_ARCH
}
=
"hppa2.0w"
]
then
eval
$set_cc_for_build
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
# generating 64-bit code. GNU and HP use different nomenclature:
#
# $ CC_FOR_BUILD=cc ./config.guess
# => hppa2.0w-hp-hpux11.23
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
# => hppa64-hp-hpux11.23
if
echo
__LP64__ |
(
CCOPTS
=
$CC_FOR_BUILD
-E
- 2>/dev/null
)
|
grep
__LP64__
>
/dev/null
then
HP_ARCH
=
"hppa2.0w"
else
HP_ARCH
=
"hppa64"
fi
fi
echo
${
HP_ARCH
}
-hp-hpux
${
HPUX_REV
}
exit
;;
ia64:HP-UX:
*
:
*
)
HPUX_REV
=
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*.[0B]*//'
`
echo
ia64-hp-hpux
${
HPUX_REV
}
exit
;;
3050
*
:HI-UX:
*
:
*
)
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#include <unistd.h>
int
main ()
{
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
results, however. */
if (CPU_IS_PA_RISC (cpu))
{
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
default: puts ("hppa-hitachi-hiuxwe2"); break;
}
}
else if (CPU_IS_HP_MC68K (cpu))
puts ("m68k-hitachi-hiuxwe2");
else puts ("unknown-hitachi-hiuxwe2");
exit (0);
}
EOF
$CC_FOR_BUILD
-o
$dummy
$dummy
.c
&&
SYSTEM_NAME
=
`
$dummy
`
&&
{
echo
"
$SYSTEM_NAME
"
;
exit
;
}
echo
unknown-hitachi-hiuxwe2
exit
;;
9000/7??:4.3bsd:
*
:
*
|
9000/8?[79]:4.3bsd:
*
:
*
)
echo
hppa1.1-hp-bsd
exit
;;
9000/8??:4.3bsd:
*
:
*
)
echo
hppa1.0-hp-bsd
exit
;;
*
9??
*
:MPE/iX:
*
:
*
|
*
3000
*
:MPE/iX:
*
:
*
)
echo
hppa1.0-hp-mpeix
exit
;;
hp7??:OSF1:
*
:
*
|
hp8?[79]:OSF1:
*
:
*
)
echo
hppa1.1-hp-osf
exit
;;
hp8??:OSF1:
*
:
*
)
echo
hppa1.0-hp-osf
exit
;;
i
*
86:OSF1:
*
:
*
)
if
[
-x
/usr/sbin/sysversion
]
;
then
echo
${
UNAME_MACHINE
}
-unknown-osf1mk
else
echo
${
UNAME_MACHINE
}
-unknown-osf1
fi
exit
;;
parisc
*
:Lites
*
:
*
:
*
)
echo
hppa1.1-hp-lites
exit
;;
C1
*
:ConvexOS:
*
:
*
|
convex:ConvexOS:C1
*
:
*
)
echo
c1-convex-bsd
exit
;;
C2
*
:ConvexOS:
*
:
*
|
convex:ConvexOS:C2
*
:
*
)
if
getsysinfo
-f
scalar_acc
then
echo
c32-convex-bsd
else
echo
c2-convex-bsd
fi
exit
;;
C34
*
:ConvexOS:
*
:
*
|
convex:ConvexOS:C34
*
:
*
)
echo
c34-convex-bsd
exit
;;
C38
*
:ConvexOS:
*
:
*
|
convex:ConvexOS:C38
*
:
*
)
echo
c38-convex-bsd
exit
;;
C4
*
:ConvexOS:
*
:
*
|
convex:ConvexOS:C4
*
:
*
)
echo
c4-convex-bsd
exit
;;
CRAY
*
Y-MP:
*
:
*
:
*
)
echo
ymp-cray-unicos
${
UNAME_RELEASE
}
|
sed
-e
's/\.[^.]*$/.X/'
exit
;;
CRAY
*
[
A-Z]90:
*
:
*
:
*
)
echo
${
UNAME_MACHINE
}
-cray-unicos
${
UNAME_RELEASE
}
\
|
sed
-e
's/CRAY.*\([A-Z]90\)/\1/'
\
-e
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
\
-e
's/\.[^.]*$/.X/'
exit
;;
CRAY
*
TS:
*
:
*
:
*
)
echo
t90-cray-unicos
${
UNAME_RELEASE
}
|
sed
-e
's/\.[^.]*$/.X/'
exit
;;
CRAY
*
T3E:
*
:
*
:
*
)
echo
alphaev5-cray-unicosmk
${
UNAME_RELEASE
}
|
sed
-e
's/\.[^.]*$/.X/'
exit
;;
CRAY
*
SV1:
*
:
*
:
*
)
echo
sv1-cray-unicos
${
UNAME_RELEASE
}
|
sed
-e
's/\.[^.]*$/.X/'
exit
;;
*
:UNICOS/mp:
*
:
*
)
echo
craynv-cray-unicosmp
${
UNAME_RELEASE
}
|
sed
-e
's/\.[^.]*$/.X/'
exit
;;
F30[01]:UNIX_System_V:
*
:
*
|
F700:UNIX_System_V:
*
:
*
)
FUJITSU_PROC
=
`
uname
-m
|
tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'
`
FUJITSU_SYS
=
`
uname
-p
|
tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'
|
sed
-e
's/\///'
`
FUJITSU_REL
=
`
echo
${
UNAME_RELEASE
}
|
sed
-e
's/ /_/'
`
echo
"
${
FUJITSU_PROC
}
-fujitsu-
${
FUJITSU_SYS
}${
FUJITSU_REL
}
"
exit
;;
5000:UNIX_System_V:4.
*
:
*
)
FUJITSU_SYS
=
`
uname
-p
|
tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'
|
sed
-e
's/\///'
`
FUJITSU_REL
=
`
echo
${
UNAME_RELEASE
}
|
tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'
|
sed
-e
's/ /_/'
`
echo
"sparc-fujitsu-
${
FUJITSU_SYS
}${
FUJITSU_REL
}
"
exit
;;
i
*
86:BSD/386:
*
:
*
|
i
*
86:BSD/OS:
*
:
*
|
*
:Ascend
\
Embedded/OS:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-bsdi
${
UNAME_RELEASE
}
exit
;;
sparc
*
:BSD/OS:
*
:
*
)
echo
sparc-unknown-bsdi
${
UNAME_RELEASE
}
exit
;;
*
:BSD/OS:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-bsdi
${
UNAME_RELEASE
}
exit
;;
*
:FreeBSD:
*
:
*
)
case
${
UNAME_MACHINE
}
in
pc98
)
echo
i386-unknown-freebsd
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[-(].*//'
`
;;
*
)
echo
${
UNAME_MACHINE
}
-unknown-freebsd
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[-(].*//'
`
;;
esac
exit
;;
i
*
:CYGWIN
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-cygwin
exit
;;
i
*
:MINGW
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-mingw32
exit
;;
i
*
:windows32
*
:
*
)
# uname -m includes "-pc" on this system.
echo
${
UNAME_MACHINE
}
-mingw32
exit
;;
i
*
:PW
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-pw32
exit
;;
x86:Interix
*
:[345]
*
)
echo
i586-pc-interix
${
UNAME_RELEASE
}
|sed
-e
's/\..*//'
exit
;;
[
345]86:Windows_95:
*
|
[
345]86:Windows_98:
*
|
[
345]86:Windows_NT:
*
)
echo
i
${
UNAME_MACHINE
}
-pc-mks
exit
;;
i
*
:Windows_NT
*
:
*
|
Pentium
*
:Windows_NT
*
:
*
)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo
i586-pc-interix
exit
;;
i
*
:UWIN
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-uwin
exit
;;
amd64:CYGWIN
*
:
*
:
*
|
x86_64:CYGWIN
*
:
*
:
*
)
echo
x86_64-unknown-cygwin
exit
;;
p
*
:CYGWIN
*
:
*
)
echo
powerpcle-unknown-cygwin
exit
;;
prep
*
:SunOS:5.
*
:
*
)
echo
powerpcle-unknown-solaris2
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*//'
`
exit
;;
*
:GNU:
*
:
*
)
# the GNU system
echo
`
echo
${
UNAME_MACHINE
}
|sed
-e
's,[-/].*$,,'
`
-unknown-gnu
`
echo
${
UNAME_RELEASE
}
|sed
-e
's,/.*$,,'
`
exit
;;
*
:GNU/
*
:
*
:
*
)
# other systems with GNU libc and userland
echo
${
UNAME_MACHINE
}
-unknown-
`
echo
${
UNAME_SYSTEM
}
|
sed
's,^[^/]*/,,'
|
tr
'[A-Z]'
'[a-z]'
``
echo
${
UNAME_RELEASE
}
|sed
-e
's/[-(].*//'
`
-gnu
exit
;;
i
*
86:Minix:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-minix
exit
;;
arm
*
:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-
${
LIBC
}
exit
;;
cris:Linux:
*
:
*
)
echo
cris-axis-linux-
${
LIBC
}
exit
;;
crisv32:Linux:
*
:
*
)
echo
crisv32-axis-linux-
${
LIBC
}
exit
;;
frv:Linux:
*
:
*
)
echo
frv-unknown-linux-
${
LIBC
}
exit
;;
ia64:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-
${
LIBC
}
exit
;;
m32r
*
:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-
${
LIBC
}
exit
;;
m68
*
:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-
${
LIBC
}
exit
;;
mips:Linux:
*
:
*
)
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#undef CPU
#undef mips
#undef mipsel
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=mipsel
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=mips
#else
CPU=
#endif
#endif
EOF
eval
"
`
$CC_FOR_BUILD
-E
$dummy
.c 2>/dev/null |
sed
-n
'/^CPU/{s: ::g;p;}'
`
"
test
x
"
${
CPU
}
"
!=
x
&&
{
echo
"
${
CPU
}
-unknown-linux-
${
LIBC
}
"
;
exit
;
}
;;
mips64:Linux:
*
:
*
)
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#undef CPU
#undef mips64
#undef mips64el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=mips64el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=mips64
#else
CPU=
#endif
#endif
EOF
eval
"
`
$CC_FOR_BUILD
-E
$dummy
.c 2>/dev/null |
sed
-n
'/^CPU/{s: ::g;p;}'
`
"
test
x
"
${
CPU
}
"
!=
x
&&
{
echo
"
${
CPU
}
-unknown-linux-
${
LIBC
}
"
;
exit
;
}
;;
or32:Linux:
*
:
*
)
echo
or32-unknown-linux-
${
LIBC
}
exit
;;
ppc:Linux:
*
:
*
)
echo
powerpc-unknown-linux-
${
LIBC
}
exit
;;
ppc64:Linux:
*
:
*
)
echo
powerpc64-unknown-linux-
${
LIBC
}
exit
;;
alpha:Linux:
*
:
*
)
case
`
sed
-n
'/^cpu model/s/^.*: \(.*\)/\1/p'
< /proc/cpuinfo
`
in
EV5
)
UNAME_MACHINE
=
alphaev5
;;
EV56
)
UNAME_MACHINE
=
alphaev56
;;
PCA56
)
UNAME_MACHINE
=
alphapca56
;;
PCA57
)
UNAME_MACHINE
=
alphapca56
;;
EV6
)
UNAME_MACHINE
=
alphaev6
;;
EV67
)
UNAME_MACHINE
=
alphaev67
;;
EV68
*
)
UNAME_MACHINE
=
alphaev68
;;
esac
objdump
--private-headers
/bin/sh |
grep
ld.so.1
>
/dev/null
if
test
"
$?
"
=
0
;
then
LIBC
=
"gnulibc1"
;
fi
echo
${
UNAME_MACHINE
}
-unknown-linux-
${
LIBC
}
exit
;;
parisc:Linux:
*
:
*
|
hppa:Linux:
*
:
*
)
# Look for CPU level
case
`
grep
'^cpu[^a-z]*:'
/proc/cpuinfo 2>/dev/null |
cut
-d
' '
-f2
`
in
PA7
*
)
echo
hppa1.1-unknown-linux-
${
LIBC
}
;;
PA8
*
)
echo
hppa2.0-unknown-linux-
${
LIBC
}
;;
*
)
echo
hppa-unknown-linux-
${
LIBC
}
;;
esac
exit
;;
parisc64:Linux:
*
:
*
|
hppa64:Linux:
*
:
*
)
echo
hppa64-unknown-linux-
${
LIBC
}
exit
;;
s390:Linux:
*
:
*
|
s390x:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-ibm-linux
exit
;;
sh64
*
:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-
${
LIBC
}
exit
;;
sh
*
:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-
${
LIBC
}
exit
;;
sparc:Linux:
*
:
*
|
sparc64:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-
${
LIBC
}
exit
;;
vax:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-dec-linux-
${
LIBC
}
exit
;;
x86_64:Linux:
*
:
*
)
echo
x86_64-unknown-linux-
${
LIBC
}
exit
;;
i
*
86:Linux:
*
:
*
)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
# problems with other programs or directories called `ld' in the path.
# Set LC_ALL=C to ensure ld outputs messages in English.
ld_supported_targets
=
`
cd
/
;
LC_ALL
=
C ld
--help
2>&1
\
|
sed
-ne
'/supported targets:/!d
s/[ ][ ]*/ /g
s/.*supported targets: *//
s/ .*//
p'
`
case
"
$ld_supported_targets
"
in
elf32-i386
)
TENTATIVE
=
"
${
UNAME_MACHINE
}
-pc-linux-
${
LIBC
}
"
;;
a.out-i386-linux
)
echo
"
${
UNAME_MACHINE
}
-pc-linux-
${
LIBC
}
aout"
exit
;;
coff-i386
)
echo
"
${
UNAME_MACHINE
}
-pc-linux-
${
LIBC
}
coff"
exit
;;
""
)
# Either a pre-BFD a.out linker (linux-gnuoldld) or
# one that does not give us useful --help.
echo
"
${
UNAME_MACHINE
}
-pc-linux-
${
LIBC
}
oldld"
exit
;;
esac
# This should get integrated into the C code below, but now we hack
if
[
"
$LIBC
"
!=
"gnu"
]
;
then
echo
"
$TENTATIVE
"
&&
exit
0
;
fi
# Determine whether the default compiler is a.out or elf
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#include <features.h>
#ifdef __ELF__
# ifdef __GLIBC__
# if __GLIBC__ >= 2
LIBC=gnu
# else
LIBC=gnulibc1
# endif
# else
LIBC=gnulibc1
# endif
#else
#if defined(__INTEL_COMPILER) || defined(__PGI)
LIBC=gnu
#else
LIBC=gnuaout
#endif
#endif
#ifdef __dietlibc__
LIBC=dietlibc
#endif
EOF
eval
"
`
$CC_FOR_BUILD
-E
$dummy
.c 2>/dev/null |
sed
-n
'/^LIBC/{s: ::g;p;}'
`
"
test
x
"
${
LIBC
}
"
!=
x
&&
{
echo
"
${
UNAME_MACHINE
}
-pc-linux-
${
LIBC
}
"
exit
}
test
x
"
${
TENTATIVE
}
"
!=
x
&&
{
echo
"
${
TENTATIVE
}
"
;
exit
;
}
;;
i
*
86:DYNIX/ptx:4
*
:
*
)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
echo
i386-sequent-sysv4
exit
;;
i
*
86:UNIX_SV:4.2MP:2.
*
)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo
${
UNAME_MACHINE
}
-pc-sysv4
.2uw
${
UNAME_VERSION
}
exit
;;
i
*
86:OS/2:
*
:
*
)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo
${
UNAME_MACHINE
}
-pc-os2-emx
exit
;;
i
*
86:XTS-300:
*
:STOP
)
echo
${
UNAME_MACHINE
}
-unknown-stop
exit
;;
i
*
86:atheos:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-atheos
exit
;;
i
*
86:syllable:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-syllable
exit
;;
i
*
86:LynxOS:2.
*
:
*
|
i
*
86:LynxOS:3.[01]
*
:
*
|
i
*
86:LynxOS:4.0
*
:
*
)
echo
i386-unknown-lynxos
${
UNAME_RELEASE
}
exit
;;
i
*
86:
*
DOS:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-msdosdjgpp
exit
;;
i
*
86:
*
:4.
*
:
*
|
i
*
86:SYSTEM_V:4.
*
:
*
)
UNAME_REL
=
`
echo
${
UNAME_RELEASE
}
|
sed
's/\/MP$//'
`
if
grep
Novell /usr/include/link.h
>
/dev/null 2>/dev/null
;
then
echo
${
UNAME_MACHINE
}
-univel-sysv
${
UNAME_REL
}
else
echo
${
UNAME_MACHINE
}
-pc-sysv
${
UNAME_REL
}
fi
exit
;;
i
*
86:
*
:5:[678]
*
)
# UnixWare 7.x, OpenUNIX and OpenServer 6.
case
`
/bin/uname
-X
|
grep
"^Machine"
`
in
*
486
*
)
UNAME_MACHINE
=
i486
;;
*
Pentium
)
UNAME_MACHINE
=
i586
;;
*
Pent
*
|
*
Celeron
)
UNAME_MACHINE
=
i686
;;
esac
echo
${
UNAME_MACHINE
}
-unknown-sysv
${
UNAME_RELEASE
}${
UNAME_SYSTEM
}${
UNAME_VERSION
}
exit
;;
i
*
86:
*
:3.2:
*
)
if
test
-f
/usr/options/cb.name
;
then
UNAME_REL
=
`
sed
-n
's/.*Version //p'
</usr/options/cb.name
`
echo
${
UNAME_MACHINE
}
-pc-isc
$UNAME_REL
elif
/bin/uname
-X
2>/dev/null
>
/dev/null
;
then
UNAME_REL
=
`
(
/bin/uname
-X
|grep Release|sed
-e
's/.*= //'
)
`
(
/bin/uname
-X
|grep i80486
>
/dev/null
)
&&
UNAME_MACHINE
=
i486
(
/bin/uname
-X
|grep
'^Machine.*Pentium'
>
/dev/null
)
\
&&
UNAME_MACHINE
=
i586
(
/bin/uname
-X
|grep
'^Machine.*Pent *II'
>
/dev/null
)
\
&&
UNAME_MACHINE
=
i686
(
/bin/uname
-X
|grep
'^Machine.*Pentium Pro'
>
/dev/null
)
\
&&
UNAME_MACHINE
=
i686
echo
${
UNAME_MACHINE
}
-pc-sco
$UNAME_REL
else
echo
${
UNAME_MACHINE
}
-pc-sysv32
fi
exit
;;
pc:
*
:
*
:
*
)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
echo
i386-pc-msdosdjgpp
exit
;;
Intel:Mach:3
*
:
*
)
echo
i386-pc-mach3
exit
;;
paragon:
*
:
*
:
*
)
echo
i860-intel-osf1
exit
;;
i860:
*
:4.
*
:
*
)
# i860-SVR4
if
grep
Stardent /usr/include/sys/uadmin.h
>
/dev/null 2>&1
;
then
echo
i860-stardent-sysv
${
UNAME_RELEASE
}
# Stardent Vistra i860-SVR4
else
# Add other i860-SVR4 vendors below as they are discovered.
echo
i860-unknown-sysv
${
UNAME_RELEASE
}
# Unknown i860-SVR4
fi
exit
;;
mini
*
:CTIX:SYS
*
5:
*
)
# "miniframe"
echo
m68010-convergent-sysv
exit
;;
mc68k:UNIX:SYSTEM5:3.51m
)
echo
m68k-convergent-sysv
exit
;;
M680?0:D-NIX:5.3:
*
)
echo
m68k-diab-dnix
exit
;;
M68
*
:
*
:R3V[5678]
*
:
*
)
test
-r
/sysV68
&&
{
echo
'm68k-motorola-sysv'
;
exit
;
}
;;
3[345]??:
*
:4.0:3.0
|
3[34]??A:
*
:4.0:3.0
|
3[34]??,
*
:
*
:4.0:3.0
|
3[34]??/
*
:
*
:4.0:3.0
|
4400:
*
:4.0:3.0
|
4850:
*
:4.0:3.0
|
SKA40:
*
:4.0:3.0
|
SDS2:
*
:4.0:3.0
|
SHG2:
*
:4.0:3.0
|
S7501
*
:
*
:4.0:3.0
)
OS_REL
=
''
test
-r
/etc/.relid
\
&&
OS_REL
=
.
`
sed
-n
's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p'
< /etc/.relid
`
/bin/uname
-p
2>/dev/null |
grep
86
>
/dev/null
\
&&
{
echo
i486-ncr-sysv4.3
${
OS_REL
}
;
exit
;
}
/bin/uname
-p
2>/dev/null | /bin/grep entium
>
/dev/null
\
&&
{
echo
i586-ncr-sysv4.3
${
OS_REL
}
;
exit
;
}
;;
3[34]??:
*
:4.0:
*
|
3[34]??,
*
:
*
:4.0:
*
)
/bin/uname
-p
2>/dev/null |
grep
86
>
/dev/null
\
&&
{
echo
i486-ncr-sysv4
;
exit
;
}
;;
m68
*
:LynxOS:2.
*
:
*
|
m68
*
:LynxOS:3.0
*
:
*
)
echo
m68k-unknown-lynxos
${
UNAME_RELEASE
}
exit
;;
mc68030:UNIX_System_V:4.
*
:
*
)
echo
m68k-atari-sysv4
exit
;;
TSUNAMI:LynxOS:2.
*
:
*
)
echo
sparc-unknown-lynxos
${
UNAME_RELEASE
}
exit
;;
rs6000:LynxOS:2.
*
:
*
)
echo
rs6000-unknown-lynxos
${
UNAME_RELEASE
}
exit
;;
PowerPC:LynxOS:2.
*
:
*
|
PowerPC:LynxOS:3.[01]
*
:
*
|
PowerPC:LynxOS:4.0
*
:
*
)
echo
powerpc-unknown-lynxos
${
UNAME_RELEASE
}
exit
;;
SM[BE]S:UNIX_SV:
*
:
*
)
echo
mips-dde-sysv
${
UNAME_RELEASE
}
exit
;;
RM
*
:ReliantUNIX-
*
:
*
:
*
)
echo
mips-sni-sysv4
exit
;;
RM
*
:SINIX-
*
:
*
:
*
)
echo
mips-sni-sysv4
exit
;;
*
:SINIX-
*
:
*
:
*
)
if
uname
-p
2>/dev/null
>
/dev/null
;
then
UNAME_MACHINE
=
`
(
uname
-p
)
2>/dev/null
`
echo
${
UNAME_MACHINE
}
-sni-sysv4
else
echo
ns32k-sni-sysv
fi
exit
;;
PENTIUM:
*
:4.0
*
:
*
)
# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
echo
i586-unisys-sysv4
exit
;;
*
:UNIX_System_V:4
*
:FTX
*
)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
echo
hppa1.1-stratus-sysv4
exit
;;
*
:
*
:
*
:FTX
*
)
# From seanf@swdc.stratus.com.
echo
i860-stratus-sysv4
exit
;;
i
*
86:VOS:
*
:
*
)
# From Paul.Green@stratus.com.
echo
${
UNAME_MACHINE
}
-stratus-vos
exit
;;
*
:VOS:
*
:
*
)
# From Paul.Green@stratus.com.
echo
hppa1.1-stratus-vos
exit
;;
mc68
*
:A/UX:
*
:
*
)
echo
m68k-apple-aux
${
UNAME_RELEASE
}
exit
;;
news
*
:NEWS-OS:6
*
:
*
)
echo
mips-sony-newsos6
exit
;;
R[34]000:
*
System_V
*
:
*
:
*
|
R4000:UNIX_SYSV:
*
:
*
|
R
*
000:UNIX_SV:
*
:
*
)
if
[
-d
/usr/nec
]
;
then
echo
mips-nec-sysv
${
UNAME_RELEASE
}
else
echo
mips-unknown-sysv
${
UNAME_RELEASE
}
fi
exit
;;
BeBox:BeOS:
*
:
*
)
# BeOS running on hardware made by Be, PPC only.
echo
powerpc-be-beos
exit
;;
BeMac:BeOS:
*
:
*
)
# BeOS running on Mac or Mac clone, PPC only.
echo
powerpc-apple-beos
exit
;;
BePC:BeOS:
*
:
*
)
# BeOS running on Intel PC compatible.
echo
i586-pc-beos
exit
;;
SX-4:SUPER-UX:
*
:
*
)
echo
sx4-nec-superux
${
UNAME_RELEASE
}
exit
;;
SX-5:SUPER-UX:
*
:
*
)
echo
sx5-nec-superux
${
UNAME_RELEASE
}
exit
;;
SX-6:SUPER-UX:
*
:
*
)
echo
sx6-nec-superux
${
UNAME_RELEASE
}
exit
;;
Power
*
:Rhapsody:
*
:
*
)
echo
powerpc-apple-rhapsody
${
UNAME_RELEASE
}
exit
;;
*
:Rhapsody:
*
:
*
)
echo
${
UNAME_MACHINE
}
-apple-rhapsody
${
UNAME_RELEASE
}
exit
;;
*
:Darwin:
*
:
*
)
UNAME_PROCESSOR
=
`
uname
-p
`
||
UNAME_PROCESSOR
=
unknown
case
$UNAME_PROCESSOR
in
unknown
)
UNAME_PROCESSOR
=
powerpc
;;
esac
echo
${
UNAME_PROCESSOR
}
-apple-darwin
${
UNAME_RELEASE
}
exit
;;
*
:procnto
*
:
*
:
*
|
*
:QNX:[0123456789]
*
:
*
)
UNAME_PROCESSOR
=
`
uname
-p
`
if
test
"
$UNAME_PROCESSOR
"
=
"x86"
;
then
UNAME_PROCESSOR
=
i386
UNAME_MACHINE
=
pc
fi
echo
${
UNAME_PROCESSOR
}
-
${
UNAME_MACHINE
}
-nto-qnx
${
UNAME_RELEASE
}
exit
;;
*
:QNX:
*
:4
*
)
echo
i386-pc-qnx
exit
;;
NSE-?:NONSTOP_KERNEL:
*
:
*
)
echo
nse-tandem-nsk
${
UNAME_RELEASE
}
exit
;;
NSR-?:NONSTOP_KERNEL:
*
:
*
)
echo
nsr-tandem-nsk
${
UNAME_RELEASE
}
exit
;;
*
:NonStop-UX:
*
:
*
)
echo
mips-compaq-nonstopux
exit
;;
BS2000:POSIX
*
:
*
:
*
)
echo
bs2000-siemens-sysv
exit
;;
DS/
*
:UNIX_System_V:
*
:
*
)
echo
${
UNAME_MACHINE
}
-
${
UNAME_SYSTEM
}
-
${
UNAME_RELEASE
}
exit
;;
*
:Plan9:
*
:
*
)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
if
test
"
$cputype
"
=
"386"
;
then
UNAME_MACHINE
=
i386
else
UNAME_MACHINE
=
"
$cputype
"
fi
echo
${
UNAME_MACHINE
}
-unknown-plan9
exit
;;
*
:TOPS-10:
*
:
*
)
echo
pdp10-unknown-tops10
exit
;;
*
:TENEX:
*
:
*
)
echo
pdp10-unknown-tenex
exit
;;
KS10:TOPS-20:
*
:
*
|
KL10:TOPS-20:
*
:
*
|
TYPE4:TOPS-20:
*
:
*
)
echo
pdp10-dec-tops20
exit
;;
XKL-1:TOPS-20:
*
:
*
|
TYPE5:TOPS-20:
*
:
*
)
echo
pdp10-xkl-tops20
exit
;;
*
:TOPS-20:
*
:
*
)
echo
pdp10-unknown-tops20
exit
;;
*
:ITS:
*
:
*
)
echo
pdp10-unknown-its
exit
;;
SEI:
*
:
*
:SEIUX
)
echo
mips-sei-seiux
${
UNAME_RELEASE
}
exit
;;
*
:DragonFly:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-dragonfly
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[-(].*//'
`
exit
;;
*
:
*
VMS:
*
:
*
)
UNAME_MACHINE
=
`
(
uname
-p
)
2>/dev/null
`
case
"
${
UNAME_MACHINE
}
"
in
A
*
)
echo
alpha-dec-vms
;
exit
;;
I
*
)
echo
ia64-dec-vms
;
exit
;;
V
*
)
echo
vax-dec-vms
;
exit
;;
esac
;;
*
:XENIX:
*
:SysV
)
echo
i386-pc-xenix
exit
;;
i
*
86:skyos:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-skyos
`
echo
${
UNAME_RELEASE
}
`
|
sed
-e
's/ .*$//'
exit
;;
i
*
86:rdos:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-rdos
exit
;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
eval
$set_cc_for_build
cat
>
$dummy
.c
<<
EOF
#ifdef _SEQUENT_
# include <sys/types.h>
# include <sys/utsname.h>
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
I don't know.... */
printf ("mips-sony-bsd
\n
"); exit (0);
#else
#include <sys/param.h>
printf ("m68k-sony-newsos%s
\n
",
#ifdef NEWSOS4
"4"
#else
""
#endif
); exit (0);
#endif
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
printf ("arm-acorn-riscix
\n
"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
printf ("m68k-hp-bsd
\n
"); exit (0);
#endif
#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
int version;
version=`(hostinfo | sed -n 's/.*NeXT Mach
\(
[0-9]*
\)
.*/
\1
/p') 2>/dev/null`;
if (version < 4)
printf ("%s-next-nextstep%d
\n
", __ARCHITECTURE__, version);
else
printf ("%s-next-openstep%d
\n
", __ARCHITECTURE__, version);
exit (0);
#endif
#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
printf ("ns32k-encore-sysv
\n
"); exit (0);
#else
#if defined (CMU)
printf ("ns32k-encore-mach
\n
"); exit (0);
#else
printf ("ns32k-encore-bsd
\n
"); exit (0);
#endif
#endif
#endif
#if defined (__386BSD__)
printf ("i386-pc-bsd
\n
"); exit (0);
#endif
#if defined (sequent)
#if defined (i386)
printf ("i386-sequent-dynix
\n
"); exit (0);
#endif
#if defined (ns32000)
printf ("ns32k-sequent-dynix
\n
"); exit (0);
#endif
#endif
#if defined (_SEQUENT_)
struct utsname un;
uname(&un);
if (strncmp(un.version, "V2", 2) == 0) {
printf ("i386-sequent-ptx2
\n
"); exit (0);
}
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
printf ("i386-sequent-ptx1
\n
"); exit (0);
}
printf ("i386-sequent-ptx
\n
"); exit (0);
#endif
#if defined (vax)
# if !defined (ultrix)
# include <sys/param.h>
# if defined (BSD)
# if BSD == 43
printf ("vax-dec-bsd4.3
\n
"); exit (0);
# else
# if BSD == 199006
printf ("vax-dec-bsd4.3reno
\n
"); exit (0);
# else
printf ("vax-dec-bsd
\n
"); exit (0);
# endif
# endif
# else
printf ("vax-dec-bsd
\n
"); exit (0);
# endif
# else
printf ("vax-dec-ultrix
\n
"); exit (0);
# endif
#endif
#if defined (alliant) && defined (i860)
printf ("i860-alliant-bsd
\n
"); exit (0);
#endif
exit (1);
}
EOF
$CC_FOR_BUILD
-o
$dummy
$dummy
.c 2>/dev/null
&&
SYSTEM_NAME
=
`
$dummy
`
&&
{
echo
"
$SYSTEM_NAME
"
;
exit
;
}
# Apollos put the system type in the environment.
test
-d
/usr/apollo
&&
{
echo
${
ISP
}
-apollo-
${
SYSTYPE
}
;
exit
;
}
# Convex versions that predate uname can use getsysinfo(1)
if
[
-x
/usr/convex/getsysinfo
]
then
case
`
getsysinfo
-f
cpu_type
`
in
c1
*
)
echo
c1-convex-bsd
exit
;;
c2
*
)
if
getsysinfo
-f
scalar_acc
then
echo
c32-convex-bsd
else
echo
c2-convex-bsd
fi
exit
;;
c34
*
)
echo
c34-convex-bsd
exit
;;
c38
*
)
echo
c38-convex-bsd
exit
;;
c4
*
)
echo
c4-convex-bsd
exit
;;
esac
fi
cat
>
&2
<<
EOF
$0
: unable to guess system type
This script, last modified
$timestamp
, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
and
http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
If the version you run (
$0
) is already up to date, please
send the following data and any information you think might be
pertinent to <config-patches@gnu.org> in order to provide the needed
information to handle your system.
config.guess timestamp =
$timestamp
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
hostinfo = `(hostinfo) 2>/dev/null`
/bin/universe = `(/bin/universe) 2>/dev/null`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
/bin/arch = `(/bin/arch) 2>/dev/null`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
UNAME_MACHINE =
${
UNAME_MACHINE
}
UNAME_RELEASE =
${
UNAME_RELEASE
}
UNAME_SYSTEM =
${
UNAME_SYSTEM
}
UNAME_VERSION =
${
UNAME_VERSION
}
EOF
exit
1
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
src/scanbuttond-0.2.3/config.sub
deleted
100644 → 0
View file @
0fe94fc2
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
timestamp
=
'2005-12-23'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted ChangeLog entry.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
# it does not support. The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.
# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
me
=
`
echo
"
$0
"
|
sed
-e
's,.*/,,'
`
usage
=
"
\
Usage:
$0
[OPTION] CPU-MFR-OPSYS
$0
[OPTION] ALIAS
Canonicalize a configuration name.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to <config-patches@gnu.org>."
version
=
"
\
GNU config.sub (
$timestamp
)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help
=
"
Try
\`
$me
--help' for more information."
# Parse command line
while
test
$#
-gt
0
;
do
case
$1
in
--time-stamp
|
--time
*
|
-t
)
echo
"
$timestamp
"
;
exit
;;
--version
|
-v
)
echo
"
$version
"
;
exit
;;
--help
|
--h
*
|
-h
)
echo
"
$usage
"
;
exit
;;
--
)
# Stop option processing
shift
;
break
;;
-
)
# Use stdin as input.
break
;;
-
*
)
echo
"
$me
: invalid option
$1$help
"
exit
1
;;
*
local
*
)
# First pass through any local machine types.
echo
$1
exit
;;
*
)
break
;;
esac
done
case
$#
in
0
)
echo
"
$me
: missing argument
$help
"
>
&2
exit
1
;;
1
)
;;
*
)
echo
"
$me
: too many arguments
$help
"
>
&2
exit
1
;;
esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os
=
`
echo
$1
|
sed
's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'
`
case
$maybe_os
in
nto-qnx
*
|
linux-gnu
*
|
linux-dietlibc
|
linux-newlib
*
|
linux-uclibc
*
|
\
uclinux-uclibc
*
|
uclinux-gnu
*
|
kfreebsd
*
-gnu
*
|
knetbsd
*
-gnu
*
|
netbsd
*
-gnu
*
|
\
storm-chaos
*
|
os2-emx
*
|
rtmk-nova
*
)
os
=
-
$maybe_os
basic_machine
=
`
echo
$1
|
sed
's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'
`
;;
*
)
basic_machine
=
`
echo
$1
|
sed
's/-[^-]*$//'
`
if
[
$basic_machine
!=
$1
]
then
os
=
`
echo
$1
|
sed
's/.*-/-/'
`
else
os
=
;
fi
;;
esac
### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work. We also
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case
$os
in
-sun
*
os
*
)
# Prevent following clause from handling this invalid input.
;;
-dec
*
|
-mips
*
|
-sequent
*
|
-encore
*
|
-pc532
*
|
-sgi
*
|
-sony
*
|
\
-att
*
|
-7300
*
|
-3300
*
|
-delta
*
|
-motorola
*
|
-sun
[
234]
*
|
\
-unicom
*
|
-ibm
*
|
-next
|
-hp
|
-isi
*
|
-apollo
|
-altos
*
|
\
-convergent
*
|
-ncr
*
|
-news
|
-32
*
|
-3600
*
|
-3100
*
|
-hitachi
*
|
\
-c
[
123]
*
|
-convex
*
|
-sun
|
-crds
|
-omron
*
|
-dg
|
-ultra
|
-tti
*
|
\
-harris
|
-dolphin
|
-highlevel
|
-gould
|
-cbm
|
-ns
|
-masscomp
|
\
-apple
|
-axis
|
-knuth
|
-cray
)
os
=
basic_machine
=
$1
;;
-sim
|
-cisco
|
-oki
|
-wec
|
-winbond
)
os
=
basic_machine
=
$1
;;
-scout
)
;;
-wrs
)
os
=
-vxworks
basic_machine
=
$1
;;
-chorusos
*
)
os
=
-chorusos
basic_machine
=
$1
;;
-chorusrdb
)
os
=
-chorusrdb
basic_machine
=
$1
;;
-hiux
*
)
os
=
-hiuxwe2
;;
-sco6
)
os
=
-sco5v6
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-sco5
)
os
=
-sco3
.2v5
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-sco4
)
os
=
-sco3
.2v4
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-sco3
.2.[4-9]
*
)
os
=
`
echo
$os
|
sed
-e
's/sco3.2./sco3.2v/'
`
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-sco3
.2v[4-9]
*
)
# Don't forget version if it is 3.2v4 or newer.
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-sco5v6
*
)
# Don't forget version if it is 3.2v4 or newer.
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-sco
*
)
os
=
-sco3
.2v2
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-udk
*
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-isc
)
os
=
-isc2
.2
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-clix
*
)
basic_machine
=
clipper-intergraph
;;
-isc
*
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-pc/'
`
;;
-lynx
*
)
os
=
-lynxos
;;
-ptx
*
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86-.*/86-sequent/'
`
;;
-windowsnt
*
)
os
=
`
echo
$os
|
sed
-e
's/windowsnt/winnt/'
`
;;
-psos
*
)
os
=
-psos
;;
-mint
|
-mint
[
0-9]
*
)
basic_machine
=
m68k-atari
os
=
-mint
;;
esac
# Decode aliases for certain CPU-COMPANY combinations.
case
$basic_machine
in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
1750a
|
580
\
|
a29k
\
|
alpha
|
alphaev[4-8]
|
alphaev56
|
alphaev6[78]
|
alphapca5[67]
\
|
alpha64
|
alpha64ev[4-8]
|
alpha64ev56
|
alpha64ev6[78]
|
alpha64pca5[67]
\
|
am33_2.0
\
|
arc
|
arm
|
arm[bl]e
|
arme[lb]
|
armv[2345]
|
armv[345][lb]
|
avr
\
|
bfin
\
|
c4x
|
clipper
\
|
d10v
|
d30v
|
dlx
|
dsp16xx
|
dvp
\
|
fr30
|
frv
\
|
h8300
|
h8500
|
hppa
|
hppa1.[01]
|
hppa2.0
|
hppa2.0[nw]
|
hppa64
\
|
i370
|
i860
|
i960
|
ia64
\
|
ip2k
|
iq2000
\
|
m32r
|
m32rle
|
m68000
|
m68k
|
m88k
|
maxq
|
mb
|
microblaze
|
mcore
\
|
mips
|
mipsbe
|
mipseb
|
mipsel
|
mipsle
\
|
mips16
\
|
mips64
|
mips64el
\
|
mips64vr
|
mips64vrel
\
|
mips64orion
|
mips64orionel
\
|
mips64vr4100
|
mips64vr4100el
\
|
mips64vr4300
|
mips64vr4300el
\
|
mips64vr5000
|
mips64vr5000el
\
|
mips64vr5900
|
mips64vr5900el
\
|
mipsisa32
|
mipsisa32el
\
|
mipsisa32r2
|
mipsisa32r2el
\
|
mipsisa64
|
mipsisa64el
\
|
mipsisa64r2
|
mipsisa64r2el
\
|
mipsisa64sb1
|
mipsisa64sb1el
\
|
mipsisa64sr71k
|
mipsisa64sr71kel
\
|
mipstx39
|
mipstx39el
\
|
mn10200
|
mn10300
\
|
mt
\
|
msp430
\
|
ns16k
|
ns32k
\
|
or32
\
|
pdp10
|
pdp11
|
pj
|
pjl
\
|
powerpc
|
powerpc64
|
powerpc64le
|
powerpcle
|
ppcbe
\
|
pyramid
\
|
sh
|
sh[1234]
|
sh[24]a
|
sh[24]a
*
eb
|
sh[23]e
|
sh[34]eb
|
shbe
|
shle
|
sh[1234]le
|
sh3ele
\
|
sh64
|
sh64le
\
|
sparc
|
sparc64
|
sparc64b
|
sparc86x
|
sparclet
|
sparclite
\
|
sparcv8
|
sparcv9
|
sparcv9b
\
|
strongarm
\
|
tahoe
|
thumb
|
tic4x
|
tic80
|
tron
\
|
v850
|
v850e
\
|
we32k
\
|
x86
|
xscale
|
xscalee[bl]
|
xstormy16
|
xtensa
\
|
z8k
)
basic_machine
=
$basic_machine
-unknown
;;
m32c
)
basic_machine
=
$basic_machine
-unknown
;;
m6811
|
m68hc11
|
m6812
|
m68hc12
)
# Motorola 68HC11/12.
basic_machine
=
$basic_machine
-unknown
os
=
-none
;;
m88110
|
m680[12346]0
|
m683?2
|
m68360
|
m5200
|
v70
|
w65
|
z8k
)
;;
ms1
)
basic_machine
=
mt-unknown
;;
nios2
|
nios2-
*
|
nios2
|
nios2-
*
)
basic_machine
=
nios2-altera
os
=
-none
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i
*
86
|
x86_64
)
basic_machine
=
$basic_machine
-pc
;;
# Object if more than one company name word.
*
-
*
-
*
)
echo
Invalid configuration
\`
$1
\'
: machine
\`
$basic_machine
\'
not recognized 1>&2
exit
1
;;
# Recognize the basic CPU types with company name.
580-
*
\
|
a29k-
*
\
|
alpha-
*
|
alphaev[4-8]-
*
|
alphaev56-
*
|
alphaev6[78]-
*
\
|
alpha64-
*
|
alpha64ev[4-8]-
*
|
alpha64ev56-
*
|
alpha64ev6[78]-
*
\
|
alphapca5[67]-
*
|
alpha64pca5[67]-
*
|
arc-
*
\
|
arm-
*
|
armbe-
*
|
armle-
*
|
armeb-
*
|
armv
*
-
*
\
|
avr-
*
\
|
bfin-
*
|
bs2000-
*
\
|
c[123]
*
|
c30-
*
|
[
cjt]90-
*
|
c4x-
*
|
c54x-
*
|
c55x-
*
|
c6x-
*
\
|
clipper-
*
|
craynv-
*
|
cydra-
*
\
|
d10v-
*
|
d30v-
*
|
dlx-
*
\
|
elxsi-
*
\
|
f30[01]-
*
|
f700-
*
|
fr30-
*
|
frv-
*
|
fx80-
*
\
|
h8300-
*
|
h8500-
*
\
|
hppa-
*
|
hppa1.[01]-
*
|
hppa2.0-
*
|
hppa2.0[nw]-
*
|
hppa64-
*
\
|
i
*
86-
*
|
i860-
*
|
i960-
*
|
ia64-
*
\
|
ip2k-
*
|
iq2000-
*
\
|
m32r-
*
|
m32rle-
*
\
|
m68000-
*
|
m680[012346]0-
*
|
m68360-
*
|
m683?2-
*
|
m68k-
*
\
|
m88110-
*
|
m88k-
*
|
maxq-
*
|
mcore-
*
\
|
mips-
*
|
mipsbe-
*
|
mipseb-
*
|
mipsel-
*
|
mipsle-
*
\
|
mips16-
*
\
|
mips64-
*
|
mips64el-
*
\
|
mips64vr-
*
|
mips64vrel-
*
\
|
mips64orion-
*
|
mips64orionel-
*
\
|
mips64vr4100-
*
|
mips64vr4100el-
*
\
|
mips64vr4300-
*
|
mips64vr4300el-
*
\
|
mips64vr5000-
*
|
mips64vr5000el-
*
\
|
mips64vr5900-
*
|
mips64vr5900el-
*
\
|
mipsisa32-
*
|
mipsisa32el-
*
\
|
mipsisa32r2-
*
|
mipsisa32r2el-
*
\
|
mipsisa64-
*
|
mipsisa64el-
*
\
|
mipsisa64r2-
*
|
mipsisa64r2el-
*
\
|
mipsisa64sb1-
*
|
mipsisa64sb1el-
*
\
|
mipsisa64sr71k-
*
|
mipsisa64sr71kel-
*
\
|
mipstx39-
*
|
mipstx39el-
*
\
|
mmix-
*
\
|
mt-
*
\
|
msp430-
*
\
|
none-
*
|
np1-
*
|
ns16k-
*
|
ns32k-
*
\
|
orion-
*
\
|
pdp10-
*
|
pdp11-
*
|
pj-
*
|
pjl-
*
|
pn-
*
|
power-
*
\
|
powerpc-
*
|
powerpc64-
*
|
powerpc64le-
*
|
powerpcle-
*
|
ppcbe-
*
\
|
pyramid-
*
\
|
romp-
*
|
rs6000-
*
\
|
sh-
*
|
sh[1234]-
*
|
sh[24]a-
*
|
sh[23]e-
*
|
sh[34]eb-
*
|
shbe-
*
\
|
shle-
*
|
sh[1234]le-
*
|
sh3ele-
*
|
sh64-
*
|
sh64le-
*
\
|
sparc-
*
|
sparc64-
*
|
sparc64b-
*
|
sparc86x-
*
|
sparclet-
*
\
|
sparclite-
*
\
|
sparcv8-
*
|
sparcv9-
*
|
sparcv9b-
*
|
strongarm-
*
|
sv1-
*
|
sx?-
*
\
|
tahoe-
*
|
thumb-
*
\
|
tic30-
*
|
tic4x-
*
|
tic54x-
*
|
tic55x-
*
|
tic6x-
*
|
tic80-
*
\
|
tron-
*
\
|
v850-
*
|
v850e-
*
|
vax-
*
\
|
we32k-
*
\
|
x86-
*
|
x86_64-
*
|
xps100-
*
|
xscale-
*
|
xscalee[bl]-
*
\
|
xstormy16-
*
|
xtensa-
*
\
|
ymp-
*
\
|
z8k-
*
)
;;
m32c-
*
)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd
)
basic_machine
=
i386-unknown
os
=
-bsd
;;
3b1
|
7300
|
7300-att
|
att-7300
|
pc7300
|
safari
|
unixpc
)
basic_machine
=
m68000-att
;;
3b
*
)
basic_machine
=
we32k-att
;;
a29khif
)
basic_machine
=
a29k-amd
os
=
-udi
;;
abacus
)
basic_machine
=
abacus-unknown
;;
adobe68k
)
basic_machine
=
m68010-adobe
os
=
-scout
;;
alliant
|
fx80
)
basic_machine
=
fx80-alliant
;;
altos
|
altos3068
)
basic_machine
=
m68k-altos
;;
am29k
)
basic_machine
=
a29k-none
os
=
-bsd
;;
amd64
)
basic_machine
=
x86_64-pc
;;
amd64-
*
)
basic_machine
=
x86_64-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
amdahl
)
basic_machine
=
580-amdahl
os
=
-sysv
;;
amiga
|
amiga-
*
)
basic_machine
=
m68k-unknown
;;
amigaos
|
amigados
)
basic_machine
=
m68k-unknown
os
=
-amigaos
;;
amigaunix
|
amix
)
basic_machine
=
m68k-unknown
os
=
-sysv4
;;
apollo68
)
basic_machine
=
m68k-apollo
os
=
-sysv
;;
apollo68bsd
)
basic_machine
=
m68k-apollo
os
=
-bsd
;;
aux
)
basic_machine
=
m68k-apple
os
=
-aux
;;
balance
)
basic_machine
=
ns32k-sequent
os
=
-dynix
;;
c90
)
basic_machine
=
c90-cray
os
=
-unicos
;;
convex-c1
)
basic_machine
=
c1-convex
os
=
-bsd
;;
convex-c2
)
basic_machine
=
c2-convex
os
=
-bsd
;;
convex-c32
)
basic_machine
=
c32-convex
os
=
-bsd
;;
convex-c34
)
basic_machine
=
c34-convex
os
=
-bsd
;;
convex-c38
)
basic_machine
=
c38-convex
os
=
-bsd
;;
cray
|
j90
)
basic_machine
=
j90-cray
os
=
-unicos
;;
craynv
)
basic_machine
=
craynv-cray
os
=
-unicosmp
;;
cr16c
)
basic_machine
=
cr16c-unknown
os
=
-elf
;;
crds
|
unos
)
basic_machine
=
m68k-crds
;;
crisv32
|
crisv32-
*
|
etraxfs
*
)
basic_machine
=
crisv32-axis
;;
cris
|
cris-
*
|
etrax
*
)
basic_machine
=
cris-axis
;;
crx
)
basic_machine
=
crx-unknown
os
=
-elf
;;
da30
|
da30-
*
)
basic_machine
=
m68k-da30
;;
decstation
|
decstation-3100
|
pmax
|
pmax-
*
|
pmin
|
dec3100
|
decstatn
)
basic_machine
=
mips-dec
;;
decsystem10
*
|
dec10
*
)
basic_machine
=
pdp10-dec
os
=
-tops10
;;
decsystem20
*
|
dec20
*
)
basic_machine
=
pdp10-dec
os
=
-tops20
;;
delta
|
3300
|
motorola-3300
|
motorola-delta
\
|
3300-motorola
|
delta-motorola
)
basic_machine
=
m68k-motorola
;;
delta88
)
basic_machine
=
m88k-motorola
os
=
-sysv3
;;
djgpp
)
basic_machine
=
i586-pc
os
=
-msdosdjgpp
;;
dpx20
|
dpx20-
*
)
basic_machine
=
rs6000-bull
os
=
-bosx
;;
dpx2
*
|
dpx2
*
-bull
)
basic_machine
=
m68k-bull
os
=
-sysv3
;;
ebmon29k
)
basic_machine
=
a29k-amd
os
=
-ebmon
;;
elxsi
)
basic_machine
=
elxsi-elxsi
os
=
-bsd
;;
encore
|
umax
|
mmax
)
basic_machine
=
ns32k-encore
;;
es1800
|
OSE68k
|
ose68k
|
ose
|
OSE
)
basic_machine
=
m68k-ericsson
os
=
-ose
;;
fx2800
)
basic_machine
=
i860-alliant
;;
genix
)
basic_machine
=
ns32k-ns
;;
gmicro
)
basic_machine
=
tron-gmicro
os
=
-sysv
;;
go32
)
basic_machine
=
i386-pc
os
=
-go32
;;
h3050r
*
|
hiux
*
)
basic_machine
=
hppa1.1-hitachi
os
=
-hiuxwe2
;;
h8300hms
)
basic_machine
=
h8300-hitachi
os
=
-hms
;;
h8300xray
)
basic_machine
=
h8300-hitachi
os
=
-xray
;;
h8500hms
)
basic_machine
=
h8500-hitachi
os
=
-hms
;;
harris
)
basic_machine
=
m88k-harris
os
=
-sysv3
;;
hp300-
*
)
basic_machine
=
m68k-hp
;;
hp300bsd
)
basic_machine
=
m68k-hp
os
=
-bsd
;;
hp300hpux
)
basic_machine
=
m68k-hp
os
=
-hpux
;;
hp3k9[0-9][0-9]
|
hp9[0-9][0-9]
)
basic_machine
=
hppa1.0-hp
;;
hp9k2[0-9][0-9]
|
hp9k31[0-9]
)
basic_machine
=
m68000-hp
;;
hp9k3[2-9][0-9]
)
basic_machine
=
m68k-hp
;;
hp9k6[0-9][0-9]
|
hp6[0-9][0-9]
)
basic_machine
=
hppa1.0-hp
;;
hp9k7[0-79][0-9]
|
hp7[0-79][0-9]
)
basic_machine
=
hppa1.1-hp
;;
hp9k78[0-9]
|
hp78[0-9]
)
# FIXME: really hppa2.0-hp
basic_machine
=
hppa1.1-hp
;;
hp9k8[67]1
|
hp8[67]1
|
hp9k80[24]
|
hp80[24]
|
hp9k8[78]9
|
hp8[78]9
|
hp9k893
|
hp893
)
# FIXME: really hppa2.0-hp
basic_machine
=
hppa1.1-hp
;;
hp9k8[0-9][13679]
|
hp8[0-9][13679]
)
basic_machine
=
hppa1.1-hp
;;
hp9k8[0-9][0-9]
|
hp8[0-9][0-9]
)
basic_machine
=
hppa1.0-hp
;;
hppa-next
)
os
=
-nextstep3
;;
hppaosf
)
basic_machine
=
hppa1.1-hp
os
=
-osf
;;
hppro
)
basic_machine
=
hppa1.1-hp
os
=
-proelf
;;
i370-ibm
*
|
ibm
*
)
basic_machine
=
i370-ibm
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i
*
86v32
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86.*/86-pc/'
`
os
=
-sysv32
;;
i
*
86v4
*
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86.*/86-pc/'
`
os
=
-sysv4
;;
i
*
86v
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86.*/86-pc/'
`
os
=
-sysv
;;
i
*
86sol2
)
basic_machine
=
`
echo
$1
|
sed
-e
's/86.*/86-pc/'
`
os
=
-solaris2
;;
i386mach
)
basic_machine
=
i386-mach
os
=
-mach
;;
i386-vsta
|
vsta
)
basic_machine
=
i386-unknown
os
=
-vsta
;;
iris
|
iris4d
)
basic_machine
=
mips-sgi
case
$os
in
-irix
*
)
;;
*
)
os
=
-irix4
;;
esac
;;
isi68
|
isi
)
basic_machine
=
m68k-isi
os
=
-sysv
;;
m88k-omron
*
)
basic_machine
=
m88k-omron
;;
magnum
|
m3230
)
basic_machine
=
mips-mips
os
=
-sysv
;;
merlin
)
basic_machine
=
ns32k-utek
os
=
-sysv
;;
mingw32
)
basic_machine
=
i386-pc
os
=
-mingw32
;;
miniframe
)
basic_machine
=
m68000-convergent
;;
*
mint
|
-mint
[
0-9]
*
|
*
MiNT
|
*
MiNT[0-9]
*
)
basic_machine
=
m68k-atari
os
=
-mint
;;
mipsEE
*
|
ee
|
ps2
)
basic_machine
=
mips64r5900el-scei
case
$os
in
-linux
*
)
;;
*
)
os
=
-elf
;;
esac
;;
iop
)
basic_machine
=
mipsel-scei
os
=
-irx
;;
dvp
)
basic_machine
=
dvp-scei
os
=
-elf
;;
mips3
*
-
*
)
basic_machine
=
`
echo
$basic_machine
|
sed
-e
's/mips3/mips64/'
`
;;
mips3
*
)
basic_machine
=
`
echo
$basic_machine
|
sed
-e
's/mips3/mips64/'
`
-unknown
;;
monitor
)
basic_machine
=
m68k-rom68k
os
=
-coff
;;
morphos
)
basic_machine
=
powerpc-unknown
os
=
-morphos
;;
msdos
)
basic_machine
=
i386-pc
os
=
-msdos
;;
ms1-
*
)
basic_machine
=
`
echo
$basic_machine
|
sed
-e
's/ms1-/mt-/'
`
;;
mvs
)
basic_machine
=
i370-ibm
os
=
-mvs
;;
ncr3000
)
basic_machine
=
i486-ncr
os
=
-sysv4
;;
netbsd386
)
basic_machine
=
i386-unknown
os
=
-netbsd
;;
netwinder
)
basic_machine
=
armv4l-rebel
os
=
-linux
;;
news
|
news700
|
news800
|
news900
)
basic_machine
=
m68k-sony
os
=
-newsos
;;
news1000
)
basic_machine
=
m68030-sony
os
=
-newsos
;;
news-3600
|
risc-news
)
basic_machine
=
mips-sony
os
=
-newsos
;;
necv70
)
basic_machine
=
v70-nec
os
=
-sysv
;;
next
|
m
*
-next
)
basic_machine
=
m68k-next
case
$os
in
-nextstep
*
)
;;
-ns2
*
)
os
=
-nextstep2
;;
*
)
os
=
-nextstep3
;;
esac
;;
nh3000
)
basic_machine
=
m68k-harris
os
=
-cxux
;;
nh[45]000
)
basic_machine
=
m88k-harris
os
=
-cxux
;;
nindy960
)
basic_machine
=
i960-intel
os
=
-nindy
;;
mon960
)
basic_machine
=
i960-intel
os
=
-mon960
;;
nonstopux
)
basic_machine
=
mips-compaq
os
=
-nonstopux
;;
np1
)
basic_machine
=
np1-gould
;;
nsr-tandem
)
basic_machine
=
nsr-tandem
;;
op50n-
*
|
op60c-
*
)
basic_machine
=
hppa1.1-oki
os
=
-proelf
;;
openrisc
|
openrisc-
*
)
basic_machine
=
or32-unknown
;;
os400
)
basic_machine
=
powerpc-ibm
os
=
-os400
;;
OSE68000
|
ose68000
)
basic_machine
=
m68000-ericsson
os
=
-ose
;;
os68k
)
basic_machine
=
m68k-none
os
=
-os68k
;;
pa-hitachi
)
basic_machine
=
hppa1.1-hitachi
os
=
-hiuxwe2
;;
paragon
)
basic_machine
=
i860-intel
os
=
-osf
;;
pbd
)
basic_machine
=
sparc-tti
;;
pbb
)
basic_machine
=
m68k-tti
;;
pc532
|
pc532-
*
)
basic_machine
=
ns32k-pc532
;;
pc98
)
basic_machine
=
i386-pc
;;
pc98-
*
)
basic_machine
=
i386-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
pentium
|
p5
|
k5
|
k6
|
nexgen
|
viac3
)
basic_machine
=
i586-pc
;;
pentiumpro
|
p6
|
6x86
|
athlon
|
athlon_
*
)
basic_machine
=
i686-pc
;;
pentiumii
|
pentium2
|
pentiumiii
|
pentium3
)
basic_machine
=
i686-pc
;;
pentium4
)
basic_machine
=
i786-pc
;;
pentium-
*
|
p5-
*
|
k5-
*
|
k6-
*
|
nexgen-
*
|
viac3-
*
)
basic_machine
=
i586-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
pentiumpro-
*
|
p6-
*
|
6x86-
*
|
athlon-
*
)
basic_machine
=
i686-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
pentiumii-
*
|
pentium2-
*
|
pentiumiii-
*
|
pentium3-
*
)
basic_machine
=
i686-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
pentium4-
*
)
basic_machine
=
i786-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
pn
)
basic_machine
=
pn-gould
;;
power
)
basic_machine
=
power-ibm
;;
ppc
)
basic_machine
=
powerpc-unknown
;;
ppc-
*
)
basic_machine
=
powerpc-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
ppcle
|
powerpclittle
|
ppc-le
|
powerpc-little
)
basic_machine
=
powerpcle-unknown
;;
ppcle-
*
|
powerpclittle-
*
)
basic_machine
=
powerpcle-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
ppc64
)
basic_machine
=
powerpc64-unknown
;;
ppc64-
*
)
basic_machine
=
powerpc64-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
ppc64le
|
powerpc64little
|
ppc64-le
|
powerpc64-little
)
basic_machine
=
powerpc64le-unknown
;;
ppc64le-
*
|
powerpc64little-
*
)
basic_machine
=
powerpc64le-
`
echo
$basic_machine
|
sed
's/^[^-]*-//'
`
;;
ps2
)
basic_machine
=
i386-ibm
;;
pw32
)
basic_machine
=
i586-unknown
os
=
-pw32
;;
rdos
)
basic_machine
=
i386-pc
os
=
-rdos
;;
rom68k
)
basic_machine
=
m68k-rom68k
os
=
-coff
;;
rm
[
46]00
)
basic_machine
=
mips-siemens
;;
rtpc
|
rtpc-
*
)
basic_machine
=
romp-ibm
;;
s390
|
s390-
*
)
basic_machine
=
s390-ibm
;;
s390x
|
s390x-
*
)
basic_machine
=
s390x-ibm
;;
sa29200
)
basic_machine
=
a29k-amd
os
=
-udi
;;
sb1
)
basic_machine
=
mipsisa64sb1-unknown
;;
sb1el
)
basic_machine
=
mipsisa64sb1el-unknown
;;
sei
)
basic_machine
=
mips-sei
os
=
-seiux
;;
sequent
)
basic_machine
=
i386-sequent
;;
sh
)
basic_machine
=
sh-hitachi
os
=
-hms
;;
sh64
)
basic_machine
=
sh64-unknown
;;
sparclite-wrs
|
simso-wrs
)
basic_machine
=
sparclite-wrs
os
=
-vxworks
;;
sps7
)
basic_machine
=
m68k-bull
os
=
-sysv2
;;
spur
)
basic_machine
=
spur-unknown
;;
st2000
)
basic_machine
=
m68k-tandem
;;
stratus
)
basic_machine
=
i860-stratus
os
=
-sysv4
;;
sun2
)
basic_machine
=
m68000-sun
;;
sun2os3
)
basic_machine
=
m68000-sun
os
=
-sunos3
;;
sun2os4
)
basic_machine
=
m68000-sun
os
=
-sunos4
;;
sun3os3
)
basic_machine
=
m68k-sun
os
=
-sunos3
;;
sun3os4
)
basic_machine
=
m68k-sun
os
=
-sunos4
;;
sun4os3
)
basic_machine
=
sparc-sun
os
=
-sunos3
;;
sun4os4
)
basic_machine
=
sparc-sun
os
=
-sunos4
;;
sun4sol2
)
basic_machine
=
sparc-sun
os
=
-solaris2
;;
sun3
|
sun3-
*
)
basic_machine
=
m68k-sun
;;
sun4
)
basic_machine
=
sparc-sun
;;
sun386
|
sun386i
|
roadrunner
)
basic_machine
=
i386-sun
;;
sv1
)
basic_machine
=
sv1-cray
os
=
-unicos
;;
symmetry
)
basic_machine
=
i386-sequent
os
=
-dynix
;;
t3e
)
basic_machine
=
alphaev5-cray
os
=
-unicos
;;
t90
)
basic_machine
=
t90-cray
os
=
-unicos
;;
tic54x
|
c54x
*
)
basic_machine
=
tic54x-unknown
os
=
-coff
;;
tic55x
|
c55x
*
)
basic_machine
=
tic55x-unknown
os
=
-coff
;;
tic6x
|
c6x
*
)
basic_machine
=
tic6x-unknown
os
=
-coff
;;
tx39
)
basic_machine
=
mipstx39-unknown
;;
tx39el
)
basic_machine
=
mipstx39el-unknown
;;
toad1
)
basic_machine
=
pdp10-xkl
os
=
-tops20
;;
tower
|
tower-32
)
basic_machine
=
m68k-ncr
;;
tpf
)
basic_machine
=
s390x-ibm
os
=
-tpf
;;
udi29k
)
basic_machine
=
a29k-amd
os
=
-udi
;;
ultra3
)
basic_machine
=
a29k-nyu
os
=
-sym1
;;
v810
|
necv810
)
basic_machine
=
v810-nec
os
=
-none
;;
vaxv
)
basic_machine
=
vax-dec
os
=
-sysv
;;
vms
)
basic_machine
=
vax-dec
os
=
-vms
;;
vpp
*
|
vx|vx-
*
)
basic_machine
=
f301-fujitsu
;;
vxworks960
)
basic_machine
=
i960-wrs
os
=
-vxworks
;;
vxworks68
)
basic_machine
=
m68k-wrs
os
=
-vxworks
;;
vxworks29k
)
basic_machine
=
a29k-wrs
os
=
-vxworks
;;
w65
*
)
basic_machine
=
w65-wdc
os
=
-none
;;
w89k-
*
)
basic_machine
=
hppa1.1-winbond
os
=
-proelf
;;
xbox
)
basic_machine
=
i686-pc
os
=
-mingw32
;;
xps
|
xps100
)
basic_machine
=
xps100-honeywell
;;
ymp
)
basic_machine
=
ymp-cray
os
=
-unicos
;;
z8k-
*
-coff
)
basic_machine
=
z8k-unknown
os
=
-sim
;;
none
)
basic_machine
=
none-none
os
=
-none
;;
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
w89k
)
basic_machine
=
hppa1.1-winbond
;;
op50n
)
basic_machine
=
hppa1.1-oki
;;
op60c
)
basic_machine
=
hppa1.1-oki
;;
romp
)
basic_machine
=
romp-ibm
;;
mmix
)
basic_machine
=
mmix-knuth
;;
rs6000
)
basic_machine
=
rs6000-ibm
;;
vax
)
basic_machine
=
vax-dec
;;
pdp10
)
# there are many clones, so DEC is not a safe bet
basic_machine
=
pdp10-unknown
;;
pdp11
)
basic_machine
=
pdp11-dec
;;
we32k
)
basic_machine
=
we32k-att
;;
sh[1234]
|
sh[24]a
|
sh[34]eb
|
sh[1234]le
|
sh[23]ele
)
basic_machine
=
sh-unknown
;;
sparc
|
sparcv8
|
sparcv9
|
sparcv9b
)
basic_machine
=
sparc-sun
;;
cydra
)
basic_machine
=
cydra-cydrome
;;
orion
)
basic_machine
=
orion-highlevel
;;
orion105
)
basic_machine
=
clipper-highlevel
;;
mac
|
mpw
|
mac-mpw
)
basic_machine
=
m68k-apple
;;
pmac
|
pmac-mpw
)
basic_machine
=
powerpc-apple
;;
*
-unknown
)
# Make sure to match an already-canonicalized machine name.
;;
*
)
echo
Invalid configuration
\`
$1
\'
: machine
\`
$basic_machine
\'
not recognized 1>&2
exit
1
;;
esac
# Here we canonicalize certain aliases for manufacturers.
case
$basic_machine
in
*
-digital
*
)
basic_machine
=
`
echo
$basic_machine
|
sed
's/digital.*/dec/'
`
;;
*
-commodore
*
)
basic_machine
=
`
echo
$basic_machine
|
sed
's/commodore.*/cbm/'
`
;;
*
)
;;
esac
# Decode manufacturer-specific aliases for certain operating systems.
if
[
x
"
$os
"
!=
x
""
]
then
case
$os
in
# First match some system type aliases
# that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
-solaris1
|
-solaris1
.
*
)
os
=
`
echo
$os
|
sed
-e
's|solaris1|sunos4|'
`
;;
-solaris
)
os
=
-solaris2
;;
-svr4
*
)
os
=
-sysv4
;;
-unixware
*
)
os
=
-sysv4
.2uw
;;
-gnu
/linux
*
)
os
=
`
echo
$os
|
sed
-e
's|gnu/linux|linux-gnu|'
`
;;
# First accept the basic system types.
# The portable systems comes first.
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu
*
|
-bsd
*
|
-mach
*
|
-minix
*
|
-genix
*
|
-ultrix
*
|
-irix
*
\
|
-
*
vms
*
|
-sco
*
|
-esix
*
|
-isc
*
|
-aix
*
|
-sunos
|
-sunos
[
34]
*
\
|
-hpux
*
|
-unos
*
|
-osf
*
|
-luna
*
|
-dgux
*
|
-solaris
*
|
-sym
*
\
|
-amigaos
*
|
-amigados
*
|
-msdos
*
|
-newsos
*
|
-unicos
*
|
-aof
*
\
|
-aos
*
\
|
-nindy
*
|
-vxsim
*
|
-vxworks
*
|
-ebmon
*
|
-hms
*
|
-mvs
*
\
|
-clix
*
|
-riscos
*
|
-uniplus
*
|
-iris
*
|
-rtu
*
|
-xenix
*
\
|
-hiux
*
|
-386bsd
*
|
-knetbsd
*
|
-mirbsd
*
|
-netbsd
*
|
-openbsd
*
\
|
-ekkobsd
*
|
-kfreebsd
*
|
-freebsd
*
|
-riscix
*
|
-lynxos
*
\
|
-bosx
*
|
-nextstep
*
|
-cxux
*
|
-aout
*
|
-elf
*
|
-oabi
*
\
|
-ptx
*
|
-coff
*
|
-ecoff
*
|
-winnt
*
|
-domain
*
|
-vsta
*
\
|
-udi
*
|
-eabi
*
|
-lites
*
|
-ieee
*
|
-go32
*
|
-aux
*
\
|
-chorusos
*
|
-chorusrdb
*
\
|
-cygwin
*
|
-pe
*
|
-psos
*
|
-moss
*
|
-proelf
*
|
-rtems
*
\
|
-mingw32
*
|
-linux-gnu
*
|
-linux-newlib
*
|
-linux-uclibc
*
\
|
-uxpv
*
|
-beos
*
|
-mpeix
*
|
-udk
*
\
|
-interix
*
|
-uwin
*
|
-mks
*
|
-rhapsody
*
|
-darwin
*
|
-opened
*
\
|
-openstep
*
|
-oskit
*
|
-conix
*
|
-pw32
*
|
-nonstopux
*
\
|
-storm-chaos
*
|
-tops10
*
|
-tenex
*
|
-tops20
*
|
-its
*
\
|
-os2
*
|
-vos
*
|
-palmos
*
|
-uclinux
*
|
-nucleus
*
\
|
-morphos
*
|
-superux
*
|
-rtmk
*
|
-rtmk-nova
*
|
-windiss
*
\
|
-powermax
*
|
-dnix
*
|
-nx6
|
-nx7
|
-sei
*
|
-dragonfly
*
\
|
-skyos
*
|
-haiku
*
|
-rdos
*
|
-irx
*
)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx
*
)
case
$basic_machine
in
x86-
*
|
i
*
86-
*
)
;;
*
)
os
=
-nto
$os
;;
esac
;;
-nto-qnx
*
)
;;
-nto
*
)
os
=
`
echo
$os
|
sed
-e
's|nto|nto-qnx|'
`
;;
-sim
|
-es1800
*
|
-hms
*
|
-xray
|
-os68k
*
|
-none
*
|
-v88r
*
\
|
-windows
*
|
-osx
|
-abug
|
-netware
*
|
-os9
*
|
-beos
*
|
-haiku
*
\
|
-macos
*
|
-mpw
*
|
-magic
*
|
-mmixware
*
|
-mon960
*
|
-lnews
*
)
;;
-mac
*
)
os
=
`
echo
$os
|
sed
-e
's|mac|macos|'
`
;;
-linux-dietlibc
)
os
=
-linux-dietlibc
;;
-linux
*
)
os
=
`
echo
$os
|
sed
-e
's|linux|linux-gnu|'
`
;;
-sunos5
*
)
os
=
`
echo
$os
|
sed
-e
's|sunos5|solaris2|'
`
;;
-sunos6
*
)
os
=
`
echo
$os
|
sed
-e
's|sunos6|solaris3|'
`
;;
-opened
*
)
os
=
-openedition
;;
-os400
*
)
os
=
-os400
;;
-wince
*
)
os
=
-wince
;;
-osfrose
*
)
os
=
-osfrose
;;
-osf
*
)
os
=
-osf
;;
-utek
*
)
os
=
-bsd
;;
-dynix
*
)
os
=
-bsd
;;
-acis
*
)
os
=
-aos
;;
-atheos
*
)
os
=
-atheos
;;
-syllable
*
)
os
=
-syllable
;;
-386bsd
)
os
=
-bsd
;;
-ctix
*
|
-uts
*
)
os
=
-sysv
;;
-nova
*
)
os
=
-rtmk-nova
;;
-ns2
)
os
=
-nextstep2
;;
-nsk
*
)
os
=
-nsk
;;
# Preserve the version number of sinix5.
-sinix5
.
*
)
os
=
`
echo
$os
|
sed
-e
's|sinix|sysv|'
`
;;
-sinix
*
)
os
=
-sysv4
;;
-tpf
*
)
os
=
-tpf
;;
-triton
*
)
os
=
-sysv3
;;
-oss
*
)
os
=
-sysv3
;;
-svr4
)
os
=
-sysv4
;;
-svr3
)
os
=
-sysv3
;;
-sysvr4
)
os
=
-sysv4
;;
# This must come after -sysvr4.
-sysv
*
)
;;
-ose
*
)
os
=
-ose
;;
-es1800
*
)
os
=
-ose
;;
-xenix
)
os
=
-xenix
;;
-
*
mint
|
-mint
[
0-9]
*
|
-
*
MiNT
|
-MiNT
[
0-9]
*
)
os
=
-mint
;;
-aros
*
)
os
=
-aros
;;
-kaos
*
)
os
=
-kaos
;;
-zvmoe
)
os
=
-zvmoe
;;
-none
)
;;
*
)
# Get rid of the `-' at the beginning of $os.
os
=
`
echo
$os
|
sed
's/[^-]*-//'
`
echo
Invalid configuration
\`
$1
\'
: system
\`
$os
\'
not recognized 1>&2
exit
1
;;
esac
else
# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.
# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system. Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
case
$basic_machine
in
*
-acorn
)
os
=
-riscix1
.2
;;
arm
*
-rebel
)
os
=
-linux
;;
arm
*
-semi
)
os
=
-aout
;;
c4x-
*
|
tic4x-
*
)
os
=
-coff
;;
# This must come before the *-dec entry.
pdp10-
*
)
os
=
-tops20
;;
pdp11-
*
)
os
=
-none
;;
*
-dec
|
vax-
*
)
os
=
-ultrix4
.2
;;
m68
*
-apollo
)
os
=
-domain
;;
i386-sun
)
os
=
-sunos4
.0.2
;;
m68000-sun
)
os
=
-sunos3
# This also exists in the configure program, but was not the
# default.
# os=-sunos4
;;
m68
*
-cisco
)
os
=
-aout
;;
mips
*
-cisco
)
os
=
-elf
;;
mips
*
-
*
)
os
=
-elf
;;
or32-
*
)
os
=
-coff
;;
*
-tti
)
# must be before sparc entry or we get the wrong os.
os
=
-sysv3
;;
sparc-
*
|
*
-sun
)
os
=
-sunos4
.1.1
;;
*
-be
)
os
=
-beos
;;
*
-haiku
)
os
=
-haiku
;;
*
-ibm
)
os
=
-aix
;;
*
-knuth
)
os
=
-mmixware
;;
*
-wec
)
os
=
-proelf
;;
*
-winbond
)
os
=
-proelf
;;
*
-oki
)
os
=
-proelf
;;
*
-hp
)
os
=
-hpux
;;
*
-hitachi
)
os
=
-hiux
;;
i860-
*
|
*
-att
|
*
-ncr
|
*
-altos
|
*
-motorola
|
*
-convergent
)
os
=
-sysv
;;
*
-cbm
)
os
=
-amigaos
;;
*
-dg
)
os
=
-dgux
;;
*
-dolphin
)
os
=
-sysv3
;;
m68k-ccur
)
os
=
-rtu
;;
m88k-omron
*
)
os
=
-luna
;;
*
-next
)
os
=
-nextstep
;;
*
-sequent
)
os
=
-ptx
;;
*
-crds
)
os
=
-unos
;;
*
-ns
)
os
=
-genix
;;
i370-
*
)
os
=
-mvs
;;
*
-next
)
os
=
-nextstep3
;;
*
-gould
)
os
=
-sysv
;;
*
-highlevel
)
os
=
-bsd
;;
*
-encore
)
os
=
-bsd
;;
*
-sgi
)
os
=
-irix
;;
*
-siemens
)
os
=
-sysv4
;;
*
-masscomp
)
os
=
-rtu
;;
f30[01]-fujitsu
|
f700-fujitsu
)
os
=
-uxpv
;;
*
-rom68k
)
os
=
-coff
;;
*
-
*
bug
)
os
=
-coff
;;
*
-apple
)
os
=
-macos
;;
*
-atari
*
)
os
=
-mint
;;
*
)
os
=
-none
;;
esac
fi
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
vendor
=
unknown
case
$basic_machine
in
*
-unknown
)
case
$os
in
-riscix
*
)
vendor
=
acorn
;;
-sunos
*
)
vendor
=
sun
;;
-aix
*
)
vendor
=
ibm
;;
-beos
*
)
vendor
=
be
;;
-hpux
*
)
vendor
=
hp
;;
-mpeix
*
)
vendor
=
hp
;;
-hiux
*
)
vendor
=
hitachi
;;
-unos
*
)
vendor
=
crds
;;
-dgux
*
)
vendor
=
dg
;;
-luna
*
)
vendor
=
omron
;;
-genix
*
)
vendor
=
ns
;;
-mvs
*
|
-opened
*
)
vendor
=
ibm
;;
-os400
*
)
vendor
=
ibm
;;
-ptx
*
)
vendor
=
sequent
;;
-tpf
*
)
vendor
=
ibm
;;
-vxsim
*
|
-vxworks
*
|
-windiss
*
)
vendor
=
wrs
;;
-aux
*
)
vendor
=
apple
;;
-hms
*
)
vendor
=
hitachi
;;
-mpw
*
|
-macos
*
)
vendor
=
apple
;;
-
*
mint
|
-mint
[
0-9]
*
|
-
*
MiNT
|
-MiNT
[
0-9]
*
)
vendor
=
atari
;;
-vos
*
)
vendor
=
stratus
;;
esac
basic_machine
=
`
echo
$basic_machine
|
sed
"s/unknown/
$vendor
/"
`
;;
esac
echo
$basic_machine$os
exit
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
src/scanbuttond-0.2.3/configure
deleted
100644 → 0
View file @
0fe94fc2
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/scanbuttond-0.2.3/configure.in
deleted
100644 → 0
View file @
0fe94fc2
AC_INIT([scanbuttond], [0.2.3], [root84@users.soureforge.net])
AC_CONFIG_HEADERS([include/scanbuttond/config.h])
AM_INIT_AUTOMAKE
AC_DISABLE_STATIC
AC_LANG_C
AC_PROG_CC
AC_PROG_LIBTOOL
AC_CHECK_HEADERS(errno.h string.h syslog.h unistd.h dlfcn.h usb.h)
CFLAGS="${CFLAGS} -DCFG_DIR=\$(pkgsysconfdir) -DLIB_DIR=\$(libdir)"
AC_OUTPUT(Makefile contrib/Makefile interface/Makefile backends/Makefile scripts/Makefile)
src/scanbuttond-0.2.3/contrib/Makefile.am
deleted
100644 → 0
View file @
0fe94fc2
EXTRA_DIST
=
initscript.gentoo
src/scanbuttond-0.2.3/contrib/Makefile.in
deleted
100644 → 0
View file @
0fe94fc2
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir
=
@srcdir@
top_srcdir
=
@top_srcdir@
VPATH
=
@srcdir@
pkgdatadir
=
$(datadir)
/@PACKAGE@
pkglibdir
=
$(libdir)
/@PACKAGE@
pkgincludedir
=
$(includedir)
/@PACKAGE@
top_builddir
=
..
am__cd
=
CDPATH
=
"
$
${
ZSH_VERSION
+.
}
$(PATH_SEPARATOR)
"
&&
cd
INSTALL
=
@INSTALL@
install_sh_DATA
=
$(install_sh)
-c
-m
644
install_sh_PROGRAM
=
$(install_sh)
-c
install_sh_SCRIPT
=
$(install_sh)
-c
INSTALL_HEADER
=
$(INSTALL_DATA)
transform
=
$(program_transform_name)
NORMAL_INSTALL
=
:
PRE_INSTALL
=
:
POST_INSTALL
=
:
NORMAL_UNINSTALL
=
:
PRE_UNINSTALL
=
:
POST_UNINSTALL
=
:
build_triplet
=
@build@
host_triplet
=
@host@
subdir
=
contrib
DIST_COMMON
=
$(srcdir)
/Makefile.am
$(srcdir)
/Makefile.in
ACLOCAL_M4
=
$(top_srcdir)
/aclocal.m4
am__aclocal_m4_deps
=
$(top_srcdir)
/configure.in
am__configure_deps
=
$(am__aclocal_m4_deps)
$(CONFIGURE_DEPENDENCIES)
\
$(ACLOCAL_M4)
mkinstalldirs
=
$(install_sh)
-d
CONFIG_HEADER
=
$(top_builddir)
/include/scanbuttond/config.h
CONFIG_CLEAN_FILES
=
SOURCES
=
DIST_SOURCES
=
DISTFILES
=
$(DIST_COMMON)
$(DIST_SOURCES)
$(TEXINFOS)
$(EXTRA_DIST)
ACLOCAL
=
@ACLOCAL@
AMDEP_FALSE
=
@AMDEP_FALSE@
AMDEP_TRUE
=
@AMDEP_TRUE@
AMTAR
=
@AMTAR@
AR
=
@AR@
AUTOCONF
=
@AUTOCONF@
AUTOHEADER
=
@AUTOHEADER@
AUTOMAKE
=
@AUTOMAKE@
AWK
=
@AWK@
CC
=
@CC@
CCDEPMODE
=
@CCDEPMODE@
CFLAGS
=
@CFLAGS@
CPP
=
@CPP@
CPPFLAGS
=
@CPPFLAGS@
CXX
=
@CXX@
CXXCPP
=
@CXXCPP@
CXXDEPMODE
=
@CXXDEPMODE@
CXXFLAGS
=
@CXXFLAGS@
CYGPATH_W
=
@CYGPATH_W@
DEFS
=
@DEFS@
DEPDIR
=
@DEPDIR@
ECHO
=
@ECHO@
ECHO_C
=
@ECHO_C@
ECHO_N
=
@ECHO_N@
ECHO_T
=
@ECHO_T@
EGREP
=
@EGREP@
EXEEXT
=
@EXEEXT@
F77
=
@F77@
FFLAGS
=
@FFLAGS@
INSTALL_DATA
=
@INSTALL_DATA@
INSTALL_PROGRAM
=
@INSTALL_PROGRAM@
INSTALL_SCRIPT
=
@INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM
=
@INSTALL_STRIP_PROGRAM@
LDFLAGS
=
@LDFLAGS@
LIBOBJS
=
@LIBOBJS@
LIBS
=
@LIBS@
LIBTOOL
=
@LIBTOOL@
LN_S
=
@LN_S@
LTLIBOBJS
=
@LTLIBOBJS@
MAKEINFO
=
@MAKEINFO@
OBJEXT
=
@OBJEXT@
PACKAGE
=
@PACKAGE@
PACKAGE_BUGREPORT
=
@PACKAGE_BUGREPORT@
PACKAGE_NAME
=
@PACKAGE_NAME@
PACKAGE_STRING
=
@PACKAGE_STRING@
PACKAGE_TARNAME
=
@PACKAGE_TARNAME@
PACKAGE_VERSION
=
@PACKAGE_VERSION@
PATH_SEPARATOR
=
@PATH_SEPARATOR@
RANLIB
=
@RANLIB@
SET_MAKE
=
@SET_MAKE@
SHELL
=
@SHELL@
STRIP
=
@STRIP@
VERSION
=
@VERSION@
ac_ct_AR
=
@ac_ct_AR@
ac_ct_CC
=
@ac_ct_CC@
ac_ct_CXX
=
@ac_ct_CXX@
ac_ct_F77
=
@ac_ct_F77@
ac_ct_RANLIB
=
@ac_ct_RANLIB@
ac_ct_STRIP
=
@ac_ct_STRIP@
am__fastdepCC_FALSE
=
@am__fastdepCC_FALSE@
am__fastdepCC_TRUE
=
@am__fastdepCC_TRUE@
am__fastdepCXX_FALSE
=
@am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE
=
@am__fastdepCXX_TRUE@
am__include
=
@am__include@
am__leading_dot
=
@am__leading_dot@
am__quote
=
@am__quote@
am__tar
=
@am__tar@
am__untar
=
@am__untar@
bindir
=
@bindir@
build
=
@build@
build_alias
=
@build_alias@
build_cpu
=
@build_cpu@
build_os
=
@build_os@
build_vendor
=
@build_vendor@
datadir
=
@datadir@
exec_prefix
=
@exec_prefix@
host
=
@host@
host_alias
=
@host_alias@
host_cpu
=
@host_cpu@
host_os
=
@host_os@
host_vendor
=
@host_vendor@
includedir
=
@includedir@
infodir
=
@infodir@
install_sh
=
@install_sh@
libdir
=
@libdir@
libexecdir
=
@libexecdir@
localstatedir
=
@localstatedir@
mandir
=
@mandir@
mkdir_p
=
@mkdir_p@
oldincludedir
=
@oldincludedir@
prefix
=
@prefix@
program_transform_name
=
@program_transform_name@
sbindir
=
@sbindir@
sharedstatedir
=
@sharedstatedir@
sysconfdir
=
@sysconfdir@
target_alias
=
@target_alias@
EXTRA_DIST
=
initscript.gentoo
all
:
all-am
.SUFFIXES
:
$(srcdir)/Makefile.in
:
$(srcdir)/Makefile.am $(am__configure_deps)
@
for
dep
in
$?
;
do
\
case
'
$(am__configure_deps)
'
in
\
*
$$
dep
*
)
\
cd
$(top_builddir)
&&
$(MAKE)
$(AM_MAKEFLAGS)
am--refresh
\
&&
exit
0
;
\
exit
1
;;
\
esac
;
\
done
;
\
echo
' cd
$(top_srcdir)
&&
$(AUTOMAKE)
--gnu contrib/Makefile'
;
\
cd
$(top_srcdir)
&&
\
$(AUTOMAKE)
--gnu
contrib/Makefile
.PRECIOUS
:
Makefile
Makefile
:
$(srcdir)/Makefile.in $(top_builddir)/config.status
@
case
'$?'
in
\
*
config.status
*
)
\
cd
$(top_builddir)
&&
$(MAKE)
$(AM_MAKEFLAGS)
am--refresh
;;
\
*
)
\
echo
' cd
$(top_builddir)
&&
$(SHELL)
./config.status
$(subdir)
/$@
$(am__depfiles_maybe)
'
;
\
cd
$(top_builddir)
&&
$(SHELL)
./config.status
$(subdir)
/
$@
$(am__depfiles_maybe)
;;
\
esac
;
$(top_builddir)/config.status
:
$(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd
$(top_builddir)
&&
$(MAKE)
$(AM_MAKEFLAGS)
am--refresh
$(top_srcdir)/configure
:
$(am__configure_deps)
cd
$(top_builddir)
&&
$(MAKE)
$(AM_MAKEFLAGS)
am--refresh
$(ACLOCAL_M4)
:
$(am__aclocal_m4_deps)
cd
$(top_builddir)
&&
$(MAKE)
$(AM_MAKEFLAGS)
am--refresh
mostlyclean-libtool
:
-
rm
-f
*
.lo
clean-libtool
:
-
rm
-rf
.libs _libs
distclean-libtool
:
-
rm
-f
libtool
uninstall-info-am
:
tags
:
TAGS
TAGS
:
ctags
:
CTAGS
CTAGS
:
distdir
:
$(DISTFILES)
@
srcdirstrip
=
`
echo
"
$(srcdir)
"
|
sed
's|.|.|g'
`
;
\
topsrcdirstrip
=
`
echo
"
$(top_srcdir)
"
|
sed
's|.|.|g'
`
;
\
list
=
'
$(DISTFILES)
'
;
for
file
in
$$
list
;
do
\
case
$$
file
in
\
$(srcdir)
/
*
)
file
=
`
echo
"
$$
file"
|
sed
"s|^
$$
srcdirstrip/||"
`
;;
\
$(top_srcdir)
/
*
)
file
=
`
echo
"
$$
file"
|
sed
"s|^
$$
topsrcdirstrip/|
$(top_builddir)
/|"
`
;;
\
esac
;
\
if
test
-f
$$
file
||
test
-d
$$
file
;
then
d
=
.
;
else
d
=
$(srcdir)
;
fi
;
\
dir
=
`
echo
"
$$
file"
|
sed
-e
's,/[^/]*$$,,'
`
;
\
if
test
"
$$
dir"
!=
"
$$
file"
&&
test
"
$$
dir"
!=
"."
;
then
\
dir
=
"/
$$
dir"
;
\
$(mkdir_p)
"
$(distdir)$$
dir"
;
\
else
\
dir
=
''
;
\
fi
;
\
if
test
-d
$$
d/
$$
file
;
then
\
if
test
-d
$(srcdir)
/
$$
file
&&
test
$$
d
!=
$(srcdir)
;
then
\
cp
-pR
$(srcdir)
/
$$
file
$(distdir)$$
dir
||
exit
1
;
\
fi
;
\
cp
-pR
$$
d/
$$
file
$(distdir)$$
dir
||
exit
1
;
\
else
\
test
-f
$(distdir)
/
$$
file
\
||
cp
-p
$$
d/
$$
file
$(distdir)
/
$$
file
\
||
exit
1
;
\
fi
;
\
done
check-am
:
all-am
check
:
check-am
all-am
:
Makefile
installdirs
:
install
:
install-am
install-exec
:
install-exec-am
install-data
:
install-data-am
uninstall
:
uninstall-am
install-am
:
all-am
@
$(MAKE)
$(AM_MAKEFLAGS)
install-exec-am install-data-am
installcheck
:
installcheck-am
install-strip
:
$(MAKE)
$(AM_MAKEFLAGS)
INSTALL_PROGRAM
=
"
$(INSTALL_STRIP_PROGRAM)
"
\
install_sh_PROGRAM
=
"
$(INSTALL_STRIP_PROGRAM)
"
INSTALL_STRIP_FLAG
=
-s
\
`
test
-z
'
$(STRIP)
'
||
\
echo
"INSTALL_PROGRAM_ENV=STRIPPROG='
$(STRIP)
'"
`
install
mostlyclean-generic
:
clean-generic
:
distclean-generic
:
-
test
-z
"
$(CONFIG_CLEAN_FILES)
"
||
rm
-f
$(CONFIG_CLEAN_FILES)
maintainer-clean-generic
:
@
echo
"This command is intended for maintainers to use"
@
echo
"it deletes files that may require special tools to rebuild."
clean
:
clean-am
clean-am
:
clean-generic clean-libtool mostlyclean-am
distclean
:
distclean-am
-
rm
-f
Makefile
distclean-am
:
clean-am distclean-generic distclean-libtool
dvi
:
dvi-am
dvi-am
:
html
:
html-am
info
:
info-am
info-am
:
install-data-am
:
install-exec-am
:
install-info
:
install-info-am
install-man
:
installcheck-am
:
maintainer-clean
:
maintainer-clean-am
-
rm
-f
Makefile
maintainer-clean-am
:
distclean-am maintainer-clean-generic
mostlyclean
:
mostlyclean-am
mostlyclean-am
:
mostlyclean-generic mostlyclean-libtool
pdf
:
pdf-am
pdf-am
:
ps
:
ps-am
ps-am
:
uninstall-am
:
uninstall-info-am
.PHONY
:
all all-am check check-am clean clean-generic clean-libtool
\
distclean distclean-generic distclean-libtool distdir dvi
\
dvi-am html html-am info info-am install install-am
\
install-data install-data-am install-exec install-exec-am
\
install-info install-info-am install-man install-strip
\
installcheck installcheck-am installdirs maintainer-clean
\
maintainer-clean-generic mostlyclean mostlyclean-generic
\
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
\
uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT
:
src/scanbuttond-0.2.3/contrib/initscript.gentoo
deleted
100644 → 0
View file @
0fe94fc2
#!/sbin/runscript
# scanbuttond init script for Gentoo
# copy it to /etc/init.d/scanbuttond
#
# Copyright 2005 by Bernhard Stiftner
# Distributed under the terms of the GNU General Public License v2
depend() {
need hotplug
}
start() {
ebegin "Starting scanner button daemon"
start-stop-daemon --chuid scanner:scanner --start --quiet --exec /usr/local/bin/scanbuttond
eend $?
}
stop() {
ebegin "Stopping scanner button daemon"
start-stop-daemon --stop --quiet --exec /usr/local/bin/scanbuttond
eend $?
}
src/scanbuttond-0.2.3/depcomp
deleted
100644 → 0
View file @
0fe94fc2
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion
=
2005-07-09.11
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case
$1
in
''
)
echo
"
$0
: No command. Try
\`
$0
--help' for more information."
1>&2
exit
1
;
;;
-h
|
--h
*
)
cat
<<
\
EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit
$?
;;
-v
|
--v
*
)
echo
"depcomp
$scriptversion
"
exit
$?
;;
esac
if
test
-z
"
$depmode
"
||
test
-z
"
$source
"
||
test
-z
"
$object
"
;
then
echo
"depcomp: Variables source, object and depmode must be set"
1>&2
exit
1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile
=
${
depfile
-
`
echo
"
$object
"
|
sed
's|[^\\/]*$|'
${
DEPDIR
-.deps
}
'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'
`
}
tmpdepfile
=
${
tmpdepfile
-
`
echo
"
$depfile
"
|
sed
's/\.\([^.]*\)$/.T\1/'
`
}
rm
-f
"
$tmpdepfile
"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if
test
"
$depmode
"
=
hp
;
then
# HP compiler uses -M and no extra arg.
gccflag
=
-M
depmode
=
gcc
fi
if
test
"
$depmode
"
=
dashXmstdout
;
then
# This is just like dashmstdout with a different argument.
dashmflag
=
-xM
depmode
=
dashmstdout
fi
case
"
$depmode
"
in
gcc3
)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"
$@
"
-MT
"
$object
"
-MD
-MP
-MF
"
$tmpdepfile
"
stat
=
$?
if
test
$stat
-eq
0
;
then
:
else
rm
-f
"
$tmpdepfile
"
exit
$stat
fi
mv
"
$tmpdepfile
"
"
$depfile
"
;;
gcc
)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if
test
-z
"
$gccflag
"
;
then
gccflag
=
-MD
,
fi
"
$@
"
-Wp
,
"
$gccflag$tmpdepfile
"
stat
=
$?
if
test
$stat
-eq
0
;
then
:
else
rm
-f
"
$tmpdepfile
"
exit
$stat
fi
rm
-f
"
$depfile
"
echo
"
$object
:
\\
"
>
"
$depfile
"
alpha
=
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed
-e
's/^[^:]*: / /'
\
-e
's/^['
$alpha
']:\/[^:]*: / /'
<
"
$tmpdepfile
"
>>
"
$depfile
"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr
' '
'
'
<
"
$tmpdepfile
"
|
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed
-e
's/^\\$//'
-e
'/^$/d'
-e
'/:$/d'
|
sed
-e
's/$/ :/'
>>
"
$depfile
"
rm
-f
"
$tmpdepfile
"
;;
hp
)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit
1
;;
sgi
)
if
test
"
$libtool
"
=
yes
;
then
"
$@
"
"-Wp,-MDupdate,
$tmpdepfile
"
else
"
$@
"
-MDupdate
"
$tmpdepfile
"
fi
stat
=
$?
if
test
$stat
-eq
0
;
then
:
else
rm
-f
"
$tmpdepfile
"
exit
$stat
fi
rm
-f
"
$depfile
"
if
test
-f
"
$tmpdepfile
"
;
then
# yes, the sourcefile depend on other files
echo
"
$object
:
\\
"
>
"
$depfile
"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr
' '
'
'
<
"
$tmpdepfile
"
\
|
sed
-e
's/^.*\.o://'
-e
's/#.*$//'
-e
'/^$/ d'
|
\
tr
'
'
' '
>>
$depfile
echo
>>
$depfile
# The second pass generates a dummy entry for each header file.
tr
' '
'
'
<
"
$tmpdepfile
"
\
|
sed
-e
's/^.*\.o://'
-e
's/#.*$//'
-e
'/^$/ d'
-e
's/$/:/'
\
>>
$depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo
"#dummy"
>
"
$depfile
"
fi
rm
-f
"
$tmpdepfile
"
;;
aix
)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped
=
`
echo
"
$object
"
|
sed
's/\(.*\)\..*$/\1/'
`
tmpdepfile
=
"
$stripped
.u"
if
test
"
$libtool
"
=
yes
;
then
"
$@
"
-Wc
,-M
else
"
$@
"
-M
fi
stat
=
$?
if
test
-f
"
$tmpdepfile
"
;
then
:
else
stripped
=
`
echo
"
$stripped
"
|
sed
's,^.*/,,'
`
tmpdepfile
=
"
$stripped
.u"
fi
if
test
$stat
-eq
0
;
then
:
else
rm
-f
"
$tmpdepfile
"
exit
$stat
fi
if
test
-f
"
$tmpdepfile
"
;
then
outname
=
"
$stripped
.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed
-e
"s,^
$outname
:,
$object
:,"
<
"
$tmpdepfile
"
>
"
$depfile
"
sed
-e
"s,^
$outname
:
\(
.*
\)
$,
\1
:,"
<
"
$tmpdepfile
"
>>
"
$depfile
"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo
"#dummy"
>
"
$depfile
"
fi
rm
-f
"
$tmpdepfile
"
;;
icc
)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"
$@
"
-MD
-MF
"
$tmpdepfile
"
stat
=
$?
if
test
$stat
-eq
0
;
then
:
else
rm
-f
"
$tmpdepfile
"
exit
$stat
fi
rm
-f
"
$depfile
"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed
"s,^[^:]*:,
$object
:,"
<
"
$tmpdepfile
"
>
"
$depfile
"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed
's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d'
<
"
$tmpdepfile
"
|
sed
-e
's/$/ :/'
>>
"
$depfile
"
rm
-f
"
$tmpdepfile
"
;;
tru64
)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir
=
`
echo
"
$object
"
|
sed
-e
's|/[^/]*$|/|'
`
test
"x
$dir
"
=
"x
$object
"
&&
dir
=
base
=
`
echo
"
$object
"
|
sed
-e
's|^.*/||'
-e
's/\.o$//'
-e
's/\.lo$//'
`
if
test
"
$libtool
"
=
yes
;
then
# With Tru64 cc, shared objects can also be used to make a
# static library. This mecanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1
=
$dir
.libs/
$base
.lo.d
# libtool 1.4
tmpdepfile2
=
$dir$base
.o.d
# libtool 1.5
tmpdepfile3
=
$dir
.libs/
$base
.o.d
# libtool 1.5
tmpdepfile4
=
$dir
.libs/
$base
.d
# Compaq CCC V6.2-504
"
$@
"
-Wc
,-MD
else
tmpdepfile1
=
$dir$base
.o.d
tmpdepfile2
=
$dir$base
.d
tmpdepfile3
=
$dir$base
.d
tmpdepfile4
=
$dir$base
.d
"
$@
"
-MD
fi
stat
=
$?
if
test
$stat
-eq
0
;
then
:
else
rm
-f
"
$tmpdepfile1
"
"
$tmpdepfile2
"
"
$tmpdepfile3
"
"
$tmpdepfile4
"
exit
$stat
fi
for
tmpdepfile
in
"
$tmpdepfile1
"
"
$tmpdepfile2
"
"
$tmpdepfile3
"
"
$tmpdepfile4
"
do
test
-f
"
$tmpdepfile
"
&&
break
done
if
test
-f
"
$tmpdepfile
"
;
then
sed
-e
"s,^.*
\.
[a-z]*:,
$object
:,"
<
"
$tmpdepfile
"
>
"
$depfile
"
# That's a tab and a space in the [].
sed
-e
's,^.*\.[a-z]*:[ ]*,,'
-e
's,$,:,'
<
"
$tmpdepfile
"
>>
"
$depfile
"
else
echo
"#dummy"
>
"
$depfile
"
fi
rm
-f
"
$tmpdepfile
"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout
)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"
$@
"
||
exit
$?
# Remove the call to Libtool.
if
test
"
$libtool
"
=
yes
;
then
while
test
$1
!=
'--mode=compile'
;
do
shift
done
shift
fi
# Remove `-o $object'.
IFS
=
" "
for
arg
do
case
$arg
in
-o
)
shift
;;
$object
)
shift
;;
*
)
set
fnord
"
$@
"
"
$arg
"
shift
# fnord
shift
# $arg
;;
esac
done
test
-z
"
$dashmflag
"
&&
dashmflag
=
-M
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"
$@
"
$dashmflag
|
sed
's:^[ ]*[^: ][^:][^:]*\:[ ]*:'
"
$object
"
'\: :'
>
"
$tmpdepfile
"
rm
-f
"
$depfile
"
cat
<
"
$tmpdepfile
"
>
"
$depfile
"
tr
' '
'
'
<
"
$tmpdepfile
"
|
\
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed
-e
's/^\\$//'
-e
'/^$/d'
-e
'/:$/d'
|
sed
-e
's/$/ :/'
>>
"
$depfile
"
rm
-f
"
$tmpdepfile
"
;;
dashXmstdout
)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit
1
;;
makedepend
)
"
$@
"
||
exit
$?
# Remove any Libtool call
if
test
"
$libtool
"
=
yes
;
then
while
test
$1
!=
'--mode=compile'
;
do
shift
done
shift
fi
# X makedepend
shift
cleared
=
no
for
arg
in
"
$@
"
;
do
case
$cleared
in
no
)
set
""
;
shift
cleared
=
yes
;;
esac
case
"
$arg
"
in
-D
*
|
-I
*
)
set
fnord
"
$@
"
"
$arg
"
;
shift
;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-
*
|
$object
)
;;
*
)
set
fnord
"
$@
"
"
$arg
"
;
shift
;;
esac
done
obj_suffix
=
"
`
echo
$object
|
sed
's/^.*\././'
`
"
touch
"
$tmpdepfile
"
${
MAKEDEPEND
-makedepend
}
-o
"
$obj_suffix
"
-f
"
$tmpdepfile
"
"
$@
"
rm
-f
"
$depfile
"
cat
<
"
$tmpdepfile
"
>
"
$depfile
"
sed
'1,2d'
"
$tmpdepfile
"
|
tr
' '
'
'
|
\
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed
-e
's/^\\$//'
-e
'/^$/d'
-e
'/:$/d'
|
sed
-e
's/$/ :/'
>>
"
$depfile
"
rm
-f
"
$tmpdepfile
"
"
$tmpdepfile
"
.bak
;;
cpp
)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"
$@
"
||
exit
$?
# Remove the call to Libtool.
if
test
"
$libtool
"
=
yes
;
then
while
test
$1
!=
'--mode=compile'
;
do
shift
done
shift
fi
# Remove `-o $object'.
IFS
=
" "
for
arg
do
case
$arg
in
-o
)
shift
;;
$object
)
shift
;;
*
)
set
fnord
"
$@
"
"
$arg
"
shift
# fnord
shift
# $arg
;;
esac
done
"
$@
"
-E
|
sed
-n
-e
'/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p'
\
-e
'/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p'
|
sed
'$ s: \\$::'
>
"
$tmpdepfile
"
rm
-f
"
$depfile
"
echo
"
$object
:
\\
"
>
"
$depfile
"
cat
<
"
$tmpdepfile
"
>>
"
$depfile
"
sed
<
"
$tmpdepfile
"
'/^$/d;s/^ //;s/ \\$//;s/$/ :/'
>>
"
$depfile
"
rm
-f
"
$tmpdepfile
"
;;
msvisualcpp
)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"
$@
"
||
exit
$?
IFS
=
" "
for
arg
do
case
"
$arg
"
in
"-Gm"
|
"/Gm"
|
"-Gi"
|
"/Gi"
|
"-ZI"
|
"/ZI"
)
set
fnord
"
$@
"
shift
shift
;;
*
)
set
fnord
"
$@
"
"
$arg
"
shift
shift
;;
esac
done
"
$@
"
-E
|
sed
-n
'/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p'
|
sort
|
uniq
>
"
$tmpdepfile
"
rm
-f
"
$depfile
"
echo
"
$object
:
\\
"
>
"
$depfile
"
.
"
$tmpdepfile
"
|
sed
's% %\\ %g'
|
sed
-n
'/^\(.*\)$/ s:: \1 \\:p'
>>
"
$depfile
"
echo
" "
>>
"
$depfile
"
.
"
$tmpdepfile
"
|
sed
's% %\\ %g'
|
sed
-n
'/^\(.*\)$/ s::\1\::p'
>>
"
$depfile
"
rm
-f
"
$tmpdepfile
"
;;
none
)
exec
"
$@
"
;;
*
)
echo
"Unknown depmode
$depmode
"
1>&2
exit
1
;;
esac
exit
0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
src/scanbuttond-0.2.3/include/scanbuttond/backend.h
deleted
100644 → 0
View file @
0fe94fc2
// backend.h: specification of the mandatory backend functions
// This file is part of scanbuttond.
// Copyleft )c( 2004-2005 by Bernhard Stiftner
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#ifndef __BACKEND_H_INCLUDED
#define __BACKEND_H_INCLUDED
#include "scanbuttond/scanbuttond.h"
/**
* \file backend.h
* \brief Backend function specification.
*
* This file specifies which functions a scanbuttond backend has to
* provide and how it is supposed to interact with with the rest
* of the system.
*/
/**
* Gets the name of this backend.
* \return the backend name
*/
const
char
*
scanbtnd_get_backend_name
(
void
);
/**
* Initializes the backend.
* This function makes the backend ready to operate and searches for supported
* devices (see scanbtnd_get_supported_devices()).
* \return 0 if successful, <0 otherwise
*/
int
scanbtnd_init
(
void
);
/**
* Refreshes the list of supported devices.
* After this function has been called, scanbtnd_get_supported_devices()
* should only return devices which are currently present on this system.
* \return 0 if successful, <0 otherwise
*/
int
scanbtnd_rescan
(
void
);
/**
* Returns a list of devices which are currently driven by this backend.
* The devices are stored in a single-linked list.
* Note that the device list does not automagically refresh after pluggin in or
* unplugging a device. You have to explicitly call scanbtnd_rescan() to do
* that.
* \return a linked list of supported scanner devices
*/
const
scanner_t
*
scanbtnd_get_supported_devices
(
void
);
/**
* Opens the given scanner device.
* This function must be called before using scanbtnd_get_button().
* After calling this function, it is usually not possible for another process
* to access the scanner until scanbtnd_close() is called.
* \param scanner the scanner device to be opened
* \return 0 if successful, <0 otherwise
* \retval -ENODEV if the device is no longer present (or the device list has to
* be refreshed). In this case, call scanbtnd_rescan() and try again.
* \retval -EBUSY if the device is currently used by another process.
* \retval -EINVAL if the device is already open
* \retval -ENOSYS if there is no connection method to communicate with the device
*/
int
scanbtnd_open
(
scanner_t
*
scanner
);
/**
* Closes the given scanner device.
* This function must be called when you've finished querying the scanner button
* status using scanbtnd_get_button().
* After calling this function, other processes may access the device again.
* \param scanner the scanner device to be closed
* \return 0 if successful, <0 otherwise
* \retval -EINVAL if the device is already closed
* \retval -ENOSYS if there is no connection method to communicate with the device
*/
int
scanbtnd_close
(
scanner_t
*
scanner
);
/**
* Queries the scanner's button status.
* \param scanner the scanner device
* \return the number of the currently pressed button, 0 if no button is currently
* pressed, or <0 if there was an error.
* \retval -EINVAL if the scanner device has not been opened before
*/
int
scanbtnd_get_button
(
scanner_t
*
scanner
);
/**
* Gets the SANE device name of this scanner.
* The returned string should look like "epson:libusb:003:017".
* \param scanner the scanner device
* \return the SANE device name, or NULL if the SANE device name cannot be determined.
*/
const
char
*
scanbtnd_get_sane_device_descriptor
(
scanner_t
*
scanner
);
/**
* Shuts down this backend.
* Cleans up some internal data structures and frees some memory.
* \return 0 if successful, <0 otherwise
*/
int
scanbtnd_exit
(
void
);
#endif
src/scanbuttond-0.2.3/include/scanbuttond/common.h
deleted
100644 → 0
View file @
0fe94fc2
// common.h: useful stuff
// This file is part of scanbuttond.
// Copyleft )c( 2006 by Bernhard Stiftner
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#ifndef __COMMON_H_INCLUDED
#define __COMMON_H_INCLUDED
#define STRINGIFY1(x) #x
#define STRINGIFY(x) STRINGIFY1(x)
#endif
src/scanbuttond-0.2.3/include/scanbuttond/config.h.in
deleted
100644 → 0
View file @
0fe94fc2
/* include/scanbuttond/config.h.in. Generated from configure.in by autoheader. */
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the <usb.h> header file. */
#undef HAVE_USB_H
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Version number of package */
#undef VERSION
src/scanbuttond-0.2.3/include/scanbuttond/libusbi.h
deleted
100644 → 0
View file @
0fe94fc2
// libusbi.h: libusb wrapper
// This file is part of scanbuttond.
// Copyleft )c( 2004-2006 by Bernhard Stiftner
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#ifndef __LIBUSBI_H_INCLUDED
#define __LIBUSBI_H_INCLUDED
#include <usb.h>
#include "scanbuttond/scanbuttond.h"
struct
libusb_device
;
typedef
struct
libusb_device
libusb_device_t
;
struct
libusb_device
{
int
vendorID
;
int
productID
;
char
*
location
;
// bus number + ":" + device number
struct
usb_device
*
device
;
struct
usb_dev_handle
*
handle
;
// automatically set by libusb_open(...)
int
interface
;
int
out_endpoint
;
int
in_endpoint
;
libusb_device_t
*
next
;
};
struct
libusb_handle
;
typedef
struct
libusb_handle
libusb_handle_t
;
struct
libusb_handle
{
libusb_device_t
*
devices
;
// rescanning info, timestamps???
};
libusb_handle_t
*
libusb_init
(
void
);
// GLOBAL number of changed devices (does not require a handle!)
int
libusb_get_changed_device_count
(
void
);
void
libusb_rescan
(
libusb_handle_t
*
handle
);
libusb_device_t
*
libusb_get_devices
(
libusb_handle_t
*
handle
);
// returns 0 on success, -EBUSY if the scanner is currently in use,
// or -ENODEV if the scanner does no longer exist
int
libusb_open
(
libusb_device_t
*
device
);
int
libusb_close
(
libusb_device_t
*
device
);
int
libusb_read
(
libusb_device_t
*
device
,
void
*
buffer
,
int
bytecount
);
int
libusb_write
(
libusb_device_t
*
device
,
void
*
buffer
,
int
bytecount
);
// flush bulk read queue
void
libusb_flush
(
libusb_device_t
*
device
);
int
libusb_control_msg
(
libusb_device_t
*
device
,
int
requesttype
,
int
request
,
int
value
,
int
index
,
void
*
bytes
,
int
size
);
void
libusb_exit
(
libusb_handle_t
*
handle
);
#endif
src/scanbuttond-0.2.3/include/scanbuttond/loader.h
deleted
100644 → 0
View file @
0fe94fc2
// loader.h: dynamic backend library loader
// This file is part of scanbuttond.
// Copyleft )c( 2005 by Bernhard Stiftner
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#ifndef __LOADER_H_INCLUDED
#define __LOADER_H_INCLUDED
#include "scanbuttond/scanbuttond.h"
struct
backend
;
typedef
struct
backend
backend_t
;
struct
backend
{
char
*
(
*
scanbtnd_get_backend_name
)(
void
);
int
(
*
scanbtnd_init
)(
void
);
int
(
*
scanbtnd_rescan
)(
void
);
scanner_t
*
(
*
scanbtnd_get_supported_devices
)(
void
);
int
(
*
scanbtnd_open
)(
scanner_t
*
scanner
);
int
(
*
scanbtnd_close
)(
scanner_t
*
scanner
);
int
(
*
scanbtnd_get_button
)(
scanner_t
*
scanner
);
char
*
(
*
scanbtnd_get_sane_device_descriptor
)(
scanner_t
*
scanner
);
int
(
*
scanbtnd_exit
)(
void
);
void
*
handle
;
// handle for dlopen/dlsym/dlclose
backend_t
*
next
;
};
backend_t
*
load_backend
(
const
char
*
filename
);
void
unload_backend
(
backend_t
*
backend
);
#endif
Prev
1
2
3
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment