test program build problem
authorKen Raeburn <raeburn@mit.edu>
Wed, 29 Aug 2007 20:16:03 +0000 (20:16 +0000)
committerKen Raeburn <raeburn@mit.edu>
Wed, 29 Aug 2007 20:16:03 +0000 (20:16 +0000)
Split out the "standalone" test code from trval.c, so we produce
trval.o only once, instead of twice with different compilation flags.
One case generated the "trval" program directly, but produced and
deleted trval.o as an intermediate step in the compiler, which messes
things up if make thinks it's already built trval.o for another test
program.

Make the standalone test into t_trval.

Build problem reported by Will Fiveash of Sun, about ten minutes ago.

ticket: new

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19893 dc483132-0cff-0310-8789-dd5450dbe970

src/tests/asn.1/Makefile.in
src/tests/asn.1/t_trval.c [new file with mode: 0644]
src/tests/asn.1/trval.c

index a4189cc2d0ba688d37909a1e3c5d755d04f706d4..abf40f4eafdb6efb688254cbc31fa9ce0187cc71 100644 (file)
@@ -9,9 +9,9 @@ RUN_SETUP = @KRB5_RUN_ENV@
 
 SRCS= $(srcdir)/krb5_encode_test.c $(srcdir)/krb5_encode_test.c \
        $(srcdir)/ktest.c $(srcdir)/ktest_equal.c $(srcdir)/utility.c \
-       $(srcdir)/trval.c
+       $(srcdir)/trval.c $(srcdir)/t_trval.c
 
-all:: krb5_encode_test krb5_decode_test trval
+all:: krb5_encode_test krb5_decode_test t_trval
 
 LOCALINCLUDES = -I$(srcdir)/../../lib/krb5/asn.1
 
@@ -25,8 +25,8 @@ DECOBJS = krb5_decode_test.o ktest.o ktest_equal.o utility.o
 krb5_decode_test: $(DECOBJS) $(KRB5_BASE_DEPLIBS)
        $(CC_LINK) -o krb5_decode_test $(DECOBJS) $(KRB5_BASE_LIBS)
 
-trval: $(srcdir)/trval.c
-       $(CC) -o trval $(ALL_CFLAGS) -DSTANDALONE $(srcdir)/trval.c
+t_trval: t_trval.o
+       $(CC) -o t_trval $(ALL_CFLAGS) t_trval.o
 
 check:: krb5_decode_test krb5_encode_test
        KRB5_CONFIG=$(SRCTOP)/config-files/krb5.conf ; \
@@ -46,7 +46,7 @@ check:: krb5_decode_test krb5_encode_test
 install::
 
 clean::
-       rm -f *~ *.o krb5_encode_test krb5_decode_test test.out trval
+       rm -f *~ *.o krb5_encode_test krb5_decode_test test.out trval t_trval
 
 
 ################ Dependencies ################
@@ -104,3 +104,4 @@ $(OUTPRE)utility.$(OBJEXT): $(BUILDTOP)/include/autoconf.h \
   $(SRCTOP)/lib/krb5/asn.1/asn1buf.h $(SRCTOP)/lib/krb5/asn.1/krbasn1.h \
   utility.c utility.h
 $(OUTPRE)trval.$(OBJEXT): trval.c
