mirror of
https://review.haiku-os.org/buildtools
synced 2026-02-04 16:03:15 +01:00
Compare commits
45 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
acd66be8cd | ||
|
|
7ee596e436 | ||
|
|
78abf7bba0 | ||
|
|
552d1c2e8d | ||
|
|
cb1ff25317 | ||
|
|
cd8c180f96 | ||
|
|
5c130f4191 | ||
|
|
c21fc23a27 | ||
|
|
41475e74b5 | ||
|
|
d2046ed9e3 | ||
|
|
98cc8eab03 | ||
|
|
aa1b5648d0 | ||
|
|
ac90974173 | ||
|
|
1e55f532cb | ||
|
|
3428817f1c | ||
|
|
dee09b4ab3 | ||
|
|
f3bec763ba | ||
|
|
3516ced06b | ||
|
|
49d0b42456 | ||
|
|
fe1648bb37 | ||
|
|
dc46dacc20 | ||
|
|
823a7d17d5 | ||
|
|
c4c981ccea | ||
|
|
245fa99d36 | ||
|
|
bc1fe87958 | ||
|
|
c3a190026c | ||
|
|
71a05640d7 | ||
|
|
e8b05382a1 | ||
|
|
0e9863ca9a | ||
|
|
da36187c7a | ||
|
|
48228ca39b | ||
|
|
d9bb2c14a8 | ||
|
|
4837867f67 | ||
|
|
a8e3cfa07e | ||
|
|
8d8ec347b1 | ||
|
|
cf64b0106b | ||
|
|
ab0de848b4 | ||
|
|
0933b55616 | ||
|
|
c2c76c0b34 | ||
|
|
e31a22361a | ||
|
|
288e868d9b | ||
|
|
a20bf576e7 | ||
|
|
a7498ab1d3 | ||
|
|
346d84c900 | ||
|
|
8b36716003 |
37
INSTALL-from-source-BeOS
Normal file
37
INSTALL-from-source-BeOS
Normal file
@@ -0,0 +1,37 @@
|
||||
How to build gcc-2.95.3 for BeOS:
|
||||
|
||||
cd into the buildtools folder (where this file lives)
|
||||
|
||||
compile binutils:
|
||||
|
||||
mkdir binutils-obj
|
||||
cd binutils-obj
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" ../binutils/configure --prefix=/boot/develop/tools/gnupro --enable-shared=yes
|
||||
make
|
||||
cd ..
|
||||
|
||||
compile gcc:
|
||||
|
||||
mkdir gcc-obj
|
||||
cd gcc-obj
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" ../gcc/configure --prefix=/boot/develop/tools/gnupro --enable-shared=yes --enable-languages=c,c++
|
||||
make bootstrap
|
||||
cd ..
|
||||
|
||||
Ok, now everything is compiled and ready, waiting to be installed:
|
||||
|
||||
mv /boot/develop/tools/gnupro /boot/develop/tools/gnupro_...
|
||||
mkdir /boot/develop/tools/gcc-2.95.3_binutils-2.15
|
||||
ln -s /boot/develop/tools/gcc-2.95.3_binutils-2.15 /boot/develop/tools/gnupro
|
||||
cd binutils-obj
|
||||
make install
|
||||
cd ..
|
||||
cd gcc-obj
|
||||
make install
|
||||
cd ..
|
||||
|
||||
That's it, gcc-2.95.3 and binutils-2.15 are now installed and active.
|
||||
|
||||
So have fun!
|
||||
|
||||
Please send questions & bug-reports to: Oliver Tappe <gcc@hirschkaefer.de>
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ehopt.c--optimize gcc exception frame information.
|
||||
Copyright 1998, 2000, 2001, 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
Written by Ian Lance Taylor <ian@cygnus.com>.
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
@@ -31,17 +31,13 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
/* Try to optimize gcc 2.8 exception frame information.
|
||||
|
||||
Exception frame information is emitted for every function in the
|
||||
.eh_frame or .debug_frame sections. Simple information for a function
|
||||
with no exceptions looks like this:
|
||||
.eh_frame section. Simple information for a function with no
|
||||
exceptions looks like this:
|
||||
|
||||
__FRAME_BEGIN__:
|
||||
.4byte .LLCIE1 / Length of Common Information Entry
|
||||
.LSCIE1:
|
||||
#if .eh_frame
|
||||
.4byte 0x0 / CIE Identifier Tag
|
||||
#elif .debug_frame
|
||||
.4byte 0xffffffff / CIE Identifier Tag
|
||||
#endif
|
||||
.byte 0x1 / CIE Version
|
||||
.byte 0x0 / CIE Augmentation (none)
|
||||
.byte 0x1 / ULEB128 0x1 (CIE Code Alignment Factor)
|
||||
@@ -88,29 +84,30 @@ __FRAME_BEGIN__:
|
||||
not know this value, it always uses four bytes. We will know the
|
||||
value at the end of assembly, so we can do better. */
|
||||
|
||||
struct cie_info
|
||||
{
|
||||
unsigned code_alignment;
|
||||
int z_augmentation;
|
||||
};
|
||||
static int eh_frame_code_alignment PARAMS ((void));
|
||||
|
||||
static int get_cie_info (struct cie_info *);
|
||||
|
||||
/* Extract information from the CIE. */
|
||||
/* Get the code alignment factor from the CIE. */
|
||||
|
||||
static int
|
||||
get_cie_info (struct cie_info *info)
|
||||
eh_frame_code_alignment ()
|
||||
{
|
||||
static int code_alignment;
|
||||
segT current_seg;
|
||||
subsegT current_subseg;
|
||||
fragS *f;
|
||||
fixS *fix;
|
||||
int offset;
|
||||
char CIE_id;
|
||||
char augmentation[10];
|
||||
int iaug;
|
||||
int code_alignment = 0;
|
||||
|
||||
/* We should find the CIE at the start of the section. */
|
||||
if (code_alignment != 0)
|
||||
return code_alignment;
|
||||
|
||||
/* We should find the CIE at the start of the .eh_frame section. */
|
||||
|
||||
current_seg = now_seg;
|
||||
current_subseg = now_subseg;
|
||||
subseg_new (".eh_frame", 0);
|
||||
#if defined (BFD_ASSEMBLER) || defined (MANY_SEGMENTS)
|
||||
f = seg_info (now_seg)->frchainP->frch_root;
|
||||
#else
|
||||
@@ -121,15 +118,11 @@ get_cie_info (struct cie_info *info)
|
||||
#else
|
||||
fix = *seg_fix_rootP;
|
||||
#endif
|
||||
subseg_set (current_seg, current_subseg);
|
||||
|
||||
/* Look through the frags of the section to find the code alignment. */
|
||||
|
||||
/* First make sure that the CIE Identifier Tag is 0/-1. */
|
||||
|
||||
if (strcmp (segment_name (now_seg), ".debug_frame") == 0)
|
||||
CIE_id = (char)0xff;
|
||||
else
|
||||
CIE_id = 0;
|
||||
/* First make sure that the CIE Identifier Tag is 0. */
|
||||
|
||||
offset = 4;
|
||||
while (f != NULL && offset >= f->fr_fix)
|
||||
@@ -139,11 +132,14 @@ get_cie_info (struct cie_info *info)
|
||||
}
|
||||
if (f == NULL
|
||||
|| f->fr_fix - offset < 4
|
||||
|| f->fr_literal[offset] != CIE_id
|
||||
|| f->fr_literal[offset + 1] != CIE_id
|
||||
|| f->fr_literal[offset + 2] != CIE_id
|
||||
|| f->fr_literal[offset + 3] != CIE_id)
|
||||
return 0;
|
||||
|| f->fr_literal[offset] != 0
|
||||
|| f->fr_literal[offset + 1] != 0
|
||||
|| f->fr_literal[offset + 2] != 0
|
||||
|| f->fr_literal[offset + 3] != 0)
|
||||
{
|
||||
code_alignment = -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Next make sure the CIE version number is 1. */
|
||||
|
||||
@@ -156,7 +152,10 @@ get_cie_info (struct cie_info *info)
|
||||
if (f == NULL
|
||||
|| f->fr_fix - offset < 1
|
||||
|| f->fr_literal[offset] != 1)
|
||||
return 0;
|
||||
{
|
||||
code_alignment = -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Skip the augmentation (a null terminated string). */
|
||||
|
||||
@@ -170,8 +169,10 @@ get_cie_info (struct cie_info *info)
|
||||
f = f->fr_next;
|
||||
}
|
||||
if (f == NULL)
|
||||
return 0;
|
||||
|
||||
{
|
||||
code_alignment = -1;
|
||||
return -1;
|
||||
}
|
||||
while (offset < f->fr_fix && f->fr_literal[offset] != '\0')
|
||||
{
|
||||
if ((size_t) iaug < (sizeof augmentation) - 1)
|
||||
@@ -191,7 +192,10 @@ get_cie_info (struct cie_info *info)
|
||||
f = f->fr_next;
|
||||
}
|
||||
if (f == NULL)
|
||||
return 0;
|
||||
{
|
||||
code_alignment = -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
augmentation[iaug] = '\0';
|
||||
if (augmentation[0] == '\0')
|
||||
@@ -215,22 +219,28 @@ get_cie_info (struct cie_info *info)
|
||||
f = f->fr_next;
|
||||
}
|
||||
if (f == NULL)
|
||||
return 0;
|
||||
{
|
||||
code_alignment = -1;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
code_alignment = -1;
|
||||
return -1;
|
||||
}
|
||||
else if (augmentation[0] != 'z')
|
||||
return 0;
|
||||
|
||||
/* We're now at the code alignment factor, which is a ULEB128. If
|
||||
it isn't a single byte, forget it. */
|
||||
|
||||
code_alignment = f->fr_literal[offset] & 0xff;
|
||||
if ((code_alignment & 0x80) != 0)
|
||||
code_alignment = 0;
|
||||
if ((code_alignment & 0x80) != 0 || code_alignment == 0)
|
||||
{
|
||||
code_alignment = -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
info->code_alignment = code_alignment;
|
||||
info->z_augmentation = (augmentation[0] == 'z');
|
||||
|
||||
return 1;
|
||||
return code_alignment;
|
||||
}
|
||||
|
||||
/* This function is called from emit_expr. It looks for cases which
|
||||
@@ -247,62 +257,37 @@ get_cie_info (struct cie_info *info)
|
||||
change *EXP and *PNBYTES. */
|
||||
|
||||
int
|
||||
check_eh_frame (expressionS *exp, unsigned int *pnbytes)
|
||||
check_eh_frame (exp, pnbytes)
|
||||
expressionS *exp;
|
||||
unsigned int *pnbytes;
|
||||
{
|
||||
struct frame_data
|
||||
{
|
||||
enum frame_state
|
||||
{
|
||||
state_idle,
|
||||
state_saw_size,
|
||||
state_saw_cie_offset,
|
||||
state_saw_pc_begin,
|
||||
state_seeing_aug_size,
|
||||
state_skipping_aug,
|
||||
state_wait_loc4,
|
||||
state_saw_loc4,
|
||||
state_error,
|
||||
} state;
|
||||
static int saw_size;
|
||||
static symbolS *size_end_sym;
|
||||
static int saw_advance_loc4;
|
||||
static fragS *loc4_frag;
|
||||
static int loc4_fix;
|
||||
|
||||
int cie_info_ok;
|
||||
struct cie_info cie_info;
|
||||
|
||||
symbolS *size_end_sym;
|
||||
fragS *loc4_frag;
|
||||
int loc4_fix;
|
||||
|
||||
int aug_size;
|
||||
int aug_shift;
|
||||
};
|
||||
|
||||
static struct frame_data eh_frame_data;
|
||||
static struct frame_data debug_frame_data;
|
||||
struct frame_data *d;
|
||||
|
||||
/* Don't optimize. */
|
||||
if (flag_traditional_format)
|
||||
return 0;
|
||||
|
||||
/* Select the proper section data. */
|
||||
if (strcmp (segment_name (now_seg), ".eh_frame") == 0)
|
||||
d = &eh_frame_data;
|
||||
else if (strcmp (segment_name (now_seg), ".debug_frame") == 0)
|
||||
d = &debug_frame_data;
|
||||
else
|
||||
return 0;
|
||||
|
||||
if (d->state >= state_saw_size && S_IS_DEFINED (d->size_end_sym))
|
||||
if (saw_size
|
||||
&& S_IS_DEFINED (size_end_sym))
|
||||
{
|
||||
/* We have come to the end of the CIE or FDE. See below where
|
||||
we set saw_size. We must check this first because we may now
|
||||
be looking at the next size. */
|
||||
d->state = state_idle;
|
||||
saw_size = 0;
|
||||
saw_advance_loc4 = 0;
|
||||
}
|
||||
|
||||
switch (d->state)
|
||||
if (flag_traditional_format)
|
||||
{
|
||||
case state_idle:
|
||||
if (*pnbytes == 4)
|
||||
/* Don't optimize. */
|
||||
}
|
||||
else if (strcmp (segment_name (now_seg), ".eh_frame") != 0)
|
||||
{
|
||||
saw_size = 0;
|
||||
saw_advance_loc4 = 0;
|
||||
}
|
||||
else if (! saw_size
|
||||
&& *pnbytes == 4)
|
||||
{
|
||||
/* This might be the size of the CIE or FDE. We want to know
|
||||
the size so that we don't accidentally optimize across an FDE
|
||||
@@ -316,153 +301,100 @@ check_eh_frame (expressionS *exp, unsigned int *pnbytes)
|
||||
if ((exp->X_op == O_symbol || exp->X_op == O_subtract)
|
||||
&& ! S_IS_DEFINED (exp->X_add_symbol))
|
||||
{
|
||||
d->state = state_saw_size;
|
||||
d->size_end_sym = exp->X_add_symbol;
|
||||
saw_size = 1;
|
||||
size_end_sym = exp->X_add_symbol;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case state_saw_size:
|
||||
case state_saw_cie_offset:
|
||||
/* Assume whatever form it appears in, it appears atomically. */
|
||||
d->state += 1;
|
||||
break;
|
||||
|
||||
case state_saw_pc_begin:
|
||||
/* Decide whether we should see an augmentation. */
|
||||
if (! d->cie_info_ok
|
||||
&& ! (d->cie_info_ok = get_cie_info (&d->cie_info)))
|
||||
d->state = state_error;
|
||||
else if (d->cie_info.z_augmentation)
|
||||
{
|
||||
d->state = state_seeing_aug_size;
|
||||
d->aug_size = 0;
|
||||
d->aug_shift = 0;
|
||||
}
|
||||
else
|
||||
d->state = state_wait_loc4;
|
||||
break;
|
||||
|
||||
case state_seeing_aug_size:
|
||||
/* Bytes == -1 means this comes from an leb128 directive. */
|
||||
if ((int)*pnbytes == -1 && exp->X_op == O_constant)
|
||||
{
|
||||
d->aug_size = exp->X_add_number;
|
||||
d->state = state_skipping_aug;
|
||||
}
|
||||
else if (*pnbytes == 1 && exp->X_op == O_constant)
|
||||
{
|
||||
unsigned char byte = exp->X_add_number;
|
||||
d->aug_size |= (byte & 0x7f) << d->aug_shift;
|
||||
d->aug_shift += 7;
|
||||
if ((byte & 0x80) == 0)
|
||||
d->state = state_skipping_aug;
|
||||
}
|
||||
else
|
||||
d->state = state_error;
|
||||
if (d->state == state_skipping_aug && d->aug_size == 0)
|
||||
d->state = state_wait_loc4;
|
||||
break;
|
||||
|
||||
case state_skipping_aug:
|
||||
if ((int)*pnbytes < 0)
|
||||
d->state = state_error;
|
||||
else
|
||||
{
|
||||
int left = (d->aug_size -= *pnbytes);
|
||||
if (left == 0)
|
||||
d->state = state_wait_loc4;
|
||||
else if (left < 0)
|
||||
d->state = state_error;
|
||||
}
|
||||
break;
|
||||
|
||||
case state_wait_loc4:
|
||||
if (*pnbytes == 1
|
||||
else if (saw_size
|
||||
&& *pnbytes == 1
|
||||
&& exp->X_op == O_constant
|
||||
&& exp->X_add_number == DW_CFA_advance_loc4)
|
||||
{
|
||||
/* This might be a DW_CFA_advance_loc4. Record the frag and the
|
||||
position within the frag, so that we can change it later. */
|
||||
saw_advance_loc4 = 1;
|
||||
frag_grow (1);
|
||||
d->state = state_saw_loc4;
|
||||
d->loc4_frag = frag_now;
|
||||
d->loc4_fix = frag_now_fix ();
|
||||
loc4_frag = frag_now;
|
||||
loc4_fix = frag_now_fix ();
|
||||
}
|
||||
break;
|
||||
|
||||
case state_saw_loc4:
|
||||
d->state = state_wait_loc4;
|
||||
if (*pnbytes != 4)
|
||||
break;
|
||||
if (exp->X_op == O_constant)
|
||||
else if (saw_advance_loc4
|
||||
&& *pnbytes == 4
|
||||
&& exp->X_op == O_constant)
|
||||
{
|
||||
int ca;
|
||||
|
||||
/* This is a case which we can optimize. The two symbols being
|
||||
subtracted were in the same frag and the expression was
|
||||
reduced to a constant. We can do the optimization entirely
|
||||
in this function. */
|
||||
if (d->cie_info.code_alignment > 0
|
||||
&& exp->X_add_number % d->cie_info.code_alignment == 0
|
||||
&& exp->X_add_number / d->cie_info.code_alignment < 0x40)
|
||||
{
|
||||
d->loc4_frag->fr_literal[d->loc4_fix]
|
||||
= DW_CFA_advance_loc
|
||||
| (exp->X_add_number / d->cie_info.code_alignment);
|
||||
|
||||
saw_advance_loc4 = 0;
|
||||
|
||||
ca = eh_frame_code_alignment ();
|
||||
if (ca < 0)
|
||||
{
|
||||
/* Don't optimize. */
|
||||
}
|
||||
else if (exp->X_add_number % ca == 0
|
||||
&& exp->X_add_number / ca < 0x40)
|
||||
{
|
||||
loc4_frag->fr_literal[loc4_fix]
|
||||
= DW_CFA_advance_loc | (exp->X_add_number / ca);
|
||||
/* No more bytes needed. */
|
||||
return 1;
|
||||
}
|
||||
else if (exp->X_add_number < 0x100)
|
||||
{
|
||||
d->loc4_frag->fr_literal[d->loc4_fix] = DW_CFA_advance_loc1;
|
||||
loc4_frag->fr_literal[loc4_fix] = DW_CFA_advance_loc1;
|
||||
*pnbytes = 1;
|
||||
}
|
||||
else if (exp->X_add_number < 0x10000)
|
||||
{
|
||||
d->loc4_frag->fr_literal[d->loc4_fix] = DW_CFA_advance_loc2;
|
||||
loc4_frag->fr_literal[loc4_fix] = DW_CFA_advance_loc2;
|
||||
*pnbytes = 2;
|
||||
}
|
||||
}
|
||||
else if (exp->X_op == O_subtract)
|
||||
else if (saw_advance_loc4
|
||||
&& *pnbytes == 4
|
||||
&& exp->X_op == O_subtract)
|
||||
{
|
||||
|
||||
/* This is a case we can optimize. The expression was not
|
||||
reduced, so we can not finish the optimization until the end
|
||||
of the assembly. We set up a variant frag which we handle
|
||||
later. */
|
||||
int fr_subtype;
|
||||
|
||||
if (d->cie_info.code_alignment > 0)
|
||||
fr_subtype = d->cie_info.code_alignment << 3;
|
||||
else
|
||||
fr_subtype = 0;
|
||||
saw_advance_loc4 = 0;
|
||||
|
||||
frag_var (rs_cfa, 4, 0, fr_subtype, make_expr_symbol (exp),
|
||||
d->loc4_fix, (char *) d->loc4_frag);
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
frag_var (rs_cfa, 4, 0, 0, make_expr_symbol (exp),
|
||||
loc4_fix, (char *) loc4_frag);
|
||||
|
||||
case state_error:
|
||||
/* Just skipping everything. */
|
||||
break;
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
saw_advance_loc4 = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* The function estimates the size of a rs_cfa variant frag based on
|
||||
the current values of the symbols. It is called before the
|
||||
relaxation loop. We set fr_subtype{0:2} to the expected length. */
|
||||
relaxation loop. We set fr_subtype to the expected length. */
|
||||
|
||||
int
|
||||
eh_frame_estimate_size_before_relax (fragS *frag)
|
||||
eh_frame_estimate_size_before_relax (frag)
|
||||
fragS *frag;
|
||||
{
|
||||
int ca;
|
||||
offsetT diff;
|
||||
int ca = frag->fr_subtype >> 3;
|
||||
int ret;
|
||||
|
||||
ca = eh_frame_code_alignment ();
|
||||
diff = resolve_symbol_value (frag->fr_symbol);
|
||||
|
||||
if (ca > 0 && diff % ca == 0 && diff / ca < 0x40)
|
||||
if (ca < 0)
|
||||
ret = 4;
|
||||
else if (diff % ca == 0 && diff / ca < 0x40)
|
||||
ret = 0;
|
||||
else if (diff < 0x100)
|
||||
ret = 1;
|
||||
@@ -471,31 +403,33 @@ eh_frame_estimate_size_before_relax (fragS *frag)
|
||||
else
|
||||
ret = 4;
|
||||
|
||||
frag->fr_subtype = (frag->fr_subtype & ~7) | ret;
|
||||
frag->fr_subtype = ret;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* This function relaxes a rs_cfa variant frag based on the current
|
||||
values of the symbols. fr_subtype{0:2} is the current length of
|
||||
the frag. This returns the change in frag length. */
|
||||
values of the symbols. fr_subtype is the current length of the
|
||||
frag. This returns the change in frag length. */
|
||||
|
||||
int
|
||||
eh_frame_relax_frag (fragS *frag)
|
||||
eh_frame_relax_frag (frag)
|
||||
fragS *frag;
|
||||
{
|
||||
int oldsize, newsize;
|
||||
|
||||
oldsize = frag->fr_subtype & 7;
|
||||
oldsize = frag->fr_subtype;
|
||||
newsize = eh_frame_estimate_size_before_relax (frag);
|
||||
return newsize - oldsize;
|
||||
}
|
||||
|
||||
/* This function converts a rs_cfa variant frag into a normal fill
|
||||
frag. This is called after all relaxation has been done.
|
||||
fr_subtype{0:2} will be the desired length of the frag. */
|
||||
fr_subtype will be the desired length of the frag. */
|
||||
|
||||
void
|
||||
eh_frame_convert_frag (fragS *frag)
|
||||
eh_frame_convert_frag (frag)
|
||||
fragS *frag;
|
||||
{
|
||||
offsetT diff;
|
||||
fragS *loc4_frag;
|
||||
@@ -506,35 +440,30 @@ eh_frame_convert_frag (fragS *frag)
|
||||
|
||||
diff = resolve_symbol_value (frag->fr_symbol);
|
||||
|
||||
switch (frag->fr_subtype & 7)
|
||||
if (frag->fr_subtype == 0)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
int ca = frag->fr_subtype >> 3;
|
||||
int ca;
|
||||
|
||||
ca = eh_frame_code_alignment ();
|
||||
assert (ca > 0 && diff % ca == 0 && diff / ca < 0x40);
|
||||
loc4_frag->fr_literal[loc4_fix] = DW_CFA_advance_loc | (diff / ca);
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
else if (frag->fr_subtype == 1)
|
||||
{
|
||||
assert (diff < 0x100);
|
||||
loc4_frag->fr_literal[loc4_fix] = DW_CFA_advance_loc1;
|
||||
frag->fr_literal[frag->fr_fix] = diff;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
}
|
||||
else if (frag->fr_subtype == 2)
|
||||
{
|
||||
assert (diff < 0x10000);
|
||||
loc4_frag->fr_literal[loc4_fix] = DW_CFA_advance_loc2;
|
||||
md_number_to_chars (frag->fr_literal + frag->fr_fix, diff, 2);
|
||||
break;
|
||||
|
||||
default:
|
||||
md_number_to_chars (frag->fr_literal + frag->fr_fix, diff, 4);
|
||||
break;
|
||||
}
|
||||
else
|
||||
md_number_to_chars (frag->fr_literal + frag->fr_fix, diff, 4);
|
||||
|
||||
frag->fr_fix += frag->fr_subtype & 7;
|
||||
frag->fr_fix += frag->fr_subtype;
|
||||
frag->fr_type = rs_fill;
|
||||
frag->fr_subtype = 0;
|
||||
frag->fr_offset = 0;
|
||||
}
|
||||
|
||||
30
gcc/.cvsignore
Normal file
30
gcc/.cvsignore
Normal file
@@ -0,0 +1,30 @@
|
||||
*-all
|
||||
*-co
|
||||
*-dirs
|
||||
*-done
|
||||
*-info
|
||||
*-install-info
|
||||
*-src
|
||||
*-stamp-*
|
||||
*-tagged
|
||||
blockit
|
||||
cfg-paper.info
|
||||
config.status
|
||||
configure.aux
|
||||
configure.cp
|
||||
configure.cps
|
||||
configure.dvi
|
||||
configure.fn
|
||||
configure.fns
|
||||
configure.ky
|
||||
configure.kys
|
||||
configure.log
|
||||
configure.pg
|
||||
configure.pgs
|
||||
configure.toc
|
||||
configure.tp
|
||||
configure.tps
|
||||
configure.vr
|
||||
configure.vrs
|
||||
dir.info
|
||||
Makefile
|
||||
340
gcc/COPYING
Normal file
340
gcc/COPYING
Normal file
@@ -0,0 +1,340 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
482
gcc/COPYING.LIB
Normal file
482
gcc/COPYING.LIB
Normal file
@@ -0,0 +1,482 @@
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the library GPL. It is
|
||||
numbered 2 because it goes with version 2 of the ordinary GPL.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Library General Public License, applies to some
|
||||
specially designated Free Software Foundation software, and to any
|
||||
other libraries whose authors decide to use it. You can use it for
|
||||
your libraries, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if
|
||||
you distribute copies of the library, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link a program with the library, you must provide
|
||||
complete object files to the recipients so that they can relink them
|
||||
with the library, after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
Our method of protecting your rights has two steps: (1) copyright
|
||||
the library, and (2) offer you this license which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
Also, for each distributor's protection, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
library. If the library is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original
|
||||
version, so that any problems introduced by others will not reflect on
|
||||
the original authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that companies distributing free
|
||||
software will individually obtain patent licenses, thus in effect
|
||||
transforming the program into proprietary software. To prevent this,
|
||||
we have made it clear that any patent must be licensed for everyone's
|
||||
free use or not licensed at all.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the ordinary
|
||||
GNU General Public License, which was designed for utility programs. This
|
||||
license, the GNU Library General Public License, applies to certain
|
||||
designated libraries. This license is quite different from the ordinary
|
||||
one; be sure to read it in full, and don't assume that anything in it is
|
||||
the same as in the ordinary license.
|
||||
|
||||
The reason we have a separate public license for some libraries is that
|
||||
they blur the distinction we usually make between modifying or adding to a
|
||||
program and simply using it. Linking a program with a library, without
|
||||
changing the library, is in some sense simply using the library, and is
|
||||
analogous to running a utility program or application program. However, in
|
||||
a textual and legal sense, the linked executable is a combined work, a
|
||||
derivative of the original library, and the ordinary General Public License
|
||||
treats it as such.
|
||||
|
||||
Because of this blurred distinction, using the ordinary General
|
||||
Public License for libraries did not effectively promote software
|
||||
sharing, because most developers did not use the libraries. We
|
||||
concluded that weaker conditions might promote sharing better.
|
||||
|
||||
However, unrestricted linking of non-free programs would deprive the
|
||||
users of those programs of all benefit from the free status of the
|
||||
libraries themselves. This Library General Public License is intended to
|
||||
permit developers of non-free programs to use free libraries, while
|
||||
preserving your freedom as a user of such programs to change the free
|
||||
libraries that are incorporated in them. (We have not seen how to achieve
|
||||
this as regards changes in header files, but we have achieved it as regards
|
||||
changes in the actual functions of the Library.) The hope is that this
|
||||
will lead to faster development of free libraries.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, while the latter only
|
||||
works together with the library.
|
||||
|
||||
Note that it is possible for a library to be covered by the ordinary
|
||||
General Public License rather than by this special one.
|
||||
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library which
|
||||
contains a notice placed by the copyright holder or other authorized
|
||||
party saying it may be distributed under the terms of this Library
|
||||
General Public License (also called "this License"). Each licensee is
|
||||
addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also compile or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
c) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
d) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the source code distributed need not include anything that is normally
|
||||
distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Library General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library 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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
6374
gcc/ChangeLog
Normal file
6374
gcc/ChangeLog
Normal file
File diff suppressed because it is too large
Load Diff
10
gcc/INSTALL/README
Normal file
10
gcc/INSTALL/README
Normal file
@@ -0,0 +1,10 @@
|
||||
The installation instructions are no longer in this directory. Instead
|
||||
they can be found in the "install" directory at the toplevel of the GCC
|
||||
distribution (ie gcc-2.95/install). For HTML browsing start with
|
||||
install/index.html, for plaintext, start with install/INDEX.
|
||||
|
||||
Moving the installation instructions in this manner makes it significantly
|
||||
easier to share code between the distribution and the web pages.
|
||||
|
||||
This directory (INSTALL) will be completely removed in the next major
|
||||
GCC release.
|
||||
107
gcc/MAINTAINERS
Normal file
107
gcc/MAINTAINERS
Normal file
@@ -0,0 +1,107 @@
|
||||
Blanket Write Privs.
|
||||
|
||||
Craig Burley craig@jcb-sc.com
|
||||
John Carr jfc@mit.edu
|
||||
Richard Henderson rth@cygnus.com
|
||||
Jeff Law law@cygnus.com
|
||||
Michael Meissner meissner@cygnus.com
|
||||
David S. Miller davem@redhat.com
|
||||
Jim Wilson wilson@cygnus.com
|
||||
|
||||
|
||||
|
||||
Various Maintainers
|
||||
|
||||
sh port Joern Renecke amylaar@cygnus.com
|
||||
v850 port Nick Clifton nickc@cygnus.com
|
||||
v850 port Michael Meissner meissner@cygnus.com
|
||||
arm port Nick Clifton nickc@cygnus.com
|
||||
arm port Richard Earnshaw rearnsha@arm.com
|
||||
m32r port Nick Clifton nickc@cygnus.com
|
||||
Michael Meissner meissner@cygnus.com
|
||||
h8 port Jeff Law law@cygnus.com
|
||||
mn10200 port Jeff Law law@cygnus.com
|
||||
mn10300 port Jeff Law law@cygnus.com
|
||||
hppa port Jeff Law law@cygnus.com
|
||||
m68k port (?) Jeff Law law@cygnus.com
|
||||
rs6000 port Michael Meissner meissner@cygnus.com
|
||||
rs6000 port David Edelsohn dje@watson.ibm.com
|
||||
mips port Jim Wilson wilson@cygnus.com
|
||||
i960 port Jim Wilson wilson@cygnus.com
|
||||
a29k port Jim Wilson wilson@cygnus.com
|
||||
alpha port Richard Henderson rth@cygnus.com
|
||||
sparc port Richard Henderson rth@cygnus.com
|
||||
sparc port David S. Miller davem@redhat.com
|
||||
x86 ports Stan Cox scox@cygnus.com
|
||||
c4x port Michael Hayes m.hayes@elec.canterbury.ac.nz
|
||||
fortran Craig Burley craig@jcb-sc.com
|
||||
fortran Richard Henderson rth@cygnus.com
|
||||
c++ Jason Merrill jason@cygnus.com
|
||||
c++ Mark Mitchell mark@codesourcery.com
|
||||
chill Dave Brolley brolley@cygnus.com
|
||||
chill Per Bothner bothner@cygnus.com
|
||||
java Per Bothner bothner@cygnus.com
|
||||
objective-c Ovidiu Predescu ovidiu@cup.hp.com
|
||||
cpplib Dave Brolley brolley@cygnus.com
|
||||
cpplib Per Bothner bothner@cygnus.com
|
||||
fixincludes Ian Taylor ian@cygnus.com
|
||||
alias analysis John Carr jfc@mit.edu
|
||||
loop unrolling Jim Wilson wilson@cygnus.com
|
||||
scheduler (+ haifa) Jim Wilson wilson@cygnus.com
|
||||
scheduler (+ haifa) Michael Meissner meissner@cygnus.com
|
||||
scheduler (+ haifa) Jeff Law law@cygnus.com
|
||||
reorg Jeff Law law@cygnus.com
|
||||
caller-save.c Jeff Law law@cygnus.com
|
||||
debugging code Jim Wilson wilson@cygnus.com
|
||||
dwarf debugging code Jason Merrill jason@cygnus.com
|
||||
c++ runtime libs Ulrich Drepper drepper@cygnus.com
|
||||
C++ runtime libs Gabriel Dos Reis dosreis@cmla.ens-cachan.fr
|
||||
*synthetic multiply Torbjorn Granlund tege@swox.com
|
||||
*c-torture Torbjorn Granlund tege@swox.com
|
||||
*f-torture Kate Hedstrom kate@ahab.rutgers.edu
|
||||
sco5, unixware, sco udk Robert Lipe robertlipe@usa.net
|
||||
new fixincludes Bruce Korb korbb@datadesign.com
|
||||
gcse.c Jeff Law law@cygnus.com
|
||||
global opt framework Jeff Law law@cygnus.com
|
||||
jump.c David S. Miller davem@redhat.com
|
||||
web pages Gerald Pfeifer pfeifer@dbai.tuwien.ac.at
|
||||
C front end/isoc9x Gavin Koch gavin@cygnus.com
|
||||
config.sub/config.guess Ben Elliston bje@cygnus.com
|
||||
|
||||
Note individuals who maintain parts of the compiler need approval to check
|
||||
in changes outside of the parts of the compiler they maintain.
|
||||
|
||||
|
||||
Write After Approval
|
||||
Ken Raeburn raeburn@cygnus.com
|
||||
Brendan Kehoe brendan@cygnus.com
|
||||
Benjamin Kosnik bkoz@cygnus.com
|
||||
Andrew Macleod amacleod@cygnus.com
|
||||
Dave Love d.love@dl.ac.uk
|
||||
*Toon Moene toon@moene.indiv.nluug.nl
|
||||
*HJ Lu hjl@lucon.org
|
||||
Mark Mitchell mark@codesourcery.com
|
||||
Kaveh Ghazi ghazi@caip.rutgers.edu
|
||||
Andreas Schwab schwab@issan.informatik.uni-dortmund.de
|
||||
Manfred Hollstein manfred.h@gmx.net
|
||||
*Paul Eggert eggert@twinsun.com
|
||||
Klaus Kaempf kkaempf@progis.de
|
||||
Marc Lehmann pcg@goof.com
|
||||
Alexandre Oliva oliva@dcc.unicamp.br
|
||||
Catherine Moore clm@cygnus.com
|
||||
Vladimir Markarov vmakarov@cygnus.com
|
||||
Martin v. Löwis loewis@informatik.hu-berlin.de
|
||||
Bernd Schmidt crux@pool.informatik.rwth-aachen.de
|
||||
Zack Weinberg zack@rabi.columbia.edu
|
||||
John Wehle john@feith.com
|
||||
Nathan Sidwell nathan@acm.org
|
||||
Tom Tromey tromey@cygnus.com
|
||||
Andrew Haley aph@cygnus.com
|
||||
Alexandre Petit-Bianco apbianco@cygnus.com
|
||||
Anthony Green green@cygnus.com
|
||||
Stu Grossman grossman@cygnus.com
|
||||
Gabriel Dos Reis dosreis@cmla.ens-cachan.fr
|
||||
|
||||
|
||||
* Indicates folks we need to get Kerberos/ssh accounts ready so they
|
||||
can write in the source tree
|
||||
1857
gcc/Makefile.in
Normal file
1857
gcc/Makefile.in
Normal file
File diff suppressed because it is too large
Load Diff
17
gcc/README
Normal file
17
gcc/README
Normal file
@@ -0,0 +1,17 @@
|
||||
README for GNU development tools
|
||||
|
||||
This directory contains various GNU compilers, assemblers, linkers,
|
||||
debuggers, etc., plus their support routines, definitions, and documentation.
|
||||
|
||||
|
||||
Check the INSTALL directory for detailed configuration and installation
|
||||
instructions.
|
||||
|
||||
|
||||
Much of the code and documentation enclosed is copyright by
|
||||
the Free Software Foundation, Inc. See the file COPYING or
|
||||
COPYING.LIB in the various directories, for a description of the
|
||||
GNU General Public License terms under which you can copy the files.
|
||||
|
||||
REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
|
||||
on where and how to report problems.
|
||||
646
gcc/config-ml.in
Normal file
646
gcc/config-ml.in
Normal file
@@ -0,0 +1,646 @@
|
||||
# Configure fragment invoked in the post-target section for subdirs
|
||||
# wanting multilib support.
|
||||
#
|
||||
# It is advisable to support a few --enable/--disable options to let the
|
||||
# user select which libraries s/he really wants.
|
||||
#
|
||||
# Subdirectories wishing to use multilib should put the following lines
|
||||
# in the "post-target" section of configure.in.
|
||||
#
|
||||
# if [ "${srcdir}" = "." ] ; then
|
||||
# if [ "${with_target_subdir}" != "." ] ; then
|
||||
# . ${with_multisrctop}../../config-ml.in
|
||||
# else
|
||||
# . ${with_multisrctop}../config-ml.in
|
||||
# fi
|
||||
# else
|
||||
# . ${srcdir}/../config-ml.in
|
||||
# fi
|
||||
#
|
||||
# See librx/configure.in in the libg++ distribution for an example of how
|
||||
# to handle autoconf'd libraries.
|
||||
#
|
||||
# Things are complicated because 6 separate cases must be handled:
|
||||
# 2 (native, cross) x 3 (absolute-path, relative-not-dot, dot) = 6.
|
||||
#
|
||||
# srcdir=. is special. It must handle make programs that don't handle VPATH.
|
||||
# To implement this, a symlink tree is built for each library and for each
|
||||
# multilib subdir.
|
||||
#
|
||||
# The build tree is layed out as
|
||||
#
|
||||
# ./
|
||||
# libg++
|
||||
# newlib
|
||||
# m68020/
|
||||
# libg++
|
||||
# newlib
|
||||
# m68881/
|
||||
# libg++
|
||||
# newlib
|
||||
#
|
||||
# The nice feature about this arrangement is that inter-library references
|
||||
# in the build tree work without having to care where you are. Note that
|
||||
# inter-library references also work in the source tree because symlink trees
|
||||
# are built when srcdir=.
|
||||
#
|
||||
# Unfortunately, trying to access the libraries in the build tree requires
|
||||
# the user to manually choose which library to use as GCC won't be able to
|
||||
# find the right one. This is viewed as the lesser of two evils.
|
||||
#
|
||||
# Configure variables:
|
||||
# ${with_target_subdir} = "." for native, or ${target_alias} for cross.
|
||||
# Set by top level Makefile.
|
||||
# ${with_multisrctop} = how many levels of multilibs there are in the source
|
||||
# tree. It exists to handle the case of configuring in the source tree:
|
||||
# ${srcdir} is not constant.
|
||||
# ${with_multisubdir} = name of multilib subdirectory (eg: m68020/m68881).
|
||||
#
|
||||
# Makefile variables:
|
||||
# MULTISRCTOP = number of multilib levels in source tree (+1 if cross)
|
||||
# (FIXME: note that this is different than ${with_multisrctop}. Check out.).
|
||||
# MULTIBUILDTOP = number of multilib levels in build tree
|
||||
# MULTIDIRS = list of multilib subdirs (eg: m68000 m68020 ...)
|
||||
# (only defined in each library's main Makefile).
|
||||
# MULTISUBDIR = installed subdirectory name with leading '/' (eg: /m68000)
|
||||
# (only defined in each multilib subdir).
|
||||
|
||||
# FIXME: Multilib is currently disabled by default for everything other than
|
||||
# newlib. It is up to each target to turn on multilib support for the other
|
||||
# libraries as desired.
|
||||
|
||||
# We have to handle being invoked by both Cygnus configure and Autoconf.
|
||||
#
|
||||
# Cygnus configure incoming variables:
|
||||
# srcdir, subdir, target, arguments
|
||||
#
|
||||
# Autoconf incoming variables:
|
||||
# srcdir, target, ac_configure_args
|
||||
#
|
||||
# We *could* figure srcdir and target out, but we'd have to do work that
|
||||
# our caller has already done to figure them out and requiring these two
|
||||
# seems reasonable.
|
||||
|
||||
if [ -n "${ac_configure_args}" ]; then
|
||||
Makefile=${ac_file-Makefile}
|
||||
ml_config_shell=${CONFIG_SHELL-/bin/sh}
|
||||
ml_arguments="${ac_configure_args}"
|
||||
ml_realsrcdir=${srcdir}
|
||||
else
|
||||
Makefile=${Makefile-Makefile}
|
||||
ml_config_shell=${config_shell-/bin/sh}
|
||||
ml_arguments="${arguments}"
|
||||
if [ -n "${subdir}" -a "${subdir}" != "." ] ; then
|
||||
ml_realsrcdir=${srcdir}/${subdir}
|
||||
else
|
||||
ml_realsrcdir=${srcdir}
|
||||
fi
|
||||
fi
|
||||
|
||||
# Scan all the arguments and set all the ones we need.
|
||||
|
||||
ml_verbose=--verbose
|
||||
for option in ${ml_arguments}
|
||||
do
|
||||
case $option in
|
||||
--*) ;;
|
||||
-*) option=-$option ;;
|
||||
esac
|
||||
|
||||
case $option in
|
||||
--*=*)
|
||||
optarg=`echo $option | sed -e 's/^[^=]*=//'`
|
||||
;;
|
||||
esac
|
||||
|
||||
case $option in
|
||||
--disable-*)
|
||||
enableopt=`echo ${option} | sed 's:^--disable-:enable_:;s:-:_:g'`
|
||||
eval $enableopt=no
|
||||
;;
|
||||
--enable-*)
|
||||
case "$option" in
|
||||
*=*) ;;
|
||||
*) optarg=yes ;;
|
||||
esac
|
||||
enableopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
|
||||
eval $enableopt="$optarg"
|
||||
;;
|
||||
--norecursion | --no*)
|
||||
ml_norecursion=yes
|
||||
;;
|
||||
--silent | --sil* | --quiet | --q*)
|
||||
ml_verbose=--silent
|
||||
;;
|
||||
--verbose | --v | --verb*)
|
||||
ml_verbose=--verbose
|
||||
;;
|
||||
--with-*)
|
||||
case "$option" in
|
||||
*=*) ;;
|
||||
*) optarg=yes ;;
|
||||
esac
|
||||
withopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
|
||||
eval $withopt="$optarg"
|
||||
;;
|
||||
--without-*)
|
||||
withopt=`echo ${option} | sed 's:^--::;s:out::;s:-:_:g'`
|
||||
eval $withopt=no
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Only do this if --enable-multilib.
|
||||
if [ "${enable_multilib}" = yes ]; then
|
||||
|
||||
# Compute whether this is the library's top level directory
|
||||
# (ie: not a multilib subdirectory, and not a subdirectory like libg++/src).
|
||||
# ${with_multisubdir} tells us we're in the right branch, but we could be
|
||||
# in a subdir of that.
|
||||
# ??? The previous version could void this test by separating the process into
|
||||
# two files: one that only the library's toplevel configure.in ran (to
|
||||
# configure the multilib subdirs), and another that all configure.in's ran to
|
||||
# update the Makefile. It seemed reasonable to collapse all multilib support
|
||||
# into one file, but it does leave us with having to perform this test.
|
||||
ml_toplevel_p=no
|
||||
if [ -z "${with_multisubdir}" ]; then
|
||||
if [ "${srcdir}" = "." ]; then
|
||||
# Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}.
|
||||
# ${with_target_subdir} = "." for native, otherwise target alias.
|
||||
if [ "${with_target_subdir}" = "." ]; then
|
||||
if [ -f ${ml_realsrcdir}/../config-ml.in ]; then
|
||||
ml_toplevel_p=yes
|
||||
fi
|
||||
else
|
||||
if [ -f ${ml_realsrcdir}/../../config-ml.in ]; then
|
||||
ml_toplevel_p=yes
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}.
|
||||
if [ -f ${ml_realsrcdir}/../config-ml.in ]; then
|
||||
ml_toplevel_p=yes
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# If this is the library's top level directory, set multidirs to the
|
||||
# multilib subdirs to support. This lives at the top because we need
|
||||
# `multidirs' set right away.
|
||||
|
||||
if [ "${ml_toplevel_p}" = yes ]; then
|
||||
|
||||
multidirs=
|
||||
for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do
|
||||
dir=`echo $i | sed -e 's/;.*$//'`
|
||||
if [ "${dir}" = "." ]; then
|
||||
true
|
||||
else
|
||||
if [ -z "${multidirs}" ]; then
|
||||
multidirs="${dir}"
|
||||
else
|
||||
multidirs="${multidirs} ${dir}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
case "${target}" in
|
||||
arc-*-elf*)
|
||||
if [ x$enable_biendian != xyes ]
|
||||
then
|
||||
old_multidirs=${multidirs}
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "${x}" in
|
||||
*be*) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
;;
|
||||
m68*-*-*)
|
||||
if [ x$enable_softfloat = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*soft-float* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x$enable_m68881 = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*m68881* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x$enable_m68000 = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*m68000* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x$enable_m68020 = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*m68020* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
;;
|
||||
mips*-*-*)
|
||||
if [ x$enable_single_float = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*single* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x$enable_biendian = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*el* ) : ;;
|
||||
*eb* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x$enable_softfloat = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*soft-float* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
case " $multidirs " in
|
||||
*" mabi=64 "*)
|
||||
# We will not be able to create libraries with -mabi=64 if
|
||||
# we cannot even link a trivial program. It usually
|
||||
# indicates the 64bit libraries are missing.
|
||||
if echo 'main() {}' > conftest.c &&
|
||||
${CC-gcc} -mabi=64 conftest.c -o conftest; then
|
||||
:
|
||||
else
|
||||
echo Could not link program with -mabi=64, disabling it.
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*mabi=64* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
rm -f conftest.c conftest
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
powerpc*-*-* | rs6000*-*-*)
|
||||
if [ x$enable_softfloat = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*soft-float* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x$enable_powercpu = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
power | */power | */power/* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x$enable_powerpccpu = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*powerpc* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x$enable_powerpcos = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*mcall-linux* | *mcall-solaris* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x$enable_biendian = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*mlittle* | *mbig* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x$enable_sysv = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*mcall-sysv* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x$enable_aix = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*mcall-aix* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# Remove extraneous blanks from multidirs.
|
||||
# Tests like `if [ -n "$multidirs" ]' require it.
|
||||
multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'`
|
||||
|
||||
# Add code to library's top level makefile to handle building the multilib
|
||||
# subdirs.
|
||||
|
||||
cat > Multi.tem <<\EOF
|
||||
|
||||
# FIXME: There should be an @-sign in front of the `if'.
|
||||
# Leave out until this is tested a bit more.
|
||||
multi-do:
|
||||
if [ -z "$(MULTIDIRS)" ]; then \
|
||||
true; \
|
||||
else \
|
||||
rootpre=`pwd`/; export rootpre; \
|
||||
srcrootpre=`cd $(srcdir); pwd`/; export srcrootpre; \
|
||||
lib=`echo $${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$$,\1,'`; \
|
||||
compiler="$(CC)"; \
|
||||
for i in `$${compiler} --print-multi-lib 2>/dev/null`; do \
|
||||
dir=`echo $$i | sed -e 's/;.*$$//'`; \
|
||||
if [ "$${dir}" = "." ]; then \
|
||||
true; \
|
||||
else \
|
||||
if [ -d ../$${dir}/$${lib} ]; then \
|
||||
flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
|
||||
if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \
|
||||
CFLAGS="$(CFLAGS) $${flags}" \
|
||||
CXXFLAGS="$(CXXFLAGS) $${flags}" \
|
||||
LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
|
||||
LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
|
||||
LDFLAGS="$(LDFLAGS) $${flags}" \
|
||||
$(DO)); then \
|
||||
true; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi; \
|
||||
else true; \
|
||||
fi; \
|
||||
fi; \
|
||||
done; \
|
||||
fi
|
||||
|
||||
# FIXME: There should be an @-sign in front of the `if'.
|
||||
# Leave out until this is tested a bit more.
|
||||
multi-clean:
|
||||
if [ -z "$(MULTIDIRS)" ]; then \
|
||||
true; \
|
||||
else \
|
||||
lib=`pwd | sed -e 's,^.*/\([^/][^/]*\)$$,\1,'`; \
|
||||
for dir in Makefile $(MULTIDIRS); do \
|
||||
if [ -f ../$${dir}/$${lib}/Makefile ]; then \
|
||||
if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) $(DO)); \
|
||||
then true; \
|
||||
else exit 1; \
|
||||
fi; \
|
||||
else true; \
|
||||
fi; \
|
||||
done; \
|
||||
fi
|
||||
EOF
|
||||
|
||||
cat ${Makefile} Multi.tem > Makefile.tem
|
||||
rm -f ${Makefile} Multi.tem
|
||||
mv Makefile.tem ${Makefile}
|
||||
|
||||
fi # ${ml_toplevel_p} = yes
|
||||
|
||||
if [ "${ml_verbose}" = --verbose ]; then
|
||||
echo "Adding multilib support to Makefile in ${ml_realsrcdir}"
|
||||
if [ "${ml_toplevel_p}" = yes ]; then
|
||||
echo "multidirs=${multidirs}"
|
||||
fi
|
||||
echo "with_multisubdir=${with_multisubdir}"
|
||||
fi
|
||||
|
||||
if [ "${srcdir}" = "." ]; then
|
||||
if [ "${with_target_subdir}" != "." ]; then
|
||||
ml_srcdotdot="../"
|
||||
else
|
||||
ml_srcdotdot=""
|
||||
fi
|
||||
else
|
||||
ml_srcdotdot=""
|
||||
fi
|
||||
|
||||
if [ -z "${with_multisubdir}" ]; then
|
||||
ml_subdir=
|
||||
ml_builddotdot=
|
||||
: # ml_srcdotdot= # already set
|
||||
else
|
||||
ml_subdir="/${with_multisubdir}"
|
||||
# The '[^/][^/]*' appears that way to work around a SunOS sed bug.
|
||||
ml_builddotdot=`echo ${with_multisubdir} | sed -e 's:[^/][^/]*:..:g'`/
|
||||
if [ "$srcdir" = "." ]; then
|
||||
ml_srcdotdot=${ml_srcdotdot}${ml_builddotdot}
|
||||
else
|
||||
: # ml_srcdotdot= # already set
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${ml_toplevel_p}" = yes ]; then
|
||||
ml_do='$(MAKE)'
|
||||
ml_clean='$(MAKE)'
|
||||
else
|
||||
ml_do=true
|
||||
ml_clean=true
|
||||
fi
|
||||
|
||||
# TOP is used by newlib and should not be used elsewhere for this purpose.
|
||||
# MULTI{SRC,BUILD}TOP are the proper ones to use. MULTISRCTOP is empty
|
||||
# when srcdir != builddir. MULTIBUILDTOP is always some number of ../'s.
|
||||
# FIXME: newlib needs to be updated to use MULTI{SRC,BUILD}TOP so we can
|
||||
# delete TOP. Newlib may wish to continue to use TOP for its own purposes
|
||||
# of course.
|
||||
# MULTIDIRS is non-empty for the cpu top level Makefile (eg: newlib/Makefile)
|
||||
# and lists the subdirectories to recurse into.
|
||||
# MULTISUBDIR is non-empty in each cpu subdirectory's Makefile
|
||||
# (eg: newlib/h8300h/Makefile) and is the installed subdirectory name with
|
||||
# a leading '/'.
|
||||
# MULTIDO is used for targets like all, install, and check where
|
||||
# $(FLAGS_TO_PASS) augmented with the subdir's compiler option is needed.
|
||||
# MULTICLEAN is used for the *clean targets.
|
||||
#
|
||||
# ??? It is possible to merge MULTIDO and MULTICLEAN into one. They are
|
||||
# currently kept separate because we don't want the *clean targets to require
|
||||
# the existence of the compiler (which MULTIDO currently requires) and
|
||||
# therefore we'd have to record the directory options as well as names
|
||||
# (currently we just record the names and use --print-multi-lib to get the
|
||||
# options).
|
||||
|
||||
sed -e "s:^TOP[ ]*=[ ]*\([./]*\)[ ]*$:TOP = ${ml_builddotdot}\1:" \
|
||||
-e "s:^MULTISRCTOP[ ]*=.*$:MULTISRCTOP = ${ml_srcdotdot}:" \
|
||||
-e "s:^MULTIBUILDTOP[ ]*=.*$:MULTIBUILDTOP = ${ml_builddotdot}:" \
|
||||
-e "s:^MULTIDIRS[ ]*=.*$:MULTIDIRS = ${multidirs}:" \
|
||||
-e "s:^MULTISUBDIR[ ]*=.*$:MULTISUBDIR = ${ml_subdir}:" \
|
||||
-e "s:^MULTIDO[ ]*=.*$:MULTIDO = $ml_do:" \
|
||||
-e "s:^MULTICLEAN[ ]*=.*$:MULTICLEAN = $ml_clean:" \
|
||||
${Makefile} > Makefile.tem
|
||||
rm -f ${Makefile}
|
||||
mv Makefile.tem ${Makefile}
|
||||
|
||||
# If this is the library's top level, configure each multilib subdir.
|
||||
# This is done at the end because this is the loop that runs configure
|
||||
# in each multilib subdir and it seemed reasonable to finish updating the
|
||||
# Makefile before going on to configure the subdirs.
|
||||
|
||||
if [ "${ml_toplevel_p}" = yes ]; then
|
||||
|
||||
# We must freshly configure each subdirectory. This bit of code is
|
||||
# actually partially stolen from the main configure script. FIXME.
|
||||
|
||||
if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
|
||||
|
||||
if [ "${ml_verbose}" = --verbose ]; then
|
||||
echo "Running configure in multilib subdirs ${multidirs}"
|
||||
echo "pwd: `pwd`"
|
||||
fi
|
||||
|
||||
ml_origdir=`pwd`
|
||||
ml_libdir=`echo $ml_origdir | sed -e 's,^.*/,,'`
|
||||
# cd to top-level-build-dir/${with_target_subdir}
|
||||
cd ..
|
||||
|
||||
for ml_dir in ${multidirs}; do
|
||||
|
||||
if [ "${ml_verbose}" = --verbose ]; then
|
||||
echo "Running configure in multilib subdir ${ml_dir}"
|
||||
echo "pwd: `pwd`"
|
||||
fi
|
||||
|
||||
if [ -d ${ml_dir} ]; then true; else mkdir ${ml_dir}; fi
|
||||
if [ -d ${ml_dir}/${ml_libdir} ]; then true; else mkdir ${ml_dir}/${ml_libdir}; fi
|
||||
|
||||
# Eg: if ${ml_dir} = m68000/m68881, dotdot = ../../
|
||||
dotdot=../`echo ${ml_dir} | sed -e 's|[^/]||g' -e 's|/|../|g'`
|
||||
|
||||
case ${srcdir} in
|
||||
".")
|
||||
echo Building symlink tree in `pwd`/${ml_dir}/${ml_libdir}
|
||||
if [ "${with_target_subdir}" != "." ]; then
|
||||
ml_unsubdir="../"
|
||||
else
|
||||
ml_unsubdir=""
|
||||
fi
|
||||
(cd ${ml_dir}/${ml_libdir};
|
||||
../${dotdot}${ml_unsubdir}symlink-tree ../${dotdot}${ml_unsubdir}${ml_libdir} "")
|
||||
if [ -f ${ml_dir}/${ml_libdir}/Makefile ]; then
|
||||
if [ x"${MAKE}" = x ]; then
|
||||
(cd ${ml_dir}/${ml_libdir}; make distclean)
|
||||
else
|
||||
(cd ${ml_dir}/${ml_libdir}; ${MAKE} distclean)
|
||||
fi
|
||||
fi
|
||||
ml_newsrcdir="."
|
||||
ml_srcdiroption=
|
||||
multisrctop=${dotdot}
|
||||
;;
|
||||
*)
|
||||
case "${srcdir}" in
|
||||
/*) # absolute path
|
||||
ml_newsrcdir=${srcdir}
|
||||
;;
|
||||
*) # otherwise relative
|
||||
ml_newsrcdir=${dotdot}${srcdir}
|
||||
;;
|
||||
esac
|
||||
ml_srcdiroption="-srcdir=${ml_newsrcdir}"
|
||||
multisrctop=
|
||||
;;
|
||||
esac
|
||||
|
||||
case "${progname}" in
|
||||
/*) ml_recprog=${progname} ;;
|
||||
*) ml_recprog=${dotdot}${progname} ;;
|
||||
esac
|
||||
|
||||
# FIXME: POPDIR=${PWD=`pwd`} doesn't work here.
|
||||
ML_POPDIR=`pwd`
|
||||
cd ${ml_dir}/${ml_libdir}
|
||||
|
||||
if [ -f ${ml_newsrcdir}/configure ]; then
|
||||
ml_recprog=${ml_newsrcdir}/configure
|
||||
fi
|
||||
if eval ${ml_config_shell} ${ml_recprog} \
|
||||
--with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \
|
||||
${ml_arguments} ${ml_srcdiroption} ; then
|
||||
true
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd ${ML_POPDIR}
|
||||
|
||||
done
|
||||
|
||||
cd ${ml_origdir}
|
||||
fi
|
||||
|
||||
fi # ${ml_toplevel_p} = yes
|
||||
fi # ${enable_multilib} = yes
|
||||
1015
gcc/config.guess
vendored
Executable file
1015
gcc/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
87
gcc/config.if
Normal file
87
gcc/config.if
Normal file
@@ -0,0 +1,87 @@
|
||||
#! /dev/null
|
||||
# Don't call it directly. This shell script fragment is called to
|
||||
# determine:
|
||||
#
|
||||
# 1. libstcxx_interface: the interface name for libstdc++.
|
||||
# 2. cxx_interface: the interface name for c++.
|
||||
# 3. libc_interface: the interface name for libc.
|
||||
#
|
||||
|
||||
# Get the top level src dir.
|
||||
if [ -z "${topsrcdir}" -a -z "${top_srcdir}" ]
|
||||
then
|
||||
echo "Undefined top level src dir: topsrcdir and top_srcdir are empty" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -n "${topsrcdir}" ]
|
||||
then
|
||||
if_topsrcdir=${topsrcdir}
|
||||
else
|
||||
if_topsrcdir=${top_srcdir}
|
||||
fi
|
||||
|
||||
if [ -f ${if_topsrcdir}/libstdc++/Makefile.in ]; then
|
||||
# We check libstdc++ for libstdcxx_interface.
|
||||
libstdcxx_interface=`grep "^INTERFACE" ${if_topsrcdir}/libstdc++/Makefile.in | sed 's/INTERFACE[ ]*=[ ]*\(.*\)/\1/'`
|
||||
else
|
||||
libstdcxx_interface=
|
||||
fi
|
||||
|
||||
if [ -f ${if_topsrcdir}/gcc/cp/Makefile.in ]; then
|
||||
# We check gcc/cp for cxx_interface.
|
||||
cxx_interface=`grep "^INTERFACE" ${if_topsrcdir}/gcc/cp/Makefile.in | sed 's/INTERFACE[ ]*=[ ]*\(.*\)/\1/'`
|
||||
else
|
||||
cxx_interface=
|
||||
fi
|
||||
|
||||
# The trickiest part is libc_interface.
|
||||
if [ -z "${libc_interface}" ]
|
||||
then
|
||||
case ${target_os} in
|
||||
*linux*libc1*|*linux*libc5*)
|
||||
case ${target_alias} in
|
||||
*alpha*|*powerpc*)
|
||||
libc_interface=-libc5.9-
|
||||
;;
|
||||
*)
|
||||
libc_interface=-libc5-
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*linux*gnu*)
|
||||
# We have to work harder to figure it out.
|
||||
if [ ${target_alias} = ${build_alias} ]
|
||||
then
|
||||
dummy=if$$
|
||||
cat >$dummy.c <<EOF
|
||||
#include <features.h>
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
printf("%d\n", __GLIBC_MINOR__);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
${CC-cc} $dummy.c -o $dummy 2>/dev/null
|
||||
if [ "$?" = 0 ]
|
||||
then
|
||||
libc_interface=-libc6.`./$dummy`-
|
||||
rm -f $dummy.c $dummy
|
||||
else
|
||||
# It should never happen.
|
||||
echo "Cannot find the GNU C library minor version number." >&2
|
||||
rm -f $dummy.c $dummy
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
# Cross compiling. Assume glibc 2.1.
|
||||
libc_interface=-libc6.1-
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
libc_interface=-
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
1238
gcc/config.sub
vendored
Executable file
1238
gcc/config.sub
vendored
Executable file
File diff suppressed because it is too large
Load Diff
386
gcc/config/ChangeLog
Normal file
386
gcc/config/ChangeLog
Normal file
@@ -0,0 +1,386 @@
|
||||
Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
|
||||
|
||||
* gcc-2.95.3 Released.
|
||||
|
||||
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95.2 Released.
|
||||
|
||||
Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95.1 Released.
|
||||
|
||||
Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95 Released.
|
||||
|
||||
Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95 Released.
|
||||
|
||||
Tue Feb 2 22:51:21 1999 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* mh-armpic: New file. Patch from Jim Pick <jim@jimpick.com>.
|
||||
* mt-armpic: Likewise.
|
||||
|
||||
Mon Jan 18 19:41:08 1999 Christopher Faylor <cgf@cygnus.com>
|
||||
|
||||
* cygwin.mh: Activate commented out dependencies for
|
||||
gdb: libtermcap.
|
||||
|
||||
Wed Nov 18 20:29:46 1998 Christopher Faylor <cgf@cygnus.com>
|
||||
|
||||
* cygwin.mh: Add extra libtermcap target information.
|
||||
Add commented out dependency for gdb to libtermcap for
|
||||
future readline requirement.
|
||||
|
||||
Mon Nov 2 15:15:33 1998 Geoffrey Noer <noer@cygnus.com>
|
||||
|
||||
* mh-cygwin32: delete
|
||||
* mh-cygwin: was mh-cygwin32
|
||||
|
||||
Mon Aug 31 17:50:53 1998 David Edelsohn <edelsohn@mhpcc.edu>
|
||||
|
||||
* mh-aix43 (NM_FOR_TARGET): Add -X32_64 as well.
|
||||
|
||||
Sat Aug 29 14:32:55 1998 David Edelsohn <edelsohn@mhpcc.edu>
|
||||
|
||||
* mh-aix43: New file.
|
||||
|
||||
Mon Aug 10 00:15:47 1998 HJ Lu (hjl@gnu.org)
|
||||
|
||||
* mt-linux (CXXFLAGS_FOR_TARGET): Add -D_GNU_SOURCE.
|
||||
|
||||
Wed Apr 22 12:24:28 1998 Michael Meissner <meissner@cygnus.com>
|
||||
|
||||
* mt-ospace: New file, support using -Os instead of -O2 to compile
|
||||
the libraries.
|
||||
|
||||
Wed Apr 22 10:53:14 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* mt-linux (CXXFLAGS_FOR_TARGET): Set this instead of CXXFLAGS.
|
||||
|
||||
Sat Apr 11 22:43:17 1998 J. Kean Johnston <jkj@sco.com>
|
||||
|
||||
* mh-svsv5: New file - support for SCO UnixWare 7 / SVR5.
|
||||
|
||||
Thu Mar 26 01:54:25 1998 Geoffrey Noer <noer@cygnus.com>
|
||||
|
||||
* mh-cygwin32: stop configuring and building dosrel.
|
||||
|
||||
Thu Sep 11 16:43:27 1997 Jim Wilson <wilson@cygnus.com>
|
||||
|
||||
* mh-elfalphapic, mt-elfalphapic: New files.
|
||||
|
||||
Wed Jul 23 12:32:18 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
|
||||
|
||||
* mh-go32 (CFLAGS): Don't set -fno-omit-frame-pointer.
|
||||
|
||||
Mon Jun 16 19:06:41 1997 Geoff Keating <geoffk@ozemail.com.au>
|
||||
|
||||
* mh-ppcpic: New file.
|
||||
* mt-ppcpic: New file.
|
||||
|
||||
Thu Mar 27 15:52:40 1997 Geoffrey Noer <noer@cygnus.com>
|
||||
|
||||
* mh-cygwin32: override CXXFLAGS, setting to -O2 only
|
||||
(no debug)
|
||||
|
||||
Tue Mar 25 18:16:43 1997 Geoffrey Noer <noer@cygnus.com>
|
||||
|
||||
* mh-cygwin32: override LIBGCC2_DEBUG_CFLAGS so debug info
|
||||
isn't included in cygwin32-hosted libgcc2.a by default
|
||||
|
||||
Wed Jan 8 19:56:43 1997 Geoffrey Noer <noer@cygnus.com>
|
||||
|
||||
* mh-cygwin32: override CFLAGS so debug info isn't included
|
||||
in cygwin32-hosted tools by default
|
||||
|
||||
Tue Dec 31 16:04:26 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* mh-linux: Remove.
|
||||
|
||||
Mon Nov 11 10:29:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||||
|
||||
* mt-ppc: Delete file, options moved to newlib configure.
|
||||
|
||||
Fri Oct 4 12:21:03 1996 Angela Marie Thomas (angela@cygnus.com)
|
||||
|
||||
* mh-dgux386: New file. x86 dgux specific flags
|
||||
|
||||
Mon Sep 30 15:10:07 1996 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* mpw-mh-mpw (EXTRALIBS_PPC_XCOFF): New, was EXTRALIBS_PPC.
|
||||
(EXTRALIBS_PPC): Use shared libraries instead of xcoff.
|
||||
|
||||
Sat Aug 17 04:56:25 1996 Geoffrey Noer <noer@skaro.cygnus.com>
|
||||
|
||||
* mh-cygwin32: don't -D_WIN32 here anymore
|
||||
|
||||
Thu Aug 15 19:46:44 1996 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* mpw-mh-mpw (SEGFLAG_68K, SEGFLAG_PPC): Remove.
|
||||
(EXTRALIBS_PPC): Add libgcc.xcoff.
|
||||
|
||||
Thu Aug 8 14:51:47 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||||
|
||||
* mt-ppc: New file, add -mrelocatable-lib and -mno-eabi to all
|
||||
target builds for PowerPC eabi targets.
|
||||
|
||||
Fri Jul 12 12:06:01 1996 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* mpw: New subdir, Mac MPW configuration support bits.
|
||||
|
||||
Mon Jul 8 17:30:52 1996 Jim Wilson <wilson@cygnus.com>
|
||||
|
||||
* mh-irix6: New file.
|
||||
|
||||
Mon Jul 8 15:15:37 1996 Jason Merrill <jason@yorick.cygnus.com>
|
||||
|
||||
* mt-sparcpic (PICFLAG_FOR_TARGET): Use -fPIC.
|
||||
|
||||
Fri Jul 5 11:49:02 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* mh-irix4 (RANLIB): Don't define; Irix 4 does have ranlib.
|
||||
|
||||
Sun Jun 23 22:59:25 1996 Geoffrey Noer <noer@cygnus.com>
|
||||
|
||||
* mh-cygwin32: new file. Like mh-go32 without the CFLAGS entry.
|
||||
|
||||
Tue Mar 26 14:10:41 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* mh-go32 (CFLAGS): Define.
|
||||
|
||||
Thu Mar 14 19:20:54 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* mh-necv4: New file.
|
||||
|
||||
Thu Feb 15 13:07:43 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* mh-cxux (CC): New variable.
|
||||
(CFLAGS, LDFLAGS): Remove.
|
||||
* mh-ncrsvr43 (CC): New variable.
|
||||
(CFLAGS): Remove.
|
||||
* mh-solaris (CFLAGS): Remove.
|
||||
|
||||
* mh-go32: Remove most variable settings, since they presumed a
|
||||
Canadian Cross, which is now handled correctly by the configure
|
||||
script.
|
||||
|
||||
* mh-sparcpic (PICFLAG): Set to -fPIC, not -fpic.
|
||||
|
||||
Mon Feb 12 14:53:39 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* mh-m68kpic, mt-m68kpic: New files.
|
||||
|
||||
Thu Feb 1 14:15:42 1996 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* mpw-mh-mpw (CC_MWC68K): Add options similar to those used
|
||||
in CC_MWCPPC, and -mc68020 -model far.
|
||||
(AR_MWLINK68K): Add -xm library.
|
||||
(AR_AR): Define.
|
||||
(CC_LD_MWLINK68K): Remove -d.
|
||||
(EXTRALIBS_MWC68K): Define.
|
||||
|
||||
Thu Jan 25 16:05:33 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* mh-ncrsvr43 (CFLAGS): Remove -Hnocopyr.
|
||||
|
||||
Tue Nov 7 15:41:30 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* mpw-mh-mpw (CC_MWC68K, CC_MWCPPC): Remove unused include path.
|
||||
(CC_MWCPPC): Add -mpw_chars, disable warnings, add comments
|
||||
explaining reasons for various flags.
|
||||
(EXTRALIBS_PPC, EXTRALIBS_MWCPPC ): Put runtime library first.
|
||||
|
||||
Fri Oct 13 14:44:25 1995 Jason Molenda (crash@phydeaux.cygnus.com)
|
||||
|
||||
* mh-aix, mh-sun: Removed.
|
||||
|
||||
* mh-decstation (X11_EXTRA_CFLAGS): Define.
|
||||
|
||||
* mh-sco, mh-solaris, mh-sysv4 (X11_EXTRA_LIBS): Define.
|
||||
|
||||
* mh-hp300, mh-hpux, mh-hpux8, mh-solaris, mh-sun3, mh-sysv4: Don't
|
||||
hardcode location of X stuff here.
|
||||
|
||||
Thu Sep 28 13:14:56 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* mpw-mh-mpw: Add definitions for various 68K and PowerMac
|
||||
compilers, add definitions for library and link steps for
|
||||
PowerMacs.
|
||||
|
||||
Thu Sep 14 08:20:04 1995 Fred Fish <fnf@cygnus.com>
|
||||
|
||||
* mh-hp300 (CC): Add "CC = cc -Wp,-H256000" to avoid
|
||||
"too much defining" errors from the HPUX compiler.
|
||||
|
||||
Thu Aug 17 17:28:56 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
|
||||
|
||||
* mh-hp300 (RANLIB): Use "ar ts", in case GNU ar was used and
|
||||
didn't build a symbol table.
|
||||
|
||||
Thu Jun 22 17:47:24 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* mpw-mh-mpw (CC): Define ANSI_PROTOTYPES.
|
||||
|
||||
Mon Apr 10 12:29:48 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* mpw-mh-mpw (EXTRALIBS): Always link in Math.o, CSANELIB.o,
|
||||
and ToolLibs.o.
|
||||
|
||||
* mpw-mh-mpw (CC): Define ALMOST_STDC.
|
||||
(CFLAGS): Remove ALMOST_STDC, -mc68881.
|
||||
(LDFLAGS): add -w.
|
||||
|
||||
* mpw-mh-mpw (CFLAGS): Add -b option to put strings at the ends of
|
||||
functions.
|
||||
|
||||
* mpw-mh-mpw: New file, host makefile definitions for MPW.
|
||||
|
||||
Fri Mar 31 11:35:17 1995 Jason Molenda (crash@phydeaux.cygnus.com)
|
||||
|
||||
* mt-netware: New file.
|
||||
|
||||
Mon Mar 13 12:31:29 1995 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* mh-hpux8: New file.
|
||||
* mh-hpux: Use X11R5 rather than X11R4.
|
||||
|
||||
Thu Feb 9 11:04:13 1995 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* mh-linux (SYSV): Don't define.
|
||||
(RANLIB): Don't define.
|
||||
|
||||
Wed Jan 11 16:29:34 1995 Jason Merrill <jason@phydeaux.cygnus.com>
|
||||
|
||||
* m?-*pic (LIBCXXFLAGS): Add -fno-implicit-templates.
|
||||
|
||||
Thu Nov 3 17:27:19 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||||
|
||||
* mh-irix4 (CC): Increase maximum string length.
|
||||
|
||||
* mh-sco (CC): Define away const, it doesn't work right; elements
|
||||
of arrays of ptr-to-const are considered const themselves.
|
||||
|
||||
Sat Jul 16 12:17:49 1994 Stan Shebs (shebs@andros.cygnus.com)
|
||||
|
||||
* mh-cxux: New file, from Bob Rusk (rrusk@mail.csd.harris.com).
|
||||
|
||||
Sat Jun 4 17:22:12 1994 Per Bothner (bothner@kalessin.cygnus.com)
|
||||
|
||||
* mh-ncrsvr43: New file from Tom McConnell
|
||||
<tmcconne@sedona.intel.com>.
|
||||
|
||||
Thu May 19 00:32:11 1994 Jeff Law (law@snake.cs.utah.edu)
|
||||
|
||||
* mh-hpux (CC): Add -Wp,-H256000 to avoid "too much defining"
|
||||
errors from the HPUX 8 compilers.
|
||||
|
||||
Wed May 4 20:14:47 1994 D. V. Henkel-Wallace (gumby@cygnus.com)
|
||||
|
||||
* mh-lynxrs6k: set SHELL to /bin/bash
|
||||
|
||||
Tue Apr 12 12:38:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||||
|
||||
* mh-irix4 (CC): Change -XNh1500 to -XNh2000.
|
||||
|
||||
Sat Dec 25 20:03:45 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||||
|
||||
* mt-hppa: Delete.
|
||||
|
||||
Tue Nov 16 22:54:39 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||||
|
||||
* mh-a68bsd: Define CC to gcc.
|
||||
|
||||
Mon Nov 15 16:56:51 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||||
|
||||
* mh-linux: Don't put -static in LDFLAGS. Add comments.
|
||||
|
||||
Mon Nov 15 13:37:58 1993 david d `zoo' zuhn (zoo@cirdan.cygnus.com)
|
||||
|
||||
* mh-sysv4 (AR_FLAGS): change from cq to cr
|
||||
|
||||
Fri Nov 5 08:12:32 1993 D. V. Henkel-Wallace (gumby@blues.cygnus.com)
|
||||
|
||||
* mh-unixware: remove. It's the same as sysv4, and config.guess
|
||||
can't tell the difference. So don't allow skew.
|
||||
|
||||
Wed Oct 20 20:35:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||||
|
||||
* mh-hp300: Revert yesterday's change, but add comment explaining.
|
||||
|
||||
Tue Oct 19 18:58:21 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||||
|
||||
* mh-hp300: Don't define CFLAGS to empty. Why should hp300 be
|
||||
different from anything else? ("gdb doesn't understand the native
|
||||
debug format" isn't a good enough answer because we might be using
|
||||
gcc).
|
||||
|
||||
Tue Oct 5 12:17:40 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
||||
|
||||
* mh-alphaosf: Remove, no longer necessary now that gdb knows
|
||||
how to handle OSF/1 shared libraries.
|
||||
|
||||
Tue Jul 6 11:27:33 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
|
||||
|
||||
* mh-alphaosf: New file.
|
||||
|
||||
Thu Jul 1 15:49:33 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||||
|
||||
* mh-riscos: New file.
|
||||
|
||||
Mon Jun 14 12:03:18 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
|
||||
|
||||
* mh-aix, mh-aix386, mh-decstation, mh-delta88, mh-hpux, mh-irix4,
|
||||
mh-ncr3000, mh-solaris, mh-sysv, mh-sysv4: remove INSTALL=cp line,
|
||||
now that we're using install.sh globally
|
||||
|
||||
Fri Jun 4 16:09:34 1993 Ian Lance Taylor (ian@cygnus.com)
|
||||
|
||||
* mh-sysv4 (INSTALL): Use cp, not /usr/ucb/install.
|
||||
|
||||
Thu Apr 8 11:21:52 1993 Ian Lance Taylor (ian@cygnus.com)
|
||||
|
||||
* mt-a29k, mt-ebmon29k, mt-os68k, mt-ose68000, mt-ose68k,
|
||||
mt-vxworks68, mt-vxworks960: Removed obsolete, unused target
|
||||
Makefile fragment files.
|
||||
|
||||
Mon Mar 8 15:05:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
|
||||
|
||||
* mh-aix386: New file; old mh-aix, plus no-op RANLIB.
|
||||
|
||||
Thu Oct 1 13:50:48 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||||
|
||||
* mh-solaris: INSTALL is NOT /usr/ucb/install
|
||||
|
||||
Mon Aug 24 14:25:35 1992 Ian Lance Taylor (ian@cygnus.com)
|
||||
|
||||
* mt-ose68000, mt-ose68k: renamed from mt-OSE*.
|
||||
|
||||
Tue Jul 21 02:11:01 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
|
||||
|
||||
* mt-OSE68k, mt-680000: new configs.
|
||||
|
||||
Thu Jul 16 17:12:09 1992 K. Richard Pixley (rich@rtl.cygnus.com)
|
||||
|
||||
* mh-irix4: merged changes from progressive.
|
||||
|
||||
Tue Jun 9 23:29:38 1992 Per Bothner (bothner@rtl.cygnus.com)
|
||||
|
||||
* Everywhere: Change RANLIB=echo>/dev/null (which confuses
|
||||
some shells - and I don't blame them) to RANLIB=true.
|
||||
* mh-solaris: Use /usr/ucb/install for INSTALL.
|
||||
|
||||
Sun May 31 14:45:23 1992 Mark Eichin (eichin at cygnus.com)
|
||||
|
||||
* mh-solaris2: Add new configuration for Solaris 2 (sysv, no ranlib)
|
||||
|
||||
Fri Apr 10 23:10:08 1992 Fred Fish (fnf@cygnus.com)
|
||||
|
||||
* mh-ncr3000: Add new configuration for NCR 3000.
|
||||
|
||||
Tue Dec 10 00:10:55 1991 K. Richard Pixley (rich at rtl.cygnus.com)
|
||||
|
||||
* ChangeLog: fresh changelog.
|
||||
|
||||
12
gcc/config/mh-a68bsd
Normal file
12
gcc/config/mh-a68bsd
Normal file
@@ -0,0 +1,12 @@
|
||||
RANLIB=true
|
||||
|
||||
#None of the Apollo compilers can compile gas or binutils. The preprocessor
|
||||
# chokes on bfd, the compiler won't let you assign integers to enums, and
|
||||
# other problems. Defining CC to gcc is a questionable way to say "don't use
|
||||
# the apollo compiler" (the preferred version of GCC could be called cc,
|
||||
# or whatever), but I'm not sure leaving CC as cc is any better...
|
||||
|
||||
#CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
|
||||
CC=gcc
|
||||
|
||||
BISON=yacc
|
||||
1
gcc/config/mh-aix386
Normal file
1
gcc/config/mh-aix386
Normal file
@@ -0,0 +1 @@
|
||||
RANLIB = @:
|
||||
4
gcc/config/mh-aix43
Normal file
4
gcc/config/mh-aix43
Normal file
@@ -0,0 +1,4 @@
|
||||
# AIX 4.3 and above requires -X32_64 flag to all ar and nm commands
|
||||
# to handle both 32-bit and 64-bit objects.
|
||||
AR_FOR_TARGET=ar -X32_64
|
||||
NM_FOR_TARGET=nm -X32_64
|
||||
3
gcc/config/mh-apollo68
Normal file
3
gcc/config/mh-apollo68
Normal file
@@ -0,0 +1,3 @@
|
||||
HDEFINES = -DUSG
|
||||
RANLIB=true
|
||||
CC= cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG
|
||||
1
gcc/config/mh-armpic
Normal file
1
gcc/config/mh-armpic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG=-fPIC
|
||||
14
gcc/config/mh-cxux
Normal file
14
gcc/config/mh-cxux
Normal file
@@ -0,0 +1,14 @@
|
||||
# Configuration for Harris CX/UX 7 (and maybe 6), based on sysv4 configuration.
|
||||
|
||||
# Define SYSV as -DSYSV if you are using a System V operating system.
|
||||
SYSV = -DSYSV -DSVR4
|
||||
RANLIB = true
|
||||
|
||||
# C++ debugging is not yet supported under SVR4 (DWARF)
|
||||
CXXFLAGS=-O
|
||||
|
||||
# The l flag generates a warning from the SVR4 archiver, remove it.
|
||||
AR_FLAGS = cq
|
||||
|
||||
# Under CX/UX, we want to tell the compiler to use ANSI mode.
|
||||
CC=cc -Xa
|
||||
6
gcc/config/mh-cygwin
Normal file
6
gcc/config/mh-cygwin
Normal file
@@ -0,0 +1,6 @@
|
||||
EXTRA_TARGET_HOST_ALL_MODULES=all-libtermcap
|
||||
EXTRA_TARGET_HOST_INSTALL_MODULES=install-libtermcap
|
||||
|
||||
all-gdb: all-libtermcap
|
||||
|
||||
install-gdb: all-libtermcap
|
||||
5
gcc/config/mh-decstation
Normal file
5
gcc/config/mh-decstation
Normal file
@@ -0,0 +1,5 @@
|
||||
CC = cc -Wf,-XNg1000
|
||||
|
||||
# for X11, since the native DECwindows include files are really broken when
|
||||
# it comes to function prototypes.
|
||||
X11_EXTRA_CFLAGS = "-DNeedFunctionPrototypes=0"
|
||||
4
gcc/config/mh-delta88
Normal file
4
gcc/config/mh-delta88
Normal file
@@ -0,0 +1,4 @@
|
||||
RANLIB = true
|
||||
|
||||
|
||||
|
||||
4
gcc/config/mh-dgux
Normal file
4
gcc/config/mh-dgux
Normal file
@@ -0,0 +1,4 @@
|
||||
HDEFINES=-DHOST_SYS=DGUX_SYS
|
||||
CC=gcc -Wall -ansi -D__using_DGUX
|
||||
RANLIB=true
|
||||
|
||||
22
gcc/config/mh-dgux386
Normal file
22
gcc/config/mh-dgux386
Normal file
@@ -0,0 +1,22 @@
|
||||
# from mh-dgux
|
||||
HDEFINES=-DHOST_SYS=DGUX_SYS
|
||||
CC=gcc -Wall -ansi -D__using_DGUX
|
||||
RANLIB = true
|
||||
|
||||
# from mh-sysv4
|
||||
# Define SYSV as -DSYSV if you are using a System V operating system.
|
||||
SYSV = -DSYSV -DSVR4
|
||||
RANLIB = true
|
||||
|
||||
# C++ debugging is not yet supported under SVR4 (DWARF)
|
||||
CXXFLAGS=-O
|
||||
|
||||
# The l flag generates a warning from the SVR4 archiver, remove it.
|
||||
AR_FLAGS = cr
|
||||
|
||||
X11_EXTRA_LIBS = -lnsl
|
||||
|
||||
# from angela
|
||||
# no debugging due to broken compiler, use BSD style timeofday
|
||||
CFLAGS=-O -D_BSD_TIMEOFDAY_FLAVOR
|
||||
|
||||
4
gcc/config/mh-djgpp
Normal file
4
gcc/config/mh-djgpp
Normal file
@@ -0,0 +1,4 @@
|
||||
# We don't want to use debugging information on DOS. Unfortunately,
|
||||
# this requires that we set CFLAGS.
|
||||
# This used to set -fno-omit-frame-pointer.
|
||||
CFLAGS=-O2
|
||||
1
gcc/config/mh-elfalphapic
Normal file
1
gcc/config/mh-elfalphapic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG=-fPIC
|
||||
13
gcc/config/mh-hp300
Normal file
13
gcc/config/mh-hp300
Normal file
@@ -0,0 +1,13 @@
|
||||
# Define SYSV as -DSYSV if you are using a System V operating system.
|
||||
SYSV = -DSYSV
|
||||
# Avoid "too much defining" errors from HPUX compiler.
|
||||
CC = cc -Wp,-H256000
|
||||
# If "ar" in $PATH is GNU ar, the symbol table may need rebuilding.
|
||||
# If it's HP/UX ar, this should be harmless.
|
||||
RANLIB = ar ts
|
||||
|
||||
# Native cc can't bootstrap gcc with -g. Defining CFLAGS here loses (a)
|
||||
# for non-gcc directories, (b) if we are compiling with gcc, not
|
||||
# native cc. Neither (a) nor (b) has a trivial fix though.
|
||||
|
||||
CFLAGS =
|
||||
4
gcc/config/mh-hpux
Normal file
4
gcc/config/mh-hpux
Normal file
@@ -0,0 +1,4 @@
|
||||
# Define SYSV as -DSYSV if you are using a System V operating system.
|
||||
CC = cc -Wp,-H256000
|
||||
SYSV = -DSYSV
|
||||
RANLIB = true
|
||||
4
gcc/config/mh-hpux8
Normal file
4
gcc/config/mh-hpux8
Normal file
@@ -0,0 +1,4 @@
|
||||
# Define SYSV as -DSYSV if you are using a System V operating system.
|
||||
CC = cc -Wp,-H256000
|
||||
SYSV = -DSYSV
|
||||
RANLIB = true
|
||||
14
gcc/config/mh-interix
Normal file
14
gcc/config/mh-interix
Normal file
@@ -0,0 +1,14 @@
|
||||
# The shell may not be in /bin.
|
||||
SHELL = sh
|
||||
RANLIB = true
|
||||
|
||||
# We don't want debugging info in Interix-hosted toolchains.
|
||||
# Accomplish this by overriding CFLAGS. This is also a workaround
|
||||
# for LD crash when building shared libstdc++.
|
||||
CFLAGS=-O2
|
||||
CXXFLAGS=-O2
|
||||
|
||||
# We also need to override LIBGCC2_DEBUG_CFLAGS so libgcc2 will be
|
||||
# built without debugging information
|
||||
|
||||
LIBGCC2_DEBUG_CFLAGS=
|
||||
7
gcc/config/mh-irix4
Normal file
7
gcc/config/mh-irix4
Normal file
@@ -0,0 +1,7 @@
|
||||
# Makefile changes for SGI's running IRIX-4.x.
|
||||
# Tell compiler to use K&R C. We can't compile under the SGI Ansi
|
||||
# environment. Also bump switch table size so that cp-parse will
|
||||
# compile. Bump string length limit so linker builds.
|
||||
|
||||
CC = cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192
|
||||
SYSV = -DSYSV
|
||||
3
gcc/config/mh-irix5
Normal file
3
gcc/config/mh-irix5
Normal file
@@ -0,0 +1,3 @@
|
||||
# Makefile changes for SGI's running IRIX-5.x.
|
||||
SYSV = -DSYSV
|
||||
RANLIB = true
|
||||
7
gcc/config/mh-irix6
Normal file
7
gcc/config/mh-irix6
Normal file
@@ -0,0 +1,7 @@
|
||||
# Makefile changes for SGI's running IRIX-6.x.
|
||||
SYSV = -DSYSV
|
||||
RANLIB = true
|
||||
# Specify the ABI, to ensure that all Irix 6 systems will behave the same.
|
||||
# Also, using -32 avoids bugs that exist in the n32/n64 support in some
|
||||
# versions of the SGI compiler.
|
||||
CC = cc -32
|
||||
2
gcc/config/mh-lynxos
Normal file
2
gcc/config/mh-lynxos
Normal file
@@ -0,0 +1,2 @@
|
||||
# /bin/cc is less than useful for our purposes. Always use GCC
|
||||
CC = /bin/gcc
|
||||
8
gcc/config/mh-lynxrs6k
Normal file
8
gcc/config/mh-lynxrs6k
Normal file
@@ -0,0 +1,8 @@
|
||||
# LynxOS running on the rs6000 doesn't have ranlib
|
||||
RANLIB = true
|
||||
|
||||
# /bin/cc is less than useful for our purposes. Always use GCC
|
||||
CC = /usr/cygnus/progressive/bin/gcc
|
||||
|
||||
# /bin/sh is too buggy, so use /bin/bash instead.
|
||||
SHELL = /bin/bash
|
||||
1
gcc/config/mh-m68kpic
Normal file
1
gcc/config/mh-m68kpic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG=-fpic
|
||||
12
gcc/config/mh-mingw32
Normal file
12
gcc/config/mh-mingw32
Normal file
@@ -0,0 +1,12 @@
|
||||
# We don't want debugging info in Win32-hosted toolchains.
|
||||
# Accomplish this by overriding CFLAGS.
|
||||
CFLAGS=-O2
|
||||
CXXFLAGS=-O2
|
||||
|
||||
# We also need to override LIBGCC2_DEBUG_CFLAGS so libgcc2 will be
|
||||
# built without debugging information
|
||||
|
||||
LIBGCC2_DEBUG_CFLAGS=
|
||||
|
||||
# custom installation rules for mingw32 (append .exe to binaries, etc.)
|
||||
# INSTALL_DOSREL=install-dosrel
|
||||
17
gcc/config/mh-ncr3000
Normal file
17
gcc/config/mh-ncr3000
Normal file
@@ -0,0 +1,17 @@
|
||||
# Host configuration file for an NCR 3000 (i486/SVR4) system.
|
||||
|
||||
# The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
|
||||
# This compiler not only emits obnoxious copyright messages every time
|
||||
# you run it, but it chokes and dies on a whole bunch of GNU source
|
||||
# files. Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
|
||||
# Unfortunately though, the AT&T compiler sometimes generates code that
|
||||
# the assembler barfs on if -g is used, so disable it by default as well.
|
||||
CC = /usr/ccs/ATT/cc
|
||||
CFLAGS =
|
||||
|
||||
# Define SYSV as -DSYSV if you are using a System V operating system.
|
||||
SYSV = -DSYSV -DSVR4
|
||||
RANLIB = true
|
||||
|
||||
# The l flag generates a warning from the SVR4 archiver, remove it.
|
||||
AR_FLAGS = cq
|
||||
9
gcc/config/mh-ncrsvr43
Normal file
9
gcc/config/mh-ncrsvr43
Normal file
@@ -0,0 +1,9 @@
|
||||
# Host configuration file for an NCR 3000 (i486/SVR43) system.
|
||||
|
||||
# The MetaWare compiler will generate a copyright message unless you
|
||||
# turn it off by adding the -Hnocopyr flag.
|
||||
CC = cc -Hnocopyr
|
||||
|
||||
# Define SYSV as -DSYSV if you are using a System V operating system.
|
||||
SYSV = -DSYSV -DSVR4
|
||||
RANLIB = true
|
||||
11
gcc/config/mh-necv4
Normal file
11
gcc/config/mh-necv4
Normal file
@@ -0,0 +1,11 @@
|
||||
# Host Makefile fragment for NEC MIPS SVR4.
|
||||
|
||||
# The C compiler on NEC MIPS SVR4 needs bigger tables.
|
||||
CC = cc -ZXNd=5000 -ZXNg=1000
|
||||
|
||||
# Define SYSV as -DSYSV if you are using a System V operating system.
|
||||
SYSV = -DSYSV -DSVR4
|
||||
RANLIB = true
|
||||
|
||||
# NEC -lX11 needs some other libraries.
|
||||
X11_EXTRA_LIBS = -lsocket -lnsl
|
||||
1
gcc/config/mh-papic
Normal file
1
gcc/config/mh-papic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG=-fPIC
|
||||
1
gcc/config/mh-ppcpic
Normal file
1
gcc/config/mh-ppcpic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG=-fPIC
|
||||
15
gcc/config/mh-riscos
Normal file
15
gcc/config/mh-riscos
Normal file
@@ -0,0 +1,15 @@
|
||||
# This is for a MIPS running RISC/os 4.52C.
|
||||
|
||||
# This is needed for GDB, but needs to be in the top-level make because
|
||||
# if a library is compiled with the bsd headers and gets linked with the
|
||||
# sysv system libraries all hell can break loose (e.g. a jmp_buf might be
|
||||
# a different size).
|
||||
# ptrace(2) apparently has problems in the BSD environment. No workaround is
|
||||
# known except to select the sysv environment. Could we use /proc instead?
|
||||
# These "sysv environments" and "bsd environments" often end up being a pain.
|
||||
#
|
||||
# This is not part of CFLAGS because perhaps not all C compilers have this
|
||||
# option.
|
||||
CC= cc -systype sysv
|
||||
|
||||
RANLIB = true
|
||||
10
gcc/config/mh-sco
Normal file
10
gcc/config/mh-sco
Normal file
@@ -0,0 +1,10 @@
|
||||
# Define SYSV as -DSYSV if you are using a System V operating system.
|
||||
SYSV = -DSYSV
|
||||
RANLIB = true
|
||||
# You may need this if you don't have bison.
|
||||
# BISON = yacc -Sm10400
|
||||
# The native C compiler botches some simple uses of const. Unfortunately,
|
||||
# it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
|
||||
CC = cc -Dconst=
|
||||
|
||||
X11_EXTRA_LIBS = -lsocket -lm -lintl -lmalloc
|
||||
6
gcc/config/mh-solaris
Normal file
6
gcc/config/mh-solaris
Normal file
@@ -0,0 +1,6 @@
|
||||
# Makefile changes for Suns running Solaris 2
|
||||
|
||||
SYSV = -DSYSV
|
||||
RANLIB = true
|
||||
|
||||
X11_EXTRA_LIBS = -lnsl -lsocket
|
||||
1
gcc/config/mh-sparcpic
Normal file
1
gcc/config/mh-sparcpic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG=`case "${LIBCFLAGS} ${LIBCXXFLAGS}" in *-fpic* ) echo -fpic ;; * ) echo -fPIC ;; esac`
|
||||
3
gcc/config/mh-sun3
Normal file
3
gcc/config/mh-sun3
Normal file
@@ -0,0 +1,3 @@
|
||||
# Sun's C compiler needs the -J flag to be able to compile cp-parse.c
|
||||
# without overflowing the jump tables (-J says to use a 32 bit table)
|
||||
CC = cc -J
|
||||
3
gcc/config/mh-sysv
Normal file
3
gcc/config/mh-sysv
Normal file
@@ -0,0 +1,3 @@
|
||||
# Define SYSV as -DSYSV if you are using a System V operating system.
|
||||
SYSV = -DSYSV
|
||||
RANLIB = true
|
||||
11
gcc/config/mh-sysv4
Normal file
11
gcc/config/mh-sysv4
Normal file
@@ -0,0 +1,11 @@
|
||||
# Define SYSV as -DSYSV if you are using a System V operating system.
|
||||
SYSV = -DSYSV -DSVR4
|
||||
RANLIB = true
|
||||
|
||||
# C++ debugging is not yet supported under SVR4 (DWARF)
|
||||
CXXFLAGS=-O
|
||||
|
||||
# The l flag generates a warning from the SVR4 archiver, remove it.
|
||||
AR_FLAGS = cr
|
||||
|
||||
X11_EXTRA_LIBS = -lnsl
|
||||
8
gcc/config/mh-sysv5
Normal file
8
gcc/config/mh-sysv5
Normal file
@@ -0,0 +1,8 @@
|
||||
# Define SYSV as -DSYSV if you are using a System V operating system.
|
||||
SYSV = -DSYSV -DSVR4 -DSVR5
|
||||
RANLIB = true
|
||||
|
||||
# The l flag generates a warning from the SVR4 archiver, remove it.
|
||||
AR_FLAGS = cr
|
||||
|
||||
X11_EXTRA_LIBS = -lnsl
|
||||
2
gcc/config/mh-vaxult2
Normal file
2
gcc/config/mh-vaxult2
Normal file
@@ -0,0 +1,2 @@
|
||||
# The old BSD pcc isn't up to compiling parts of gdb so use gcc
|
||||
CC = gcc
|
||||
1
gcc/config/mh-x86pic
Normal file
1
gcc/config/mh-x86pic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG=-fpic
|
||||
157
gcc/config/mpw-mh-mpw
Normal file
157
gcc/config/mpw-mh-mpw
Normal file
@@ -0,0 +1,157 @@
|
||||
# This is an MPW makefile fragment.
|
||||
|
||||
# Since there are a multiplicity of Mac compilers and two different
|
||||
# processors, this file is primarily a library of options for each
|
||||
# compiler. Somebody else (such as a configure or build script) will
|
||||
# make the actual choice.
|
||||
|
||||
# Compiler to use for compiling.
|
||||
|
||||
CC_MPW_C = C -d MPW_C -d ALMOST_STDC -d ANSI_PROTOTYPES -d MPW -mc68020 -model far -b -w
|
||||
|
||||
CC_SC = SC -d ALMOST_STDC -d ANSI_PROTOTYPES -d MPW -mc68020 -model far -b -i '' -i :
|
||||
|
||||
CC_MWC68K = MWC68K -d MPW -enum int -mpw_chars -sym on -w off -mc68020 -model far
|
||||
|
||||
CC_PPCC = PPCC -d powerc=1 -d pascal= -d ALMOST_STDC -d ANSI_PROTOTYPES -d MPW -w
|
||||
|
||||
CC_MRC = MrC -d powerc=1 -d pascal= -d ALMOST_STDC -d ANSI_PROTOTYPES -d MPW -i '' -i : -jm
|
||||
|
||||
CC_SMrC = SMrC -d MPW
|
||||
|
||||
# "-mpw_chars" is necessary because GNU sources often mix signed and
|
||||
# unsigned casually.
|
||||
# "-w off" is not a great idea, but CW7 is complaining about enum
|
||||
# assignments.
|
||||
# "-opt global,peep,l4,speed" is sometimes good, and sometimes bad.
|
||||
# We must use {CIncludes} so that MPW tools will work; {MWCIncludes}
|
||||
# defines stdout, islower, etc, in ways that are incompatible with MPW's
|
||||
# runtime. However, this cannot be done via -i "{CIncludes}", since
|
||||
# that does not affect how <>-type includes happen; instead, the variable
|
||||
# MWCIncludes must be set to point at {CIncludes}.
|
||||
|
||||
CC_MWCPPC = MWCPPC -d MPW -enum int -mpw_chars -sym on -w off
|
||||
|
||||
# Note that GCC does *not* wire in a definition of "pascal", so that
|
||||
# it can be handled in another way if desired.
|
||||
|
||||
CC_68K_GCC = gC -Dpascal= -DANSI_PROTOTYPES -DMPW
|
||||
|
||||
CC_PPC_GCC = gC -Dpowerc=1 -Dpascal= -DANSI_PROTOTYPES -DMPW
|
||||
|
||||
# Nothing for the default CFLAGS.
|
||||
|
||||
CFLAGS =
|
||||
|
||||
# Tool to use for making libraries/archives.
|
||||
|
||||
AR_LIB = Lib
|
||||
|
||||
AR_MWLINK68K = MWLink68K -xm library
|
||||
|
||||
AR_PPCLINK = PPCLink -xm library
|
||||
|
||||
AR_MWLINKPPC = MWLinkPPC -xm library
|
||||
|
||||
AR_AR = ar
|
||||
|
||||
AR_FLAGS = -o
|
||||
|
||||
RANLIB_NULL = null-command
|
||||
|
||||
RANLIB_RANLIB = ranlib
|
||||
|
||||
# Compiler and/or linker to use for linking.
|
||||
|
||||
CC_LD_LINK = Link -w -d -model far {CC_LD_TOOL_FLAGS}
|
||||
|
||||
CC_LD_MWLINK68K = MWLink68K -w {CC_LD_TOOL_FLAGS} -sym on -model far
|
||||
|
||||
CC_LD_PPCLINK = PPCLink -main __start -outputformat xcoff
|
||||
|
||||
CC_LD_MWLINKPPC = MWLinkPPC -w {CC_LD_TOOL_FLAGS} -sym on
|
||||
|
||||
CC_LD_GLD = gC
|
||||
|
||||
# Extension for linker output.
|
||||
|
||||
PROG_EXT_68K =
|
||||
|
||||
PROG_EXT_XCOFF = .xcoff
|
||||
|
||||
# Nothing for the default LDFLAGS.
|
||||
|
||||
LDFLAGS = -w
|
||||
|
||||
CC_LD_TOOL_FLAGS = -c 'MPS ' -t MPST
|
||||
|
||||
# Libraries to link against.
|
||||
|
||||
# It would appear that the math libraries are not
|
||||
# needed except to provide a definition for scalb,
|
||||
# which is called from ldexp, which is referenced
|
||||
# in the m68k opcodes library.
|
||||
|
||||
EXTRALIBS_C = \Option-d
|
||||
"{CLibraries}"StdClib.o \Option-d
|
||||
"{CLibraries}"Math.o \Option-d
|
||||
"{CLibraries}"CSANELib.o \Option-d
|
||||
"{Libraries}"Stubs.o \Option-d
|
||||
"{Libraries}"Runtime.o \Option-d
|
||||
"{Libraries}"Interface.o \Option-d
|
||||
"{Libraries}"ToolLibs.o
|
||||
|
||||
EXTRALIBS_MWC68K = \Option-d
|
||||
"{CLibraries}"StdClib.o \Option-d
|
||||
"{CLibraries}"Math.o \Option-d
|
||||
"{CLibraries}"CSANELib.o \Option-d
|
||||
"{Libraries}"Stubs.o \Option-d
|
||||
"{Libraries}"Runtime.o \Option-d
|
||||
"{Libraries}"Interface.o \Option-d
|
||||
"{Libraries}"ToolLibs.o \Option-d
|
||||
"{MW68KLibraries}MPW ANSI (4i) C.68K.Lib"
|
||||
|
||||
EXTRALIBS_PPC_XCOFF = \Option-d
|
||||
"{PPCLibraries}"StdCRuntime.o \Option-d
|
||||
"{PPCLibraries}"InterfaceLib.xcoff \Option-d
|
||||
"{PPCLibraries}"MathLib.xcoff \Option-d
|
||||
"{PPCLibraries}"StdCLib.xcoff \Option-d
|
||||
"{PPCLibraries}"PPCToolLibs.o \Option-d
|
||||
"{PPCLibraries}"PPCCRuntime.o \Option-d
|
||||
"{GCCPPCLibraries}"libgcc.xcoff
|
||||
|
||||
EXTRALIBS_PPC = \Option-d
|
||||
"{PPCLibraries}"StdCRuntime.o \Option-d
|
||||
"{SharedLibraries}"InterfaceLib \Option-d
|
||||
"{SharedLibraries}"MathLib \Option-d
|
||||
"{SharedLibraries}"StdCLib \Option-d
|
||||
"{PPCLibraries}"PPCToolLibs.o \Option-d
|
||||
"{PPCLibraries}"PPCCRuntime.o \Option-d
|
||||
"{GCCPPCLibraries}"libgcc.xcoff
|
||||
|
||||
EXTRALIBS_MWCPPC = \Option-d
|
||||
"{MWPPCLibraries}"MWStdCRuntime.Lib \Option-d
|
||||
"{MWPPCLibraries}"InterfaceLib \Option-d
|
||||
"{MWPPCLibraries}"StdCLib \Option-d
|
||||
"{MWPPCLibraries}"MathLib \Option-d
|
||||
"{MWPPCLibraries}"PPCToolLibs.o
|
||||
|
||||
# Tool to make PEF with, if needed.
|
||||
|
||||
MAKEPEF_NULL = null-command
|
||||
|
||||
MAKEPEF_PPC = MakePEF
|
||||
|
||||
MAKEPEF_FLAGS = \Option-d
|
||||
-l InterfaceLib.xcoff=InterfaceLib \Option-d
|
||||
-l MathLib.xcoff=MathLib \Option-d
|
||||
-l StdCLib.xcoff=StdCLib
|
||||
|
||||
MAKEPEF_TOOL_FLAGS = -ft MPST -fc 'MPS '
|
||||
|
||||
# Resource compiler to use.
|
||||
|
||||
REZ_68K = Rez
|
||||
|
||||
REZ_PPC = Rez -d WANT_CFRG
|
||||
|
||||
73
gcc/config/mpw/ChangeLog
Normal file
73
gcc/config/mpw/ChangeLog
Normal file
@@ -0,0 +1,73 @@
|
||||
Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
|
||||
|
||||
* gcc-2.95.3 Released.
|
||||
|
||||
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95.2 Released.
|
||||
|
||||
Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95.1 Released.
|
||||
|
||||
Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95 Released.
|
||||
|
||||
Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95 Released.
|
||||
|
||||
Tue Nov 26 12:34:12 1996 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* g-mpw-make.sed: Fix some comments.
|
||||
|
||||
Mon Sep 16 14:42:52 1996 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* g-mpw-make.sed (HLDENV): Edit out all references.
|
||||
|
||||
Thu Aug 15 19:49:23 1996 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* true: New script, identical to mpw-true.
|
||||
* g-mpw-make.sed: Add @DASH_C_FLAG@ and @SEGMENT_FLAG()@
|
||||
to the editors for compile commands.
|
||||
|
||||
Thu Aug 1 15:01:42 1996 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* mpw-true, mpw-touch, null-command: New scripts.
|
||||
* README: Describe usage in more detail.
|
||||
|
||||
Tue Dec 12 14:51:51 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* g-mpw-make.sed: Don't edit out "version=" occurrences.
|
||||
|
||||
Fri Dec 1 11:46:18 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* g-mpw-make.sed (bindir, libdir): Edit the positions of
|
||||
pathname separators to work with other pathnames better.
|
||||
|
||||
Tue Nov 7 15:08:07 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* g-mpw-make.sed: Add comment about Duplicate vs Catenate,
|
||||
add additional pattern for editing link-compile commands.
|
||||
|
||||
Tue Oct 24 14:28:51 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* g-mpw-make.sed: Add handling for *.tab.[hc] files.
|
||||
(CHILL_FOR_TARGET, CHILL_LIB): Edit out tricky definitions
|
||||
of these.
|
||||
|
||||
Thu Sep 28 21:05:10 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* g-mpw-make.sed: New file, generic sed commands to translate
|
||||
Unix makefiles into MPW makefile syntax.
|
||||
|
||||
Fri Mar 17 11:51:20 1995 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* README: Clarify instructions.
|
||||
* fi: Remove.
|
||||
|
||||
Wed Dec 21 15:45:53 1994 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* MoveIfChange, README, fi, forward-include, open-brace,
|
||||
tr-7to8-src: New files.
|
||||
19
gcc/config/mpw/MoveIfChange
Normal file
19
gcc/config/mpw/MoveIfChange
Normal file
@@ -0,0 +1,19 @@
|
||||
# Rename a file only if it is different from a previously existing
|
||||
# file of the same name. This is useful for keeping make from doing
|
||||
# too much work if the contents of a file haven't changed.
|
||||
|
||||
# This is an MPW translation of the standard GNU sh script move-if-change.
|
||||
|
||||
Set exit 0
|
||||
|
||||
If "`exists -f "{2}"`"
|
||||
Compare "{1}" "{2}" >dev:null
|
||||
If {status} != 0
|
||||
Rename -y "{1}" "{2}"
|
||||
Else
|
||||
Echo "{2}" is unchanged
|
||||
Delete -i -y "{1}"
|
||||
End
|
||||
Else
|
||||
Rename -y "{1}" "{2}"
|
||||
End
|
||||
23
gcc/config/mpw/README
Normal file
23
gcc/config/mpw/README
Normal file
@@ -0,0 +1,23 @@
|
||||
This directory contains MPW scripts and related files that are needed to
|
||||
build Cygnus GNU tools for MPW. The scripts should be somewhere on the
|
||||
command path; our usual practice has been to have a separate directory
|
||||
for the scripts, and put the tools (byacc, flex, and sed at least) there
|
||||
also; then it's easier to drag the support bits around as a group, or to
|
||||
upgrade MPW versions. The complete package of scripts and tool binaries
|
||||
is usually available as pub/mac/buildtools.cpt.hqx on ftp.cygnus.com.
|
||||
|
||||
"tr-7to8-src" is actually the source to an MPW script that transforms
|
||||
sequences like "\Option-d" into the actual 8-bit chars that MPW needs.
|
||||
It's only the source because it can't itself include any 8-bit chars.
|
||||
It *can* be processed into a genuine "tr-7to8" by using itself:
|
||||
|
||||
tr-7to8 tr-7to8-src | sed -e 's/Src//' >new-tr-7to8
|
||||
|
||||
Use this to verify:
|
||||
|
||||
compare tr-7to8 new-tr-7to8
|
||||
|
||||
If you don't have a working tr-7to8, then you will have to manually
|
||||
replace all occurrences of "\Option-d" with real Option-d (which looks
|
||||
like a delta), then do similarly with all the other "\Option-..."
|
||||
strings, and then change "\SrcOption-d" into the string "\Option-d".
|
||||
3
gcc/config/mpw/forward-include
Normal file
3
gcc/config/mpw/forward-include
Normal file
@@ -0,0 +1,3 @@
|
||||
Echo '#include' ¶""{1}"¶" >"{2}".tem
|
||||
MoveIfChange "{2}".tem "{2}"
|
||||
|
||||
293
gcc/config/mpw/g-mpw-make.sed
Normal file
293
gcc/config/mpw/g-mpw-make.sed
Normal file
@@ -0,0 +1,293 @@
|
||||
# Sed commands to translate Unix makefiles into MPW makefiles.
|
||||
# These are nominally generic, but work best on the makefiles used
|
||||
# for GNU programs.
|
||||
|
||||
# Whack out any commented-out lines that are probably commands;
|
||||
# they can only cause trouble later on.
|
||||
/^# /d
|
||||
|
||||
# Change dependency char.
|
||||
/:$/s/:/ \\Option-f/g
|
||||
/^[^ :#][^:]*:/s/\([ ]*\):\([ ]*\)/ \\Option-f /g
|
||||
|
||||
# Change syntax of Makefile vars.
|
||||
/\$/s/\${\([a-zA-Z0-9_-]*\)}/{\1}/g
|
||||
/\$/s/\$(\([a-zA-Z0-9_-]*\))/{\1}/g
|
||||
/ $@/s/ $@/ {Targ}/
|
||||
|
||||
# Double-$ are literals to Unix but not to MPW make.
|
||||
/\$\$/s/\$\$/$/g
|
||||
|
||||
# Change pathname syntax.
|
||||
/\//s,\.\./\/\.\./,:::,g
|
||||
/\//s,\.\./,::,g
|
||||
/\.\//s,\./,:,g
|
||||
/\//s,/,:,g
|
||||
# Undo excess changes.
|
||||
/and/s,and:or$,and/or,
|
||||
/and/s,and:or ,and/or ,
|
||||
/want/s,want:need,want/need,
|
||||
# Fixing up sed commands.
|
||||
/-e/s_":\([^:]*\):d"_"/\1/d"_g
|
||||
/-e/s_":\([^:]*\):,:\([^:]*\):d"_"/\1/,/\2/d"_g
|
||||
|
||||
/=/s/ = \.$/ = :/
|
||||
|
||||
# Make these go away so that later edits not confused.
|
||||
/HLDENV/s/{HLDENV}//
|
||||
|
||||
# Comment out any explicit srcdir setting.
|
||||
/srcdir/s/^srcdir/# srcdir/
|
||||
|
||||
/BASEDIR/s/^BASEDIR =.*$/BASEDIR = "{srcroot}"/
|
||||
/{BASEDIR}:/s/{BASEDIR}:/{BASEDIR}/g
|
||||
/{srcdir}:/s/{srcdir}:/"{srcdir}"/g
|
||||
/"{srcdir}":/s/"{srcdir}":/"{srcdir}"/g
|
||||
|
||||
# Tweak some conventions that are backwards for the Mac.
|
||||
/bindir/s/{exec_prefix}:bin/{exec_prefix}bin:/
|
||||
/libdir/s/{exec_prefix}:lib/{exec_prefix}lib:/
|
||||
|
||||
# Comment out settings of anything set by mpw host config.
|
||||
/CC/s/^CC *=/#CC =/
|
||||
/CFLAGS/s/^CFLAGS *=/#CFLAGS =/
|
||||
/AR/s/^AR *=/#AR =/
|
||||
/AR_FLAGS/s/^AR_FLAGS *=/#AR_FLAGS =/
|
||||
/RANLIB/s/^RANLIB *=/#RANLIB =/
|
||||
/CC_LD/s/^CC_LD *=/#CC_LD =/
|
||||
/LDFLAGS/s/^LDFLAGS *=/#LDFLAGS =/
|
||||
|
||||
# Change -I usages.
|
||||
/-I/s/-I\./-i :/g
|
||||
/-I/s/-I::bfd/-i ::bfd:/g
|
||||
/-I/s/-I::include/-i ::include:/g
|
||||
/-I/s/-I/-i /g
|
||||
|
||||
# Change -D usage.
|
||||
/-D/s/\([ =]\)-D\([^ ]*\)/\1-d \2/g
|
||||
|
||||
# Change continuation char.
|
||||
/\\$/s/\\$/\\Option-d/
|
||||
|
||||
# Change wildcard char.
|
||||
/\*/s/\*/\\Option-x/g
|
||||
|
||||
# Change path of various types of source files. This rule does not allow
|
||||
# for file names with multiple dots in the name.
|
||||
/\.[chly]/s/\([ ><=]\)\([-a-zA-Z0-9_${}:"]*\)\.\([chly]\)/\1"{s}"\2.\3/g
|
||||
/\.[chly]/s/^\([-a-zA-Z0-9_${}:"]*\)\.\([chly]\)/"{s}"\1.\2/
|
||||
# Allow files named *.tab.[ch] as a special case.
|
||||
/\.tab\.[ch]/s/\([ ><=]\)\([-a-zA-Z0-9_${}:"]*\.tab\)\.\([ch]\)/\1"{s}"\2.\3/g
|
||||
/\.tab\.[ch]/s/^\([-a-zA-Z0-9_${}:"]*\.tab\)\.\([ch]\)/"{s}"\1.\2/
|
||||
# Fix some overenthusiasms.
|
||||
/{s}/s/"{s}""{srcdir}"/"{srcdir}"/g
|
||||
/{s}/s/"{s}"{\([a-zA-Z0-9_]*\)dir}/"{\1dir}"/g
|
||||
/{s}/s/"{s}"{\([a-zA-Z0-9_]*\)DIR}/"{\1DIR}"/g
|
||||
/{s}/s/"{s}""{\([a-zA-Z0-9_]*\)dir}"/"{\1dir}"/g
|
||||
/{s}/s/"{s}""{\([a-zA-Z0-9_]*\)DIR}"/"{\1DIR}"/g
|
||||
/{s}/s/"{s}":/:/g
|
||||
/{s}/s/^"{s}"//g
|
||||
/{s}/s/"{s}""{s}"/"{s}"/g
|
||||
/{s}/s/"{s}""{srcdir}"/"{s}"/g
|
||||
/{s}/s/"{srcdir}""{s}"/"{s}"/g
|
||||
|
||||
# The .def files are also typically source files.
|
||||
/\.def/s/\([ ><]\)\([-a-zA-Z0-9_${}:"]*\)\.def/\1"{s}"\2.def/g
|
||||
/\.def/s/^\([-a-zA-Z0-9_${}:"]*\)\.def/"{s}"\1.def/g
|
||||
|
||||
# Change extension and path of objects.
|
||||
/\.o/s/\([ =]\)\([-a-zA-Z0-9_${}:"]*\)\.o/\1"{o}"\2.c.o/g
|
||||
/\.o/s/^\([-a-zA-Z0-9_${}:"]*\)\.o/"{o}"\1.c.o/
|
||||
# Allow *.tab.o files as a special case of a 2-dot-name file.
|
||||
/\.o/s/\([ =]\)\([-a-zA-Z0-9_${}:"]*\)\.tab\.o/\1"{o}"\2.tab.c.o/g
|
||||
/\.o/s/^\([-a-zA-Z0-9_${}:"]*\)\.tab\.o/"{o}"\1.tab.c.o/
|
||||
# Clean up.
|
||||
/"{o}"/s/"{o}""{o}"/"{o}"/g
|
||||
/"{o}"/s/^"{o}"\([a-zA-Z0-9_]*\)=/\1=/
|
||||
|
||||
# Change extension of libs.
|
||||
/\.a/s/lib\([a-z]*\)\.a/lib\1.o/g
|
||||
|
||||
# Remove non-fail option.
|
||||
/-/s/^\([ ]*\)-/\1/
|
||||
# Fix overeagernesses - assumes no one-letter commands.
|
||||
/^[ ]*[a-z] /s/^\([ ]*\)\([a-z]\) /\1-\2 /
|
||||
|
||||
# Remove non-echo option. (watch out for autoconf things)
|
||||
/@/s/^\([ ]*\)@/\1/
|
||||
|
||||
# Change cp to Duplicate.
|
||||
# Catenate is perhaps more accurate, but the pattern would have to
|
||||
# identify the output file and add a '>' redirection into it.
|
||||
/cp/s/^\([ ]*\)cp /\1Duplicate -d -y /
|
||||
# Change mv to Rename.
|
||||
/mv/s/^\([ ]*\)mv /\1Rename -y /
|
||||
/Rename/s/^\([ ]*\)Rename -y -f/\1Rename -y/
|
||||
# Change rm to Delete.
|
||||
/rm -rf/s/^\([ ]*\)rm -rf /\1Delete -i -y /
|
||||
/rm -f/s/^\([ ]*\)rm -f /\1Delete -i -y /
|
||||
/rm/s/^\([ ]*\)rm /\1Delete -i -y /
|
||||
# Note that we don't mess with ln - directory-specific scripts
|
||||
# must decide what to do with symlinks.
|
||||
# Change cat to Catenate.
|
||||
/cat/s/^\([ ]*\)cat /\1Catenate /
|
||||
# Change touch to mpw-touch.
|
||||
/touch/s/^\([ ]*\)touch /\1mpw-touch /
|
||||
# Change mkdir to NewFolder.
|
||||
/mkdir/s/^\([ ]*\)mkdir /\1NewFolder /
|
||||
# Change var setting to Set.
|
||||
/=/s/^\([ ]*\)\([-a-zA-Z0-9_]*\)=\([^;]*\); \\Option-d/\1Set \2 \3/
|
||||
|
||||
# Change tests.
|
||||
/if /s/if \[ *-f \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" != ""/
|
||||
/if /s/if \[ *-f \([^ ]*\) ] *; *then *\\Option-d/If "`Exists "\1"`" != ""/
|
||||
/if /s/if \[ ! *-f \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" == ""/
|
||||
/if /s/if \[ ! *-f \([^ ]*\) ] *; *then \\Option-d/If "`Exists "\1"`" == ""/
|
||||
|
||||
/if /s/if \[ *-d \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" != ""/
|
||||
/if /s/if \[ *-d \([^ ]*\) ] *; *then *\\Option-d/If "`Exists "\1"`" != ""/
|
||||
/if /s/if \[ ! *-d \([^ ]*\) ] *; *\\Option-d/If "`Exists "\1"`" == ""/
|
||||
/if /s/if \[ ! *-d \([^ ]*\) ] *; *then *\\Option-d/If "`Exists "\1"`" == ""/
|
||||
|
||||
/if /s/if \[ -d \([^ ]*\) ] *; then true *; else mkdir \([^ ;]*\) *; fi/If "`Exists "\1"`" != "" NewFolder \2 End If/
|
||||
|
||||
/if /s/if \[ \([^ ]*\) = \([^ ]*\) ] *; *\\Option-d/If "\1" == "\2"/
|
||||
/if /s/if \[ \([^ ]*\) = \([^ ]*\) ] *; *then *\\Option-d/If "\1" == "\2"/
|
||||
|
||||
/if /s/if \[ \([^ ]*\) != \([^ ]*\) ] *; *\\Option-d/If "\1" != "\2"/
|
||||
/if /s/if \[ \([^ ]*\) != \([^ ]*\) ] *; *then *\\Option-d/If "\1" != "\2"/
|
||||
|
||||
/if /s/if \[ \([^ ]*\) -eq \([^ ]*\) ] *; *\\Option-d/If "\1" != "\2"/
|
||||
/if /s/if \[ \([^ ]*\) -eq \([^ ]*\) ] *; *then *\\Option-d/If "\1" != "\2"/
|
||||
|
||||
/^[ ]*else true$/c\
|
||||
Else\
|
||||
mpw-true\
|
||||
|
||||
|
||||
/else/s/^\([ ]*\)else[ ]*$/\1Else/
|
||||
/else/s/^\([ ]*\)else[; ]*\\Option-d$/\1Else/
|
||||
|
||||
/^[ ]*else[ ]*true[ ]*$/c\
|
||||
Else\
|
||||
mpw-true
|
||||
|
||||
/^[ ]*else[ ]*true[; ]*fi$/c\
|
||||
Else\
|
||||
mpw-true\
|
||||
End If
|
||||
|
||||
/fi/s/^\([ ]*\)fi *$/\1End/
|
||||
/fi/s/^\([ ]*\)fi *; *\\Option-d/\1End/
|
||||
|
||||
# Change looping.
|
||||
/for/s/^\([ ]*\)for \([-a-zA-Z0-9_]*\) in \([^;]*\); *do *\\Option-d/\1For \2 In \3/
|
||||
/^\([ ]*\)do *\\Option-d/d
|
||||
/done/s/^\([ ]*\)done *; *\\Option-d/\1End/
|
||||
/done/s/^\([ ]*\)done$/\1End/
|
||||
|
||||
# Trailing semicolons and continued lines are unneeded sh syntax.
|
||||
/; \\Option-d/s/; \\Option-d//
|
||||
|
||||
# Change move-if-change to MoveIfChange.
|
||||
/move-if-change/s/\([^ ]*\)move-if-change/MoveIfChange/g
|
||||
|
||||
# Change $(SHELL) to the script name by itself.
|
||||
/SHELL/s/^\([ ]*\){SHELL} /\1/
|
||||
|
||||
# Change syntax of default rule dependency.
|
||||
/^\.c\.o/s/^\.c\.o \\Option-f$/.c.o \\Option-f .c/
|
||||
|
||||
# Change default rule's action.
|
||||
/{CC} -c/s/{CC} -c \(.*\) \$<$/{CC} @DASH_C_FLAG@ {DepDir}{Default}.c \1 @SEGMENT_FLAG({Default})@ -o {TargDir}{Default}.c.o/
|
||||
|
||||
# This is pretty disgusting, but I can't seem to detect empty rules.
|
||||
/Option-f$/s/Option-f$/Option-f _oldest/g
|
||||
|
||||
# Remove -c from explicit compiler calls. (but should not if GCC)
|
||||
# Handle the case of a source file that is "{xxx}"file.c.
|
||||
/ -c /s/{\([A-Z_]*\)CC}\(.*\) -c \(.*\)"\([^"]*\)"\([-a-z_]*\)\.c/{\1CC}\2 @DASH_C_FLAG@ \3"\4"\5.c -o "{o}"\5.c.o/
|
||||
# Handle the case of a source file that is "{xxx}"dir:file.c.
|
||||
/ -c /s/{\([A-Z_]*\)CC}\(.*\) -c \(.*\)"\([^"]*\)"\([-a-z_]*\):\([-a-z_]*\)\.c/{\1CC}\2 @DASH_C_FLAG@ \3"\4"\5:\6.c -o "{o}"\6.c.o/
|
||||
|
||||
# Change linking cc to linking sequence.
|
||||
/-o/s/^\([ ]*\){CC} \(.*\){\([A-Z_]*\)CFLAGS} \(.*\){LDFLAGS} \(.*\)-o \([^ ]*\) \(.*\)$/\1{CC_LD} \2 {\3CFLAGS} \4 {LDFLAGS} \5 -o \6{PROG_EXT} \7\
|
||||
\1{MAKEPEF} \6{PROG_EXT} -o \6 {MAKEPEF_TOOL_FLAGS} {MAKEPEF_FLAGS}\
|
||||
\1{REZ} "{s}"\6.r -o \6 -append -d PROG_NAME='"'\6'"' -d VERSION_STRING='"'{version}'"'/
|
||||
/-o/s/^\([ ]*\){CC} \(.*\){\([A-Z_]*\)CFLAGS} \(.*\)-o \([^ ]*\) \(.*\){LDFLAGS} \(.*\)$/\1{CC_LD} \2 {\3CFLAGS} \4 {LDFLAGS} \6 -o \5{PROG_EXT} \7\
|
||||
\1{MAKEPEF} \5{PROG_EXT} -o \5 {MAKEPEF_TOOL_FLAGS} {MAKEPEF_FLAGS}\
|
||||
\1{REZ} "{s}"\5.r -o \5 -append -d PROG_NAME='"'\5'"' -d VERSION_STRING='"'{version}'"'/
|
||||
/-o/s/^\([ ]*\){HOST_CC} \(.*\)-o \([^ ]*\) \(.*\)$/\1{HOST_CC_LD} \2 -o \3{PROG_EXT} \4\
|
||||
\1{MAKEPEF} \3{PROG_EXT} -o \3 {MAKEPEF_TOOL_FLAGS} {MAKEPEF_FLAGS}\
|
||||
\1{REZ} "{s}"\3.r -o \3 -append -d PROG_NAME='"'\3'"' -d VERSION_STRING='"'{version}'"'/
|
||||
|
||||
# Comment out .NOEXPORT rules.
|
||||
/\.NOEXPORT/s/^\.NOEXPORT/#\.NOEXPORT/
|
||||
# Comment out .PHONY rules.
|
||||
/\.PHONY/s/^\.PHONY/#\.PHONY/
|
||||
# Comment out .PRECIOUS rules.
|
||||
/\.PRECIOUS/s/^\.PRECIOUS/#\.PRECIOUS/
|
||||
# Comment out .SUFFIXES rules.
|
||||
/\.SUFFIXES/s/^\.SUFFIXES/#\.SUFFIXES/
|
||||
|
||||
# Set the install program appropriately.
|
||||
/INSTALL/s/^INSTALL *= *`.*`:install.sh -c/INSTALL = Duplicate -y/
|
||||
|
||||
# Don't try to decide whether to use the tree's own tools.
|
||||
/bison/s/`.*bison:bison.*`/bison -y/
|
||||
/byacc/s/`.*byacc:byacc.*`/byacc/
|
||||
/flex/s/`.*flex:flex.*`/flex/
|
||||
|
||||
# Turn transformed C comments in echo commands back into comments.
|
||||
/echo/s,echo '\(.*\):\\Option-x\(.*\)\\Option-x:\(.*\)',echo '\1/*\2*/\3',
|
||||
|
||||
# Whack out various clever expressions that search for tools, since
|
||||
# the clever code is too /bin/sh specific.
|
||||
|
||||
/^AR_FOR_TARGET = `/,/`$/c\
|
||||
AR_FOR_TARGET = ::binutils:ar\
|
||||
|
||||
|
||||
/^RANLIB_FOR_TARGET = `/,/`$/c\
|
||||
RANLIB_FOR_TARGET = ::binutils:ranlib\
|
||||
|
||||
|
||||
/^RANLIB_TEST_FOR_TARGET = /,/ranlib ] )$/c\
|
||||
RANLIB_TEST_FOR_TARGET = \
|
||||
|
||||
|
||||
/^EXPECT = `/,/`$/c\
|
||||
EXPECT = \
|
||||
|
||||
|
||||
/^RUNTEST = `/,/`$/c\
|
||||
RUNTEST = \
|
||||
|
||||
|
||||
/^CC_FOR_TARGET = `/,/`$/c\
|
||||
CC_FOR_TARGET = \
|
||||
|
||||
|
||||
/^CXX_FOR_TARGET = `/,/`$/c\
|
||||
CXX_FOR_TARGET = \
|
||||
|
||||
|
||||
/^CHILL_FOR_TARGET = `/,/`$/c\
|
||||
CHILL_FOR_TARGET = \
|
||||
|
||||
|
||||
/^CHILL_LIB = `/,/`$/c\
|
||||
CHILL_LIB = \
|
||||
|
||||
/sanit/s/{start-sanit...-[a-z0-9]*}//
|
||||
/sanit/s/{end-sanit...-[a-z0-9]*}//
|
||||
|
||||
# Add standard defines and default rules.
|
||||
/^# srcdir/a\
|
||||
\
|
||||
s = "{srcdir}"\
|
||||
\
|
||||
o = :\
|
||||
\
|
||||
"{o}" \\Option-f : "{s}"
|
||||
|
||||
7
gcc/config/mpw/mpw-touch
Normal file
7
gcc/config/mpw/mpw-touch
Normal file
@@ -0,0 +1,7 @@
|
||||
# "Touch" command.
|
||||
|
||||
If "`Exists "{1}"`" != ""
|
||||
SetFile -m . "{1}"
|
||||
Else
|
||||
Echo ' ' > "{1}"
|
||||
End If
|
||||
1
gcc/config/mpw/mpw-true
Normal file
1
gcc/config/mpw/mpw-true
Normal file
@@ -0,0 +1 @@
|
||||
Exit 0
|
||||
1
gcc/config/mpw/null-command
Normal file
1
gcc/config/mpw/null-command
Normal file
@@ -0,0 +1 @@
|
||||
# This command does nothing.
|
||||
4
gcc/config/mpw/open-brace
Normal file
4
gcc/config/mpw/open-brace
Normal file
@@ -0,0 +1,4 @@
|
||||
# MPW makefiles seem not to have any way to get a literal open
|
||||
# brace into a rule anywhere, so this does the job.
|
||||
|
||||
Echo '{'
|
||||
9
gcc/config/mpw/tr-7to8-src
Normal file
9
gcc/config/mpw/tr-7to8-src
Normal file
@@ -0,0 +1,9 @@
|
||||
StreamEdit -e \Option-d
|
||||
'/\Option-x/ \Option-d
|
||||
Replace /\Option-d\SrcOption-d/ "\Option-d\Option-d" -c \Option-5 ; \Option-d
|
||||
Replace /\Option-d\SrcOption-f/ "\Option-d\Option-f" -c \Option-5 ; \Option-d
|
||||
Replace /\Option-d\SrcOption-8/ "\Option-d\Option-8" -c \Option-5 ; \Option-d
|
||||
Replace /\Option-d\SrcOption-5/ "\Option-d\Option-5" -c \Option-5 ; \Option-d
|
||||
Replace /\Option-d\SrcOption-x/ "\Option-d\Option-x" -c \Option-5 ; \Option-d
|
||||
Replace /\Option-d\SrcOption-r/ "\Option-d\Option-r" -c \Option-5' \Option-d
|
||||
"{1}"
|
||||
1
gcc/config/mpw/true
Normal file
1
gcc/config/mpw/true
Normal file
@@ -0,0 +1 @@
|
||||
Exit 0
|
||||
1
gcc/config/mt-armpic
Normal file
1
gcc/config/mt-armpic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG_FOR_TARGET=-fPIC
|
||||
1
gcc/config/mt-elfalphapic
Normal file
1
gcc/config/mt-elfalphapic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG_FOR_TARGET=-fPIC
|
||||
2
gcc/config/mt-linux
Normal file
2
gcc/config/mt-linux
Normal file
@@ -0,0 +1,2 @@
|
||||
# When using glibc 2 on Linux we must always use vtable thunks.
|
||||
CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -fvtable-thunks -D_GNU_SOURCE
|
||||
1
gcc/config/mt-m68kpic
Normal file
1
gcc/config/mt-m68kpic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG_FOR_TARGET=-fpic
|
||||
1
gcc/config/mt-netware
Normal file
1
gcc/config/mt-netware
Normal file
@@ -0,0 +1 @@
|
||||
GDB_NLM_DEPS = all-gcc all-ld
|
||||
3
gcc/config/mt-ospace
Normal file
3
gcc/config/mt-ospace
Normal file
@@ -0,0 +1,3 @@
|
||||
# Build libraries optimizing for space, not speed.
|
||||
CFLAGS_FOR_TARGET = -g -Os
|
||||
CXXFLAGS_FOR_TARGET = -g -Os
|
||||
1
gcc/config/mt-papic
Normal file
1
gcc/config/mt-papic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG_FOR_TARGET=-fPIC
|
||||
1
gcc/config/mt-ppcpic
Normal file
1
gcc/config/mt-ppcpic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG_FOR_TARGET=-fPIC
|
||||
1
gcc/config/mt-sparcpic
Normal file
1
gcc/config/mt-sparcpic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG_FOR_TARGET=`case "${LIBCFLAGS} ${LIBCXXFLAGS}" in *-fpic* ) echo -fpic ;; * ) echo -fPIC ;; esac`
|
||||
4
gcc/config/mt-v810
Normal file
4
gcc/config/mt-v810
Normal file
@@ -0,0 +1,4 @@
|
||||
CC_FOR_TARGET = ca732 -ansi
|
||||
AS_FOR_TARGET = as732
|
||||
AR_FOR_TARGET = ar732
|
||||
RANLIB_FOR_TARGET = true
|
||||
1
gcc/config/mt-x86pic
Normal file
1
gcc/config/mt-x86pic
Normal file
@@ -0,0 +1 @@
|
||||
PICFLAG_FOR_TARGET=-fpic
|
||||
1612
gcc/configure
vendored
Executable file
1612
gcc/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1144
gcc/configure.in
Normal file
1144
gcc/configure.in
Normal file
File diff suppressed because it is too large
Load Diff
252
gcc/contrib/ChangeLog
Normal file
252
gcc/contrib/ChangeLog
Normal file
@@ -0,0 +1,252 @@
|
||||
Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
|
||||
|
||||
* gcc-2.95.3 Released.
|
||||
|
||||
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95.2 Released.
|
||||
|
||||
Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95.1 Released.
|
||||
|
||||
Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95 Released.
|
||||
|
||||
Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95 Released.
|
||||
|
||||
1999-07-17 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* test_summary: Replace egcs with gcc. Update e-mail address.
|
||||
|
||||
1999-06-12 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* test_summary: Set default mail-address and version for egcs
|
||||
instead of relying on unpredictable pathnames.
|
||||
Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||
|
||||
1999-06-12 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* test_summary: Set default mail-address and version for egcs
|
||||
instead of relying on unpredictable pathnames.
|
||||
Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||
|
||||
Fri Apr 2 16:09:02 1999 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* fixinc/*: Delete obsolete files.
|
||||
|
||||
1999-02-04 Robert Lipe <robertlipe@usa.net>
|
||||
|
||||
* egcs_update: Test return values of 'cvs update'. Propogate
|
||||
to caller as exit values.
|
||||
|
||||
1999-01-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
|
||||
* egcs_update: Use "if" instead of "&&". Touch generated files
|
||||
only after the corresponding *.y files.
|
||||
|
||||
1999-01-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
|
||||
* egcs_update: Do not use xargs, but a backquote construct.
|
||||
|
||||
1999-01-07 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* test_summary (version): Remove carriage return that gawk inserts
|
||||
in the version string for some reason.
|
||||
|
||||
1998-11-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
|
||||
* egcs_update: Only touch files that already exist.
|
||||
|
||||
1998-11-29 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* test_summary (EOF): Remove double backslash.
|
||||
Reported by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||||
|
||||
1998-11-28 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* test_summary (address): Set to egcs-testresults mailing list.
|
||||
|
||||
1998-11-27 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* test_summary (address): Added Marc Lehmann's testsuite-results
|
||||
to the default e-mail address.
|
||||
|
||||
1998-11-25 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* test_summary (-p, prepend_logs): Add these before the summary.
|
||||
(Compiler, Platform): Print these just before configflags.
|
||||
|
||||
Sat Oct 31 10:53:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* warn_summary (longLineFilter): New shell function to encapsulate
|
||||
this functionality. It is off by default, only active if -llf
|
||||
flag is specified.
|
||||
(subdirectoryFilter): Fix bug in filtering which made some
|
||||
subdirectory warnings erroneously appear in the toplevel set.
|
||||
(stageNfilter): Renamed from `stageNwarns'. Updated to collect
|
||||
warnings from stage1 as well as stage0, which means warnings from
|
||||
outside the bootstrap directory. Eg, the libraries, etc.
|
||||
(warningFilter): New shell function to encapsulate this
|
||||
functionality.
|
||||
(keywordFilter): New shell function to encapsulate this
|
||||
functionality.
|
||||
|
||||
Store data in a temp file rather than calculating it 3x. Arrange
|
||||
to remove it on exit and signals.
|
||||
|
||||
Add -pass/-wpass flags to do "pass through" (i.e. manual
|
||||
inspection) of bootstrap output from a particular stageN as well
|
||||
as language subdirs.
|
||||
|
||||
Add better comments/documentation.
|
||||
|
||||
Sat Oct 31 16:39:31 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
|
||||
* egcs_update: Add comment about keeping the FAQ synchronized.
|
||||
|
||||
Fri Oct 30 00:39:27 1998 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* egcs_update: Do touch java/parse.c and java/parse-scan.c. They're
|
||||
in the repo again.
|
||||
|
||||
Fri Oct 16 07:35:00 1998 Bruce Korb <korb@datadesign.com>
|
||||
|
||||
* egcs_update: Added gcc/fixinc/* generated files to touch list.
|
||||
|
||||
Tue Oct 13 23:28:33 1998 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* egcs_update: Remove gcc/java/parse.c from list of files to
|
||||
touch.
|
||||
|
||||
Wed Oct 7 13:00:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* gperf-2.7-19981006.pat: New file, patch for egcs-local gperf.
|
||||
|
||||
Mon Oct 5 14:19:48 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* warn_summary (subdirectoryFilter): New shell function to
|
||||
optionally filter in/out gcc subdirectories when summarizing
|
||||
warnings. Add new flags to support subdirectory filtering.
|
||||
|
||||
Also, ensure the bootstrap stage is a number. Add some more C
|
||||
keywords that are preserved in the "warning type" summary and
|
||||
tighten up the "arg ???" regexp.
|
||||
|
||||
Tue Sep 22 07:30 Bruce Korb <korb@datadesign.com>
|
||||
|
||||
* fixinc/inclhack.def: Not all C++ comments in C headers
|
||||
were treated alike. They are now. Also fixed syntax
|
||||
of sed expression in "systypes" fix.
|
||||
|
||||
* fixinc/inclhack.def: Removed SVR4.2-ism from shell invocation
|
||||
|
||||
* egcs_update: Added fixinc/* generated files to touch list.
|
||||
|
||||
Wed Sep 16 16:06:51 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* egcs_update: Additionally touch gcc/java/parse.[ch].
|
||||
|
||||
Thu Sep 9 16:48 Bruce Korb <korb@datadesign.com>
|
||||
|
||||
* fixinc/inclhack.def: Added two files required by
|
||||
SCO's Open Server 5's avoid_bool fix.
|
||||
Regenerated fixinc.x and inclhack.sh to incorporate
|
||||
the update.
|
||||
|
||||
Thu Sep 3 10:11:32 1998 Robert Lipe <robertl@dgii.com>
|
||||
|
||||
* egcs_update: Do the pass 1 CVS update only for files that
|
||||
may reasonably be under CVS control.
|
||||
|
||||
1998-08-14 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* test_installed: New script for testing already-installed
|
||||
gcc/g++/g77.
|
||||
|
||||
Wed Aug 12 19:59:36 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
|
||||
* egcs_update: Assigned copyright to FSF.
|
||||
|
||||
Tue Aug 11 17:55:53 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* egcs_update: New switch --nostdflags and documentation
|
||||
enhancements.
|
||||
|
||||
Tue Aug 11 17:33:19 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
|
||||
* egcs_update: New script.
|
||||
|
||||
1998-08-05 Bruce Korb <korbb@datadesign.com>
|
||||
|
||||
* fixinc/Makefile
|
||||
Added define for target machine so machine-specific tests
|
||||
can be selected for or against.
|
||||
|
||||
* fixinc/fixincl.c
|
||||
Added an array of string pointers to machines to select
|
||||
or avoid, depending on a FD_MACH_IFNOT bit flag.
|
||||
Used a shell script to match the defined TARGET_MACHINE
|
||||
with any of the given match patterns.
|
||||
|
||||
* fixinc/fixincl.tpl
|
||||
Generate the array of strings and bit flag, as needed,
|
||||
depending on "mach" and "not_machine" attributes for a fix.
|
||||
|
||||
* fixinc/mkfixinc.sh
|
||||
Invoke the make with TARGET assigned the value of the
|
||||
machine name argument.
|
||||
|
||||
Mon Jul 27 22:08:12 1998 Mike Stump (mrs@wrs.com)
|
||||
|
||||
* compare_tests: New script.
|
||||
|
||||
1998-07-28 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* test_summary: Assigned copyright to FSF.
|
||||
|
||||
Mon Jul 27 20:33:02 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
|
||||
* test_summary: Corrected script name in comments providing
|
||||
documentation. Added linebreaks for lines with > 80 characters.
|
||||
|
||||
Fri Jun 19 02:36:59 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* test_summary: New switch, -i, and environment variable,
|
||||
append_logs, for including files in the report.
|
||||
|
||||
1998-06-01 Manfred Hollstein <manfred@s-direktnet.de>
|
||||
|
||||
* warn_summary: Update to Kaveh's latest version allowing to
|
||||
specify the last stage built.
|
||||
|
||||
1998-05-29 Bruce Korb <korbb@datadesign.com>
|
||||
|
||||
* fixinc/mkfixinc.sh
|
||||
Changes to make it easier to invoke on platforms that
|
||||
normally do not invoke fixincludes.
|
||||
|
||||
* fixinc/inclhack.def
|
||||
Applied fixes from egcs/gcc/fixincludes from the past several
|
||||
months.
|
||||
|
||||
1998-05-28 Bruce Korb <korbb@datadesign.com>
|
||||
|
||||
* fixinc/*: Updated most everything for a first real
|
||||
try at getting "fast_fixincludes" working.
|
||||
|
||||
1998-05-28 Jason Merrill <jason@yorick.cygnus.com>
|
||||
|
||||
* index-prop: New file.
|
||||
|
||||
Sat May 23 23:38:49 1998 Matthias Klose <doko@cs.tu-berlin.de>
|
||||
|
||||
* test_summary: find good awk (copied from warn_summary).
|
||||
|
||||
Sat May 23 23:38:33 1998 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* test_summary, warn_summary: New files
|
||||
98
gcc/contrib/compare_tests
Executable file
98
gcc/contrib/compare_tests
Executable file
@@ -0,0 +1,98 @@
|
||||
#!/bin/sh
|
||||
# This script automatically test the given tool with the tool's test cases,
|
||||
# reporting anything of interest.
|
||||
|
||||
# exits with 1 if there is nothing of interest
|
||||
# exits with 0 if there is something interesting
|
||||
# exits with 2 if an error occurred
|
||||
|
||||
# Give two .sum files to compare them
|
||||
|
||||
# Written by Mike Stump <mrs@cygnus.com>
|
||||
|
||||
tmp1=/tmp/$tool-testing.$$a
|
||||
tmp2=/tmp/$tool-testing.$$b
|
||||
now_s=/tmp/$tool-testing.$$d
|
||||
before_s=/tmp/$tool-testing.$$e
|
||||
|
||||
if [ "$2" = "" ]; then
|
||||
echo "Usage: $0 previous current" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
sed 's/^XFAIL/FAIL/; s/^XPASS/PASS/' < "$1" >$tmp1
|
||||
sed 's/^XFAIL/FAIL/; s/^XPASS/PASS/' < "$2" >$tmp2
|
||||
|
||||
before=$tmp1
|
||||
now=$tmp2
|
||||
|
||||
trap "rm -f $tmp1 $tmp2 $now_s $before_s" 0 1 2 3 5 9 13 15
|
||||
|
||||
sort +0.4 "$now" > "$now_s"
|
||||
sort +0.4 "$before" > "$before_s"
|
||||
|
||||
grep '^FAIL' "$now_s" | sed 's/^....: //' >$tmp1
|
||||
grep '^PASS' "$before_s" | sed 's/^....: //' | comm -12 $tmp1 - >$tmp2
|
||||
|
||||
grep -s . $tmp2 >/dev/null
|
||||
if [ $? = 0 ]; then
|
||||
echo "Tests that now fail, but worked before:"
|
||||
echo
|
||||
cat $tmp2
|
||||
echo
|
||||
fi
|
||||
|
||||
grep '^PASS' "$now_s" | sed 's/^....: //' >$tmp1
|
||||
grep '^FAIL' "$before_s" | sed 's/^....: //' | comm -12 $tmp1 - >$tmp2
|
||||
|
||||
grep -s . $tmp2 >/dev/null
|
||||
if [ $? = 0 ]; then
|
||||
echo "Tests that now work, but didn't before:"
|
||||
echo
|
||||
cat $tmp2
|
||||
echo
|
||||
fi
|
||||
|
||||
grep '^FAIL' "$now_s" | sed 's/^....: //' >$tmp1
|
||||
grep '^[PF]A[SI][SL]' "$before_s" | sed 's/^....: //' | comm -23 $tmp1 - >$tmp2
|
||||
|
||||
grep -s . $tmp2 >/dev/null
|
||||
if [ $? = 0 ]; then
|
||||
echo "New tests that FAIL:"
|
||||
echo
|
||||
cat $tmp2
|
||||
echo
|
||||
fi
|
||||
|
||||
grep '^PASS' "$now_s" | sed 's/^....: //' >$tmp1
|
||||
grep '^[PF]A[SI][SL]' "$before_s" | sed 's/^....: //' | comm -23 $tmp1 - >$tmp2
|
||||
|
||||
grep -s . $tmp2 >/dev/null
|
||||
if [ $? = 0 ]; then
|
||||
echo "New tests that PASS:"
|
||||
echo
|
||||
cat $tmp2
|
||||
echo
|
||||
fi
|
||||
|
||||
grep '^[PF]A[SI][SL]' "$now_s" | sed 's/^....: //' >$tmp1
|
||||
grep '^PASS' "$before_s" | sed 's/^....: //' | comm -13 $tmp1 - >$tmp2
|
||||
|
||||
grep -s . $tmp2 >/dev/null
|
||||
if [ $? = 0 ]; then
|
||||
echo "Old tests that passed, that have disappeared: (Eeek!)"
|
||||
echo
|
||||
cat $tmp2
|
||||
echo
|
||||
fi
|
||||
|
||||
grep '^[PF]A[SI][SL]' "$now_s" | sed 's/^....: //' >$tmp1
|
||||
grep '^FAIL' "$before_s" | sed 's/^....: //' | comm -13 $tmp1 - >$tmp2
|
||||
|
||||
grep -s . $tmp2 >/dev/null
|
||||
if [ $? = 0 ]; then
|
||||
echo "Old tests that failed, that have disappeared: (Eeek!)"
|
||||
echo
|
||||
cat $tmp2
|
||||
echo
|
||||
fi
|
||||
202
gcc/contrib/egcs_update
Executable file
202
gcc/contrib/egcs_update
Executable file
@@ -0,0 +1,202 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# Update a local CVS tree from the egcs repository, with an emphasis
|
||||
# on treating generated files correctly, so that autoconf, bison et
|
||||
# al are not required for the ``end'' user.
|
||||
#
|
||||
# By default all command-line options are passed to `cvs update` in
|
||||
# addition to $UPDATE_OPTIONS (defined below). If the first parameter
|
||||
# reads --nostdflags, $UPDATE_OPTIONS as well as this parameter itself
|
||||
# are omitted.
|
||||
#
|
||||
# If the first parameter reads --patch, the second parameter is considered
|
||||
# a patch file.
|
||||
#
|
||||
# If the first parameter is --touch, no cvs operation will be performed,
|
||||
# only generated files that appear to be out of date in the local tree
|
||||
# will be touched.
|
||||
#
|
||||
# If the first parameter is --list, a list of the generated files and
|
||||
# their dependencies will be printed; --help prints this message.
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
# contrib/egcs_update -r egcs_latest_snapshot
|
||||
# contrib/egcs_update -A
|
||||
# contrib/egcs_update --nostdflags -P -r egcs_1_1_branch gcc/testsuite
|
||||
# contrib/egcs_update --patch some-patch
|
||||
# contrib/egcs_update --touch
|
||||
# contrib/egcs_update --list
|
||||
#
|
||||
#
|
||||
# (C) 1998-1999 Free Software Foundation
|
||||
# Originally by Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>, August 1998.
|
||||
#
|
||||
# This script is Free Software, and it can be copied, distributed and
|
||||
# modified as defined in the GNU General Public License. A copy of
|
||||
# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
|
||||
|
||||
|
||||
# Default options used when updating via CVS.
|
||||
UPDATE_OPTIONS=-P
|
||||
# Add -d to create any directories that exist in the repository but not
|
||||
# locally.
|
||||
# Add -A to reset any sticky tags, dates, or `-k' options.
|
||||
|
||||
|
||||
# This function prints a list of all generated files, along with their
|
||||
# dependencies. Note that only one target is supported per line: the
|
||||
# colon is stripped from the output.
|
||||
files_and_dependencies () {
|
||||
sed -e 's/ *#.*//' -e '/^$/d' -e 's/://' <<\EOF
|
||||
# All automake dependencies within texinfo
|
||||
# In fact, not all, since we do not care about sub-directories that
|
||||
# we do not build. In particular, *.po and *.gmo are not touched.
|
||||
texinfo/aclocal.m4: texinfo/configure.in texinfo/acinclude.m4
|
||||
texinfo/Makefile.in: texinfo/Makefile.am texinfo/configure.in texinfo/aclocal.m4
|
||||
texinfo/configure: texinfo/configure.in texinfo/aclocal.m4
|
||||
texinfo/stamp-h.in: texinfo/configure.in texinfo/aclocal.m4 texinfo/acconfig.h
|
||||
texinfo/lib/Makefile.in: texinfo/lib/Makefile.am texinfo/configure.in texinfo/aclocal.m4
|
||||
texinfo/makeinfo/Makefile.in: texinfo/makeinfo/Makefile.am texinfo/configure.in texinfo/aclocal.m4
|
||||
texinfo/util/Makefile.in: texinfo/util/Makefile.am texinfo/configure.in texinfo/aclocal.m4
|
||||
# Now, proceed to gcc automatically generated files
|
||||
gcc/configure: gcc/configure.in
|
||||
gcc/cstamp-h.in: gcc/configure.in gcc/acconfig.h
|
||||
gcc/config.in: gcc/cstamp-h.in
|
||||
gcc/c-parse.y: gcc/c-parse.in
|
||||
gcc/c-parse.c: gcc/c-parse.y
|
||||
gcc/c-parse.h: gcc/c-parse.c
|
||||
gcc/c-gperf.h: gcc/c-parse.gperf
|
||||
gcc/cexp.c: gcc/cexp.y
|
||||
gcc/fixinc/fixincl.x: gcc/fixinc/fixincl.tpl gcc/fixinc/inclhack.def
|
||||
gcc/fixinc/inclhack.sh: gcc/fixinc/inclhack.def gcc/fixinc/inclhack.tpl gcc/fixinc/hackshell.tpl
|
||||
gcc/fixinc/fixincl.sh: gcc/fixinc/inclhack.def gcc/fixinc/inclhack.tpl
|
||||
# And then, language-specific files
|
||||
gcc/cp/parse.c: gcc/cp/parse.y
|
||||
gcc/cp/parse.h: gcc/cp/parse.c
|
||||
gcc/objc/objc-parse.y: gcc/c-parse.in
|
||||
gcc/objc/objc-parse.c: gcc/objc/objc-parse.y
|
||||
gcc/java/parse.h: gcc/java/parse.y
|
||||
gcc/java/parse.c: gcc/java/parse.y gcc/java/lex.c gcc/java/parse.h gcc/java/lex.h
|
||||
gcc/java/parse-scan.c: gcc/java/parse-scan.y gcc/java/lex.c gcc/java/parse.h gcc/java/lex.h
|
||||
# And libraries, at last
|
||||
libchill/configure: libchill/configure.in
|
||||
libf2c/configure: libf2c/configure.in
|
||||
libf2c/libF77/configure: libf2c/libF77/configure.in
|
||||
libf2c/libI77/configure: libf2c/libI77/configure.in
|
||||
libf2c/libU77/configure: libf2c/libU77/configure.in
|
||||
libf2c/libU77/stamp-h.in: libf2c/libU77/configure.in libf2c/libU77/acconfig.h
|
||||
libobjc/configure: libobjc/configure.in
|
||||
EOF
|
||||
}
|
||||
|
||||
|
||||
# This function checks whether its first argument is newer than all
|
||||
# the other arguments. It returns success (0) otherwise.
|
||||
is_out_of_date () {
|
||||
test `ls -1dt ${1+"$@"} | sed 1q` != "$1"
|
||||
}
|
||||
|
||||
|
||||
# This function touches generated files such that the ``end'' user does
|
||||
# not have to rebuild them.
|
||||
touch_files () {
|
||||
files_and_dependencies | while read f deps; do
|
||||
if test -f $f && is_out_of_date "$f" $deps; then
|
||||
echo Touching "$f"...
|
||||
touch $f
|
||||
if is_out_of_date "$f" $deps; then
|
||||
# Hmm, it may have got the same timestamp as one of
|
||||
# its touched dependencies. Wait a second and retry
|
||||
sleep 1
|
||||
touch $f
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
# This functions applies a patch to an existing tree.
|
||||
apply_patch () {
|
||||
if [ -f $1 ]; then
|
||||
echo "Applying patch file $1"
|
||||
case "$1" in
|
||||
*gz)
|
||||
gzip -d -c $1 | patch -p1 ;;
|
||||
*)
|
||||
cat $1 | patch -p1 ;;
|
||||
esac
|
||||
fi
|
||||
echo "Adjusting file timestamps"
|
||||
touch_files
|
||||
}
|
||||
|
||||
# Check whether this indeed looks like a local tree.
|
||||
if [ ! -f gcc/version.c ]; then
|
||||
echo "This does not seem to be an egcs tree!"
|
||||
exit
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
# First of all, check whether we are going to process a patch.
|
||||
--patch)
|
||||
if test "$#" != 2; then
|
||||
echo "$1" expects only one argument >&2
|
||||
exit 1
|
||||
fi
|
||||
apply_patch "${2}"
|
||||
exit $?
|
||||
;;
|
||||
|
||||
--touch)
|
||||
if test "$#" != 1; then
|
||||
echo "$1" does not expect any argument >&2
|
||||
exit 1
|
||||
fi
|
||||
touch_files
|
||||
exit $?
|
||||
;;
|
||||
|
||||
--list)
|
||||
if test "$#" != 1; then
|
||||
echo "$1" does not expect any argument >&2
|
||||
exit 1
|
||||
fi
|
||||
files_and_dependencies | sed 's/ /: /'
|
||||
exit $?
|
||||
;;
|
||||
|
||||
--help)
|
||||
sed -e '1,2d' -e '/^UPDATE_OPTIONS=/{i\
|
||||
\
|
||||
|
||||
p
|
||||
}' \
|
||||
-e '/^$/,$d' -e 's/#//' -e 's/^ //' < $0
|
||||
exit $?
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
# Check whether this indeed looks like a local CVS tree.
|
||||
if [ ! -d CVS ]; then
|
||||
echo "This does not seem to be an egcs CVS tree!"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Check command-line options
|
||||
if [ x"${1}"x = x"--nostdflags"x ]; then
|
||||
shift
|
||||
else
|
||||
set -- $UPDATE_OPTIONS ${1+"$@"}
|
||||
fi
|
||||
|
||||
echo "Updating CVS tree"
|
||||
cvs -q update ${1+"$@"}
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "CVS update of full tree failed." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Adjusting file timestamps"
|
||||
touch_files
|
||||
148
gcc/contrib/gperf-2.7-19981006.pat
Normal file
148
gcc/contrib/gperf-2.7-19981006.pat
Normal file
@@ -0,0 +1,148 @@
|
||||
Tue Oct 6 16:18:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* key-list.cc (output_keyword_blank_entries): Output
|
||||
get_fill_default() in the blank entries of keywords as a trailing
|
||||
list of initializers.
|
||||
|
||||
* options.cc: Add support for fill_default.
|
||||
|
||||
* options.h: Likewise.
|
||||
|
||||
* options.icc: Likewise.
|
||||
|
||||
* version.cc: Update to indicate forked version.
|
||||
|
||||
|
||||
diff -rup orig/gperf-2.7/src/key-list.cc gperf-2.7/src/key-list.cc
|
||||
--- orig/gperf-2.7/src/key-list.cc Wed Apr 15 18:02:51 1998
|
||||
+++ gperf-2.7/src/key-list.cc Tue Oct 6 15:38:54 1998
|
||||
@@ -1069,7 +1069,7 @@ output_keyword_blank_entries (int count,
|
||||
printf (", ");
|
||||
}
|
||||
if (option[TYPE])
|
||||
- printf ("{\"\"}");
|
||||
+ printf ("{\"\"%s}", option.get_fill_default());
|
||||
else
|
||||
printf ("\"\"");
|
||||
column++;
|
||||
diff -rup orig/gperf-2.7/src/options.cc gperf-2.7/src/options.cc
|
||||
--- orig/gperf-2.7/src/options.cc Sat May 2 06:35:16 1998
|
||||
+++ gperf-2.7/src/options.cc Tue Oct 6 15:20:03 1998
|
||||
@@ -40,6 +40,9 @@ static const int DEFAULT_JUMP_VALUE = 5;
|
||||
/* Default name for generated lookup function. */
|
||||
static const char *const DEFAULT_NAME = "in_word_set";
|
||||
|
||||
+/* Default filler for keyword table. */
|
||||
+static const char *const DEFAULT_FILL = "";
|
||||
+
|
||||
/* Default name for the key component. */
|
||||
static const char *const DEFAULT_KEY = "name";
|
||||
|
||||
@@ -66,6 +69,7 @@ int Options::argument_count;
|
||||
int Options::iterations;
|
||||
char **Options::argument_vector;
|
||||
const char *Options::function_name;
|
||||
+const char *Options::fill_default;
|
||||
const char *Options::key_name;
|
||||
const char *Options::class_name;
|
||||
const char *Options::hash_name;
|
||||
@@ -265,6 +269,7 @@ Options::Options (void)
|
||||
jump = DEFAULT_JUMP_VALUE;
|
||||
option_word = DEFAULTCHARS | C;
|
||||
function_name = DEFAULT_NAME;
|
||||
+ fill_default = DEFAULT_FILL;
|
||||
key_name = DEFAULT_KEY;
|
||||
hash_name = DEFAULT_HASH_NAME;
|
||||
wordlist_name = DEFAULT_WORDLIST_NAME;
|
||||
@@ -306,6 +311,7 @@ Options::~Options (void)
|
||||
"\nSEVENBIT is....: %s"
|
||||
"\niterations = %d"
|
||||
"\nlookup function name = %s"
|
||||
+ "\nfill default = %s"
|
||||
"\nhash function name = %s"
|
||||
"\nword list name = %s"
|
||||
"\nkey name = %s"
|
||||
@@ -336,7 +342,7 @@ Options::~Options (void)
|
||||
option_word & INCLUDE ? "enabled" : "disabled",
|
||||
option_word & SEVENBIT ? "enabled" : "disabled",
|
||||
iterations,
|
||||
- function_name, hash_name, wordlist_name, key_name,
|
||||
+ function_name, fill_default, hash_name, wordlist_name, key_name,
|
||||
jump, size - 1, initial_asso_value, delimiters, total_switches);
|
||||
if (option_word & ALLCHARS)
|
||||
fprintf (stderr, "all characters are used in the hash function\n");
|
||||
@@ -379,6 +385,7 @@ static const struct option long_options[
|
||||
{ "compare-strlen", no_argument, 0, 'l' },
|
||||
{ "duplicates", no_argument, 0, 'D' },
|
||||
{ "fast", required_argument, 0, 'f' },
|
||||
+ { "fill-default", required_argument, 0, 'F' },
|
||||
{ "initial-asso", required_argument, 0, 'i' },
|
||||
{ "jump", required_argument, 0, 'j' },
|
||||
{ "no-strlen", no_argument, 0, 'n' },
|
||||
@@ -403,7 +410,7 @@ Options::operator() (int argc, char *arg
|
||||
|
||||
while ((option_char =
|
||||
getopt_long (argument_count, argument_vector,
|
||||
- "adcCDe:Ef:gGhH:i:Ij:k:K:lL:nN:oprs:S:tTvW:Z:7",
|
||||
+ "adcCDe:Ef:F:gGhH:i:Ij:k:K:lL:nN:oprs:S:tTvW:Z:7",
|
||||
long_options, (int *)0))
|
||||
!= -1)
|
||||
{
|
||||
@@ -575,6 +582,11 @@ Options::operator() (int argc, char *arg
|
||||
case 'N': /* Make generated lookup function name be optarg */
|
||||
{
|
||||
function_name = /*getopt*/optarg;
|
||||
+ break;
|
||||
+ }
|
||||
+ case 'F': /* Make fill_default be optarg */
|
||||
+ {
|
||||
+ fill_default = /*getopt*/optarg;
|
||||
break;
|
||||
}
|
||||
case 'o': /* Order input by frequency of key set occurrence. */
|
||||
diff -rup orig/gperf-2.7/src/options.h gperf-2.7/src/options.h
|
||||
--- orig/gperf-2.7/src/options.h Tue Apr 14 06:55:28 1998
|
||||
+++ gperf-2.7/src/options.h Tue Oct 6 15:12:46 1998
|
||||
@@ -97,6 +97,7 @@ public:
|
||||
static int initial_value (void);
|
||||
static int get_total_switches (void);
|
||||
static const char *get_function_name (void);
|
||||
+ static const char *get_fill_default (void);
|
||||
static const char *get_key_name (void);
|
||||
static const char *get_class_name (void);
|
||||
static const char *get_hash_name (void);
|
||||
@@ -115,6 +116,7 @@ private:
|
||||
static int iterations; /* Amount to iterate when a collision occurs. */
|
||||
static char **argument_vector; /* Stores a pointer to command-line vector. */
|
||||
static const char *function_name; /* Names used for generated lookup function. */
|
||||
+ static const char *fill_default; /* Expression used to assign default values in keyword table. */
|
||||
static const char *key_name; /* Name used for keyword key. */
|
||||
static const char *class_name; /* Name used for generated C++ class. */
|
||||
static const char *hash_name; /* Name used for generated hash function. */
|
||||
diff -rup orig/gperf-2.7/src/options.icc gperf-2.7/src/options.icc
|
||||
--- orig/gperf-2.7/src/options.icc Sat Mar 21 07:51:17 1998
|
||||
+++ gperf-2.7/src/options.icc Tue Oct 6 15:27:36 1998
|
||||
@@ -110,6 +110,14 @@ Options::get_function_name (void)
|
||||
return function_name;
|
||||
}
|
||||
|
||||
+/* Returns the fill default. */
|
||||
+INLINE const char *
|
||||
+Options::get_fill_default (void)
|
||||
+{
|
||||
+ T (Trace t ("Options::get_fill_default");)
|
||||
+ return fill_default;
|
||||
+}
|
||||
+
|
||||
/* Returns the keyword key name. */
|
||||
INLINE const char *
|
||||
Options::get_key_name (void)
|
||||
diff -rup orig/gperf-2.7/src/version.cc gperf-2.7/src/version.cc
|
||||
--- orig/gperf-2.7/src/version.cc Sat May 2 06:29:43 1998
|
||||
+++ gperf-2.7/src/version.cc Tue Oct 6 16:04:56 1998
|
||||
@@ -19,4 +19,4 @@ You should have received a copy of the G
|
||||
along with GNU GPERF; see the file COPYING. If not, write to the Free
|
||||
Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111, USA. */
|
||||
|
||||
-const char *version_string = "2.7";
|
||||
+const char *version_string = "2.7.1 (19981006 egcs)";
|
||||
25
gcc/contrib/index-prop
Executable file
25
gcc/contrib/index-prop
Executable file
@@ -0,0 +1,25 @@
|
||||
#! /usr/bin/perl -wi
|
||||
# Fix up the output of cvs diff -c so that it works with patch.
|
||||
# We do this by propagating the full pathname from the Index: line
|
||||
# into the diff itself.
|
||||
#
|
||||
# Thrown together by Jason Merrill <jason@cygnus.com>
|
||||
|
||||
while (<>)
|
||||
{
|
||||
if (/^Index: (.*)/)
|
||||
{
|
||||
$full = $1;
|
||||
print;
|
||||
for (1..7)
|
||||
{
|
||||
$_ = <>;
|
||||
s/ [^\t]+\t/ $full\t/;
|
||||
print;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
print;
|
||||
}
|
||||
}
|
||||
114
gcc/contrib/test_installed
Executable file
114
gcc/contrib/test_installed
Executable file
@@ -0,0 +1,114 @@
|
||||
#! /bin/sh
|
||||
|
||||
# (C) 1998 Free Software Foundation
|
||||
# Originally by Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
# This script is Free Software, and it can be copied, distributed and
|
||||
# modified as defined in the GNU General Public License. A copy of
|
||||
# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
|
||||
|
||||
# This scripts assumes it lives in the contrib directory of the egcs
|
||||
# source tree, so it will find the testsuite tree from its location.
|
||||
# If you move it elsewhere, or want to use another testsuite tree, you
|
||||
# can override the defaults with --srcdir=/some/dir/egcs or
|
||||
# --testsuite=/some/dir/egcs/gcc/testsuite. If you specify
|
||||
# --testsuite, --srcdir will be ignored; otherwise, `/gcc/testsuite'
|
||||
# will be appended to the srcdir.
|
||||
|
||||
# You may specify where the binaries to be tested should be picked up
|
||||
# from. If you specify --prefix=/some/dir, gcc, g++ and g77 will be
|
||||
# looked for at /some/dir/bin. Each one may be overridden by
|
||||
# specifying --with-gcc=/pathname/to/gcc, --with-g++=/pathname/to/g++
|
||||
# and --with-g77=/pathname/to/g77. If you specify --without-gcc,
|
||||
# --without-g++ or --without-g77, the test for the specified program
|
||||
# will be skipped. By default, gcc, g++ and g77 will be searched in
|
||||
# the PATH.
|
||||
|
||||
# An additional argument may specify --tmpdir=/some/dir; by default,
|
||||
# temporaries will be stored in the current directory, where the log
|
||||
# files will be stored.
|
||||
|
||||
# The script will interpret arguments until it finds one it does not
|
||||
# understand. The remaining ones will be passed to `runtest'. A
|
||||
# double-dash can be used to explicitly separate the arguments to
|
||||
# `test_installed' from the ones to `runtest'.
|
||||
|
||||
# This script should be run in an empty directory; it will refuse to
|
||||
# run if it finds a file named site.exp in the current directory.
|
||||
|
||||
|
||||
if test -f site.exp; then
|
||||
echo site.exp already exists >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while true; do
|
||||
case "$1" in
|
||||
--with-testsuite=*) testsuite=`echo "$1" | sed 's/[^=]*=//'`; shift;;
|
||||
--srcdir=*) srcdir=`echo "$1" | sed 's/[^=]*=//'`; shift;;
|
||||
|
||||
--prefix=*) prefix=`echo "$1" | sed 's/[^=]*=//'`; shift;;
|
||||
--with-gcc=*) GCC_UNDER_TEST=`echo "$1" | sed 's/[^=]*=//'`; shift;;
|
||||
--with-g++=*) GXX_UNDER_TEST=`echo "$1" | sed 's/[^=]*=//'`; shift;;
|
||||
--with-g77=*) G77_UNDER_TEST=`echo "$1" | sed 's/[^=]*=//'`; shift;;
|
||||
--without-gcc) GCC_UNDER_TEST=no; shift;;
|
||||
--without-g++) GXX_UNDER_TEST=no; shift;;
|
||||
--without-g77) G77_UNDER_TEST=no; shift;;
|
||||
|
||||
--tmpdir=*) tmpdir=`echo "$1" | sed 's/[^=]*=//'`; shift;;
|
||||
|
||||
--help) cat <<\EOF
|
||||
Runs the testsuite for an installed version of gcc/g++/g77
|
||||
Copyright (C) 1998 Free Software Foundation
|
||||
by Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
Supported arguments:
|
||||
|
||||
--help prints this page
|
||||
|
||||
--with-testsuite=/some/dir/gcc/testsuite specify the testsuite directory
|
||||
--srcdir=/some/dir same as --with-testsuite=/some/dir/gcc/testsuite
|
||||
[deduced from shell-script pathname]
|
||||
|
||||
--prefix=/some/dir use gcc, g++ and g77 from /some/dir/bin [PATH]
|
||||
--with-gcc=/some/dir/bin/gcc use specified gcc program [gcc]
|
||||
--with-g++=/some/dir/bin/g++ use specified g++ program [g++]
|
||||
--with-g77=/some/dir/bin/g77 use specified g77 program [g77]
|
||||
--without-gcc do not run gcc testsuite
|
||||
--without-g++ do not run g++ testsuite
|
||||
--without-g77 do not run g77 testsuite
|
||||
|
||||
--tmpdir=/some/dir create temporaries and leave failed programs
|
||||
at specified directory [.]
|
||||
|
||||
-- end of argument list; following arguments are passed to runtest
|
||||
EOF
|
||||
exit
|
||||
;;
|
||||
|
||||
--) shift; break;;
|
||||
*) break;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test x"${testsuite+set}" != x"set" && test x"${srcdir+set}" != x"set"; then
|
||||
file=$0
|
||||
while [ -h $file ]; do
|
||||
file=`ls -l $file | sed s/'.* -> '//`
|
||||
done
|
||||
srcdir=`CDPATH=. && cd \`echo "$file" | sed 's,/*[^/]*$,,;s,^$,.,'\`/.. >/dev/null && pwd`
|
||||
fi
|
||||
|
||||
cat >site.exp <<EOF
|
||||
set tmpdir "${tmpdir-`pwd`}"
|
||||
set srcdir "${testsuite-${srcdir}/gcc/testsuite}"
|
||||
set GCC_UNDER_TEST "${GCC_UNDER_TEST-${prefix}${prefix+/bin/}gcc}"
|
||||
set GXX_UNDER_TEST "${GXX_UNDER_TEST-${prefix}${prefix+/bin/}g++}"
|
||||
set G77_UNDER_TEST "${G77_UNDER_TEST-${prefix}${prefix+/bin/}g77}"
|
||||
EOF
|
||||
|
||||
test x"${GCC_UNDER_TEST}" = x"no" || runtest --tool gcc ${1+"$@"}
|
||||
test x"${GXX_UNDER_TEST}" = x"no" || runtest --tool g++ ${1+"$@"}
|
||||
test x"${G77_UNDER_TEST}" = x"no" || runtest --tool g77 ${1+"$@"}
|
||||
|
||||
exit 0
|
||||
129
gcc/contrib/test_summary
Executable file
129
gcc/contrib/test_summary
Executable file
@@ -0,0 +1,129 @@
|
||||
#! /bin/sh
|
||||
|
||||
# (C) 1998-1999 Free Software Foundation
|
||||
# Originally by Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
# This script is Free Software, and it can be copied, distributed and
|
||||
# modified as defined in the GNU General Public License. A copy of
|
||||
# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
|
||||
|
||||
# This script processes *.{sum,log} files, producing a shell-script
|
||||
# that sends e-mail to the appropriate lists and renames files to
|
||||
# *.sent. It currently handles only gcc, but it should be quite easy
|
||||
# to modify it to handle other packages and its mailing lists.
|
||||
|
||||
# The scripts assumes it is run in the root directory of the build
|
||||
# tree, and it will include all .sum files it finds in the mail
|
||||
# report.
|
||||
|
||||
# configure flags are extracted from ./config.status
|
||||
|
||||
# if the BOOT_CFLAGS environment variable is set, it will be included
|
||||
# in the mail report too.
|
||||
|
||||
# The usage pattern of this script is as follows:
|
||||
|
||||
# test_summary | more # so as to observe what should be done
|
||||
|
||||
# test_summary | sh # so as to actually send e-mail and move log files
|
||||
|
||||
# It accepts a few command line arguments. For example:
|
||||
# -o: re-reads logs that have been mailed already (.sum.sent)
|
||||
# -t: prevents logs from being renamed
|
||||
# -p: prepend specified file (or list of files: -p "a b") to the report
|
||||
# -i: append specified file (or list of files: -i "a b") to the report
|
||||
# -m: specify the e-mail address to send notes to. An appropriate default
|
||||
# should be selected from the log files.
|
||||
# -f: force reports to be mailed; if omitted, only reports that differ
|
||||
# from the sent.* version are sent.
|
||||
|
||||
# Find a good awk.
|
||||
if test -z "$AWK" ; then
|
||||
for AWK in gawk nawk awk ; do
|
||||
if type $AWK 2>&1 | grep 'not found' > /dev/null 2>&1 ; then
|
||||
:
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
: ${filesuffix=}; export fileprefix
|
||||
: ${move=true}; export move
|
||||
: ${forcemail=false}; export forcemail
|
||||
while true; do
|
||||
case "$1" in
|
||||
-o) filesuffix=.sent; move=false; : ${mailto=nobody}; shift;;
|
||||
-t) move=false; shift;;
|
||||
-p) prepend_logs=${prepend_logs+"$prepend_logs "}"$2"; shift 2;;
|
||||
-i) append_logs=${append_logs+"$append_logs "}"$2"; shift 2;;
|
||||
-m) mailto=$2; forcemail=true; shift 2;;
|
||||
-f) unset mailto; forcemail=true; shift;;
|
||||
*) break;;
|
||||
esac
|
||||
done
|
||||
: ${mailto="\" address \""}; export mailto
|
||||
files=`find . -name \*.sum$filesuffix -print`
|
||||
anyfile=false anychange=$forcemail &&
|
||||
for file in $files; do
|
||||
[ -f $file ] &&
|
||||
anyfile=true &&
|
||||
{ $anychange ||
|
||||
anychange=`diff -u $file.sent $file 2>/dev/null |
|
||||
if test ! -f $file.sent ||
|
||||
egrep '^[-+](XPASS|FAIL)' >/dev/null; then
|
||||
echo true
|
||||
else
|
||||
echo false
|
||||
fi
|
||||
`
|
||||
}
|
||||
true
|
||||
done &&
|
||||
$anyfile &&
|
||||
if $forcemail || $anychange; then :; else mailto=nobody; fi &&
|
||||
$AWK '
|
||||
BEGIN {
|
||||
lang="";
|
||||
address="gcc-testresults@gcc.gnu.org";
|
||||
version="gcc";
|
||||
print "cat <<\EOF |";
|
||||
'${prepend_logs+" system(\"cat $prepend_logs\"); "}'
|
||||
}
|
||||
$1 ~ /\/configure$/ { $1 = "configure flags:"; configflags = $0 }
|
||||
/^Running target / { print ""; print; }
|
||||
/^Target / { if (host != "") next; else host = $3; }
|
||||
/^Native / { if (host != "") next; else host = $4; }
|
||||
/^[ ]*=== [^ ]+ tests ===/ {
|
||||
if (lang == "") lang = " "$2" "; else lang = " ";
|
||||
}
|
||||
/--disable-haifa/ { prefix="haifa-disabled "; }
|
||||
/--enable-haifa/ { prefix="haifa-enabled "; }
|
||||
$2 == "version" { save = $0; $1 = ""; $2 = ""; version = $0; gsub(/^ */, "", version); gsub(/\r$/, "", version); $0 = save; }
|
||||
/\===.*Summary/ { print ""; print; blanks=1; }
|
||||
/tests ===/ || /^(Target|Host|Native)/ || $2 == "version" { print; blanks=1; }
|
||||
/^(XPASS|FAIL|# of )/ { print; }
|
||||
# dumpall != 0 && /^X?(PASS|FAIL|UNTESTED)|^testcase/ { dumpall=0; }
|
||||
# dumpall != 0 { print; }
|
||||
# /^FAIL/ { dumpall=1; }
|
||||
/^$/ && blanks>0 { print; --blanks; }
|
||||
END { if (lang != "") {
|
||||
print "";
|
||||
print "Compiler version: " prefix version lang;
|
||||
print "Platform: " host;
|
||||
print configflags;
|
||||
'${BOOT_CFLAGS+'print "BOOT_CFLAGS='"${BOOT_CFLAGS}"'";'}'
|
||||
if (boot_cflags != 0) print boot_cflags;
|
||||
'${append_logs+" system(\"cat $append_logs\"); "}'
|
||||
print "EOF";
|
||||
print "Mail -s \"Results for " prefix version lang "testsuite on " host "\" '"${mailto}"' &&";
|
||||
}}
|
||||
{ next; }
|
||||
' ./config.status $files | sed "s/\([\`\$\\\\]\)/\\\\\\1/g" &&
|
||||
if $move; then
|
||||
for file in $files `ls -1 $files | sed s/sum$/log/`; do
|
||||
[ -f $file ] && echo "mv `pwd`/$file `pwd`/$file.sent &&"
|
||||
done
|
||||
fi &&
|
||||
echo true
|
||||
exit 0
|
||||
193
gcc/contrib/warn_summary
Executable file
193
gcc/contrib/warn_summary
Executable file
@@ -0,0 +1,193 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This script parses the output of a gcc bootstrap when using warning
|
||||
# flags and determines various statistics.
|
||||
#
|
||||
# usage: warn_summary [-llf] [-s stage] [-nosub|-ch|-cp|-f|-java]
|
||||
# [-pass|-wpass] [file(s)]
|
||||
#
|
||||
# -llf
|
||||
# Filter out long lines from the bootstap output before any other
|
||||
# action. This is useful for systems with broken awks/greps which choke
|
||||
# on long lines. It is not done by default as it sometimes slows things
|
||||
# down.
|
||||
#
|
||||
# -s number
|
||||
# Take warnings from stage "Number". Stage 0 means show warnings from
|
||||
# before and after the gcc bootstrap directory. E.g. libraries, etc.
|
||||
# This presupposes using "gcc -W*" for the stage1 compiler.
|
||||
#
|
||||
# -nosub
|
||||
# Only show warnings from the gcc top level directory.
|
||||
# -ch|-cp|-f|-java
|
||||
# Only show warnings from the specified language subdirectory.
|
||||
# These flags assume the output contains "Entering/Leaving" messages from
|
||||
# gnu make. They override each other so only the last one takes effect.
|
||||
#
|
||||
# -pass
|
||||
# Pass through the bootstrap output after filtering stage and subdir
|
||||
# (useful for manual inspection.) This is all lines, not just warnings.
|
||||
# -wpass
|
||||
# Pass through only warnings from the bootstrap output after filtering
|
||||
# stage and subdir.
|
||||
#
|
||||
# By Kaveh Ghazi (ghazi@caip.rutgers.edu) 12/13/97.
|
||||
|
||||
|
||||
# Some awks choke on long lines, sed seems to do a better job.
|
||||
# Truncate lines > 255 characters. RE '.\{255,\}' doesn't seem to work. :-(
|
||||
# Only do this if -llf was specified, because it can really slow things down.
|
||||
longLineFilter()
|
||||
{
|
||||
if test -z "$llf" ; then
|
||||
cat $1
|
||||
else
|
||||
sed 's/^\(...............................................................................................................................................................................................................................................................\).*/\1/' $1
|
||||
fi
|
||||
}
|
||||
|
||||
# This function does one of three things. It either passes through
|
||||
# all warning data, or passes through gcc toplevel warnings, or passes
|
||||
# through a particular subdirectory set of warnings.
|
||||
subdirectoryFilter()
|
||||
{
|
||||
longLineFilter $1 | (
|
||||
if test -z "$filter" ; then
|
||||
# Pass through all lines.
|
||||
cat
|
||||
else
|
||||
if test "$filter" = nosub ; then
|
||||
# Omit all subdirectories.
|
||||
$AWK 'BEGIN{t=1} ; /Entering directory.*\/gcc\/[a-z]/{t--} ; /Leaving directory.*\/gcc\/[a-z]/{t++} ; {if(t==1)print}'
|
||||
else
|
||||
# Pass through only subdir $filter.
|
||||
$AWK "BEGIN {t=-1} ; /^cd $filter; make/{t=0} ; /Entering directory .*\/gcc\/$filter/{t++} ; /Leaving directory .*\/gcc\/$filter/{t--} ; {if(t==1)print}"
|
||||
fi
|
||||
fi )
|
||||
}
|
||||
|
||||
# This function displays all lines from stageN of the bootstrap. If
|
||||
# stage==0, then show lines prior to stage1 and lines from after the last
|
||||
# stage. I.e. utilities, libraries, etc.
|
||||
stageNfilter()
|
||||
{
|
||||
if test "$stageN" -lt 1 ; then
|
||||
# stage "0" means check everything *but* gcc.
|
||||
$AWK "BEGIN{t=1} ; /^Bootstrapping the compiler/{t=0} ; /^Building runtime libraries/{t=1} ; {if(t==1)print}"
|
||||
else
|
||||
if test "$stageN" -eq 1 ; then
|
||||
$AWK "/^Bootstrapping the compiler|^Building the C and C\+\+ compiler/{t=1} ; /stage$stageN/{t=0} ; {if(t==1)print}"
|
||||
else
|
||||
stageNminus1=`expr $stageN - 1`
|
||||
$AWK "/stage$stageNminus1/{t=1} ; /stage$stageN/{t=0} ; {if(t==1)print}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# This function displays lines containing warnings.
|
||||
warningFilter()
|
||||
{
|
||||
grep ' warning: ' $1
|
||||
}
|
||||
|
||||
# This function replaces `xxx' with `???', where xxx is usually some
|
||||
# variable or function name. This allows similar warnings to be
|
||||
# counted together when summarizing. However it avoids replacing
|
||||
# certain C keywords which are known appear in various messages.
|
||||
|
||||
keywordFilter() {
|
||||
sed 's/.*warning: //;
|
||||
s/`\(int\)'"'"'/"\1"/g;
|
||||
s/`\(long\)'"'"'/"\1"/g;
|
||||
s/`\(char\)'"'"'/"\1"/g;
|
||||
s/`\(inline\)'"'"'/"\1"/g;
|
||||
s/`\(else\)'"'"'/"\1"/g;
|
||||
s/`\(return\)'"'"'/"\1"/g;
|
||||
s/`\(static\)'"'"'/"\1"/g;
|
||||
s/`\(extern\)'"'"'/"\1"/g;
|
||||
s/`\(const\)'"'"'/"\1"/g;
|
||||
s/`\(noreturn\)'"'"'/"\1"/g;
|
||||
s/`\(longjmp\)'"'"' or `\(vfork\)'"'"'/"\1" or "\2"/g;
|
||||
s/`'"[^']*'/"'`???'"'/g;"'
|
||||
s/.*format, .* arg (arg [0-9][0-9]*)/??? format, ??? arg (arg ???)/;
|
||||
s/\([( ]\)arg [0-9][0-9]*\([) ]\)/\1arg ???\2/;
|
||||
s/"\([^"]*\)"/`\1'"'"'/g'
|
||||
}
|
||||
|
||||
|
||||
# Start the main section.
|
||||
|
||||
usage="usage: `basename $0` [-llf] [-s stage] [-nosub|-ch|-cp|-f|-java] [-pass|-wpass] [file(s)]"
|
||||
stageN=3
|
||||
tmpfile=/tmp/tmp-warn.$$
|
||||
|
||||
# Remove $tmpfile on exit and various signals.
|
||||
trap "rm -f $tmpfile" 0
|
||||
trap "rm -f $tmpfile ; exit 1" 1 2 3 5 9 13 15
|
||||
|
||||
# Find a good awk.
|
||||
if test -z "$AWK" ; then
|
||||
for AWK in gawk nawk awk ; do
|
||||
if type $AWK 2>&1 | grep 'not found' > /dev/null 2>&1 ; then
|
||||
:
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Parse command line arguments.
|
||||
while test -n "$1" ; do
|
||||
case "$1" in
|
||||
-llf) llf=1 ; shift ;;
|
||||
-s) if test -z "$2"; then echo $usage; exit 1; fi; stageN="$2"; shift 2 ;;
|
||||
-s*) stageN="`expr $1 : '-s\(.*\)'`" ; shift ;;
|
||||
-nosub|-ch|-cp|-f|-java) filter="`expr $1 : '-\(.*\)'`" ; shift ;;
|
||||
-pass) pass=1 ; shift ;;
|
||||
-wpass) pass=w ; shift ;;
|
||||
-*) echo $usage ; exit 1 ;;
|
||||
*) break ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Check for a valid value of $stageN.
|
||||
case "$stageN" in
|
||||
[0-9]) ;;
|
||||
*) echo "Stage <$stageN> must be in the range [0..9]." ; exit 1 ;;
|
||||
esac
|
||||
|
||||
for file in "$@" ; do
|
||||
|
||||
subdirectoryFilter $file | stageNfilter > $tmpfile
|
||||
|
||||
# (Just) show me the warnings.
|
||||
if test "$pass" != '' ; then
|
||||
if test "$pass" = w ; then
|
||||
warningFilter $tmpfile
|
||||
else
|
||||
cat $tmpfile
|
||||
fi
|
||||
continue
|
||||
fi
|
||||
|
||||
if test -z "$filter" ; then
|
||||
echo "Counting all warnings,"
|
||||
else
|
||||
if test "$filter" = nosub ; then
|
||||
echo "Counting non-subdirectory warnings,"
|
||||
else
|
||||
echo "Counting warnings in the gcc/$filter subdirectory,"
|
||||
fi
|
||||
fi
|
||||
count=`warningFilter $tmpfile | wc -l`
|
||||
echo there are $count warnings in stage$stageN of this bootstrap.
|
||||
|
||||
echo
|
||||
echo Number of warnings per file:
|
||||
warningFilter $tmpfile | $AWK -F: '{print$1}' | sort | uniq -c | sort -nr
|
||||
|
||||
echo
|
||||
echo Number of warning types:
|
||||
warningFilter $tmpfile | keywordFilter | sort | uniq -c | sort -nr
|
||||
|
||||
done
|
||||
486
gcc/etc/ChangeLog
Normal file
486
gcc/etc/ChangeLog
Normal file
@@ -0,0 +1,486 @@
|
||||
Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
|
||||
|
||||
* gcc-2.95.3 Released.
|
||||
|
||||
2001-01-11 Bernd Schmidt <bernds@redhat.co.uk>
|
||||
|
||||
* standards.texi, make-stds.texi: Update to FSF version of Jan 11.
|
||||
|
||||
2000-05-18 Martin von Loewis <loewis@informatik.hu-berlin.de>
|
||||
|
||||
* standards.texi, make-stds.texi: Update to FSF version of May 13.
|
||||
|
||||
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95.2 Released.
|
||||
|
||||
Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95.1 Released.
|
||||
|
||||
Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95 Released.
|
||||
|
||||
Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95 Released.
|
||||
|
||||
Mon Nov 23 16:46:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* configure.in: Use AC_PREREQ(2.12.1).
|
||||
|
||||
Thu May 14 14:43:10 1998 Nick Clifton <nickc@cygnus.com>
|
||||
|
||||
* targetdoc/arm-interwork.texi: Document dlltool support of
|
||||
interworking.
|
||||
|
||||
Thu May 7 16:49:38 1998 Jason Molenda (crash@bugshack.cygnus.com)
|
||||
|
||||
* Install.in: Remove references to TCL_LIBRARY, TK_LIBRARY,
|
||||
and GDBTK_FILENAME.
|
||||
|
||||
Wed Apr 1 17:11:44 1998 Nick Clifton <nickc@cygnus.com>
|
||||
|
||||
* targetdoc/arm-interwork.texi: Document ARM/thumb interworking.
|
||||
|
||||
Tue Mar 31 15:28:20 1998 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* standards.texi, make-stds.texi: Update to current FSF versions.
|
||||
* Makefile.in (standards.info): Depend upon make-std.texi.
|
||||
|
||||
Tue Mar 24 16:13:26 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
|
||||
|
||||
* configure: Regenerate with autoconf 2.12.1 to fix shell issues
|
||||
for NT native builds.
|
||||
|
||||
Mon Mar 9 16:41:04 1998 Doug Evans <devans@canuck.cygnus.com>
|
||||
|
||||
* make-rel-sym-tree (binprogs): Add objcopy.
|
||||
|
||||
Tue Feb 24 18:11:58 1998 Doug Evans <devans@canuck.cygnus.com>
|
||||
|
||||
* make-rel-sym-tree: as.new -> as-new, ld.new -> ld-new
|
||||
nm.new -> nm-new. Make symlinks to crt*.o.
|
||||
|
||||
Fri Nov 21 12:54:58 1997 Manfred Hollstein <manfred@s-direktnet.de>
|
||||
|
||||
* Makefile.in: Add --no-split argument to avoid creating files
|
||||
with names longer than 14 characters.
|
||||
|
||||
Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
|
||||
|
||||
* aclocal.m4: Substitute INSTALL.
|
||||
* configure: Re-built.
|
||||
|
||||
Thu Sep 25 13:13:11 1997 Jason Molenda (crash@pern.cygnus.com)
|
||||
|
||||
* intro.texi: Add closing ifset.
|
||||
|
||||
Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* aclocal.m4: New file with replacement for AC_PROG_INSTALL.
|
||||
* configure.in: Use EGCS_PROG_INSTALL.
|
||||
|
||||
Mon Sep 1 10:31:32 1997 Angela Marie Thomas (angela@cygnus.com)
|
||||
|
||||
* Install.in: Move setting HOST and TARGET to the beginning
|
||||
of the file for editing convenience.
|
||||
|
||||
Mon Sep 1 10:28:37 1997 Angela Marie Thomas (angela@cygnus.com)
|
||||
|
||||
* Install.in.: More friendly options/messages when extracting
|
||||
from a file instead of a tape device.
|
||||
|
||||
Tue Jun 17 15:50:23 1997 Angela Marie Thomas (angela@cygnus.com)
|
||||
|
||||
* Install.in: Add /usr/bsd to PATH for Irix (home of compress)
|
||||
|
||||
Thu Jun 12 13:47:00 1997 Angela Marie Thomas (angela@cygnus.com)
|
||||
|
||||
* Install.in (show_exec_prefix_msg): fix quoting
|
||||
|
||||
Wed Jun 4 15:31:43 1997 Jason Molenda (crash@godzilla.cygnus.co.jp)
|
||||
|
||||
* rebuilding.texi: Removed.
|
||||
|
||||
Sat May 24 18:02:20 1997 Angela Marie Thomas (angela@cygnus.com)
|
||||
|
||||
* cross-tools-fix: Remove host check since it doesn't matter
|
||||
for this case.
|
||||
* Install.in (guess_system): clean up more unused hosts.
|
||||
* Install.in, cross-tools-fix, comp-tools-fix, comp-tools-verify:
|
||||
Hack for host check to not warn the user for certain cases.
|
||||
|
||||
Fri May 23 23:46:10 1997 Angela Marie Thomas (angela@cygnus.com)
|
||||
|
||||
* subst-strings: Remove a lot of unused code
|
||||
* Install.in: Remove reference to TAPEdflt, use variables instead of
|
||||
string substitution when able.
|
||||
|
||||
Fri Apr 11 17:25:52 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* configure.in: Change file named in AC_INIT to Makefile.in.
|
||||
* configure: Rebuild.
|
||||
|
||||
Fri Apr 11 18:12:42 1997 Jason Molenda (crash@godzilla.cygnus.co.jp)
|
||||
|
||||
* Install.in (guess_system): Back out change to INSTALLHOST to
|
||||
call all IRIX systems "mips-sgi-irix4"
|
||||
|
||||
* Makefile.in: Remove references to configure.texi and cfg-paper.texi.
|
||||
|
||||
Thu Apr 10 23:26:45 1997 Jason Molenda (crash@godzilla.cygnus.co.jp)
|
||||
|
||||
* srctree.texi, emacs-relnotes.texi, cfg-paper.texi: Remove.
|
||||
* Install.in: Remove Ultrix-specific hacks.
|
||||
Update Cygnus phone numbers.
|
||||
(guess_system): Remove some old systems (Ultrix, OSF1 v1 & 2,
|
||||
m68k-HPUX, m68k SunOS, etc.)
|
||||
(show_gnu_root_msg): Remove.
|
||||
Removed all the remove option code.
|
||||
|
||||
Thu Apr 10 23:23:33 1997 Jason Molenda (crash@godzilla.cygnus.co.jp)
|
||||
|
||||
* configure.man, configure.texi: Remote.
|
||||
|
||||
Mon Apr 7 18:15:00 1997 Brendan Kehoe <brendan@cygnus.com>
|
||||
|
||||
* Fix the version string for OSF1 4.0 to recognize either
|
||||
V4.* or X4.*
|
||||
|
||||
Mon Apr 7 15:34:47 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* standards.texi, make-stds.texi: Update to current FSF versions.
|
||||
|
||||
Tue Apr 1 16:19:31 1997 Jason Molenda (crash@godzilla.cygnus.co.jp)
|
||||
|
||||
* Install.in (show_exec_prefix_msg): GDBTK_FILENAME to
|
||||
GDBTK_LIBRARY, also update TCL_LIBRARY and TK_LIBRARY.
|
||||
|
||||
Tue Nov 19 15:36:14 1996 Doug Evans <dje@canuck.cygnus.com>
|
||||
|
||||
* make-rel-sym-tree: New file.
|
||||
|
||||
Wed Oct 23 00:34:07 1996 Angela Marie Thomas (angela@cygnus.com)
|
||||
|
||||
* Lots of patches from progressive...
|
||||
* Install.in: restore DDOPTS for AIX 4.x
|
||||
* Install.in, subst-strings: add case for DG Aviion
|
||||
* subst-strings: fix typo in INSTALLdir var setting
|
||||
* comp-tools-verify: set SHLIB_PATH for shared libs
|
||||
* Install.in, subst-strings: add case for solaris2.5
|
||||
* Install.in: fix regression for hppa1.1 check
|
||||
* comp-tools-fix: set LD_LIBRARY_PATH
|
||||
* comp-tools-fix: If fixincludes fixes /usr/include/limits.h,
|
||||
install it as syslimits.h.
|
||||
|
||||
Wed Oct 16 19:20:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||||
|
||||
* Install.in (guess_system): Treat powerpc-ibm-aix4.1 the same as
|
||||
rs6000-ibm-aix4.1, since the compiler now uses common mode by
|
||||
default.
|
||||
|
||||
Wed Oct 2 15:39:07 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
|
||||
|
||||
* configure.in (AC_PROG_INSTALL): Added.
|
||||
* Makefile.in (distclean): Remove config.cache.
|
||||
|
||||
Wed Oct 2 14:33:58 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
|
||||
|
||||
* configure.in: Switch to autoconf configure.in.
|
||||
* configure: New.
|
||||
* Makefile.in: Use autoconf-substituted values.
|
||||
|
||||
Tue Jun 25 18:56:08 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
|
||||
|
||||
* Makefile.in (datadir): Changed to $(prefix)/share.
|
||||
|
||||
Fri Mar 29 11:38:01 1996 J.T. Conklin (jtc@lisa.cygnus.com)
|
||||
|
||||
* configure.man: Changed to be recognized by catman -w on Solaris.
|
||||
|
||||
Wed Dec 6 15:40:28 1995 Doug Evans <dje@canuck.cygnus.com>
|
||||
|
||||
* comp-tools-fix (fixincludes): Define FIXPROTO_DEFINES from
|
||||
.../install-tools/fixproto-defines.
|
||||
|
||||
Sun Nov 12 19:31:27 1995 Jason Molenda (crash@phydeaux.cygnus.com)
|
||||
|
||||
* comp-tools-verify (verify_cxx_initializers): delete argv,
|
||||
argc declarations, add -static to compile line.
|
||||
(verify_cxx_hello_world): delete argv, argc declarations, add
|
||||
-static to compile line.
|
||||
|
||||
Wed Sep 20 13:21:52 1995 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* Makefile.in (maintainer-clean): New target, synonym for
|
||||
realclean.
|
||||
|
||||
Thu Sep 14 17:19:58 1995 Jason Molenda (crash@phydeaux.cygnus.com)
|
||||
|
||||
* Install.in (show_exec_prefix_msg): print out paths for
|
||||
TCL_LIBRARY, TK_LIBRARY and GDBTK_FILENAME.
|
||||
|
||||
Mon Aug 28 17:25:49 1995 Jason Molenda (crash@phydeaux.cygnus.com)
|
||||
|
||||
* Install.in (PATH): add /usr/ucb to $PATH (for SunOS 4.1.x).
|
||||
|
||||
Tue Aug 15 21:51:58 1995 Jason Molenda (crash@phydeaux.cygnus.com)
|
||||
|
||||
* Install.in (guess_system): Match OSF/1 v3.x as the same as
|
||||
v2.x--v2.x binaries are upward compatible.
|
||||
|
||||
Tue Aug 15 21:46:54 1995 Jason Molenda (crash@phydeaux.cygnus.com)
|
||||
|
||||
* Install.in (guess_system): recognize HP 9000/800 systems as the
|
||||
same as HP 9000/700 systems.
|
||||
|
||||
Tue Aug 8 13:11:56 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
|
||||
|
||||
* Install.in: For emacs, run show_emacs_alternate_msg and exit.
|
||||
(show_emacs_alternate_msg): New message saying how emacs can't be
|
||||
installed in an alternate prefix.
|
||||
|
||||
Thu Jun 8 00:42:56 1995 Angela Marie Thomas <angela@cirdan.cygnus.com>
|
||||
|
||||
* subst-strings: change du commands to $BINDIR/. & $SRCDIR/. just
|
||||
in case they are symlinks.
|
||||
|
||||
Tue Apr 18 14:23:10 1995 J.T. Conklin <jtc@rtl.cygnus.com>
|
||||
|
||||
* cdk-fix: Extracted table of targets that don't need their
|
||||
headers fixed from gcc's configure script.
|
||||
|
||||
* cdk-fix, cdk-verify: Use ${HOST} instead of ||HOSTstr||
|
||||
|
||||
* cdk-fix, cdk-verify: New files, install script fragments used
|
||||
for Cygnus Developer's Kit.
|
||||
|
||||
* Install.in (do_mkdir): New function.
|
||||
|
||||
* Install.in: Added support for --with and --without options.
|
||||
Changed so that tape commands are not run when extracting
|
||||
from a file.
|
||||
(do_mt): Changed to take only one argument.
|
||||
|
||||
Wed Mar 29 11:16:38 1995 Jason Molenda (crash@phydeaux.cygnus.com)
|
||||
|
||||
* Install.in: catch UNAME==alpha-dec-osf2.x and correct entry for
|
||||
alpha-dec-osf1.x
|
||||
|
||||
Fri Jan 27 12:04:29 1995 J.T. Conklin <jtc@rtl.cygnus.com>
|
||||
|
||||
* subst-strings (mips-sgi-irix5): New entry in table.
|
||||
|
||||
Thu Jan 19 12:15:44 1995 J.T. Conklin <jtc@rtl.cygnus.com>
|
||||
|
||||
* Install.in: Major rewrite, bundle dependent code (for example,
|
||||
fixincludes for comp-tools) will be inserted into the Install
|
||||
script when it is generated.
|
||||
|
||||
Tue Jan 17 16:51:32 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
|
||||
|
||||
* Makefile.in (Makefile): Rebuild using $(SHELL).
|
||||
|
||||
Thu Nov 3 19:30:33 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||||
|
||||
* Makefile.in (install-info): Depend on info.
|
||||
|
||||
Fri Aug 19 16:16:38 1994 Jason Molenda (crash@phydeaux.cygnus.com)
|
||||
|
||||
* Install.in: set $FIX_HEADER so fixproto can find fix-header.
|
||||
|
||||
Fri May 6 16:18:58 1994 Jason Molenda (crash@sendai.cygnus.com)
|
||||
|
||||
* Makefile.in (install-info): add a semicolon in the if statement.
|
||||
|
||||
Fri Apr 29 16:56:07 1994 David J. Mackenzie (djm@rtl.cygnus.com)
|
||||
|
||||
* cfg-paper.texi: Update some outdated information.
|
||||
|
||||
* Makefile.in (install-info): Pass file, not directory, as last
|
||||
arg to INSTALL_DATA.
|
||||
(uninstall): New target.
|
||||
|
||||
Thu Apr 28 14:42:22 1994 David J. Mackenzie (djm@rtl.cygnus.com)
|
||||
|
||||
* configure.texi: Comment out @smallbook.
|
||||
|
||||
* Makefile.in: Define TEXI2DVI and TEXIDIR, and use the latter.
|
||||
Remove info files in realclean, not clean, per coding standards.
|
||||
Remove TeX output in clean.
|
||||
|
||||
Tue Apr 26 17:18:03 1994 Jason Molenda (crash@sendai.cygnus.com)
|
||||
|
||||
* Install.in: fixincludes output is actually put in fixincludes.log,
|
||||
but echo'ed messages claim it is fixinc.log. This is the same
|
||||
messages as I logged in March 4 1994, but for some reason we found
|
||||
the change hadn't been done. I'll have to dig through the logs
|
||||
and find out what I really did do that day. :)
|
||||
|
||||
Mon Apr 25 20:28:19 1994 Jason Molenda (crash@sendai.cygnus.com)
|
||||
|
||||
* Install.in: use eval to call do_mt() for Ultrix brokenness.
|
||||
|
||||
Mon Apr 25 20:00:00 1994 Jason Molenda (crash@sendai.cygnus.com)
|
||||
|
||||
* Install.in(do_mt): exit with error status 1 if # of parameters
|
||||
!= 3.
|
||||
|
||||
Mon Apr 25 19:42:36 1994 Jason Molenda (crash@sendai.cygnus.com)
|
||||
|
||||
* Install.in: lose TAPE_FORWARD and TAPE_REWIND, add do_mt()
|
||||
to do all tape movement operations. Currently untested. Addresses
|
||||
PR # 4886 from bull.
|
||||
|
||||
* Install.in: add 1994 to the copyright thing.
|
||||
|
||||
Fri Apr 22 19:05:13 1994 David J. Mackenzie (djm@rtl.cygnus.com)
|
||||
|
||||
* standards.texi: Update from FSF.
|
||||
|
||||
Fri Apr 22 15:46:10 1994 Jason Molenda (crash@cygnus.com)
|
||||
|
||||
* Install.in: Add $DDOPTS, has ``bs=124b'' for all systems except
|
||||
AIX (some versions of AIX don't understand bs=124b. Silly OS).
|
||||
|
||||
Mon Apr 4 22:55:05 1994 Jason Molenda (crash@sendai.cygnus.com)
|
||||
|
||||
* Install.in: null out $TOOLS before adding stuff to it
|
||||
non-destructively.
|
||||
|
||||
Wed Mar 30 21:45:35 1994 David J. Mackenzie (djm@rtl.cygnus.com)
|
||||
|
||||
* standards.texi: Fix typo.
|
||||
|
||||
* configure.texi, configure.man: Document --disable-.
|
||||
|
||||
Mon Mar 28 13:22:15 1994 David J. Mackenzie (djm@rtl.cygnus.com)
|
||||
|
||||
* standards.texi: Update from FSF.
|
||||
|
||||
Sat Mar 26 09:21:44 1994 David J. Mackenzie (djm@rtl.cygnus.com)
|
||||
|
||||
* standards.texi, make-stds.texi: Update from FSF.
|
||||
|
||||
Fri Mar 25 22:59:45 1994 David J. Mackenzie (djm@rtl.cygnus.com)
|
||||
|
||||
* configure.texi, configure.man: Document --enable-* options.
|
||||
|
||||
Wed Mar 23 23:38:24 1994 Jason Molenda (crash@sendai.cygnus.com)
|
||||
|
||||
* Install.in: set CPP to be gcc -E for fixincludes.
|
||||
|
||||
Wed Mar 23 13:42:48 1994 Jason Molenda (crash@sendai.cygnus.com)
|
||||
|
||||
* Install.in: set PATH to $PATH:/bin:/usr/bin so we can pick
|
||||
up native tools even if the user doesn't have them in his
|
||||
path.
|
||||
|
||||
* Install.in: ``hppa-1.1-hp-hpux'' -> ``hppa1.1-hp-hpux''.
|
||||
|
||||
Tue Mar 15 22:09:20 1994 Jason Molenda (crash@sendai.cygnus.com)
|
||||
|
||||
* Install.in: TAPE_REWIND and TAPE_FORWARD variables for Unixunaware,
|
||||
added switch statement to detect if system is Unixunaware.
|
||||
|
||||
Fri Mar 4 12:10:30 1994 Jason Molenda (crash@sendai.cygnus.com)
|
||||
|
||||
* Install.in: fixincludes output is actually put in fixincludes.log,
|
||||
but echo'ed messages claim it is fixinc.log.
|
||||
|
||||
Wed Nov 3 02:58:02 1993 Jeffrey Osier (jeffrey@thepub.cygnus.com)
|
||||
|
||||
* subst-strings: output TEXBUNDLE for more install notes matching
|
||||
* install-texi.in: PRMS info now exists
|
||||
|
||||
Tue Oct 26 16:57:12 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
||||
|
||||
* subst-strings: match solaris*. Also, add default case to catch
|
||||
and error out for unrecognized systems.
|
||||
|
||||
Thu Aug 19 18:21:31 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
|
||||
|
||||
* Install.in: handle the new fixproto work
|
||||
|
||||
Mon Jul 19 12:05:41 1993 david d `zoo' zuhn (zoo@cirdan.cygnus.com)
|
||||
|
||||
* Install.in: remove "MT=tctl" for AIX (not needed, and barely
|
||||
worked anyway)
|
||||
|
||||
Mon Jun 14 19:09:22 1993 Jeffrey Osier (jeffrey@cygnus.com)
|
||||
|
||||
* subst-strings: changed HOST to recognize Solaris for install notes
|
||||
|
||||
Thu Jun 10 16:01:25 1993 Jeffrey Osier (jeffrey@cygnus.com)
|
||||
|
||||
* dos-inst.texi: new file.
|
||||
|
||||
Wed Jun 9 19:23:59 1993 Jeffrey Osier (jeffrey@rtl.cygnus.com)
|
||||
|
||||
* install-texi.in: added conditionals (nearly complete)
|
||||
cleaned up
|
||||
added support for other releases (not done)
|
||||
|
||||
Wed Jun 9 15:53:58 1993 Jim Kingdon (kingdon@cygnus.com)
|
||||
|
||||
* Makefile.in (install-info): Use INSTALL_DATA.
|
||||
({dist,real}clean): Also delete Makefile and config.status.
|
||||
|
||||
Fri Jun 4 17:09:56 1993 Jeffrey Osier (jeffrey@cygnus.com)
|
||||
|
||||
* subst-strings: added data for OS_STRING
|
||||
|
||||
* subst-strings: added support for OS_STRING
|
||||
|
||||
Thu Jun 3 00:37:01 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||||
|
||||
* Install.in: pull COPYING and COPYING.LIB off of the tape
|
||||
|
||||
Tue Jun 1 16:52:08 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||||
|
||||
* subst-strings: replace RELEASE_DIR too
|
||||
|
||||
Mon Mar 22 23:55:27 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||||
|
||||
* Makefile.in: add installcheck target
|
||||
|
||||
Wed Mar 17 02:21:15 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||||
|
||||
* Install.in: fix 'source only' extraction bug where it looked for
|
||||
the src dir under H-<host>/src instead of src; also remove stray
|
||||
reference to EMACSHIBIN
|
||||
|
||||
Mon Mar 15 01:25:45 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||||
|
||||
* make-stds.texi: added 'installcheck' to the standard targets
|
||||
|
||||
Tue Mar 9 19:48:28 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||||
|
||||
* standards.texi: added INFO-DIR-ENTRY, updated version from the FSF
|
||||
|
||||
Tue Feb 9 12:40:23 1993 Ian Lance Taylor (ian@cygnus.com)
|
||||
|
||||
* Makefile.in (standards.info): Added -I$(srcdir) to find
|
||||
make-stds.texi.
|
||||
|
||||
Mon Feb 1 16:32:56 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||||
|
||||
* standards.texi: updated to latest FSF version, which includes:
|
||||
|
||||
* make-stds.texi: new file
|
||||
|
||||
Mon Nov 30 01:31:40 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||||
|
||||
* install-texi.in, relnotes.texi, intro.texi: changed Cygnus phone
|
||||
numbers from the old Palo Alto ones to the new Mtn. View numbers
|
||||
|
||||
Mon Nov 16 16:50:43 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||||
|
||||
* Makefile.in: define $(RM) to "rm -f"
|
||||
|
||||
Sun Oct 11 16:05:48 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
|
||||
|
||||
* intro.texi: added INFO-DIR-ENTRY
|
||||
|
||||
88
gcc/etc/Makefile.in
Normal file
88
gcc/etc/Makefile.in
Normal file
@@ -0,0 +1,88 @@
|
||||
#
|
||||
# Makefile.in for etc
|
||||
#
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
bindir = @bindir@
|
||||
libdir = @libdir@
|
||||
tooldir = $(libdir)
|
||||
datadir = @datadir@
|
||||
|
||||
mandir = @mandir@
|
||||
man1dir = $(mandir)/man1
|
||||
man2dir = $(mandir)/man2
|
||||
man3dir = $(mandir)/man3
|
||||
man4dir = $(mandir)/man4
|
||||
man5dir = $(mandir)/man5
|
||||
man6dir = $(mandir)/man6
|
||||
man7dir = $(mandir)/man7
|
||||
man8dir = $(mandir)/man8
|
||||
man9dir = $(mandir)/man9
|
||||
infodir = @infodir@
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
MAKEINFO = makeinfo
|
||||
TEXI2DVI = texi2dvi
|
||||
|
||||
# Where to find texinfo.tex to format documentation with TeX.
|
||||
TEXIDIR = $(srcdir)/../texinfo
|
||||
|
||||
#### Host, target, and site specific Makefile fragments come in here.
|
||||
###
|
||||
|
||||
INFOFILES = standards.info
|
||||
DVIFILES = standards.dvi
|
||||
|
||||
all:
|
||||
|
||||
install:
|
||||
|
||||
uninstall:
|
||||
|
||||
info: $(INFOFILES)
|
||||
|
||||
install-info: info
|
||||
if test ! -f standards.info ; then cd $(srcdir); fi; \
|
||||
for i in standards.info*; do \
|
||||
$(INSTALL_DATA) $$i $(infodir)/$$i; \
|
||||
done
|
||||
|
||||
dvi: $(DVIFILES)
|
||||
|
||||
standards.info: $(srcdir)/standards.texi $(srcdir)/make-stds.texi
|
||||
$(MAKEINFO) --no-split -I$(srcdir) -o standards.info $(srcdir)/standards.texi
|
||||
|
||||
standards.dvi: $(srcdir)/standards.texi
|
||||
TEXINPUTS=$(TEXIDIR):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/standards.texi
|
||||
|
||||
|
||||
clean:
|
||||
rm -f *.aux *.cp *.cps *.dvi *.fn *.fns *.ky *.kys *.log
|
||||
rm -f *.pg *.pgs *.toc *.tp *.tps *.vr *.vrs
|
||||
|
||||
mostlyclean: clean
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile config.status config.cache
|
||||
|
||||
maintainer-clean realclean: distclean
|
||||
rm -f *.info*
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag)
|
||||
$(SHELL) ./config.status
|
||||
|
||||
## these last targets are for standards.texi conformance
|
||||
dist:
|
||||
check:
|
||||
installcheck:
|
||||
TAGS:
|
||||
63
gcc/etc/aclocal.m4
vendored
Normal file
63
gcc/etc/aclocal.m4
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
AC_DEFUN(EGCS_PROG_INSTALL,
|
||||
[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
|
||||
# Find a good install program. We prefer a C program (faster),
|
||||
# so one script is as good as another. But avoid the broken or
|
||||
# incompatible versions:
|
||||
# SysV /etc/install, /usr/sbin/install
|
||||
# SunOS /usr/etc/install
|
||||
# IRIX /sbin/install
|
||||
# AIX /bin/install
|
||||
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
|
||||
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
|
||||
# ./install, which can be erroneously created by make from ./install.sh.
|
||||
AC_MSG_CHECKING(for a BSD compatible install)
|
||||
if test -z "$INSTALL"; then
|
||||
AC_CACHE_VAL(ac_cv_path_install,
|
||||
[ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
|
||||
for ac_dir in $PATH; do
|
||||
# Account for people who put trailing slashes in PATH elements.
|
||||
case "$ac_dir/" in
|
||||
/|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
|
||||
*)
|
||||
# OSF1 and SCO ODT 3.0 have their own names for install.
|
||||
for ac_prog in ginstall scoinst install; do
|
||||
if test -f $ac_dir/$ac_prog; then
|
||||
if test $ac_prog = install &&
|
||||
grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
|
||||
# AIX install. It has an incompatible calling convention.
|
||||
# OSF/1 installbsd also uses dspmsg, but is usable.
|
||||
:
|
||||
else
|
||||
ac_cv_path_install="$ac_dir/$ac_prog -c"
|
||||
break 2
|
||||
fi
|
||||
fi
|
||||
done
|
||||
;;
|
||||
esac
|
||||
done
|
||||
IFS="$ac_save_IFS"
|
||||
])dnl
|
||||
if test "${ac_cv_path_install+set}" = set; then
|
||||
INSTALL="$ac_cv_path_install"
|
||||
else
|
||||
# As a last resort, use the slow shell script. We don't cache a
|
||||
# path for INSTALL within a source directory, because that will
|
||||
# break other packages using the cache if that directory is
|
||||
# removed, or if the path is relative.
|
||||
INSTALL="$ac_install_sh"
|
||||
fi
|
||||
fi
|
||||
dnl We do special magic for INSTALL instead of AC_SUBST, to get
|
||||
dnl relative paths right.
|
||||
AC_MSG_RESULT($INSTALL)
|
||||
AC_SUBST(INSTALL)dnl
|
||||
|
||||
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
|
||||
# It thinks the first close brace ends the variable substitution.
|
||||
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
|
||||
AC_SUBST(INSTALL_PROGRAM)dnl
|
||||
|
||||
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
|
||||
AC_SUBST(INSTALL_DATA)dnl
|
||||
])
|
||||
855
gcc/etc/configure
vendored
Executable file
855
gcc/etc/configure
vendored
Executable file
@@ -0,0 +1,855 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated automatically using autoconf version 2.12.1
|
||||
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
|
||||
#
|
||||
# This configure script is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy, distribute and modify it.
|
||||
|
||||
# Defaults:
|
||||
ac_help=
|
||||
ac_default_prefix=/usr/local
|
||||
# Any additions from configure.in:
|
||||
|
||||
# Initialize some variables set by options.
|
||||
# The variables have the same names as the options, with
|
||||
# dashes changed to underlines.
|
||||
build=NONE
|
||||
cache_file=./config.cache
|
||||
exec_prefix=NONE
|
||||
host=NONE
|
||||
no_create=
|
||||
nonopt=NONE
|
||||
no_recursion=
|
||||
prefix=NONE
|
||||
program_prefix=NONE
|
||||
program_suffix=NONE
|
||||
program_transform_name=s,x,x,
|
||||
silent=
|
||||
site=
|
||||
srcdir=
|
||||
target=NONE
|
||||
verbose=
|
||||
x_includes=NONE
|
||||
x_libraries=NONE
|
||||
bindir='${exec_prefix}/bin'
|
||||
sbindir='${exec_prefix}/sbin'
|
||||
libexecdir='${exec_prefix}/libexec'
|
||||
datadir='${prefix}/share'
|
||||
sysconfdir='${prefix}/etc'
|
||||
sharedstatedir='${prefix}/com'
|
||||
localstatedir='${prefix}/var'
|
||||
libdir='${exec_prefix}/lib'
|
||||
includedir='${prefix}/include'
|
||||
oldincludedir='/usr/include'
|
||||
infodir='${prefix}/info'
|
||||
mandir='${prefix}/man'
|
||||
|
||||
# Initialize some other variables.
|
||||
subdirs=
|
||||
MFLAGS= MAKEFLAGS=
|
||||
SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
# Maximum number of lines to put in a shell here document.
|
||||
ac_max_here_lines=12
|
||||
|
||||
ac_prev=
|
||||
for ac_option
|
||||
do
|
||||
|
||||
# If the previous option needs an argument, assign it.
|
||||
if test -n "$ac_prev"; then
|
||||
eval "$ac_prev=\$ac_option"
|
||||
ac_prev=
|
||||
continue
|
||||
fi
|
||||
|
||||
case "$ac_option" in
|
||||
-*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
||||
*) ac_optarg= ;;
|
||||
esac
|
||||
|
||||
# Accept the important Cygnus configure options, so we can diagnose typos.
|
||||
|
||||
case "$ac_option" in
|
||||
|
||||
-bindir | --bindir | --bindi | --bind | --bin | --bi)
|
||||
ac_prev=bindir ;;
|
||||
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
|
||||
bindir="$ac_optarg" ;;
|
||||
|
||||
-build | --build | --buil | --bui | --bu)
|
||||
ac_prev=build ;;
|
||||
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
|
||||
build="$ac_optarg" ;;
|
||||
|
||||
-cache-file | --cache-file | --cache-fil | --cache-fi \
|
||||
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
|
||||
ac_prev=cache_file ;;
|
||||
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
|
||||
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
|
||||
cache_file="$ac_optarg" ;;
|
||||
|
||||
-datadir | --datadir | --datadi | --datad | --data | --dat | --da)
|
||||
ac_prev=datadir ;;
|
||||
-datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
|
||||
| --da=*)
|
||||
datadir="$ac_optarg" ;;
|
||||
|
||||
-disable-* | --disable-*)
|
||||
ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
|
||||
# Reject names that are not valid shell variable names.
|
||||
if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
|
||||
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
|
||||
fi
|
||||
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
|
||||
eval "enable_${ac_feature}=no" ;;
|
||||
|
||||
-enable-* | --enable-*)
|
||||
ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
|
||||
# Reject names that are not valid shell variable names.
|
||||
if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
|
||||
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
|
||||
fi
|
||||
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
|
||||
case "$ac_option" in
|
||||
*=*) ;;
|
||||
*) ac_optarg=yes ;;
|
||||
esac
|
||||
eval "enable_${ac_feature}='$ac_optarg'" ;;
|
||||
|
||||
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
|
||||
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
|
||||
| --exec | --exe | --ex)
|
||||
ac_prev=exec_prefix ;;
|
||||
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
|
||||
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
|
||||
| --exec=* | --exe=* | --ex=*)
|
||||
exec_prefix="$ac_optarg" ;;
|
||||
|
||||
-gas | --gas | --ga | --g)
|
||||
# Obsolete; use --with-gas.
|
||||
with_gas=yes ;;
|
||||
|
||||
-help | --help | --hel | --he)
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat << EOF
|
||||
Usage: configure [options] [host]
|
||||
Options: [defaults in brackets after descriptions]
|
||||
Configuration:
|
||||
--cache-file=FILE cache test results in FILE
|
||||
--help print this message
|
||||
--no-create do not create output files
|
||||
--quiet, --silent do not print \`checking...' messages
|
||||
--version print the version of autoconf that created configure
|
||||
Directory and file names:
|
||||
--prefix=PREFIX install architecture-independent files in PREFIX
|
||||
[$ac_default_prefix]
|
||||
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
|
||||
[same as prefix]
|
||||
--bindir=DIR user executables in DIR [EPREFIX/bin]
|
||||
--sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
|
||||
--libexecdir=DIR program executables in DIR [EPREFIX/libexec]
|
||||
--datadir=DIR read-only architecture-independent data in DIR
|
||||
[PREFIX/share]
|
||||
--sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
|
||||
--sharedstatedir=DIR modifiable architecture-independent data in DIR
|
||||
[PREFIX/com]
|
||||
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
|
||||
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
|
||||
--includedir=DIR C header files in DIR [PREFIX/include]
|
||||
--oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
|
||||
--infodir=DIR info documentation in DIR [PREFIX/info]
|
||||
--mandir=DIR man documentation in DIR [PREFIX/man]
|
||||
--srcdir=DIR find the sources in DIR [configure dir or ..]
|
||||
--program-prefix=PREFIX prepend PREFIX to installed program names
|
||||
--program-suffix=SUFFIX append SUFFIX to installed program names
|
||||
--program-transform-name=PROGRAM
|
||||
run sed PROGRAM on installed program names
|
||||
EOF
|
||||
cat << EOF
|
||||
Host type:
|
||||
--build=BUILD configure for building on BUILD [BUILD=HOST]
|
||||
--host=HOST configure for HOST [guessed]
|
||||
--target=TARGET configure for TARGET [TARGET=HOST]
|
||||
Features and packages:
|
||||
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
|
||||
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
||||
--x-includes=DIR X include files are in DIR
|
||||
--x-libraries=DIR X library files are in DIR
|
||||
EOF
|
||||
if test -n "$ac_help"; then
|
||||
echo "--enable and --with options recognized:$ac_help"
|
||||
fi
|
||||
exit 0 ;;
|
||||
|
||||
-host | --host | --hos | --ho)
|
||||
ac_prev=host ;;
|
||||
-host=* | --host=* | --hos=* | --ho=*)
|
||||
host="$ac_optarg" ;;
|
||||
|
||||
-includedir | --includedir | --includedi | --included | --include \
|
||||
| --includ | --inclu | --incl | --inc)
|
||||
ac_prev=includedir ;;
|
||||
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
|
||||
| --includ=* | --inclu=* | --incl=* | --inc=*)
|
||||
includedir="$ac_optarg" ;;
|
||||
|
||||
-infodir | --infodir | --infodi | --infod | --info | --inf)
|
||||
ac_prev=infodir ;;
|
||||
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
|
||||
infodir="$ac_optarg" ;;
|
||||
|
||||
-libdir | --libdir | --libdi | --libd)
|
||||
ac_prev=libdir ;;
|
||||
-libdir=* | --libdir=* | --libdi=* | --libd=*)
|
||||
libdir="$ac_optarg" ;;
|
||||
|
||||
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
|
||||
| --libexe | --libex | --libe)
|
||||
ac_prev=libexecdir ;;
|
||||
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
|
||||
| --libexe=* | --libex=* | --libe=*)
|
||||
libexecdir="$ac_optarg" ;;
|
||||
|
||||
-localstatedir | --localstatedir | --localstatedi | --localstated \
|
||||
| --localstate | --localstat | --localsta | --localst \
|
||||
| --locals | --local | --loca | --loc | --lo)
|
||||
ac_prev=localstatedir ;;
|
||||
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
|
||||
| --localstate=* | --localstat=* | --localsta=* | --localst=* \
|
||||
| --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
|
||||
localstatedir="$ac_optarg" ;;
|
||||
|
||||
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
|
||||
ac_prev=mandir ;;
|
||||
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
|
||||
mandir="$ac_optarg" ;;
|
||||
|
||||
-nfp | --nfp | --nf)
|
||||
# Obsolete; use --without-fp.
|
||||
with_fp=no ;;
|
||||
|
||||
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
|
||||
| --no-cr | --no-c)
|
||||
no_create=yes ;;
|
||||
|
||||
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
|
||||
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
|
||||
no_recursion=yes ;;
|
||||
|
||||
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
|
||||
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
|
||||
| --oldin | --oldi | --old | --ol | --o)
|
||||
ac_prev=oldincludedir ;;
|
||||
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
|
||||
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
|
||||
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
|
||||
oldincludedir="$ac_optarg" ;;
|
||||
|
||||
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
|
||||
ac_prev=prefix ;;
|
||||
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
|
||||
prefix="$ac_optarg" ;;
|
||||
|
||||
-program-prefix | --program-prefix | --program-prefi | --program-pref \
|
||||
| --program-pre | --program-pr | --program-p)
|
||||
ac_prev=program_prefix ;;
|
||||
-program-prefix=* | --program-prefix=* | --program-prefi=* \
|
||||
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
|
||||
program_prefix="$ac_optarg" ;;
|
||||
|
||||
-program-suffix | --program-suffix | --program-suffi | --program-suff \
|
||||
| --program-suf | --program-su | --program-s)
|
||||
ac_prev=program_suffix ;;
|
||||
-program-suffix=* | --program-suffix=* | --program-suffi=* \
|
||||
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
|
||||
program_suffix="$ac_optarg" ;;
|
||||
|
||||
-program-transform-name | --program-transform-name \
|
||||
| --program-transform-nam | --program-transform-na \
|
||||
| --program-transform-n | --program-transform- \
|
||||
| --program-transform | --program-transfor \
|
||||
| --program-transfo | --program-transf \
|
||||
| --program-trans | --program-tran \
|
||||
| --progr-tra | --program-tr | --program-t)
|
||||
ac_prev=program_transform_name ;;
|
||||
-program-transform-name=* | --program-transform-name=* \
|
||||
| --program-transform-nam=* | --program-transform-na=* \
|
||||
| --program-transform-n=* | --program-transform-=* \
|
||||
| --program-transform=* | --program-transfor=* \
|
||||
| --program-transfo=* | --program-transf=* \
|
||||
| --program-trans=* | --program-tran=* \
|
||||
| --progr-tra=* | --program-tr=* | --program-t=*)
|
||||
program_transform_name="$ac_optarg" ;;
|
||||
|
||||
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
|
||||
| -silent | --silent | --silen | --sile | --sil)
|
||||
silent=yes ;;
|
||||
|
||||
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
|
||||
ac_prev=sbindir ;;
|
||||
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
|
||||
| --sbi=* | --sb=*)
|
||||
sbindir="$ac_optarg" ;;
|
||||
|
||||
-sharedstatedir | --sharedstatedir | --sharedstatedi \
|
||||
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
|
||||
| --sharedst | --shareds | --shared | --share | --shar \
|
||||
| --sha | --sh)
|
||||
ac_prev=sharedstatedir ;;
|
||||
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
|
||||
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
|
||||
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
|
||||
| --sha=* | --sh=*)
|
||||
sharedstatedir="$ac_optarg" ;;
|
||||
|
||||
-site | --site | --sit)
|
||||
ac_prev=site ;;
|
||||
-site=* | --site=* | --sit=*)
|
||||
site="$ac_optarg" ;;
|
||||
|
||||
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
|
||||
ac_prev=srcdir ;;
|
||||
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
|
||||
srcdir="$ac_optarg" ;;
|
||||
|
||||
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
|
||||
| --syscon | --sysco | --sysc | --sys | --sy)
|
||||
ac_prev=sysconfdir ;;
|
||||
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
|
||||
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
|
||||
sysconfdir="$ac_optarg" ;;
|
||||
|
||||
-target | --target | --targe | --targ | --tar | --ta | --t)
|
||||
ac_prev=target ;;
|
||||
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
|
||||
target="$ac_optarg" ;;
|
||||
|
||||
-v | -verbose | --verbose | --verbos | --verbo | --verb)
|
||||
verbose=yes ;;
|
||||
|
||||
-version | --version | --versio | --versi | --vers)
|
||||
echo "configure generated by autoconf version 2.12.1"
|
||||
exit 0 ;;
|
||||
|
||||
-with-* | --with-*)
|
||||
ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
|
||||
# Reject names that are not valid shell variable names.
|
||||
if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
|
||||
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
|
||||
fi
|
||||
ac_package=`echo $ac_package| sed 's/-/_/g'`
|
||||
case "$ac_option" in
|
||||
*=*) ;;
|
||||
*) ac_optarg=yes ;;
|
||||
esac
|
||||
eval "with_${ac_package}='$ac_optarg'" ;;
|
||||
|
||||
-without-* | --without-*)
|
||||
ac_package=`echo $ac_option|sed -e 's/-*without-//'`
|
||||
# Reject names that are not valid shell variable names.
|
||||
if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
|
||||
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
|
||||
fi
|
||||
ac_package=`echo $ac_package| sed 's/-/_/g'`
|
||||
eval "with_${ac_package}=no" ;;
|
||||
|
||||
--x)
|
||||
# Obsolete; use --with-x.
|
||||
with_x=yes ;;
|
||||
|
||||
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
|
||||
| --x-incl | --x-inc | --x-in | --x-i)
|
||||
ac_prev=x_includes ;;
|
||||
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
|
||||
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
|
||||
x_includes="$ac_optarg" ;;
|
||||
|
||||
-x-libraries | --x-libraries | --x-librarie | --x-librari \
|
||||
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
|
||||
ac_prev=x_libraries ;;
|
||||
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
|
||||
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
|
||||
x_libraries="$ac_optarg" ;;
|
||||
|
||||
-*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
|
||||
;;
|
||||
|
||||
*)
|
||||
if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
|
||||
echo "configure: warning: $ac_option: invalid host type" 1>&2
|
||||
fi
|
||||
if test "x$nonopt" != xNONE; then
|
||||
{ echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
|
||||
fi
|
||||
nonopt="$ac_option"
|
||||
;;
|
||||
|
||||
esac
|
||||
done
|
||||
|
||||
if test -n "$ac_prev"; then
|
||||
{ echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
|
||||
fi
|
||||
|
||||
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
|
||||
|
||||
# File descriptor usage:
|
||||
# 0 standard input
|
||||
# 1 file creation
|
||||
# 2 errors and warnings
|
||||
# 3 some systems may open it to /dev/tty
|
||||
# 4 used on the Kubota Titan
|
||||
# 6 checking for... messages and results
|
||||
# 5 compiler messages saved in config.log
|
||||
if test "$silent" = yes; then
|
||||
exec 6>/dev/null
|
||||
else
|
||||
exec 6>&1
|
||||
fi
|
||||
exec 5>./config.log
|
||||
|
||||
echo "\
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
" 1>&5
|
||||
|
||||
# Strip out --no-create and --no-recursion so they do not pile up.
|
||||
# Also quote any args containing shell metacharacters.
|
||||
ac_configure_args=
|
||||
for ac_arg
|
||||
do
|
||||
case "$ac_arg" in
|
||||
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
|
||||
| --no-cr | --no-c) ;;
|
||||
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
|
||||
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
|
||||
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
|
||||
ac_configure_args="$ac_configure_args '$ac_arg'" ;;
|
||||
*) ac_configure_args="$ac_configure_args $ac_arg" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# NLS nuisances.
|
||||
# Only set these to C if already set. These must not be set unconditionally
|
||||
# because not all systems understand e.g. LANG=C (notably SCO).
|
||||
# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
|
||||
# Non-C LC_CTYPE values break the ctype check.
|
||||
if test "${LANG+set}" = set; then LANG=C; export LANG; fi
|
||||
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
|
||||
if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
|
||||
if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
|
||||
|
||||
# confdefs.h avoids OS command line length limits that DEFS can exceed.
|
||||
rm -rf conftest* confdefs.h
|
||||
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
|
||||
echo > confdefs.h
|
||||
|
||||
# A filename unique to this package, relative to the directory that
|
||||
# configure is in, which we can look for to find out if srcdir is correct.
|
||||
ac_unique_file=Makefile.in
|
||||
|
||||
# Find the source files, if location was not specified.
|
||||
if test -z "$srcdir"; then
|
||||
ac_srcdir_defaulted=yes
|
||||
# Try the directory containing this script, then its parent.
|
||||
ac_prog=$0
|
||||
ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
|
||||
test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
|
||||
srcdir=$ac_confdir
|
||||
if test ! -r $srcdir/$ac_unique_file; then
|
||||
srcdir=..
|
||||
fi
|
||||
else
|
||||
ac_srcdir_defaulted=no
|
||||
fi
|
||||
if test ! -r $srcdir/$ac_unique_file; then
|
||||
if test "$ac_srcdir_defaulted" = yes; then
|
||||
{ echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
|
||||
else
|
||||
{ echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
|
||||
fi
|
||||
fi
|
||||
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
|
||||
|
||||
# Prefer explicitly selected file to automatically selected ones.
|
||||
if test -z "$CONFIG_SITE"; then
|
||||
if test "x$prefix" != xNONE; then
|
||||
CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
|
||||
else
|
||||
CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
|
||||
fi
|
||||
fi
|
||||
for ac_site_file in $CONFIG_SITE; do
|
||||
if test -r "$ac_site_file"; then
|
||||
echo "loading site script $ac_site_file"
|
||||
. "$ac_site_file"
|
||||
fi
|
||||
done
|
||||
|
||||
if test -r "$cache_file"; then
|
||||
echo "loading cache $cache_file"
|
||||
. $cache_file
|
||||
else
|
||||
echo "creating cache $cache_file"
|
||||
> $cache_file
|
||||
fi
|
||||
|
||||
ac_ext=c
|
||||
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
||||
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
||||
cross_compiling=$ac_cv_prog_cc_cross
|
||||
|
||||
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
|
||||
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
|
||||
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
|
||||
ac_n= ac_c='
|
||||
' ac_t=' '
|
||||
else
|
||||
ac_n=-n ac_c= ac_t=
|
||||
fi
|
||||
else
|
||||
ac_n= ac_c='\c' ac_t=
|
||||
fi
|
||||
|
||||
|
||||
|
||||
ac_aux_dir=
|
||||
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
|
||||
if test -f $ac_dir/install-sh; then
|
||||
ac_aux_dir=$ac_dir
|
||||
ac_install_sh="$ac_aux_dir/install-sh -c"
|
||||
break
|
||||
elif test -f $ac_dir/install.sh; then
|
||||
ac_aux_dir=$ac_dir
|
||||
ac_install_sh="$ac_aux_dir/install.sh -c"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -z "$ac_aux_dir"; then
|
||||
{ echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
|
||||
fi
|
||||
ac_config_guess=$ac_aux_dir/config.guess
|
||||
ac_config_sub=$ac_aux_dir/config.sub
|
||||
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
|
||||
|
||||
# Find a good install program. We prefer a C program (faster),
|
||||
# so one script is as good as another. But avoid the broken or
|
||||
# incompatible versions:
|
||||
# SysV /etc/install, /usr/sbin/install
|
||||
# SunOS /usr/etc/install
|
||||
# IRIX /sbin/install
|
||||
# AIX /bin/install
|
||||
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
|
||||
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
|
||||
# ./install, which can be erroneously created by make from ./install.sh.
|
||||
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
|
||||
echo "configure:554: checking for a BSD compatible install" >&5
|
||||
if test -z "$INSTALL"; then
|
||||
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
|
||||
for ac_dir in $PATH; do
|
||||
# Account for people who put trailing slashes in PATH elements.
|
||||
case "$ac_dir/" in
|
||||
/|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
|
||||
*)
|
||||
# OSF1 and SCO ODT 3.0 have their own names for install.
|
||||
for ac_prog in ginstall scoinst install; do
|
||||
if test -f $ac_dir/$ac_prog; then
|
||||
if test $ac_prog = install &&
|
||||
grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
|
||||
# AIX install. It has an incompatible calling convention.
|
||||
# OSF/1 installbsd also uses dspmsg, but is usable.
|
||||
:
|
||||
else
|
||||
ac_cv_path_install="$ac_dir/$ac_prog -c"
|
||||
break 2
|
||||
fi
|
||||
fi
|
||||
done
|
||||
;;
|
||||
esac
|
||||
done
|
||||
IFS="$ac_save_IFS"
|
||||
|
||||
fi
|
||||
if test "${ac_cv_path_install+set}" = set; then
|
||||
INSTALL="$ac_cv_path_install"
|
||||
else
|
||||
# As a last resort, use the slow shell script. We don't cache a
|
||||
# path for INSTALL within a source directory, because that will
|
||||
# break other packages using the cache if that directory is
|
||||
# removed, or if the path is relative.
|
||||
INSTALL="$ac_install_sh"
|
||||
fi
|
||||
fi
|
||||
echo "$ac_t""$INSTALL" 1>&6
|
||||
|
||||
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
|
||||
# It thinks the first close brace ends the variable substitution.
|
||||
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
|
||||
|
||||
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
|
||||
|
||||
|
||||
trap '' 1 2 15
|
||||
cat > confcache <<\EOF
|
||||
# This file is a shell script that caches the results of configure
|
||||
# tests run on this system so they can be shared between configure
|
||||
# scripts and configure runs. It is not useful on other systems.
|
||||
# If it contains results you don't want to keep, you may remove or edit it.
|
||||
#
|
||||
# By default, configure uses ./config.cache as the cache file,
|
||||
# creating it if it does not exist already. You can give configure
|
||||
# the --cache-file=FILE option to use a different cache file; that is
|
||||
# what configure does when it calls configure scripts in
|
||||
# subdirectories, so they share the cache.
|
||||
# Giving --cache-file=/dev/null disables caching, for debugging configure.
|
||||
# config.status only pays attention to the cache file if you give it the
|
||||
# --recheck option to rerun configure.
|
||||
#
|
||||
EOF
|
||||
# The following way of writing the cache mishandles newlines in values,
|
||||
# but we know of no workaround that is simple, portable, and efficient.
|
||||
# So, don't put newlines in cache variables' values.
|
||||
# Ultrix sh set writes to stderr and can't be redirected directly,
|
||||
# and sets the high bit in the cache file unless we assign to the vars.
|
||||
(set) 2>&1 |
|
||||
case `(ac_space=' '; set) 2>&1 | grep ac_space` in
|
||||
*ac_space=\ *)
|
||||
# `set' does not quote correctly, so add quotes (double-quote substitution
|
||||
# turns \\\\ into \\, and sed turns \\ into \).
|
||||
sed -n \
|
||||
-e "s/'/'\\\\''/g" \
|
||||
-e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
|
||||
;;
|
||||
*)
|
||||
# `set' quotes correctly as required by POSIX, so do not add quotes.
|
||||
sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
|
||||
;;
|
||||
esac >> confcache
|
||||
if cmp -s $cache_file confcache; then
|
||||
:
|
||||
else
|
||||
if test -w $cache_file; then
|
||||
echo "updating cache $cache_file"
|
||||
cat confcache > $cache_file
|
||||
else
|
||||
echo "not updating unwritable cache $cache_file"
|
||||
fi
|
||||
fi
|
||||
rm -f confcache
|
||||
|
||||
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
|
||||
|
||||
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
||||
# Let make expand exec_prefix.
|
||||
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
|
||||
|
||||
# Any assignment to VPATH causes Sun make to only execute
|
||||
# the first set of double-colon rules, so remove it if not needed.
|
||||
# If there is a colon in the path, we need to keep it.
|
||||
if test "x$srcdir" = x.; then
|
||||
ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
|
||||
fi
|
||||
|
||||
trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
|
||||
|
||||
# Transform confdefs.h into DEFS.
|
||||
# Protect against shell expansion while executing Makefile rules.
|
||||
# Protect against Makefile macro expansion.
|
||||
cat > conftest.defs <<\EOF
|
||||
s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
|
||||
s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
|
||||
s%\[%\\&%g
|
||||
s%\]%\\&%g
|
||||
s%\$%$$%g
|
||||
EOF
|
||||
DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
|
||||
rm -f conftest.defs
|
||||
|
||||
|
||||
# Without the "./", some shells look in PATH for config.status.
|
||||
: ${CONFIG_STATUS=./config.status}
|
||||
|
||||
echo creating $CONFIG_STATUS
|
||||
rm -f $CONFIG_STATUS
|
||||
cat > $CONFIG_STATUS <<EOF
|
||||
#! /bin/sh
|
||||
# Generated automatically by configure.
|
||||
# Run this file to recreate the current configuration.
|
||||
# This directory was configured as follows,
|
||||
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
|
||||
#
|
||||
# $0 $ac_configure_args
|
||||
#
|
||||
# Compiler output produced by configure, useful for debugging
|
||||
# configure, is in ./config.log if it exists.
|
||||
|
||||
ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
|
||||
for ac_option
|
||||
do
|
||||
case "\$ac_option" in
|
||||
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
|
||||
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
|
||||
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
|
||||
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
|
||||
echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
|
||||
exit 0 ;;
|
||||
-help | --help | --hel | --he | --h)
|
||||
echo "\$ac_cs_usage"; exit 0 ;;
|
||||
*) echo "\$ac_cs_usage"; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
ac_given_srcdir=$srcdir
|
||||
|
||||
trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
|
||||
EOF
|
||||
cat >> $CONFIG_STATUS <<EOF
|
||||
|
||||
# Protect against being on the right side of a sed subst in config.status.
|
||||
sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
|
||||
s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
|
||||
$ac_vpsub
|
||||
$extrasub
|
||||
s%@SHELL@%$SHELL%g
|
||||
s%@CFLAGS@%$CFLAGS%g
|
||||
s%@CPPFLAGS@%$CPPFLAGS%g
|
||||
s%@CXXFLAGS@%$CXXFLAGS%g
|
||||
s%@DEFS@%$DEFS%g
|
||||
s%@LDFLAGS@%$LDFLAGS%g
|
||||
s%@LIBS@%$LIBS%g
|
||||
s%@exec_prefix@%$exec_prefix%g
|
||||
s%@prefix@%$prefix%g
|
||||
s%@program_transform_name@%$program_transform_name%g
|
||||
s%@bindir@%$bindir%g
|
||||
s%@sbindir@%$sbindir%g
|
||||
s%@libexecdir@%$libexecdir%g
|
||||
s%@datadir@%$datadir%g
|
||||
s%@sysconfdir@%$sysconfdir%g
|
||||
s%@sharedstatedir@%$sharedstatedir%g
|
||||
s%@localstatedir@%$localstatedir%g
|
||||
s%@libdir@%$libdir%g
|
||||
s%@includedir@%$includedir%g
|
||||
s%@oldincludedir@%$oldincludedir%g
|
||||
s%@infodir@%$infodir%g
|
||||
s%@mandir@%$mandir%g
|
||||
s%@INSTALL@%$INSTALL%g
|
||||
s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
|
||||
s%@INSTALL_DATA@%$INSTALL_DATA%g
|
||||
|
||||
CEOF
|
||||
EOF
|
||||
|
||||
cat >> $CONFIG_STATUS <<\EOF
|
||||
|
||||
# Split the substitutions into bite-sized pieces for seds with
|
||||
# small command number limits, like on Digital OSF/1 and HP-UX.
|
||||
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
|
||||
ac_file=1 # Number of current file.
|
||||
ac_beg=1 # First line for current file.
|
||||
ac_end=$ac_max_sed_cmds # Line after last line for current file.
|
||||
ac_more_lines=:
|
||||
ac_sed_cmds=""
|
||||
while $ac_more_lines; do
|
||||
if test $ac_beg -gt 1; then
|
||||
sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
|
||||
else
|
||||
sed "${ac_end}q" conftest.subs > conftest.s$ac_file
|
||||
fi
|
||||
if test ! -s conftest.s$ac_file; then
|
||||
ac_more_lines=false
|
||||
rm -f conftest.s$ac_file
|
||||
else
|
||||
if test -z "$ac_sed_cmds"; then
|
||||
ac_sed_cmds="sed -f conftest.s$ac_file"
|
||||
else
|
||||
ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
|
||||
fi
|
||||
ac_file=`expr $ac_file + 1`
|
||||
ac_beg=$ac_end
|
||||
ac_end=`expr $ac_end + $ac_max_sed_cmds`
|
||||
fi
|
||||
done
|
||||
if test -z "$ac_sed_cmds"; then
|
||||
ac_sed_cmds=cat
|
||||
fi
|
||||
EOF
|
||||
|
||||
cat >> $CONFIG_STATUS <<EOF
|
||||
|
||||
CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
|
||||
EOF
|
||||
cat >> $CONFIG_STATUS <<\EOF
|
||||
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
|
||||
# Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
|
||||
case "$ac_file" in
|
||||
*:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
|
||||
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
|
||||
*) ac_file_in="${ac_file}.in" ;;
|
||||
esac
|
||||
|
||||
# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
|
||||
|
||||
# Remove last slash and all that follows it. Not all systems have dirname.
|
||||
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
|
||||
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
|
||||
# The file is in a subdirectory.
|
||||
test ! -d "$ac_dir" && mkdir "$ac_dir"
|
||||
ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
|
||||
# A "../" for each directory in $ac_dir_suffix.
|
||||
ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
|
||||
else
|
||||
ac_dir_suffix= ac_dots=
|
||||
fi
|
||||
|
||||
case "$ac_given_srcdir" in
|
||||
.) srcdir=.
|
||||
if test -z "$ac_dots"; then top_srcdir=.
|
||||
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
|
||||
/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
|
||||
*) # Relative path.
|
||||
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
|
||||
top_srcdir="$ac_dots$ac_given_srcdir" ;;
|
||||
esac
|
||||
|
||||
|
||||
echo creating "$ac_file"
|
||||
rm -f "$ac_file"
|
||||
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
|
||||
case "$ac_file" in
|
||||
*Makefile*) ac_comsub="1i\\
|
||||
# $configure_input" ;;
|
||||
*) ac_comsub= ;;
|
||||
esac
|
||||
|
||||
ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
|
||||
sed -e "$ac_comsub
|
||||
s%@configure_input@%$configure_input%g
|
||||
s%@srcdir@%$srcdir%g
|
||||
s%@top_srcdir@%$top_srcdir%g
|
||||
" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
|
||||
fi; done
|
||||
rm -f conftest.s*
|
||||
|
||||
EOF
|
||||
cat >> $CONFIG_STATUS <<EOF
|
||||
|
||||
EOF
|
||||
cat >> $CONFIG_STATUS <<\EOF
|
||||
|
||||
exit 0
|
||||
EOF
|
||||
chmod +x $CONFIG_STATUS
|
||||
rm -fr confdefs* $ac_clean_files
|
||||
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
|
||||
|
||||
7
gcc/etc/configure.in
Normal file
7
gcc/etc/configure.in
Normal file
@@ -0,0 +1,7 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_PREREQ(2.12.1)
|
||||
AC_INIT(Makefile.in)
|
||||
|
||||
EGCS_PROG_INSTALL
|
||||
|
||||
AC_OUTPUT(Makefile)
|
||||
931
gcc/etc/make-stds.texi
Normal file
931
gcc/etc/make-stds.texi
Normal file
@@ -0,0 +1,931 @@
|
||||
@comment This file is included by both standards.texi and make.texinfo.
|
||||
@comment It was broken out of standards.texi on 1/6/93 by roland.
|
||||
|
||||
@node Makefile Conventions
|
||||
@chapter Makefile Conventions
|
||||
@comment standards.texi does not print an index, but make.texinfo does.
|
||||
@cindex makefile, conventions for
|
||||
@cindex conventions for makefiles
|
||||
@cindex standards for makefiles
|
||||
|
||||
This
|
||||
@ifinfo
|
||||
node
|
||||
@end ifinfo
|
||||
@iftex
|
||||
@ifset CODESTD
|
||||
section
|
||||
@end ifset
|
||||
@ifclear CODESTD
|
||||
chapter
|
||||
@end ifclear
|
||||
@end iftex
|
||||
describes conventions for writing the Makefiles for GNU programs.
|
||||
Using Automake will help you write a Makefile that follows these
|
||||
conventions.
|
||||
|
||||
@menu
|
||||
* Makefile Basics:: General Conventions for Makefiles
|
||||
* Utilities in Makefiles:: Utilities in Makefiles
|
||||
* Command Variables:: Variables for Specifying Commands
|
||||
* Directory Variables:: Variables for Installation Directories
|
||||
* Standard Targets:: Standard Targets for Users
|
||||
* Install Command Categories:: Three categories of commands in the `install'
|
||||
rule: normal, pre-install and post-install.
|
||||
@end menu
|
||||
|
||||
@node Makefile Basics
|
||||
@section General Conventions for Makefiles
|
||||
|
||||
Every Makefile should contain this line:
|
||||
|
||||
@example
|
||||
SHELL = /bin/sh
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
to avoid trouble on systems where the @code{SHELL} variable might be
|
||||
inherited from the environment. (This is never a problem with GNU
|
||||
@code{make}.)
|
||||
|
||||
Different @code{make} programs have incompatible suffix lists and
|
||||
implicit rules, and this sometimes creates confusion or misbehavior. So
|
||||
it is a good idea to set the suffix list explicitly using only the
|
||||
suffixes you need in the particular Makefile, like this:
|
||||
|
||||
@example
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
The first line clears out the suffix list, the second introduces all
|
||||
suffixes which may be subject to implicit rules in this Makefile.
|
||||
|
||||
Don't assume that @file{.} is in the path for command execution. When
|
||||
you need to run programs that are a part of your package during the
|
||||
make, please make sure that it uses @file{./} if the program is built as
|
||||
part of the make or @file{$(srcdir)/} if the file is an unchanging part
|
||||
of the source code. Without one of these prefixes, the current search
|
||||
path is used.
|
||||
|
||||
The distinction between @file{./} (the @dfn{build directory}) and
|
||||
@file{$(srcdir)/} (the @dfn{source directory}) is important because
|
||||
users can build in a separate directory using the @samp{--srcdir} option
|
||||
to @file{configure}. A rule of the form:
|
||||
|
||||
@smallexample
|
||||
foo.1 : foo.man sedscript
|
||||
sed -e sedscript foo.man > foo.1
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
will fail when the build directory is not the source directory, because
|
||||
@file{foo.man} and @file{sedscript} are in the source directory.
|
||||
|
||||
When using GNU @code{make}, relying on @samp{VPATH} to find the source
|
||||
file will work in the case where there is a single dependency file,
|
||||
since the @code{make} automatic variable @samp{$<} will represent the
|
||||
source file wherever it is. (Many versions of @code{make} set @samp{$<}
|
||||
only in implicit rules.) A Makefile target like
|
||||
|
||||
@smallexample
|
||||
foo.o : bar.c
|
||||
$(CC) -I. -I$(srcdir) $(CFLAGS) -c bar.c -o foo.o
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
should instead be written as
|
||||
|
||||
@smallexample
|
||||
foo.o : bar.c
|
||||
$(CC) -I. -I$(srcdir) $(CFLAGS) -c $< -o $@@
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
in order to allow @samp{VPATH} to work correctly. When the target has
|
||||
multiple dependencies, using an explicit @samp{$(srcdir)} is the easiest
|
||||
way to make the rule work well. For example, the target above for
|
||||
@file{foo.1} is best written as:
|
||||
|
||||
@smallexample
|
||||
foo.1 : foo.man sedscript
|
||||
sed -e $(srcdir)/sedscript $(srcdir)/foo.man > $@@
|
||||
@end smallexample
|
||||
|
||||
GNU distributions usually contain some files which are not source
|
||||
files---for example, Info files, and the output from Autoconf, Automake,
|
||||
Bison or Flex. Since these files normally appear in the source
|
||||
directory, they should always appear in the source directory, not in the
|
||||
build directory. So Makefile rules to update them should put the
|
||||
updated files in the source directory.
|
||||
|
||||
However, if a file does not appear in the distribution, then the
|
||||
Makefile should not put it in the source directory, because building a
|
||||
program in ordinary circumstances should not modify the source directory
|
||||
in any way.
|
||||
|
||||
Try to make the build and installation targets, at least (and all their
|
||||
subtargets) work correctly with a parallel @code{make}.
|
||||
|
||||
@node Utilities in Makefiles
|
||||
@section Utilities in Makefiles
|
||||
|
||||
Write the Makefile commands (and any shell scripts, such as
|
||||
@code{configure}) to run in @code{sh}, not in @code{csh}. Don't use any
|
||||
special features of @code{ksh} or @code{bash}.
|
||||
|
||||
The @code{configure} script and the Makefile rules for building and
|
||||
installation should not use any utilities directly except these:
|
||||
|
||||
@c dd find
|
||||
@c gunzip gzip md5sum
|
||||
@c mkfifo mknod tee uname
|
||||
|
||||
@example
|
||||
cat cmp cp diff echo egrep expr false grep install-info
|
||||
ln ls mkdir mv pwd rm rmdir sed sleep sort tar test touch true
|
||||
@end example
|
||||
|
||||
The compression program @code{gzip} can be used in the @code{dist} rule.
|
||||
|
||||
Stick to the generally supported options for these programs. For
|
||||
example, don't use @samp{mkdir -p}, convenient as it may be, because
|
||||
most systems don't support it.
|
||||
|
||||
It is a good idea to avoid creating symbolic links in makefiles, since a
|
||||
few systems don't support them.
|
||||
|
||||
The Makefile rules for building and installation can also use compilers
|
||||
and related programs, but should do so via @code{make} variables so that the
|
||||
user can substitute alternatives. Here are some of the programs we
|
||||
mean:
|
||||
|
||||
@example
|
||||
ar bison cc flex install ld ldconfig lex
|
||||
make makeinfo ranlib texi2dvi yacc
|
||||
@end example
|
||||
|
||||
Use the following @code{make} variables to run those programs:
|
||||
|
||||
@example
|
||||
$(AR) $(BISON) $(CC) $(FLEX) $(INSTALL) $(LD) $(LDCONFIG) $(LEX)
|
||||
$(MAKE) $(MAKEINFO) $(RANLIB) $(TEXI2DVI) $(YACC)
|
||||
@end example
|
||||
|
||||
When you use @code{ranlib} or @code{ldconfig}, you should make sure
|
||||
nothing bad happens if the system does not have the program in question.
|
||||
Arrange to ignore an error from that command, and print a message before
|
||||
the command to tell the user that failure of this command does not mean
|
||||
a problem. (The Autoconf @samp{AC_PROG_RANLIB} macro can help with
|
||||
this.)
|
||||
|
||||
If you use symbolic links, you should implement a fallback for systems
|
||||
that don't have symbolic links.
|
||||
|
||||
Additional utilities that can be used via Make variables are:
|
||||
|
||||
@example
|
||||
chgrp chmod chown mknod
|
||||
@end example
|
||||
|
||||
It is ok to use other utilities in Makefile portions (or scripts)
|
||||
intended only for particular systems where you know those utilities
|
||||
exist.
|
||||
|
||||
@node Command Variables
|
||||
@section Variables for Specifying Commands
|
||||
|
||||
Makefiles should provide variables for overriding certain commands, options,
|
||||
and so on.
|
||||
|
||||
In particular, you should run most utility programs via variables.
|
||||
Thus, if you use Bison, have a variable named @code{BISON} whose default
|
||||
value is set with @samp{BISON = bison}, and refer to it with
|
||||
@code{$(BISON)} whenever you need to use Bison.
|
||||
|
||||
File management utilities such as @code{ln}, @code{rm}, @code{mv}, and
|
||||
so on, need not be referred to through variables in this way, since users
|
||||
don't need to replace them with other programs.
|
||||
|
||||
Each program-name variable should come with an options variable that is
|
||||
used to supply options to the program. Append @samp{FLAGS} to the
|
||||
program-name variable name to get the options variable name---for
|
||||
example, @code{BISONFLAGS}. (The names @code{CFLAGS} for the C
|
||||
compiler, @code{YFLAGS} for yacc, and @code{LFLAGS} for lex, are
|
||||
exceptions to this rule, but we keep them because they are standard.)
|
||||
Use @code{CPPFLAGS} in any compilation command that runs the
|
||||
preprocessor, and use @code{LDFLAGS} in any compilation command that
|
||||
does linking as well as in any direct use of @code{ld}.
|
||||
|
||||
If there are C compiler options that @emph{must} be used for proper
|
||||
compilation of certain files, do not include them in @code{CFLAGS}.
|
||||
Users expect to be able to specify @code{CFLAGS} freely themselves.
|
||||
Instead, arrange to pass the necessary options to the C compiler
|
||||
independently of @code{CFLAGS}, by writing them explicitly in the
|
||||
compilation commands or by defining an implicit rule, like this:
|
||||
|
||||
@smallexample
|
||||
CFLAGS = -g
|
||||
ALL_CFLAGS = -I. $(CFLAGS)
|
||||
.c.o:
|
||||
$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
|
||||
@end smallexample
|
||||
|
||||
Do include the @samp{-g} option in @code{CFLAGS}, because that is not
|
||||
@emph{required} for proper compilation. You can consider it a default
|
||||
that is only recommended. If the package is set up so that it is
|
||||
compiled with GCC by default, then you might as well include @samp{-O}
|
||||
in the default value of @code{CFLAGS} as well.
|
||||
|
||||
Put @code{CFLAGS} last in the compilation command, after other variables
|
||||
containing compiler options, so the user can use @code{CFLAGS} to
|
||||
override the others.
|
||||
|
||||
@code{CFLAGS} should be used in every invocation of the C compiler,
|
||||
both those which do compilation and those which do linking.
|
||||
|
||||
Every Makefile should define the variable @code{INSTALL}, which is the
|
||||
basic command for installing a file into the system.
|
||||
|
||||
Every Makefile should also define the variables @code{INSTALL_PROGRAM}
|
||||
and @code{INSTALL_DATA}. (The default for @code{INSTALL_PROGRAM} should
|
||||
be @code{$(INSTALL)}; the default for @code{INSTALL_DATA} should be
|
||||
@code{$@{INSTALL@} -m 644}.) Then it should use those variables as the
|
||||
commands for actual installation, for executables and nonexecutables
|
||||
respectively. Use these variables as follows:
|
||||
|
||||
@example
|
||||
$(INSTALL_PROGRAM) foo $(bindir)/foo
|
||||
$(INSTALL_DATA) libfoo.a $(libdir)/libfoo.a
|
||||
@end example
|
||||
|
||||
Optionally, you may prepend the value of @code{DESTDIR} to the target
|
||||
filename. Doing this allows the installer to create a snapshot of the
|
||||
installation to be copied onto the real target filesystem later. Do not
|
||||
set the value of @code{DESTDIR} in your Makefile, and do not include it
|
||||
in any installed files. With support for @code{DESTDIR}, the above
|
||||
examples become:
|
||||
|
||||
@example
|
||||
$(INSTALL_PROGRAM) foo $(DESTDIR)$(bindir)/foo
|
||||
$(INSTALL_DATA) libfoo.a $(DESTDIR)$(libdir)/libfoo.a
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
Always use a file name, not a directory name, as the second argument of
|
||||
the installation commands. Use a separate command for each file to be
|
||||
installed.
|
||||
|
||||
@node Directory Variables
|
||||
@section Variables for Installation Directories
|
||||
|
||||
Installation directories should always be named by variables, so it is
|
||||
easy to install in a nonstandard place. The standard names for these
|
||||
variables are described below. They are based on a standard filesystem
|
||||
layout; variants of it are used in SVR4, 4.4BSD, GNU/Linux, Ultrix v4,
|
||||
and other modern operating systems.
|
||||
|
||||
These two variables set the root for the installation. All the other
|
||||
installation directories should be subdirectories of one of these two,
|
||||
and nothing should be directly installed into these two directories.
|
||||
|
||||
@table @code
|
||||
@item prefix
|
||||
@vindex prefix
|
||||
A prefix used in constructing the default values of the variables listed
|
||||
below. The default value of @code{prefix} should be @file{/usr/local}.
|
||||
When building the complete GNU system, the prefix will be empty and
|
||||
@file{/usr} will be a symbolic link to @file{/}.
|
||||
(If you are using Autoconf, write it as @samp{@@prefix@@}.)
|
||||
|
||||
Running @samp{make install} with a different value of @code{prefix} from
|
||||
the one used to build the program should @emph{not} recompile the
|
||||
program.
|
||||
|
||||
@item exec_prefix
|
||||
@vindex exec_prefix
|
||||
A prefix used in constructing the default values of some of the
|
||||
variables listed below. The default value of @code{exec_prefix} should
|
||||
be @code{$(prefix)}.
|
||||
(If you are using Autoconf, write it as @samp{@@exec_prefix@@}.)
|
||||
|
||||
Generally, @code{$(exec_prefix)} is used for directories that contain
|
||||
machine-specific files (such as executables and subroutine libraries),
|
||||
while @code{$(prefix)} is used directly for other directories.
|
||||
|
||||
Running @samp{make install} with a different value of @code{exec_prefix}
|
||||
from the one used to build the program should @emph{not} recompile the
|
||||
program.
|
||||
@end table
|
||||
|
||||
Executable programs are installed in one of the following directories.
|
||||
|
||||
@table @code
|
||||
@item bindir
|
||||
@vindex bindir
|
||||
The directory for installing executable programs that users can run.
|
||||
This should normally be @file{/usr/local/bin}, but write it as
|
||||
@file{$(exec_prefix)/bin}.
|
||||
(If you are using Autoconf, write it as @samp{@@bindir@@}.)
|
||||
|
||||
@item sbindir
|
||||
@vindex sbindir
|
||||
The directory for installing executable programs that can be run from
|
||||
the shell, but are only generally useful to system administrators. This
|
||||
should normally be @file{/usr/local/sbin}, but write it as
|
||||
@file{$(exec_prefix)/sbin}.
|
||||
(If you are using Autoconf, write it as @samp{@@sbindir@@}.)
|
||||
|
||||
@item libexecdir
|
||||
@vindex libexecdir
|
||||
@comment This paragraph adjusted to avoid overfull hbox --roland 5jul94
|
||||
The directory for installing executable programs to be run by other
|
||||
programs rather than by users. This directory should normally be
|
||||
@file{/usr/local/libexec}, but write it as @file{$(exec_prefix)/libexec}.
|
||||
(If you are using Autoconf, write it as @samp{@@libexecdir@@}.)
|
||||
@end table
|
||||
|
||||
Data files used by the program during its execution are divided into
|
||||
categories in two ways.
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
Some files are normally modified by programs; others are never normally
|
||||
modified (though users may edit some of these).
|
||||
|
||||
@item
|
||||
Some files are architecture-independent and can be shared by all
|
||||
machines at a site; some are architecture-dependent and can be shared
|
||||
only by machines of the same kind and operating system; others may never
|
||||
be shared between two machines.
|
||||
@end itemize
|
||||
|
||||
This makes for six different possibilities. However, we want to
|
||||
discourage the use of architecture-dependent files, aside from object
|
||||
files and libraries. It is much cleaner to make other data files
|
||||
architecture-independent, and it is generally not hard.
|
||||
|
||||
Therefore, here are the variables Makefiles should use to specify
|
||||
directories:
|
||||
|
||||
@table @samp
|
||||
@item datadir
|
||||
The directory for installing read-only architecture independent data
|
||||
files. This should normally be @file{/usr/local/share}, but write it as
|
||||
@file{$(prefix)/share}.
|
||||
(If you are using Autoconf, write it as @samp{@@datadir@@}.)
|
||||
As a special exception, see @file{$(infodir)}
|
||||
and @file{$(includedir)} below.
|
||||
|
||||
@item sysconfdir
|
||||
The directory for installing read-only data files that pertain to a
|
||||
single machine--that is to say, files for configuring a host. Mailer
|
||||
and network configuration files, @file{/etc/passwd}, and so forth belong
|
||||
here. All the files in this directory should be ordinary ASCII text
|
||||
files. This directory should normally be @file{/usr/local/etc}, but
|
||||
write it as @file{$(prefix)/etc}.
|
||||
(If you are using Autoconf, write it as @samp{@@sysconfdir@@}.)
|
||||
|
||||
Do not install executables here in this directory (they probably belong
|
||||
in @file{$(libexecdir)} or @file{$(sbindir)}). Also do not install
|
||||
files that are modified in the normal course of their use (programs
|
||||
whose purpose is to change the configuration of the system excluded).
|
||||
Those probably belong in @file{$(localstatedir)}.
|
||||
|
||||
@item sharedstatedir
|
||||
The directory for installing architecture-independent data files which
|
||||
the programs modify while they run. This should normally be
|
||||
@file{/usr/local/com}, but write it as @file{$(prefix)/com}.
|
||||
(If you are using Autoconf, write it as @samp{@@sharedstatedir@@}.)
|
||||
|
||||
@item localstatedir
|
||||
The directory for installing data files which the programs modify while
|
||||
they run, and that pertain to one specific machine. Users should never
|
||||
need to modify files in this directory to configure the package's
|
||||
operation; put such configuration information in separate files that go
|
||||
in @file{$(datadir)} or @file{$(sysconfdir)}. @file{$(localstatedir)}
|
||||
should normally be @file{/usr/local/var}, but write it as
|
||||
@file{$(prefix)/var}.
|
||||
(If you are using Autoconf, write it as @samp{@@localstatedir@@}.)
|
||||
|
||||
@item libdir
|
||||
The directory for object files and libraries of object code. Do not
|
||||
install executables here, they probably ought to go in @file{$(libexecdir)}
|
||||
instead. The value of @code{libdir} should normally be
|
||||
@file{/usr/local/lib}, but write it as @file{$(exec_prefix)/lib}.
|
||||
(If you are using Autoconf, write it as @samp{@@libdir@@}.)
|
||||
|
||||
@item infodir
|
||||
The directory for installing the Info files for this package. By
|
||||
default, it should be @file{/usr/local/info}, but it should be written
|
||||
as @file{$(prefix)/info}.
|
||||
(If you are using Autoconf, write it as @samp{@@infodir@@}.)
|
||||
|
||||
@item lispdir
|
||||
The directory for installing any Emacs Lisp files in this package. By
|
||||
default, it should be @file{/usr/local/share/emacs/site-lisp}, but it
|
||||
should be written as @file{$(prefix)/share/emacs/site-lisp}.
|
||||
|
||||
If you are using Autoconf, write the default as @samp{@@lispdir@@}.
|
||||
In order to make @samp{@@lispdir@@} work, you need the following lines
|
||||
in your @file{configure.in} file:
|
||||
|
||||
@example
|
||||
lispdir='$@{datadir@}/emacs/site-lisp'
|
||||
AC_SUBST(lispdir)
|
||||
@end example
|
||||
|
||||
@item includedir
|
||||
@c rewritten to avoid overfull hbox --roland
|
||||
The directory for installing header files to be included by user
|
||||
programs with the C @samp{#include} preprocessor directive. This
|
||||
should normally be @file{/usr/local/include}, but write it as
|
||||
@file{$(prefix)/include}.
|
||||
(If you are using Autoconf, write it as @samp{@@includedir@@}.)
|
||||
|
||||
Most compilers other than GCC do not look for header files in directory
|
||||
@file{/usr/local/include}. So installing the header files this way is
|
||||
only useful with GCC. Sometimes this is not a problem because some
|
||||
libraries are only really intended to work with GCC. But some libraries
|
||||
are intended to work with other compilers. They should install their
|
||||
header files in two places, one specified by @code{includedir} and one
|
||||
specified by @code{oldincludedir}.
|
||||
|
||||
@item oldincludedir
|
||||
The directory for installing @samp{#include} header files for use with
|
||||
compilers other than GCC. This should normally be @file{/usr/include}.
|
||||
(If you are using Autoconf, you can write it as @samp{@@oldincludedir@@}.)
|
||||
|
||||
The Makefile commands should check whether the value of
|
||||
@code{oldincludedir} is empty. If it is, they should not try to use
|
||||
it; they should cancel the second installation of the header files.
|
||||
|
||||
A package should not replace an existing header in this directory unless
|
||||
the header came from the same package. Thus, if your Foo package
|
||||
provides a header file @file{foo.h}, then it should install the header
|
||||
file in the @code{oldincludedir} directory if either (1) there is no
|
||||
@file{foo.h} there or (2) the @file{foo.h} that exists came from the Foo
|
||||
package.
|
||||
|
||||
To tell whether @file{foo.h} came from the Foo package, put a magic
|
||||
string in the file---part of a comment---and @code{grep} for that string.
|
||||
@end table
|
||||
|
||||
Unix-style man pages are installed in one of the following:
|
||||
|
||||
@table @samp
|
||||
@item mandir
|
||||
The top-level directory for installing the man pages (if any) for this
|
||||
package. It will normally be @file{/usr/local/man}, but you should
|
||||
write it as @file{$(prefix)/man}.
|
||||
(If you are using Autoconf, write it as @samp{@@mandir@@}.)
|
||||
|
||||
@item man1dir
|
||||
The directory for installing section 1 man pages. Write it as
|
||||
@file{$(mandir)/man1}.
|
||||
@item man2dir
|
||||
The directory for installing section 2 man pages. Write it as
|
||||
@file{$(mandir)/man2}
|
||||
@item @dots{}
|
||||
|
||||
@strong{Don't make the primary documentation for any GNU software be a
|
||||
man page. Write a manual in Texinfo instead. Man pages are just for
|
||||
the sake of people running GNU software on Unix, which is a secondary
|
||||
application only.}
|
||||
|
||||
@item manext
|
||||
The file name extension for the installed man page. This should contain
|
||||
a period followed by the appropriate digit; it should normally be @samp{.1}.
|
||||
|
||||
@item man1ext
|
||||
The file name extension for installed section 1 man pages.
|
||||
@item man2ext
|
||||
The file name extension for installed section 2 man pages.
|
||||
@item @dots{}
|
||||
Use these names instead of @samp{manext} if the package needs to install man
|
||||
pages in more than one section of the manual.
|
||||
@end table
|
||||
|
||||
And finally, you should set the following variable:
|
||||
|
||||
@table @samp
|
||||
@item srcdir
|
||||
The directory for the sources being compiled. The value of this
|
||||
variable is normally inserted by the @code{configure} shell script.
|
||||
(If you are using Autconf, use @samp{srcdir = @@srcdir@@}.)
|
||||
@end table
|
||||
|
||||
For example:
|
||||
|
||||
@smallexample
|
||||
@c I have changed some of the comments here slightly to fix an overfull
|
||||
@c hbox, so the make manual can format correctly. --roland
|
||||
# Common prefix for installation directories.
|
||||
# NOTE: This directory must exist when you start the install.
|
||||
prefix = /usr/local
|
||||
exec_prefix = $(prefix)
|
||||
# Where to put the executable for the command `gcc'.
|
||||
bindir = $(exec_prefix)/bin
|
||||
# Where to put the directories used by the compiler.
|
||||
libexecdir = $(exec_prefix)/libexec
|
||||
# Where to put the Info files.
|
||||
infodir = $(prefix)/info
|
||||
@end smallexample
|
||||
|
||||
If your program installs a large number of files into one of the
|
||||
standard user-specified directories, it might be useful to group them
|
||||
into a subdirectory particular to that program. If you do this, you
|
||||
should write the @code{install} rule to create these subdirectories.
|
||||
|
||||
Do not expect the user to include the subdirectory name in the value of
|
||||
any of the variables listed above. The idea of having a uniform set of
|
||||
variable names for installation directories is to enable the user to
|
||||
specify the exact same values for several different GNU packages. In
|
||||
order for this to be useful, all the packages must be designed so that
|
||||
they will work sensibly when the user does so.
|
||||
|
||||
@node Standard Targets
|
||||
@section Standard Targets for Users
|
||||
|
||||
All GNU programs should have the following targets in their Makefiles:
|
||||
|
||||
@table @samp
|
||||
@item all
|
||||
Compile the entire program. This should be the default target. This
|
||||
target need not rebuild any documentation files; Info files should
|
||||
normally be included in the distribution, and DVI files should be made
|
||||
only when explicitly asked for.
|
||||
|
||||
By default, the Make rules should compile and link with @samp{-g}, so
|
||||
that executable programs have debugging symbols. Users who don't mind
|
||||
being helpless can strip the executables later if they wish.
|
||||
|
||||
@item install
|
||||
Compile the program and copy the executables, libraries, and so on to
|
||||
the file names where they should reside for actual use. If there is a
|
||||
simple test to verify that a program is properly installed, this target
|
||||
should run that test.
|
||||
|
||||
Do not strip executables when installing them. Devil-may-care users can
|
||||
use the @code{install-strip} target to do that.
|
||||
|
||||
If possible, write the @code{install} target rule so that it does not
|
||||
modify anything in the directory where the program was built, provided
|
||||
@samp{make all} has just been done. This is convenient for building the
|
||||
program under one user name and installing it under another.
|
||||
|
||||
The commands should create all the directories in which files are to be
|
||||
installed, if they don't already exist. This includes the directories
|
||||
specified as the values of the variables @code{prefix} and
|
||||
@code{exec_prefix}, as well as all subdirectories that are needed.
|
||||
One way to do this is by means of an @code{installdirs} target
|
||||
as described below.
|
||||
|
||||
Use @samp{-} before any command for installing a man page, so that
|
||||
@code{make} will ignore any errors. This is in case there are systems
|
||||
that don't have the Unix man page documentation system installed.
|
||||
|
||||
The way to install Info files is to copy them into @file{$(infodir)}
|
||||
with @code{$(INSTALL_DATA)} (@pxref{Command Variables}), and then run
|
||||
the @code{install-info} program if it is present. @code{install-info}
|
||||
is a program that edits the Info @file{dir} file to add or update the
|
||||
menu entry for the given Info file; it is part of the Texinfo package.
|
||||
Here is a sample rule to install an Info file:
|
||||
|
||||
@comment This example has been carefully formatted for the Make manual.
|
||||
@comment Please do not reformat it without talking to roland@gnu.ai.mit.edu.
|
||||
@smallexample
|
||||
$(DESTDIR)$(infodir)/foo.info: foo.info
|
||||
$(POST_INSTALL)
|
||||
# There may be a newer info file in . than in srcdir.
|
||||
-if test -f foo.info; then d=.; \
|
||||
else d=$(srcdir); fi; \
|
||||
$(INSTALL_DATA) $$d/foo.info $(DESTDIR)$@@; \
|
||||
# Run install-info only if it exists.
|
||||
# Use `if' instead of just prepending `-' to the
|
||||
# line so we notice real errors from install-info.
|
||||
# We use `$(SHELL) -c' because some shells do not
|
||||
# fail gracefully when there is an unknown command.
|
||||
if $(SHELL) -c 'install-info --version' \
|
||||
>/dev/null 2>&1; then \
|
||||
install-info --dir-file=$(DESTDIR)$(infodir)/dir \
|
||||
$(DESTDIR)$(infodir)/foo.info; \
|
||||
else true; fi
|
||||
@end smallexample
|
||||
|
||||
When writing the @code{install} target, you must classify all the
|
||||
commands into three categories: normal ones, @dfn{pre-installation}
|
||||
commands and @dfn{post-installation} commands. @xref{Install Command
|
||||
Categories}.
|
||||
|
||||
@item uninstall
|
||||
Delete all the installed files---the copies that the @samp{install}
|
||||
target creates.
|
||||
|
||||
This rule should not modify the directories where compilation is done,
|
||||
only the directories where files are installed.
|
||||
|
||||
The uninstallation commands are divided into three categories, just like
|
||||
the installation commands. @xref{Install Command Categories}.
|
||||
|
||||
@item install-strip
|
||||
Like @code{install}, but strip the executable files while installing
|
||||
them. In simple cases, this target can use the @code{install} target in
|
||||
a simple way:
|
||||
|
||||
@smallexample
|
||||
install-strip:
|
||||
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
|
||||
install
|
||||
@end smallexample
|
||||
|
||||
But if the package installs scripts as well as real executables, the
|
||||
@code{install-strip} target can't just refer to the @code{install}
|
||||
target; it has to strip the executables but not the scripts.
|
||||
|
||||
@code{install-strip} should not strip the executables in the build
|
||||
directory which are being copied for installation. It should only strip
|
||||
the copies that are installed.
|
||||
|
||||
Normally we do not recommend stripping an executable unless you are sure
|
||||
the program has no bugs. However, it can be reasonable to install a
|
||||
stripped executable for actual execution while saving the unstripped
|
||||
executable elsewhere in case there is a bug.
|
||||
|
||||
@comment The gratuitous blank line here is to make the table look better
|
||||
@comment in the printed Make manual. Please leave it in.
|
||||
@item clean
|
||||
|
||||
Delete all files from the current directory that are normally created by
|
||||
building the program. Don't delete the files that record the
|
||||
configuration. Also preserve files that could be made by building, but
|
||||
normally aren't because the distribution comes with them.
|
||||
|
||||
Delete @file{.dvi} files here if they are not part of the distribution.
|
||||
|
||||
@item distclean
|
||||
Delete all files from the current directory that are created by
|
||||
configuring or building the program. If you have unpacked the source
|
||||
and built the program without creating any other files, @samp{make
|
||||
distclean} should leave only the files that were in the distribution.
|
||||
|
||||
@item mostlyclean
|
||||
Like @samp{clean}, but may refrain from deleting a few files that people
|
||||
normally don't want to recompile. For example, the @samp{mostlyclean}
|
||||
target for GCC does not delete @file{libgcc.a}, because recompiling it
|
||||
is rarely necessary and takes a lot of time.
|
||||
|
||||
@item maintainer-clean
|
||||
Delete almost everything from the current directory that can be
|
||||
reconstructed with this Makefile. This typically includes everything
|
||||
deleted by @code{distclean}, plus more: C source files produced by
|
||||
Bison, tags tables, Info files, and so on.
|
||||
|
||||
The reason we say ``almost everything'' is that running the command
|
||||
@samp{make maintainer-clean} should not delete @file{configure} even if
|
||||
@file{configure} can be remade using a rule in the Makefile. More generally,
|
||||
@samp{make maintainer-clean} should not delete anything that needs to
|
||||
exist in order to run @file{configure} and then begin to build the
|
||||
program. This is the only exception; @code{maintainer-clean} should
|
||||
delete everything else that can be rebuilt.
|
||||
|
||||
The @samp{maintainer-clean} target is intended to be used by a maintainer of
|
||||
the package, not by ordinary users. You may need special tools to
|
||||
reconstruct some of the files that @samp{make maintainer-clean} deletes.
|
||||
Since these files are normally included in the distribution, we don't
|
||||
take care to make them easy to reconstruct. If you find you need to
|
||||
unpack the full distribution again, don't blame us.
|
||||
|
||||
To help make users aware of this, the commands for the special
|
||||
@code{maintainer-clean} target should start with these two:
|
||||
|
||||
@smallexample
|
||||
@@echo 'This command is intended for maintainers to use; it'
|
||||
@@echo 'deletes files that may need special tools to rebuild.'
|
||||
@end smallexample
|
||||
|
||||
@item TAGS
|
||||
Update a tags table for this program.
|
||||
@c ADR: how?
|
||||
|
||||
@item info
|
||||
Generate any Info files needed. The best way to write the rules is as
|
||||
follows:
|
||||
|
||||
@smallexample
|
||||
info: foo.info
|
||||
|
||||
foo.info: foo.texi chap1.texi chap2.texi
|
||||
$(MAKEINFO) $(srcdir)/foo.texi
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
You must define the variable @code{MAKEINFO} in the Makefile. It should
|
||||
run the @code{makeinfo} program, which is part of the Texinfo
|
||||
distribution.
|
||||
|
||||
Normally a GNU distribution comes with Info files, and that means the
|
||||
Info files are present in the source directory. Therefore, the Make
|
||||
rule for an info file should update it in the source directory. When
|
||||
users build the package, ordinarily Make will not update the Info files
|
||||
because they will already be up to date.
|
||||
|
||||
@item dvi
|
||||
Generate DVI files for all Texinfo documentation.
|
||||
For example:
|
||||
|
||||
@smallexample
|
||||
dvi: foo.dvi
|
||||
|
||||
foo.dvi: foo.texi chap1.texi chap2.texi
|
||||
$(TEXI2DVI) $(srcdir)/foo.texi
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
You must define the variable @code{TEXI2DVI} in the Makefile. It should
|
||||
run the program @code{texi2dvi}, which is part of the Texinfo
|
||||
distribution.@footnote{@code{texi2dvi} uses @TeX{} to do the real work
|
||||
of formatting. @TeX{} is not distributed with Texinfo.} Alternatively,
|
||||
write just the dependencies, and allow GNU @code{make} to provide the command.
|
||||
|
||||
@item dist
|
||||
Create a distribution tar file for this program. The tar file should be
|
||||
set up so that the file names in the tar file start with a subdirectory
|
||||
name which is the name of the package it is a distribution for. This
|
||||
name can include the version number.
|
||||
|
||||
For example, the distribution tar file of GCC version 1.40 unpacks into
|
||||
a subdirectory named @file{gcc-1.40}.
|
||||
|
||||
The easiest way to do this is to create a subdirectory appropriately
|
||||
named, use @code{ln} or @code{cp} to install the proper files in it, and
|
||||
then @code{tar} that subdirectory.
|
||||
|
||||
Compress the tar file with @code{gzip}. For example, the actual
|
||||
distribution file for GCC version 1.40 is called @file{gcc-1.40.tar.gz}.
|
||||
|
||||
The @code{dist} target should explicitly depend on all non-source files
|
||||
that are in the distribution, to make sure they are up to date in the
|
||||
distribution.
|
||||
@ifset CODESTD
|
||||
@xref{Releases, , Making Releases}.
|
||||
@end ifset
|
||||
@ifclear CODESTD
|
||||
@xref{Releases, , Making Releases, standards, GNU Coding Standards}.
|
||||
@end ifclear
|
||||
|
||||
@item check
|
||||
Perform self-tests (if any). The user must build the program before
|
||||
running the tests, but need not install the program; you should write
|
||||
the self-tests so that they work when the program is built but not
|
||||
installed.
|
||||
@end table
|
||||
|
||||
The following targets are suggested as conventional names, for programs
|
||||
in which they are useful.
|
||||
|
||||
@table @code
|
||||
@item installcheck
|
||||
Perform installation tests (if any). The user must build and install
|
||||
the program before running the tests. You should not assume that
|
||||
@file{$(bindir)} is in the search path.
|
||||
|
||||
@item installdirs
|
||||
It's useful to add a target named @samp{installdirs} to create the
|
||||
directories where files are installed, and their parent directories.
|
||||
There is a script called @file{mkinstalldirs} which is convenient for
|
||||
this; you can find it in the Texinfo package.
|
||||
@c It's in /gd/gnu/lib/mkinstalldirs.
|
||||
You can use a rule like this:
|
||||
|
||||
@comment This has been carefully formatted to look decent in the Make manual.
|
||||
@comment Please be sure not to make it extend any further to the right.--roland
|
||||
@smallexample
|
||||
# Make sure all installation directories (e.g. $(bindir))
|
||||
# actually exist by making them if necessary.
|
||||
installdirs: mkinstalldirs
|
||||
$(srcdir)/mkinstalldirs $(bindir) $(datadir) \
|
||||
$(libdir) $(infodir) \
|
||||
$(mandir)
|
||||
@end smallexample
|
||||
|
||||
This rule should not modify the directories where compilation is done.
|
||||
It should do nothing but create installation directories.
|
||||
@end table
|
||||
|
||||
@node Install Command Categories
|
||||
@section Install Command Categories
|
||||
|
||||
@cindex pre-installation commands
|
||||
@cindex post-installation commands
|
||||
When writing the @code{install} target, you must classify all the
|
||||
commands into three categories: normal ones, @dfn{pre-installation}
|
||||
commands and @dfn{post-installation} commands.
|
||||
|
||||
Normal commands move files into their proper places, and set their
|
||||
modes. They may not alter any files except the ones that come entirely
|
||||
from the package they belong to.
|
||||
|
||||
Pre-installation and post-installation commands may alter other files;
|
||||
in particular, they can edit global configuration files or data bases.
|
||||
|
||||
Pre-installation commands are typically executed before the normal
|
||||
commands, and post-installation commands are typically run after the
|
||||
normal commands.
|
||||
|
||||
The most common use for a post-installation command is to run
|
||||
@code{install-info}. This cannot be done with a normal command, since
|
||||
it alters a file (the Info directory) which does not come entirely and
|
||||
solely from the package being installed. It is a post-installation
|
||||
command because it needs to be done after the normal command which
|
||||
installs the package's Info files.
|
||||
|
||||
Most programs don't need any pre-installation commands, but we have the
|
||||
feature just in case it is needed.
|
||||
|
||||
To classify the commands in the @code{install} rule into these three
|
||||
categories, insert @dfn{category lines} among them. A category line
|
||||
specifies the category for the commands that follow.
|
||||
|
||||
A category line consists of a tab and a reference to a special Make
|
||||
variable, plus an optional comment at the end. There are three
|
||||
variables you can use, one for each category; the variable name
|
||||
specifies the category. Category lines are no-ops in ordinary execution
|
||||
because these three Make variables are normally undefined (and you
|
||||
@emph{should not} define them in the makefile).
|
||||
|
||||
Here are the three possible category lines, each with a comment that
|
||||
explains what it means:
|
||||
|
||||
@smallexample
|
||||
$(PRE_INSTALL) # @r{Pre-install commands follow.}
|
||||
$(POST_INSTALL) # @r{Post-install commands follow.}
|
||||
$(NORMAL_INSTALL) # @r{Normal commands follow.}
|
||||
@end smallexample
|
||||
|
||||
If you don't use a category line at the beginning of the @code{install}
|
||||
rule, all the commands are classified as normal until the first category
|
||||
line. If you don't use any category lines, all the commands are
|
||||
classified as normal.
|
||||
|
||||
These are the category lines for @code{uninstall}:
|
||||
|
||||
@smallexample
|
||||
$(PRE_UNINSTALL) # @r{Pre-uninstall commands follow.}
|
||||
$(POST_UNINSTALL) # @r{Post-uninstall commands follow.}
|
||||
$(NORMAL_UNINSTALL) # @r{Normal commands follow.}
|
||||
@end smallexample
|
||||
|
||||
Typically, a pre-uninstall command would be used for deleting entries
|
||||
from the Info directory.
|
||||
|
||||
If the @code{install} or @code{uninstall} target has any dependencies
|
||||
which act as subroutines of installation, then you should start
|
||||
@emph{each} dependency's commands with a category line, and start the
|
||||
main target's commands with a category line also. This way, you can
|
||||
ensure that each command is placed in the right category regardless of
|
||||
which of the dependencies actually run.
|
||||
|
||||
Pre-installation and post-installation commands should not run any
|
||||
programs except for these:
|
||||
|
||||
@example
|
||||
[ basename bash cat chgrp chmod chown cmp cp dd diff echo
|
||||
egrep expand expr false fgrep find getopt grep gunzip gzip
|
||||
hostname install install-info kill ldconfig ln ls md5sum
|
||||
mkdir mkfifo mknod mv printenv pwd rm rmdir sed sort tee
|
||||
test touch true uname xargs yes
|
||||
@end example
|
||||
|
||||
@cindex binary packages
|
||||
The reason for distinguishing the commands in this way is for the sake
|
||||
of making binary packages. Typically a binary package contains all the
|
||||
executables and other files that need to be installed, and has its own
|
||||
method of installing them---so it does not need to run the normal
|
||||
installation commands. But installing the binary package does need to
|
||||
execute the pre-installation and post-installation commands.
|
||||
|
||||
Programs to build binary packages work by extracting the
|
||||
pre-installation and post-installation commands. Here is one way of
|
||||
extracting the pre-installation commands:
|
||||
|
||||
@smallexample
|
||||
make -n install -o all \
|
||||
PRE_INSTALL=pre-install \
|
||||
POST_INSTALL=post-install \
|
||||
NORMAL_INSTALL=normal-install \
|
||||
| gawk -f pre-install.awk
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
where the file @file{pre-install.awk} could contain this:
|
||||
|
||||
@smallexample
|
||||
$0 ~ /^\t[ \t]*(normal_install|post_install)[ \t]*$/ @{on = 0@}
|
||||
on @{print $0@}
|
||||
$0 ~ /^\t[ \t]*pre_install[ \t]*$/ @{on = 1@}
|
||||
@end smallexample
|
||||
|
||||
The resulting file of pre-installation commands is executed as a shell
|
||||
script as part of installing the binary package.
|
||||
3640
gcc/etc/standards.texi
Normal file
3640
gcc/etc/standards.texi
Normal file
File diff suppressed because it is too large
Load Diff
1145
gcc/faq.html
Normal file
1145
gcc/faq.html
Normal file
File diff suppressed because it is too large
Load Diff
3
gcc/gcc/.cvsignore
Normal file
3
gcc/gcc/.cvsignore
Normal file
@@ -0,0 +1,3 @@
|
||||
genrtl
|
||||
genrtl.h
|
||||
genrtl.c
|
||||
102
gcc/gcc/.gdbinit
Normal file
102
gcc/gcc/.gdbinit
Normal file
@@ -0,0 +1,102 @@
|
||||
define pr
|
||||
set debug_rtx ($)
|
||||
end
|
||||
|
||||
document pr
|
||||
Print the full structure of the rtx that is $.
|
||||
Works only when an inferior is executing.
|
||||
end
|
||||
|
||||
define prl
|
||||
set debug_rtx_list ($, debug_rtx_count)
|
||||
end
|
||||
|
||||
document prl
|
||||
Print the full structure of all rtx insns beginning at $.
|
||||
Works only when an inferior is executing.
|
||||
Uses variable debug_rtx_count to control number of insns printed:
|
||||
debug_rtx_count > 0: print from $ on.
|
||||
debug_rtx_count < 0: print a window around $.
|
||||
|
||||
There is also debug_rtx_find (rtx, uid) that will scan a list for UID and print
|
||||
it using debug_rtx_list. Usage example: set $foo=debug_rtx_find(first, 42)
|
||||
end
|
||||
|
||||
define pt
|
||||
set debug_tree ($)
|
||||
end
|
||||
|
||||
document pt
|
||||
Print the full structure of the tree that is $.
|
||||
Works only when an inferior is executing.
|
||||
end
|
||||
|
||||
define ptc
|
||||
output (enum tree_code) $.common.code
|
||||
echo \n
|
||||
end
|
||||
|
||||
document ptc
|
||||
Print the tree-code of the tree node that is $.
|
||||
end
|
||||
|
||||
define pdn
|
||||
output $.decl.name->identifier.pointer
|
||||
echo \n
|
||||
end
|
||||
|
||||
document pdn
|
||||
Print the name of the decl-node that is $.
|
||||
end
|
||||
|
||||
define ptn
|
||||
output $.type.name->decl.name->identifier.pointer
|
||||
echo \n
|
||||
end
|
||||
|
||||
document ptn
|
||||
Print the name of the type-node that is $.
|
||||
end
|
||||
|
||||
define prc
|
||||
output (enum rtx_code) $.code
|
||||
echo \ (
|
||||
output $.mode
|
||||
echo )\n
|
||||
end
|
||||
|
||||
document prc
|
||||
Print the rtx-code and machine mode of the rtx that is $.
|
||||
end
|
||||
|
||||
define pi
|
||||
print $.fld[0].rtx@7
|
||||
end
|
||||
|
||||
document pi
|
||||
Print the fields of an instruction that is $.
|
||||
end
|
||||
|
||||
define pbs
|
||||
set print_binding_stack ()
|
||||
end
|
||||
|
||||
document pbs
|
||||
In cc1plus, print the current binding stack, frame by frame, up to and
|
||||
including the global binding level.
|
||||
end
|
||||
|
||||
# Put breakpoints at exit and fancy_abort in case abort is mapped
|
||||
# to either fprintf/exit or fancy_abort.
|
||||
b exit
|
||||
b fancy_abort
|
||||
|
||||
# Make gdb complain about symbol reading errors. This is so that gcc
|
||||
# developers can see and fix bugs in gcc debug output.
|
||||
set complaints 20
|
||||
|
||||
# Don't let abort actually run, as it will make
|
||||
# stdio stop working and therefore the `pr' command above as well.
|
||||
# Put this last because gcc does not reference it any more unless
|
||||
# USE_SYSTEM_ABORT is defined, so gdb may complain and bail out.
|
||||
b abort
|
||||
558
gcc/gcc/ABOUT-GCC-NLS
Normal file
558
gcc/gcc/ABOUT-GCC-NLS
Normal file
@@ -0,0 +1,558 @@
|
||||
Notes on GCC's Native Language Support
|
||||
|
||||
GCC's Native Language Support (NLS) is relatively new and
|
||||
experimental, so NLS is currently disabled by default.
|
||||
|
||||
The main reason for it being buggy is, that GCC does not set the
|
||||
locale categories correctly. Currently only LC_MESSAGES is set if the
|
||||
system supports it and else nothing. To work correctly, GCC would have
|
||||
to also set the character set used by the terminal by either setting
|
||||
LC_CTYPE together with LC_MESSAGES or LC_ALL if LC_MESSAGES is
|
||||
not supported.
|
||||
|
||||
This would change the behaviour of GCC in quite a few places because
|
||||
a number of standard C functions and macros change their behaviour
|
||||
depending on the locale. These necessary changes have been done in the
|
||||
development version, but these changes are beyond the scope
|
||||
of a maintenance release such as this. It is therefore recommended that
|
||||
you leave it disabled.
|
||||
|
||||
If you still want to enable the feature, use configure's --enable-nls
|
||||
option to enable it. Eventually, NLS will be enabled by default, and
|
||||
you'll need --disable-nls to disable it. You must enable NLS in order
|
||||
to make a GCC distribution.
|
||||
|
||||
By and large, only diagnostic messages have been internationalized.
|
||||
Some work remains in other areas; for example, GCC does not yet allow
|
||||
non-ASCII letters in identifiers.
|
||||
|
||||
Not all of GCC's diagnostic messages have been internationalized.
|
||||
Programs like `enquire' and `genattr' are not internationalized, as
|
||||
their users are GCC maintainers who typically need to be able to read
|
||||
English anyway; internationalizing them would thus entail needless
|
||||
work for the human translators. And no one has yet gotten around to
|
||||
internationalizing the messages in the C++ compiler, or in the
|
||||
specialized MIPS-specific programs mips-tdump and mips-tfile.
|
||||
|
||||
The GCC library should not contain any messages that need
|
||||
internationalization, because it operates below the
|
||||
internationalization library.
|
||||
|
||||
Currently, the only language translation supplied is en_UK (British English).
|
||||
|
||||
Unlike some other GNU programs, the GCC sources contain few instances
|
||||
of explicit translation calls like _("string"). Instead, the
|
||||
diagnostic printing routines automatically translate their arguments.
|
||||
For example, GCC source code should not contain calls like `error
|
||||
(_("unterminated comment"))'; it should contain calls like `error
|
||||
("unterminated comment")' instead, as it is the `error' function's
|
||||
responsibility to translate the message before the user sees it.
|
||||
|
||||
By convention, any function parameter in the GCC sources whose name
|
||||
ends in `msgid' is expected to be a message requiring translation.
|
||||
For example, the `error' function's first parameter is named `msgid'.
|
||||
GCC's exgettext script uses this convention to determine which
|
||||
function parameter strings need to be translated. The exgettext
|
||||
script also assumes that any occurrence of `%eMSGID}' on a source
|
||||
line, where MSGID does not contain `%' or `}', corresponds to a
|
||||
message MSGID that requires translation; this is needed to identify
|
||||
diagnostics in GCC spec strings.
|
||||
|
||||
If you enable NLS and modify source files, you'll need to use a
|
||||
special version of the GNU gettext package to propagate the
|
||||
modifications to the translation tables. Apply the following patch
|
||||
(use `patch -p0') to GNU gettext 0.10.35, which you can retrieve from:
|
||||
|
||||
ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz
|
||||
|
||||
This patch has been submitted to the GNU gettext maintainer, so
|
||||
eventually we shouldn't need this special gettext version.
|
||||
|
||||
This patch 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 patch 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 patch; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
|
||||
1998-07-26 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* po/Makefile.in.in (maintainer-clean): Remove cat-id-tbl.c and
|
||||
stamp-cat-id.
|
||||
|
||||
1998-07-24 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* po/Makefile.in.in (cat-id-tbl.o): Depend on
|
||||
$(top_srcdir)/intl/libgettext.h, not ../intl/libgettext.h.
|
||||
|
||||
1998-07-20 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* po/Makefile.in.in (.po.pox, all-yes, $(srcdir)/cat-id-tbl.c,
|
||||
$(srcdir)/stamp-cat-id, update-po): Prepend `$(srcdir)/' to
|
||||
files built in the source directory; this is needed for
|
||||
VPATH-based make in Solaris 2.6.
|
||||
|
||||
1998-07-17 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
Add support for user-specified argument numbers for keywords.
|
||||
Extract all strings from a keyword arg, not just the first one.
|
||||
Handle parenthesized commas inside keyword args correctly.
|
||||
Warn about nested keywords.
|
||||
|
||||
* doc/gettext.texi: Document --keyword=id:argnum.
|
||||
|
||||
* src/xgettext.c (scan_c_file):
|
||||
Warn about nested keywords, e.g. _(_("xxx")).
|
||||
Warn also about not-yet-implemented but allowed nesting, e.g.
|
||||
dcgettext(..._("xxx")..., "yyy").
|
||||
Get all strings in a keyword arg, not just the first one.
|
||||
Handle parenthesized commas inside keyword args correctly.
|
||||
|
||||
* src/xget-lex.h (enum xgettext_token_type_ty):
|
||||
Replace xgettext_token_type_keyword1 and
|
||||
xgettext_token_type_keyword2 with just plain
|
||||
xgettext_token_type_keyword; it now has argnum value.
|
||||
Add xgettext_token_type_rp.
|
||||
(struct xgettext_token_ty): Add argnum member.
|
||||
line_number and file_name are now also set for
|
||||
xgettext_token_type_keyword.
|
||||
(xgettext_lex_keyword): Arg is const char *.
|
||||
|
||||
* src/xget-lex.c: Include "hash.h".
|
||||
(enum token_type_ty): Add token_type_rp.
|
||||
(keywords): Now a hash table.
|
||||
(phase5_get): Return token_type_rp for ')'.
|
||||
(xgettext_lex, xgettext_lex_keyword): Add support for keyword argnums.
|
||||
(xgettext_lex): Return xgettext_token_type_rp for ')'.
|
||||
Report keyword argnum, line number, and file name back to caller.
|
||||
|
||||
1998-07-09 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* intl/Makefile.in (uninstall):
|
||||
Do nothing unless $(PACKAGE) is gettext.
|
||||
|
||||
===================================================================
|
||||
RCS file: doc/gettext.texi,v
|
||||
retrieving revision 0.10.35.0
|
||||
retrieving revision 0.10.35.1
|
||||
diff -pu -r0.10.35.0 -r0.10.35.1
|
||||
--- doc/gettext.texi 1998/05/01 05:53:32 0.10.35.0
|
||||
+++ doc/gettext.texi 1998/07/18 00:25:15 0.10.35.1
|
||||
@@ -1854,13 +1854,19 @@ List of directories searched for input f
|
||||
Join messages with existing file.
|
||||
|
||||
@item -k @var{word}
|
||||
-@itemx --keyword[=@var{word}]
|
||||
-Additonal keyword to be looked for (without @var{word} means not to
|
||||
+@itemx --keyword[=@var{keywordspec}]
|
||||
+Additonal keyword to be looked for (without @var{keywordspec} means not to
|
||||
use default keywords).
|
||||
|
||||
-The default keywords, which are always looked for if not explicitly
|
||||
-disabled, are @code{gettext}, @code{dgettext}, @code{dcgettext} and
|
||||
-@code{gettext_noop}.
|
||||
+If @var{keywordspec} is a C identifer @var{id}, @code{xgettext} looks
|
||||
+for strings in the first argument of each call to the function or macro
|
||||
+@var{id}. If @var{keywordspec} is of the form
|
||||
+@samp{@var{id}:@var{argnum}}, @code{xgettext} looks for strings in the
|
||||
+@var{argnum}th argument of the call.
|
||||
+
|
||||
+The default keyword specifications, which are always looked for if not
|
||||
+explicitly disabled, are @code{gettext}, @code{dgettext:2},
|
||||
+@code{dcgettext:2} and @code{gettext_noop}.
|
||||
|
||||
@item -m [@var{string}]
|
||||
@itemx --msgstr-prefix[=@var{string}]
|
||||
===================================================================
|
||||
RCS file: intl/Makefile.in,v
|
||||
retrieving revision 0.10.35.0
|
||||
retrieving revision 0.10.35.1
|
||||
diff -pu -r0.10.35.0 -r0.10.35.1
|
||||
--- intl/Makefile.in 1998/04/27 21:53:18 0.10.35.0
|
||||
+++ intl/Makefile.in 1998/07/09 21:39:18 0.10.35.1
|
||||
@@ -143,10 +143,14 @@ install-data: all
|
||||
installcheck:
|
||||
|
||||
uninstall:
|
||||
- dists="$(DISTFILES.common)"; \
|
||||
- for file in $$dists; do \
|
||||
- rm -f $(gettextsrcdir)/$$file; \
|
||||
- done
|
||||
+ if test "$(PACKAGE)" = "gettext"; then \
|
||||
+ dists="$(DISTFILES.common)"; \
|
||||
+ for file in $$dists; do \
|
||||
+ rm -f $(gettextsrcdir)/$$file; \
|
||||
+ done
|
||||
+ else \
|
||||
+ : ; \
|
||||
+ fi
|
||||
|
||||
info dvi:
|
||||
|
||||
===================================================================
|
||||
RCS file: src/xget-lex.c,v
|
||||
retrieving revision 0.10.35.0
|
||||
retrieving revision 0.10.35.1
|
||||
diff -pu -r0.10.35.0 -r0.10.35.1
|
||||
--- src/xget-lex.c 1998/07/09 22:49:48 0.10.35.0
|
||||
+++ src/xget-lex.c 1998/07/18 00:25:15 0.10.35.1
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "error.h"
|
||||
#include "system.h"
|
||||
#include "libgettext.h"
|
||||
+#include "hash.h"
|
||||
#include "str-list.h"
|
||||
#include "xget-lex.h"
|
||||
|
||||
@@ -83,6 +84,7 @@ enum token_type_ty
|
||||
token_type_eoln,
|
||||
token_type_hash,
|
||||
token_type_lp,
|
||||
+ token_type_rp,
|
||||
token_type_comma,
|
||||
token_type_name,
|
||||
token_type_number,
|
||||
@@ -109,7 +111,7 @@ static FILE *fp;
|
||||
static int trigraphs;
|
||||
static int cplusplus_comments;
|
||||
static string_list_ty *comment;
|
||||
-static string_list_ty *keywords;
|
||||
+static hash_table keywords;
|
||||
static int default_keywords = 1;
|
||||
|
||||
/* These are for tracking whether comments count as immediately before
|
||||
@@ -941,6 +943,10 @@ phase5_get (tp)
|
||||
tp->type = token_type_lp;
|
||||
return;
|
||||
|
||||
+ case ')':
|
||||
+ tp->type = token_type_rp;
|
||||
+ return;
|
||||
+
|
||||
case ',':
|
||||
tp->type = token_type_comma;
|
||||
return;
|
||||
@@ -1179,6 +1185,7 @@ xgettext_lex (tp)
|
||||
while (1)
|
||||
{
|
||||
token_ty token;
|
||||
+ void *keyword_value;
|
||||
|
||||
phase8_get (&token);
|
||||
switch (token.type)
|
||||
@@ -1213,17 +1220,20 @@ xgettext_lex (tp)
|
||||
if (default_keywords)
|
||||
{
|
||||
xgettext_lex_keyword ("gettext");
|
||||
- xgettext_lex_keyword ("dgettext");
|
||||
- xgettext_lex_keyword ("dcgettext");
|
||||
+ xgettext_lex_keyword ("dgettext:2");
|
||||
+ xgettext_lex_keyword ("dcgettext:2");
|
||||
xgettext_lex_keyword ("gettext_noop");
|
||||
default_keywords = 0;
|
||||
}
|
||||
|
||||
- if (string_list_member (keywords, token.string))
|
||||
- {
|
||||
- tp->type = (strcmp (token.string, "dgettext") == 0
|
||||
- || strcmp (token.string, "dcgettext") == 0)
|
||||
- ? xgettext_token_type_keyword2 : xgettext_token_type_keyword1;
|
||||
+ if (find_entry (&keywords, token.string, strlen (token.string),
|
||||
+ &keyword_value)
|
||||
+ == 0)
|
||||
+ {
|
||||
+ tp->type = xgettext_token_type_keyword;
|
||||
+ tp->argnum = (int) keyword_value;
|
||||
+ tp->line_number = token.line_number;
|
||||
+ tp->file_name = logical_file_name;
|
||||
}
|
||||
else
|
||||
tp->type = xgettext_token_type_symbol;
|
||||
@@ -1236,6 +1246,12 @@ xgettext_lex (tp)
|
||||
tp->type = xgettext_token_type_lp;
|
||||
return;
|
||||
|
||||
+ case token_type_rp:
|
||||
+ last_non_comment_line = newline_count;
|
||||
+
|
||||
+ tp->type = xgettext_token_type_rp;
|
||||
+ return;
|
||||
+
|
||||
case token_type_comma:
|
||||
last_non_comment_line = newline_count;
|
||||
|
||||
@@ -1263,16 +1279,32 @@ xgettext_lex (tp)
|
||||
|
||||
void
|
||||
xgettext_lex_keyword (name)
|
||||
- char *name;
|
||||
+ const char *name;
|
||||
{
|
||||
if (name == NULL)
|
||||
default_keywords = 0;
|
||||
else
|
||||
{
|
||||
- if (keywords == NULL)
|
||||
- keywords = string_list_alloc ();
|
||||
+ int argnum;
|
||||
+ size_t len;
|
||||
+ const char *sp;
|
||||
+
|
||||
+ if (keywords.table == NULL)
|
||||
+ init_hash (&keywords, 100);
|
||||
+
|
||||
+ sp = strchr (name, ':');
|
||||
+ if (sp)
|
||||
+ {
|
||||
+ len = sp - name;
|
||||
+ argnum = atoi (sp + 1);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ len = strlen (name);
|
||||
+ argnum = 1;
|
||||
+ }
|
||||
|
||||
- string_list_append_unique (keywords, name);
|
||||
+ insert_entry (&keywords, name, len, (void *) argnum);
|
||||
}
|
||||
}
|
||||
|
||||
===================================================================
|
||||
RCS file: src/xget-lex.h,v
|
||||
retrieving revision 0.10.35.0
|
||||
retrieving revision 0.10.35.1
|
||||
diff -pu -r0.10.35.0 -r0.10.35.1
|
||||
--- src/xget-lex.h 1998/07/09 22:49:48 0.10.35.0
|
||||
+++ src/xget-lex.h 1998/07/18 00:25:15 0.10.35.1
|
||||
@@ -23,9 +23,9 @@ Foundation, Inc., 59 Temple Place - Suit
|
||||
enum xgettext_token_type_ty
|
||||
{
|
||||
xgettext_token_type_eof,
|
||||
- xgettext_token_type_keyword1,
|
||||
- xgettext_token_type_keyword2,
|
||||
+ xgettext_token_type_keyword,
|
||||
xgettext_token_type_lp,
|
||||
+ xgettext_token_type_rp,
|
||||
xgettext_token_type_comma,
|
||||
xgettext_token_type_string_literal,
|
||||
xgettext_token_type_symbol
|
||||
@@ -37,8 +37,14 @@ struct xgettext_token_ty
|
||||
{
|
||||
xgettext_token_type_ty type;
|
||||
|
||||
- /* These 3 are only set for xgettext_token_type_string_literal. */
|
||||
+ /* This 1 is set only for xgettext_token_type_keyword. */
|
||||
+ int argnum;
|
||||
+
|
||||
+ /* This 1 is set only for xgettext_token_type_string_literal. */
|
||||
char *string;
|
||||
+
|
||||
+ /* These 2 are set only for xgettext_token_type_keyword and
|
||||
+ xgettext_token_type_string_literal. */
|
||||
int line_number;
|
||||
char *file_name;
|
||||
};
|
||||
@@ -50,7 +56,7 @@ void xgettext_lex PARAMS ((xgettext_toke
|
||||
const char *xgettext_lex_comment PARAMS ((size_t __n));
|
||||
void xgettext_lex_comment_reset PARAMS ((void));
|
||||
/* void xgettext_lex_filepos PARAMS ((char **, int *)); FIXME needed? */
|
||||
-void xgettext_lex_keyword PARAMS ((char *__name));
|
||||
+void xgettext_lex_keyword PARAMS ((const char *__name));
|
||||
void xgettext_lex_cplusplus PARAMS ((void));
|
||||
void xgettext_lex_trigraphs PARAMS ((void));
|
||||
|
||||
===================================================================
|
||||
RCS file: src/xgettext.c,v
|
||||
retrieving revision 0.10.35.0
|
||||
retrieving revision 0.10.35.1
|
||||
diff -pu -r0.10.35.0 -r0.10.35.1
|
||||
--- src/xgettext.c 1998/07/09 22:49:48 0.10.35.0
|
||||
+++ src/xgettext.c 1998/07/18 00:25:15 0.10.35.1
|
||||
@@ -835,6 +835,8 @@ scan_c_file(filename, mlp, is_cpp_file)
|
||||
int is_cpp_file;
|
||||
{
|
||||
int state;
|
||||
+ int commas_to_skip; /* defined only when in states 1 and 2 */
|
||||
+ int paren_nesting; /* defined only when in state 2 */
|
||||
|
||||
/* Inform scanner whether we have C++ files or not. */
|
||||
if (is_cpp_file)
|
||||
@@ -854,63 +856,79 @@ scan_c_file(filename, mlp, is_cpp_file)
|
||||
{
|
||||
xgettext_token_ty token;
|
||||
|
||||
- /* A simple state machine is used to do the recognising:
|
||||
+ /* A state machine is used to do the recognising:
|
||||
State 0 = waiting for something to happen
|
||||
- State 1 = seen one of our keywords with string in first parameter
|
||||
- State 2 = was in state 1 and now saw a left paren
|
||||
- State 3 = seen one of our keywords with string in second parameter
|
||||
- State 4 = was in state 3 and now saw a left paren
|
||||
- State 5 = waiting for comma after being in state 4
|
||||
- State 6 = saw comma after being in state 5 */
|
||||
+ State 1 = seen one of our keywords
|
||||
+ State 2 = waiting for part of an argument */
|
||||
xgettext_lex (&token);
|
||||
switch (token.type)
|
||||
{
|
||||
- case xgettext_token_type_keyword1:
|
||||
+ case xgettext_token_type_keyword:
|
||||
+ if (!extract_all && state == 2)
|
||||
+ {
|
||||
+ if (commas_to_skip == 0)
|
||||
+ {
|
||||
+ error (0, 0,
|
||||
+ _("%s:%d: warning: keyword nested in keyword arg"),
|
||||
+ token.file_name, token.line_number);
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ /* Here we should nest properly, but this would require a
|
||||
+ potentially unbounded stack. We haven't run across an
|
||||
+ example that needs this functionality yet. For now,
|
||||
+ we punt and forget the outer keyword. */
|
||||
+ error (0, 0,
|
||||
+ _("%s:%d: warning: keyword between outer keyword and its arg"),
|
||||
+ token.file_name, token.line_number);
|
||||
+ }
|
||||
+ commas_to_skip = token.argnum - 1;
|
||||
state = 1;
|
||||
continue;
|
||||
|
||||
- case xgettext_token_type_keyword2:
|
||||
- state = 3;
|
||||
- continue;
|
||||
-
|
||||
case xgettext_token_type_lp:
|
||||
switch (state)
|
||||
{
|
||||
case 1:
|
||||
+ paren_nesting = 0;
|
||||
state = 2;
|
||||
break;
|
||||
- case 3:
|
||||
- state = 4;
|
||||
+ case 2:
|
||||
+ paren_nesting++;
|
||||
break;
|
||||
- default:
|
||||
- state = 0;
|
||||
}
|
||||
continue;
|
||||
|
||||
+ case xgettext_token_type_rp:
|
||||
+ if (state == 2 && paren_nesting != 0)
|
||||
+ paren_nesting--;
|
||||
+ else
|
||||
+ state = 0;
|
||||
+ continue;
|
||||
+
|
||||
case xgettext_token_type_comma:
|
||||
- state = state == 5 ? 6 : 0;
|
||||
+ if (state == 2 && commas_to_skip != 0)
|
||||
+ commas_to_skip -= paren_nesting == 0;
|
||||
+ else
|
||||
+ state = 0;
|
||||
continue;
|
||||
|
||||
case xgettext_token_type_string_literal:
|
||||
- if (extract_all || state == 2 || state == 6)
|
||||
- {
|
||||
- remember_a_message (mlp, &token);
|
||||
- state = 0;
|
||||
- }
|
||||
+ if (extract_all || (state == 2 && commas_to_skip == 0))
|
||||
+ remember_a_message (mlp, &token);
|
||||
else
|
||||
{
|
||||
free (token.string);
|
||||
- state = (state == 4 || state == 5) ? 5 : 0;
|
||||
+ state = state == 2 ? 2 : 0;
|
||||
}
|
||||
continue;
|
||||
|
||||
case xgettext_token_type_symbol:
|
||||
- state = (state == 4 || state == 5) ? 5 : 0;
|
||||
+ state = state == 2 ? 2 : 0;
|
||||
continue;
|
||||
|
||||
default:
|
||||
- state = 0;
|
||||
- continue;
|
||||
+ abort ();
|
||||
|
||||
case xgettext_token_type_eof:
|
||||
break;
|
||||
===================================================================
|
||||
RCS file: po/Makefile.in.in,v
|
||||
retrieving revision 0.10.35.0
|
||||
retrieving revision 0.10.35.5
|
||||
diff -u -r0.10.35.0 -r0.10.35.5
|
||||
--- po/Makefile.in.in 1998/07/20 20:20:38 0.10.35.0
|
||||
+++ po/Makefile.in.in 1998/07/26 09:07:52 0.10.35.5
|
||||
@@ -62,7 +62,7 @@
|
||||
$(COMPILE) $<
|
||||
|
||||
.po.pox:
|
||||
- $(MAKE) $(PACKAGE).pot
|
||||
+ $(MAKE) $(srcdir)/$(PACKAGE).pot
|
||||
$(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
|
||||
|
||||
.po.mo:
|
||||
@@ -79,7 +79,7 @@
|
||||
|
||||
all: all-@USE_NLS@
|
||||
|
||||
-all-yes: cat-id-tbl.c $(CATALOGS)
|
||||
+all-yes: $(srcdir)/cat-id-tbl.c $(CATALOGS)
|
||||
all-no:
|
||||
|
||||
$(srcdir)/$(PACKAGE).pot: $(POTFILES)
|
||||
@@ -90,8 +90,8 @@
|
||||
|| ( rm -f $(srcdir)/$(PACKAGE).pot \
|
||||
&& mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot )
|
||||
|
||||
-$(srcdir)/cat-id-tbl.c: stamp-cat-id; @:
|
||||
-$(srcdir)/stamp-cat-id: $(PACKAGE).pot
|
||||
+$(srcdir)/cat-id-tbl.c: $(srcdir)/stamp-cat-id; @:
|
||||
+$(srcdir)/stamp-cat-id: $(srcdir)/$(PACKAGE).pot
|
||||
rm -f cat-id-tbl.tmp
|
||||
sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \
|
||||
| sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp
|
||||
@@ -180,7 +180,8 @@
|
||||
|
||||
check: all
|
||||
|
||||
-cat-id-tbl.o: ../intl/libgettext.h
|
||||
+cat-id-tbl.o: $(srcdir)/cat-id-tbl.c $(top_srcdir)/intl/libgettext.h
|
||||
+ $(COMPILE) $(srcdir)/cat-id-tbl.c
|
||||
|
||||
dvi info tags TAGS ID:
|
||||
|
||||
@@ -196,7 +197,7 @@
|
||||
maintainer-clean: distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
- rm -f $(GMOFILES)
|
||||
+ rm -f $(GMOFILES) cat-id-tbl.c stamp-cat-id
|
||||
|
||||
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
dist distdir: update-po $(DISTFILES)
|
||||
@@ -207,7 +208,7 @@
|
||||
done
|
||||
|
||||
update-po: Makefile
|
||||
- $(MAKE) $(PACKAGE).pot
|
||||
+ $(MAKE) $(srcdir)/$(PACKAGE).pot
|
||||
PATH=`pwd`/../src:$$PATH; \
|
||||
cd $(srcdir); \
|
||||
catalogs='$(CATALOGS)'; \
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user