Changeset 4c3ab846 in rtems


Ignore:
Timestamp:
01/13/00 21:07:22 (24 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
49fa9bc
Parents:
b8c9883
Message:

Patch rtems-rc-20000104-17.diff from Ralf Corsepius <corsepiu@…>
that addresses the librdbg/rpcgen related problems:

Changes:

  • All rpcgen generated files are now kept inside of the source tree
  • Fix librdbg/configure to correctly detect presence of rpcgen and awk
  • Use rpcgen -m to generated remdeb_svc.c
  • Remove msgout/_msgout from awk.svc
  • minor cleanups to librdbg/configure.in

ATTENTION --- IMPORTANT:

  • With keeping rpc-generated files pre-build inside of the source tree, you as the packager of RTEMS have to ensure that timestamps are correctly set up: The generated files must not be older than the *.x files.
  • This is extraordinarily important when
    • putting the package on read-only media
    • after checking out from CVS
    • after modifications to the *.x files
  • If one of the *.x files is modified you have to either
    • build for i386/pc386 and powerpc/mcp750
    • or to invoke the same rpcgen calls as the librdbg/src/<cpu>/<bsp>/Makefile.am do manually before checking-in the files to CVS.

Proposal:

We could add something to bootstrap for touching the rpcgen-generated
sources and/or to manually regenerate them.

NOTE FROM JOEL:

Ralf proposed modifying bootstrap to handle rpcgen. I think this
is the best solution as it is something already done in the
snapshot procedure.

Location:
c/src/librdbg
Files:
9 added
5 edited

Legend:

Unmodified
Added
Removed
  • c/src/librdbg/configure.in

    rb8c9883 r4c3ab846  
    2323RTEMS_CANONICAL_HOST
    2424
    25 RTEMS_PROJECT_ROOT
    26 
    2725dnl check target cc
    2826RTEMS_PROG_CC_FOR_TARGET
    2927RTEMS_CANONICALIZE_TOOLS
    3028
    31 AC_CHECK_PROG(RPCGEN,rpcgen,rpcgen)
     29AC_CHECK_PROG(RPCGEN,rpcgen,rpcgen,no)
    3230AC_PROG_AWK
    3331
    3432if test "$RPCGEN" = "no"; then
    35   AC_MSG_ERROR([missing rpcgen, required to build librdbg])
     33  AC_MSG_WARN([** missing rpcgen, required to build librdbg **])
     34  rpctools="no"
    3635fi
    3736if test "$AWK" = "no"; then
    38   AC_MSG_ERROR([missing awk, required to build librdbg])
     37  AC_MSG_WARN([** missing awk, required to build librdbg **])
     38  rpctools="no"
    3939fi
     40
     41AM_CONDITIONAL(RPCTOOLS, test "$rpctools" != "no")
    4042
    4143RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
     
    4547
    4648AM_CONDITIONAL(HAS_RDBG,test "$HAS_RDBG" = "yes")
    47 
    48 PROJECT_INCLUDE="\$(PROJECT_ROOT)/$RTEMS_BSP/lib/include"
    49 AC_SUBST(PROJECT_INCLUDE)
    5049
    5150RTEMS_PROJECT_ROOT
  • c/src/librdbg/src/awk.svc

    rb8c9883 r4c3ab846  
    2828    printf("#include <rdbg/%s>\n", THEPROG);
    2929    printf("#define fprintf(a,b) printf(b)\n");
    30     printf("#define msgout(a) printf(a)\n")
    31     printf("#define _msgout(a) fprintf(stderr,a)\n");
    3230}
    3331
  • c/src/librdbg/src/i386/any/Makefile.am

    rb8c9883 r4c3ab846  
    3434include $(top_srcdir)/../../../automake/lib.am
    3535
    36 PREINSTALL_FILES = \
    37 $(PROJECT_INCLUDE)/rdbg \
    38 $(PROJECT_INCLUDE)/rdbg/remdeb.h
    39 
    40 $(PROJECT_INCLUDE)/rdbg:
    41         @$(mkinstalldirs) $@
    42 
    43 TMPINSTALL_FILES += \
    44 $(PROJECT_RELEASE)/lib/$(LIBNAME)$(LIBVARIANT).a
    45 
    4636#
    4737# Add local stuff here using +=
    4838#
    4939
    50 CLEANFILES += $(LIB) $(H_FILES) $(GEN_C_FILES)
     40MAINTAINERCLEANFILES += $(H_FILES) $(GEN_C_FILES)
    5141
    5242FRONTEND = \"$(RTEMS_CPU)/any/remdeb_f.x\"
     
    5545        $(INSTALL_DATA) $< $@
    5646
    57 all: ${ARCH} $(PREINSTALL_FILES) $(TMPINSTALL_FILES)
    58 
    5947$(LIB): ${OBJS}
    6048        $(make-library)
    6149
    62 remdeb.h: $(X_FILES)
     50$(srcdir)/remdeb.h: $(X_FILES)
     51if RPCTOOLS
    6352        @rm -f $@
    64         ( pwd=`pwd`; cd $(srcdir)/../..; \
     53        ( cd $(top_srcdir)/src; \
    6554        $(RPCGEN) -h -DFRONTEND=$(FRONTEND) \
    66           -o $$pwd/$@ remdeb.x )
     55          -o i386/any/remdeb.h remdeb.x )
     56endif
     57$(srcdir)/remdeb_xdr.c: $(X_FILES)
     58if RPCTOOLS
     59        @rm -f $@
     60        ( cd $(top_srcdir)/src; \
     61        $(RPCGEN) -c -DFRONTEND=$(FRONTEND) \
     62          -o i386/any/remdeb_xdr.c remdeb.x )
     63endif
    6764
    68 $(PROJECT_INCLUDE)/rdbg/remdeb.h: remdeb.h
     65$(srcdir)/remdeb_svc.c: $(X_FILES)
     66if RPCTOOLS
     67        @rm -f $@ tmpSvc.c
     68        ( cd $(top_srcdir)/src; \
     69        $(RPCGEN) -m -DFRONTEND=$(FRONTEND) \
     70          -o i386/any/tmpSvc.c remdeb.x; \
     71        $(AWK) -f ./awk.svc THEPROG="remdeb.h" i386/any/tmpSvc.c \
     72          > i386/any/remdeb_svc.c; \
     73        rm -f i386/any/tmpSvc.c )
     74endif
     75
     76$(PROJECT_INCLUDE)/rdbg/remdeb.h: $(srcdir)/remdeb.h
    6977        $(INSTALL_DATA) $< $@
    7078
    71 remdeb_xdr.c: $(X_FILES)
    72         @rm -f $@
    73         ( pwd=`pwd`; cd $(srcdir)/../..; \
    74         $(RPCGEN) -c -DFRONTEND=$(FRONTEND) \
    75           -o $$pwd/$@ remdeb.x )
     79$(PROJECT_INCLUDE)/rdbg:
     80        @$(mkinstalldirs) $@
    7681
    77 remdeb_svc.c: $(X_FILES)
    78         @rm -f $@ tmpSvc.c
    79         ( pwd=`pwd`; cd $(srcdir)/../..; \
    80         $(RPCGEN) -s udp -DFRONTEND=$(FRONTEND) \
    81           -o $$pwd/tmpSvc.c remdeb.x )
    82         $(AWK) -f $(srcdir)/../../awk.svc THEPROG="remdeb.h" tmpSvc.c >$@
    83         @rm -f tmpSvc.c
     82PREINSTALL_FILES = \
     83$(PROJECT_INCLUDE)/rdbg \
     84$(PROJECT_INCLUDE)/rdbg/remdeb.h
    8485
    85 EXTRA_DIST = remdeb_f.x
     86TMPINSTALL_FILES += \
     87$(PROJECT_RELEASE)/lib/$(LIBNAME)$(LIBVARIANT).a
     88
     89all-local: ${ARCH} $(PREINSTALL_FILES) $(TMPINSTALL_FILES)
     90
     91EXTRA_DIST = remdeb_f.x $(GEN_C_FILES)
    8692
    8793include $(top_srcdir)/../../../automake/local.am
  • c/src/librdbg/src/powerpc/mcp750/Makefile.am

    rb8c9883 r4c3ab846  
    3434include $(top_srcdir)/../../../automake/lib.am
    3535
    36 PREINSTALL_FILES = \
    37 $(PROJECT_INCLUDE)/rdbg \
    38 $(PROJECT_INCLUDE)/rdbg/remdeb.h
    39 
    40 $(PROJECT_INCLUDE)/rdbg:
    41         @$(mkinstalldirs) $@
    42 
    43 TMPINSTALL_FILES += \
    44 $(PROJECT_RELEASE)/lib/$(LIBNAME)$(LIBVARIANT).a
    45 
    4636#
    4737# Add local stuff here using +=
    4838#
    4939
    50 CLEANFILES += $(LIB) $(H_FILES) $(GEN_C_FILES)
     40MAINTAINERCLEANFILES += $(H_FILES) $(GEN_C_FILES)
    5141
    5242FRONTEND = \"$(RTEMS_CPU)/mcp750/remdeb_f.x\"
     
    5545        $(INSTALL_DATA) $< $@
    5646
    57 all: ${ARCH} $(PREINSTALL_FILES) $(TMPINSTALL_FILES)
    58 
    5947$(LIB): ${OBJS}
    6048        $(make-library)
    6149
    62 remdeb.h: $(X_FILES)
     50$(srcdir)/remdeb.h: $(X_FILES)
     51if RPCTOOLS
    6352        @rm -f $@
    64         ( pwd=`pwd`; cd $(srcdir)/../..; \
     53        ( cd $(top_srcdir)/src; \
    6554        $(RPCGEN) -h -DFRONTEND=$(FRONTEND) \
    66           -o $$pwd/$@ remdeb.x )
     55          -o powerpc/mcp750/remdeb.h remdeb.x )
     56endif
     57$(srcdir)/remdeb_xdr.c: $(X_FILES)
     58if RPCTOOLS
     59        @rm -f $@
     60        ( cd $(top_srcdir)/src; \
     61        $(RPCGEN) -c -DFRONTEND=$(FRONTEND) \
     62          -o powerpc/mcp750/remdeb_xdr.c remdeb.x )
     63endif
    6764
    68 $(PROJECT_INCLUDE)/rdbg/remdeb.h: remdeb.h
     65$(srcdir)/remdeb_svc.c: $(X_FILES)
     66if RPCTOOLS
     67        @rm -f $@ tmpSvc.c
     68        ( cd $(top_srcdir)/src; \
     69        $(RPCGEN) -m -DFRONTEND=$(FRONTEND) \
     70          -o powerpc/mcp750/tmpSvc.c remdeb.x; \
     71        $(AWK) -f ./awk.svc THEPROG="remdeb.h" powerpc/mcp750/tmpSvc.c \
     72          > powerpc/mcp750/remdeb_svc.c; \
     73        rm -f powerpc/mcp750/tmpSvc.c )
     74endif
     75
     76$(PROJECT_INCLUDE)/rdbg/remdeb.h: $(srcdir)/remdeb.h
    6977        $(INSTALL_DATA) $< $@
    7078
    71 remdeb_xdr.c: $(X_FILES)
    72         @rm -f $@
    73         ( pwd=`pwd`; cd $(srcdir)/../..; \
    74         $(RPCGEN) -c -DFRONTEND=$(FRONTEND) \
    75           -o $$pwd/$@ remdeb.x )
     79$(PROJECT_INCLUDE)/rdbg:
     80        @$(mkinstalldirs) $@
    7681
    77 remdeb_svc.c: $(X_FILES)
    78         @rm -f $@ tmpSvc.c
    79         ( pwd=`pwd`; cd $(srcdir)/../..; \
    80         $(RPCGEN) -s udp -DFRONTEND=$(FRONTEND) \
    81           -o $$pwd/tmpSvc.c remdeb.x )
    82         $(AWK) -f $(srcdir)/../../awk.svc THEPROG="remdeb.h" tmpSvc.c >$@
    83         @rm -f tmpSvc.c
     82PREINSTALL_FILES = \
     83$(PROJECT_INCLUDE)/rdbg \
     84$(PROJECT_INCLUDE)/rdbg/remdeb.h
    8485
    85 EXTRA_DIST = remdeb_f.x
     86TMPINSTALL_FILES += \
     87$(PROJECT_RELEASE)/lib/$(LIBNAME)$(LIBVARIANT).a
     88
     89all-local: ${ARCH} $(PREINSTALL_FILES) $(TMPINSTALL_FILES)
     90
     91EXTRA_DIST = remdeb_f.x $(GEN_C_FILES)
    8692
    8793include $(top_srcdir)/../../../automake/local.am
  • c/src/librdbg/src/powerpc/new_exception_processing/Makefile.am

    rb8c9883 r4c3ab846  
    3434include $(top_srcdir)/../../../automake/lib.am
    3535
    36 PREINSTALL_FILES = \
    37 $(PROJECT_INCLUDE)/rdbg \
    38 $(PROJECT_INCLUDE)/rdbg/remdeb.h
    39 
    40 $(PROJECT_INCLUDE)/rdbg:
    41         @$(mkinstalldirs) $@
    42 
    43 TMPINSTALL_FILES += \
    44 $(PROJECT_RELEASE)/lib/$(LIBNAME)$(LIBVARIANT).a
    45 
    4636#
    4737# Add local stuff here using +=
    4838#
    4939
    50 CLEANFILES += $(LIB) $(H_FILES) $(GEN_C_FILES)
     40MAINTAINERCLEANFILES += $(H_FILES) $(GEN_C_FILES)
    5141
    5242FRONTEND = \"$(RTEMS_CPU)/mcp750/remdeb_f.x\"
     
    5545        $(INSTALL_DATA) $< $@
    5646
    57 all: ${ARCH} $(PREINSTALL_FILES) $(TMPINSTALL_FILES)
    58 
    5947$(LIB): ${OBJS}
    6048        $(make-library)
    6149
    62 remdeb.h: $(X_FILES)
     50$(srcdir)/remdeb.h: $(X_FILES)
     51if RPCTOOLS
    6352        @rm -f $@
    64         ( pwd=`pwd`; cd $(srcdir)/../..; \
     53        ( cd $(top_srcdir)/src; \
    6554        $(RPCGEN) -h -DFRONTEND=$(FRONTEND) \
    66           -o $$pwd/$@ remdeb.x )
     55          -o powerpc/mcp750/remdeb.h remdeb.x )
     56endif
     57$(srcdir)/remdeb_xdr.c: $(X_FILES)
     58if RPCTOOLS
     59        @rm -f $@
     60        ( cd $(top_srcdir)/src; \
     61        $(RPCGEN) -c -DFRONTEND=$(FRONTEND) \
     62          -o powerpc/mcp750/remdeb_xdr.c remdeb.x )
     63endif
    6764
    68 $(PROJECT_INCLUDE)/rdbg/remdeb.h: remdeb.h
     65$(srcdir)/remdeb_svc.c: $(X_FILES)
     66if RPCTOOLS
     67        @rm -f $@ tmpSvc.c
     68        ( cd $(top_srcdir)/src; \
     69        $(RPCGEN) -m -DFRONTEND=$(FRONTEND) \
     70          -o powerpc/mcp750/tmpSvc.c remdeb.x; \
     71        $(AWK) -f ./awk.svc THEPROG="remdeb.h" powerpc/mcp750/tmpSvc.c \
     72          > powerpc/mcp750/remdeb_svc.c; \
     73        rm -f powerpc/mcp750/tmpSvc.c )
     74endif
     75
     76$(PROJECT_INCLUDE)/rdbg/remdeb.h: $(srcdir)/remdeb.h
    6977        $(INSTALL_DATA) $< $@
    7078
    71 remdeb_xdr.c: $(X_FILES)
    72         @rm -f $@
    73         ( pwd=`pwd`; cd $(srcdir)/../..; \
    74         $(RPCGEN) -c -DFRONTEND=$(FRONTEND) \
    75           -o $$pwd/$@ remdeb.x )
     79$(PROJECT_INCLUDE)/rdbg:
     80        @$(mkinstalldirs) $@
    7681
    77 remdeb_svc.c: $(X_FILES)
    78         @rm -f $@ tmpSvc.c
    79         ( pwd=`pwd`; cd $(srcdir)/../..; \
    80         $(RPCGEN) -s udp -DFRONTEND=$(FRONTEND) \
    81           -o $$pwd/tmpSvc.c remdeb.x )
    82         $(AWK) -f $(srcdir)/../../awk.svc THEPROG="remdeb.h" tmpSvc.c >$@
    83         @rm -f tmpSvc.c
     82PREINSTALL_FILES = \
     83$(PROJECT_INCLUDE)/rdbg \
     84$(PROJECT_INCLUDE)/rdbg/remdeb.h
    8485
    85 EXTRA_DIST = remdeb_f.x
     86TMPINSTALL_FILES += \
     87$(PROJECT_RELEASE)/lib/$(LIBNAME)$(LIBVARIANT).a
     88
     89all-local: ${ARCH} $(PREINSTALL_FILES) $(TMPINSTALL_FILES)
     90
     91EXTRA_DIST = remdeb_f.x $(GEN_C_FILES)
    8692
    8793include $(top_srcdir)/../../../automake/local.am
Note: See TracChangeset for help on using the changeset viewer.