+$(OUTPRE)t_trval.$(OBJEXT): t_trval.c trval.c
diff --git a/src/tests/asn.1/t_trval.c b/src/tests/asn.1/t_trval.c
new file mode 100644 (file)
index 0000000..2c948fc
--- /dev/null
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 1992,1993 Trusted Information Systems, Inc.
+ *
+ * Permission to include this software in the Kerberos V5 distribution
+ * was graciously provided by Trusted Information Systems.
+ * 
+ * Trusted Information Systems makes no representation about the
+ * suitability of this software for any purpose.  It is provided
+ * "as is" without express or implied warranty.
+ * 
+ * Copyright (C) 1994 Massachusetts Institute of Technology
+ * 
+ * Export of this software from the United States of America may
+ *   require a specific license from the United States Government.
+ *   It is the responsibility of any person or organization contemplating
+ *   export to obtain such a license before exporting.
+ *
+ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ * distribute this software and its documentation for any purpose and
+ * without fee is hereby granted, provided that the above copyright
+ * notice appear in all copies and that both that copyright notice and
+ * this permission notice appear in supporting documentation, and that
+ * the name of M.I.T. not be used in advertising or publicity pertaining
+ * to distribution of the software without specific, written prior
+ * permission.  Furthermore if you modify this software you must label
+ * your software as modified software and not distribute it in such a
+ * fashion that it might be confused with the original M.I.T. software.
+ * M.I.T. makes no representations about the suitability of
+ * this software for any purpose.  It is provided "as is" without express
+ * or implied warranty.
+ * 
+ */
+
+/* Split out from "#ifdef STANDALONE" code previously in trval.c, so
+   that trval.o could be linked into other tests too without the
+   -DSTANDALONE code.  */
+#include "trval.c"
+
+static void usage()
+{
+       fprintf(stderr, "Usage: trval [--types] [--krb5] [--krb5decode] [--hex] [-notypebytes] [file]\n");
+       exit(1);
+}
+
+/*
+ * Returns true if the option was selected.  Allow "-option" and
+ * "--option" syntax, since we used to accept only "-option"
+ */
+static
+int check_option(word, option)
+       char *word;
+       char *option;
+{
+       if (word[0] != '-')
+               return 0;
+       if (word[1] == '-')
+               word++;
+       if (strcmp(word+1, option))
+               return 0;
+       return 1;
+}
+
+int main(argc, argv)
+       int argc;
+       char **argv;
+{
+       int optflg = 1;
+       FILE *fp;
+       int r = 0;
+       
+       while (--argc > 0) {
+               argv++;
+               if (optflg && *(argv)[0] == '-') {
+                       if (check_option(*argv, "help"))
+                               usage();
+                       else if (check_option(*argv, "types"))
+                               print_types = 1;
+                       else if (check_option(*argv, "notypes"))
+                               print_types = 0;
+                       else if (check_option(*argv, "krb5"))
+                               print_krb5_types = 1;
+                       else if (check_option(*argv, "hex"))
+                               do_hex = 1;
+                       else if (check_option(*argv, "notypebytes"))
+                               print_id_and_len = 0;
+                       else if (check_option(*argv, "krb5decode")) {
+                               print_id_and_len = 0;
+                               print_krb5_types = 1;
+                               print_types = 1;
+                       } else {
+                               fprintf(stderr,"trval: unknown option: %s\n", *argv);
+                               usage();
+                       }
+               } else {
+                       optflg = 0;
+                       if ((fp = fopen(*argv,"r")) == NULL) {
+                               fprintf(stderr,"trval: unable to open %s\n", *argv);
+                               continue;
+                       }
+                       r = trval(fp, stdout);
+                       fclose(fp);
+               }
+       }
+       if (optflg) r = trval(stdin, stdout);
+       
+       exit(r);
+}
index fc18bc0e707ef54b4e7fa825766e64970a5d0204..4506a3f50cfff1c7b49df4929da475354034fbe3 100644 (file)
@@ -119,79 +119,6 @@ int trval2 (FILE *, unsigned char *, int, int, int *);
 
 /****************************************************************************/
 
-#ifdef STANDALONE
-
-static void usage()
-{
-       fprintf(stderr, "Usage: trval [--types] [--krb5] [--krb5decode] [--hex] [-notypebytes] [file]\n");
-       exit(1);
-}
-
-/*
- * Returns true if the option was selected.  Allow "-option" and
- * "--option" syntax, since we used to accept only "-option"
- */
-static
-int check_option(word, option)
-       char *word;
-       char *option;
-{
-       if (word[0] != '-')
-               return 0;
-       if (word[1] == '-')
-               word++;
-       if (strcmp(word+1, option))
-               return 0;
-       return 1;
-}
-
-int main(argc, argv)
-       int argc;
-       char **argv;
-{
-       int optflg = 1;
-       FILE *fp;
-       int r = 0;
-       
-       while (--argc > 0) {
-               argv++;
-               if (optflg && *(argv)[0] == '-') {
-                       if (check_option(*argv, "help"))
-                               usage();
-                       else if (check_option(*argv, "types"))
-                               print_types = 1;
-                       else if (check_option(*argv, "notypes"))
-                               print_types = 0;
-                       else if (check_option(*argv, "krb5"))
-                               print_krb5_types = 1;
-                       else if (check_option(*argv, "hex"))
-                               do_hex = 1;
-                       else if (check_option(*argv, "notypebytes"))
-                               print_id_and_len = 0;
-                       else if (check_option(*argv, "krb5decode")) {
-                               print_id_and_len = 0;
-                               print_krb5_types = 1;
-                               print_types = 1;
-                       } else {
-                               fprintf(stderr,"trval: unknown option: %s\n", *argv);
-                               usage();
-                       }
-               } else {
-                       optflg = 0;
-                       if ((fp = fopen(*argv,"r")) == NULL) {
-                               fprintf(stderr,"trval: unable to open %s\n", *argv);
-                               continue;
-                       }
-                       r = trval(fp, stdout);
-                       fclose(fp);
-               }
-       }
-       if (optflg) r = trval(stdin, stdout);
-       
-       exit(r);
-}
-#endif
-
 static int convert_nibble(int ch)
 {
     if (isdigit(ch))