mirror of
https://github.com/PentHertz/OpenBTS.git
synced 2026-04-28 03:19:27 +00:00
Merged in patches from features/SylvainsPatches.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2324 19bc5d8c-e614-43d4-8b26-e1612bc8e597
This commit is contained in:
parent
1231145a74
commit
d23ba7ddfa
19 changed files with 875 additions and 40910 deletions
|
|
@ -266,7 +266,9 @@ enum TypeAndOffset {
|
|||
SDCCH_4_0=4, SDCCH_4_1=5, SDCCH_4_2=6, SDCCH_4_3=7,
|
||||
SDCCH_8_0=8, SDCCH_8_1=9, SDCCH_8_2=10, SDCCH_8_3=11,
|
||||
SDCCH_8_4=12, SDCCH_8_5=13, SDCCH_8_6=14, SDCCH_8_7=15,
|
||||
/// An extra one for our internal use.
|
||||
/// Some extra ones for our internal use.
|
||||
TDMA_BEACON_BCCH=253,
|
||||
TDMA_BEACON_CCCH=252,
|
||||
TDMA_BEACON=255
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -312,6 +312,19 @@ unsigned L1Encoder::ARFCN() const
|
|||
|
||||
|
||||
|
||||
unsigned L1Decoder::ARFCN() const
|
||||
{
|
||||
assert(mParent);
|
||||
return mParent->ARFCN();
|
||||
}
|
||||
|
||||
|
||||
TypeAndOffset L1Decoder::typeAndOffset() const
|
||||
{
|
||||
return mMapping.typeAndOffset();
|
||||
}
|
||||
|
||||
|
||||
void L1Decoder::open()
|
||||
{
|
||||
ScopedLock lock(mLock);
|
||||
|
|
@ -569,6 +582,10 @@ bool XCCHL1Decoder::processBurst(const RxBurst& inBurst)
|
|||
inBurst.data1().copyToSegment(mI[B],0);
|
||||
inBurst.data2().copyToSegment(mI[B],57);
|
||||
|
||||
// If the burst index is 0, save the time
|
||||
if (B==0)
|
||||
mReadTime = inBurst.time();
|
||||
|
||||
// If the burst index is 3, then this is the last burst in the L2 frame.
|
||||
// Return true to indicate that we are ready to deinterleave.
|
||||
return B==3;
|
||||
|
|
@ -645,6 +662,9 @@ void XCCHL1Decoder::handleGoodFrame()
|
|||
OBJLOG(DEBUG) <<"XCCHL1Decoder d[]=" << mD;
|
||||
|
||||
if (mUpstream) {
|
||||
// Send all bits to GSMTAP
|
||||
gWriteGSMTAP(ARFCN(),TN(),mReadTime.FN(),
|
||||
typeAndOffset(),mMapping.repeatLength()>51,true,mD);
|
||||
// Build an L2 frame and pass it up.
|
||||
const BitVector L2Part(mD.tail(headerOffset()));
|
||||
OBJLOG(DEBUG) <<"XCCHL1Decoder L2=" << L2Part;
|
||||
|
|
@ -797,14 +817,18 @@ void XCCHL1Encoder::sendFrame(const L2Frame& frame)
|
|||
// GSM 05.03 4.1.1.
|
||||
//assert(mD.size()==headerOffset()+frame.size());
|
||||
frame.copyToSegment(mU,headerOffset());
|
||||
|
||||
// Send to GSMTAP (must send mU = real bits !)
|
||||
gWriteGSMTAP(ARFCN(),TN(),mNextWriteTime.FN(),
|
||||
typeAndOffset(),mMapping.repeatLength()>51,false,mU);
|
||||
|
||||
// Encode data into bursts
|
||||
OBJLOG(DEBUG) << "XCCHL1Encoder d[]=" << mD;
|
||||
mD.LSB8MSB();
|
||||
OBJLOG(DEBUG) << "XCCHL1Encoder d[]=" << mD;
|
||||
encode(); // Encode u[] to c[], GSM 05.03 4.1.2 and 4.1.3.
|
||||
interleave(); // Interleave c[] to i[][], GSM 05.03 4.1.4.
|
||||
transmit(); // Send the bursts to the radio, GSM 05.03 4.1.5.
|
||||
// FIXME: is this FN OK, or do we need to back it up by 4?
|
||||
gWriteGSMTAP(ARFCN(),mTN,mPrevWriteTime.FN(),frame);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -302,8 +302,12 @@ class L1Decoder {
|
|||
/** Accept an RxBurst and process it into the deinterleaver. */
|
||||
virtual void writeLowSide(const RxBurst&) = 0;
|
||||
|
||||
/** Return the decoder timeslot number. */
|
||||
/**@name Components of the channel description. */
|
||||
//@{
|
||||
unsigned TN() const { return mTN; }
|
||||
unsigned ARFCN() const; ///< this comes from mUpstream
|
||||
TypeAndOffset typeAndOffset() const; ///< this comes from mMapping
|
||||
//@}
|
||||
|
||||
|
||||
protected:
|
||||
|
|
@ -491,6 +495,7 @@ class XCCHL1Decoder : public L1Decoder {
|
|||
BitVector mD; ///< d[], as per GSM 05.03 2.2
|
||||
//@}
|
||||
|
||||
GSM::Time mReadTime; ///< timestamp of the first burst
|
||||
unsigned mRSSIHistory[4];
|
||||
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -30,21 +30,107 @@
|
|||
|
||||
UDPSocket GSMTAPSocket;
|
||||
|
||||
void gWriteGSMTAP(unsigned ARFCN, unsigned TS, unsigned FN, const GSM::L2Frame& frame)
|
||||
void gWriteGSMTAP(unsigned ARFCN, unsigned TS, unsigned FN,
|
||||
GSM::TypeAndOffset to, bool is_saach, bool ul_dln,
|
||||
const BitVector& frame)
|
||||
{
|
||||
char buffer[MAX_UDP_LENGTH];
|
||||
int ofs = 0;
|
||||
|
||||
// Check if GSMTap is enabled
|
||||
if (!gConfig.defines("GSMTAP.TargetIP")) return;
|
||||
|
||||
// Port configuration
|
||||
unsigned port = GSMTAP_UDP_PORT; // default port for GSM-TAP
|
||||
if (gConfig.defines("GSMTAP.TargetPort"))
|
||||
port = gConfig.getNum("GSMTAP.TargetPort");
|
||||
|
||||
// Write a GSMTAP packet to the configured destination.
|
||||
// Set socket destination
|
||||
GSMTAPSocket.destination(port,gConfig.getStr("GSMTAP.TargetIP").c_str());
|
||||
char buffer[MAX_UDP_LENGTH];
|
||||
gsmtap_hdr header(ARFCN,TS,FN);
|
||||
memcpy(buffer,&header,sizeof(header));
|
||||
frame.pack((unsigned char*)buffer+sizeof(header));
|
||||
GSMTAPSocket.write(buffer, sizeof(header) + frame.size()/8);
|
||||
|
||||
// Decode TypeAndOffset
|
||||
uint8_t stype, scn;
|
||||
|
||||
switch (to) {
|
||||
case GSM::TDMA_BEACON_BCCH:
|
||||
stype = GSMTAP_CHANNEL_BCCH;
|
||||
scn = 0;
|
||||
break;
|
||||
|
||||
case GSM::TDMA_BEACON_CCCH:
|
||||
stype = GSMTAP_CHANNEL_CCCH;
|
||||
scn = 0;
|
||||
break;
|
||||
|
||||
case GSM::SDCCH_4_0:
|
||||
case GSM::SDCCH_4_1:
|
||||
case GSM::SDCCH_4_2:
|
||||
case GSM::SDCCH_4_3:
|
||||
stype = GSMTAP_CHANNEL_SDCCH4;
|
||||
scn = to - GSM::SDCCH_4_0;
|
||||
break;
|
||||
|
||||
case GSM::SDCCH_8_0:
|
||||
case GSM::SDCCH_8_1:
|
||||
case GSM::SDCCH_8_2:
|
||||
case GSM::SDCCH_8_3:
|
||||
case GSM::SDCCH_8_4:
|
||||
case GSM::SDCCH_8_5:
|
||||
case GSM::SDCCH_8_6:
|
||||
case GSM::SDCCH_8_7:
|
||||
stype = GSMTAP_CHANNEL_SDCCH8;
|
||||
scn = to - GSM::SDCCH_8_0;
|
||||
break;
|
||||
|
||||
case GSM::TCHF_0:
|
||||
stype = GSMTAP_CHANNEL_TCH_F;
|
||||
scn = 0;
|
||||
break;
|
||||
|
||||
case GSM::TCHH_0:
|
||||
case GSM::TCHH_1:
|
||||
stype = GSMTAP_CHANNEL_TCH_H;
|
||||
scn = to - GSM::TCHH_0;
|
||||
break;
|
||||
|
||||
default:
|
||||
stype = GSMTAP_CHANNEL_UNKNOWN;
|
||||
scn = 0;
|
||||
}
|
||||
|
||||
if (is_saach)
|
||||
stype |= GSMTAP_CHANNEL_ACCH;
|
||||
|
||||
// Flags in ARFCN
|
||||
if (gConfig.getNum("GSM.Band") == 1900)
|
||||
ARFCN |= GSMTAP_ARFCN_F_PCS;
|
||||
|
||||
if (ul_dln)
|
||||
ARFCN |= GSMTAP_ARFCN_F_UPLINK;
|
||||
|
||||
// Build header
|
||||
struct gsmtap_hdr *header = (struct gsmtap_hdr *)buffer;
|
||||
header->version = GSMTAP_VERSION;
|
||||
header->hdr_len = sizeof(struct gsmtap_hdr) >> 2;
|
||||
header->type = GSMTAP_TYPE_UM;
|
||||
header->timeslot = TS;
|
||||
header->arfcn = htons(ARFCN);
|
||||
header->signal_dbm = 0; /* FIXME */
|
||||
header->snr_db = 0; /* FIXME */
|
||||
header->frame_number = htonl(FN);
|
||||
header->sub_type = stype;
|
||||
header->antenna_nr = 0;
|
||||
header->sub_slot = scn;
|
||||
header->res = 0;
|
||||
|
||||
ofs += sizeof(*header);
|
||||
|
||||
// Add frame data
|
||||
frame.pack((unsigned char*)&buffer[ofs]);
|
||||
ofs += (frame.size() + 7) >> 3;
|
||||
|
||||
// Write the GSMTAP packet
|
||||
GSMTAPSocket.write(buffer, ofs);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,10 +25,13 @@
|
|||
#define GSMTAPDUMP_H
|
||||
|
||||
#include "gsmtap.h"
|
||||
#include "GSMCommon.h"
|
||||
#include "GSMTransfer.h"
|
||||
|
||||
|
||||
void gWriteGSMTAP(unsigned ARFCN, unsigned TS, unsigned FN, const GSM::L2Frame& frame);
|
||||
void gWriteGSMTAP(unsigned ARFCN, unsigned TS, unsigned FN,
|
||||
GSM::TypeAndOffset to, bool is_sacch, bool ul_dln,
|
||||
const BitVector& frame);
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ const unsigned SCHFrames[] = {1,11,21,31,41};
|
|||
MAKE_TDMA_MAPPING(SCH,TDMA_BEACON,true,false,0x01,true,51);
|
||||
|
||||
const unsigned BCCHFrames[] = {2,3,4,5};
|
||||
MAKE_TDMA_MAPPING(BCCH,TDMA_BEACON,true,false,0x55,true,51);
|
||||
MAKE_TDMA_MAPPING(BCCH,TDMA_BEACON_BCCH,true,false,0x55,true,51);
|
||||
|
||||
// Note that we removed frames for the SDCCH components of the Combination-V C0T0.
|
||||
const unsigned RACHC5Frames[] = {4,5,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,45,46};
|
||||
|
|
@ -80,16 +80,16 @@ MAKE_TDMA_MAPPING(RACHC5,TDMA_BEACON,false,true,0x55,true,51);
|
|||
// CCCH 0-2 are used in C-IV and C-V. The others are used in C-IV only.
|
||||
|
||||
const unsigned CCCH_0Frames[] = {6,7,8,9};
|
||||
MAKE_TDMA_MAPPING(CCCH_0,TDMA_BEACON,true,false,0x55,true,51);
|
||||
MAKE_TDMA_MAPPING(CCCH_0,TDMA_BEACON_CCCH,true,false,0x55,true,51);
|
||||
|
||||
const unsigned CCCH_1Frames[] = {12,13,14,15};
|
||||
MAKE_TDMA_MAPPING(CCCH_1,TDMA_BEACON,true,false,0x55,true,51);
|
||||
MAKE_TDMA_MAPPING(CCCH_1,TDMA_BEACON_CCCH,true,false,0x55,true,51);
|
||||
|
||||
const unsigned CCCH_2Frames[] = {16,17,18,19};
|
||||
MAKE_TDMA_MAPPING(CCCH_2,TDMA_BEACON,true,false,0x55,true,51);
|
||||
MAKE_TDMA_MAPPING(CCCH_2,TDMA_BEACON_CCCH,true,false,0x55,true,51);
|
||||
|
||||
const unsigned CCCH_3Frames[] = {22,23,24,25};
|
||||
MAKE_TDMA_MAPPING(CCCH_3,TDMA_BEACON,true,false,0x55,true,51);
|
||||
MAKE_TDMA_MAPPING(CCCH_3,TDMA_BEACON_CCCH,true,false,0x55,true,51);
|
||||
|
||||
// TODO -- Other CCCH subchannels 4-8 for support of C-IV.
|
||||
|
||||
|
|
|
|||
174
GSM/gsmtap.h
174
GSM/gsmtap.h
|
|
@ -1,19 +1,50 @@
|
|||
#ifndef _GSMTAP_H
|
||||
#define _GSMTAP_H
|
||||
|
||||
/* gsmtap header, pseudo-header in front of the actua GSM payload*/
|
||||
/* gsmtap header, pseudo-header in front of the actua GSM payload */
|
||||
|
||||
#include <sys/types.h>
|
||||
#ifdef __linux__
|
||||
# include <arpa/inet.h>
|
||||
#endif
|
||||
/* GSMTAP is a generic header format for GSM protocol captures,
|
||||
* it uses the IANA-assigned UDP port number 4729 and carries
|
||||
* payload in various formats of GSM interfaces such as Um MAC
|
||||
* blocks or Um bursts.
|
||||
*
|
||||
* Example programs generating GSMTAP data are airprobe
|
||||
* (http://airprobe.org/) or OsmocomBB (http://bb.osmocom.org/)
|
||||
*/
|
||||
|
||||
#define GSMTAP_VERSION 0x01
|
||||
#include <stdint.h>
|
||||
|
||||
#define GSMTAP_TYPE_UM 0x01 /* A Layer 2 MAC block (23 bytes) */
|
||||
/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */
|
||||
|
||||
/* The GSMTAP format definition is maintained in libosmocore,
|
||||
* specifically the latest version can always be obtained from
|
||||
* http://cgit.osmocom.org/cgit/libosmocore/tree/include/osmocom/core/gsmtap.h
|
||||
*
|
||||
* If you want to introduce new protocol/burst/channel types or extend
|
||||
* GSMTAP in any way, please contact the GSMTAP maintainer at either the
|
||||
* public openbsc@lists.osmocom.org mailing list, or privately at
|
||||
* Harald Welte <laforge@gnumonks.org>.
|
||||
*
|
||||
* Your cooperation ensures that all projects will use the same GSMTAP
|
||||
* definitions and remain compatible with each other.
|
||||
*/
|
||||
|
||||
#define GSMTAP_VERSION 0x02
|
||||
|
||||
#define GSMTAP_TYPE_UM 0x01
|
||||
#define GSMTAP_TYPE_ABIS 0x02
|
||||
#define GSMTAP_TYPE_UM_BURST 0x03 /* raw burst bits */
|
||||
#define GSMTAP_TYPE_SIM 0x04
|
||||
#define GSMTAP_TYPE_TETRA_I1 0x05 /* tetra air interface */
|
||||
#define GSMTAP_TYPE_TETRA_I1_BURST 0x06 /* tetra air interface */
|
||||
#define GSMTAP_TYPE_WMX_BURST 0x07 /* WiMAX burst */
|
||||
#define GSMTAP_TYPE_GB_LLC 0x08 /* GPRS Gb interface: LLC */
|
||||
#define GSMTAP_TYPE_GB_SNDCP 0x09 /* GPRS Gb interface: SNDCP */
|
||||
#define GSMTAP_TYPE_GMR1_UM 0x0a /* GMR-1 L2 packets */
|
||||
|
||||
/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */
|
||||
|
||||
/* sub-types for TYPE_UM_BURST */
|
||||
#define GSMTAP_BURST_UNKNOWN 0x00
|
||||
#define GSMTAP_BURST_FCCH 0x01
|
||||
#define GSMTAP_BURST_PARTIAL_SCH 0x02
|
||||
|
|
@ -24,58 +55,97 @@
|
|||
#define GSMTAP_BURST_DUMMY 0x07
|
||||
#define GSMTAP_BURST_ACCESS 0x08
|
||||
#define GSMTAP_BURST_NONE 0x09
|
||||
/* WiMAX bursts */
|
||||
#define GSMTAP_BURST_CDMA_CODE 0x10 /* WiMAX CDMA Code Attribute burst */
|
||||
#define GSMTAP_BURST_FCH 0x11 /* WiMAX FCH burst */
|
||||
#define GSMTAP_BURST_FFB 0x12 /* WiMAX Fast Feedback burst */
|
||||
#define GSMTAP_BURST_PDU 0x13 /* WiMAX PDU burst */
|
||||
#define GSMTAP_BURST_HACK 0x14 /* WiMAX HARQ ACK burst */
|
||||
#define GSMTAP_BURST_PHY_ATTRIBUTES 0x15 /* WiMAX PHY Attributes burst */
|
||||
|
||||
#define GSMTAP_UDP_PORT 4729 /* officially registered with IANA */
|
||||
/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */
|
||||
|
||||
/* sub-types for TYPE_UM */
|
||||
#define GSMTAP_CHANNEL_UNKNOWN 0x00
|
||||
#define GSMTAP_CHANNEL_BCCH 0x01
|
||||
#define GSMTAP_CHANNEL_CCCH 0x02
|
||||
#define GSMTAP_CHANNEL_RACH 0x03
|
||||
#define GSMTAP_CHANNEL_AGCH 0x04
|
||||
#define GSMTAP_CHANNEL_PCH 0x05
|
||||
#define GSMTAP_CHANNEL_SDCCH 0x06
|
||||
#define GSMTAP_CHANNEL_SDCCH4 0x07
|
||||
#define GSMTAP_CHANNEL_SDCCH8 0x08
|
||||
#define GSMTAP_CHANNEL_TCH_F 0x09
|
||||
#define GSMTAP_CHANNEL_TCH_H 0x0a
|
||||
#define GSMTAP_CHANNEL_CBCH51 0x0b
|
||||
#define GSMTAP_CHANNEL_CBCH52 0x0c
|
||||
#define GSMTAP_CHANNEL_PDCH 0x0d
|
||||
#define GSMTAP_CHANNEL_PTCCH 0x0e
|
||||
#define GSMTAP_CHANNEL_PACCH 0x0f
|
||||
#define GSMTAP_CHANNEL_ACCH 0x80
|
||||
|
||||
/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */
|
||||
|
||||
/* sub-types for TYPE_TETRA_AIR */
|
||||
#define GSMTAP_TETRA_BSCH 0x01
|
||||
#define GSMTAP_TETRA_AACH 0x02
|
||||
#define GSMTAP_TETRA_SCH_HU 0x03
|
||||
#define GSMTAP_TETRA_SCH_HD 0x04
|
||||
#define GSMTAP_TETRA_SCH_F 0x05
|
||||
#define GSMTAP_TETRA_BNCH 0x06
|
||||
#define GSMTAP_TETRA_STCH 0x07
|
||||
#define GSMTAP_TETRA_TCH_F 0x08
|
||||
|
||||
/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */
|
||||
|
||||
/* sub-types for TYPE_GMR1_UM */
|
||||
#define GSMTAP_GMR1_UNKNOWN 0x00
|
||||
#define GSMTAP_GMR1_BCCH 0x01
|
||||
#define GSMTAP_GMR1_CCCH 0x02 /* either AGCH or PCH */
|
||||
#define GSMTAP_GMR1_PCH 0x03
|
||||
#define GSMTAP_GMR1_AGCH 0x04
|
||||
#define GSMTAP_GMR1_BACH 0x05
|
||||
#define GSMTAP_GMR1_RACH 0x06
|
||||
#define GSMTAP_GMR1_CBCH 0x07
|
||||
#define GSMTAP_GMR1_SDCCH 0x08
|
||||
#define GSMTAP_GMR1_TACCH 0x09
|
||||
#define GSMTAP_GMR1_GBCH 0x0a
|
||||
|
||||
#define GSMTAP_GMR1_SACCH 0x01 /* to be combined with _TCH{6,9} */
|
||||
#define GSMTAP_GMR1_FACCH 0x02 /* to be combines with _TCH{3,6,9} */
|
||||
#define GSMTAP_GMR1_DKAB 0x03 /* to be combined with _TCH3 */
|
||||
#define GSMTAP_GMR1_TCH3 0x10
|
||||
#define GSMTAP_GMR1_TCH6 0x14
|
||||
#define GSMTAP_GMR1_TCH9 0x18
|
||||
|
||||
/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */
|
||||
|
||||
/* flags for the ARFCN */
|
||||
#define GSMTAP_ARFCN_F_PCS 0x8000
|
||||
#define GSMTAP_ARFCN_F_UPLINK 0x4000
|
||||
#define GSMTAP_ARFCN_MASK 0x3fff
|
||||
|
||||
/* IANA-assigned well-known UDP port for GSMTAP messages */
|
||||
#define GSMTAP_UDP_PORT 4729
|
||||
|
||||
/* ====== DO NOT MAKE UNAPPROVED MODIFICATIONS HERE ===== */
|
||||
struct gsmtap_hdr {
|
||||
u_int8_t version; /* version, set to 0x01 currently */
|
||||
u_int8_t hdr_len; /* length in number of 32bit words */
|
||||
u_int8_t type; /* see GSMTAP_TYPE_* */
|
||||
u_int8_t timeslot; /* timeslot (0..7 on Um) */
|
||||
uint8_t version; /* version, set to 0x01 currently */
|
||||
uint8_t hdr_len; /* length in number of 32bit words */
|
||||
uint8_t type; /* see GSMTAP_TYPE_* */
|
||||
uint8_t timeslot; /* timeslot (0..7 on Um) */
|
||||
|
||||
u_int16_t arfcn; /* ARFCN (frequency).
|
||||
* highest bit 1 == uplink */
|
||||
u_int8_t noise_db; /* noise figure in dB */
|
||||
u_int8_t signal_db; /* signal level in dB */
|
||||
uint16_t arfcn; /* ARFCN (frequency) */
|
||||
int8_t signal_dbm; /* signal level in dBm */
|
||||
int8_t snr_db; /* signal/noise ratio in dB */
|
||||
|
||||
u_int32_t frame_number; /* GSM Frame Number (FN) */
|
||||
uint32_t frame_number; /* GSM Frame Number (FN) */
|
||||
|
||||
u_int8_t burst_type; /* Type of burst, see above */
|
||||
u_int8_t antenna_nr; /* Antenna Number */
|
||||
u_int16_t res; /* reserved for future use (RFU) */
|
||||
|
||||
gsmtap_hdr(unsigned ARFCN, unsigned TS, unsigned FN)
|
||||
{
|
||||
version = GSMTAP_VERSION;
|
||||
type = GSMTAP_TYPE_UM;
|
||||
burst_type = GSMTAP_BURST_NONE;
|
||||
antenna_nr = 0;
|
||||
noise_db = 0;
|
||||
signal_db = 0;
|
||||
|
||||
timeslot = TS;
|
||||
arfcn = htons(ARFCN);
|
||||
frame_number = htonl(FN);
|
||||
}
|
||||
uint8_t sub_type; /* Type of burst/channel, see above */
|
||||
uint8_t antenna_nr; /* Antenna Number */
|
||||
uint8_t sub_slot; /* sub-slot within timeslot */
|
||||
uint8_t res; /* reserved for future use (RFU) */
|
||||
|
||||
} __attribute__((packed));
|
||||
|
||||
|
||||
/* PCAP related definitions */
|
||||
#define TCPDUMP_MAGIC 0xa1b2c3d4
|
||||
#ifndef LINKTYPE_GSMTAP
|
||||
#define LINKTYPE_GSMTAP 2342
|
||||
#endif
|
||||
struct pcap_timeval {
|
||||
int32_t tv_sec;
|
||||
int32_t tv_usec;
|
||||
};
|
||||
|
||||
struct pcap_sf_pkthdr {
|
||||
struct pcap_timeval ts; /* time stamp */
|
||||
u_int32_t caplen; /* lenght of portion present */
|
||||
u_int32_t len; /* length of this packet */
|
||||
};
|
||||
|
||||
|
||||
#endif /* _GSMTAP_H */
|
||||
|
|
|
|||
613
TransceiverRAD1/ezusb.ihx
Normal file
613
TransceiverRAD1/ezusb.ihx
Normal file
|
|
@ -0,0 +1,613 @@
|
|||
:0600000002120B02006B6E
|
||||
:03000B0002006B85
|
||||
:0300130002006B7D
|
||||
:03001B0002006B75
|
||||
:0300230002006B6D
|
||||
:03002B0002006B65
|
||||
:0300330002006B5D
|
||||
:03003B0002006B55
|
||||
:0300430002006B4D
|
||||
:03004B0002006B45
|
||||
:0300530002006B3D
|
||||
:03005B0002006B35
|
||||
:0300630002006B2D
|
||||
:01006B003262
|
||||
:0900800002006B0002006B00029B
|
||||
:08008900006B0002006B000295
|
||||
:08009100006B0002006B00028D
|
||||
:08009900006B0002006B000285
|
||||
:0800A100006B0002006B00027D
|
||||
:0800A900006B0002006B000275
|
||||
:0700B100006B0002006B0070
|
||||
:0901000002006B0002006B00021A
|
||||
:08010900006B0002006B000214
|
||||
:08011100006B0002006B00020C
|
||||
:08011900006B0002006B000204
|
||||
:08012100006B0002006B0002FC
|
||||
:08012900006B0002006B0002F4
|
||||
:08013100006B0002006B0002EC
|
||||
:08013900006B0002006B0002E4
|
||||
:08014100006B0002006B0002DC
|
||||
:08014900006B0002006B0002D4
|
||||
:08015100006B0002006B0002CC
|
||||
:08015900006B0002006B0002C4
|
||||
:08016100006B0002006B0002BC
|
||||
:08016900006B0002006B0002B4
|
||||
:08017100006B0002006B0002AC
|
||||
:07017900006B0002006B00A7
|
||||
:0312370002123F61
|
||||
:07120B00750C017508007568
|
||||
:061212000900750A0075D9
|
||||
:021218000B00C9
|
||||
:0312520002123A4B
|
||||
:05123A001204CF80FE4C
|
||||
:0501800090E68BE4F0A5
|
||||
:0901850090E6A0E0FA20E1F82266
|
||||
:0A018E0090E6B8E0FABAC002800360
|
||||
:03019800020263FD
|
||||
:0A019B0090E6B9E0FABA8002800E87
|
||||
:0501A500BA8102804751
|
||||
:0601AA00BA820302021FED
|
||||
:0301B00002025FE9
|
||||
:0C01B30090E6BCE0FA6005BA013080174D
|
||||
:0A01BF0090E740E50BF0750B00908F
|
||||
:0D01C900E68AE4F090E68B7401F002038DED
|
||||
:0A01D60090E740E50AF0750A00907A
|
||||
:0D01E000E68AE4F090E68B7401F002038DD6
|
||||
:0401ED0075820022F5
|
||||
:0A01F10090E6BAE0FA751B40751C99
|
||||
:0C01FB00E790E6BEE0F51D8A82120A8142
|
||||
:07020700E5827003F582227D
|
||||
:0E020E0090E68AE4F090E6BEE0FA90E68BF00F
|
||||
:03021C0002038D4D
|
||||
:0C021F0090E6BBE0FA90E6BAE0F5229011
|
||||
:0A022B00E6BDE0F52390E6BCE0F527
|
||||
:05023500247525407551
|
||||
:0A023A0026E790E6BEE0F5278A8271
|
||||
:0A02440012084CE5827003F58222D7
|
||||
:0E024E0090E68AE4F090E6BEE0FA90E68BF0CF
|
||||
:03025C0002038D0D
|
||||
:04025F007582002282
|
||||
:0A02630090E6B8E0FABA400280030A
|
||||
:03026D0002038900
|
||||
:0C02700090E6B9E0FA24F4500302038584
|
||||
:07027C00EA2A2A90028373B5
|
||||
:070283000203850202A7023D
|
||||
:06028A0002CF0203850211
|
||||
:0602900002F90203050261
|
||||
:06029600031102038502C2
|
||||
:06029C00033302035302CC
|
||||
:0502A200031D0203280A
|
||||
:0C02A70090E6BCE0FA6005BA011A800C79
|
||||
:0C02B30090E6BAE0F5821205BE02038D51
|
||||
:0C02BF0090E6BAE0F5821205CB02038D38
|
||||
:0402CB007582002216
|
||||
:0C02CF0090E6BCE0FA600ABA0102800868
|
||||
:0502DB00BA02178012B9
|
||||
:0302E000020660B3
|
||||
:0C02E30012018090E68BE0F51290E740DD
|
||||
:0302EF000206CF35
|
||||
:0302F2000206DF22
|
||||
:0402F50075820022EC
|
||||
:0C02F90090E6BAE0F58212074102038D86
|
||||
:0C03050090E6BAE0F58212075C02038D5E
|
||||
:0C03110090E6BAE0F58212077702038D37
|
||||
:0B031D0090E6BAE0F5821207928065BE
|
||||
:0B03280090E6BAE0F58212079C805AB4
|
||||
:0C03330012018090E6BAE0FA751B4075DC
|
||||
:0A033F001CE790E68BE0F51D8A82B2
|
||||
:0A034900120B41E582703DF582229F
|
||||
:0D03530012018090E6BBE0FA90E6BAE0F5FA
|
||||
:0A0360002890E6BDE0F52990E6BC08
|
||||
:07036A00E0F52A752B407538
|
||||
:0A0371002CE790E68BE0F52D8A8260
|
||||
:0A037B001208BAE582700BF5822229
|
||||
:04038500758200225B
|
||||
:040389007582002257
|
||||
:04038D007582012252
|
||||
:0D03910090E6C67481F090E6C7742DF090E0
|
||||
:0E039E00E6C87426F090E6C9E4F090E6CA7452
|
||||
:0E03AC0004F090E6CB7404F090E6CC7403F0FD
|
||||
:0B03BA0090E6CD7402F090E60CE4F039
|
||||
:0603C500300003120D3CA4
|
||||
:0E03CB00E5BB30E7F5E58054C06016E58030F4
|
||||
:0503D900E703750B01B4
|
||||
:0803DE00E58030E603750A0119
|
||||
:0603E60043B10853B1F71A
|
||||
:0C03EC00E508602AE5AB20E12590E6F46E
|
||||
:0D03F800E0FA30E01D90E6D07401F00090B6
|
||||
:0E040500E6D1E4F00090E6C87421F00075BB6B
|
||||
:020413000000E7
|
||||
:05041500E5BB30E7FB30
|
||||
:0C041A00E50960A790E6A5E0FA20E39F4A
|
||||
:0E04260090E6F4E0FA30E19790E6D07401F031
|
||||
:0E0434000090E6D1E4F00090E6C87426F000D7
|
||||
:0404420075BB060080
|
||||
:0D044600E5BB30E7FB0090E6487406F002CD
|
||||
:0204530003C5DF
|
||||
:0A045500C0E0D50C06750C3263A060
|
||||
:01045F00405C
|
||||
:05046000C2CFD0E03224
|
||||
:040465007518007591
|
||||
:03046900191875EA
|
||||
:09046C001705751A017582501282
|
||||
:0804750009EA901800E0FA907A
|
||||
:0C047D00E00CF090E05AEAF074302A9095
|
||||
:05048900E0CEF0751843
|
||||
:03048E00017519DC
|
||||
:05049100187517F87555
|
||||
:0A0496001A087582501209EA7A0074
|
||||
:0304A000BA080097
|
||||
:0A04A3005029EA2401F582E4341820
|
||||
:0904AD00F583E0FBBBFF027B308C
|
||||
:0C04B6008A04E4CC25E0CC33FDEC242AC1
|
||||
:0C04C200F582ED34E1F583EBF00A80D206
|
||||
:0104CE00220B
|
||||
:0804CF00751B00751C10E4F51B
|
||||
:0B04D7001D90E1F075F000120BBA124E
|
||||
:0E04E200051A1207A690E601E04404F07582A8
|
||||
:0D04F000001205BE7582001205CBC2AF12CE
|
||||
:0604FD0004651211221239
|
||||
:050503000CA67A557BF7
|
||||
:0C050800048A828B831211CAD2EAD2AF9F
|
||||
:06051400120A5D020391D2
|
||||
:0E051A0090E6007410F0758E0090E60174F209
|
||||
:0E052800F00075803875B23B75A0C075B4CF79
|
||||
:0E05360075B1F075B6F890E61074A0F0009064
|
||||
:0E054400E61174E0F00090E61274A0F0009052
|
||||
:0D055200E613E4F00090E61474E0F0009071
|
||||
:0D055F00E615E4F00090E6047480F00090D2
|
||||
:0E056C00E6047402F00090E6047406F00090BD
|
||||
:0D057A00E604E4F00090E6187401F0009033
|
||||
:0E058700E6187411F00090E61A7409F0009066
|
||||
:0E059500E68AE4F00090E68DE4F00090E6D2F5
|
||||
:0E05A3007401F00090E6E27402F00090E6248D
|
||||
:0D05B1007402F00090E625E4F0000206510F
|
||||
:0905BE00E582FA700443A040221A
|
||||
:0405C70053A0BF225C
|
||||
:0905CB00E582FA700443A08022CD
|
||||
:0405D40053A07F228F
|
||||
:0405D80063A04022BA
|
||||
:0405DC0063A0802276
|
||||
:0105E00022F8
|
||||
:0105E10022F7
|
||||
:0B05E200AA82901809E50EF0743F5546
|
||||
:0605ED000DFBEAB4010061
|
||||
:0905F300E433FA60047A0280028C
|
||||
:0205FC007A047F
|
||||
:0505FE008B288A29751D
|
||||
:040603002A20752B09
|
||||
:0306070009752C46
|
||||
:08060A0018752D017582000234
|
||||
:0206120008BA24
|
||||
:0C061400AA82901809E50FF0743F5AF517
|
||||
:05062000287529067594
|
||||
:040625002A20752BE7
|
||||
:0306290009752C24
|
||||
:08062C0018752D017582000212
|
||||
:0206340008BA02
|
||||
:0A063600750F01758201120614759C
|
||||
:090640000F0F75820812061475F3
|
||||
:080649000F0075821402061473
|
||||
:0D0651001205E012081353A0FE43A00102A1
|
||||
:02065E0006365E
|
||||
:0C06600053A0C17582281211E743A004CA
|
||||
:09066C00E5A030E5FB75820122D6
|
||||
:0E067500E5821392A1D2A3C2A31392A1D2A335
|
||||
:0E068300C2A31392A1D2A3C2A31392A1D2A329
|
||||
:0E069100C2A31392A1D2A3C2A31392A1D2A31B
|
||||
:0E069F00C2A31392A1D2A3C2A31392A1D2A30D
|
||||
:0306AD00C2A322C3
|
||||
:0606B000AA82AB10AC11A0
|
||||
:0E06B6008A051AED60128B828C83E0FDA3ABE7
|
||||
:0A06C40082AC838D8212067580E877
|
||||
:0106CE002209
|
||||
:0706CF00858210858311856F
|
||||
:0906D60012821206B075820122A5
|
||||
:0A06DF00E5A0FA20E5047582002270
|
||||
:0A06E900530210BA100475820122BA
|
||||
:0406F30075820022EA
|
||||
:07121A00751300751400902C
|
||||
:09122100180AE4F090180BF0909B
|
||||
:07122A00180CF090180DF004
|
||||
:0A06F700AA82747F5AF528752901C4
|
||||
:05070100752A2085159A
|
||||
:030706002B85162A
|
||||
:080709002C752D04758200021D
|
||||
:0207110008BA24
|
||||
:080713007A00E50860027A019A
|
||||
:07071B00E50960034302023F
|
||||
:07072200E51360034302042C
|
||||
:07072900E514600343020820
|
||||
:0707300090180DEAF07515A9
|
||||
:030737000A75162A
|
||||
:07073A00187582040206F7A6
|
||||
:0C074100E5825401FA601053A0FE750818
|
||||
:08074D00007509007513007529
|
||||
:030755001400226B
|
||||
:0407580043A0012297
|
||||
:0C075C00AA825302018A08C0021207138F
|
||||
:0C076800D002EA6009750B0043B1085391
|
||||
:02077400B1F7DB
|
||||
:010776002260
|
||||
:0C077700AA825302018A09C00212071373
|
||||
:0C078300D002EA6009750A0043B1085377
|
||||
:02078F00B1F7C0
|
||||
:010791002245
|
||||
:0A079200AA8274015AF5130207133E
|
||||
:0A079C00AA8274015AF51402071333
|
||||
:0D07A60090E6F574FFF0009012F9E49390D6
|
||||
:0D07B300E6F3F09012FAE49390E6C3F090A4
|
||||
:0E07C00012FBE49390E6C1F09012FCE49390DB
|
||||
:0E07CE00E6C2F09012FEE49390E6C0F07A00CE
|
||||
:0307DC00BA8000E0
|
||||
:0E07DF0050128A037CE4EA90125593FD8B823F
|
||||
:0607ED008C83F00A80E994
|
||||
:0607F30090E6C6E4F022CE
|
||||
:0E12550001010101010101070000000000007D
|
||||
:0E12630000000000000000000000000000007D
|
||||
:0E1271000000003F013F0101010101072203BF
|
||||
:0E127F00020202020200000101010101010051
|
||||
:0E128D00000000000000003F0111013F0101C0
|
||||
:0E129B0001070003000100000000060404002B
|
||||
:0E12A90000000000002D002D0000003F013964
|
||||
:0E12B700010101010107000302020202020010
|
||||
:0E12C5000000000000000000002D00000000EE
|
||||
:0212D300003FDA
|
||||
:0E12D50000000000000000000000000000000B
|
||||
:0E12E30000000000812D26000404030200819B
|
||||
:0812F1002D210004040302009A
|
||||
:0712F900A0000000EE4E0012
|
||||
:0CE0000012010002FFFFFF40FEFF0200C3
|
||||
:06E00C0000010102060103
|
||||
:0AE012000A060002FFFFFF400100B4
|
||||
:0EE01C0009023200030100C0000904000000E8
|
||||
:0EE02A00FFFFFF030904010001FFFFFF0407D1
|
||||
:0EE038000502020002000904020001FFFFFFC2
|
||||
:08E04600050705860200020037
|
||||
:0CE04E0012010002FFFFFF40FEFF020075
|
||||
:06E05A00000101020001BB
|
||||
:0AE060000A060002FFFFFF40010066
|
||||
:0EE06A0009021200010100C0000904000000BC
|
||||
:04E07800FFFFFF03A4
|
||||
:01E07C00079C
|
||||
:02E07D008CE035
|
||||
:02E07F0092E02D
|
||||
:02E08100BAE003
|
||||
:02E08300D0E0EB
|
||||
:02E08500F2E0C7
|
||||
:02E087000EE1A8
|
||||
:02E0890028E18C
|
||||
:06E08C0006030000090478
|
||||
:0EE09200280346007200650065002000530060
|
||||
:0EE0A0006F006600740077006100720065007A
|
||||
:0CE0AE00200046006F006C006B00730047
|
||||
:0EE0BA00160355005300520050002000520083
|
||||
:06E0C80065007600200057
|
||||
:02E0CE003F0011
|
||||
:0EE0D000220343006F006D006D0061006E00C2
|
||||
:0EE0DE00640020002600200053007400610042
|
||||
:06E0EC00740075007300D2
|
||||
:0EE0F2001C035400720061006E0073006D008C
|
||||
:0EE10000690074002000500061007400680087
|
||||
:0EE10E001A0352006500630065006900760088
|
||||
:0CE11C00650020005000610074006800E5
|
||||
:02E128001203E0
|
||||
:0EE12A0033002E003100340031003500390082
|
||||
:02E138003300B2
|
||||
:0E07F900AA8263020143803874075AC4035475
|
||||
:0C080700F8628043B1F074F05A62B12234
|
||||
:090813007582001207F9C281226E
|
||||
:0A081C00AA827B00EA30E0027B01B3
|
||||
:05082600EA30E1010BC6
|
||||
:05082B00EA30E2010BC0
|
||||
:05083000EA30E3010BBA
|
||||
:05083500EA30E4010BB4
|
||||
:05083A00EA30E5010BAE
|
||||
:05083F00EA30E6010BA8
|
||||
:05084400EA30E7010BA2
|
||||
:030849008B82227D
|
||||
:0C084C00AA82852382C00212081CAB8225
|
||||
:0B085800D002EB24FE50047582002249
|
||||
:0B086300852382C0021207F9D002E5D5
|
||||
:08086E002430E704758200222A
|
||||
:0C08760074605524FB6023BB2002800549
|
||||
:05088200BB40178008D7
|
||||
:08088700852282120913801181
|
||||
:09088F008A8212091385228212EB
|
||||
:0408980009138004BC
|
||||
:04089C00758200223F
|
||||
:0608A000E527600C85272E
|
||||
:0508A6002F852582856D
|
||||
:0508AB0026831209CBB9
|
||||
:0A08B0007582001207F9758201221B
|
||||
:0C08BA00AA82852982C0021207F9D00230
|
||||
:0908C600E52A30E70475820022E6
|
||||
:0C08CF007460552AFB6023BB20028005EA
|
||||
:0508DB00BB401780087E
|
||||
:0808E000852882120913801122
|
||||
:0908E8008A82120913852882128C
|
||||
:0408F1000913800463
|
||||
:0408F50075820022E6
|
||||
:0608F900E52D600C852DC9
|
||||
:0508FF002E852B82850F
|
||||
:050904002C83120964C0
|
||||
:0A0909007582001207F975820122C1
|
||||
:0E091300E58223FA139281D280C280EA23FA91
|
||||
:0E092100139281D280C280EA23FA139281D20F
|
||||
:0E092F0080C280EA23FA139281D280C280EA4D
|
||||
:0E093D0023FA139281D280C280EA23FA139229
|
||||
:0E094B0081D280C280EA23FA139281D280C248
|
||||
:0B09590080EA23139281D280C280222A
|
||||
:06096400AA82AB83AC2E59
|
||||
:0E096A008C051CED601E8A828B83E0FDA3AA23
|
||||
:0E09780082AB838D82C002C003C0041209133B
|
||||
:08098600D004D003D00280DC94
|
||||
:01098E002246
|
||||
:0E098F00E4D280A28233C280D280A28233C220
|
||||
:0E099D0080D280A28233C280D280A28233C276
|
||||
:0E09AB0080D280A28233C280D280A28233C268
|
||||
:0E09B90080D280A28233C280D280A28233C25A
|
||||
:0409C70080F5822213
|
||||
:0609CB00AA82AB83AC2FF1
|
||||
:0E09D1008C051CED601212098FAD828A828B9C
|
||||
:0A09DF0083EDF0A3AA82AB8380E849
|
||||
:0109E90022EB
|
||||
:0909EA00AA8290180EE517F075C1
|
||||
:0309F3001B0E7563
|
||||
:0309F6001C187555
|
||||
:0C09F9001D018A82C002120B41E582D071
|
||||
:060A0500027003F58222DD
|
||||
:040A0B0085181B85AA
|
||||
:030A0F00191C852A
|
||||
:050A12001A1D8A82029A
|
||||
:020A17000A8152
|
||||
:080A1900780FE84400600C793D
|
||||
:0C0A210001901800E4F0A3D8FCD9FAD032
|
||||
:0E0A2D0083D082F6D8FDC082C083758200227D
|
||||
:080A3B0090E6A0E04401F02266
|
||||
:0E0A4300AA8274805AC423541FFB740F5A9069
|
||||
:0C0A5100E6834BF090E683E04420F022A6
|
||||
:0E0A5D0090E680E0440AF09000FA1211FA9040
|
||||
:0E0A6B00E65D74FFF090E65F74FFF05391EFCC
|
||||
:080A790090E680E054F7F02242
|
||||
:06124C00E478FFF6D8FD76
|
||||
:0A0A8100AA82E51D700475820122AF
|
||||
:0E0A8B0090E678E0FB20E6F890E6787480F0C4
|
||||
:0A0A9900EA2AFA90E67974014AF0A7
|
||||
:0E0AA30090E678E0FA30E0F890E678E0FA307D
|
||||
:050AB100E203020B3618
|
||||
:0B0AB60090E678E0FA20E103020B3626
|
||||
:0C0AC1007401B51D0890E678E0FA4420AE
|
||||
:010ACD00F038
|
||||
:090ACE0090E679E0F51EAA1BABCD
|
||||
:030AD7001CAC1D37
|
||||
:040ADA001CEC603080
|
||||
:0E0ADE0090E678E0FD30E0F890E678E0FD204C
|
||||
:0D0AEC00E248BC010890E678E0FD4420F0EF
|
||||
:0E0AF90090E679E0FD8A828B83F0A3AA82AB9F
|
||||
:070B0700838A1B8B1C80CCCC
|
||||
:0E0B0E0090E678E0FA30E0F890E678E0FA2021
|
||||
:0C0B1C00E21890E678E04440F0AA1BAB21
|
||||
:0C0B28001C90E679E08A828B83F07582D5
|
||||
:020B340001229C
|
||||
:0B0B360090E678E04440F07582002259
|
||||
:020B4100AA8286
|
||||
:0E0B430090E678E0FB20E6F890E6787480F00B
|
||||
:070B5100EA2AFA90E679F0B0
|
||||
:0E0B580090E678E0FA30E0F890E678E0FA20D7
|
||||
:0C0B6600E24790E678E0FA30E13FAA1B7D
|
||||
:040B7200AB1CAC1DEF
|
||||
:0E0B7600EC602B8A828B83E0FDA3AA82AB8306
|
||||
:060B840090E679EDF01C83
|
||||
:0E0B8A0090E678E0FD30E0F890E678E0FD209F
|
||||
:0C0B9800E21590E678E0FD20E1D4800B2F
|
||||
:0B0BA40090E678E04440F075820122EA
|
||||
:0B0BAF0090E678E04440F075820022E0
|
||||
:0A0BBA00AC82AD83AE1CAF1DBE007F
|
||||
:050BC40004EF600C1FAE
|
||||
:030BC9000FE51B1A
|
||||
:080BCC00121004A3DEFADFF8A9
|
||||
:050BD4008C828D8322DC
|
||||
:061231007530007531006C
|
||||
:0A0BD90090E680E0FA30E71975326B
|
||||
:030BE30000753367
|
||||
:030BE600E0753483
|
||||
:030BE9001275354D
|
||||
:030BEC00E075367B
|
||||
:030BEF001C75373B
|
||||
:030BF200E0753873
|
||||
:030BF5006A7539E5
|
||||
:020BF800E022F9
|
||||
:040BFA0075324E758D
|
||||
:030BFE0033E0756C
|
||||
:030C0100346075E7
|
||||
:030C040035E07563
|
||||
:030C0700366A75D5
|
||||
:030C0A0037E0755B
|
||||
:030C0D00381C751B
|
||||
:030C100039E022A6
|
||||
:090C13005391EF75A100D20032EB
|
||||
:0C0C1C00C021C0E0C0F0C082C083C00254
|
||||
:0E0C2800C003C004C005C006C007C000C00164
|
||||
:0E0C3600C0D075D0005391EF75A100120BD9FC
|
||||
:0E0C4400D0D0D001D000D007D006D005D0040B
|
||||
:0D0C5200D003D002D083D082D0F0D0E0D00B
|
||||
:020C5F00213240
|
||||
:0C0C6100C021C0E0C0F0C082C083C0020F
|
||||
:0E0C6D00C003C004C005C006C007C000C0011F
|
||||
:0E0C7B00C0D075D0005391EF75A100120BD9B7
|
||||
:0E0C8900D0D0D001D000D007D006D005D004C6
|
||||
:0D0C9700D003D002D083D082D0F0D0E0D0C6
|
||||
:020CA4002132FB
|
||||
:050CA600120BD9751BC3
|
||||
:030CAB0013751CA2
|
||||
:080CAE000C7582001210807524
|
||||
:030CB6001B1C758F
|
||||
:060CB9001C0C75821012F4
|
||||
:040CBF001080751B11
|
||||
:030CC30061751C3C
|
||||
:0C0CC6000C75821412108090E65C7431F2
|
||||
:020CD200F0220E
|
||||
:0D0CD400E582547FFA24F750047582002257
|
||||
:070CE100BA01047582012233
|
||||
:080CE800530201E4BA0001040B
|
||||
:030CF000F5822268
|
||||
:0E0CF300AA82BA010C90E6A1E0FB7C008B8285
|
||||
:030D01008C8322BE
|
||||
:0E0D0400BA810C90E6A2E0FB7C008B828C830F
|
||||
:010D120022BE
|
||||
:0E0D130053027FEA700C90E6A0E0FB7C008BA0
|
||||
:040D2100828C83221B
|
||||
:0E0D250090E6A3E0FB7C00EAC313FA7D00EA2F
|
||||
:090D33002BFBED3C8B82F58322C1
|
||||
:0C0D3C00C20090E6B8E0FA530260BA0072
|
||||
:030D4800028028FE
|
||||
:050D4B00BA2002800D3A
|
||||
:050D5000BA4002800E14
|
||||
:050D5500BA60028003FA
|
||||
:030D5A00020FFC89
|
||||
:060D5D00120A3B020FFC2C
|
||||
:0A0D630012018EE5826003020FFC0E
|
||||
:060D6D00120A3B020FFC1C
|
||||
:0D0D730090E6B8E0FA530280BA80028003D7
|
||||
:030D8000020EFD63
|
||||
:0B0D830090E6B9E0FABA0003020E741B
|
||||
:050D8E00BA06028035E9
|
||||
:050D9300BA080280080F
|
||||
:050D9800BA0A028017F9
|
||||
:030D9D00020EF74C
|
||||
:0C0DA00090E740E530F090E68AE4F09027
|
||||
:080DAC00E68B7401F0020FFC5C
|
||||
:0C0DB40090E740E531F090E68AE4F09012
|
||||
:080DC000E68B7401F0020FFC48
|
||||
:0A0DC80090E6BBE0FABA01028017C2
|
||||
:050DD200BA02028038A6
|
||||
:050DD700BA030280597F
|
||||
:050DDC00BA0602801BB5
|
||||
:050DE100BA0702803C8E
|
||||
:030DE600020E6E8C
|
||||
:0A0DE900AA32AB3390E6B3EBF07BC7
|
||||
:090DF3000090E6B4EAF0020FFCE6
|
||||
:0A0DFC00AA34AB3590E6B3EBF07BB0
|
||||
:090E06000090E6B4EAF0020FFCD2
|
||||
:0A0E0F00AA36AB3790E6B3EBF07B98
|
||||
:090E19000090E6B4EAF0020FFCBF
|
||||
:0A0E2200AA38AB3990E6B3EBF07B81
|
||||
:090E2C000090E6B4EAF0020FFCAC
|
||||
:0E0E350090E6BAE0FA90E07CE0FBC3EA9B4056
|
||||
:070E430006120A3B020FFC3E
|
||||
:0C0E4A0090E6BAE075F002A4247DF58269
|
||||
:0B0E560074E035F0F583E0FAA3E090B3
|
||||
:0D0E6100E6B3F07B0090E6B4EAF0020FFC6F
|
||||
:060E6E00120A3B020FFC1A
|
||||
:0D0E740090E6B8E0FA53021FBA0002800AAF
|
||||
:050E8100BA0102801D12
|
||||
:050E8600BA0268802E95
|
||||
:0E0E8B0090E7407401F090E741E4F090E68AB1
|
||||
:0A0E9900F090E68B7402F0020FFCEB
|
||||
:0E0EA30090E740E4F090E741F090E68AF0908E
|
||||
:080EB100E68B7402F0020FFC55
|
||||
:0E0EB90090E6BCE0F582120CD4E58260259034
|
||||
:0E0EC700E6BCE0F582120CF3E0FA5302019053
|
||||
:0E0ED500E740EAF090E741E4F090E68AF09002
|
||||
:080EE300E68B7402F0020FFC23
|
||||
:060EEB00120A3B020FFC9D
|
||||
:060EF100120A3B020FFC97
|
||||
:060EF700120A3B020FFC91
|
||||
:0C0EFD0090E6B9E0FA24F45003020FF96B
|
||||
:070F0900EA2A2A900F107381
|
||||
:070F1000020FF9020F460277
|
||||
:060F17000FC1020FA2024F
|
||||
:060F1D000FF9020FF902BA
|
||||
:060F23000FF9020FF902B4
|
||||
:060F29000FF9020F340273
|
||||
:050F2F000FF9020F3D67
|
||||
:090F340090E6BAE0F530020FFC72
|
||||
:090F3D0090E6BAE0F531020FFC68
|
||||
:0D0F460090E6B8E0FA53021FBA00028005E1
|
||||
:050F5300BA0247800A0C
|
||||
:0A0F580090E6BAE0120A3B020FFC1B
|
||||
:0D0F620090E6BAE0703090E6BCE0F5821237
|
||||
:0D0F6F000CD4E582602390E6BCE0F5821210
|
||||
:0E0F7C000CF3AA82AB83E0FC5304FE8A828B46
|
||||
:0E0F8A0083ECF090E6BCE0F582120A4380642E
|
||||
:050F9800120A3B805F1E
|
||||
:050F9D00120A3B805A1E
|
||||
:0E0FA20090E6B8E0FA53021FBA004F90E6BA8C
|
||||
:070FB000E0FABA010280051E
|
||||
:050FB700BA02028040B7
|
||||
:050FBC00120A3B803B1E
|
||||
:0E0FC10090E6BAE0FA702C90E6BCE0F58212E1
|
||||
:0D0FCF000CD4E582601A90E6BCE0F58212B9
|
||||
:0E0FDC000CF3AA82AB83E0FC4304018A828BF3
|
||||
:050FEA0083ECF0800D16
|
||||
:050FEF00120A3B80081E
|
||||
:050FF400120A3B80031E
|
||||
:030FF900120A3B9E
|
||||
:080FFC0090E6A0E04480F02221
|
||||
:0E10040020F71030F6118883A88220F507F639
|
||||
:05101200A883758300B6
|
||||
:0110170022B6
|
||||
:03101800F280F76C
|
||||
:02101B00F022C1
|
||||
:05101D00AA82BA0300E5
|
||||
:071022004005EA249C500187
|
||||
:0110290022A4
|
||||
:09102A00740F5AFBBB030280079E
|
||||
:07103300740F5AFBBB0B45D3
|
||||
:0A103A00A2AF9201C2AFEA2400F554
|
||||
:0C10440082E43400F5837402F07B007439
|
||||
:0C105000012AFCE43BFDEC2400F582EDDD
|
||||
:0A105C003400F583E51CFCF074027B
|
||||
:0C1066002AFAE43BFBEA2400F582EB349C
|
||||
:0A10720000F583AA1B7B00EAF0A240
|
||||
:03107C000192AF2F
|
||||
:01107F00224E
|
||||
:08108000E582FA2483500122ED
|
||||
:06108800EA54036001229E
|
||||
:0A108E00A2AF9202C2AFEA2400F5FF
|
||||
:0C10980082E43401F5837402F07B0074E4
|
||||
:0C10A400012AFCE43BFDEC2400F582ED89
|
||||
:0A10B0003401F583E51CF074022AF8
|
||||
:0B10BA00FAE43BFBEA2400F582EB3473
|
||||
:0810C50001F583AA1BEAF0A269
|
||||
:0410CD000292AF22BA
|
||||
:0810D100E582FA24CB50012254
|
||||
:0610D900EA54036001224D
|
||||
:0A10DF00A2AF9203C2AFEA2480F52D
|
||||
:0C10E90082E43400F5837402F07B007494
|
||||
:0C10F500012AFCE43BFDEC2480F582EDB8
|
||||
:0A1101003400F583E51CF074022AA7
|
||||
:0B110B00FAE43BFBEA2480F582EB34A1
|
||||
:0811160000F583AA1BEAF0A218
|
||||
:04111E000392AF2267
|
||||
:08112200C2E8C2EA751B00756A
|
||||
:06112A001C017582431256
|
||||
:04113000101D751BFE
|
||||
:0311340080751CA7
|
||||
:0C1137000075825312101D0090E650E479
|
||||
:0E114300F00090E652E4F00090E654E4F00074
|
||||
:0E11510090E656E4F00090E65174FFF0009036
|
||||
:0E115F00E65374FFF00090E65574FFF0009028
|
||||
:0E116D00E65774FFF00090E658E4F090E65963
|
||||
:0E117B0074FFF090E65AE4F090E65B74FFF02B
|
||||
:0E11890090E65CE4F090E65D74FFF090E65EA8
|
||||
:0E119700E4F090E65F74FFF00090E660E4F094
|
||||
:0D11A5000090E66174FFF090E662E4F090C7
|
||||
:0E11B200E66374FFF090E665E4F090E6687482
|
||||
:0A11C0000BF05391AFD2E8D2EA22FF
|
||||
:0A11CA00AA82AB83C2AD8A1B8B1C06
|
||||
:0E11D40075822B12101D75CB6375CAC075C8CD
|
||||
:0411E20004D2AD2264
|
||||
:0111E60022E6
|
||||
:0211E700AA82DA
|
||||
:0611E9001211E6DAFB2200
|
||||
:0311EF0090FB5022
|
||||
:0811F200A3E582458370F92298
|
||||
:0411FA00AA82AB8397
|
||||
:0811FE001211EF1ABAFF011BE8
|
||||
:05120600EA4B70F42228
|
||||
:03123F007581397D
|
||||
:0A124200120A19E582600302123A55
|
||||
:00000001FF
|
||||
BIN
TransceiverRAD1/fpga.rbf
Normal file
BIN
TransceiverRAD1/fpga.rbf
Normal file
Binary file not shown.
9109
aclocal.m4
vendored
9109
aclocal.m4
vendored
File diff suppressed because it is too large
Load diff
1533
config.guess
vendored
1533
config.guess
vendored
File diff suppressed because it is too large
Load diff
95
config.h.in
95
config.h.in
|
|
@ -1,95 +0,0 @@
|
|||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define if building universal (internal helper macro) */
|
||||
#undef AC_APPLE_UNIVERSAL_BUILD
|
||||
|
||||
/* Define to 1 if you have the <byteswap.h> header file. */
|
||||
#undef HAVE_BYTESWAP_H
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_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 <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 the sub-directory in which libtool stores uninstalled libraries.
|
||||
*/
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* 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 home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
||||
#undef TIME_WITH_SYS_TIME
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
|
||||
significant byte first (like Motorola and SPARC, unlike Intel). */
|
||||
#if defined AC_APPLE_UNIVERSAL_BUILD
|
||||
# if defined __BIG_ENDIAN__
|
||||
# define WORDS_BIGENDIAN 1
|
||||
# endif
|
||||
#else
|
||||
# ifndef WORDS_BIGENDIAN
|
||||
# undef WORDS_BIGENDIAN
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
||||
|
||||
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
||||
calls it, or to nothing if 'inline' is not supported under any name. */
|
||||
#ifndef __cplusplus
|
||||
#undef inline
|
||||
#endif
|
||||
|
||||
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||
#undef size_t
|
||||
1693
config.sub
vendored
1693
config.sub
vendored
File diff suppressed because it is too large
Load diff
|
|
@ -30,6 +30,9 @@ AC_CANONICAL_TARGET
|
|||
|
||||
AM_INIT_AUTOMAKE
|
||||
|
||||
dnl Linux kernel KBuild style compile messages
|
||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||
|
||||
AM_PROG_AS
|
||||
AC_PROG_CXX
|
||||
AC_PROG_LN_S
|
||||
|
|
|
|||
630
depcomp
630
depcomp
|
|
@ -1,630 +0,0 @@
|
|||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2009-04-28.21; # UTC
|
||||
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# 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
|
||||
|
||||
cygpath_u="cygpath -u -f -"
|
||||
if test "$depmode" = msvcmsys; then
|
||||
# This is just like msvisualcpp but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u="sed s,\\\\\\\\,/,g"
|
||||
depmode=msvisualcpp
|
||||
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.
|
||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||
## the command line argument order; so add the flags where they
|
||||
## appear in depend2.am. Note that the slowdown incurred here
|
||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||
*) set fnord "$@" "$arg" ;;
|
||||
esac
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
done
|
||||
"$@"
|
||||
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.
|
||||
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
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$base.u
|
||||
tmpdepfile3=$dir.libs/$base.u
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$dir$base.u
|
||||
tmpdepfile3=$dir$base.u
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
# 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,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a tab and a space in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$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"
|
||||
;;
|
||||
|
||||
hp2)
|
||||
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||
# compilers, which have integrated preprocessors. The correct option
|
||||
# to use with these is +Maked; it writes dependencies to a file named
|
||||
# 'foo.d', which lands next to the object file, wherever that
|
||||
# happens to be.
|
||||
# Much of this is similar to the tru64 case; see comments there.
|
||||
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
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir.libs/$base.d
|
||||
"$@" -Wc,+Maked
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
"$@" +Maked
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||
# Add `dependent.h:' lines.
|
||||
sed -ne '2,${
|
||||
s/^ *//
|
||||
s/ \\*$//
|
||||
s/$/:/
|
||||
p
|
||||
}' "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||
;;
|
||||
|
||||
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 mechanism 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 $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 "X$1" != 'X--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 "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no eat=no
|
||||
for arg
|
||||
do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
if test $eat = yes; then
|
||||
eat=no
|
||||
continue
|
||||
fi
|
||||
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.
|
||||
-arch)
|
||||
eat=yes ;;
|
||||
-*|$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 "X$1" != 'X--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.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E 2>/dev/null |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||
echo " " >> "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvcmsys)
|
||||
# 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
|
||||
;;
|
||||
|
||||
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-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
520
install-sh
520
install-sh
|
|
@ -1,520 +0,0 @@
|
|||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2009-04-28.21; # UTC
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit=${DOITPROG-}
|
||||
if test -z "$doit"; then
|
||||
doit_exec=exec
|
||||
else
|
||||
doit_exec=$doit
|
||||
fi
|
||||
|
||||
# Put in absolute file names if you don't have them in your path;
|
||||
# or use environment vars.
|
||||
|
||||
chgrpprog=${CHGRPPROG-chgrp}
|
||||
chmodprog=${CHMODPROG-chmod}
|
||||
chownprog=${CHOWNPROG-chown}
|
||||
cmpprog=${CMPPROG-cmp}
|
||||
cpprog=${CPPROG-cp}
|
||||
mkdirprog=${MKDIRPROG-mkdir}
|
||||
mvprog=${MVPROG-mv}
|
||||
rmprog=${RMPROG-rm}
|
||||
stripprog=${STRIPPROG-strip}
|
||||
|
||||
posix_glob='?'
|
||||
initialize_posix_glob='
|
||||
test "$posix_glob" != "?" || {
|
||||
if (set -f) 2>/dev/null; then
|
||||
posix_glob=
|
||||
else
|
||||
posix_glob=:
|
||||
fi
|
||||
}
|
||||
'
|
||||
|
||||
posix_mkdir=
|
||||
|
||||
# Desired mode of installed file.
|
||||
mode=0755
|
||||
|
||||
chgrpcmd=
|
||||
chmodcmd=$chmodprog
|
||||
chowncmd=
|
||||
mvcmd=$mvprog
|
||||
rmcmd="$rmprog -f"
|
||||
stripcmd=
|
||||
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dst_arg=
|
||||
|
||||
copy_on_change=false
|
||||
no_target_directory=
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
-c (ignored)
|
||||
-C install only if different (preserve the last data modification time)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||
RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test $# -ne 0; do
|
||||
case $1 in
|
||||
-c) ;;
|
||||
|
||||
-C) copy_on_change=true;;
|
||||
|
||||
-d) dir_arg=true;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) mode=$2
|
||||
case $mode in
|
||||
*' '* | *' '* | *'
|
||||
'* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift;;
|
||||
|
||||
-s) stripcmd=$stripprog;;
|
||||
|
||||
-t) dst_arg=$2
|
||||
shift;;
|
||||
|
||||
-T) no_target_directory=true;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
--) shift
|
||||
break;;
|
||||
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||
# When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dst_arg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dst_arg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dst_arg=$arg
|
||||
done
|
||||
fi
|
||||
|
||||
if test $# -eq 0; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call `install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Set umask so as not to create temps with too-generous modes.
|
||||
# However, 'strip' requires both read and write access to temps.
|
||||
case $mode in
|
||||
# Optimize common cases.
|
||||
*644) cp_umask=133;;
|
||||
*755) cp_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw='% 200'
|
||||
fi
|
||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||
*)
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw=,u+rw
|
||||
fi
|
||||
cp_umask=$mode$u_plus_rw;;
|
||||
esac
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names starting with `-'.
|
||||
case $src in
|
||||
-*) src=./$src;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
dstdir=$dst
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dst_arg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dst=$dst_arg
|
||||
# Protect names starting with `-'.
|
||||
case $dst in
|
||||
-*) dst=./$dst;;
|
||||
esac
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstdir_status=0
|
||||
else
|
||||
# Prefer dirname, but fall back on a substitute if dirname fails.
|
||||
dstdir=`
|
||||
(dirname "$dst") 2>/dev/null ||
|
||||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$dst" : 'X\(//\)[^/]' \| \
|
||||
X"$dst" : 'X\(//\)$' \| \
|
||||
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
echo X"$dst" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'
|
||||
`
|
||||
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
case $posix_mkdir in
|
||||
'')
|
||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||
umask=`umask`
|
||||
case $stripcmd.$umask in
|
||||
# Optimize common cases.
|
||||
*[2367][2367]) mkdir_umask=$umask;;
|
||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
mkdir_umask=`expr $umask + 22 \
|
||||
- $umask % 100 % 40 + $umask % 20 \
|
||||
- $umask % 10 % 4 + $umask % 2
|
||||
`;;
|
||||
*) mkdir_umask=$umask,go-w;;
|
||||
esac
|
||||
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
else
|
||||
mkdir_mode=
|
||||
fi
|
||||
|
||||
posix_mkdir=false
|
||||
case $umask in
|
||||
*[123567][0-7][0-7])
|
||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
if (umask $mkdir_umask &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writeable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/d" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
if
|
||||
$posix_mkdir && (
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
)
|
||||
then :
|
||||
else
|
||||
|
||||
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||
# or it failed possibly due to a race condition. Create the
|
||||
# directory the slow way, step by step, checking for races as we go.
|
||||
|
||||
case $dstdir in
|
||||
/*) prefix='/';;
|
||||
-*) prefix='./';;
|
||||
*) prefix='';;
|
||||
esac
|
||||
|
||||
eval "$initialize_posix_glob"
|
||||
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
$posix_glob set -f
|
||||
set fnord $dstdir
|
||||
shift
|
||||
$posix_glob set +f
|
||||
IFS=$oIFS
|
||||
|
||||
prefixes=
|
||||
|
||||
for d
|
||||
do
|
||||
test -z "$d" && continue
|
||||
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask=$mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
done
|
||||
|
||||
if test -n "$prefixes"; then
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
|
||||
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
|
||||
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||
|
||||
# If -C, don't bother to copy if it wouldn't change the file.
|
||||
if $copy_on_change &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
|
||||
eval "$initialize_posix_glob" &&
|
||||
$posix_glob set -f &&
|
||||
set X $old && old=:$2:$4:$5:$6 &&
|
||||
set X $new && new=:$2:$4:$5:$6 &&
|
||||
$posix_glob set +f &&
|
||||
|
||||
test "$old" = "$new" &&
|
||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||
then
|
||||
rm -f "$dsttmp"
|
||||
else
|
||||
# Rename the file to the real destination.
|
||||
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
{
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
}
|
||||
fi || exit 1
|
||||
|
||||
trap '' 0
|
||||
fi
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
376
missing
376
missing
|
|
@ -1,376 +0,0 @@
|
|||
#! /bin/sh
|
||||
# Common stub for a few missing GNU programs while installing.
|
||||
|
||||
scriptversion=2009-04-28.21; # UTC
|
||||
|
||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
|
||||
# 2008, 2009 Free Software Foundation, Inc.
|
||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# 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.
|
||||
|
||||
if test $# -eq 0; then
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
run=:
|
||||
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
|
||||
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
|
||||
|
||||
# In the cases where this matters, `missing' is being run in the
|
||||
# srcdir already.
|
||||
if test -f configure.ac; then
|
||||
configure_ac=configure.ac
|
||||
else
|
||||
configure_ac=configure.in
|
||||
fi
|
||||
|
||||
msg="missing on your system"
|
||||
|
||||
case $1 in
|
||||
--run)
|
||||
# Try to run requested program, and just exit if it succeeds.
|
||||
run=
|
||||
shift
|
||||
"$@" && exit 0
|
||||
# Exit code 63 means version mismatch. This often happens
|
||||
# when the user try to use an ancient version of a tool on
|
||||
# a file that requires a minimum version. In this case we
|
||||
# we should proceed has if the program had been absent, or
|
||||
# if --run hadn't been passed.
|
||||
if test $? = 63; then
|
||||
run=:
|
||||
msg="probably too old"
|
||||
fi
|
||||
;;
|
||||
|
||||
-h|--h|--he|--hel|--help)
|
||||
echo "\
|
||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||
|
||||
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
||||
error status if there is no known handling for PROGRAM.
|
||||
|
||||
Options:
|
||||
-h, --help display this help and exit
|
||||
-v, --version output version information and exit
|
||||
--run try to run the given command, and emulate it if it fails
|
||||
|
||||
Supported PROGRAM values:
|
||||
aclocal touch file \`aclocal.m4'
|
||||
autoconf touch file \`configure'
|
||||
autoheader touch file \`config.h.in'
|
||||
autom4te touch the output file, or create a stub one
|
||||
automake touch all \`Makefile.in' files
|
||||
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
flex create \`lex.yy.c', if possible, from existing .c
|
||||
help2man touch the output file
|
||||
lex create \`lex.yy.c', if possible, from existing .c
|
||||
makeinfo touch the output file
|
||||
tar try tar, gnutar, gtar, then tar without non-portable flags
|
||||
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
|
||||
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
|
||||
\`g' are ignored when checking the name.
|
||||
|
||||
Send bug reports to <bug-automake@gnu.org>."
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||
echo "missing $scriptversion (GNU Automake)"
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo 1>&2 "$0: Unknown \`$1' option"
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
# normalize program name to check for.
|
||||
program=`echo "$1" | sed '
|
||||
s/^gnu-//; t
|
||||
s/^gnu//; t
|
||||
s/^g//; t'`
|
||||
|
||||
# Now exit if we have it, but it failed. Also exit now if we
|
||||
# don't have it and --version was passed (most likely to detect
|
||||
# the program). This is about non-GNU programs, so use $1 not
|
||||
# $program.
|
||||
case $1 in
|
||||
lex*|yacc*)
|
||||
# Not GNU programs, they don't have --version.
|
||||
;;
|
||||
|
||||
tar*)
|
||||
if test -n "$run"; then
|
||||
echo 1>&2 "ERROR: \`tar' requires --run"
|
||||
exit 1
|
||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
||||
# Could not run --version or --help. This is probably someone
|
||||
# running `$TOOL --version' or `$TOOL --help' to check whether
|
||||
# $TOOL exists and not knowing $TOOL uses missing.
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# If it does not exist, or fails to run (possibly an outdated version),
|
||||
# try to emulate it.
|
||||
case $program in
|
||||
aclocal*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
|
||||
to install the \`Automake' and \`Perl' packages. Grab them from
|
||||
any GNU archive site."
|
||||
touch aclocal.m4
|
||||
;;
|
||||
|
||||
autoconf*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`${configure_ac}'. You might want to install the
|
||||
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
||||
archive site."
|
||||
touch configure
|
||||
;;
|
||||
|
||||
autoheader*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
||||
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
||||
from any GNU archive site."
|
||||
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
||||
test -z "$files" && files="config.h"
|
||||
touch_files=
|
||||
for f in $files; do
|
||||
case $f in
|
||||
*:*) touch_files="$touch_files "`echo "$f" |
|
||||
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
||||
*) touch_files="$touch_files $f.in";;
|
||||
esac
|
||||
done
|
||||
touch $touch_files
|
||||
;;
|
||||
|
||||
automake*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
|
||||
You might want to install the \`Automake' and \`Perl' packages.
|
||||
Grab them from any GNU archive site."
|
||||
find . -type f -name Makefile.am -print |
|
||||
sed 's/\.am$/.in/' |
|
||||
while read f; do touch "$f"; done
|
||||
;;
|
||||
|
||||
autom4te*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, but is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them.
|
||||
You can get \`$1' as part of \`Autoconf' from any GNU
|
||||
archive site."
|
||||
|
||||
file=`echo "$*" | sed -n "$sed_output"`
|
||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||
if test -f "$file"; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo "#! /bin/sh"
|
||||
echo "# Created by GNU Automake missing as a replacement of"
|
||||
echo "# $ $@"
|
||||
echo "exit 0"
|
||||
chmod +x $file
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
bison*|yacc*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' $msg. You should only need it if
|
||||
you modified a \`.y' file. You may need the \`Bison' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Bison' from any GNU archive site."
|
||||
rm -f y.tab.c y.tab.h
|
||||
if test $# -ne 1; then
|
||||
eval LASTARG="\${$#}"
|
||||
case $LASTARG in
|
||||
*.y)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
||||
if test -f "$SRCFILE"; then
|
||||
cp "$SRCFILE" y.tab.c
|
||||
fi
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
||||
if test -f "$SRCFILE"; then
|
||||
cp "$SRCFILE" y.tab.h
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test ! -f y.tab.h; then
|
||||
echo >y.tab.h
|
||||
fi
|
||||
if test ! -f y.tab.c; then
|
||||
echo 'main() { return 0; }' >y.tab.c
|
||||
fi
|
||||
;;
|
||||
|
||||
lex*|flex*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a \`.l' file. You may need the \`Flex' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Flex' from any GNU archive site."
|
||||
rm -f lex.yy.c
|
||||
if test $# -ne 1; then
|
||||
eval LASTARG="\${$#}"
|
||||
case $LASTARG in
|
||||
*.l)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
||||
if test -f "$SRCFILE"; then
|
||||
cp "$SRCFILE" lex.yy.c
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test ! -f lex.yy.c; then
|
||||
echo 'main() { return 0; }' >lex.yy.c
|
||||
fi
|
||||
;;
|
||||
|
||||
help2man*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a dependency of a manual page. You may need the
|
||||
\`Help2man' package in order for those modifications to take
|
||||
effect. You can get \`Help2man' from any GNU archive site."
|
||||
|
||||
file=`echo "$*" | sed -n "$sed_output"`
|
||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||
if test -f "$file"; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo ".ab help2man is required to generate this page"
|
||||
exit $?
|
||||
fi
|
||||
;;
|
||||
|
||||
makeinfo*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a \`.texi' or \`.texinfo' file, or any other file
|
||||
indirectly affecting the aspect of the manual. The spurious
|
||||
call might also be the consequence of using a buggy \`make' (AIX,
|
||||
DU, IRIX). You might want to install the \`Texinfo' package or
|
||||
the \`GNU make' package. Grab either from any GNU archive site."
|
||||
# The file to touch is that specified with -o ...
|
||||
file=`echo "$*" | sed -n "$sed_output"`
|
||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||
if test -z "$file"; then
|
||||
# ... or it is the one specified with @setfilename ...
|
||||
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||
file=`sed -n '
|
||||
/^@setfilename/{
|
||||
s/.* \([^ ]*\) *$/\1/
|
||||
p
|
||||
q
|
||||
}' $infile`
|
||||
# ... or it is derived from the source name (dir/f.texi becomes f.info)
|
||||
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
|
||||
fi
|
||||
# If the file does not exist, the user really needs makeinfo;
|
||||
# let's fail without touching anything.
|
||||
test -f $file || exit 1
|
||||
touch $file
|
||||
;;
|
||||
|
||||
tar*)
|
||||
shift
|
||||
|
||||
# We have already tried tar in the generic part.
|
||||
# Look for gnutar/gtar before invocation to avoid ugly error
|
||||
# messages.
|
||||
if (gnutar --version > /dev/null 2>&1); then
|
||||
gnutar "$@" && exit 0
|
||||
fi
|
||||
if (gtar --version > /dev/null 2>&1); then
|
||||
gtar "$@" && exit 0
|
||||
fi
|
||||
firstarg="$1"
|
||||
if shift; then
|
||||
case $firstarg in
|
||||
*o*)
|
||||
firstarg=`echo "$firstarg" | sed s/o//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
case $firstarg in
|
||||
*h*)
|
||||
firstarg=`echo "$firstarg" | sed s/h//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
||||
You may want to install GNU tar or Free paxutils, or check the
|
||||
command line arguments."
|
||||
exit 1
|
||||
;;
|
||||
|
||||
*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, and is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them. Check the \`README' file,
|
||||
it often tells you about the needed prerequisites for installing
|
||||
this package. You may also peek at any GNU archive site, in case
|
||||
some other package would contain this missing \`$1' program."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
Loading…
Add table
Add a link
Reference in a new issue