avoid generating some OER object code if not -gen-OER

This commit is contained in:
Lev Walkin 2017-08-05 22:40:14 -07:00
parent 7268f33f6a
commit a4f3d4670d
4 changed files with 54 additions and 51 deletions

View File

@ -38,13 +38,13 @@ if test ! -f Makefile.am.sample ; then
exit 1 exit 1
fi fi
EXTRA_CFLAGS="-DJUNKTEST -D_DEFAULT_SOURCE ${CFLAGS}" EXTRA_CPPFLAGS="-DJUNKTEST -D_DEFAULT_SOURCE ${CPPFLAGS}"
test -f config.h && EXTRA_CFLAGS="-DHAVE_CONFIG_H ${EXTRA_CFLAGS}" test -f config.h && EXTRA_CPPFLAGS="-DHAVE_CONFIG_H ${EXTRA_CPPFLAGS}"
test -n "$TITLE" && EXTRA_CFLAGS="-DASN_CONVERTER_TITLE=\"$TITLE\" ${EXTRA_CFLAGS}" test -n "$TITLE" && EXTRA_CPPFLAGS="-DASN_CONVERTER_TITLE=\"$TITLE\" ${EXTRA_CPPFLAGS}"
set -x set -x
cat Makefile.am.sample \ cat Makefile.am.sample \
| sed -e "s/^CFLAGS += /CFLAGS += ${EXTRA_CFLAGS} /" \ | sed -e "s/^CPPFLAGS += /CPPFLAGS += ${EXTRA_CPPFLAGS} /" \
| sed -e "s/^all: /all: ${ASN1PDU}.c /" \ | sed -e "s/^all: /all: ${ASN1PDU}.c /" \
| sed -e "s/progname/${PROGNAME}/" \ | sed -e "s/progname/${PROGNAME}/" \
> Makefile.$$ > Makefile.$$
@ -62,7 +62,7 @@ set +x
echo " ASN1MODULES=\"${ASN1MODULES}\" \\" echo " ASN1MODULES=\"${ASN1MODULES}\" \\"
echo " ASN1PDU=${ASN1PDU} \\" echo " ASN1PDU=${ASN1PDU} \\"
echo " PROGNAME=${PROGNAME} \\" echo " PROGNAME=${PROGNAME} \\"
echo " CFLAGS=\"${CFLAGS}\" \\" echo " CPPFLAGS=\"${CPPFLAGS}\" \\"
echo " $0" echo " $0"
echo echo
echo 'check: ${TARGET} check-ber check-xer check-per' echo 'check: ${TARGET} check-ber check-xer check-per'

View File

@ -984,7 +984,6 @@ ASN_MODULE_SOURCES+=INTEGER.c
ASN_MODULE_SOURCES+=NativeEnumerated.c ASN_MODULE_SOURCES+=NativeEnumerated.c
ASN_MODULE_HEADERS+=NativeInteger.h ASN_MODULE_HEADERS+=NativeInteger.h
ASN_MODULE_SOURCES+=NativeInteger.c ASN_MODULE_SOURCES+=NativeInteger.c
ASN_MODULE_SOURCES+=NativeInteger_oer.c
ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c
ASN_MODULE_HEADERS+=asn_SET_OF.h ASN_MODULE_HEADERS+=asn_SET_OF.h
@ -1048,19 +1047,19 @@ libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
# This file may be used as an input for make(3) # This file may be used as an input for make(3)
# Remove the lines below to convert it into a pure .am file # Remove the lines below to convert it into a pure .am file
TARGET = j2735-dump TARGET = j2735-dump
CFLAGS += -DASN_CONVERTER_TITLE="J2735 DSRC decoder" -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DPDU=MessageFrame -I. CPPFLAGS += -DASN_CONVERTER_TITLE="J2735 DSRC decoder" -DHAVE_CONFIG_H -DJUNKTEST -D_DEFAULT_SOURCE -DASN_DISABLE_OER_SUPPORT -DPDU=MessageFrame -I.
OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o} OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
all: MessageFrame.c $(TARGET) all: MessageFrame.c $(TARGET)
$(TARGET): ${OBJS} $(TARGET): ${OBJS}
$(CC) $(CFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS) $(CC) $(CPPFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS)
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .c .o .SUFFIXES: .c .o
.c.o: .c.o:
$(CC) $(CFLAGS) -o $@ -c $< $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
clean: clean:
rm -f $(TARGET) rm -f $(TARGET)
@ -1083,7 +1082,7 @@ regen-makefile:
ASN1MODULES="../j2735.asn1" \ ASN1MODULES="../j2735.asn1" \
ASN1PDU=MessageFrame \ ASN1PDU=MessageFrame \
PROGNAME=j2735-dump \ PROGNAME=j2735-dump \
CFLAGS="" \ CPPFLAGS="" \
../sample.makefile.regen ../sample.makefile.regen
check: ${TARGET} check-ber check-xer check-per check: ${TARGET} check-ber check-xer check-per

