/*
Version Control
- $Id: gen.c,v 1.59 2011/03/31 23:50:24 tom Exp $
+ $Id: gen.c,v 1.60 2011/04/30 19:47:19 Nicolas.Boulenguez Exp $
--------------------------------------------------------------------------*/
/*
This program generates various record structures and constants from the
int len, /* size of the record in bytes */
int bias)
{
- const char *unused_name = "Unused";
- int long_bits = (8 * (int)sizeof(unsigned long));
- int len_bits = (8 * len);
- int i, j, n, l, cnt = 0, low, high;
+ const int len_bits = (8 * len);
+ int i, l, low, high;
int width = strlen(RES_NAME) + 3;
unsigned long a;
- unsigned long mask = 0;
assert(nap != NULL);
for (i = 0; nap[i].name != (char *)0; i++)
{
- cnt++;
l = (int)strlen(nap[i].name);
if (l > width)
width = l;
printf(" record\n");
for (i = 0; nap[i].name != (char *)0; i++)
{
- mask |= nap[i].attr;
printf(" %-*s : Boolean;\n", width, nap[i].name);
}
-
- /*
- * Compute a mask for the unused bits in this target.
- */
- mask = ~mask;
- /*
- * Bits in the biased area are unused by the target.
- */
- for (j = 0; j < bias; ++j)
- {
- mask &= (unsigned long)(~(1L << j));
- }
- /*
- * Bits past the target's size are really unused.
- */
- for (j = len_bits + bias; j < long_bits; ++j)
- {
- mask &= (unsigned long)(~(1L << j));
- }
- if (mask != 0)
- {
- printf(" %-*s : Boolean;\n", width, unused_name);
- }
printf(" end record;\n");
printf(" pragma Convention (C, %s);\n\n", name);
printf(" %-*s at 0 range %2d .. %2d;\n", width, nap[i].name,
low - bias, high - bias);
}
- if (mask != 0)
- {
- l = find_pos((char *)&mask, sizeof(mask), &low, &high);
- if (l >= 0)
- printf(" %-*s at 0 range %2d .. %2d;\n", width, unused_name,
- low - bias, high - bias);
- }
- i = 1;
- n = cnt;
printf(" end record;\n");
+ printf(" pragma Warnings (Off);");
printf(" for %s'Size use %d;\n", name, len_bits);
+ printf(" pragma Warnings (On);\n");
printf(" -- Please note: this rep. clause is generated and may be\n");
printf(" -- different on your system.");
}
#
# Author: Juergen Pfeifer, 1996
#
-# $Id: Makefile.in,v 1.60 2011/03/31 09:46:16 tom Exp $
+# $Id: Makefile.in,v 1.62 2011/04/30 22:24:45 tom Exp $
#
.SUFFIXES:
$(ADAPREP) -DADA_TRACE=@ADA_TRACE@ -DPRAGMA_UNREF=@PRAGMA_UNREF@ $(srcdir)/$(ABASE)-trace.adb_p $@
###############################################################################
-C_OBJS = c_varargs_to_ada.o ncurses_compat.o
+# Use these definitions when building a shared library.
+SHARED_C_OBJS = c_varargs_to_ada.o ncurses_compat.o
+SHARED_OBJS = $(SHARED_C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@
c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c
$(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/c_varargs_to_ada.c
$(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/ncurses_compat.c
###############################################################################
+# Use these definitions when building a static library.
+STATIC_C_OBJS = static_c_varargs_to_ada.o static_ncurses_compat.o
+STATIC_OBJS = $(STATIC_C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@
-MIXED_OBJS = $(C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@
+static_c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c
+ $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/c_varargs_to_ada.c
+
+static_ncurses_compat.o : $(srcdir)/ncurses_compat.c
+ $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/ncurses_compat.c
+
+###############################################################################
@USE_OLD_MAKERULES@$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) :: \
@USE_OLD_MAKERULES@ $(BUILD_DIR_LIB) \
-@USE_OLD_MAKERULES@ $(MIXED_OBJS)
-@USE_OLD_MAKERULES@ $(AR) $(ARFLAGS) $@ $(MIXED_OBJS)
+@USE_OLD_MAKERULES@ $(STATIC_OBJS)
+@USE_OLD_MAKERULES@ $(AR) $(ARFLAGS) $@ $(STATIC_OBJS)
$(BUILD_DIR)/static-ali : ; mkdir -p $@
$(BUILD_DIR)/static-obj : ; mkdir -p $@
@USE_GNAT_PROJECTS@$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) :: \
@USE_GNAT_PROJECTS@ $(ABASE)-trace.adb \
-@USE_GNAT_PROJECTS@ $(C_OBJS) \
+@USE_GNAT_PROJECTS@ $(STATIC_C_OBJS) \
@USE_GNAT_PROJECTS@ $(STATIC_DIRS)
@USE_GNAT_PROJECTS@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=static
-@USE_GNAT_PROJECTS@ $(AR) $(ARFLAGS) $@ $(C_OBJS)
+@USE_GNAT_PROJECTS@ $(AR) $(ARFLAGS) $@ $(STATIC_C_OBJS)
@USE_GNAT_PROJECTS@
@USE_GNAT_LIBRARIES@install \
@USE_GNAT_LIBRARIES@install.libs :: \
$(BUILD_DIR)/dynamic-obj
@MAKE_ADA_SHAREDLIB@all :: $(BUILD_DIR_LIB)/$(SHARED_LIBNAME)
-@MAKE_ADA_SHAREDLIB@$(BUILD_DIR_LIB)/$(SHARED_LIBNAME) :: $(ABASE)-trace.adb $(SHARED_DIRS)
-@MAKE_ADA_SHAREDLIB@ cp $(MIXED_OBJS) $(BUILD_DIR)/dynamic-obj/
+@MAKE_ADA_SHAREDLIB@$(BUILD_DIR_LIB)/$(SHARED_LIBNAME) :: \
+@MAKE_ADA_SHAREDLIB@ $(ABASE)-trace.adb \
+@MAKE_ADA_SHAREDLIB@ $(SHARED_DIRS) \
+@MAKE_ADA_SHAREDLIB@ $(SHARED_OBJS)
+@MAKE_ADA_SHAREDLIB@ cp $(SHARED_OBJS) $(BUILD_DIR)/dynamic-obj/
@MAKE_ADA_SHAREDLIB@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=dynamic
install \
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.1693 2011/04/23 22:28:43 tom Exp $
+-- $Id: NEWS,v 1.1695 2011/04/30 21:58:29 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20110430
+ + modify rules in Ada95/src/Makefile.in to ensure that the PIC option
+ is not used when building a static library (report by Nicolas
+ Boulenguez):
+ + Ada95 build-fix for big-endian architectures such as sparc. This
+ undoes one of the fixes from 20110319, which added an "Unused" member
+ to representation clauses, replacing that with pragmas to suppress
+ warnings about unused bits (patch by Nicolas Boulenguez):
+
20110423
+ add check in test/configure for use_window, use_screen.
+ add configure-checks for getopt's variables, which may be declared
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.813 2011/04/23 14:45:18 tom Exp $
+# $Id: dist.mk,v 1.814 2011/04/30 18:20:40 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 5
NCURSES_MINOR = 9
-NCURSES_PATCH = 20110423
+NCURSES_PATCH = 20110430
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)