View File

@ -160,7 +160,9 @@ asn1c_save_compiled_output(arg_t *arg, const char *datadir,
return -1; return -1;
} }
safe_fprintf(mkf, "\n\n" safe_fprintf(
mkf,
"\n\n"
"lib_LTLIBRARIES=libsomething.la\n" "lib_LTLIBRARIES=libsomething.la\n"
"libsomething_la_SOURCES=" "libsomething_la_SOURCES="
"$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)\n" "$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)\n"
@ -168,26 +170,25 @@ asn1c_save_compiled_output(arg_t *arg, const char *datadir,
"# This file may be used as an input for make(3)\n" "# This file may be used as an input for make(3)\n"
"# Remove the lines below to convert it into a pure .am file\n" "# Remove the lines below to convert it into a pure .am file\n"
"TARGET = progname\n" "TARGET = progname\n"
"CFLAGS +=%s%s -I.\n" "CPPFLAGS += %s%s%s%s-I.\n"
"OBJS=${ASN_MODULE_SOURCES:.c=.o}" "OBJS=${ASN_MODULE_SOURCES:.c=.o}"
" ${ASN_CONVERTER_SOURCES:.c=.o}\n" " ${ASN_CONVERTER_SOURCES:.c=.o}\n"
"\nall: $(TARGET)\n" "\nall: $(TARGET)\n"
"\n$(TARGET): ${OBJS}" "\n$(TARGET): ${OBJS}"
"\n\t$(CC) $(CFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS)\n" "\n\t$(CC) $(CPPFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS)\n"
"\n.SUFFIXES:" "\n.SUFFIXES:"
"\n.SUFFIXES: .c .o\n" "\n.SUFFIXES: .c .o\n"
"\n.c.o:" "\n.c.o:"
"\n\t$(CC) $(CFLAGS) -o $@ -c $<\n" "\n\t$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<\n"
"\nclean:" "\nclean:"
"\n\trm -f $(TARGET)" "\n\trm -f $(TARGET)"
"\n\trm -f $(OBJS)\n" "\n\trm -f $(OBJS)\n"
"\nregen: regenerate-from-asn1-source\n" "\nregen: regenerate-from-asn1-source\n"
"\nregenerate-from-asn1-source:\n\t" "\nregenerate-from-asn1-source:\n\t",
, (arg->flags & A1C_PDU_TYPE) (arg->flags & A1C_GEN_OER) ? "" : "-DASN_DISABLE_OER_SUPPORT ",
? generate_pdu_C_definition() : "" (arg->flags & A1C_GEN_PER) ? "" : "-DASN_DISABLE_PER_SUPPORT ",
, need_to_generate_pdu_collection(arg) (arg->flags & A1C_PDU_TYPE) ? generate_pdu_C_definition() : "",
? " -DASN_PDU_COLLECTION" : "" need_to_generate_pdu_collection(arg) ? "-DASN_PDU_COLLECTION " : "");
);
for(i = 0; i < argc; i++) for(i = 0; i < argc; i++)
safe_fprintf(mkf, "%s%s", i ? " " : "", argv[i]); safe_fprintf(mkf, "%s%s", i ? " " : "", argv[i]);
@ -575,9 +576,12 @@ generate_pdu_C_definition(void) {
def = malloc(strlen(pduType[0].typename) + 20); def = malloc(strlen(pduType[0].typename) + 20);
assert(def); assert(def);
strcpy(def, "-DPDU="); strcpy(def, "-DPDU=");
for(src = pduType[0].typename, dst = def + 7; *src; src++, dst++) for(src = pduType[0].typename, dst = def + 6; *src; src++, dst++) {
if((*dst = *src) == '-') if((*dst = *src) == '-') {
*dst = '_'; *dst = '_';
}
}
*dst++ = ' ';
*dst = 0; *dst = 0;
return def; return def;
} }

View File

@ -16,7 +16,7 @@ INTEGER.h INTEGER.c
ISO646String.h ISO646String.c ISO646String.h ISO646String.c
NULL.h NULL.c BOOLEAN.h NULL.h NULL.c BOOLEAN.h
NativeEnumerated.h NativeEnumerated.c NativeInteger.h NativeEnumerated.h NativeEnumerated.c NativeInteger.h
NativeInteger.h NativeInteger.c INTEGER.h NativeInteger_oer.c NativeInteger.h NativeInteger.c INTEGER.h
NativeReal.h NativeReal.c REAL.h NativeReal.h NativeReal.c REAL.h
NumericString.h NumericString.c NumericString.h NumericString.c
OBJECT_IDENTIFIER.h OBJECT_IDENTIFIER.c INTEGER.h OBJECT_IDENTIFIER.h OBJECT_IDENTIFIER.c INTEGER.h